how much size is enough ?

For 10G ethernet traffic, what is the buffer size I should be using. If I am assume a maximum network length of 200 meters node to node. I am more concerned on the receive buffer size. If I assume my minimum rx packet length of 64 bytes and maximum packet length of 600 bytes (in my application). Is there a document I can refer to which can explain the sizing of the buffer with respect to network length (in this case 200 meters) and data rate (in this case 10 G). I would like to know an approximate minimum size, something to base on.

Reply to
niki_tech
Loading thread data ...

In practical terms, it is nearly irrelevant, in that there are very few host systems that can keep up with 10G.

You are not going to be able to do 200 metre segments with existing cabling: with existing Category 5e cabling, 55 metres is the maximum. With Category 7 cabling, 100 metres could be achieved. It does not appear 200m is at all a target for 10G.

formatting link
Thus, in order to do 200 metres, you are either going to have to have a repeater or go optical. For 1G and above, "repeater" implies "switch", not just a half-duplex signal regenerator ("hub") [that is, some knowledgable people have said that though the standard supports them in theory, no-one has bothered to implement them.]

Your calculations would then have to include the latencies due to the switch, and unless you deliberately restricted the switch to only having two ports, you would also have to factor in port contention and switch buffering. So assume that you are going optical -- but take into account the latencies due to media conversion.

The media involved is important: in order to calculate latencies due to the network distance, you are going to need to know the signal propogation rate, which is going to be dependant on the media. There are a number of different 802.3ae media standards;

formatting link
the media standard chosen (which depends upon distance requirements and available fibre types) affects the bit encoding used, which in turn affects the time needed to transmit a frame.

According to the 802.3ae-2002 standard (now superceeded by 802-2005),

formatting link
delay = (10^10)/(n*c) BT/m where ^ indicates exponentiation, c is the speed of light, 3 x 10^8 m/s, and n is the ratio of the speed of light in that kind of fibre to the speed of light in vacuum, and BT/m is "bit times per metre". The 802.3ae-2002 standard indicates that a conservative delay estimate can be calculated from the default n = 0.66 . (With this default n, the formula comes out with about 50 bit times of delay per metre

You really don't want to be getting into half-duplex calculations -- for half-duplex, the minimum frame size for 10G had to be increased with a sequence of "extension bits"...

Okay, so now you've chosen a particular PHY and you've asked the manufacturer for the n parameter for that fibre and you've calculated the cable delay and multiplied it by the cable length, and you've looked up the bit encoding scheme for that PHY -- taking into account whether it has a WIS encoding for WAN support. [NB: If you are planning on using multimode fibre (MMF) then you won't be able to go

200m unless you use 1000Base-SW which requires the WIS layer.]

For simplicity let's suppose you are going to use single-mode fibre without WIS, and thus will be using 64B/66B encoding. Your minimum frame stays the same size, 512 bits, as long as you stick to full duplex, but remember to add the interFrameGap (96 bit times). I don't know how the 64B/66B encoding handles the interFrameGap... gotta leave something for you to look up ;-)

Looks like it takes about 627 encoded bit times to send the minimum size frame, and your pipeline is somewhere around 50 BT/m * 200m = 1000 BT long. Add in some random latencies due to serialization delays, interrupt rate, DMA speed, etc., and you can see that at an approximation, your pipleline is about twice as long as your minimum packet. Double that to account for the return trip, and you find that the minimum time from first transimission to receiving a reply (e.g., an ACK) is about 4 minimum-length packets. So that's one bound on your TCP window size: 4 minimum-sized payloads' worth of TCP data, (lemme see... about 80 bytes that'd be.) The 1000 BT of pipe delay is shorter than the maximum packet size, so your real minimum TCP window size is no more than twice the maximum TCP payload (twice to account for the return trip.)

But are these calculations realistic? I doubt it Realistically,you'd need something like PCI-X 266 or 533 (4.3 gigabytes/s peak), or PCI Express in order to keep your 10G busy

formatting link
parts are available, but not cheap, and you need a well-designed system to put them in.

formatting link
$US895 + 10G-XFP-SR $US500 This PCIe card is really only 250 MBytes/s per lane (8 lanes) and you aren't going to be going around breaking a packet up into different DMA segments, so you aren't going to be able to get full rate.

I'll leave it to you to figure out the actual latency of the 10G NIC for PCIe or PCI-X -- the only way you get even close to peak rates is by DMA'ing a whole bunch of packets at a time.

Reply to
Walter Roberson

Cabling-Design.com Forums website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.