1. Trang chủ
  2. » Công Nghệ Thông Tin

Lecture Computer networks 1: Chapter 3 - Phạm Trần Vũ

107 48 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 107
Dung lượng 1,86 MB

Nội dung

Lectured Computer networks 1 - Chapter 3: Transport layer has contents: Transport-layer services, multiplexing and demultiplexing, principles of reliable data transfer, principles of congestion control,... and other contents.

Computer Networks (Mạng Máy Tính 1) Lectured by: Dr Phạm Trần Vũ CuuDuongThanCong.com https://fb.com/tailieudientucntt Chapter Transport Layer Computer Networking: A Top Down Approach , 5th edition Jim Kurose, Keith Ross Addison-Wesley, April 2009 All material copyright 1996-2009 J.F Kurose and K.W Ross, All Rights Reserved CuuDuongThanCong.com Introduction https://fb.com/tailieudientucntt 1-2 Chapter 3: Transport Layer Our goals:  understand principles behind transport layer services:     multiplexing/demultipl exing reliable data transfer flow control congestion control CuuDuongThanCong.com  learn about transport layer protocols in the Internet:    UDP: connectionless transport TCP: connection-oriented transport TCP congestion control Transport Layer https://fb.com/tailieudientucntt 3-3 Chapter outline  3.1 Transport-layer services  3.2 Multiplexing and demultiplexing  3.3 Connectionless transport: UDP  3.4 Principles of reliable data transfer CuuDuongThanCong.com  3.5 Connection-oriented transport: TCP     segment structure reliable data transfer flow control connection management  3.6 Principles of congestion control  3.7 TCP congestion control Transport Layer https://fb.com/tailieudientucntt 3-4 Transport services and protocols  provide logical communication between app processes running on different hosts  transport protocols run in end systems  send side: breaks app messages into segments, passes to network layer  rcv side: reassembles segments into messages, passes to app layer  more than one transport protocol available to apps  Internet: TCP and UDP CuuDuongThanCong.com application transport network data link physical application transport network data link physical Transport Layer https://fb.com/tailieudientucntt 3-5 Transport vs network layer  network layer: logical Household analogy:  transport layer: logical  processes = kids communication between hosts communication between processes  relies on, enhances, network layer services CuuDuongThanCong.com 12 kids sending letters to 12 kids  app messages = letters in envelopes  hosts = houses  transport protocol = Ann and Bill  network-layer protocol = postal service Transport Layer https://fb.com/tailieudientucntt 3-6 Internet transport-layer protocols  reliable, in-order delivery (TCP)    congestion control flow control connection setup  unreliable, unordered delivery: UDP  no-frills extension of “best-effort” IP application transport network data link physical network data link physical network data link physical network data link physicalnetwork network data link physical data link physical  services not available:  delay guarantees  bandwidth guarantees CuuDuongThanCong.com network data link physical application transport network data link physical Transport Layer https://fb.com/tailieudientucntt 3-7 Chapter outline  3.1 Transport-layer services  3.2 Multiplexing and demultiplexing  3.3 Connectionless transport: UDP  3.4 Principles of reliable data transfer CuuDuongThanCong.com  3.5 Connection-oriented transport: TCP     segment structure reliable data transfer flow control connection management  3.6 Principles of congestion control  3.7 TCP congestion control Transport Layer https://fb.com/tailieudientucntt 3-8 Multiplexing/demultiplexing Multiplexing at send host: gathering data from multiple sockets, enveloping data with header (later used for demultiplexing) Demultiplexing at rcv host: delivering received segments to correct socket = socket application = process P3 transport network link P1 P1 application P2 P4 application transport transport network network link link physical host CuuDuongThanCong.com physical physical host host Transport Layer https://fb.com/tailieudientucntt 3-9 How demultiplexing works  host receives IP datagrams each datagram has source IP address, destination IP address  each datagram carries transport-layer segment  each segment has source, destination port number  host uses IP addresses & port numbers to direct segment to appropriate socket  32 bits source port # dest port # other header fields application data (message) TCP/UDP segment format CuuDuongThanCong.com Transport Layer 3-10 https://fb.com/tailieudientucntt Chapter outline  3.1 Transport-layer services  3.2 Multiplexing and demultiplexing  3.3 Connectionless transport: UDP  3.4 Principles of reliable data transfer CuuDuongThanCong.com  3.5 Connection-oriented transport: TCP     segment structure reliable data transfer flow control connection management  3.6 Principles of congestion control  3.7 TCP congestion control Transport Layer 3-93 https://fb.com/tailieudientucntt TCP congestion control: additive increase, multiplicative decrease Approach: increase transmission rate (window size), probing for usable bandwidth, until loss occurs  additive increase: increase CongWin by MSS every RTT until loss detected  multiplicative decrease: cut CongWin in half after loss Saw tooth behavior: probing for bandwidth CuuDuongThanCong.com congestion window size  congestion window 24 Kbytes 16 Kbytes Kbytes time time Transport Layer 3-94 https://fb.com/tailieudientucntt TCP Congestion Control: details  sender limits transmission: LastByteSent-LastByteAcked  CongWin  Roughly, rate = CongWin Bytes/sec RTT  CongWin is dynamic, function of perceived network congestion How does sender perceive congestion?  loss event = timeout or duplicate acks  TCP sender reduces rate (CongWin) after loss event three mechanisms:    CuuDuongThanCong.com AIMD slow start conservative after timeout events Transport Layer 3-95 https://fb.com/tailieudientucntt TCP Slow Start  When connection begins, CongWin = MSS   Example: MSS = 500 bytes & RTT = 200 msec initial rate = 20 kbps  When connection begins, increase rate exponentially fast until first loss event  available bandwidth may be >> MSS/RTT  desirable to quickly ramp up to respectable rate CuuDuongThanCong.com Transport Layer 3-96 https://fb.com/tailieudientucntt TCP Slow Start (more)  When connection   Host B RTT begins, increase rate exponentially until first loss event: Host A double CongWin every RTT done by incrementing CongWin for every ACK received  Summary: initial rate is slow but ramps up exponentially fast CuuDuongThanCong.com time Transport Layer 3-97 https://fb.com/tailieudientucntt Refinement: inferring loss  After dup ACKs: CongWin is cut in half  window then grows linearly  But after timeout event:  CongWin instead set to MSS;  window then grows exponentially  to a threshold, then grows linearly  CuuDuongThanCong.com Philosophy:  dup ACKs indicates network capable of delivering some segments  timeout indicates a “more alarming” congestion scenario Transport Layer 3-98 https://fb.com/tailieudientucntt Refinement Q: When should the exponential increase switch to linear? A: When CongWin gets to 1/2 of its value before timeout Implementation:  Variable Threshold  At loss event, Threshold is set to 1/2 of CongWin just before loss event CuuDuongThanCong.com Transport Layer 3-99 https://fb.com/tailieudientucntt Summary: TCP Congestion Control  When CongWin is below Threshold, sender in slow-start phase, window grows exponentially  When CongWin is above Threshold, sender is in congestion-avoidance phase, window grows linearly  When a triple duplicate ACK occurs, Threshold set to CongWin/2 and CongWin set to Threshold  When timeout occurs, Threshold set to CongWin/2 and CongWin is set to MSS CuuDuongThanCong.com Transport Layer 3-100 https://fb.com/tailieudientucntt TCP sender congestion control State Event TCP Sender Action Commentary Slow Start (SS) ACK receipt for previously unacked data CongWin = CongWin + MSS, If (CongWin > Threshold) set state to “Congestion Avoidance” Resulting in a doubling of CongWin every RTT Congestion Avoidance (CA) ACK receipt for previously unacked data CongWin = CongWin+MSS * (MSS/CongWin) Additive increase, resulting in increase of CongWin by MSS every RTT SS or CA Loss event detected by triple duplicate ACK Threshold = CongWin/2, CongWin = Threshold, Set state to “Congestion Avoidance” Fast recovery, implementing multiplicative decrease CongWin will not drop below MSS SS or CA Timeout Threshold = CongWin/2, CongWin = MSS, Set state to “Slow Start” Enter slow start SS or CA Duplicate ACK Increment duplicate ACK count for segment being acked CongWin and Threshold not changed CuuDuongThanCong.com Transport Layer 3-101 https://fb.com/tailieudientucntt TCP throughput  What‟s the average throughout of TCP as a function of window size and RTT?  Ignore slow start  Let W be the window size when loss occurs  When window is W, throughput is W/RTT  Just after loss, window drops to W/2, throughput to W/2RTT  Average throughout: 75 W/RTT CuuDuongThanCong.com Transport Layer 3-102 https://fb.com/tailieudientucntt TCP Futures: TCP over “long, fat pipes”  Example: 1500 byte segments, 100ms RTT, want 10 Gbps throughput  Requires window size W = 83,333 in-flight segments  Throughput in terms of loss rate: 1.22  MSS RTT L  ➜ L = 2·10-10 Wow  New versions of TCP for high-speed CuuDuongThanCong.com Transport Layer 3-103 https://fb.com/tailieudientucntt TCP Fairness Fairness goal: if K TCP sessions share same bottleneck link of bandwidth R, each should have average rate of R/K TCP connection TCP connection CuuDuongThanCong.com bottleneck router capacity R Transport Layer 3-104 https://fb.com/tailieudientucntt Why is TCP fair? Two competing sessions:  Additive increase gives slope of 1, as throughout increases  multiplicative decrease decreases throughput proportionally equal bandwidth share R loss: decrease window by factor of congestion avoidance: additive increase loss: decrease window by factor of congestion avoidance: additive increase Connection throughput R CuuDuongThanCong.com Transport Layer 3-105 https://fb.com/tailieudientucntt Fairness (more) Fairness and UDP  Multimedia apps often not use TCP  not want rate throttled by congestion control  Instead use UDP:  pump audio/video at constant rate, tolerate packet loss  Research area: TCP friendly CuuDuongThanCong.com Fairness and parallel TCP connections  nothing prevents app from opening parallel connections between hosts  Web browsers this  Example: link of rate R supporting connections;   new app asks for TCP, gets rate R/10 new app asks for 11 TCPs, gets R/2 ! Transport Layer 3-106 https://fb.com/tailieudientucntt Chapter 3: Summary  principles behind transport layer services:  multiplexing, demultiplexing  reliable data transfer  flow control  congestion control  instantiation and implementation in the Internet  UDP  TCP CuuDuongThanCong.com Next:  leaving the network “edge” (application, transport layers)  into the network “core” Transport Layer 3-107 https://fb.com/tailieudientucntt ... connection-oriented transport TCP congestion control Transport Layer https://fb.com/tailieudientucntt 3- 3 Chapter outline  3. 1 Transport-layer services  3. 2 Multiplexing and demultiplexing  3. 3 Connectionless... IP: C DP: 80 S-IP: B D-IP:C Client IP:B Transport Layer 3- 15 https://fb.com/tailieudientucntt Chapter outline  3. 1 Transport-layer services  3. 2 Multiplexing and demultiplexing  3. 3 Connectionless... https://fb.com/tailieudientucntt 3- 7 Chapter outline  3. 1 Transport-layer services  3. 2 Multiplexing and demultiplexing  3. 3 Connectionless transport: UDP  3. 4 Principles of reliable data

Ngày đăng: 11/01/2020, 00:05

TỪ KHÓA LIÊN QUAN