Download presentation
Presentation is loading. Please wait.
Published byEugenia Beverly Lester Modified over 9 years ago
1
1 Kyung Hee University Chapter 13 Introduction to the Transport Layer
2
2 Kyung Hee University 13.1 Transport-Layer Services Process-to-Process Communication Addressing : Port Numbers Encapsulation and Decapsulation Multiplexing and Demultiplexing Flow Control Error Control Congestion Control Connectionless and Connection-Oriented Services
3
3 Kyung Hee University Process-to-Process Communication Process is an application-layer entity Responsible for delivery of the message to the appropriate process
4
4 Kyung Hee University Addressing : Port Number Client-server paradigm : the most common way to achieve process-to-process communication Process on local host needs service from a process on the remote host Both processes have the same name : Daytime process To support several program at the same time, we must define Local host Local process Remote host Remote process
5
5 Kyung Hee University Addressing : Port Number To define the hosts, we use IP addresses To define the processes, we need second identifiers Port number In the TCP/IP protocol suite, port numbers are integers between 0 and 65,535 Ephemeral port number Recommended to be greater than 1,023 Well-known port number Universal port numbers for servers
6
6 Kyung Hee University Port Numbers
7
7 Kyung Hee University IP Addresses versus Port Numbers
8
8 Kyung Hee University ICANN Ranges Well-known ports : 0 ~ 1,023 Assigned and controlled by ICANN Registered ports : 1,024 ~ 49,151 Not assigned and controlled by ICANN Can be registered with ICANN to prevent duplication Dynamic ports : 49,152 ~ 65,535 Can be used as temporary or private port number
9
9 Kyung Hee University Example 13.1 In UNIX, the well-known ports are stored in a file called /etc/services. Each line in this file gives the name of the server and the well-known port number. We can use the grep utility to extract the line corresponding to the desired application. The following shows the port for TFTP. Note that TFTP can use port 69 on either UDP or TCP. SNMP uses two port numbers (161 and 162), each for a different purpose.
10
10 Kyung Hee University Socket Address The combination of an IP address and a port number
11
11 Kyung Hee University Encapsulation and Decapsulation Encapsulation Happen at the sender site Add the transport-layer header Decapsulation Happen at the receiver site The header is dropped
12
12 Kyung Hee University Mutiplexing and Demultiplexing Multiplexing Entity accepts items from more than one source Demultiplexing Entity deliver items to more than one source
13
13 Kyung Hee University Flow Control Balance between production and consumption rates Delivery of items from a producer to a consumer Pushing : sender delivers items whenever they produced Pulling : producer delivers the items after the consumer has requested
14
14 Kyung Hee University Flow Control at the Transport Layer One of solutions for flow control is normally to use buffers
15
15 Kyung Hee University Example 13.2 The above discussion requires that the consumers communicate with the producer in two occasions: when the buffer is full and when there are vacancies. If the two parties use a buffer of only one slot, the communication can be easier. Assume that each transport layer uses one single memory location to hold a packet. When this single slot in the sending transport layer is empty, the sending transport layer sends a note the application layer to send its next chunk; when this single slot in the receiving transport layer is empty, it sends an acknowledgment to the sending transport layer to send its next packet. As we will see later, this type of flow control, using a single-slot buffer at the sender and the receiver, is inefficient.
16
16 Kyung Hee University Error Control Detect and discard corrupted packets. Keep track of lost and discarded packets and resend them. Recognize duplicate packets and discard them. Buffer out-of-order packets until the missing packets arrive.
17
17 Kyung Hee University Error Control Sequence Number Which packet is to be resent Which packet is a duplicate Which packet has arrived out of order This can be done if the packets are numbered Acknowledgment The receiver side can send an acknowledgement for each or a collection of packets that have arrived safe and sound
18
18 Kyung Hee University Combination of Flow and Error Control Flow control requires the use of two buffers, one at sender site and other at the receiver site. Error control requires the use of sequence and acknowledgment number by both sides. Sliding window
19
19 Kyung Hee University Sliding window in circular format
20
20 Kyung Hee University Sliding window in linear format
21
21 Kyung Hee University Congestion Control Occur if the load on the network is greater than the capacity of the network Open-loop congestion control :prevent congestion before it happens Retransmission policy : using retransmission timer Window policy : selective repeat and go-back-N window Acknowledgment policy : using timer, a ACK for N packets Closed-loop congestion control alleviating congestion after it happens Flexible window size
22
22 Kyung Hee University Connectionless and Connection-Oriented Service Connectionless service Divide messages into chunks of data No dependency between the packets The packets may arrive out of order Connection-oriented service Establish a connection between a server and a client. After data exchange, the connection needs to be teared down
23
23 Kyung Hee University Connectionless Service
24
24 Kyung Hee University Connection-Oriented Service Connection-close request ⑤ ⑤
25
25 Kyung Hee University 13.2 Transport-Layer Protocols Simple connectionless protocol No flow control and error control Connection-oriented protocol Stop-and-Wait protocol l Provide flow and error control Go-Back-N protocol l Efficient version of Stop-and-Wait protocol Selective-Repeat Protocol l Suited to handle packet loss Piggybacking
26
26 Kyung Hee University Simple Protocol No flow nor error control based connectionless protocol
27
27 Kyung Hee University Example 13.3 Figure 13.18 shows an example of communication using the protocol. It is very simple. The sender sends packets one after another without even thinking about the receiver.
28
28 Kyung Hee University Stop-and-Wait Protocol Use both flow and error control Both the sender and the receiver use a sliding window of size 1. The sender sends one packet and waits for an ACK before sending the next one. Add a checksum to detect corrupted packets When sender sends a packet, it starts a timer If an ACK arrives, timer is stopped Either the packet was lost or corrupted, the sender resends the previous packet
29
29 Kyung Hee University Stop-and-Wait Protocol
30
30 Kyung Hee University Stop-and-Wait Protocol Sequence Number To prevent duplicate packets A field is added to the packet header to hold the sequence number Use x as a sequence number, x+1 as a acknowledgment number Acknowledgement number Sequence number of the next packet expected by the receiver
31
31 Kyung Hee University Example 13.4 Following figure shows an example of Sop-and Wait protocol. Packet 0 is sent and acknowledged. Packet 1 is lost and resent after the time-out. The resent packet 1 is acknowledged and the timer stops. Packet 0 is sent and acknowledged, but the acknowledgment is lost. The sender has no idea if the packet or the acknowledgment is lost, so after the time-out, it resends packet 0, which is acknowledged.
32
32 Kyung Hee University Flow Diagram for Example 13.4
33
33 Kyung Hee University Example 13.5 Assume that, in a Stop-and-Wait system, the bandwidth of the line is 1 Mbps, and 1 bit takes 20 milliseconds to make a round trip. What is the bandwidth-delay product? If the system data packets are 1,000 bit in length, what is the utilization percentage of the link? Solution The bandwidth-delay product is (1 x 10 6 ) x (20 x 10 -3 ) = 20,000 bits. The system can send 20,000 bits during the time it takes for the data to go from the sender to the receiver and the acknowledgment to come back. However, the system sends only 1,000 bits. We can say that the link utilization is only 1,000/20,000, or 5 percent. For this reason, for a link with a high bandwidth or long delay, the use of Stop-and Wait wastes the capacity of the link.
34
34 Kyung Hee University Example 13.6 What is the utilization percentage of the link in Example 13.5 if we have a protocol that can send up to 15 packets before stopping and worrying about the acknowledgement Solution The bandwidth-delay product is still 20,000 bits. The system can send up to 15 packets or 15,000 bits during a round trip. This means the utilization is 15,000/20,000, or 75 percent. Of course, if there are damaged packets, the utilization percentage is much less because packets have to be resent.
35
35 Kyung Hee University Go-Back-N Protocol To improve the efficiency of transmission, we can send several packets before receiving acknowledgments.
36
36 Kyung Hee University Send Window for Go-Back-N The send window is an abstract concept defining an imaginary box of maximum size = 2 m -1 with three variable : s f, sn, and s size. The send window can slide one or more slot when an error-free ACK with ackNo between S f and S n arrives.
37
37 Kyung Hee University Sliding the send window
38
38 Kyung Hee University Receive Window for Go-Back-N The receive window is an abstract concept defining an imaginary box of size 1 with one single variable Rn. The window slides when a correct packet has arrived: sliding occurs one slot at a time.
39
39 Kyung Hee University Send Window Size for Go-Back-N In the Go-Back-N protocol, the size of the send window must be less than 2 m ; the size of the receive window is always 1.
40
40 Kyung Hee University Example 13.7 Following figure shows an example of Go-Back-N. This is an example of a case where the forward channel is reliable, but the reverse is not. No data packets are lost, but some ACKs are delayed and one is lost. The example also shows how cumulative acknowledgements can help if acknowledgements are delayed of lost.
41
41 Kyung Hee University Flow Diagram for Example 13.7
42
42 Kyung Hee University Example 13.8 Following figure shows what happen when a packet is lost. Packets 0, 1, 2, and 3 are sent. However, packet 1 is lost. The receiver receives packets 2 and 3, but they are discarded because they are received out of order. When the receiver receives packets 2 and 3, it send ACK 1 to show that it expects to receive packet 1. However, these ACKs are nor useful for the sender because the ackNo is equal Sf, not greater that Sf. So the sender discards them. When the time-out occur, the sender resends packets 1, 2, and 3, which are acknowledged.
43
43 Kyung Hee University Flow Diagram for Example 13.8
44
44 Kyung Hee University Selective-Repeat Protocol The Go-Back-N protocol simplifies the process of receiver No need to buffer out-of-order packets Inefficient when the underlying network protocol loses a lot of packets SR(Selective-Repeat) protocol devised above. Resend only selective packets
45
45 Kyung Hee University Outline of Selective-Repeat
46
46 Kyung Hee University Send Window for Selective-Repeat protocol
47
47 Kyung Hee University Receive Window for Selective-Repeat protocol
48
48 Kyung Hee University Example 13.9 Assume a sender sends 6 packets: packets 0, 1, 2, 3, 4, and 5. The sender receives an ACK with ackNo=3. What is the interpretation if the system is using GBN or SR ? Solution If the system is using GBN, it means that packet 0, 1, and 2 have been received uncorrupted and the receiver is expecting packet 3. in using SR, it means that packet 3 has been received uncorrupted; the ACK does not say anything about other pakcets.
49
49 Kyung Hee University Example 13.10 This example is similar to Example 3.8 in which packet 1 is lost. We show how Selective-Repeat behave in this case. Figure 13.34 shows the situation. At the sender, packet 0 is transmitted and acknowledged. Packet 1 is lost. Packet 2 and 3 arrive out of order and are acknowledged. When the timer times out, packet 1 is resent and is acknowledged. The send window then slides.
50
50 Kyung Hee University Flow Diagram of 13.10
51
51 Kyung Hee University Selective-Repeat Window Size
52
52 Kyung Hee University Bidirectional Protocols : Piggybacking Previous protocols are unidirectional Data packets flow in only one direction and acknowledgement travel in the other direction In real life, data flow and acknowledgement need to flow in both direction. Piggybacking is used to improved the efficiency of the bidirectional protocols When a packet is carrying data from A to B, it can also carry acknowledgement feedback about arrived packets from B
53
53 Kyung Hee University Design of Piggybacking in Go-Back-N
54
54 Kyung Hee University Summary(1) The main duty of a transport-layer protocol is to provide process-to-process communication. To define the processes, we need port number. The client program defines itself with an ephemeral port number. The server defines itself with a well-known port number. To send a message from one process to another, the transport layer protocol encapsulates and decapsulates messages. Encapsulation happens at the sender site. Decapsulation happens at the receiver site. The transport layer at the source perform multiplexing, collecting messages from server processes for transmission; the transport layer at the destination performs demultiplexing, delivering messages to different processes. Flow control balances the exchange of data items between a producer and a consumer. At the transport layer, we use buffers to hold packets when the consumer is not ready to accept them. Reliability at the transport layer can be achieved by adding error control, which includes detection of corrupted packets, reordering packets that arrived out of order. To manage flow and error control, we use sequence numbers to number packets and use acknowledgement numbers to refer to the numbered packets.
55
55 Kyung Hee University Summary(2) A transport layer can provide two types of congestion control: open-loop and closed-loop. In an open-loop congestion control, the protocol tries to avoid the congestion; in closed-loop congestion control, the protocol tries to detect and remove the congestion after it occurred. A transport-layer protocol can provide two types of services: connectionless and connection-oriented. In a connectionless service, the sender sends packets to the receiver without any connection establishment. In a connection- oriented service, the client and the server first need to establish a connection between themselves. The data exchange can only happen after the connection establishment. After data exchange, the connection needs to be torn down. We have discussed several common transport-layer protocols in this chapter. The simple connectionless protocol provides neither flow control nor error control. The connection-oriented Stop-and-Wait protocol provides both flow and error control, but is inefficient. The Go-Back-N protocol is more efficient version of the Stop-and-Wait protocol that takes advantage of pipelining. The Selective-Repeat protocol is a modification of the Go-Back-N protocol that is better suited to handle packet loss. All of these protocol can be implemented bidirectionally using piggybacking.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.