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.
Chapter PDF
References
Postel, J. Transmission Control Protocol, protocol specification. RFC 793, September 1981.
Comer, D. Internetworking with TCP/IP, principles, protocols, and architecture. Englewood Cliffs, NJ, Prentice–Hall. ISBN 0–13–470188–7. 1988.
V. Jacobsen, B. Braden, and D.Borman “TCP extensions for high-performance”. RFC 1323, May 1992.
Partridge, C. Gigabit networking. Addison–Wesley. ISBN 0–201–56333–9. 1993.
Postel, J. The TCP maximum segment size and related topics. RFC 879, November 1983.
Braden, R (ed). Requirements for Internet hosts - communication layers. RFC 1122, October 1989.
Crowcroft, J, Wakeman, I, Wang, Z, and Sirovica, D. Is layering harmful? IEEE Network, 6 (1), 20–24, January 1992.
Clark, D D. Modularity and efficiency in protocol implementation. RFC 817, July 1982.
Mogul, J C, Rashid R F, and Accetta, MJ. The packet filter: an efficient mechanism for user-level network code. Proc. of ACM SOSP, 1987, 39–51.
Leffler, S J et al. 4.3 BSD Unix operating system. Reading, Mass., Addison–Wesley. ISBN 0–201–06196–1. 1989.
Clark, D D. Window and acknowledgment strategy in TCP. RFC 813, July 1988.
Nagle, J. Congestion control in TCP/IP internetworks. RFC 896, January 1984.
Jacobsen, V. 1988. Congestion avoidence and control. Proc. of ACM SIGCOMM’88, 314–329, Palo Alto, USA, 16–19 August 1988.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1995 Springer Science+Business Media Dordrecht
About this chapter
Cite this chapter
Moldeklev, K., Gunningberg, P. (1995). Deadlock situations in TCP over ATM. In: Neufield, G., Ito, M. (eds) Protocols for High Speed Networks IV. PfHSN 1995. IFIP Advances in Information and Communication Technology. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-34885-8_15
Download citation
DOI: https://doi.org/10.1007/978-0-387-34885-8_15
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4757-6314-0
Online ISBN: 978-0-387-34885-8
eBook Packages: Springer Book Archive