Transport Layer Part 1

Post on 20-Jun-2015

385 views 0 download

Tags:

transcript

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