ETSF10 Internet Protocols Transport Layer Protocols 2012, Part 2, Lecture 2.1 Kaan Bür, Jens Andersson
Transport Layer Protocols Process-to-process delivery [ed.4 ch.23.1] [ed.5 ch.24.1] Transmission Control Protocol (TCP) [ed.4 ch.23.3] [ed.5 ch.24.3.1-8] Special Topic: Network performance [ed.4 ch.3.6] [ed.5 ch.3.6] Congestion control [ed.4 ch.24.2-4] [ed.5 ch.18.3+24.3.9] 2
Transport Layer Communication between applications Process-to-process delivery Client/server concept Local host Remote host 3
Process-to-Process Delivery Same host, multiple applications 4
Addressing in TCP/IP 5
Logical and port addresses 6
Addressing the processes Port numbers Organised by a central authority (IANA) 7
IP addresses and port numbers 8
Socket addresses Combination of IP address & port number Unique for each process on the host 9
Transmission Control Protocol (TCP) Connection-oriented Sessions Byte stream service Reliable Flow control Error control Retransmissions Congestion control 10
TCP header format 11
Exercise: Fill in the header. 053200170000123400004321500207FF... 0x0532 0x0017 0x00001234 0x00004321 0x5 0x002 0x07FF 12
Sending and receiving buffers 13
... turned into Segments Sequence numbers 14
TCP operation Connection establishment Three-way handshake Data transfer Flow control ( congestion control) Error control Connection termination Three-way handshake Half-close 15
Connection establishment 16
Data transfer 17
Connection termination 18
Half-close 19
Error control Reliable transport layer service Provided by TCP 20
Error control in TCP Checksum Acknowledgement ACK recieved data Retransmission After time-out RTO = f(rtt) After 3 duplicate ACK Fast retransmission 21
Normal operation 22
Lost segment 23
Fast retransmission 24
See you in 15 :) After the break Network performance Congestion control 25
Network performance Bandwidth Bits per second (capacity) Throughput Efficiency, always less than capacity (<1) Latency (Delay) Transmission, propagation, processing, queueing Jitter real-time data! 26
Exercise: Find the delays. Given: Packet size 1 MB Bandwidth 200 Kbps Propagation speed 2x10 8 m/s Link length 2.000 km Transmission delay? Propagation delay? = = = 8 10 200 10 / = 2 10 2 10 / 27
Bandwidth-delay product How much data can fill the link Important for congestion avoidance Delay = Round Trip Time (RTT) Burst = 2 * bandwidth * delay 28
Bandwidth-delay product bandwidth: 5 bps, delay: 5s bandwidth x delay = 25 bits 29
Delay and throughput Related to network load Normal operation vs. congestion 30
Congestion control Avoiding and eliminating congestion Open-loop = proactive Closed-loop = reactive 31
Closed-loop congestion control (1) Backpressure 32
Closed-loop congestion control (2) Choke packet 33
Congestion Control in TCP Congestion window Sliding window (byte-oriented) Variable size Hybrid impl. (Go-back-N & Selective repeat) Slow start (state) Congestion avoidance (state) Congestion detection (event to act upon) 34
Congestion window 35
Slow start: Exponential increase 36
Congestion avoidance: Additive increase 37
Reaction to congestion detection Detection by time-out Probably both channels congested New slow start phase Detection by three ACK Probably sending channel congested only New congestion avoidance phase 38
TCP congestion policy: Summary 39
TCP congestion policy: Example 40
Coming Up Special Topic: Quality of Service (QoS) [ed.4 ch.24.1+5-6] [ed.5 ch.30.1-2] Real-time interactive audio/video [ed.4 ch.29.5] [ed.5 ch.28.3.3] RTP/RTCP, UDP [ed.4 ch.29.6-7+23.2] [ed.5 ch.28.4.1-3+24.2] Special Topic: Voice over IP (VoIP) [ed.4 ch.29.8] [ed.5 ch.28.4.4-5] 41