Date post: | 20-Jun-2015 |
Category: |
Technology |
Upload: | tutun-juhana |
View: | 385 times |
Download: | 0 times |
Transport Layer
Computer Networks
Tutun JuhanaTelecommunication EngineeringSchool of Electrical Engineering & InformaticsInstitut Teknologi Bandung
6
TRANSPORT LAYER SERVICES
3
Process-to-Process Communication
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
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
6
7
8
ICANN Ranges
9
Socket Addresses
• Socket address is the combination of an IP address and a port number
10
Encapsulation and Decapsulation
11
Multiplexing and Demultiplexing
12
Flow Control
13
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
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.
16
17
Sequence Numbers
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
19
Combination of Flow and Error Control
20
21
Congestion Control
• Congestion control refers to the mechanisms and techniques to control the congestion and keep the load below the capacity
22
Open-Loop Congestion Control
• Retransmission Policy• Window Policy• Acknowledgment Policy
23
Closed-Loop Congestion Control
• Closed-loop congestion control mechanisms try to alleviate congestion after it happens
24
Connectionless and Connection-Oriented Services
25
26
TRANSPORT-LAYER PROTOCOLS
27
Simple Protocol
28
Stop-and-Wait Protocol
29
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.
31
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
33
Go-Back-N Protocol
34
35
36
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
38
39
40
41
42
Selective-Repeat Protocol
43
44
45
46
47
Bidirectional Protocols: Piggybacking