Abstract:
The implementation of protocols, such as TCP/IP, and their integration into the operating system environment is very decisive for protocol performance. Putting TCP on high-speed networks, e.g. ATM, with large maximum transmission units causes the TCP maximum segment size to be relatively large. What Nagle's algorithm consider a "small " segment is not small anymore which affects the TCP throughput. We report on TCP/IP throughput performance measurements for various sizes of send and receive socket buffers, using two Sun IPX machines running SunOS 4.1.1 connected to FORE System's ATM network. For some common combinations of socket buffer sizes we observe a dramatic performance drop to less than 3 % of normal throughput. The drop is caused by a deadlock situation in the TCP connection which is resolved by the 200 ms spaced timer generated TCP acknowledgment. The factors which in combination force the TCP connection into deadlocks are a large maximum segment size, asymmetry of the socket buffer sizes, use of Nagle's algorithm, the delayed acknowledgment strategy, the sequence of actions on acknowledgment reception, and at last the socket layer optimization for efficient memory management. We explain what causes the deadlock situations, discuss some alternatives to avoid or prevent the situations and present measurement results from proposed changes in the implementation.
Citations
|
1790
|
Congestion avoidance and control
– Jacobson
- 1988
|
|
409
|
TCP/IP Illustrated, Volume 1: The Protocols
– Stevens
- 1994
|
|
273
|
Requirements for Internet Hosts – Communication Layers
– Braden
- 1989
|
|
208
|
C.—“Gigabit Networking
– Partridge
- 1994
|
|
206
|
The packet filter: An efficient mechanism for user-level network code
– Mogul, Rashid, et al.
- 1987
|
|
36
|
Internet working with TCP/IP, Principles, Protocols, and Architectures. Upper Saddle River
– COMER
- 2000
|
|
36
|
TCP Extensions for High Performance", RFC 1323
– Jacobson, Braden, et al.
- 1992
|
|
35
|
Modularity and efficiency in protocol implementation
– Clark
- 1982
|
|
28
|
Window and acknowledgment strategy
– Clark
- 1982
|
|
27
|
Is Layering Harmful
– Crowcroft, Wakeman, et al.
- 1992
|
|
22
|
The TCP Maximum Segment Size and Related Topics,” RFC 879
– Postel
- 1983
|
|
16
|
Congestion Control in TCP/IP Internetworks
– Nagle
- 1984
|
|
16
|
Requirements for Internet Hosts – Communication Layers," Internet Request for Comments 1122
– Braden
- 1989
|
|
11
|
Congestion Avoidance and Control
– Jacobsen
- 1988
|
|
3
|
D.Borman "TCP extensions for high-performance
– Jacobsen, Braden
- 1992
|
|
2
|
Transmission Control Protocol, protocol specification
– Postel
- 1981
|
|
2
|
et al. 4.3 BSD Unix operating system
– Leffler
- 1989
|
|
2
|
et al.: "Is layering harmful
– Crowcroft
- 1992
|
|
1
|
Internet protocol, protocol specification
– Postel
- 1981
|
|
1
|
Deadlock situations in TCP over ATM", To appear
– Moldeklev, Gunningberg
- 1994
|