Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 17. Transport Protocols

Similar presentations


Presentation on theme: "Chapter 17. Transport Protocols"— Presentation transcript:

1 Chapter 17. Transport Protocols
Transport Services Protocol Mechanisms TCP UDP

2 Transport Protocols MIME BGP FTP HTTP SMTP TELNET SNMP TCP UDP ICMP
OSPF IP

3 Transport Services Type of service Quality of service Data transfer
connection-oriented, connectionless Quality of service Acceptable error and loss levels Desired average and maximum delay Desired average and minimum throughput Priority levels Data transfer Full-duplex service

4 Transport Services (cont)
User Interface Connection management Expedited delivery Used to transfer occasional urgent data, such as break character or an alarm condition Status reporting Performance characteristics of a connection Addresses (network, transport), etc. Security

5 Protocol Mechanisms Reliable sequencing network service
Highly reliable packet-switching network with an X.25 interface Frame relay using LAPF control protocol IEEE LAN using the connection-oriented LLC service Allows using a quite simple transport protocol Issues need to be addressed Addressing, Multiplexing, Flow control, Connection establishment/termination

6 Reliable Sequencing Net. Service
Addressing User identification, Transport entity identification Station address, Network number Multiplexing by either port numbers or service access points Flow control The receiving transport entity can: 1. Do nothing

7 Reliable Seq. Net. Service (cont)
2. Refuse to accept further segments from the network service Backpressure mechanism that relies on the network service to do the work 3. Use a fixed sliding-window protocol As in link layer protocols, but no need for retx The use of acknowledgements to advance the window 4. Use a credit scheme A segment may be acknowledged without granting new credit

8 Credit Allocation Mechanism

9 Sending & Receiving Flow Control

10 Reliable Seq. Net. Service (cont)
Connection setup 2-way handshake

11 Reliable Seq. Net. Service (cont)

12 Unreliable Network Service
Examples An internetwork using IP Frame relay using only the LAPF core protocol IEEE LAN using the unacknowledged connectionless LLC service Issues to be addressed Ordered delivery, Retransmission strategy Duplicate detection, Flow control Connection establishment/termination Crash recovery

13 Transport Protocol Timers

14 Unreliable Network Service (cont)
E.g. incorrect duplicate detection seq. space = 1600, win size = 600 Sender must not get confused if it receives multiple Ack to the same segment Sequence number space must be long enough 1 2

15 Unreliable Network Service (cont)
Begin seq. number = 1 Solution: start each new connection with a different seq. # that is far removed from the last seq. #. Using SYN i ?

16 Unreliable Network Service (cont)

17 E.g. Three-way Handshake

18 E.g. Three-way Handshake (cont)

19 TCP Entity State Diagram

20 TCP Entity State Diagram (cont)

21 Transmission Control Protocol
Two using facilities for labeling data Data stream push Ordinarily, TCP decides when sufficient data have accumulated to form a segment for transmission TCP user can require TCP to transmit all outstanding data up to and including those labeled with a push flag Urgent data signaling Provides a means of informing the destination TCP user that significant or “urgent” data is in the upcoming data stream

22 TCP Service Request Primitives

23 TCP Service Response Primitives

24 TCP Header Format

25 Scope of Checksum for TCP/UDP

26 TCP Implementation Policy Options
Send policy Deliver policy Accept policy In-order, In-window Retransmit policy First-only, Batch, Individual Acknowledge policy Immediate, Cumulative

27 TCP Congestion Control
Retransmission Timer Management Simple Average Exponential Average RTT Variance Estimation (Jacobson’s Algorithm) Exponential RTO Backoff Karn’s Algorithm Window Management Slow start Dynamic Window Sizing on Congestion

28 TCP Congestion Control (cont)
Simple Average RTT(i): round-trip time observed for the ith transmitted segment ARTT(K): average round-trip time for the first K segments or

29 TCP Congestion Control (cont)
Exponential Average SRTT: smoothed round-trip time estimate RTO: retransmission timer RFC793: Example values: a: 0.8 ~ 0.9, b: 1.3 ~ 2.0

30 Exponential Average

31 Exponential Average (cont)

32 RTT Variance Estimation
AERR(K): sample mean deviation measured at time K

33 RTT Variance Estimation (cont)
Jacobson’s Algorithm g = 1/8 = 0.125, h = ¼ = 0.25, f = 2

34 Jacobson’s RTO

35 Jacobson’s RTO (cont)

36 Exponential RTO Backoff
TCP source increases its RTO each time the same segment is retransmitted; this is referred to as a backoff process Multiply the RTO for a segment by a constant value for each retransmission RTO = q x RTO Most commonly used value of q is 2 Binary exponential backoff (the same as in CSMA/CD)

37 Karn’s Algorithm Do not use the measured RTT for a retransmitted segment to update SRTT and SDEV Using the backoff RTO when a retransmission occurs Use the backoff RTO value for succeeding segments until an acknowledgement arrives for a segment that has not been retransmitted

38 Slow Start awnd = MIN [credit, cwnd] When a new connection is opened
awnd: allowed window, in segments cwnd: congestion window, in segments credit: the amount of unused credit granted in the most recent acknowledgement, in segments When a new connection is opened TCP entity initialized cwnd = 1 Each time an acknowledgement is received, the value of cwnd is increased by 1, up to some maximum value

39 Dynamic Window Sizing Slow-start works effectively for initializing a connection It enables the TCP sender to determine quickly a reasonable window size for the connection When there is a surge in congestion? That is, when a segment is lost (timeout) Prudent procedure: reset cwnd = 1 and begin the slow-start process all over Jacobson points out that “it is easy to drive a network into saturation but hard for the net to recover” Thus, exponential growth of cwnd under slow start may be too aggressive  the use of slow-start to begin with, followed by a linear growth in cwnd

40 Dynamic Window Sizing (cont)
ssthresh = cwnd/2

41 User Datagram Protocol
optional


Download ppt "Chapter 17. Transport Protocols"

Similar presentations


Ads by Google