transport layer part 1
TRANSCRIPT
![Page 1: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/1.jpg)
Transport Layer
Computer Networks
Tutun JuhanaTelecommunication EngineeringSchool of Electrical Engineering & InformaticsInstitut Teknologi Bandung
6
![Page 2: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/2.jpg)
TRANSPORT LAYER SERVICES
![Page 3: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/3.jpg)
3
Process-to-Process Communication
![Page 4: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/4.jpg)
4
Addressing: Port Numbers
• To define the processes, we need identifiers called port numbers
• In the TCP/IP protocol suite, the port numbers are integers between 0 and 65,535
![Page 5: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/5.jpg)
5
• In client-server paradigm:– Client program defines itself ephemeral port
number Short lived recommended to be greater than 1,023
– Server process must use well-known port numbers
![Page 6: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/6.jpg)
6
![Page 7: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/7.jpg)
7
![Page 8: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/8.jpg)
8
ICANN Ranges
![Page 9: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/9.jpg)
9
Socket Addresses
• Socket address is the combination of an IP address and a port number
![Page 10: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/10.jpg)
10
Encapsulation and Decapsulation
![Page 11: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/11.jpg)
11
Multiplexing and Demultiplexing
![Page 12: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/12.jpg)
12
Flow Control
![Page 13: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/13.jpg)
13
![Page 14: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/14.jpg)
14
Although flow control can be implemented in several ways, one of the solutions is
normally to use two buffers. One at the sending transport layer and the other at the
receiving transport layer
![Page 15: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/15.jpg)
15
Error Control
1. Detect and discard corrupted packets.
2. Keep track of lost and discarded packets and resend them.
3. Recognize duplicate packets and discard them.
4. Buffer out-of-order packets until the missing packets arrive.
![Page 16: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/16.jpg)
16
![Page 17: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/17.jpg)
17
Sequence Numbers
![Page 18: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/18.jpg)
18
• We can use both positive and negative signals as error control
• The receiver side – can send an acknowledgement (ACK) for each or a collection of
packets that have arrived safe and sound– can simply discard the corrupted packets
• The sender can detect lost packets if it uses a timer– When a packet is sent, the sender starts a timer; when the timer
expires, if an ACK does not arrive before the timer expires, the sender resends the packet.
– Duplicate packets can be silently discarded by the receiver. Out-of order packets can be either discarded (to be treated as lost packets by the sender), or stored until the missing ones arrives.
Acknowledgment
![Page 19: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/19.jpg)
19
Combination of Flow and Error Control
![Page 20: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/20.jpg)
20
![Page 21: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/21.jpg)
21
Congestion Control
• Congestion control refers to the mechanisms and techniques to control the congestion and keep the load below the capacity
![Page 22: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/22.jpg)
22
Open-Loop Congestion Control
• Retransmission Policy• Window Policy• Acknowledgment Policy
![Page 23: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/23.jpg)
23
Closed-Loop Congestion Control
• Closed-loop congestion control mechanisms try to alleviate congestion after it happens
![Page 24: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/24.jpg)
24
Connectionless and Connection-Oriented Services
![Page 25: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/25.jpg)
25
![Page 26: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/26.jpg)
26
TRANSPORT-LAYER PROTOCOLS
![Page 27: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/27.jpg)
27
Simple Protocol
![Page 28: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/28.jpg)
28
Stop-and-Wait Protocol
![Page 29: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/29.jpg)
29
![Page 30: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/30.jpg)
30
Efficiency• The Stop-and-Wait protocol is very inefficient if our
channel is thick and long– By thick, we mean that our channel has a large bandwidth (high
data rate)– by long, we mean the round-trip delay is long– The product of the above two is called the bandwidth-delay
product– We can think of the channel as a pipe. The bandwidth-delay
product then is the volume of the pipe in bits– The pipe is always there. If we do not use it, we are inefficient. – The bandwidth-delay product is a measure of the number of bits
a sender can transmit through the system while waiting for an acknowledgment from the receiver.
![Page 31: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/31.jpg)
31
![Page 32: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/32.jpg)
32
Pipelining• In networking and in other areas, a task is
often begun before the previous task has ended This is known as pipelining
• There is no pipelining in the Stop-and-Wait protocol because a sender must wait for a packet to reach the destination and be acknowledged before the next packet can be sent
![Page 33: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/33.jpg)
33
Go-Back-N Protocol
![Page 34: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/34.jpg)
34
![Page 35: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/35.jpg)
35
![Page 36: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/36.jpg)
36
![Page 37: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/37.jpg)
37
• Timers– Although there can be a timer for each packet
that is sent, in our protocol we use only one. The reason is that the timer for the first outstanding packet always expires first. We resend all outstanding packets when this timer expires.
• Resending packets– When the timer expires, the sender resends
all outstanding packets
![Page 38: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/38.jpg)
38
![Page 39: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/39.jpg)
39
![Page 40: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/40.jpg)
40
![Page 41: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/41.jpg)
41
![Page 42: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/42.jpg)
42
Selective-Repeat Protocol
![Page 43: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/43.jpg)
43
![Page 44: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/44.jpg)
44
![Page 45: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/45.jpg)
45
![Page 46: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/46.jpg)
46
![Page 47: Transport Layer Part 1](https://reader035.vdocuments.us/reader035/viewer/2022062405/558457add8b42a6a6d8b53a8/html5/thumbnails/47.jpg)
47
Bidirectional Protocols: Piggybacking