SlideShare ist ein Scribd-Unternehmen logo
1 von 89
Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
23-1  PROCESS-TO-PROCESS DELIVERY The transport layer is responsible for process-to-process delivery—the delivery of a packet, part of a message, from one process to another. Two processes communicate in a client/server relationship, as we will see later.  Client/Server Paradigm Multiplexing and Demultiplexing Connectionless Versus Connection-Oriented Service Reliable Versus Unreliable Three Protocols Topics discussed in this section:
The transport layer is responsible for process-to-process delivery. Note
Figure 23.1  Types of data deliveries
Figure 23.2  Port numbers
Figure 23.3  IP addresses versus port numbers
Figure 23.4  IANA ranges
Figure 23.5  Socket address
Figure 23.6  Multiplexing and demultiplexing
Figure 23.7  Error control
Figure 23.8  Position of UDP, TCP, and SCTP in TCP/IP suite
23-2  USER DATAGRAM PROTOCOL (UDP) The User Datagram Protocol (UDP) is called a connectionless, unreliable transport protocol. It does not add anything to the services of IP except to provide process-to-process communication instead of host-to-host communication.  Well-Known Ports for UDP User Datagram Checksum UDP Operation Use of UDP Topics discussed in this section:
Table 23.1  Well-known ports used with UDP
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 FTP. Note that FTP can use port 21 with either UDP or TCP. Example 23.1
Example 23.1 (continued) SNMP uses two port numbers (161 and 162), each for a different purpose, as we will see in Chapter 28.
Figure 23.9  User datagram format
UDP length  =  IP length – IP header’s length Note
Figure 23.10  Pseudoheader for checksum calculation
Figure 23.11 shows the checksum calculation for a very small user datagram with only 7 bytes of data. Because the number of bytes of data is odd, padding is added for checksum calculation. The pseudoheader as well as the padding will be dropped when the user datagram is delivered to IP. Example 23.2
Figure 23.11  Checksum calculation of a simple UDP user datagram
Figure 23.12  Queues in UDP
23-3  TCP TCP is a connection-oriented protocol; it creates a virtual connection between two TCPs to send data. In addition, TCP uses flow and error control mechanisms at the transport level.  TCP Services TCP Features Segment A TCP Connection Flow Control Error Control Topics discussed in this section:
Table 23.2  Well-known ports used by TCP
Figure 23.13  Stream delivery
Figure 23.14  Sending and receiving buffers
Figure 23.15  TCP segments
The bytes of data being transferred in each connection are numbered by TCP. The numbering starts with a randomly generated number. Note
The following shows the sequence number for each segment: Example 23.3
The value in the sequence number field of a segment defines the number of the first data byte  contained in that segment. Note
The value of the acknowledgment field in a segment defines the number of the next byte a party expects to receive. The acknowledgment number is cumulative. Note
Figure 23.16  TCP segment format
Figure 23.17  Control field
Table 23.3  Description of flags in the control field
Figure 23.18  Connection establishment using three-way handshaking
A SYN segment cannot carry data, but it consumes one sequence number. Note
A SYN + ACK segment cannot  carry data, but does consume one  sequence number. Note
An ACK segment, if carrying no data, consumes no sequence number. Note
Figure 23.19  Data transfer
Figure 23.20  Connection termination using three-way handshaking
The FIN segment consumes one sequence number if it does  not carry data. Note
The FIN + ACK segment consumes  one sequence number if it  does not carry data. Note
Figure 23.21  Half-close
Figure 23.22  Sliding window
A sliding window is used to make transmission more efficient as well as to control the flow of data so that the destination does not become overwhelmed with data.  TCP sliding windows are byte-oriented. Note
What is the value of the receiver window (rwnd) for host A if the receiver, host B, has a buffer size of 5000 bytes and 1000 bytes of received and unprocessed data? Example 23.4 Solution The value of rwnd = 5000 − 1000 = 4000. Host B can receive only 4000 bytes of data before overflowing its buffer. Host B advertises this value in its next segment to A.
What is the size of the window for host A if the value of rwnd is 3000 bytes and the value of cwnd is 3500 bytes? Example 23.5 Solution The size of the window is the smaller of rwnd and cwnd, which is 3000 bytes.
Figure 23.23 shows an unrealistic example of a sliding window. The sender has sent bytes up to 202. We assume that cwnd is 20 (in reality this value is thousands of bytes). The receiver has sent an acknowledgment number of 200 with an rwnd of 9 bytes (in reality this value is thousands of bytes). The size of the sender window is the minimum of rwnd and cwnd, or 9 bytes. Bytes 200 to 202 are sent, but not acknowledged. Bytes 203 to 208 can be sent without worrying about acknowledgment. Bytes 209 and above cannot be sent. Example 23.6
Figure 23.23  Example 23.6
Some points about TCP sliding windows: ❏   The size of the window is the lesser of rwnd and   cwnd. ❏   The source does not have to send a full window’s   worth of data. ❏   The window can be opened or closed by the   receiver, but should not be shrunk. ❏   The destination can send an acknowledgment at   any time as long as it does not result in a shrinking   window. ❏   The receiver can temporarily shut down the   window; the sender, however, can always send a   segment of 1 byte after the window is shut down. Note
ACK segments do not consume sequence numbers and are not acknowledged. Note
In modern implementations, a retransmission occurs if the retransmission timer expires or three duplicate ACK segments have arrived. Note
No retransmission timer is set for an ACK segment. Note
Data may arrive out of order and be temporarily stored by the receiving TCP, but TCP guarantees that no out-of-order segment is delivered to the process. Note
Figure 23.24  Normal operation
Figure 23.25  Lost segment
The receiver TCP delivers only ordered data to the process. Note
Figure 23.26  Fast retransmission
23-4  SCTP Stream Control Transmission Protocol (SCTP) is a new reliable, message-oriented transport layer protocol. SCTP, however, is mostly designed for Internet applications that have recently been introduced. These new applications need a more sophisticated service than TCP can provide.  SCTP Services and  Features Packet Format An SCTP Association Flow Control and Error Control Topics discussed in this section:
SCTP is a message-oriented, reliable protocol that combines the best features of UDP and TCP. Note
Table 23.4  Some SCTP applications
Figure 23.27  Multiple-stream concept
An association in SCTP can involve multiple streams. Note
Figure 23.28  Multihoming concept
SCTP association allows multiple IP addresses for each end. Note
In SCTP, a data chunk is numbered using a TSN. Note
To distinguish between different streams, SCTP uses an SI. Note
To distinguish between different data chunks belonging to the same stream, SCTP uses SSNs. Note
TCP has segments; SCTP has packets. Note
Figure 23.29  Comparison between a TCP segment and an SCTP packet
In SCTP, control information and data information are carried in separate chunks. Note
Figure 23.30  Packet, data chunks, and streams
Data chunks are identified by three items: TSN, SI, and SSN. TSN is a cumulative number identifying the association; SI defines the stream; SSN defines the chunk in a stream. Note
In SCTP, acknowledgment numbers are used to acknowledge only data chunks; control chunks are acknowledged by other control chunks if necessary. Note
Figure 23.31  SCTP packet format
In an SCTP packet, control chunks come before data chunks. Note
Figure 23.32  General header
Table 23.5  Chunks
A connection in SCTP is called an association. Note
No other chunk is allowed in a packet carrying an INIT or INIT ACK chunk. A COOKIE ECHO or a COOKIE ACK chunk can carry data chunks. Note
Figure 23.33  Four-way handshaking
In SCTP, only DATA chunks  consume TSNs; DATA chunks are the only chunks  that are acknowledged. Note
Figure 23.34  Simple data transfer
The acknowledgment in SCTP defines the cumulative TSN, the TSN of the last data chunk received in order. Note
Figure 23.35  Association termination
Figure 23.36  Flow control, receiver site
Figure 23.37  Flow control, sender site
Figure 23.38  Flow control scenario
Figure 23.39  Error control, receiver site
Figure 23.40  Error control, sender site

Weitere Àhnliche Inhalte

Was ist angesagt?

AMBA 5 COHERENT HUB INTERFACE.pptx
AMBA 5 COHERENT HUB INTERFACE.pptxAMBA 5 COHERENT HUB INTERFACE.pptx
AMBA 5 COHERENT HUB INTERFACE.pptxSairam Chebrolu
 
Fundamentals of Data and Signals
Fundamentals of Data and SignalsFundamentals of Data and Signals
Fundamentals of Data and SignalsAngel G Diaz
 
Distance Vector Multicast Routing Protocol (DVMRP) : Combined Presentation
Distance Vector Multicast Routing Protocol (DVMRP) : Combined PresentationDistance Vector Multicast Routing Protocol (DVMRP) : Combined Presentation
Distance Vector Multicast Routing Protocol (DVMRP) : Combined PresentationSubhajit Sahu
 
AMBA 2.0 REPORT
AMBA 2.0 REPORTAMBA 2.0 REPORT
AMBA 2.0 REPORTNirav Desai
 
Transport layer
Transport layer Transport layer
Transport layer Mukesh Chinta
 
Computer networks unit iii
Computer networks    unit iiiComputer networks    unit iii
Computer networks unit iiiJAIGANESH SEKAR
 
Protocol for QoS Support Chapter 18
Protocol for QoS Support Chapter 18Protocol for QoS Support Chapter 18
Protocol for QoS Support Chapter 18daniel ayalew
 
PCI Express Verification using Reference Modeling
PCI Express Verification using Reference ModelingPCI Express Verification using Reference Modeling
PCI Express Verification using Reference ModelingDVClub
 
Media Access and Internetworking
Media Access and InternetworkingMedia Access and Internetworking
Media Access and InternetworkingN.Jagadish Kumar
 
Data link layer
Data link layer Data link layer
Data link layer Mukesh Chinta
 
Computer Networks Unit 1 Introduction and Physical Layer
Computer Networks Unit 1 Introduction and Physical Layer Computer Networks Unit 1 Introduction and Physical Layer
Computer Networks Unit 1 Introduction and Physical Layer Dr. SELVAGANESAN S
 
6 Switch Fabric
6 Switch Fabric6 Switch Fabric
6 Switch FabricFNian
 
The medium access sublayer
 The medium  access sublayer The medium  access sublayer
The medium access sublayerLal Bahadur Gehlot
 
User datagram protocol
User datagram protocolUser datagram protocol
User datagram protocolMohd Arif
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Peter R. Egli
 

Was ist angesagt? (20)

HIGH SPEED NETWORKS
HIGH SPEED NETWORKSHIGH SPEED NETWORKS
HIGH SPEED NETWORKS
 
AMBA 5 COHERENT HUB INTERFACE.pptx
AMBA 5 COHERENT HUB INTERFACE.pptxAMBA 5 COHERENT HUB INTERFACE.pptx
AMBA 5 COHERENT HUB INTERFACE.pptx
 
Icmp
IcmpIcmp
Icmp
 
Fundamentals of Data and Signals
Fundamentals of Data and SignalsFundamentals of Data and Signals
Fundamentals of Data and Signals
 
Distance Vector Multicast Routing Protocol (DVMRP) : Combined Presentation
Distance Vector Multicast Routing Protocol (DVMRP) : Combined PresentationDistance Vector Multicast Routing Protocol (DVMRP) : Combined Presentation
Distance Vector Multicast Routing Protocol (DVMRP) : Combined Presentation
 
Ch21
Ch21Ch21
Ch21
 
AMBA 2.0 REPORT
AMBA 2.0 REPORTAMBA 2.0 REPORT
AMBA 2.0 REPORT
 
Transport layer
Transport layer Transport layer
Transport layer
 
Computer networks unit iii
Computer networks    unit iiiComputer networks    unit iii
Computer networks unit iii
 
Protocol for QoS Support Chapter 18
Protocol for QoS Support Chapter 18Protocol for QoS Support Chapter 18
Protocol for QoS Support Chapter 18
 
PCI Express Verification using Reference Modeling
PCI Express Verification using Reference ModelingPCI Express Verification using Reference Modeling
PCI Express Verification using Reference Modeling
 
Media Access and Internetworking
Media Access and InternetworkingMedia Access and Internetworking
Media Access and Internetworking
 
Data link layer
Data link layer Data link layer
Data link layer
 
Computer Networks Unit 1 Introduction and Physical Layer
Computer Networks Unit 1 Introduction and Physical Layer Computer Networks Unit 1 Introduction and Physical Layer
Computer Networks Unit 1 Introduction and Physical Layer
 
6 Switch Fabric
6 Switch Fabric6 Switch Fabric
6 Switch Fabric
 
The medium access sublayer
 The medium  access sublayer The medium  access sublayer
The medium access sublayer
 
User datagram protocol
User datagram protocolUser datagram protocol
User datagram protocol
 
Network layer logical addressing
Network layer logical addressingNetwork layer logical addressing
Network layer logical addressing
 
IP Multicasting
IP MulticastingIP Multicasting
IP Multicasting
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)
 

Andere mochten auch

Chapter 26 - Remote Logging, Electronic Mail & File Transfer
Chapter 26 - Remote Logging, Electronic Mail & File TransferChapter 26 - Remote Logging, Electronic Mail & File Transfer
Chapter 26 - Remote Logging, Electronic Mail & File TransferWayne Jones Jnr
 
Chapter 3 - Data and Signals
Chapter 3 - Data and SignalsChapter 3 - Data and Signals
Chapter 3 - Data and SignalsWayne Jones Jnr
 
EEP306: Line coding
EEP306: Line codingEEP306: Line coding
EEP306: Line codingUmang Gupta
 
CEHv7 Question Collection
CEHv7 Question CollectionCEHv7 Question Collection
CEHv7 Question CollectionManish Luintel
 
Chapter 12 - Mass Storage Systems
Chapter 12 - Mass Storage SystemsChapter 12 - Mass Storage Systems
Chapter 12 - Mass Storage SystemsWayne Jones Jnr
 
Introduction to SCTP and it's benefits over TCP and UDP
Introduction to SCTP and it's benefits over TCP and UDPIntroduction to SCTP and it's benefits over TCP and UDP
Introduction to SCTP and it's benefits over TCP and UDPVIJAY SHARMA
 
Chapter 11 - File System Implementation
Chapter 11 - File System ImplementationChapter 11 - File System Implementation
Chapter 11 - File System ImplementationWayne Jones Jnr
 
Chapter 2 - Network Models
Chapter 2 - Network ModelsChapter 2 - Network Models
Chapter 2 - Network ModelsWayne Jones Jnr
 
Chapter 4 - Digital Transmission
Chapter 4 - Digital TransmissionChapter 4 - Digital Transmission
Chapter 4 - Digital TransmissionWayne Jones Jnr
 

Andere mochten auch (20)

Ch24
Ch24Ch24
Ch24
 
Ch25
Ch25Ch25
Ch25
 
Ch06
Ch06Ch06
Ch06
 
Chapter 26 - Remote Logging, Electronic Mail & File Transfer
Chapter 26 - Remote Logging, Electronic Mail & File TransferChapter 26 - Remote Logging, Electronic Mail & File Transfer
Chapter 26 - Remote Logging, Electronic Mail & File Transfer
 
Chapter 3 - Data and Signals
Chapter 3 - Data and SignalsChapter 3 - Data and Signals
Chapter 3 - Data and Signals
 
Chap 12 tcp
Chap 12 tcpChap 12 tcp
Chap 12 tcp
 
Ch20
Ch20Ch20
Ch20
 
Tcp udp
Tcp udpTcp udp
Tcp udp
 
Chap 12 tcp
Chap 12 tcpChap 12 tcp
Chap 12 tcp
 
EEP306: Line coding
EEP306: Line codingEEP306: Line coding
EEP306: Line coding
 
Line codes
Line codesLine codes
Line codes
 
CEHv7 Question Collection
CEHv7 Question CollectionCEHv7 Question Collection
CEHv7 Question Collection
 
Chapter 12 - Mass Storage Systems
Chapter 12 - Mass Storage SystemsChapter 12 - Mass Storage Systems
Chapter 12 - Mass Storage Systems
 
Introduction to SCTP and it's benefits over TCP and UDP
Introduction to SCTP and it's benefits over TCP and UDPIntroduction to SCTP and it's benefits over TCP and UDP
Introduction to SCTP and it's benefits over TCP and UDP
 
Ch07
Ch07Ch07
Ch07
 
Ch17
Ch17Ch17
Ch17
 
Ch22
Ch22Ch22
Ch22
 
Chapter 11 - File System Implementation
Chapter 11 - File System ImplementationChapter 11 - File System Implementation
Chapter 11 - File System Implementation
 
Chapter 2 - Network Models
Chapter 2 - Network ModelsChapter 2 - Network Models
Chapter 2 - Network Models
 
Chapter 4 - Digital Transmission
Chapter 4 - Digital TransmissionChapter 4 - Digital Transmission
Chapter 4 - Digital Transmission
 

Ähnlich wie Ch23

UNIT IV-Transport Layer.pptx
UNIT IV-Transport Layer.pptxUNIT IV-Transport Layer.pptx
UNIT IV-Transport Layer.pptxLAVANYAsrietacin
 
transport-layer-forouzan.pdf
transport-layer-forouzan.pdftransport-layer-forouzan.pdf
transport-layer-forouzan.pdfAsifSalim12
 
23 Process to_Process_Delivery_UDP_TCP_and_SCTP
23 Process to_Process_Delivery_UDP_TCP_and_SCTP23 Process to_Process_Delivery_UDP_TCP_and_SCTP
23 Process to_Process_Delivery_UDP_TCP_and_SCTPAhmar Hashmi
 
20CS2007 Computer Communication Networks
20CS2007 Computer Communication Networks 20CS2007 Computer Communication Networks
20CS2007 Computer Communication Networks Kathirvel Ayyaswamy
 
udp , tcp ,sctp
udp , tcp ,sctpudp , tcp ,sctp
udp , tcp ,sctpAKSHIT KOHLI
 
Transport layer TCP and UDP.ppt
Transport layer TCP and UDP.pptTransport layer TCP and UDP.ppt
Transport layer TCP and UDP.pptAlliVinay1
 
unit 3 ns.ppt
unit 3 ns.pptunit 3 ns.ppt
unit 3 ns.pptKamesh486870
 
Transport_layer.ppt
Transport_layer.pptTransport_layer.ppt
Transport_layer.pptJayaprasanna4
 
DCN 5th ed. slides ch24 Transport-Layer Protocols.pdf
DCN 5th ed. slides ch24 Transport-Layer Protocols.pdfDCN 5th ed. slides ch24 Transport-Layer Protocols.pdf
DCN 5th ed. slides ch24 Transport-Layer Protocols.pdfBilal Munir Mughal
 
Transportlayer.ppt
Transportlayer.pptTransportlayer.ppt
Transportlayer.pptAayushMishra89
 
Unit_3_TCP_UDP.ppt
Unit_3_TCP_UDP.pptUnit_3_TCP_UDP.ppt
Unit_3_TCP_UDP.pptzmulani8
 
TransportLayerServices.ppt
TransportLayerServices.pptTransportLayerServices.ppt
TransportLayerServices.pptSwatiRani13
 
transport layer protocols
transport layer protocolstransport layer protocols
transport layer protocolsBE SmĂąrt
 
Transport layer udp and tcp network
Transport layer udp and tcp networkTransport layer udp and tcp network
Transport layer udp and tcp networkHamzahMohammed4
 

Ähnlich wie Ch23 (20)

UNIT IV-Transport Layer.pptx
UNIT IV-Transport Layer.pptxUNIT IV-Transport Layer.pptx
UNIT IV-Transport Layer.pptx
 
Cs8591 u4
Cs8591 u4Cs8591 u4
Cs8591 u4
 
transport-layer-forouzan.pdf
transport-layer-forouzan.pdftransport-layer-forouzan.pdf
transport-layer-forouzan.pdf
 
23 Process to_Process_Delivery_UDP_TCP_and_SCTP
23 Process to_Process_Delivery_UDP_TCP_and_SCTP23 Process to_Process_Delivery_UDP_TCP_and_SCTP
23 Process to_Process_Delivery_UDP_TCP_and_SCTP
 
Ch23
Ch23Ch23
Ch23
 
20CS2007 Computer Communication Networks
20CS2007 Computer Communication Networks 20CS2007 Computer Communication Networks
20CS2007 Computer Communication Networks
 
udp , tcp ,sctp
udp , tcp ,sctpudp , tcp ,sctp
udp , tcp ,sctp
 
Ch 22
Ch 22Ch 22
Ch 22
 
Transport layer TCP and UDP.ppt
Transport layer TCP and UDP.pptTransport layer TCP and UDP.ppt
Transport layer TCP and UDP.ppt
 
unit 3 ns.ppt
unit 3 ns.pptunit 3 ns.ppt
unit 3 ns.ppt
 
Transport_layer.ppt
Transport_layer.pptTransport_layer.ppt
Transport_layer.ppt
 
DCN 5th ed. slides ch24 Transport-Layer Protocols.pdf
DCN 5th ed. slides ch24 Transport-Layer Protocols.pdfDCN 5th ed. slides ch24 Transport-Layer Protocols.pdf
DCN 5th ed. slides ch24 Transport-Layer Protocols.pdf
 
Transportlayer.ppt
Transportlayer.pptTransportlayer.ppt
Transportlayer.ppt
 
tcp.pptx
tcp.pptxtcp.pptx
tcp.pptx
 
Unit_3_TCP_UDP.ppt
Unit_3_TCP_UDP.pptUnit_3_TCP_UDP.ppt
Unit_3_TCP_UDP.ppt
 
Chap-13.ppt
Chap-13.pptChap-13.ppt
Chap-13.ppt
 
TransportLayerServices.ppt
TransportLayerServices.pptTransportLayerServices.ppt
TransportLayerServices.ppt
 
transport layer protocols
transport layer protocolstransport layer protocols
transport layer protocols
 
Transport layer udp and tcp network
Transport layer udp and tcp networkTransport layer udp and tcp network
Transport layer udp and tcp network
 
Ch12
Ch12Ch12
Ch12
 

Mehr von Wayne Jones Jnr (18)

Ch19
Ch19Ch19
Ch19
 
Ch18
Ch18Ch18
Ch18
 
Ch16
Ch16Ch16
Ch16
 
Ch15
Ch15Ch15
Ch15
 
Ch14
Ch14Ch14
Ch14
 
Ch13
Ch13Ch13
Ch13
 
Ch12
Ch12Ch12
Ch12
 
Ch10
Ch10Ch10
Ch10
 
Ch09
Ch09Ch09
Ch09
 
Ch08
Ch08Ch08
Ch08
 
Operating System Concepts - Ch05
Operating System Concepts - Ch05Operating System Concepts - Ch05
Operating System Concepts - Ch05
 
Ch32
Ch32Ch32
Ch32
 
Ch31
Ch31Ch31
Ch31
 
Chapter 30 - Cry
Chapter 30 - CryChapter 30 - Cry
Chapter 30 - Cry
 
Chapter 29 - Mutimedia
Chapter 29 - MutimediaChapter 29 - Mutimedia
Chapter 29 - Mutimedia
 
Ch28
Ch28Ch28
Ch28
 
Ch27
Ch27Ch27
Ch27
 
Chapter 1 - Introduction
Chapter 1 - IntroductionChapter 1 - Introduction
Chapter 1 - Introduction
 

KĂŒrzlich hochgeladen

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 

KĂŒrzlich hochgeladen (20)

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 

Ch23

  • 1. Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
  • 2. 23-1 PROCESS-TO-PROCESS DELIVERY The transport layer is responsible for process-to-process delivery—the delivery of a packet, part of a message, from one process to another. Two processes communicate in a client/server relationship, as we will see later. Client/Server Paradigm Multiplexing and Demultiplexing Connectionless Versus Connection-Oriented Service Reliable Versus Unreliable Three Protocols Topics discussed in this section:
  • 3. The transport layer is responsible for process-to-process delivery. Note
  • 4. Figure 23.1 Types of data deliveries
  • 5. Figure 23.2 Port numbers
  • 6. Figure 23.3 IP addresses versus port numbers
  • 7. Figure 23.4 IANA ranges
  • 8. Figure 23.5 Socket address
  • 9. Figure 23.6 Multiplexing and demultiplexing
  • 10. Figure 23.7 Error control
  • 11. Figure 23.8 Position of UDP, TCP, and SCTP in TCP/IP suite
  • 12. 23-2 USER DATAGRAM PROTOCOL (UDP) The User Datagram Protocol (UDP) is called a connectionless, unreliable transport protocol. It does not add anything to the services of IP except to provide process-to-process communication instead of host-to-host communication. Well-Known Ports for UDP User Datagram Checksum UDP Operation Use of UDP Topics discussed in this section:
  • 13. Table 23.1 Well-known ports used with UDP
  • 14. 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 FTP. Note that FTP can use port 21 with either UDP or TCP. Example 23.1
  • 15. Example 23.1 (continued) SNMP uses two port numbers (161 and 162), each for a different purpose, as we will see in Chapter 28.
  • 16. Figure 23.9 User datagram format
  • 17. UDP length = IP length – IP header’s length Note
  • 18. Figure 23.10 Pseudoheader for checksum calculation
  • 19. Figure 23.11 shows the checksum calculation for a very small user datagram with only 7 bytes of data. Because the number of bytes of data is odd, padding is added for checksum calculation. The pseudoheader as well as the padding will be dropped when the user datagram is delivered to IP. Example 23.2
  • 20. Figure 23.11 Checksum calculation of a simple UDP user datagram
  • 21. Figure 23.12 Queues in UDP
  • 22. 23-3 TCP TCP is a connection-oriented protocol; it creates a virtual connection between two TCPs to send data. In addition, TCP uses flow and error control mechanisms at the transport level. TCP Services TCP Features Segment A TCP Connection Flow Control Error Control Topics discussed in this section:
  • 23. Table 23.2 Well-known ports used by TCP
  • 24. Figure 23.13 Stream delivery
  • 25. Figure 23.14 Sending and receiving buffers
  • 26. Figure 23.15 TCP segments
  • 27. The bytes of data being transferred in each connection are numbered by TCP. The numbering starts with a randomly generated number. Note
  • 28. The following shows the sequence number for each segment: Example 23.3
  • 29. The value in the sequence number field of a segment defines the number of the first data byte contained in that segment. Note
  • 30. The value of the acknowledgment field in a segment defines the number of the next byte a party expects to receive. The acknowledgment number is cumulative. Note
  • 31. Figure 23.16 TCP segment format
  • 32. Figure 23.17 Control field
  • 33. Table 23.3 Description of flags in the control field
  • 34. Figure 23.18 Connection establishment using three-way handshaking
  • 35. A SYN segment cannot carry data, but it consumes one sequence number. Note
  • 36. A SYN + ACK segment cannot carry data, but does consume one sequence number. Note
  • 37. An ACK segment, if carrying no data, consumes no sequence number. Note
  • 38. Figure 23.19 Data transfer
  • 39. Figure 23.20 Connection termination using three-way handshaking
  • 40. The FIN segment consumes one sequence number if it does not carry data. Note
  • 41. The FIN + ACK segment consumes one sequence number if it does not carry data. Note
  • 42. Figure 23.21 Half-close
  • 43. Figure 23.22 Sliding window
  • 44. A sliding window is used to make transmission more efficient as well as to control the flow of data so that the destination does not become overwhelmed with data. TCP sliding windows are byte-oriented. Note
  • 45. What is the value of the receiver window (rwnd) for host A if the receiver, host B, has a buffer size of 5000 bytes and 1000 bytes of received and unprocessed data? Example 23.4 Solution The value of rwnd = 5000 − 1000 = 4000. Host B can receive only 4000 bytes of data before overflowing its buffer. Host B advertises this value in its next segment to A.
  • 46. What is the size of the window for host A if the value of rwnd is 3000 bytes and the value of cwnd is 3500 bytes? Example 23.5 Solution The size of the window is the smaller of rwnd and cwnd, which is 3000 bytes.
  • 47. Figure 23.23 shows an unrealistic example of a sliding window. The sender has sent bytes up to 202. We assume that cwnd is 20 (in reality this value is thousands of bytes). The receiver has sent an acknowledgment number of 200 with an rwnd of 9 bytes (in reality this value is thousands of bytes). The size of the sender window is the minimum of rwnd and cwnd, or 9 bytes. Bytes 200 to 202 are sent, but not acknowledged. Bytes 203 to 208 can be sent without worrying about acknowledgment. Bytes 209 and above cannot be sent. Example 23.6
  • 48. Figure 23.23 Example 23.6
  • 49. Some points about TCP sliding windows: ❏ The size of the window is the lesser of rwnd and cwnd. ❏ The source does not have to send a full window’s worth of data. ❏ The window can be opened or closed by the receiver, but should not be shrunk. ❏ The destination can send an acknowledgment at any time as long as it does not result in a shrinking window. ❏ The receiver can temporarily shut down the window; the sender, however, can always send a segment of 1 byte after the window is shut down. Note
  • 50. ACK segments do not consume sequence numbers and are not acknowledged. Note
  • 51. In modern implementations, a retransmission occurs if the retransmission timer expires or three duplicate ACK segments have arrived. Note
  • 52. No retransmission timer is set for an ACK segment. Note
  • 53. Data may arrive out of order and be temporarily stored by the receiving TCP, but TCP guarantees that no out-of-order segment is delivered to the process. Note
  • 54. Figure 23.24 Normal operation
  • 55. Figure 23.25 Lost segment
  • 56. The receiver TCP delivers only ordered data to the process. Note
  • 57. Figure 23.26 Fast retransmission
  • 58. 23-4 SCTP Stream Control Transmission Protocol (SCTP) is a new reliable, message-oriented transport layer protocol. SCTP, however, is mostly designed for Internet applications that have recently been introduced. These new applications need a more sophisticated service than TCP can provide. SCTP Services and Features Packet Format An SCTP Association Flow Control and Error Control Topics discussed in this section:
  • 59. SCTP is a message-oriented, reliable protocol that combines the best features of UDP and TCP. Note
  • 60. Table 23.4 Some SCTP applications
  • 61. Figure 23.27 Multiple-stream concept
  • 62. An association in SCTP can involve multiple streams. Note
  • 63. Figure 23.28 Multihoming concept
  • 64. SCTP association allows multiple IP addresses for each end. Note
  • 65. In SCTP, a data chunk is numbered using a TSN. Note
  • 66. To distinguish between different streams, SCTP uses an SI. Note
  • 67. To distinguish between different data chunks belonging to the same stream, SCTP uses SSNs. Note
  • 68. TCP has segments; SCTP has packets. Note
  • 69. Figure 23.29 Comparison between a TCP segment and an SCTP packet
  • 70. In SCTP, control information and data information are carried in separate chunks. Note
  • 71. Figure 23.30 Packet, data chunks, and streams
  • 72. Data chunks are identified by three items: TSN, SI, and SSN. TSN is a cumulative number identifying the association; SI defines the stream; SSN defines the chunk in a stream. Note
  • 73. In SCTP, acknowledgment numbers are used to acknowledge only data chunks; control chunks are acknowledged by other control chunks if necessary. Note
  • 74. Figure 23.31 SCTP packet format
  • 75. In an SCTP packet, control chunks come before data chunks. Note
  • 76. Figure 23.32 General header
  • 77. Table 23.5 Chunks
  • 78. A connection in SCTP is called an association. Note
  • 79. No other chunk is allowed in a packet carrying an INIT or INIT ACK chunk. A COOKIE ECHO or a COOKIE ACK chunk can carry data chunks. Note
  • 80. Figure 23.33 Four-way handshaking
  • 81. In SCTP, only DATA chunks consume TSNs; DATA chunks are the only chunks that are acknowledged. Note
  • 82. Figure 23.34 Simple data transfer
  • 83. The acknowledgment in SCTP defines the cumulative TSN, the TSN of the last data chunk received in order. Note
  • 84. Figure 23.35 Association termination
  • 85. Figure 23.36 Flow control, receiver site
  • 86. Figure 23.37 Flow control, sender site
  • 87. Figure 23.38 Flow control scenario
  • 88. Figure 23.39 Error control, receiver site
  • 89. Figure 23.40 Error control, sender site