ITTC Introduction to Communication Networks The University of Kansas EECS 563 End-to-End Transport

Size: px
Start display at page:

Download "ITTC Introduction to Communication Networks The University of Kansas EECS 563 End-to-End Transport"

Transcription

1 Introduction to Communication Networks The University of Kansas EECS 563 End-to-End Transport James P.G. Sterbenz Department of Electrical Engineering & Computer Science Information Technology & Telecommunications Research Center The University of Kansas 26 September 2017 rev James P.G. Sterbenz

2 End-to-End Transport Outline TL.1 Transport services and interfaces TL.2 End-to-end functions and mechanisms TL.3 Internet transport protocols 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-2

3 End-to-End Transport Services and Interfaces TL.1 Transport services and interfaces TL.2 End-to-end functions and mechanisms TL.3 Internet transport protocols 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-3

4 L8 L7 L5 L4 L3 L2.5 L2 L1.5 L1 Transport Layer Hybrid Layer/Plane Cube data plane management control plane social application session transport network virtual link link MAC physical Layer 4: end-to-end data transfer in data and control planes 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-4 p l a n e

5 Transport Layer Motivation CPU M app ES1 CPU M app ES2 Why do we need a transport protocol? 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-5

6 CPU M app Transport Layer Ideal Network Model R = CPU M app ES1 D = 0 Ideal network model zero end-to-end delay unlimited end-to-end bandwidth perfect end-to-end transmission (no errors) But what? ES2 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-6

7 CPU M app ES1 Transport Layer Ideal Network Model and Motivation Real networks are not ideal Need an end-to-end protocol to R handle delay between communicating systems control transmission rate for bandwidth-limited paths perform error recovery D CPU M app ES2 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-7

8 Transport Layer Transport Association Definition CPU intermediate system network CPU M app M app end system end system Transport association between end systems transport connection in the case of connection state transport flow in the case of soft state or stateless may be point-to-point or multipoint 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-8

9 Transport Layer End-to-End Protocol application application session session transport transport network network network network link link link link end system intermediate system Transport protocol network link intermediate system intermediate system network is responsible for end-to-end transfer of a TPDU note to Bell-heads: not layer 2 transport network end system 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-9

10 Transport Layer Service and Interfaces 1 Transport layer (L4) service to application layer (L7) Transfer PDU (protocol data unit) E2E (end-to-end) sender: encapsulate ADU into TPDU and transmit receiver: receive TPDU and decapsulate into ADU Multiplexing to application on end system Optional reliability: error checking/correction/retransmission need depends on application may be done application-to-application (A2A) Flow control between end systems assistance for network congestion control 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-10

11 Transport Layer Service and Interfaces 2 Transport layer uses service of network layer (L3) network layer establishes a path through the network Transport mechanisms depend on L3 service datagrams vs. connections best effort vs. QoS error characteristics strength and symmetry of connectivity What are the Internet assumptions & service model? 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-11

12 Transport Layer Service and Interfaces 3 Transport layer uses service of network layer (L3) network layer establishes a path through the network Transport mechanisms depend on L3 service datagrams vs. connections best effort vs. QoS error characteristics: low error rate, ordered delivery strong and symmetric connectivity Internet assumptions & service model 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-12

13 Transport Layer Service and Interfaces Transport PDU encapsulates application data unit ADU: application data unit TPDU: transport protocol data unit (segment if TCP or UDP) TPDU = header + ADU + opt. trailer (protocol dependent) application layer ADU transport layer application layer ADU transport layer H ADU T TPDU H ADU T network layer network layer 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-13

14 Transport Layer Functional Placement end system end system CPU mem TPDUs mem CPU network interface switch network interface frames packet frames Transport layer functionality only in end system host software or sometimes offloaded to network interface (NIC) EECS September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-14

15 Transport Layer End-to-End vs. Hop-by-Hop Transport layer is E2E analog of HBH link layer link layer (L2) transfers frames HBH network layer (L3) determines the path of per-link hops 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-15

16 End-to-End vs. Hop-by-Hop End-to-End Arguments The end-to-end arguments (1 st half) Some functions can be correctly and completely implemented only at the endpoints of a communication association Providing these functions as features (only) in the network is not possible paraphrased from [Saltzer, Reed, Clark 1981] 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-16

17 End-to-End vs. Hop-by-Hop End-to-End Arguments f f -1 g g g f 1 f 1 f 2 f 3 f 2 f 3 g Hop-by-Hop functions do not compose end-to-end why? 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-17

18 End-to-End vs. Hop-by-Hop End-to-End Arguments f f -1 g g g f 1 f 1 f 2 f 3 f 2 f 3 g Hop-by-Hop functions do not compose end-to-end between HBH boundaries, function f is defeated (g) e.g. error control: errors may occur within switches e.g. encryption: cleartext within switches may be snooped These functions must be done E2E doing them HBH is redundant, and may lower performance 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-18

19 End-to-End vs. Hop-by-Hop End-to-End Arguments The end-to-end arguments (2 nd half) performance enhancement corollary Functions should be duplicated hop-by-hop if there is an overall (end-to-end) performance benefit paraphrased from [Saltzer, Reed, Clark 1981] 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-19

20 End-to-End vs. Hop-by-Hop Hop-by-Hop Performance Enhancement E2E Argument (1 st half) says what must be E2E HBH Performance enhancement (2 nd half) functions should duplicated HBH if overall E2E benefit Analysis is required to determine cost/benefit added functionality in net may add overhead not offset 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-20

21 End-to-End vs. Hop-by-Hop Performance Enhancement Example 1 E2E vs. HBH error control for reliable communication E2E argument says error control must be done E2E e.g. E2E ARQ (error check code and retransmit if necessary but should HBH error control also be done? 100 m wireless LAN Univ. Kansas km fiber WAN 100 m fiber LAN HK PolyU 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-21

22 End-to-End vs. Hop-by-Hop Performance Enhancement Example 2 E2E vs. HBH error control for reliable communication E2E argument says error control must be done E2E e.g. E2E ARQ (error check code and retransmit if necessary but should HBH error control also be done? 100 m wireless LAN Univ. Kansas km fiber WAN 100 m fiber LAN HK PolyU Effect of high loss rate on wireless link ~250 ms RTT retransmission for every corrupted packet 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-22

23 End-to-End vs. Hop-by-Hop Performance Enhancement Example 3 E2E vs. HBH error control for reliable communication E2E argument says error control must be done E2E e.g. E2E ARQ (error check code and retransmit if necessary but should HBH error control also be done? Yes! 100 m wireless LAN Univ. Kansas km fiber WAN 100 m fiber LAN HK PolyU Effect of high loss rate on wireless link ~250 ms RTT retransmission for every corrupted packet Error control on wireless link reduces to ~1μs RTT shorter control loop results in dramatically lower E2E delay 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-23

24 End-to-End vs. Hop-by-Hop Security Security and information assurance must be E2E information in the clear inside network nodes not secure Justification for HBH security mechanisms link security may be good enough for some wireless link encryption for WEP (wire equivalent protection) note: WEP not strong enough subnetwork or edge-to-edge security for VPNs assures enterprise security across open network but not individual flow security 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-24

25 End-to-End Transport Functions and Mechanisms TL.1 Transport services and interfaces TL.2 End-to-end functions and mechanisms TL.3 Internet transport protocols 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-25

26 Delimits TPDU E2E Framing Structure and Fields physical layer is coded bit stream receiver needs to delimit frames Header: how to process the TPDU protocol processing options demultiplexing fields: destination application identifier typically called port (Internet protocol suite terminology) error check (CRC or checksum) for reliability 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-26

27 E2E Multiplexing Concepts Multiple applications use a particular TP Applications multiplexed into sending TP need to identify which application why? 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-27

28 E2E Multiplexing Concepts Multiple applications use a particular TP Applications multiplexed into sending TP need to identify which application using identifier typically called a port TP demultiplexes TPDU (segment) sending to correct application using port number 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-28

29 E2E Functions and Mechanisms Transport Protocol Service Categories Transfer mode connectionless datagram connection-oriented transaction continuous media streaming Reliability loss tolerance Delivery order ordered unordered Traffic characteristics 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-29

30 E2E Transfer Modes Alternatives End-to-end transfer modes datagram connection stream transaction 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-30

31 E2E Transfer Modes Datagram Independent PDUs each has fully self-describing header no end-to-end flow state needed to forward t p +t d 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-31

32 E2E Transfer Modes Connection Explicit connection setup 3-way handshake SETUP / CONNECT / ACK why? t r ~t RTT ~t RTT SETUP CONNECT ACK ~1.5t RTT RELEASE 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-32

33 E2E Transfer Modes Connection Explicit connection setup 3-way handshake SETUP / CONNECT / ACK both side have been acknowledged Data flow PDUs need connection or flow identifier used by nodes to look up state Release of resources and state explicit RELEASE time out state t r ~t RTT ~t RTT SETUP CONNECT ACK RELEASE ~1.5t RTT 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-33

34 Connection State Machine send/receive paths States idle establishing install state initialising state convergence steady state closing release state E2E Transfer Modes Connection State Machine issue SETUP originate SETUP request establishing RELEASE from app closing issue RELEASE CONNECT from net initialising 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-34 idle steady -state ACK from net receive SETUP from net requested issue CONNECT RELEASE from net closing issue RELEASE

35 E2E Transfer Modes Media Stream Various mechanisms to start stream explicit client request server push may or may not establish connection state Data flow synchronisation and control embedded or out-of-band More about this in Lecture MS RELEASE SETUP CONNECT REQUEST 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-35

36 E2E Transfer Modes Transaction Transaction request may or may not establish connection state explicit release of connection state optional Data returned Overlap to reduce latency request/response with control t r REQUEST RESPONSE RELEASE Recall: this is not how HTTP over TCP works 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-36

37 E2E Error Control Types of Errors What are the types of errors? 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-37

38 Bit errors types? Packet errors types? E2E Error Control Types of Errors 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-38

39 Bit errors Packet errors packet loss fragment loss burst loss packet misordering packet insertion packet duplication E2E Error Control Types of Errors 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-39

40 E2E Error Control Causes of Bit Errors Bit errors causes? 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-40

41 Bit errors flaky hardware wireless channels E2E Error Control Causes of Bit Errors noise and interference optical channels long-haul fiber links engineered on margin with FEC control of amplifier and regenerator cost More in Lecture PL 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-41

42 E2E Error Control Causes of Packet Loss Packet loss causes? 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-42

43 Packet loss E2E Error Control Causes of Packet Loss network buffer overflow or intentional drop more in Lecture TQ transport protocol packet discard when bit error 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-43

44 Packet loss E2E Error Control Causes of Packet Loss network buffer overflow or intentional drop more in Lecture TQ transport protocol packet discard when bit error Packet fragment loss causes? impact? 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-44

45 Packet loss E2E Error Control Causes of Packet Loss network buffer overflow or intentional drop more in Lecture TQ transport protocol packet discard when bit error Packet fragment loss loss of a piece of a fragmented packet effect: error multiplication loss of a fragment in net generally results in entire packet loss rare in Internet since router fragmentation rarely enabled 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-45

46 Packet burst loss causes? E2E Error Control Causes of Packet Burst Loss 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-46

47 Packet burst loss E2E Error Control Causes of Packet Burst Loss network buffer overflow during congestion with high rate flow having adjacent (non-interleaved) packets more in lecture TQ wireless channel fades more in lecture PL 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-47

48 E2E Error Control Causes of Packet Misordering Packet misordering causes? 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-48

49 Packet misordering E2E Error Control Causes of Packet Misordering multiple paths through switch or network non-deterministic paths through switch or network path reconfiguration after failure due to mobility due to load balancing more in lecture NL 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-49

50 Packet insertion meaning? causes? E2E Error Control Causes of Packet Insertion 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-50

51 Packet insertion E2E Error Control Causes of Packet Insertion undetectable header error packet appears that was destined elsewhere long packet life packet with same destination and sequence number still in net 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-51

52 Packet duplication causes? E2E Error Control Causes of Packet Duplication 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-52

53 Packet duplication E2E Error Control Causes of Packet Duplication retransmission but original still arrives 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-53

54 E2E Error Control ARQ Closed Loop Retransmission Automatic repeat request (ARQ) TPDUs are retransmitted for reliable transfer Acknowledgments are used to request retransmission alternatives? 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-54

55 E2E Error Control ARQ Closed Loop Retransmission Automatic repeat request (ARQ) TPDUs are retransmitted for reliable transfer Acknowledgments are used to request retransmission ACK: positive acknowledgement NAK (or NACK): negative acknowledgement tradeoff? 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-55

56 E2E Error Control ARQ Closed Loop Retransmission Automatic repeat request (ARQ) TPDUs are retransmitted for reliable transfer Acknowledgments are used to request retransmission ACK: positive acknowledgement NAK (or NACK): negative acknowledgement tradeoff between error rate and predictability Simplest ARQ mechanism? 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-56

57 E2E Error Control Closed Loop Retransmission: Stop-and-Wait Each TPDU is acknowledged 0 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-57 1

58 E2E Error Control Closed Loop Retransmission: Stop-and-Wait Each TPDU is acknowledged September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-58 2

59 E2E Error Control Closed Loop Retransmission: Stop-and-Wait Each TPDU is acknowledged subsequent TPDU waits on previous ACK disadvantages? A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-59 3

60 E2E Error Control Closed Loop Retransmission: Stop-and-Wait Each TPDU is acknowledged subsequent TPDU waits on previous ACK significant delay and underutilisation 1 RTT per TPDU serious penalty in long-delay environment A0 t ack September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-60

61 E2E Error Control Closed Loop Retransmission: Stop-and-Wait Each TPDU is acknowledged subsequent TPDU waits on previous ACK significant delay and underutilisation 1 RTT per TPDU serious penalty in long-delay environment sender timer t ack fires if ACK not received issues? A0 t ack September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-61

62 E2E Error Control Closed Loop Retransmission: Stop-and-Wait Each TPDU is acknowledged subsequent TPDU waits on previous ACK significant delay and underutilisation 1 RTT per TPDU serious penalty in long-delay environment sender timer t ack fires if ACK not received too conservative: issues? too aggressive: issues? A0 t ack September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-62

63 E2E Error Control Closed Loop Retransmission: Stop-and-Wait Each TPDU is acknowledged subsequent TPDU waits on previous ACK significant delay and underutilisation 1 RTT per TPDU serious penalty in long-delay environment sender timer t ack fires if ACK not received too conservative: unnecessary delay too aggressive: spurious retransmissions A0 t ack September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-63

64 E2E Error Control Closed Loop Retransmission: Stop-and-Wait Each TPDU is acknowledged subsequent TPDU waits on previous ACK significant delay and underutilisation 1 RTT per TPDU serious penalty in long-delay environment sender timer t ack fires if ACK not received too conservative: unnecessary delay too aggressive: spurious retransmissions How can we do better? A0 t ack A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-64

65 E2E Error Control Closed Loop Retransmission: Go-Back-n Go-back-n : pipeline transmissions 0 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-65 1

66 E2E Error Control Closed Loop Retransmission: Go-Back-n Go-back-n : pipeline transmissions + multiple TPDUs simultaneously in flight A0 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-66 2

67 E2E Error Control Closed Loop Retransmission: Go-Back-n Go-back-n : pipeline transmissions + multiple TPDUs simultaneously in flight TPDUs are sequentially acknowledged t ack A A1 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-67 3

68 E2E Error Control Closed Loop Retransmission: Go-Back-n Go-back-n : pipeline transmissions + multiple TPDUs simultaneously in flight TPDUs are sequentially acknowledged how is TPDU loss detected? t ack A0 A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-68 4

69 E2E Error Control Closed Loop Retransmission: Go-Back-n Go-back-n : pipeline transmissions + multiple TPDUs simultaneously in flight TPDUs are sequentially acknowledged o previous ACK retransmitted for subsequent TPDUs after loss out of sequence TPDU t ack A0 A1 A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-69 5

70 E2E Error Control Closed Loop Retransmission: Go-Back-n Go-back-n : pipeline transmissions + multiple TPDUs simultaneously in flight TPDUs are sequentially acknowledged o previous ACK retransmitted for subsequent TPDUs after loss out of sequence TPDU t ack A0 A1 A o sender timer fires if ACK not received A1 implication? 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-70 6

71 E2E Error Control Closed Loop Retransmission: Go-Back-n Go-back-n : pipeline transmissions + multiple TPDUs simultaneously in flight TPDUs are sequentially acknowledged o previous ACK retransmitted for subsequent TPDUs after loss out of sequence TPDU o sender timer fires if ACK not received reset transmission beginning at lost TPDU t ack A0 A1 A1 A1 A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-71 7

72 E2E Error Control Closed Loop Retransmission: Go-Back-n Go-back-n : pipeline transmissions + multiple TPDUs simultaneously in flight TPDUs are sequentially acknowledged o previous ACK retransmitted for subsequent TPDUs after loss out of sequence TPDU o sender timer fires if ACK not received reset transmission beginning at lost TPDU t ack A0 A1 4 5 A1 2 A1 3 2 A1 A2 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-72 8

73 E2E Error Control Closed Loop Retransmission: Go-Back-n Go-back-n : pipeline transmissions + multiple TPDUs simultaneously in flight TPDUs are sequentially acknowledged o previous ACK retransmitted for subsequent TPDUs after loss out of sequence TPDU o sender timer fires if ACK not received reset transmission beginning at lost TPDUs t ack A0 A1 4 5 A1 2 A1 3 2 A1 4 3 A2 A3 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-73 9

74 E2E Error Control Closed Loop Retransmission: Go-Back-n Go-back-n : pipeline transmissions + multiple TPDUs simultaneously in flight TPDUs are sequentially acknowledged o previous ACK retransmitted for subsequent TPDUs after loss out of sequence TPDU o sender timer fires if ACK not received reset transmission beginning at lost TPDU t ack A0 A1 4 5 A1 2 A1 3 2 A A2 A3 A4 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-74 10

75 E2E Error Control Closed Loop Retransmission: Go-Back-n Go-back-n : pipeline transmissions + multiple TPDUs simultaneously in flight TPDUs are sequentially acknowledged o previous ACK retransmitted for subsequent TPDUs after loss out of sequence TPDU o sender timer fires if ACK not received reset transmission beginning at lost TPDU t ack A0 A1 4 5 A1 2 A1 3 2 A A2 5 A3 6 A4 A5 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-75 11

76 E2E Error Control Closed Loop Retransmission: Go-Back-n Go-back-n : pipeline transmissions + multiple TPDUs simultaneously in flight TPDUs are sequentially acknowledged o previous ACK retransmitted for subsequent TPDUs after loss out of sequence TPDU o sender timer fires if ACK not received reset transmission beginning at lost TPDU disadvantages? t ack A0 A1 4 5 A1 2 A1 3 2 A A2 5 A3 6 A4 6 A5 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-76 12

77 E2E Error Control Closed Loop Retransmission: Go-Back-n Go-back-n : pipeline transmissions + multiple TPDUs simultaneously in flight TPDUs are sequentially acknowledged o previous ACK retransmitted for subsequent TPDUs after loss out of sequence TPDU o sender timer fires if ACK not received reset transmission beginning at lost TPDU significant loss penalty for high bw- -delay go back and retransmit all since loss many unneeded retransmissions significant additional delay 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-77 t ack A0 A1 A1 A1 A1 A2 A3 A4 A

78 E2E Error Control Closed Loop Retransmission: Go-Back-n Optimisation possible for go-back-n? t ack A0 A1 A1 A1 A1 A2 A3 A4 A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-78

79 E2E Error Control Closed Loop Retransmission: Go-Back-n Optimisation go-back-n timer the only way to detect loss? t ack A0 3 A1 4 A1 5 2 A1 3 2 A1 4 3 A2 A3 A4 A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-79

80 E2E Error Control Closed Loop Retransmission: Fast Retransmit Fast retransmit optimisation for go-back-n 0 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-80 1

81 E2E Error Control Closed Loop Retransmission: Fast Retransmit Fast retransmit optimisation for go-back-n A0 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-81 2

82 E2E Error Control Closed Loop Retransmission: Fast Retransmit Fast retransmit optimisation for go-back-n 1 0 t ack A0 A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-82 3

83 E2E Error Control Closed Loop Retransmission: Fast Retransmit Fast retransmit optimisation for go-back-n 1 0 t ack A0 A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-83 4

84 E2E Error Control Closed Loop Retransmission: Fast Retransmit Fast retransmit optimisation for go-back-n Assume several duplicate ACKs are loss t ack A A1 4 A1 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-84 5

85 E2E Error Control Closed Loop Retransmission: Fast Retransmit Fast retransmit optimisation for go-back-n Assume several duplicate ACKs are loss o even if timer hasn t yet fired t ack A0 A A1 5 A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-85 6

86 E2E Error Control Closed Loop Retransmission: Fast Retransmit Fast retransmit optimisation for go-back-n Assume several duplicate ACKs are loss o even if timer hasn t yet fired + recovers from loss more quickly t ack A0 A1 A A1 A A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-86

87 E2E Error Control Closed Loop Retransmission: Fast Retransmit Fast retransmit optimisation for go-back-n Assume several duplicate ACKs are loss o even if timer hasn t yet fired + recovers from loss more quickly t ack A0 A1 A A1 A A2 A3 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-87 8

88 E2E Error Control Closed Loop Retransmission: Fast Retransmit Fast retransmit optimisation for go-back-n Assume several duplicate ACKs are loss o even if timer hasn t yet fired + recovers from loss more quickly t ack A0 A1 A A1 A A2 5 4 A3 A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-88

89 E2E Error Control Closed Loop Retransmission: Fast Retransmit Fast retransmit optimisation for go-back-n Assume several duplicate ACKs are loss o even if timer hasn t yet fired + recovers from loss more quickly t ack A0 A1 A A1 A A2 A3 A A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-89

90 E2E Error Control Closed Loop Retransmission: Fast Retransmit Fast retransmit optimisation for go-back-n Assume several duplicate ACKs are loss o even if timer hasn t yet fired + recovers from loss more quickly t ack A0 A1 A A1 A A2 A3 A4 A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-90

91 E2E Error Control Closed Loop Retransmission: Fast Retransmit Fast retransmit optimisation for go-back-n Assume several duplicate ACKs are loss o even if timer hasn t yet fired + recovers from loss more quickly still suffers from go-back-n inefficiencies t ack A0 A1 A1 A1 A A2 A3 A4 A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-91

92 ITTC E2E Error Control Closed Loop Retransmission: Go-Back-n Go-back-n fast retransmit and delayed ACK help slightly but still significant delay penalty for losses Alternative? 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-92

93 ITTC E2E Error Control Closed Loop Retransmission: Selective Repeat Go-back-n fast retransmit and delayed ACK help slightly significant delay penalty for losses Alternative don t go back: selective repeat 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-93

94 E2E Error Control Closed Loop Retransmission: Selective Repeat Selective repeat o all TPDUs acknowledged 0 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-94 1

95 E2E Error Control Closed Loop Retransmission: Selective Repeat Selective repeat o all TPDUs acknowledged A0 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-95 2

96 E2E Error Control Closed Loop Retransmission: Selective Repeat Selective repeat o all TPDUs acknowledged 1 0 t ack A0 A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-96 3

97 E2E Error Control Closed Loop Retransmission: Selective Repeat Selective repeat o all TPDUs acknowledged 1 0 t ack A0 A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-97 4

98 E2E Error Control Closed Loop Retransmission: Selective Repeat Selective repeat o all TPDUs acknowledged Missequenced TPDUs o acknowledged and held at receiver t ack A0 A A3 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-98 5

99 E2E Error Control Closed Loop Retransmission: Selective Repeat Selective repeat o all TPDUs acknowledged Missequenced TPDUs o TPDUs held and reordered at receiver increases receiver complexity t ack A0 A1 A A4 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-99 6

100 E2E Error Control Closed Loop Retransmission: Selective Repeat Selective repeat o all TPDUs acknowledged Missequenced TPDUs o TPDUs held and reordered at receiver increases receiver complexity Lost TPDUs o selectively retransmitted t ack A0 A1 A3 A4 A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-100 7

101 E2E Error Control Closed Loop Retransmission: Selective Repeat Selective repeat o all TPDUs acknowledged Missequenced TPDUs o TPDUs held and reordered at receiver increases receiver complexity Lost TPDUs o selectively retransmitted t ack A0 A1 A3 A4 A no go-back-n latency penalty requires more receiver buffer space A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-101

102 E2E Error Control Closed Loop Retransmission: Selective Repeat Selective repeat o all TPDUs acknowledged Missequenced TPDUs o TPDUs held and reordered at receiver increases receiver complexity Lost TPDUs o selectively retransmitted + no go-back-n latency penalty requires more receiver buffer space t ack A0 A1 A3 A4 A5 A2 A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-102

103 E2E Error Control Closed Loop Retransmission: Selective Repeat Selective repeat o all TPDUs acknowledged Missequenced TPDUs o TPDUs held and reordered at receiver increases receiver complexity Lost TPDUs o selectively retransmitted + no go-back-n latency penalty requires more receiver buffer space t ack A0 A1 A3 A4 A5 A2 A A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-103

104 E2E Error Control Closed Loop Retransmission: Selective Repeat Selective repeat o all TPDUs acknowledged Missequenced TPDUs o TPDUs held and reordered at receiver increases receiver complexity Lost TPDUs o selectively retransmitted + no go-back-n latency penalty requires more receiver buffer space A2A delay and bandwidth reduced t ack A0 A1 A3 A4 A5 A2 A6 A7 A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-104

105 E2E Error Control Closed Loop Retransmission: Comparison t ack 2 1 t ack 2 1 A0 t ack 1 A0 A1 3 4 A0 A A1 1 1 A1 A1 A1 A2 A3 A4 A A3 A4 A5 A2 A6 A7 A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-105

106 Flow control E2E Transmission Control Definitions: Flow Control control transmission to avoid overwhelming receiver end-to-end control 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-106

107 Flow control E2E Transmission Control Definitions: Congestion Control control transmission to avoid overwhelming receiver end-to-end control Congestion control control transmission to avoid overwhelming network paths 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-107

108 Flow control E2E Transmission Control Definitions: Implicit vs. Explicit control transmission to avoid overwhelming receiver end-to-end control Congestion control control transmission to avoid overwhelming network paths network control with end-to-end assistance (throttling) Types explicit relies on congestion information from network nodes allows decoupling of error, flow, and congestion mechanisms implicit assumes loss is congestion bad assumption in wireless networks (see [Krishnan 2004]) 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-108

109 E2E Transmission Control Closed-Loop Flow and Congestion Control Flow control sender receiver Congestion control sender network Packet scheduling Lecture MT 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-109

110 E2E Transmission Control Closed-Loop Flow Control Feedback from receiver to limit transmission rate end-to-end only Window to limit amount of unacknowledged data static window based on initial negotiation or assumption dynamic window renegotiated based on receiver buffer availability may be combined with congestion control 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-110

111 E2E Transmission Control Closed-Loop Flow Control receive window Initial negotiation amount of unacknowledged data can be sent to receiver maintained as receive window at sender based on assumption or value returned at connection setup static window does not change over life of connection 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-111

112 E2E Transmission Control Closed-Loop Flow Control receive window Initial negotiation Steady state dynamic window: receive window varies over time receiver adjusts with time-varying available buffer space 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-112

113 E2E Transmission Control Closed-Loop Congestion Control Feedback from network to limit transmission rate Window to limit amount of unacknowledged data dynamic window adjusted based on network state 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-113

114 Congestion Control Closed-Loop End-to-End congestion control congestion window flow control receive window Closed loop congestion control Initial state Amount of unacked data can be sent into network maintained as congestion window at sender initial conservative default 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-114

115 Congestion Control Closed-Loop End-to-End congestion control congestion window flow control receive window transmission Closed loop congestion control feedback from network necessary 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-115

116 Congestion Control Closed-Loop End-to-End congestion control congestion window flow control receive window transmission Closed loop congestion control feedback from network necessary loss (data resulting in no ACK or ACK) throttles source tail drop when router queue is full 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-116

117 Congestion Control Ideal Network throughput delay carried load delay offered load Ideal network throughput characteristics? delay characteristics? offered load September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-117

118 Congestion Control Ideal Network throughput ideal delay carried load delay ideal Ideal network: offered load offered load 1.0 throughput: carried load = offered load (45 line) zero delay (flat line) Why isn t this possible? 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-118

119 Congestion Control Real Network Delay can t be zero: speed-of-light delay through network channels delay along paths in network nodes Throughput can t be infinite channel capacity limits bandwidth switching rate of components limits bit rate 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-119

120 Congestion Control Ideal Network throughput ideal delay carried load delay ideal offered load offered load 1.0 Desired network: what happens to carried load? 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-120

121 Congestion Control Desired Real Network Behaviour 1.0 throughput ideal delay knee carried load delay knee d min offered load 1.0 offered load 1.0 Desired network: carried load = offered load up to share of capacity what happens to delay? 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-121

122 Congestion Control Causes of Congestion Congestion when offered load net path capacity Best effort occurs whenever load is high Probabilistic guarantees occurs when load exceeds resource reservations Absolute guarantees can t happen (in theory) not Internet service model 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-122

123 Congestion Control Infinite Buffers / No Retransmission Congestion when offered load link capacity delay Infinite buffers queue length builds to infinity d discuss why in Lecture MT delay d min offered load knee ideal September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-123

124 Congestion Control Finite Buffers with Retransmission Finite buffers cause packet loss retransmissions contribute to offered load assuming reliable protocol throughput curve levels off 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-124

125 Multiple hops Congestion Control Multihop Network downstream packet loss upstream transmission wasted 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-125

126 Delay increases Congestion Control Consequences of Congestion due to packet queuing in network nodes due to retransmissions when packets overflow buffers finite buffers must drop packets when full Throughput levels off gradually (with real traffic) then decreases due to retransmissions when packets dropped particularly over multiple hops congestion collapse cliff of the throughput curve 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-126

127 Congestion Control Congestion Avoidance and Control 1.0 throughput ideal delay knee cliff CC cliff carried load delay knee CA CA CC d min ideal offered load 1.0 offered load 1.0 Congestion control: operation at the cliff Congestion avoidance: operation at the knee detect and correct impending congestion before the cliff 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-127

128 Congestion Control Local Action Local action at point of congestion Drops packets: discard policy tail drop simplest: drop packets that overflow buffers more intelligent policies possible need flow or connection state in switches discriminate which flows are causing congestion and penalise 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-128

129 End-to-end action Throttle source Congestion Control End-to-End Action reduce transmission rates prevent unnecessary retransmissions Types explicit implicit 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-129

130 E2E Transmission Control Closed-Loop Congestion Control Feedback from network to limit rate Required unless open loop with hard reservations Window to limit amount of unacknowledged data dynamic window conservation of packets in the network self clocking: ACKs determine the transmission of new data 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-130

131 E2E Transmission Control Closed-Loop Control: Initialisation Initial small window sent assume 1 TPDU 0 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-131 1

132 E2E Transmission Control Closed-Loop Control: Initialisation Initial small window sent assume 1 TPDU TPDU acknowledged A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-132 2

133 E2E Transmission Control Closed-Loop Control: Initialisation Initial small window sent assume 1 TPDU TPDU acknowledged Window doubled TPDU + one more sent A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-133 3

134 E2E Transmission Control Closed-Loop Control: Initialisation Initial small window sent assume 1 TPDU TPDU acknowledged Window doubled TPDU + one more sent TPDUs acknowledged A0 A1 A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-134 4

135 E2E Transmission Control Closed-Loop Control: Initialisation Initial small window sent assume 1 TPDU TPDU acknowledged Window doubled TPDU + one more sent TPDUs acknowledged Window doubled again TPDUs + one more/ack sent A0 A1 A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-135 5

136 E2E Transmission Control Closed-Loop Control: Initialisation Slow start initialisation increase window until path loaded double window / RTT exponential growth not really slow Critical parameters? t RTT t RTT t RTT A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A10 A13 A14 A15 A16 A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-136

137 E2E Transmission Control Closed-Loop Control: Initialisation Slow start initialisation increase window until path loaded double window / RTT Critical parameters initial window size rate of increase Tradeoffs? t RTT t RTT t RTT A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A10 A13 A14 A15 A16 A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-137

138 E2E Transmission Control Closed-Loop Control: Initialisation Slow start initialisation increase window until path loaded Critical parameters initial window size rate of increase Tradeoffs conservative on high bw- -delay: multiple round trips never get to full rate for transactions aggressive: induced congestions t RTT t RTT t RTT A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A10 A13 A14 A15 A16 A September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-138

139 E2E Congestion Control Closed-Loop Control initialisation steady state phase sending rate slow start Initialisation phase: slow start Steady-state phase? time 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-139

140 E2E Congestion Control Closed-Loop Control: Steady State additive increase congestion detection rate multiplicative decrease AIMD steady state time additive-increase slowly increases rate increment window multiplicative-decrease quickly throttles with congestion divide window when packet lost 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-140

141 E2E Congestion Control AIMD Fairness and Stability AIMD R = available bandwidth initial bandwidth share I AI: both increase until loss beyond R MD: both decrease half way to origin halve window size trajectory toward ideal intersection of R and equal R ideal I equal bandwidth share R [based on Kurose fig. 3.53] 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-141

142 E2E Congestion Control Closed-Loop Control initialisation steady state phase AI congestion detection sending rate slow start MD Initialisation phase: slow start Steady-state phase: AIMD time 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-142

143 Implicit control E2E Congestion Control Closed-Loop Implicit Control missing ACK assumed to be congestion good assumption? 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-143

144 Implicit control E2E Congestion Control Closed-Loop Implicit Control missing ACK assumed to be congestion reasonable when all losses are due to congestion fiber optic channels connected by reliable switches 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-144

145 Implicit control E2E Congestion Control Closed-Loop Implicit Control missing ACK assumed to be congestion reasonable when all losses are due to congestion fiber optic channels connected by reliable switches performs poorly when significant losses in channel why? 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-145

146 Implicit control E2E Congestion Control Closed-Loop Implicit Control missing ACK assumed to be congestion reasonable when all losses are due to congestion fiber optic channels connected by reliable switches performs poorly when significant losses in channel mobile wireless links under-provisioned CDMA (including optical CDMA) 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-146

147 Implicit control E2E Congestion Control Closed-Loop Implicit Control missing ACK assumed to be congestion reasonable when all losses are due to congestion fiber optic channels connected by reliable switches performs poorly when significant losses in channel mobile wireless links under-provisioned CDMA (including optical CDMA) Alternatives? 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-147

148 Explicit control E2E Congestion Control Closed-Loop Explicit Control explicit congestion notification (ECN) throttle with ECN message some decoupling of error and congestion control throttle before packet loss not sufficient for lossy wireless link EECS September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-148

149 Explicit control E2E Congestion Control Closed-Loop Explicit Control explicit congestion notification (ECN) throttle with ECN message some decoupling of error and congestion control throttle before packet loss not sufficient for lossy wireless link not sufficient for discrimination of corrupted packets ELN (explicit loss notification) necessary more in lecture TQ 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-149

150 Transport Layer Internet Transport Protocols TL.1 Transport Services and interfaces TL.2 End-to-end functions and mechanisms TL.3 Internet transport protocols 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-150

151 Internet Transport Protocols History ARPANET / Internet transport protocol history NCP (network control program) original ARPANET protocol replaced with TCP in 1977 TCP split from IP in 1978 UDP added in 1980 RTP RFC published September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-151

152 Internet Transport Protocols Overview UDP: user datagram protocol [RFC 0768 / STD 0006] basic end-to-end multiplexing and error checking no error, flow, or congestion control RTP: real-time protocol [RFC 3550 / STD 0064] support for end-to-end real-time synchronisation typical implementations run over UDP TCP: transmission control protocol [RFC 0793 / STD 0007] connection-oriented reliable byte-stream protocol full error, flow, and congestion control 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-152

153 Internet Transport Protocols Important Examples Protocol Name Function Status Ref TCP transmission control protocol reliable data transfer with congestion control standard RFC 0793 STD 0007 UDP user datagram protocol socket access to unreliable IP datagrams standard RFC 0768 STD 0006 RTP real-time protocol real-time synchronisation (typically over UDP) standards track RFC 3550 STD 0064 T/TCP TCP for transactions low connection setup overhead for transactions experimental RFC 1644 RDP reliable data protocol reliable data transfer with no congestion control experimental RFC 0908 SCTP stream control transmission protocol signalling proposed for wireless proposed standard RFC September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-153

154 Internet Transport Protocols TL.3.1 UDP TL.1 Transport services and interfaces TL.2 End-to-end functions and mechanisms TL.3 Internet transport protocols TL.3.1 UDP TL.3.2 RTP introduction TL.3.3 TCP TL.4 Multipoint communication and reliable multicast 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-154

155 User Datagram Protocol Overview and Transfer Mode UDP: user datagram protocol [RFC 0768 / STD 0006] Basic access to Internet datagram transfer mode no connection establishment each UDP segment handled independently no connection setup penalty no connection state to maintain basic end-to-end multiplexing no reliability no flow or congestion control 26 September 2017 KU EECS 563 Intro Comm Nets E2E Transport ICN-TL-155

ITTC Communication Networks The University of Kansas EECS 780 End-to-End Transport

ITTC Communication Networks The University of Kansas EECS 780 End-to-End Transport Communication Networks The University of Kansas EECS 780 End-to-End Transport James P.G. Sterbenz Department of Electrical Engineering & Computer Science Information Technology & Telecommunications Research

More information

ITTC High-Performance Networking The University of Kansas EECS 881 End-to-End Transport

ITTC High-Performance Networking The University of Kansas EECS 881 End-to-End Transport High-Performance Networking The University of Kansas EECS 881 End-to-End Transport James P.G. Sterbenz Department of Electrical Engineering & Computer Science Information Technology & Telecommunications

More information

End-to-End Transport Outline

End-to-End Transport Outline KU EECS 88 High-Performance Networking End-to-End Transport High-Performance Networking The University of Kansas EECS 88 End-to-End Transport James P.G. Sterbenz Department of Electrical Engineering &

More information

ITTC Mobile Wireless Networking The University of Kansas EECS 882 Wireless and Mobile Internet

ITTC Mobile Wireless Networking The University of Kansas EECS 882 Wireless and Mobile Internet Mobile Wireless Networking The University of Kansas EECS 882 Wireless and Mobile Internet James P.G. Sterbenz Department of Electrical Engineering & Computer Science Information Technology & Telecommunications

More information

End-to-End Protocols

End-to-End Protocols End-to-End Protocols 1. Introduction 2. Fundamentals and design principles 3. Network architecture and topology 4. Network control and signalling 5. Network components 5.1 links 5.2 switches and routers

More information

UNIT IV -- TRANSPORT LAYER

UNIT IV -- TRANSPORT LAYER UNIT IV -- TRANSPORT LAYER TABLE OF CONTENTS 4.1. Transport layer. 02 4.2. Reliable delivery service. 03 4.3. Congestion control. 05 4.4. Connection establishment.. 07 4.5. Flow control 09 4.6. Transmission

More information

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections Application / Transport Interface Application requests service from transport layer Transport Layer Application Layer Prepare Transport service requirements Data for transport Local endpoint node address

More information

ITTC Communication Networks The University of Kansas EECS 780 Traffic Management and QoS

ITTC Communication Networks The University of Kansas EECS 780 Traffic Management and QoS Communication Networks The University of Kansas EECS 780 Traffic Management and QoS James P.G. Sterbenz Department of Electrical Engineering & Computer Science Information Technology & Telecommunications

More information

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Transmission Control Protocol. ITS 413 Internet Technologies and Applications Transmission Control Protocol ITS 413 Internet Technologies and Applications Contents Overview of TCP (Review) TCP and Congestion Control The Causes of Congestion Approaches to Congestion Control TCP Congestion

More information

Computer Networking Introduction

Computer Networking Introduction Computer Networking Introduction Halgurd S. Maghdid Software Engineering Department Koya University-Koya, Kurdistan-Iraq Lecture No.11 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and

More information

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP CS 5520/ECE 5590NA: Network Architecture I Spring 2008 Lecture 13: UDP and TCP Most recent lectures discussed mechanisms to make better use of the IP address space, Internet control messages, and layering

More information

Impact of transmission errors on TCP performance. Outline. Random Errors

Impact of transmission errors on TCP performance. Outline. Random Errors Impact of transmission errors on TCP performance 1 Outline Impact of transmission errors on TCP performance Approaches to improve TCP performance Classification Discussion of selected approaches 2 Random

More information

End-to-End Protocols. End-to-End Protocols

End-to-End Protocols. End-to-End Protocols . Introduction. Fundamentals and design principles. Network architecture and topology. Network control and signalling. Network components. links. switches and routers. End systems 7. End-to-end protocols.

More information

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service EEC7B/ECS5C Review: Internet Protocol Stack Review: TCP Application Telnet FTP HTTP Transport Network Link Physical bits on wire TCP LAN IP UDP Packet radio Do you remember the various mechanisms we have

More information

EECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance

EECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance EECS 122, Lecture 19 Today s Topics: More on Reliable Delivery Round-Trip Timing Flow Control Intro to Congestion Control Kevin Fall, kfall@cs cs.berkeley.eduedu Reliable Delivery Stop and Wait simple

More information

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP EEC7B/ECS5C Review: Internet Protocol Stack Review: TCP Application Telnet FTP HTTP Transport Network Link Physical bits on wire TCP LAN IP UDP Packet radio Transport Layer Services Design Issue Underlying

More information

Does current Internet Transport work over Wireless? Reviewing the status of IETF work in this area

Does current Internet Transport work over Wireless? Reviewing the status of IETF work in this area Does current Internet Transport work over Wireless? Reviewing the status of IETF work in this area Sally Floyd March 2, 2000 IAB Workshop on Wireless Internetworking 1 Observations: Transport protocols

More information

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented transport: TCP segment

More information

Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren

Lecture 21: Congestion Control CSE 123: Computer Networks Alex C. Snoeren Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren Lecture 21 Overview" How fast should a sending host transmit data? Not to fast, not to slow, just right Should not be faster than

More information

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP Transport layer Review principles: Reliable data transfer Flow control Congestion control Instantiation in the Internet UDP TCP 1 UDP: User Datagram Protocol [RFC 768] No frills, bare bones Internet transport

More information

Principles of congestion control

Principles of congestion control 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

More information

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control Transport layer Review principles: Reliable data transfer Flow control Congestion control Instantiation in the Internet UDP TCP 1 UDP: User Datagram Protocol [RFC 768] No frills, bare bones Internet transport

More information

Network Control and Signalling

Network Control and Signalling Network Control and Signalling 1. Introduction 2. Fundamentals and design principles 3. Network architecture and topology 4. Network control and signalling 5. Network components 5.1 links 5.2 switches

More information

CMPE 257: Wireless and Mobile Networking

CMPE 257: Wireless and Mobile Networking CMPE 257: Wireless and Mobile Networking Katia Obraczka Computer Engineering UCSC Baskin Engineering Lecture 10 CMPE 257 Spring'15 1 Student Presentations Schedule May 21: Sam and Anuj May 26: Larissa

More information

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data?

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data? Congestion Control End Hosts CSE 51 Lecture 7, Spring. David Wetherall Today s question How fast should the sender transmit data? Not tooslow Not toofast Just right Should not be faster than the receiver

More information

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6. Transport Layer 6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6.1 Internet Transport Layer Architecture The

More information

TCP over wireless links

TCP over wireless links CSc 450/550 Computer Communications & Networks TCP over wireless links Jianping Pan (stand-in for Dr. Wu) 1/31/06 CSc 450/550 1 TCP over wireless links TCP a quick review on how TCP works Wireless links

More information

TCP so far Computer Networking Outline. How Was TCP Able to Evolve

TCP so far Computer Networking Outline. How Was TCP Able to Evolve TCP so far 15-441 15-441 Computer Networking 15-641 Lecture 14: TCP Performance & Future Peter Steenkiste Fall 2016 www.cs.cmu.edu/~prs/15-441-f16 Reliable byte stream protocol Connection establishments

More information

Traffic Management and QoS Outline

Traffic Management and QoS Outline Communication Networks The University of Kansas EECS 780 Traffic Management and QoS James P.G. Sterbenz Department of Electrical Engineering and Computer Science Information Technology & Telecommunications

More information

Lecture 4: Congestion Control

Lecture 4: Congestion Control Lecture 4: Congestion Control Overview Internet is a network of networks Narrow waist of IP: unreliable, best-effort datagram delivery Packet forwarding: input port to output port Routing protocols: computing

More information

Communication Networks

Communication Networks Communication Networks Spring 2018 Laurent Vanbever nsg.ee.ethz.ch ETH Zürich (D-ITET) April 30 2018 Materials inspired from Scott Shenker & Jennifer Rexford Last week on Communication Networks We started

More information

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 11, 2018

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 11, 2018 CMSC 417 Computer Networks Prof. Ashok K Agrawala 2018 Ashok Agrawala Message, Segment, Packet, and Frame host host HTTP HTTP message HTTP TCP TCP segment TCP router router IP IP packet IP IP packet IP

More information

CS321: Computer Networks Congestion Control in TCP

CS321: Computer Networks Congestion Control in TCP CS321: Computer Networks Congestion Control in TCP Dr. Manas Khatua Assistant Professor Dept. of CSE IIT Jodhpur E-mail: manaskhatua@iitj.ac.in Causes and Cost of Congestion Scenario-1: Two Senders, a

More information

Chapter III: Transport Layer

Chapter III: Transport Layer Chapter III: Transport Layer UG3 Computer Communications & Networks (COMN) Mahesh Marina mahesh@ed.ac.uk Slides thanks to Myungjin Lee and copyright of Kurose and Ross Principles of congestion control

More information

CSE 123A Computer Networks

CSE 123A Computer Networks CSE 123A Computer Networks Winter 2005 Lecture 14 Congestion Control Some images courtesy David Wetherall Animations by Nick McKeown and Guido Appenzeller The bad news and the good news The bad news: new

More information

ECE697AA Lecture 3. Today s lecture

ECE697AA Lecture 3. Today s lecture ECE697AA Lecture 3 Transport Layer: TCP and UDP Tilman Wolf Department of Electrical and Computer Engineering 09/09/08 Today s lecture Transport layer User datagram protocol (UDP) Reliable data transfer

More information

Network Management & Monitoring

Network Management & Monitoring Network Management & Monitoring Network Delay These materials are licensed under the Creative Commons Attribution-Noncommercial 3.0 Unported license (http://creativecommons.org/licenses/by-nc/3.0/) End-to-end

More information

Chapter 13 TRANSPORT. Mobile Computing Winter 2005 / Overview. TCP Overview. TCP slow-start. Motivation Simple analysis Various TCP mechanisms

Chapter 13 TRANSPORT. Mobile Computing Winter 2005 / Overview. TCP Overview. TCP slow-start. Motivation Simple analysis Various TCP mechanisms Overview Chapter 13 TRANSPORT Motivation Simple analysis Various TCP mechanisms Distributed Computing Group Mobile Computing Winter 2005 / 2006 Distributed Computing Group MOBILE COMPUTING R. Wattenhofer

More information

Reliable Transport II: TCP and Congestion Control

Reliable Transport II: TCP and Congestion Control Reliable Transport II: TCP and Congestion Control Stefano Vissicchio UCL Computer Science COMP0023 Recap: Last Lecture Transport Concepts Layering context Transport goals Transport mechanisms and design

More information

Lecture 8. TCP/IP Transport Layer (2)

Lecture 8. TCP/IP Transport Layer (2) Lecture 8 TCP/IP Transport Layer (2) Outline (Transport Layer) Principles behind transport layer services: multiplexing/demultiplexing principles of reliable data transfer learn about transport layer protocols

More information

Transport protocols. Transport Layer 3-1

Transport protocols. Transport Layer 3-1 Transport protocols 1 Transport services and protocols provide logical communication between app processes running on different hosts application transport network data link physical transport protocols

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer 1 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented

More information

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University Congestion Control Daniel Zappala CS 460 Computer Networking Brigham Young University 2/25 Congestion Control how do you send as fast as possible, without overwhelming the network? challenges the fastest

More information

Lecture 11. Transport Layer (cont d) Transport Layer 1

Lecture 11. Transport Layer (cont d) Transport Layer 1 Lecture 11 Transport Layer (cont d) Transport Layer 1 Agenda The Transport Layer (continue) Connection-oriented Transport (TCP) Flow Control Connection Management Congestion Control Introduction to the

More information

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control : Computer Networks Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control TCP performance We ve seen how TCP the protocol works Sequencing, receive window, connection setup and teardown And

More information

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades Announcements 15-441 Computer Networking Lecture 16 Transport Protocols Mid-semester grades Based on project1 + midterm + HW1 + HW2 42.5% of class If you got a D+,D, D- or F! must meet with Dave or me

More information

Communications Software. CSE 123b. CSE 123b. Spring Lecture 3: Reliable Communications. Stefan Savage. Some slides couresty David Wetherall

Communications Software. CSE 123b. CSE 123b. Spring Lecture 3: Reliable Communications. Stefan Savage. Some slides couresty David Wetherall CSE 123b CSE 123b Communications Software Spring 2002 Lecture 3: Reliable Communications Stefan Savage Some slides couresty David Wetherall Administrativa Home page is up and working http://www-cse.ucsd.edu/classes/sp02/cse123b/

More information

cs/ee 143 Communication Networks

cs/ee 143 Communication Networks cs/ee 143 Communication Networks Chapter 4 Transport Text: Walrand & Parakh, 2010 Steven Low CMS, EE, Caltech Recap: Internet overview Some basic mechanisms n Packet switching n Addressing n Routing o

More information

Announcements. IP Forwarding & Transport Protocols. Goals of Today s Lecture. Are 32-bit Addresses Enough? Summary of IP Addressing.

Announcements. IP Forwarding & Transport Protocols. Goals of Today s Lecture. Are 32-bit Addresses Enough? Summary of IP Addressing. IP Forwarding & Transport Protocols EE 122: Intro to Communication Networks Fall 2007 (WF 4-5:30 in Cory 277) Vern Paxson TAs: Lisa Fowler, Daniel Killebrew & Jorge Ortiz http://inst.eecs.berkeley.edu/~ee122/

More information

Transport layer issues

Transport layer issues Transport layer issues Dmitrij Lagutin, dlagutin@cc.hut.fi T-79.5401 Special Course in Mobility Management: Ad hoc networks, 28.3.2007 Contents Issues in designing a transport layer protocol for ad hoc

More information

Multiple unconnected networks

Multiple unconnected networks TCP/IP Life in the Early 1970s Multiple unconnected networks ARPAnet Data-over-cable Packet satellite (Aloha) Packet radio ARPAnet satellite net Differences Across Packet-Switched Networks Addressing Maximum

More information

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste Outline 15-441 Computer Networking Lecture 18 TCP Performance Peter Steenkiste Fall 2010 www.cs.cmu.edu/~prs/15-441-f10 TCP congestion avoidance TCP slow start TCP modeling TCP details 2 AIMD Distributed,

More information

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine Computer Science Department 1 / 33 1 COS 140: Foundations

More information

CNT 6885 Network Review on Transport Layer

CNT 6885 Network Review on Transport Layer CNT 6885 Network Review on Transport Layer Jonathan Kavalan, Ph.D. Department of Computer, Information Science and Engineering (CISE), University of Florida User Datagram Protocol [RFC 768] no frills,

More information

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented transport: TCP segment

More information

Chapter 3: Transport Layer Part A

Chapter 3: Transport Layer Part A Chapter 3: Transport Layer Part A Course on Computer Communication and Networks, CTH/GU The slides are adaptation of the slides made available by the authors of the course s main textbook 3: Transport

More information

6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long

6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long 6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long Please read Chapter 19 of the 6.02 book for background, especially on acknowledgments (ACKs), timers,

More information

Lecture 14: Congestion Control"

Lecture 14: Congestion Control Lecture 14: Congestion Control" CSE 222A: Computer Communication Networks George Porter Thanks: Amin Vahdat, Dina Katabi and Alex C. Snoeren Lecture 14 Overview" TCP congestion control review Dukkipati

More information

CS457 Transport Protocols. CS 457 Fall 2014

CS457 Transport Protocols. CS 457 Fall 2014 CS457 Transport Protocols CS 457 Fall 2014 Topics Principles underlying transport-layer services Demultiplexing Detecting corruption Reliable delivery Flow control Transport-layer protocols User Datagram

More information

Announcements Computer Networking. What was hard. Midterm. Lecture 16 Transport Protocols. Avg: 62 Med: 67 STD: 13.

Announcements Computer Networking. What was hard. Midterm. Lecture 16 Transport Protocols. Avg: 62 Med: 67 STD: 13. Announcements 15-441 Computer Networking Lecture 16 Transport Protocols Mid-semester grades Based on (ckpt 1 & ckpt2) + midterm + HW1 + HW2 NOTE: GRADES DO NOT REFLECT LATE PENALTIES! 25.4% of class If

More information

Application. Transport. Network. Link. Physical

Application. Transport. Network. Link. Physical Transport Layer ELEC1200 Principles behind transport layer services Multiplexing and demultiplexing UDP TCP Reliable Data Transfer TCP Congestion Control TCP Fairness *The slides are adapted from ppt slides

More information

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 4: Transport Layer Literature: Forouzan: ch 11-12 2004 Image Coding Group, Linköpings Universitet Lecture 4: Outline Transport layer responsibilities UDP TCP 2 Transport layer in OSI model Figure

More information

Data Link Control Protocols

Data Link Control Protocols Protocols : Introduction to Data Communications Sirindhorn International Institute of Technology Thammasat University Prepared by Steven Gordon on 23 May 2012 Y12S1L07, Steve/Courses/2012/s1/its323/lectures/datalink.tex,

More information

Lecture 5. Transport Layer. Transport Layer 1-1

Lecture 5. Transport Layer. Transport Layer 1-1 Lecture 5 Transport Layer Transport Layer 1-1 Agenda The Transport Layer (TL) Introduction to TL Protocols and Services Connectionless and Connection-oriented Processes in TL Unreliable Data Transfer User

More information

Direct Link Communication I: Basic Techniques. Data Transmission. ignore carrier frequency, coding etc.

Direct Link Communication I: Basic Techniques. Data Transmission. ignore carrier frequency, coding etc. Direct Link Communication I: Basic Techniques Link speed unit: bps abstraction Data Transmission ignore carrier frequency, coding etc. Point-to-point link: wired or wireless includes broadcast case Interested

More information

Chapter 24. Transport-Layer Protocols

Chapter 24. Transport-Layer Protocols Chapter 24. Transport-Layer Protocols 23.1 Introduction 23.2 User Datagram Protocol 23.3 Transmission Control Protocol 23.4 SCTP Computer Networks 24-1 Position of Transport-Layer Protocols UDP is an unreliable

More information

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine School of Computing and Information S 1 / 33 COS 140:

More information

Congestion control in TCP

Congestion control in TCP Congestion control in TCP If the transport entities on many machines send too many packets into the network too quickly, the network will become congested, with performance degraded as packets are delayed

More information

Fall 2012: FCM 708 Bridge Foundation I

Fall 2012: FCM 708 Bridge Foundation I Fall 2012: FCM 708 Bridge Foundation I Prof. Shamik Sengupta Instructor s Website: http://jjcweb.jjay.cuny.edu/ssengupta/ Blackboard Website: https://bbhosted.cuny.edu/ Intro to Computer Networking Transport

More information

Lecture 3: The Transport Layer: UDP and TCP

Lecture 3: The Transport Layer: UDP and TCP Lecture 3: The Transport Layer: UDP and TCP Prof. Shervin Shirmohammadi SITE, University of Ottawa Prof. Shervin Shirmohammadi CEG 4395 3-1 The Transport Layer Provides efficient and robust end-to-end

More information

NT1210 Introduction to Networking. Unit 10

NT1210 Introduction to Networking. Unit 10 NT1210 Introduction to Networking Unit 10 Chapter 10, TCP/IP Transport Objectives Identify the major needs and stakeholders for computer networks and network applications. Compare and contrast the OSI

More information

TCP reliable data transfer. Chapter 3 outline. TCP sender events: TCP sender (simplified) TCP: retransmission scenarios. TCP: retransmission scenarios

TCP reliable data transfer. Chapter 3 outline. TCP sender events: TCP sender (simplified) TCP: retransmission scenarios. TCP: retransmission scenarios Chapter 3 outline TCP reliable 3.2 principles of reliable 3.3 connection-oriented flow 3.4 principles of congestion 3.5 TCP congestion TCP creates rdt service on top of IP s unreliable service pipelined

More information

TSIN02 - Internetworking

TSIN02 - Internetworking TSIN02 - Internetworking Literature: Lecture 4: Transport Layer Forouzan: ch 11-12 Transport layer responsibilities UDP TCP 2004 Image Coding Group, Linköpings Universitet 2 Transport layer in OSI model

More information

Congestion / Flow Control in TCP

Congestion / Flow Control in TCP Congestion and Flow Control in 1 Flow Control and Congestion Control Flow control Sender avoids overflow of receiver buffer Congestion control All senders avoid overflow of intermediate network buffers

More information

CS 4390 Computer Networks. Transport Services and Protocols

CS 4390 Computer Networks. Transport Services and Protocols CS 4390 Computer Networks UT D data Session 07 Transport Layer Overview and UDP Adapted from Computer Networking a Top-Down Approach 1996-2012 by J.F Kurose and K.W. Ross, All Rights Reserved Transport

More information

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2 Transport Protocols Reading: Sections 2.5, 5.1, and 5.2 CE443 - Fall 1390 Acknowledgments: Lecture slides are from Computer networks course thought by Jennifer Rexford at Princeton University. When slides

More information

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness Recap TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness 81 Feedback Signals Several possible signals, with different

More information

Data Link Technology. Suguru Yamaguchi Nara Institute of Science and Technology Department of Information Science

Data Link Technology. Suguru Yamaguchi Nara Institute of Science and Technology Department of Information Science Data Link Technology Suguru Yamaguchi Nara Institute of Science and Technology Department of Information Science Agenda Functions of the data link layer Technologies concept and design error control flow

More information

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE READ CAREFULLY BEFORE YOU START MIDTERM EXAMINATION #2 NETWORKING CONCEPTS 03-60-367-01 U N I V E R S I T Y O F W I N D S O R - S c h o o l o f C o m p u t e r S c i e n c e Fall 2011 Question Paper NOTE: Students may take this question

More information

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2. Goals for Todayʼs Lecture. Role of Transport Layer

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2. Goals for Todayʼs Lecture. Role of Transport Layer Transport Protocols Reading: Sections 2.5, 5.1, and 5.2 CS 375: Computer Networks Thomas C. Bressoud 1 Goals for Todayʼs Lecture Principles underlying transport-layer services (De)multiplexing Detecting

More information

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols ETSF05/ETSF10 Internet Protocols Transport Layer Protocols 2016 Jens Andersson Transport Layer Communication between applications Process-to-process delivery Client/server concept Local host Normally initialiser

More information

COMP/ELEC 429/556 Introduction to Computer Networks

COMP/ELEC 429/556 Introduction to Computer Networks COMP/ELEC 429/556 Introduction to Computer Networks The TCP Protocol Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang T. S. Eugene Ng eugeneng at cs.rice.edu

More information

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control Chapter 6 What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control OSI Model Hybrid Model Software outside the operating system Software inside

More information

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli)

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli) TCP CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli) 1 Sources Fall and Stevens, TCP/IP Illustrated Vol. 1, 2nd edition Congestion Avoidance

More information

Department of Computer and IT Engineering University of Kurdistan. Data Communication Netwotks (Graduate level) Data Link Layer

Department of Computer and IT Engineering University of Kurdistan. Data Communication Netwotks (Graduate level) Data Link Layer Department of Computer and IT Engineering University of Kurdistan Data Communication Netwotks (Graduate level) Data Link Layer By: Dr. Alireza Abdollahpouri Data Link Layer 2 Data Link Layer Application

More information

On Inter-layer Assumptions

On Inter-layer Assumptions On Inter-layer Assumptions (A View from the Transport Area) Mark Handley ACIRI/ICSI mjh@aciri.org Ping The Internet Hourglass FTP HTTP NNTP SMTP NFS DNS Applications TCP UDP ICMP IP 802.x PPP SLIP RS232

More information

The Transmission Control Protocol (TCP)

The Transmission Control Protocol (TCP) The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, e-mail, WWW) Reliable Stream Transport (TCP) Unreliable Transport Service (UDP) Connectionless Packet Delivery Service (IP) Goals

More information

Wireless TCP Performance Issues

Wireless TCP Performance Issues Wireless TCP Performance Issues Issues, transport layer protocols Set up and maintain end-to-end connections Reliable end-to-end delivery of data Flow control Congestion control Udp? Assume TCP for the

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer Part c Congestion Control Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley Transport Layer 3-1 Chapter 3 outline 3.1 transport-layer

More information

Good Ideas So Far Computer Networking. Outline. Sequence Numbers (reminder) TCP flow control. Congestion sources and collapse

Good Ideas So Far Computer Networking. Outline. Sequence Numbers (reminder) TCP flow control. Congestion sources and collapse Good Ideas So Far 15-441 Computer Networking Lecture 17 TCP & Congestion Control Flow control Stop & wait Parallel stop & wait Sliding window Loss recovery Timeouts Acknowledgement-driven recovery (selective

More information

CC451 Computer Networks

CC451 Computer Networks CC451 Computer Networks Lecture 6 Transport Layer (cont d) Transport Layer 3-1 Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty,

More information

CE693 Advanced Computer Networks

CE693 Advanced Computer Networks CE693 Advanced Computer Networks Review 2 Transport Protocols Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan Seshan at CMU. When slides are obtained

More information

Da t e: August 2 0 th a t 9: :00 SOLUTIONS

Da t e: August 2 0 th a t 9: :00 SOLUTIONS Interne t working, Examina tion 2G1 3 0 5 Da t e: August 2 0 th 2 0 0 3 a t 9: 0 0 1 3:00 SOLUTIONS 1. General (5p) a) Place each of the following protocols in the correct TCP/IP layer (Application, Transport,

More information

Congestion Control in TCP

Congestion Control in TCP Congestion Control in TCP Antonio Carzaniga Faculty of Informatics University of Lugano May 6, 2005 Outline Intro to congestion control Input rate vs. output throughput Congestion window Congestion avoidance

More information

CS4700/CS5700 Fundamentals of Computer Networks

CS4700/CS5700 Fundamentals of Computer Networks CS4700/CS5700 Fundamentals of Computer Networks Lecture 14: TCP Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Alan Mislove amislove at ccs.neu.edu Northeastern

More information

CSCD 330 Network Programming Winter 2015

CSCD 330 Network Programming Winter 2015 CSCD 330 Network Programming Winter 2015 Lecture 11a Transport Layer Reading: Chapter 3 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Chapter 3 Sections

More information

CSC 8560 Computer Networks: TCP

CSC 8560 Computer Networks: TCP CSC 8560 Computer Networks: TCP Professor Henry Carter Fall 2017 Project 2: mymusic You will be building an application that allows you to synchronize your music across machines. The details of which are

More information

Supporting mobility only on lower layers up to the network layer is not

Supporting mobility only on lower layers up to the network layer is not Mobile transport layer Supporting mobility only on lower layers up to the network layer is not enough to provide mobility support for applications. Most applications rely on a transport layer, such as

More information

Lecture 7: Flow Control"

Lecture 7: Flow Control Lecture 7: Flow Control" CSE 123: Computer Networks Alex C. Snoeren No class Monday! Lecture 7 Overview" Flow control Go-back-N Sliding window 2 Stop-and-Wait Performance" Lousy performance if xmit 1 pkt

More information

Advanced Network Design

Advanced Network Design Advanced Network Design Organization Whoami, Book, Wikipedia www.cs.uchicago.edu/~nugent/cspp54015 Grading Homework/project: 60% Midterm: 15% Final: 20% Class participation: 5% Interdisciplinary Course

More information