romkey%mit-borax@sri-unix.UUCP (01/23/84)
From: romkey@mit-borax (John L. Romkey) Hi, For the past several years I've been working in a research project here at MIT to implement the TCP/IP protocols on an IBM PC. At first the idea was merely to see if it could be done. The first implementation was done using a serial line as the medium with our own framing protocol for packets. The line was usually run at 9600 baud or 19.2kbaud and there was a gateway which sat between a bunch of serial lines and a 10Mbps ring we have. Telnet, over the 9600 baud line, is usable, but not as nice as a hardwired 9600 baud terminal since you lose so much bandwidth. Still, it's quite usable and a professor here has a leased line from LCS to his home where he has his PC, and he can do a lot of work at home this way. When 3COM announced their 10Mbps ethernet interface for the PC we got one right away and ported the code to it. Before we broke our terminal emulator somewhat (built into telnet, emulates an h19) we frequently got better performance than 9600 baud hardwired lines. A simple file transfer protocol called TFTP has also been implemented and we usually get 15kbps or better out of a file transfer to the floppy disk, or around 70kbps to IBM's winchester. In testing, it's broken 110kbps, but there it was just dropping data as soon as it received it. We haven't done a full FTP because our TCP implementation only supports a single connection and FTP requires two. Maybe someday we'll fix this but for now we don't really need it. Now why would you want a PC to run server telnet, anyway? Something else we've done is to take a remote virtual disk protocol which our vaxen use and implement it on the PC so that it can access disks over the net. The protocol gives an interface to a remote RAW disk, not to a remote filesystem. It's kind of like 3COM's remote disk code except that it's IP based and we never did a server for the PC. We don't get blazing speed out of this but that's because of known problems with the implementation which I haven't had the strength to fix. There's also a net interface available from Proteon for their ring. We have a fairly large ring here with about 25 vaxen, one PDP 11, several gateways and a PC on it. I've been working on a driver for the ring for our programs. Overall, I think that something like the PC can't drive an ethernet or a ring like a vax can, but then again, a single vax can't use the net up. When you scale down performance wishes along with processor power, the PC lives up to expectations. I wrote this message while telnetting to my VAX from my PC. I don't do most of my work on the PC because I hate it as a development environment, and lately I've been developing some very hard feelings about the 8088. But it can talk tcp. If you'd like a copy of our programs, you should contact Prof. Jerry Saltzer (saltzer@mit-multics). He's led this project from the start. I can't yet give you a copy of the remote virtual disk code because it's not fully debugged yet (= it's still somewhat embarassing). I hope this has helped somewhat; feel free to ask more questions. **addendum** I just looked over your message again, and I think one of us has the worng idea about local are networks. Lots of people have them. MIT has a ring and an ethernet. I know that Udel and CMU and ISI and Berkeley all have ethernets. Take a look at the NIC host table. Arpanet and Milnet are long haul networks and there are a couple of other nets which aren't local area class, but I think you'll find that most of them are actually local area networks. The Arpanet is NOT the Internet. The Internet is far vaster than the Arpanet, and the protocol is designed to allow the interconnection of LOTS of networks. My PC here, two gateways away from the arpanet, can talk tcp/ip to another pc out at isi, at least another gateway away from the arpanet. Now the packets do get transported over the arpanet in the process, but... - John Romkey romkey@mit-borax