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.
A fast ethernet switch, rather than a hub, will provide dedicated bandwidth to each connected node. You could use a gigabit switch and NIC's, but your computers probably couldn't keep up with that kind of throughput.
Our college station uses Win 98 for our Dalet workstations, it works, it's not vulnerable, and it can stay up for months w/o a reboot.
...and that's all there is to it.
Consider also that the budget is tight, and win98 liscences are probably plenty (if not free) at most universities, while win2k+ would not be
I just pooped your party.
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.
Cool.
I always suspected that whenver I've had trouble handling networked media files, that the problem really was that the network was just too bloody fast.
I'm so glad that NetLimiter will finally slow things down to such an extent that I can reliably transfer a WAV recording.
Too bad it's less than one-third the speed of my fucking cable modem.
Talk about pathetic and absurd. It's a stupid idea, and you know it. More bandwidth to the world than across the desk? Fucking-a NOT.
Now: How about spending $25 on a cheap, fast ethernet switch? Not only is it plainly a better solution to the problem, but it's WAY FUCKING CHEAPER than buying a bunch of copies of NetLimiter, and doesn't involve even an iota of a software adjustment, it's cheaper, and it's existance easily understood by any technical people who will appear later on. Oh, and it's faster as greased shit and is plug-and-play when installed in place of the existing 10base-T hub.
Did I mention that it's cheaper to just buy a switch and be done?
(Are you some kind of schill for Netlimiter?)
Kid-proof tablet..
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!
Hackers solution, cheap and easy to manage:
No need to upgrade every machihe: make them ltsp-terminals!
Install one powerful server with Linux and the latest LTSP (LTSP 4.1 or maybe Ubuntu Breezy Badger). Wire everything with a 100Mb or 1GB managed switch (bandwidh control).
Who's going to manage it when you're gone?
Did you miss the part where they don't have a lot of money? Even if they steal (urk!) Win2K, they'd probably have to buy more memory to support it. Ideological issues aside, Linux is the only viable upgrade path when you don't have funds for new hardware or software.
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.)
Any college kid that can't come up with a free copy of Windows 2000 doesn't deserve to be working in the radio station, and damn sure isn't worthy of posting a question to Slashdot. Heck, where I went to college the kids acted like they INVENTED software piracy (of course I'm pretty old, so maybe we did.)
Glonoinha the MebiByte Slayer
Sounds like you want 2 networks, either via vlan or physical means. I'd recommend physical, it would cost about the same either way (I assume you are running the cables) and leave room for adding more equipment in the future.
As to the many replies about upgrading your machines, check wiht the college, local school board, county, etc. to see what happens to PCs that are replaced. The local community college sells a bunch each semester (4 year replacement cycle) to faculty/staff for $150, and then sells a few more to students via a PC repair shop on campus for the same price. Currently they are Dell GX150s with Win2k licenses/media included.
Don't blame me, I voted for Kodos
...but you might find performance to actually be better using a hub rather than a switch in this case. From your basic description of your traffic types, it's worth some comparison of both options.
Hey everybody, make sure to mod this guy down. He's actually making sense, plus he appears to have spent a little effort thinking about the problem. His answer is most likely the correct one, and is inexpensive to implement. Alas, useful information is not allowed on Slashdot. Plus, telling ignorant people that they are ignorant is something that must never be done.
He must be punished.
Fascism trolls keeping me up every night. When I starts a preachin', he HITS ME WITH HIS REICH!
If you are thinking it's a good thing to stick with Win98 you're fooling yourself. Eventually you're going to get a virus and it all goes up in smoke from there.
Install Linux (There are some great distro's out there on distrowatch.com that cater to music professionals).
Get a switch not a hub. Managed and one that could do vlan's if possible.
I'm doing a similar sort of project at work
Get a good 10/100 switch from whoever. If you feel the need, put some extra ethernet cards in your two main boxes (get the $10 ones instead of the $5). Think about upgrading them in the future too... Anything running Win98 isn't really meant for 24/7 audio streaming, and will probably cause headaches in the near future.
Next, check out http://www.helixcommunity.org/Helix. It runs on Linux, Solaris (that's free now too!) and even Windows (really only server 2003 only though). I'm not totally convinced Real is totally evil, and odds are people will already have the client installed so they can listen online while they're stuck in the basement lab.
Finally, move as many computers to Linux or Solaris as you can. I'd recommend Debian, Ubuntu, Fedora Core, OpenSUSE or OpenSolaris. Whatever you're more comfortable with, but still easy to maintain for the next person. My experience has been that they are all easier to install and maintain than Windows.
Setup a linux box to do all routing for the small mini network. By giving each system a netmask of 255.255.255.255 you can make all traffic go through the linux router. If you've got static ip's for the machines, use em as normal, otherwise setup the router to do DHCP and use NAT connection sharing. If you want to get fancy you can setup some hijinx with DHCP relay systems. Easy enough. From there you can either mangle the gateway address to point to your router or make the linux box a transperent gateway- very clean, probably the way to go but you still have to mangle whatever netmask the actual DHCP srever is providing. Details details. Basically get all traffic going through the linux box. I suggest just using an internal DHCP network, its the simplest most exandable.
Then just setup traffic policing. Cap all connections to like 50% of the 100bt's TESTED capbilities except for the couple ports doing streaming. Dead fsckign simple QoS stuff, just a Token Bucket Filter. Traffic policing is also known as Ingress queueing, and is made possible by Intermediate queueing devices (IMQ).
Basically the Linux Advanced Routing and Traffic Control HOWTO will become your new bible. It has everything you need.
Now that I think about it, I dont suppose theres any reason you couldnt just do packet queueing/egress filtering too once you get the linux system acting as a router.
Great idea: let's take all the networking slang we can find on Google Groups and patch them together in the phoniest post ever made up.
lucm, indeed.
By the sound of it, the transfer needs aren't extraordinary, the most important thing would be to ensure the wav streams from the win98 systems will not be disrupted by other activity on the little network.
I would suggest a run of Cat5e or better cabling from each machine to a central wiring area. Design to have a quality network card capable of at least 100BaseT on each machine.
If an old machine already has one, then it would be best indicate to at least check it to assure that each is indeed a Fast Ethernet card, one of good quality, and working in good condition, without generating any spurious electrical noise on the network, and network wires to be carefully tested too (any noise on a wire would negatively impact performance).
At the central area, each wire would normally terminate at a patch panel, from here, place a high quality switch -- because if something goes wrong with this device, then the whole network feels it.
If this network is to be connected to the internet, then the central area would also be the place to plan to have that equipment -- or if not suitable, to run an uplink wire from here to the internet connection point.
QoS is a good idea -- one possibility would to make the switch used a layer 3 switch with features such as bandwidth limiting and QoS support, which is a good choice if you can identify which systems are generating the streams, and prioritize that protocol associated with the streaming, but this could be rather expensive.
On the other hand, by using a switch -- the only possibility of the streaming output being disrupted is if the large file transfer between a machine receiving the wav and another machine, the possibility is fairly the small, and the network may not even be the primary concern here.
If these Windows '98 PCs are older machines, then the hardware should be examined to determine if it will be adequate to both stream and transfer large files at the same time.
What software will be used to stream the files, and what else the PCs will do are important factors.
Windows '98 is not among the most stable Operating Systems out there either, so it may be an exceedingly bad choice if the audio can't be disrupted
I've done a lot of work in this field, working for a major UK radio broadcaster.
If money permits, keep your audio network (with your playout machines and audio server on) separate from your office network (with office machines, printers etc). You can either use VLANs on a decent managed switch or better still have two completely separate networks connected by a machine / router to allow you to put audio on the server.
We had a vested interest in this because our audio servers were often running netware and we didn't always want to route IPX on our office segments. This notwithstanding, it'll still improve reliability of your audio playout infrastructure.
As other posters have pointed out, a 100Mbps switch will be more than adequate for pulling linear 16bit 44.1kHz WAV data from machine to machine.
No offense but parent's suggestion is so 1990.
Why limit the speed of your machines on the network to a fraction of the available bandwidth, when in 99% of the time this bandwidth would be freely available to use and allow fast file transfers.
What you need to do, is implement simple and efficient QoS on the switch. If you know that two PC's will be streaming at 1.411 Mbps then define the appropriate class to isolate this type of traffic and reserve the appropriate bandwidth on the switch.
Then all the rest can be unmanaged, filling the remaining bandwidth for file transfers. When congestion occurs, default traffic will become policed. At that time your streaming traffic will get its reserved share of bandwidth, and your default traffic will clock down a bit, leaving room for the streams.
Simple, unmanaged switches usually do not offer any QoS but on the other hand provide bandwidth aplenty for a very small cost (about $100 for a 8-port Gigabit switch). If you want QoS then you must purchase more capable, managed equipment with built-in QoS. There are lots of vendors and good products out there.
geeesh you guys are much friendlier than #linux
*plays the Apogee theme song music*
If a 100bT switch doesn't do the trick as mentioned by other posters, how about installing a separate set of NICs and switch dedicated to the streaming content. That would guarantee bandwidth. The cost would be a little higher, and involve more setup, but you would also be in a much better position for future expansion/capabilities. BTW, I haven't run Win98 for years. I don't remember how hard it is to set up Win98 with multiple NICs.
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.
I'll third this. Please mod what is probably one of the most useful posts here down! And adolf, I take offense at your sig. We don't let Colin join in the hammering.
Be a real patriot: Question authority. Think for yourself. Formulate your own conclusions.
why not use a 10/100 switch, but configure the network cards of the 'other 4' to be 10/half?
or even, use cables with only 4 wires in them so they autonegotiate a slower speed? (can be unreliable, in my experience).
Max.
Yeah, but doesn't M$ make deals with schools to get them their OSes on the cheap. At OSU it was $99 for the 'Buckeye Bundle' which had Office, XP, and 2000. Heck I was able to get FREE copies of Server 2003, Exchange Server 2003 and a few other programs while I was there.
M$ also gave some of the Engineering Honors students Win 2000 and VS 6.0, retail boxed versions of both, back in the day. So a Windows upgrade might not be so out of reach for them. But yeah I would move away from Win98, it really is not what I would want running on a Network, especially if it needs to stay up.
"Some days you just can't get rid of a bomb."
The school I went to had an agreement with Microsoft (MSDNAA) wherein each student got a free copy of whatever they wanted.
Granted there were some restrictions, but getting a legit copy of Win2000 was about as hard as saying 'Please'.
Glonoinha the MebiByte Slayer
I wonder if you could get an accomodation from the one of the companies that many commercial stations use (many many are on file servers.) Try scott studios or or - these are the BIGS. See if they'll donate. Their systems will comes with specs.
Depending on how serious you are about it, you want RAID capabilities, as servers WILL crash, I assure you.
If you voice-track, then you need more sophistication, and that's why I suggest a nice letter or call to these folks. It should be a tax write off to them.