DragonFly BSD
DragonFly users List (threaded) for 2006-10
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Network Slowdowns?

From: "Miguel Figueiredo Mascarenhas Sousa Filipe" <miguel.filipe@xxxxxxxxx>
Date: Wed, 11 Oct 2006 19:33:59 +0100

Hi all,

On 10/11/06, Bill Hacker <wbh@xxxxxxxxxxxxx> wrote:
Jamie wrote:

> About ~ 1 mb/sec across a 100mbs ethernet connection. Correct me if I'm
> wrong, but shouldn't this be closer to 5-10 megabytes/sec, assuming 100mbs
> is "bits pr. second" and NFS had a rather large overhead? (say, 1/2 of it
> is protocol related?)

With the most-bandwidth-efficient of uncompressed protocols (never mind 'robust'
for the moment) such as IBM bisync or RS-232 serial, you can treat a 'byte' as
10 bits, rule of thumb.

It goes downhill from there - ethernet itself being *much* less b/w efficient
than, for example, ARCnet/TCNS or even 100VG-Any-LAN, and TCP/IP less efficient
on low-latency transmission paths than, for example SNA or even IPX/SPX.

File-system overhead aside, 40% overhead is probably close for most TCP/IP over
ethernet applications, so, yes - 50% overhead should be close.

humm, How come I can get 11 MB/sec copying a big divx file, through a ssh connection, ethernet LAN with 2 hops, cypher: blowfish?

Thats: SSH + TCP + IP, copying a divx file, which isn't much reduced
with ssh compression enabled...
That doesn't fit right with the 40% overhead just for TCP/IP.

Also, by checking out ethernet frame structure and TCP/IP packet structure..
its possible to have quite a low overhead...

IP packet max size: 65K
IP packet header size: 160bits
TCP packet header size: 160bits.

so for TCP/IP, we can have: 320bits of headers and  1500x8 bits of
data. (so we avoid fragmentation of the IP packet when we stuff it in
a ethernet frame...)
that's not that much overhead.

for ethernet:
header: 14bytes
data: 1500bytes
crc: 4bytes
again.. not that much overhead.

It's just a question of packing those (ethernet) frames full of big
IP/tcp packets...

so, summing up:
ethernet + tcp/ip:
144+320 bits of headers and: 11 680 bits of data.
( 11680/1518*8 ~ 0.96 ...)
thats: ~ 0.96 of ideal bandwith efficiency. Or .. best possible overhead: ~4%

Basically, if the OS knows its going to stuff IP packets in a ethernet
frame, he should make them with the size of the ethernet MTU...
(assuming a max MTU = ethernet frame)

Also, AFAIK nfs is one of the most bandwith eficient network FS, with
good speeds for a low number of clients... Although I assume I have
not benchmarked NFS performance myself. the ooint being: nfs doesn't
have a rather large overhead...



Best regards

Miguel Sousa Filipe

[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]