Ch 3. Transport Layer Myungchul Kim

Slides:



Advertisements
Similar presentations
Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
Advertisements

Transport Layer3-1 TCP. Transport Layer3-2 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data flow in same connection.
3-1 TCP Protocol r point-to-point: m one sender, one receiver r reliable, in-order byte steam: m no “message boundaries” r pipelined: m TCP congestion.
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
1 Transport Layer Lecture 9 Imran Ahmed University of Management & Technology.
Chapter 3 Transport Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 11.
Transport Layer3-1 Summary of Reliable Data Transfer Checksums help us detect errors ACKs and NAKs help us deal with errors If ACK/NAK has errors sender.
Week 9 TCP9-1 Week 9 TCP 3 outline r 3.5 Connection-oriented transport: TCP m segment structure m reliable data transfer m flow control m connection management.
Transport Layer1 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r reliable, in-order byte steam: m no “message boundaries” r pipelined: m TCP congestion.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley Chapter3_2.
CHAPTER 3. Transport Layer 3-2 Transport services and protocols provide logical communication between app processes running on different hosts transport.
Transport Layer 3-1 Transport services and protocols  provide logical communication between app processes running on different hosts  transport protocols.
Introduction 1 Lecture 14 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
EEC-484/584 Computer Networks Lecture 12 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Chapter 3 outline 3.1 transport-layer services
Chapter 3 Transport Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 10.
Chapter 3 Transport Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 12.
EEC-484/584 Computer Networks Lecture 12 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Chapter 3: Transport Layer Part A
10/7/ /9/2003 TCP and Congestion Control October 7-9, 2003.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
Transport Layer Transport Layer: TCP. Transport Layer 3-2 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
Week 9 TCP9-1 Week 9 TCP 3 outline r 3.5 Connection-oriented transport: TCP m segment structure m reliable data transfer m flow control m connection management.
Announcement Project 2 out –Much harder than project 1, start early! Homework 2 due next Tu.
Transport Layer3-1 Data Communication and Networks Lecture 7 Transport Protocols: TCP October 21, 2004.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
Announcement Homework 1 graded Homework 2 out –Due in a week, 1/30 Project 2 problems –Minet can only compile w/ old version of gcc (2.96). –Only tlab-login.
2: Application Layer 1 1DT066 Distributed Information System Chapter 3 Transport Layer.
9/30/ /2/2003 The Transport Layer September 30-October 2, 2003.
3-1 Transport services and protocols r provide logical communication between app processes running on different hosts r transport protocols run in end.
Transport Layer Transport Layer. Transport Layer 3-2 Chapter 3 Transport Layer Computer Networking: A Top Down Approach Featuring the Internet,
Process-to-Process Delivery:
3: Transport Layer3b-1 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Transport Layer1 Reliable Transfer Ram Dantu (compiled from various text books)
TCOM 509 – Internet Protocols (TCP/IP) Lecture 04_b Transport Protocols - TCP Instructor: Dr. Li-Chuan Chen Date: 09/22/2003 Based in part upon slides.
17-1 Last time □ UDP socket programming ♦ DatagramSocket, DatagramPacket □ TCP ♦ Sequence numbers, ACKs ♦ RTT, DevRTT, timeout calculations ♦ Reliable.
ECE453 – Introduction to Computer Networks Lecture 14 – Transport Layer (I)
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
Transport Layer Goals: Overview:
1 Transport Layer Lecture 10 Imran Ahmed University of Management & Technology.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Computer Networks23-1 PART 5 Transport Layer. Computer Networks23-2 Position of Transport Layer Responsible for the delivery of a message from one process.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Transport Layer3-1 Transport Layer Our lives begin to end, the day we become silent about things that matter.
Chapter 3 Transport Layer Tami Meredith. A protocol defines: 1. Message Format (Syntax) 2. Rules of Communication (Semantics) 3. Synchronisation and other.
Transport Layer 3-1 Internet Transport Layer Lecture 8 Dr. Najla Al-Nabhan.
Transport Layer: Sliding Window Reliability
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
NUS.SOC.CS2105 Ooi Wei Tsang Application Transport Network Link Physical you are still here.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Ch 3. Transport Layer (from Computer Networking by Jim Kurose and Keith Ross) Myungchul Kim
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 3: Transport.
Transport Layer3-1 Transport Layer If you are going through Hell Keep going.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
CSEN 404 Transport Layer II Amr El Mougy Lamia AlBadrawy.
Ch 3. Transport Layer Myungchul Kim
Ch 3. Transport Layer Myungchul Kim
Chapter 3 outline 3.1 Transport-layer services
Introduction to Networks
Review: UDP demultiplexing TCP demultiplexing Multiplexing?
TCP Overview.
The Transport Layer Reliability
Chapter 3 outline 3.1 Transport-layer services
Presentation transcript:

Ch 3. Transport Layer Myungchul Kim

2 Transport-Layer Service – A transport-layer protocol: logical communications between application processes running on different hosts. – Processes vs hosts – A transport protocol can offer reliable data transfer service to an application even when the underlying ntwork protocol is unreliable. – IP, a best-effort delivery service: logical communications between hosts, unreliable service – Extending host-to-host delivery to process-to-process delivery is called transport-layer multiplexing and demultiplexing.

3

4 Multiplexing and demultiplexing – Demultiplexing: delivering the data in a transport-layer segment to the correct socket – Multiplexing: passing the segments to the network layer – 16 bit number for port number including 1 to 1023 for well-known port numbers

5 - Each socket in the host could be assigned a port number. - A UDP socket is identified by a destination IP address and destination port number - A TCP socket is identifed by a four-tuple

6

7

8 Connectionless Transport: UDP – Multiplexing/demultiplexing and light error checking – No handshaking – Finer application-level control over what data is sent, and when – No connection establishment – No connection state – Small packet header overhead: TCP 20 bytes of header and UDP 8 bytes of overhead – TCP is increasingly being used for streaming media transport – The lack of congesting control in UDP?

9

10 – UDP checksum: the 1’s complement of the sum of all the 16-bit words in the segment at the sender -> if no errors are introduced into the packet, the sum at the receiver will be all 1’s. – Errors in a link-layer or a router’s memory

11 Principles of reliable data transfer – Unidirection data transfer

12 o Reliable data transfer over a perfectly reliable channel rdt1.0

13 o Reliable data transfer over a channel with bit errors rdt2.0 – Rdt1.0: perfectly reliable channel, no limit of receiving speed – Error detection and Acknowledgement (ack, nak) – Automatic Repeat reQuest (ARQ) protocols; error detection, receiver feedback and retransmission – Stop-and-wait protocol

14

15 o Reliable data transfer over a channel with bit errors rdt2.1 – Rdt 2.0: ack or nak packet could be corrupted – Sequence number of 0 or 1 – Duplicate acks: a sender that receives two ACKs for the same packet knows that receivers did not correctly receive the packets following the duplicated acked packet.

16

17

18 o Reliable data transfer over a channel with bit errors rdt2.2 – a NAK-free protocol – same functionality as rdt2.1, using ACKs only – instead of NAK, receiver sends ACK for last pkt received OK  receiver must explicitly include seq # of pkt being ACKed – duplicate ACK at sender results in same action as NAK: retransmit current pkt

19

20

21 o Reliable data transfer over a lossy channel with bit errors rdt3.0 – Rdt 2.0: packet loss – Countdown timer – Alternating-bit protocol

22

23

24 Pipelined reliable data transfer protocols – Rdt3.0: performance problem due to a stop-and-wait protocol – Transmission delay = L/R = 8000 bits/packet / 10 9 bits/sec = 8 microseconds. where R= 1 Gbps, L = 1,000 bytes – Utilization of sender U sender = L/R / (RTT + L/R) =.008 / = where RTT = 30 milliseconds - Effective throughput of only 267kbps for a 1 Gbps link - Pipelining: the sender is allowed to send multiple packets without waiting for acknowledgements.

25

26 Go-Back-N (GBN) – Window size – A sliding window protocol – Receipt of an ack at the sender: Cumulative acknowledgement – The receiver discards out-of-order packets -> no buffers at the receiver

27

28

29

30 Selective Repeat (SR) – The receiver individually acknowledge correctly received packets. – The sender and receiver will not always have an identical view of what has been received correctly and what has not.

31

32

33 Connection-oriented Transport: TCP – Full-duplex service – Point-to-point – Three-way handshake – Maximum segment size (MSS) – Maximum transmission unit (MTU)

34

35 – Cumulative acknowledgements – The acknowledgement number that Host A puts in its segment is the sequence number of the next byte Host A is expecting from Host B.

36

37 Round-trip time estimation and timeout – EstimatedRTT = (1-α) * EstimatedRTT + α * SampleRTT – α = – DevRTT = (1 -β)*DevRTT + β * |SampleRTT – EstimatedRTT| – TimeoutInterval = EstimatedRTT + 4* DevRTT

38 Reliable data transfer – A single retransmission timer; associate with the oldest unacknowledged segment – TCP uses cumulative acknowledgement

39

40

41

42

43 o Doubling the Timeout Interval – Each time TCP retransmits, it sets the next timeout interval to twice the previous value. o Fast retransmit – A duplicate ACK is an ACK that reacknowledgements a segment for which the sender has already received an earlier acknowledgement. – Three duplicate ACKs -> TCP sender performs a fast retransmit, retransmitting the missing segment before that segment’s timer expires. – why three? o TCP is a hybrid of GBN and SR protocols.

44

45 Flow control – Eliminate the possibility of the sender overflowing the receiver’s buffer – Sender maintains a variable called the receive window – LastByteRead: the number of the last byte in the data stream read from the buffer by the application process in B – LastByteRcvd: the number of the last byte in the data stream that has arrived from the network and has been placed in the receive buffer at B

46 – LastByteRcvd – LastByteRead ≤ RcvBuffer – RcvWindow = RcvBuffer – [ LastByteRcvd – LastByteRead] – No overflow at the receive buffer : LastByteSent – LastByteAcked ≤ RcvWindow (at the sender) – Host A continues to send segments with one data byte when B’s receive window is zero.

47 TCP connection management – Three-way handshake

48

49

50 Principles of congestion control – Scenario 1

51

52 – Scenario 2 – Offered load to the network

53

54 – Scenario 3

55

56 Approaches to congestion control o End-to-end congestion control – The network layer provides no explicit support to the transport layer for congestion control purpose. – Congestion is inferred on observed network behavior such packet loss and delay. – TCP o Network-assisted congestion control – ATM Available bit-rate (ABR) congestion control

57

58 Network-assisted congestion-control example: ATM ABR congestion control – Explicitly signaling to the sender to reduce its rate when the switch becomes congested. – Resource-management cells (RM cells) o Signaling congestion-related information – Explicit forward congestion indication (EFCI) bit in data cells – Congestion indication (CI) and No increase (NI) bits in RM cells – Explict rate setting

59 TCP congestion control – Congestion window – LastByteSent – LastByteAcked ≤ min{CongWin, RcvWindow} – At the beginning: sending rate = CongWin / RTT o Additive-Increase, Multiplicative-Decrease (AIMD) – Halving the current value of CongWin after a loss event – Not allowed to drop below 1 MSS – Increase CongWin by 1 MSS every round-trip time – Congestion avoidance

60 o Slow start – A TCP sender increases its rate exponentially by doubling its value of CongWin every RTT

61 o Reaction to timeout events – A triple duplicate ACK -> fast recovery: ½ CongWin – A timeout -> a slow start – Vegas: the longer the RTT of the packets, the greater the congestion in the routers

62 Fairness

63 – Fairness and UDP – Fairness and parallel TCP connections