Creating a Functional Network for a Radio Station?
E-bot & Ro-bert asks: "I volunteer for my campus radio station and, as the only techy there, I've been asked to help design their new network. We're on a very fixed budget and we're working with win98 PCs. The network needs to provide the ability to simultaneously stream and transfer large files (uncompressed WAV data) w/o interruptions to the stream. I know their current idea of using a simple hub and connecting all the computers won't work, but I'm drawing a blank on what to suggest. The specifics: Two of 6 Win98 PCs need to have the ability to broadcast audio data from any source on the network. The other 4 of 6 computers must be able to transfer files on the network w/o taking too much bandwidth away from the streams. I'm thinking of QoS, but how should it be implemented? What does the slashdot community look for, and suggest, in making a high-bandwidth network?"
Comment removed based on user account deletion
Perhaps I'm over-simplifying, but uncompressed WAV data (2-channel, 44.1khz, 16-bits-per-channel) is only 1.411 Mbps. For the network itself, a 100 Mbps switched Ethernet should provide plenty of bandwidth and dramatically reduce latency.
The switch will allow you to dedicate 100 Mbps each way per machine by preventing each box from having to see streams in which it is uninterested. It will also allow you to run full-duplex, which will decrease latency if you're ACKing your transmissions (e.g. using TCP).
Really, a 10 Mbps switched network would probably be sufficient, but good luck finding a 10 Mbps switch these days.
I'd be more concerned about the ability of Win98 boxen to stream/process realtime data without hiccups, but I assume you've already got that solved.
Two of 6 Win98 PCs need to have the ability to broadcast audio data from any source on the network. The other 4 of 6 computers must be able to transfer files on the network w/o taking too much bandwidth away from the streams. I'm thinking of QoS, but how should it be implemented? What does the slashdot community look for, and suggest, in making a high-bandwidth network?"
I have a suggestion...Upgrade the entire network to Macintosh 512's and PhoneNet and VOILA! Problem solved!
Quod scripsi, scripsi.
Get a 16 port 10/100 Ethernet SWITCH (not hub... do they still sell hubs?)
Make sure every PC has a 10/100 card in it.
At that point just test. I don't think that bandwidth is going to be the problem. I wouild be more worried about CPU since the machines are so old.
So just spend a little bit to upgrade the network and then start testing. Get some streams running first, then try to hammer the network with file transfers. See how much it takes to break things. You may find that the simple upgrade is all you need. If you can beef up the buffering on the destination for the streams it would help, but if you have to do that you're pushing the limits already.
Worst case:
2 network switches and 2 network cards each for the PCs. Do the file transfers on one network and the streaming on the other network. Segregating the traffic guarantees they will not interfere with each other on the network layer... I would make a "streams only" network and put all other office traffic, including the file transfers, on a normal office lan.
Hope this helps.
--Chris
I also work at a small radio station and a limited budget, where all of our computer are either Win98 or DOS, plus one Linux server. We've been streaming our audio onto the air from the Linux box using a Samba server no problem, just by using 100MB full-duplex switches.
The three problems that crop up are:
1) Large file downloads across the LAN, but this is only a problem when the files are being pulled to or from a computer that is serving or receiving a stream. This almost never happens where I work, though.
2) Hard drive accesses. This one isn't so obvious. Once or twice I've put a heavy load on the Linux box's drive (e.g. unthrottled data backups, recursive grep) and the drive couldn't keep up with both the backup and the audio file reads simultaneously.
3) Lack of contingency plans. If you're putting things on the air pulled from a computer across the network, you need to make sure your backups are thorough and extremely fast to restore. Our Linux server is backed up once a day (we only change about a dozen or less files per day) to a second hard drive, and we can pop a floppy in the disk drive and reboot to switch to the backup very quickly, all systems operational; then you have plenty of time to fix the problem and switch back to the main storage drive.
I hadn't heard of the bandwidth limiting software that someone else mentioned. It initially sounds like a good idea, but if you install it on the computers that are serving or receiving a stream, it would actually aggravate the problem, so implement that idea carefully.
Your specifics are too thin to be very useful.
I'm guessing the following:
The two PCs that "need to have the ability to broadcast audio data from any source on the network" have their audio hooked up to the broadcast equipment (maybe they're in the studio?).
So the requirement is that these PCs be able to access WAV files sitting on any old computer the station has lying around, without having to stage it on the broadcast PCs or on CD first.
You don't mention any special media software or anything, so I'm guessing when you say "Stream", you don't mean "deliver isochronous through the Internet or some other complex network, buffering and reassembling out of order bits, so that the data is played without skipping although possibly with considerable latency." You probably mean "click on a WAV file using Windows file sharing and have it play right away over our broadcast equipment without skipping."
It sounds to me like a Golden Hammer scenario. As resident computer geek, you feel it is your responsibility to deliver a technically whizz-bang solution. I'm guessing that what they really need, given their budget and technical sophistication, is some form of sneakernet: physical media and common sense operational procedures. People were running to the record library for call in request shows years before anybody had a computer network after all. And there are drawbacks in hooking up PCs that are connected to your radio to the machine the station volunteer uses to troll the Internet for pr0n.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
For starters, go buy Win2K licenses. Only get the bare minimum; your college _SHOULD_ have an academic license program that gets you copies on the cheap. If not, go the fun way; go on eBay and get them there.
u factory=&PropertyCodeValue=1501%3A10238&PropertyCo deValue=1502%3A10242&PropertyCodeValue=0&descripti on=&MinPrice=&MaxPrice=&SubCategory=30&Submit=Prop erty
u factory=&PropertyCodeValue=1281%3A9683&PropertyCod eValue=1282%3A9687&PropertyCodeValue=1628%3A10711& PropertyCodeValue=0&description=&MinPrice=&MaxPric e=&SubCategory=27&Submit=Property
Since you're streaming, I assume you're streaming to the entire campus (and possibly the web, via the WAN link). Grab yourself a cheap Linksys 8-port gigabit switch. Don't cheap out and get a hub; get a switch. That'll take care of LAN bandwidth; don't worry about the WAN bandwidth (that's the university's problem).
Here's a link to that on Newegg (I don't know if you can claim tax-exempt, since you're a college organization):
http://www.newegg.com/Product/ProductList.asp?Man
Since these are Win98-era machines, I'm assuming they don't have anything other than regular PCI, so no PCI-E gigabit cards. You can get gigabit PCI NICs from Newegg pretty cheap - I see them for $12 and shipping here.
http://www.newegg.com/Product/ProductList.asp?Man
Next, we come to the real doozy, QoS implementation on the streaming machines. If your college supports it, grab a Win2K/Win2K3 Server license from them on the cheap and install Windows Media Components on it. That'll allow you to stream audio and video over the LAN/WAN. If not, try to dig up an OEM license.
2K/2K3 support QoS out of the box, so that issue is solved.
Depending on the amount of listeners you have, you may want to upgrade to another gigabit LAN drop sometime.
Anyone see anything I missed?
Striking fear in the authors of godawful fanfiction, I am here, appearing in darkness, Tuxedo Jack!
As always in an Ask Slashdot, there's not enough info in your post to make any clear recommendations. Your specs are pie-in-the-sky wild.. there's really very little to work with here. But I'll try to give you some pointers.
I'm assuming you want two Windows 98 PCs to provide streaming audio to some arbitrary number of clients. Sending one stream isn't that hard... as others have said, that would be about 1.5megabits per stream. However, in ordinary TCP, you have to send a unique stream per client... even though it's the exact same data going to all clients. This adds up *fast*. So the number of clients you want to serve at any given time is the determining factor for how hard the problem is.
To give you an idea of the number ranges you're talking about, your network fabric is one potential bottleneck. Even on a 100Mb switch, you'll have a hard time exceeding about 60 connections. If you're willing to settle for MP3-compressed files (and LAME sounds REALLY good), you can cut your bandwidth needs to no more than 320k per client with almost no sound loss. 160k LAME still sounds very nice, and would probably let you support around 600 clients on a 100Mbit connection.
However, I doubt that Win98, even on a powerful machine, could stream that much data without croaking, particularly with the 600-connection scenario. It has trouble with multiple filesharing connections, a core function of the OS... running a heavy-duty server application on 98 is likely to be pretty troublesome.
What you really WANT is to be able to send the stream just once, and have all your clients tap into the stream and play the music. Multicast will do this... it is a one-to-many protocol. But your server, network infrastructure, and clients have to support it.
So what clients and server software do you use? I have no idea. I'd suggest starting with a search for 'multicast' on Freshmeat and going from there.
Overall, this is a hard problem. It's absolutely solvable, but it will take both expertise and money... the more of the former you have on tap, the less of the latter you'll need.
Even with the needed expertise, I don't think you can do this on the cheap. You're very, very likely to have to spend money. If they're talking about using HUBS, you're not even on the same page... this project, if it's meant as more than a toy for five people at a time, will most likely require a fairly expensive backbone.
Your campus IT department probably has both the expertise and the network backbone already in place, so your first stop should be them.
(I'm being interrupted, so I can't edit this as well as I'd like... hopefully any mistakes won't be too awful.)
Campus radio stations are often owned by the school and hence a liability. If the station was caught knowingly installing pirated software on their machines, there's a very good chance the school would shut them down instantly. Don't suggest such moronic ideas next time.
I'll turn into a supernova and burn up everything. Well I'll turn into a black little hole and you'll turn into string.