@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their original slides that accompany the book “Computer Networking, A Top-Down Approach” All material copyright J.F Kurose and K.W. Ross, All Rights Reserved CS 283Computer Networks Spring 2012 Instructor: Yuan Xue
@Yuan Xue Transport Layer Outline Overview 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 UDP: Connectionless transport 3.4 Principles of reliable data transfer 3.5 Connection-oriented transport: TCP Demultiplexing segment structure reliable data transfer flow control connection management Congestion control 3.6 Principles of congestion control 3.7 TCP congestion control
@Yuan Xue Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control! manifestations: lost packets (buffer overflow at routers) long delays (queueing in router buffers) a top-10 problem!
@Yuan Xue Rate Allocation Problem two senders, two receivers one router, infinite buffers no retransmission unlimited shared output link buffers Host A in : original data Host B out What should be the sending rate from Host A and Host B? What will happen if A/B sends faster than this rate? How should A/B finds out? 10Mbps
@Yuan Xue Scenario 1 two senders, two receivers one router, infinite buffers no retransmission What should be the sending rate from Host A and Host B? C/2 What will happen if A/B sends faster than this rate? Delay (depending on traffic pattern) unlimited shared output link buffers Host A in : original data Host B out
@Yuan Xue Scenario 2 one router, finite buffers sender retransmission of lost packet finite shared output link buffers Host A in : original data Host B ou t ' in : original data, plus retransmitted data
@Yuan Xue Causes/costs of congestion: scenario 2 a) always: (goodput) b) “perfect” retransmission only when loss: 3) retransmission of delayed (not lost) packet makes larger (than perfect case) for same in out = in out > in out “costs” of congestion: r more work (retrans) for given “goodput” r unneeded retransmissions: link carries multiple copies of pkt R/2 in out b. R/2 in out a. R/2 in out c. R/4 R/3
@Yuan Xue Scenario 3 four senders Fairness multihop paths finite shared output link buffers Host A in : original data Host B out ' in : original data, plus retransmitted data
@Yuan Xue Utility Model Utility Function Degree of satisfaction Flow with rate utility function Assumptions Increasing Continuously differentiable Strictly concave Aggregated Utility Social welfare
@Yuan Xue Optimization Objective Maximize aggregated utility Different fairness models Proportional fairness Max-min fairness Optimal resource utilization …
@Yuan Xue Optimization Problem of Resource Allocation/Congestion Control Optimization Objective Optimal resource allocation Optimization Constraint Resource constraint Putting things together
@Yuan Xue Causes/costs of congestion: scenario 3 another “cost” of congestion: r when packet dropped, any “upstream transmission capacity used for that packet was wasted! HostAHostA HostBHostB o u t
@Yuan Xue Approaches towards congestion control end-end congestion control: no explicit feedback from network congestion inferred from end-system observed loss, delay approach taken by TCP network-assisted congestion control: routers provide feedback to end systems single bit indicating congestion (SNA, DECbit, TCP/IP ECN, ATM) explicit rate sender should send at two broad approaches towards congestion control: