Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

21
Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University

Transcript of Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

Page 1: Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

Transport Layer

Natawut Nupairoj, Ph.D.

Department of Computer Engineering

Chulalongkorn University

Page 2: Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

Outline

Overview. Transport Layer Functions. UDP and TCP protocols.

Page 3: Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

Overview

Core of OSI and TCP/IP protocols. Interface between lower-level and upper-level

protocols (even application layers). Provide network-independent interface

Application-to-application delivery.

Page 4: Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

Transport Layer

Page 5: Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

Network-Independent Interface

Page 6: Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

Example: TCP Layer

Page 7: Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

Transport Layer Functions

Application-to-application delivery. Addressing

For not just end-to-end, but for application-to-application.

Service access point. Some transports: reliable layer over

unreliable network layer.

Page 8: Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

Service Access Point: Port

Page 9: Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

Well-Known Port Addresses

Port 80 – HTTP (web server). Port 25 – SMTP (mail server). Port 23 – Telnet. Port 22 – SSH. Port 110 – POP3.

Page 10: Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

Reliable Delivery

Error control Corrupted packets.

Sequence control Delay packets. Out-of-order delivery. Transmission speed mismatches.

Loss control Lost packets.

Duplicate control Duplicate packets.

Page 11: Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

Providing Reliability

Assume unreliable network layer. Use flow control – variable-size sliding

window protocol Acknowledgement. Window size is dynamic and adjustable in real-

time.

Page 12: Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

UDP: User Datagram Protocol

Connectionless transport protocol. Simple and efficient:

no connection setup. no flow control.

Unreliable. Discard when error occurs.

Page 13: Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

UDP Datagram Format

Page 14: Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

TCP: Transmission Control Protocol

Features Connection-oriented. Reliable. Full duplex. Assume unreliable network protocol. Flow control and congestion control. Three-way handshake for connection establishment. Application sends/receives data as “stream”.

Page 15: Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

TCP Segment Format

Page 16: Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

TCP Flow Control

Variable-size sliding window protocol: Sequence number: the first byte being sent. Acknowledgement: the next byte expected. Window size: control the transmission speed.

0 = receive all, but want to more data.

Out of order segments ? Depending on the receiver: Kept or discard.

Page 17: Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

TCP Sliding Window Protocol

Page 18: Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

TCP Sliding Window Protocol

Page 19: Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

TCP Congestion Control

Congestion - 2 causes: fast network, low-capacity receiver. slow network, high-capacity receiver.

Using window size. Sender maintains 2 windows:

receiving window. congestion window. The effective window is the minimum of the two w

indow.

Page 20: Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

TCP Congestion Window

After connection is established: congestion window size = one maximum segment

s (negotiate during connection). 64K threshold.

Sender sends one maximum segment. If the ack comes back before timeout, double the congestion window size.

Page 21: Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.

TCP Congestion Window

Keep sending until: reach the threshold: increase the window size by

one. reach the receiving window size: no more increasi

ng. timeout: set threshold = half of the current conges

tion window size and start sending from one maximum segment again.