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

Size: px
Start display at page:

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

Transcription

1 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 Center The University of Kansas 03 October 2016 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 TL.4 Multipoint communication and reliable multicast 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-2

3 End-to-End Transport TL.1 Services and Interfaces TL.1 Transport services and interfaces TL.2 End-to-end functions and mechanisms TL.3 Internet transport protocols TL.4 Multipoint communication and reliable multicast 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-4 p l a n e

5 Transport Layer Motivation CPU M app ES 1 CPU M app ES 2 Why do we need a transport protocol? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-5

6 CPU M app Transport Layer Ideal Network Model R = CPU M app ES 1 D = 0 Ideal network model zero end-to-end delay unlimited end-to-end bandwidth perfect end-to-end transmission (no errors) But what? ES 2 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-6

7 CPU M app ES 1 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 ES 2 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-9

10 Transport Layer Service and Interfaces 1 Transport layer (L4) service to application layer (L7) Transfer PDU (protocol date 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-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? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-11

12 Transport Layer Types of Transport Protocols Spectrum of transport protocol specialisation general purpose e.g. TCP (almost) functionally partitioned e.g. ISO TP0 4 application-oriented e.g. RTP special purpose Software engineering and implementation choice 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-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 hops 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-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] 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-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? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-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] 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-20

21 End-to-End vs. Hop-by-Hop Performance Enhancement Example 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 Univ. Sydney 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-21

22 End-to-End vs. Hop-by-Hop Performance Enhancement Example 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 Univ. Sydney 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-22

23 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-23

24 E2E-only End-to-End vs. Hop-by-Hop E2E Argument Misinterpretations do not replicate E2E services or features HBH violates HBH performance enhancement corollary Everything E2E implement as many services or feature E2E as possible misstatement of Internet design philosophy: simple stateless network for resilience and survivability 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-24

25 End-to-End Transport TL.2 Functions and Mechanisms TL.1 Transport services and interfaces TL.2 End-to-end functions and mechanisms TL.2.1 Framing and multiplexing TL.2.2 State management and transfer modes TL.2.3 Reliability and error control TL.2.4 Transmission control TL.3 Internet transport protocols TL.4 Multipoint communication and reliable multicast 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-25

26 E2E Functions and Mechanisms TL.2.1 Framing and Multiplexing TL.1 Transport services and interfaces TL.2 End-to-end functions and mechanisms TL.2.1 Framing and multiplexing TL.2.2 State management and transfer modes TL.2.3 Reliability and error control TL.2.4 Transmission control TL.3 Internet transport Protocols TL.4 Multipoint communication and reliable multicast 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-26

27 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) ISO TSAPA: transport service access point address Trailer: what to do with the TPDU once arrived error check (CRC or checksum) for reliability most transport protocols have this in the header (e.g. TCP) 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-27

28 E2E Multiplexing Concepts Multiple applications use a particular TP Applications multiplexed into sending TP need to identify which application why? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-28

29 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-29

30 E2E Functions and Mechanisms TL.2.2 Transfer Modes and State Management TL.1 Transport services and interfaces TL.2 End-to-end functions and mechanisms TL.2.1 Framing and multiplexing TL.2.2 State management and transfer modes TL.2.3 Reliability and error control TL.2.4 Transmission control TL.3 Internet transport protocols TL.4 Multipoint communication and reliable multicast 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-30

31 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-31

32 Alternatives? E2E State Management Control Loops 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-32

33 Open loop E2E State Management control parameters no feedback Alternative? Control Loops parameters data Open loop 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-33

34 E2E State Management Control Loops Open loop control parameters no feedback Closed loop initial parameters feedback dynamic adaptation data 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-34

35 Open loop E2E State Management control parameters no feedback Closed loop initial parameters feedback dynamic adaptation Control Loops parameters data Open loop initial parameters data Closed loop E2E feedback 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-35

36 Open loop E2E State Management control parameters no feedback Closed loop initial parameters feedback dynamic adaptation Closed loop with HBH feedback Nested control loops Control Loops parameters initial parameters initial parameters initial parameters sender data data data data Open loop Closed loop HBH feedback Closed loop with HBH feedback HBH loop HBH loop Nested control loops E2E feedback E2E feedback E2E feedback receiver 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-36

37 Open-loop control E2E State Management Open- vs. Closed-Loop use when possible to eliminate control loop latency particularly for high bandwidth- -delay product networks Closed-loop feedback control use when necessary, e.g. reliability aggressiveness of closed-loop control rapid enough to system converges not too aggressive avoid instability and oscillations 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-37

38 Hard state E2E State Management Hard vs. Soft explicitly established and released deterministic delay to establish and memory to maintain Alternative? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-38

39 Hard state E2E State Management Hard vs. Soft explicitly established and released deterministic delay to establish and memory to maintain Soft state established and removed as needed and memory allows robust to failures if not explicitly established, delay to accumulate 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-39

40 Hard state E2E State Management Hard vs. Soft explicitly established and released deterministic delay to establish and memory to maintain Soft state established and removed as needed and memory allows robust to failures if not explicitly established, delay to accumulate Stateless (essentially) no state 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-40

41 E2E State Management Assumed Initial Conditions Improve performance of closed-loop control rapid convergence to steady state Assume initial conditions normal or common case past behaviour current network state (requires network dials) 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-41

42 E2E State Management Impact of Data Rate Transmission delay proportional to data rate What happens when data rate increases? t RTT SETUP t p t d ACK RELEASE slow 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-42

43 E2E State Management Impact of Data Rate Transmission delay proportional to data rate Connection shortening + transmission delay decreases but signalling delay constant t RTT SETUP t p SETUP t d ACK RELEASE ACK RELEASE slow fast 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-43

44 E2E State Management Impact of Data Rate Transmission delay proportional to data rate Connection shortening + transmission delay decreases but signalling delay constant E2E signalling significant fraction of time connection shortening not proportional to Δ date rate t RTT SETUP ACK RELEASE t p t d SETUP ACK RELEASE ~1.5t RTT ~2.5t RTT SETUP ACK RELEASE t p t d 0 slow fast high-speed 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-44

45 E2E State Management Impact of Path Length Transmission delay and path delay proportional to length What happens when path length increases? SETUP ACK RELEASE short links 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-45

46 E2E State Management Impact of Path Length Transmission delay and path delay proportional to length Connection lengthening path delay increases signalling delay increases E2E signalling open state longer denial of resource to others SETUP ACK RELEASE SETUP ACK RELEASE short links long links 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-46

47 E2E Transfer Modes Alternatives End-to-end transfer modes datagram connection stream transaction 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-47

48 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-48

49 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-49

50 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-50

51 E2E Transfer Modes Transport and Network Connections Transport connections required over end system transport layer setup-req end system transport layer connectionless L3 network layer SETUP connection-oriented network CONNECT network layer path with any connectionless subnetwork transport layer network layer SETUP network layer connection connectionless network CONNECT transport layer network layer may exploit transport layer connection connection-oriented L3 transport layer network layer SETUP connectionless subnetwork connection-oriented subnetwork CONNECT transport layer network layer heterogeneous subnetworks 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-51

52 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 originate SETUP request issue SETUP establishing RELEASE from app closing issue RELEASE CONNECT from net initialising 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-52 idle steady -state ACK from net receive SETUP from net requested issue CONNECT RELEASE from net closing issue RELEASE

53 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-53

54 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-54

55 E2E Functions and Mechanisms TL.2.3 Reliability and Error Control TL.1 Transport services and interfaces TL.2 End-to-End functions and mechanisms TL.2.1 Framing and multiplexing TL.2.2 State management and transfer modes TL.2.3 Reliability and error control TL.2.4 Transmission control TL.3 Internet transport protocols TL.4 Multipoint communication and reliable multicast 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-55

56 E2E Error Control Types of Errors What are the types of errors? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-56

57 Bit errors types? Packet errors types? E2E Error Control Types of Errors 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-57

58 Bit errors Packet errors packet loss fragment loss burst loss packet misordering packet insertion packet duplication E2E Error Control Types of Errors 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-58

59 E2E Error Control Causes of Bit Errors Bit errors causes? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-59

60 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-60

61 E2E Error Control Causes of Packet Loss Packet loss causes? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-61

62 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-62

63 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? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-63

64 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-64

65 Packet burst loss causes? E2E Error Control Causes of Packet Burst Loss 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-65

66 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-66

67 Packet misordering causes? E2E Error Control Causes of Packet Misordering 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-67

68 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-68

69 Packet insertion meaning? causes? E2E Error Control Causes of Packet Insertion 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-69

70 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-70

71 Packet duplication causes? E2E Error Control Causes of Packet Duplication 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-71

72 Packet duplication E2E Error Control Causes of Packet Duplication retransmission but original still arrives 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-72

73 E2E Error Control Impact of High Speed Bandwidth- -delay product increases fixed duration error event larger relative impact closed-loop reaction occurs later in terms of # bits sent Sequence numbers sequence numbers wrap if sequence space too small causes packet duplication 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-73

74 E2E Error Control ARQ Closed Loop Retransmission Automatic repeat request (ARQ) TPDUs are retransmitted for reliable transfer Acknowledgments are used to request retransmission alternatives? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-74

75 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? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-75

76 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? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-76

77 E2E Error Control Closed Loop Retransmission: Stop-and-Wait Each TPDU is acknowledged 0 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-77 1

78 E2E Error Control Closed Loop Retransmission: Stop-and-Wait Each TPDU is acknowledged October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-78 2

79 E2E Error Control Closed Loop Retransmission: Stop-and-Wait Each TPDU is acknowledged subsequent TPDU waits on previous ACK disadvantages? A October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-79 3

80 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-80

81 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-81

82 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-82

83 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-83

84 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-84

85 E2E Error Control Closed Loop Retransmission: Go-Back-n Go-back-n : pipeline transmissions 0 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-85 1

86 E2E Error Control Closed Loop Retransmission: Go-Back-n Go-back-n : pipeline transmissions + multiple TPDUs simultaneously in flight A0 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-86 2

87 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-87 3

88 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-88 4

89 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-89 5

90 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? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-90 6

91 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-91 7

92 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-92 8

93 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-93 9

94 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-94 10

95 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-95 11

96 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-96 12

97 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-97 t ack A0 A1 A1 A1 A1 A2 A3 A4 A

98 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-98

99 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-99

100 E2E Error Control Closed Loop Retransmission: Fast Retransmit Fast retransmit optimisation for go-back-n 0 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-100 1

101 E2E Error Control Closed Loop Retransmission: Fast Retransmit Fast retransmit optimisation for go-back-n A0 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-101 2

102 E2E Error Control Closed Loop Retransmission: Fast Retransmit Fast retransmit optimisation for go-back-n 1 0 t ack A0 A October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-102 3

103 E2E Error Control Closed Loop Retransmission: Fast Retransmit Fast retransmit optimisation for go-back-n 1 0 t ack A0 A October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-103 4

104 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-104 5

105 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-105 6

106 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-106

107 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-107 8

108 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-108

109 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-109

110 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-110

111 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-111

112 E2E Error Control Closed Loop Retransmission: Delayed ACK Delayed ACK o optimisation for go-back-n Aggregate several ACKs + reduces ACK traffic + allows some receiver resequencing within ACK aggregation quantum 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-112

113 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? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-113

114 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-114

115 E2E Error Control Closed Loop Retransmission: Selective Repeat Selective repeat o all TPDUs acknowledged 0 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-115 1

116 E2E Error Control Closed Loop Retransmission: Selective Repeat Selective repeat o all TPDUs acknowledged A0 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-116 2

117 E2E Error Control Closed Loop Retransmission: Selective Repeat Selective repeat o all TPDUs acknowledged 1 0 t ack A0 A October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-117 3

118 E2E Error Control Closed Loop Retransmission: Selective Repeat Selective repeat o all TPDUs acknowledged 1 0 t ack A0 A October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-118 4

119 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-119 5

120 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-120 6

121 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-121 7

122 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-122

123 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-123

124 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-124

125 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-125

126 E2E Error Control Closed Loop Retransmission: Periodic State Selective ACK blocks o bit vectors can aggregate ACKs + significant reduction in control packets + simple receiver implementation possible 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-126

127 E2E Error Control Impact of Increasing Data Rate Bandwidth- -delay product increases fixed duration error event larger relative impact reaction to errors decreases in terms of number of bits sent Sequence numbers sequence numbers wrap if sequence space too small causes packet misinsertion 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-127

128 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-128

129 E2E Error Control Open Loop Open loop error control o some applications do not need guaranteed reliability examples? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-129

130 E2E Error Control Open Loop Open loop error control o some applications do not need guaranteed reliability applications that are tolerant to some loss real-time or interactive delay requirements + eliminates control loop latency for recovery Mechanisms? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-130

131 E2E Error Control Open Loop Open loop error control o some applications do not need guaranteed reliability applications that are tolerant to some loss real-time or interactive delay requirements + eliminates control loop latency for recovery Forward error correction (FEC) block codes: per block recovery convolutional codes: continuous over window erasure codes: coding over redundant packets disadvantages? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-131

132 E2E Error Control Open Loop Open loop error control o some applications do not need guaranteed reliability applications that are tolerant to some loss real-time or interactive delay requirements + eliminates control loop latency for recovery requires additional end-systems bandwidth & processing requires additional network bandwidth Forward error correction (FEC) block codes: per block recovery convolutional codes: continuous over window erasure codes: coding over redundant packets 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-132

133 E2E Error Control Hybrid Open/Closed-Loop Control Hybrid open loop with closed loop when necessary why? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-133

134 E2E Error Control Hybrid Open/Closed-Loop Control Hybrid open loop with closed loop when necessary Statistical error bound with FEC Retransmission only when FEC doesn t correct Appropriate for high latency and bandwidth- -delay paths asymmetric bandwidth paths intermittent and episodically connected channels 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-134

135 E2E Functions and Mechanisms TL.2.4 Transmission Control TL.1 Transport services and interfaces TL.2 End-to-end functions and mechanisms TL.2.1 Framing and multiplexing TL.2.2 State management and transfer modes TL.2.3 Reliability and error control TL.2.4 Transmission control TL.3 Internet transport protocols TL.4 Multipoint communication and reliable multicast 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-135

136 Flow control E2E Transmission Control Definitions: Flow Control control transmission to avoid overwhelming receiver end-to-end control 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-136

137 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-137

138 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 nodes allows decoupling of error, flow, and congestion mechanisms implicit assumes loss is congestion bad assumption in wireless networks (see [Krishnan 2004]) 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-138

139 E2E Transmission Control Impact of Increasing Data Rate Bandwidth- -delay product increases response to an event happens after more bits transferred it may be too late to react all bits causing problem may already be transmitted cause of problem may have already gone away Alternative? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-139

140 E2E Transmission Control Open-Loop Rate Control admission control Initial negotiation admission control limits traffic to available resources 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-140

141 E2E Transmission Control Open-Loop Rate Control admission control receiver negotiation Initial negotiation admission control limits traffic to available resources receiver negotiates what it can accept (flow control) 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-141

142 E2E Transmission Control Open-Loop Rate Control admission control receiver negotiation rate scheduling rate policing conforming traffic Initial negotiation admission control limits traffic to available resources receiver negotiates what it can accept (flow control) Steady state policing enforces traffic contract from transmitter 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-142

143 E2E Transmission Control Open-Loop Rate Control admission control receiver negotiation rate scheduling rate policing conforming traffic excess traffic Initial negotiation admission control limits traffic to available resources receiver negotiates what it can accept (flow control) Steady state policing enforces traffic contract from transmitter excess traffic may be marked and passed if capacity available 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-143

144 E2E Transmission Control Open-Loop Rate Control Parameters r p r a uniform bursty time Main parameters peak rate r p average rate r a burstiness (peak to average ratio or max burst size) Derived parameters jitter 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-144

145 E2E Transmission Control Open-Loop Rate Control: Connections Requires connection establishment (dis)advantages? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-145

146 E2E Transmission Control Open-Loop Rate Control: Connections Requires connection establishment overhead and delay for connection setup optimistic establishment or fast reservations ameliorate + QOS guarantees possible in steady state + feedback control loops not needed during transmission + network stability less dependent on congestion control unless resources significantly overbooked some connections may not be admitted lecture TQ 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-146

147 E2E Transmission Control Closed-Loop Flow and Congestion Control congestion control network flow control packet scheduling Flow control sender receiver Congestion control sender network Packet scheduling Lecture TQ 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-147

148 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-148

149 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-149

150 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-150

151 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-151

152 E2E Transmission Control Closed-Loop Congestion Control ECN receive window transmission scheduling AQM Initial negotiation amount of unacknowledged data can be sent into network maintained as congestion window at sender initial conservative default 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-152

153 E2E Transmission Control Closed-Loop Congestion Control ECN receive window transmission scheduling AQM Initial negotiation amount of unacknowledged data can be sent into network Data transfer congestion window adjusted to adapt to congestion 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-153

154 Congestion Control Ideal Network throughput delay carried load delay offered load Ideal network throughput characteristics? delay characteristics? offered load October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-154

155 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? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-155

156 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-156

157 Congestion Control Ideal Network throughput ideal delay carried load delay ideal offered load offered load 1.0 Desired network: what happens to carried load? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-157

158 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? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-158

159 Congestion Control Causes of Congestion Congestion when offered load link capacity Best effort occurs whenever load is high Probabilistic guarantees occurs when load exceeds resource reservations Absolute guarantees can t happen (in theory) 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-159

160 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 TQ delay d min offered load knee ideal October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-160

161 Congestion Control Finite Buffers with Retransmission Finite buffers cause packet loss retransmissions contribute to offered load assuming reliable protocol throughput curve levels off 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-161

162 Multiple hops Congestion Control Multihop Network downstream packet loss upstream transmission wasted 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-162

163 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-163

164 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-164

165 End-to-end action Throttle source Congestion Control End-to-End Action reduce transmission rates prevent unnecessary retransmissions Types explicit implicit 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-165

166 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-166

167 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-167

168 E2E Transmission Control Closed-Loop Control: Initialisation Initial small window sent assume 1 TPDU 0 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-168 1

169 E2E Transmission Control Closed-Loop Control: Initialisation Initial small window sent assume 1 TPDU TPDU acknowledged A October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-169 2

170 E2E Transmission Control Closed-Loop Control: Initialisation Initial small window sent assume 1 TPDU TPDU acknowledged Window doubled TPDU + one more sent A October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-170 3

171 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-171 4

172 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-172 5

173 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-173

174 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-174

175 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-175

176 E2E Transmission Control Closed-Loop Control: Window Size Window size critical what happens with increasing bandwidth? A A A2 4 4 A3 5 5 A4 6 6 A5 slow path 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-176

177 E2E Transmission Control Closed-Loop Control: Window Size Window size critical big enough to fill pipe How to determine size? A0 A1 A2 A3 A4 A A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A slow path fast path 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-177

178 E2E Congestion Control Closed-Loop Control initialisation steady state phase sending rate slow start Initialisation phase: slow start Steady-state phase? time 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-178

179 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-179

180 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] 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-180

181 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-181

182 Implicit control E2E Congestion Control Closed-Loop Implicit Control missing ACK assumed to be congestion good assumption? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-182

183 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-183

184 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? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-184

185 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) 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-185

186 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? 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-186

187 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 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-187

188 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 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-188

189 E2E Transmission Control Closed-Loop Control: Steady State Implicit control standard with fast retransmit Explicit control ECN 03 October 2016 KU EECS 780 Comm Nets E2E Transport NET-TL-189

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

ITTC Introduction to Communication Networks The University of Kansas EECS 563 End-to-End Transport 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

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

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

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

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

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

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

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

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

3. Quality of Service

3. Quality of Service 3. Quality of Service Usage Applications Learning & Teaching Design User Interfaces Services Content Process ing Security... Documents Synchronization Group Communi cations Systems Databases Programming

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

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

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

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

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

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

CHAPTER 9: PACKET SWITCHING N/W & CONGESTION CONTROL

CHAPTER 9: PACKET SWITCHING N/W & CONGESTION CONTROL CHAPTER 9: PACKET SWITCHING N/W & CONGESTION CONTROL Dr. Bhargavi Goswami, Associate Professor head, Department of Computer Science, Garden City College Bangalore. PACKET SWITCHED NETWORKS Transfer blocks

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

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

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

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

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

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

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

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

ITTC High-Performance Networking The University of Kansas EECS 881 Control and Signalling

ITTC High-Performance Networking The University of Kansas EECS 881 Control and Signalling High-Performance Networking The University of Kansas EEC 881 Control and ignalling James P.G. terbenz Department of Electrical Engineering & Computer cience Information Technology & Telecommunications

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

Toward a Reliable Data Transport Architecture for Optical Burst-Switched Networks

Toward a Reliable Data Transport Architecture for Optical Burst-Switched Networks Toward a Reliable Data Transport Architecture for Optical Burst-Switched Networks Dr. Vinod Vokkarane Assistant Professor, Computer and Information Science Co-Director, Advanced Computer Networks Lab University

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

CCNA Exploration1 Chapter 7: OSI Data Link Layer

CCNA Exploration1 Chapter 7: OSI Data Link Layer CCNA Exploration1 Chapter 7: OSI Data Link Layer LOCAL CISCO ACADEMY ELSYS TU INSTRUCTOR: STELA STEFANOVA 1 Explain the role of Data Link layer protocols in data transmission; Objectives Describe how the

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

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

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

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

Lecture 4: CRC & Reliable Transmission. Lecture 4 Overview. Checksum review. CRC toward a better EDC. Reliable Transmission

Lecture 4: CRC & Reliable Transmission. Lecture 4 Overview. Checksum review. CRC toward a better EDC. Reliable Transmission 1 Lecture 4: CRC & Reliable Transmission CSE 123: Computer Networks Chris Kanich Quiz 1: Tuesday July 5th Lecture 4: CRC & Reliable Transmission Lecture 4 Overview CRC toward a better EDC Reliable Transmission

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

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

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

CSE 123: Computer Networks Alex C. Snoeren. HW 1 due NOW!

CSE 123: Computer Networks Alex C. Snoeren. HW 1 due NOW! CSE 123: Computer Networks Alex C. Snoeren HW 1 due NOW! Automatic Repeat Request (ARQ) Acknowledgements (ACKs) and timeouts Stop-and-Wait Sliding Window Forward Error Correction 2 Link layer is lossy

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

ITTC High-Performance Networking The University of Kansas EECS 881 Architecture and Topology

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

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.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

Flow Control. Flow control problem. Other considerations. Where?

Flow Control. Flow control problem. Other considerations. Where? Flow control problem Flow Control An Engineering Approach to Computer Networking Consider file transfer Sender sends a stream of packets representing fragments of a file Sender should try to match rate

More information

Transport Protocols. ISO Defined Types of Network Service: rate and acceptable rate of signaled failures.

Transport Protocols. ISO Defined Types of Network Service: rate and acceptable rate of signaled failures. Transport Protocols! Type A: ISO Defined Types of Network Service: Network connection with acceptable residual error rate and acceptable rate of signaled failures. - Reliable, sequencing network service

More information

CMPE150 Midterm Solutions

CMPE150 Midterm Solutions CMPE150 Midterm Solutions Question 1 Packet switching and circuit switching: (a) Is the Internet a packet switching or circuit switching network? Justify your answer. The Internet is a packet switching

More information

EE 122: IP Forwarding and Transport Protocols

EE 122: IP Forwarding and Transport Protocols EE 1: IP Forwarding and Transport Protocols Ion Stoica (and Brighten Godfrey) TAs: Lucian Popa, David Zats and Ganesh Ananthanarayanan http://inst.eecs.berkeley.edu/~ee1/ (Materials with thanks to Vern

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

CHAPTER 3 EFFECTIVE ADMISSION CONTROL MECHANISM IN WIRELESS MESH NETWORKS

CHAPTER 3 EFFECTIVE ADMISSION CONTROL MECHANISM IN WIRELESS MESH NETWORKS 28 CHAPTER 3 EFFECTIVE ADMISSION CONTROL MECHANISM IN WIRELESS MESH NETWORKS Introduction Measurement-based scheme, that constantly monitors the network, will incorporate the current network state in the

More information

416 Distributed Systems. Networks review; Day 1 of 2 Jan 5 + 8, 2018

416 Distributed Systems. Networks review; Day 1 of 2 Jan 5 + 8, 2018 416 Distributed Systems Networks review; Day 1 of 2 Jan 5 + 8, 2018 1 Distributed Systems vs. Networks Low level (c/go) Run forever Support others Adversarial environment Distributed & concurrent Resources

More information

Reliable Transport I: Concepts and TCP Protocol

Reliable Transport I: Concepts and TCP Protocol Reliable Transport I: Concepts and TCP Protocol Stefano Vissicchio UCL Computer Science COMP0023 Today Transport Concepts Layering context Transport goals Transport mechanisms and design choices TCP Protocol

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

Different Layers Lecture 20

Different Layers Lecture 20 Different Layers Lecture 20 10/15/2003 Jian Ren 1 The Network Layer 10/15/2003 Jian Ren 2 Network Layer Functions Transport packet from sending to receiving hosts Network layer protocols in every host,

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

Page 1. Goals for Today" Discussion" Example: Reliable File Transfer" CS162 Operating Systems and Systems Programming Lecture 11

Page 1. Goals for Today Discussion Example: Reliable File Transfer CS162 Operating Systems and Systems Programming Lecture 11 Goals for Today" CS162 Operating Systems and Systems Programming Lecture 11 Reliability, Transport Protocols" Finish e2e argument & fate sharing Transport: TCP/UDP Reliability Flow control October 5, 2011

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

Congestion Control in Communication Networks

Congestion Control in Communication Networks Congestion Control in Communication Networks Introduction Congestion occurs when number of packets transmitted approaches network capacity Objective of congestion control: keep number of packets below

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

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

User Datagram Protocol

User Datagram Protocol Topics Transport Layer TCP s three-way handshake TCP s connection termination sequence TCP s TIME_WAIT state TCP and UDP buffering by the socket layer 2 Introduction UDP is a simple, unreliable datagram

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

EEC-484/584 Computer Networks. Lecture 16. Wenbing Zhao

EEC-484/584 Computer Networks. Lecture 16. Wenbing Zhao EEC-484/584 Computer Networks Lecture 16 wenbing@ieee.org (Lecture nodes are based on materials supplied by Dr. Louise Moser at UCSB and Prentice-Hall) Outline 2 Review Services provided by transport layer

More information

Mobile Wireless Networking Medium Access Control

Mobile Wireless Networking Medium Access Control Mobile Wireless Networking The University of Kansas EECS 882 Medium Access Control James P.G. Sterbenz Department of Electrical Engineering & Computer Science Information Technology & Telecommunications

More information

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1 OSI Transport Layer Network Fundamentals Chapter 4 Version 4.0 1 Transport Layer Role and Services Transport layer is responsible for overall end-to-end transfer of application data 2 Transport Layer Role

More information

Chapter 3. The Data Link Layer. Wesam A. Hatamleh

Chapter 3. The Data Link Layer. Wesam A. Hatamleh Chapter 3 The Data Link Layer The Data Link Layer Data Link Layer Design Issues Error Detection and Correction Elementary Data Link Protocols Sliding Window Protocols Example Data Link Protocols The Data

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

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet Chapter 2 - Part 1 The TCP/IP Protocol: The Language of the Internet Protocols A protocol is a language or set of rules that two or more computers use to communicate 2 Protocol Analogy: Phone Call Parties

More information

Question. Reliable Transport: The Prequel. Don t parse my words too carefully. Don t be intimidated. Decisions and Their Principles.

Question. Reliable Transport: The Prequel. Don t parse my words too carefully. Don t be intimidated. Decisions and Their Principles. Question How many people have not yet participated? Reliable Transport: The Prequel EE122 Fall 2012 Scott Shenker http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks to Jennifer Rexford, Ion Stoica,

More information

Module objectives. Integrated services. Support for real-time applications. Real-time flows and the current Internet protocols

Module objectives. Integrated services. Support for real-time applications. Real-time flows and the current Internet protocols Integrated services Reading: S. Keshav, An Engineering Approach to Computer Networking, chapters 6, 9 and 4 Module objectives Learn and understand about: Support for real-time applications: network-layer

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

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

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

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

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

Internet Design Principles and Architecture

Internet Design Principles and Architecture Internet Design Principles and Architecture Venkat Padmanabhan Microsoft Research 2 April 2001 Venkat Padmanabhan 1 Lecture Outline A brief history of the Internet How is the Internet different from the

More information

What Is Congestion? Effects of Congestion. Interaction of Queues. Chapter 12 Congestion in Data Networks. Effect of Congestion Control

What Is Congestion? Effects of Congestion. Interaction of Queues. Chapter 12 Congestion in Data Networks. Effect of Congestion Control Chapter 12 Congestion in Data Networks Effect of Congestion Control Ideal Performance Practical Performance Congestion Control Mechanisms Backpressure Choke Packet Implicit Congestion Signaling Explicit

More information

STEVEN R. BAGLEY PACKETS

STEVEN R. BAGLEY PACKETS STEVEN R. BAGLEY PACKETS INTRODUCTION Talked about how data is split into packets Allows it to be multiplexed onto the network with data from other machines But exactly how is it split into packets and

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

ECE 333: Introduction to Communication Networks Fall 2001

ECE 333: Introduction to Communication Networks Fall 2001 ECE 333: Introduction to Communication Networks Fall 2001 Lecture 28: Transport Layer III Congestion control (TCP) 1 In the last lecture we introduced the topics of flow control and congestion control.

More information

Reliable Transport I: Concepts and TCP Protocol

Reliable Transport I: Concepts and TCP Protocol Reliable Transport I: Concepts and TCP Protocol Brad Karp UCL Computer Science CS 3035/GZ01 29 th October 2013 Part I: Transport Concepts Layering context Transport goals Transport mechanisms 2 Context:

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

CC-SCTP: Chunk Checksum of SCTP for Enhancement of Throughput in Wireless Network Environments

CC-SCTP: Chunk Checksum of SCTP for Enhancement of Throughput in Wireless Network Environments CC-SCTP: Chunk Checksum of SCTP for Enhancement of Throughput in Wireless Network Environments Stream Control Transmission Protocol (SCTP) uses the 32-bit checksum in the common header, by which a corrupted

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

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

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

Shared, Multi-Hop Networks and End-to-End Arguments

Shared, Multi-Hop Networks and End-to-End Arguments Shared, Multi-Hop Networks and End-to-End Arguments Stefano Vissicchio UCL Computer Science COMP0023 Outline Shared, Multi-hop Networks Sharing model Forwarding model Service model: Best-effort delivery

More information

Ad hoc and Sensor Networks Chapter 6: Link layer protocols. Holger Karl

Ad hoc and Sensor Networks Chapter 6: Link layer protocols. Holger Karl Ad hoc and Sensor Networks Chapter 6: Link layer protocols Holger Karl Goals of this chapter Link layer tasks in general Framing group bit sequence into packets/frames Important: format, size Error control

More information

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16 Guide To TCP/IP, Second Edition Chapter 5 Transport Layer TCP/IP Protocols Objectives Understand the key features and functions of the User Datagram Protocol (UDP) Explain the mechanisms that drive segmentation,

More information

Communication Networks

Communication Networks Communication Networks Prof. Laurent Vanbever Exercises week 4 Reliable Transport Reliable versus Unreliable Transport In the lecture, you have learned how a reliable transport protocol can be built on

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

Links Reading: Chapter 2. Goals of Todayʼs Lecture. Message, Segment, Packet, and Frame

Links Reading: Chapter 2. Goals of Todayʼs Lecture. Message, Segment, Packet, and Frame Links Reading: Chapter 2 CS 375: Computer Networks Thomas Bressoud 1 Goals of Todayʼs Lecture Link-layer services Encoding, framing, and error detection Error correction and flow control Sharing a shared

More information

Topics. Link Layer Services (more) Link Layer Services LECTURE 5 MULTIPLE ACCESS AND LOCAL AREA NETWORKS. flow control: error detection:

Topics. Link Layer Services (more) Link Layer Services LECTURE 5 MULTIPLE ACCESS AND LOCAL AREA NETWORKS. flow control: error detection: 1 Topics 2 LECTURE 5 MULTIPLE ACCESS AND LOCAL AREA NETWORKS Multiple access: CSMA/CD, CSMA/CA, token passing, channelization LAN: characteristics, i basic principles i Protocol architecture Topologies

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

User Datagram Protocol (UDP):

User Datagram Protocol (UDP): SFWR 4C03: Computer Networks and Computer Security Feb 2-5 2004 Lecturer: Kartik Krishnan Lectures 13-15 User Datagram Protocol (UDP): UDP is a connectionless transport layer protocol: each output operation

More information

Chapter 3: Transport Layer

Chapter 3: Transport Layer Chapter 3: Transport Layer Chapter goals: understand principles behind transport layer services: multiplexing/demultiplex ing reliable data transfer flow control congestion control instantiation and implementation

More information

Airborne Telemetry Networking Scenario and Environment

Airborne Telemetry Networking Scenario and Environment Highly-Dynamic Ad Hoc Airborne Networking for Telemetry Test and Evaluation James P.G. Sterbenz Abdul Jabbar, Erik Perrins, Justin Rohrer Department of Electrical Engineering & Computer Science Information

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

Computer Networking. Queue Management and Quality of Service (QOS)

Computer Networking. Queue Management and Quality of Service (QOS) Computer Networking Queue Management and Quality of Service (QOS) Outline Previously:TCP flow control Congestion sources and collapse Congestion control basics - Routers 2 Internet Pipes? How should you

More information