Title: Performance of TCP/IP Over ATM Networks Author: Mahbub Hassan and Mohammed Atiquzzaman Publisher: Artech House Year: 2000 Table of Contents Chapter 1 Introduction 1.1 TCP/IP Protocols 1.2 TCP/IP Networking with ATM Networks 1.3 Significance of TCP/IP Performance 1.4 TCP/IP and ATM Standard Bodies 1.4.1. IETF 1.4.2 ITU 1.4.3 ATM Forum 1.5 Organization of the Book References Chapter 2 TCP and IP 2.1 Introduction 2.2 TCP 2.2.1 MSS 2.2.2 Header Format 2.2.3 Retransmission 2.2.4 Flow Control 2.2.5 Congestion Control 2.3 IP 2.3.1 Unreliable Delivery 2.3.2 Connectionless Delivery 2.3.3 IP Header Format 2.3.4 Internet Control Message Protocol (ICMP) 2.5 Summary References Chapter 3 ATM Networks 3.1 Introduction 3.2 Why ATM Networks 3.3 ATM Protocol Architecture 3.4 How do ATM Networks Work? 3.4.1. Why are Cells so Short? 3.4.2 Traffic Contract 3.4.2.1 Traffic Descriptors 3.4.2.2 QoS Descriptors 3.4.3 ATM Service Classes 3.4.4 Congestion control 3.4.5 Error checking 3.5 ATM Connection Types 3.6 ATM Adaptation Layers 3.7 Physical Layers 3.7.1. DS3 3.7.2. TAXI 3.7.3. SONET 3.8 Conclusions References Chapter 4 TCP/IP over ATM 4.1 Introduction 4.2 ATM Deployment in TCP/IP Networks 4.3 Running IP over ATM 4.3.1 LAN Emulation 4.3.1.1 Many point-to-multipoint connections 4.3.1.2 One point-to-multipoint connections 4.3.2 Classical IP over ATM 4.4 Encapsulating IP Packets into ATM Cells 4.4.1 LLC/SNAP Encapsulation 4.4.1.1 Routed Protocols 4.4.1.2 Bridged Protocols 4.4.2 VC Based Multiplexing 4.4.2.1 Routed Protocols 4.4.2.2 Bridged Protocols 4.5 Summary References Chapter 5 Performance Issues for TCP over ATM 5.1 Introduction 5.2 ATM Protocol Overhead 5.3 Effect of ATM Cell Loss on TCP/IP 5.4 ATM Connection Setup Delay 5.5 Effect of ABR Rate Control on TCP Performance 5.6 Large ATM MTU and TCP Deadlock 5.7 TCP over High Delay-Bandwidth ATM Links 5.8 Summary References Chapter 6 Reducing ATM Cell Tax 6.1 Introduction 6.2 VC Based Multiplexing 6.3 TCP/IP Header Compression 6.3.1 RFC1144 6.3.2 How RFC1144 Reduces ATM Cell Tax 6.4 Overall Tax Savings 6.5 Cells in Frames 6.6 Practical Use of Cell Tax Reduction Techniques 6.6.1 VC Based Multiplexing 6.6.2 TCP/IP Header Compression (RFC1144) 6.6.3 Cells in Frames 6.7 Summary References Chapter 7 Improving TCP Performance Against ATM Cell Loss 7.1 Introduction 7.2 Buffering in ATM Switches 7.2.1 Input buffered switches 7.2.2 Output buffered switches 7.2.3 Shared buffered switches 7.2.4 Comparison Among Buffering Strategies 7.3 Packet-Based Discarding 7.3.1 Partial Packet Discard 7.3.2 Early Packet Discard 7.3.3 EPD with Fair Buffer Allocation 7.3.4 EPD with Selective Drop 7.3.5 Comparison of UBR Options 7.4 Feedback Congestion Control 7.4.1 ABR-EFCI 7.4.2 ABR-ER 7.4.3 Performance of ABR-EFCI and ABR-ER 7.4.4 ABR versus UBR Enhancements 7.5 Forward Error Correction 7.6 Summary References Chapter 8 TCP/IP over Switched Virtual Circuits 8.1 Introduction 8.2 Operational Cost of SVCs 8.3 SVC Management 8.3.1 Delaying the Close Down (Timer-Based) 8.3.2 Delaying the Opening of SVC (Threshold Based) 8.4 Performance Model for Timer Based SVC 8.4.1. Assumptions 8.4.2 Server States 8.4.3 Delayed Vacation Model 8.4.3.1 Setup Rate 8.4.3.2 State Probabilities 8.4.3.3 Average Delay, W 8.4.3.4 Numerical Results 8.4.4 Optimizing the Performance 8.5 Performance Model for Threshold Based SVC 8.5.1 VC Setup Rate Gamma 8.5.2 Average Queue Lengh L 8.5.3 Optimizing Performance 8.6 Infinite Buffer and Self Similar Arrival 8.7 Performance Evaluation of Signaling 8.7.1 Results 8.8 Summary References Chapter 9 End-to-End Traffic Management in IP/ATM Internetworks 9.1 Introduction 9.2 Adaptive Packet Discarding at IP-ATM Edge Device 9.3 Explicit Congestion Notification (ECN) to TCP 9.3.1 Modifications to IP and TCP Headers 9.3.2 TCP's Reaction to Congestion Notification 9.3.3 Simulation of ECN 9.3.4 Implementation of ECN 9.3.5 Limitations of ECN 9.4 Backward and Multilevel ECN 9.5 Host Gateway Rate Control Protocol (HGRCP) 9.5.1 Rate Computation Algorithm 9.5.2 Rate Notification 9.5.3 Rate Control at IP Layer 9.5.4 Modification to IP header 9.5.5 New ICMP Message Types 9.5.6 Simulation of HG-RCP 9.5.7 Implementation of HG-RCP 9.5.7.1 Test-Bed Configuration and Test Procedure 9.5.7.2 Test Results 9.5.8 Limitations of HGRCP 9.6 TCP Rate Control 9.6.1 ACK-Bucket Control 9.6.2 ACK-Bucket Implementation at Gateway 9.6.3 ACK-Bucket Algorithms 9.6.3.1 TCP Source Modeling 9.6.3.2 Queue Threshold 9.6.3.3 ACR and Queue Threshold 9.6.3.4 ERICA+ 9.6.4. Simulation of TCP Rate Control 9.6.5 Commercial Products 9.6.5 ACK-Bucket Limitations 9.7 Comparison of Schemes 9.8 Summary References Chapter 10 TCP Deadlock 10.1 Introduction 10.2 Causes of Deadlock 10.2.1 Combination of Send and Receive Socket Buffers 10.2.2 Preventing Small Packet Transmission at Sender (Nagle's Algorithm) 10.2.3 Network Maximum Transmission Unit (MTU) 10.2.4 Delaying Acknowledgement at Receiver 10.2.5 Sender Action Sequence on Acknowledgement Reception 10.2.6 Adding Data to TCP Send Buffer 10.3 TCP Deadlocks 10.3.1. Small Send Buffer 10.3.2 Implementation Dependent Deadlocks 10.3.3 Deadlock Zones 10.4 Role of MSS and MTU 10.5 Impact of Deadlocks on TCP Throughput 10.6 Preventing TCP Deadlocks 10.6.1 Turning off Delayed ACK Option 10.6.2 Turning off Nagle's Algorithm 10.6.3 Send Buffer Larger than Receive Buffer 10.6.4 Send Buffer No Less than 3MSS 10.7 Summary References Chapter 11 TCP Performance over Satellite ATM Networks 11.1 Introduction 11.2 Satellite ATM Networks 11.2.1 Recent Interests 11.2.2 Network Architecture 11.2.3 Protocol Stack for TCP over Satellite ATM 11.2.4 Frequency Bands 11.2.5 GEO and LEO Satellites 11.2.5.1 GEO Satellites 11.2.5.2 LEO Satellites 11.2.6 Some Properties of Satellite ATM Networks 11.2.6.1 High Bandwidth Delay Product 11.2.6.2 High Bit Error Rate 11.2.6.3 Burst Error 11.2.7 Standard Bodies 11.2.7.1 ITU-R 11.2.7.2 TIA 11.2.7.3 IETF 11.3 TCP Enhancements 11.3.1 Fast Retransmit and Fast Recovery 11.3.2 Selective Acknowledgement (SACK) 11.3.3 Large Sliding Window 11.3.4 TCP Time-Stamp 11.3.5 Protection Against Wrapped Sequences (PAWS) 11.3.6 TCP Reno 11.3.7 TCP New Reno 11.4 TCP Performance 11.4.1 Simulation 11.4.1.1 Simulation Model 11.4.1.2 Simulation Results 11.4.2 Experiments with NASA's Broadband Satellite System 11.4.2.1 Experimental Setup 11.4.2.2 TCP Performance Results 11.4.2.3 TCP Performance over Noisy Satellite Links 11.5 Summary References