Path: utzoo!mnetor!uunet!lll-winken!lll-lcc!ames!pasteur!ucbvax!DECWRL.DEC.COM!mogul From: mogul@DECWRL.DEC.COM (Jeffrey Mogul) Newsgroups: comp.protocols.tcp-ip Subject: maximum Ethernet throughput Message-ID: <8803012359.AA00957@acetes.dec.com> Date: 1 Mar 88 23:59:00 GMT Sender: usenet@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 32 Someone recently asked: If anyone has figures on maximum through-put of 10 Mbps Ethernet, I could make good use of them. The snide answer is "10 Mbit/sec". Actually, the theoretical maximum is about 9.9 Mbit/sec, because of the inter-packet gap, and perhaps closer to 9.8 or 9.7 Mbit/sec if you count the addresses and CRC as wasted bits. That's probably not quite what you wanted to know, but the question as put does not have a single answer. For example, do you want the aggregate maximum or the maximum for a single pair of hosts? For the latter, I believe Bill Nowicki of Sun has obtained 5 Mbit/sec using TCP between Suns, and the Sprite people at Berkeley have reached somewhere near 5.6 Mbit/sec using their kernel-to-kernel RPC. These numbers are both from memory; perhaps someone can confirm or improve them. The best numbers that I am aware of, for communications between a pair of hosts, comes from Dave Boggs. Using a pair of 15 MIPs processors with an interface and software of his own design, and without much of an operating system or any protocol (aside from the Ethernet data link headers), he can get about 7.5 Mbits/sec obeying the Ethernet spec, or at least 8.6 Mbits/sec if he "cheats" by sending 4Kbyte packets. (He once got >9 Mbits/sec with even larger packets, but his current code doesn't support that.) The limiting factor in his measurements seems to be that his interface can only send one packet at a time; i.e., he must process one interrupt per transmitted packet, which takes a few hundred microseconds. The interface can receive up to 16 packets using only one interrupt. With a more elaborate interface design, the theoretical limit should be attainable.