Cross-Platform Firewire Networking at Home?
Stahnke asks "I have two computers that I need to exchange data between. I do music-production on a Windows-based system and have everything else on a Linux system. I need to exchange HUGE amount of data (5GB at a time sometimes) between the two systems as fast as possible while clients are waiting for me. 10/100 Ethernet is too slow, and fiber is just too expensive. Can Linux (2.4) do Firewire networking with a Windows machine? If so, how, and what tools are out there? I have a Firewire card working in Linux, but I haven't had luck with TCP/IP via Firewire yet."
Perhaps if this is not possible, in the way of direct network connections, a halfway point may be worth considering. As firewire's hot-pluggability is a feature, go for a medium sized firewire drive that can be used purely for transporting files
Admittedly it's not quite as neat a solution at first glance as just firewire-cabling between two machines - but it sounds as good an excuse as any to buy an iPod!
Three Words: Firewise Drive
You might like to have a look at fibre channel. Not sure of the extent of support in Linux, but Windows has it already supported (as you'd imagine).
Fibre channel is expensive but notable due to higher %age usage in real-world use. The max throughput on Ethernet (you refer to IP) is somewhere between 30% and 50%, whereas fibre channel can realistically get up to about 80% usage. So, on a 1Gb card, that's not too shabby.
Anyway, others will have better hands on experience but it might serve as a useful alternative avenue to explore.
Aegilops
I would seriously look at gigabit networking. a) its faster, b) it will work. currently there is no standard for the medium the transmits your IP packets so it is unlikely for two IP stacks to work over IEEE 1394. If you can't afford the price of two gigabit nics I would wonder how much your clients time is really worth. (btw, you dont need a gigabit switch because you can use a cross-over cable.).
Just use gigabit ethernet.
My laptop and my cousins laptop both have gigabit ethernet in it as standard. We connected them together with some twisted pair (you will need a crossover cable) and we got 1000BaseT.
Mmmm, gigabit......
I am sure you can get 2 gigabit ethernet nics at a decent price, get some cat5e or cat6 or whatever it is you need (gigabit uses all 8 wires; 4 pairs, not just 2 pairs like 10mbit and 100mbit) and you are set.
D.
You can tell how powerful someone is by the magnitude of the crime they can commit and be able to get away with.
I have no idea which distro you're using, but check out Ninnle Linux, which is capable of TCP/IP over Firewire.
With Firewire, can't both machines be attached to the drive sumultaneously? Bingo! Mini-SAN.
--Mike
i suggest you do a little searching
if your still stuck visit #linuxhelp on efnet. there are several veteran firewire networkers who swear by it over gigabit ethernet. (which to be any good has to be done with fibre)
state your question in full with many more details then you did for this story. such as machine types what you've tried, what docs you've read. etc etc. and then wait for someone to answer you
-- botsex is {grep;touch;strip;unzip;head;mount}
How shameful.
If you are using a single drive on either end, getting a faster interconnect will not help you. The drive will be your limiting factor.
If you have a raid array on each side then you would not be limited by the bandwidth off of the drives, but this would be expensive.I have seen some suggestions of getting a firewire HD and just share it between the machines. I think this would be one of your best bets.
Do not worry about the connection speed until you get more/faster spindles.
I'm in a similar situation; I want to connect a Windows 2000 machine to a Windows XP laptop. However, the reason that I want to use firewire is because I'm a cheap bastard. Also note that in MY laptop, I have not been blessed with Gigabit ethernet.
I'm not so concerned about the speed (10/100 would be fine); I just want connectivity. If I go the firewire route, then all I need to buy is a $10 1394 cable, right?
My question is, does Windows 2000 (or Linux, for that matter) support 1394 networking? I haven't seen any definitive answers regarding which OS's support this other than Windows XP, and [sometimes] WinME.
Although not strictly relevant to your question, I feel the need to point out that if you had Apple CPUs with built-in Firewire, you could do exactly what you're asking for. To wit: by restarting one in "FireWire Target Disk Mode", which involves simply restarting and holding down the "t" key, that unit's HD will appear on the desktop of another Mac just like any other externally mounted FireWire HD would.
Depending on how much you need this feature, you might consider a "switch"--why not use the tools that provide the features you need?
--
$tar -xvf
What better excuse to buy an iPod? :)
FireWire 400 Mbit/s ~ 50 MB/s
Speed close to theoretical speed. Direct PC to PC might possible. Guesstimated speed around 40-45 MB/s.
FireWire 2(?) 800 Mbit/s ~ 100 MB/s
New version, Apple already supports on high-end, but likely there is no support for PC, or even interface, or very expensive. Speed close to theoretical speed. Direct PC to PC might possible. Guesstimated speed around 80-95 MB/s.
Drive Swap 1064 Mbit/s ~ 133 MB/s
Well, you will have to csave on PC, load on the other one. That makes speed at least half of theoretical one. Drives are not physically capable of these speeds, only around 40MB/s sustained. Guesstimated speed around 20 MB/s.
Gigabit 1000 Mbit/s ~ 100MB/s
Direct PC to PC possible. You need 64 bit PCI cards to get colse to 100MB/s. Guesstimated speed around 90-95 MB/s.
Ethernet 100 Mbit/s ~ 10MB/s
Cheap, easy, cheap, but slow. No special needs. Guesstimated speed around 9-10 MB/s.
USB2.0 480 Mbit/s ~ 60MB/s
Cheap, high(er) CPU overhead. Need PC-to-PC host bridge (might be hard to locate). Guesstimated speed around 40-50 MB/s.
Code poet, espresso fiend, starter upper.
Hi,
You could look into channel bonding as an alternate (or complementary) technology for faster file transfers. Channel bonding is the practice of using N ethernet cards as if they were one card. Although the gains are not linear and depend quite a bit on the quality of the card, it does speed up communications.
Bonding 100mbps ethernet cards is how we sped up intra-beowulf communications at one of my previous jobs. This was for scientific communications, and data was continuously transferred between nodes. All you need (in addition to the ethernet cards) is a good hub/switch. We used a cisco hub with two backplanes (can't remember the model number).
You can bond gigabit ethernet cards as well. If you can afford it, this will provide greatly increased communications speeds.
Getting bonding to work may take a little digging around on google. Just search for "bonding site:scyld.com" for information on donald becker's site or "ethernet bonding"/"gigabit bonding" for general information.
Regards.
Linux Firewire TCP/IP is possible and their is a kernel patch for 2.4.18 and its built into 2.5.x and will be a feature of 2.6 -BUT-
:)
this is TCP/IP ONLY!, that means that windows file sharing will not see across this medium, you will have to use IP (//192.x.x.youipwhatever/share) which may not be a problem for you but it's something to consider.
This does work well, i have a firewire400 link between a windowsXP machine and gentoo linux and it works very well. I use NFS for file sharing as i feel Windows is the "guest" on my network and should pay homage to the exsisting linux machines
i do get very close to optimal speed accross this link for file sharing. i have susstained ~45Megabytes/second transfering large video files. on these same machines with 100 speed networking i get about 9.5Megabytes/second and with gigabit i can get about 35Megabytes/second, but only on large files.
The firewire link is by far the fastest but i think the gigabit is being help back by immature drivers on the linux side.
good luck.
You can perform this transfer in one swoop, with a single packet transfer with the mother of all MTU's.
Removable, hot swappable drive bays in each machine, and then use a sneakernet to transfer your data.
Not familiar with sneakernets? That's where you use your sneakers as the transfer medium. Transfer time algorithm works out to (size of drive / walking distance) * number of trips.
In short, use removable drives, dummy, and walk between machines.
- billn
400 Mbps FireWire makes it sound like you will get 4x better than 100Mbps Ether, but in practice you won't.
Gig Ether will do what you want.
If you still want more info on FireWire networking, visit my research page.
I realize everyone's been telling you to use Gigabit Ethernet, but if cost is an issue, this may work better, and it's WAY cheaper. It may not work well for you if you have a lot of PCI slots in use already. Just put extra ethernet cards in each machine. See this cringely article for more information: http://www.pbs.org/cringely/pulpit/pulpit20011227. html
OTOH, this may not be very effective between linux and windows.
You may want to check out NINNLE linux, which does just this.
of course, if you edit your hosts file, you wont need to use the full ip. /etc/hosts
windows nt: c:\winnt\system32\drivers\etc\hosts
nix:
192.168.x.x name
hdparm -t /dev/sdX
Times a 64MB read from the drive. Most Firewire drives will cap out around 23 MB/sec (Megabytes, not megabits) The same drive/enclosure using USB 2.0 capped out at 12 MB/sec for me.
In my case: 7200 RPM 120GB Maxtor HD in a comboe 1394/USB2 enclosure fron www.newegg.com - Part number is ME720UF.
retrorocket.o not found, launch anyway?
Note that these will all likely be capped to 35-40 MB/sec if you have IDE drives, maybe a little bit more for 7200 RPM SCSI.
So far I've found the 1394 networking support for Linux to be pretty slow... For some reason it seems to put the interface into 100 mbit/sec mode.
USB2 can't even come CLOSE to theoretical max throughput. I have a combo USB2/1394 drive enclosure. In 1394 mode, hdparm -t gives a result of approx. 23 MB/sec. In USB2 mode, the same benchmark gives a result of 12 MB/sec. (For a 64MB sustained read)
retrorocket.o not found, launch anyway?
I think that a faster network can't help you more than a factor 2. 100 Mbit ethernet gives you 10 Mb/sec throughput while a modern harddisk has a maximum sustained throughput of about 20 Mb/sec. Switching to a faster network moves the bottleneck from the network to the disks. (And if you upgrade to RAID, the PCI bus will become the bottleneck.)
You should consider:
a) to accept the few minutes of waiting
b) change the way you work (work smarter)
You could make the data on your linux machine available to your windows machine by setting up samba (windows file sharing for linux) or NFS (with an appropriate windows client). If you realy need the files locally on your windows box you could use a protocol as rsync to keep an relatively up to date copy, which can be updated in a matter of seconds when needed.
Wow! Another Ninnle fan! I knew the Ninnle movement would grow...thats why I started it. Someday, it will be as legendary on /. as Soviet Russia, goatse, PROFIT, Beowulf clusters, and all the other running jokes that make /. such a great community to be in!
What's so shameful about Ninnle? You should give it a try, and seriously enhance the security of your system. Ninnle does it all!
I know it's been awhile, but here's a link that might be of service:
http://web.mit.edu/kkeville/www/firewire/
also try googling for "ip over firewire"