Transport layer protacols.pptx
Transport layer protacols.pptx
23.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Transport Layer
22.2
Types of Data Deliveries
23.3
Types of data deliveries
23.4
Transport Layer
22.5
Function of Transport Layer
✔ Service-Point Addressing
✔ Segmentation and Reassembly
✔ Connection control
✔ Flow control
✔ Error control
22.6
Process Addressing at Transport Layer
22.7
Application Address : Port Numbers
23.8
IP Addresses versus Port Numbers
23.9
Process Addressing (Port Number) at Transport Layer
22.10
Process Addressing (Port Number) at Transport Layer
22.11
Process Addressing (Port Number) at Transport Layer
22.12
Socket Addressing at Transport Layer
22.13
Socket Address
23.14
Socket Addressing at Transport Layer
22.15
IP addresses versus port numbers
23.16
Multiplexing and Demultiplexing at Transport Layer
Multiplexing :
✔ Multiplexing is the process when data of several processes of
the sender are acquired and merged into one packet along
with headers and sent as a single packet.
✔ Multiplexing allows the simultaneous use of different
processes over a network that is running on a host.
✔ The processes are differentiated by their port numbers.
22.17
Multiplexing and Demultiplexing at Transport Layer
22.18
Multiplexing and Demultiplexing at Transport Layer
22.19
Multiplexing and Demultiplexing at Transport Layer
23.20
Why Error control is required at Transport Layer?
23.21
Transport layer Protocols : Position of UDP, TCP, and SCTP in TCP/IP suite
23.22
User Datagram Protocol
22.23
User datagram Header format
23.24
User Datagram Protocol header Format
22.25
Transmission Control Protocol
22.26
Transmission Control Protocol (TCP) Services
1. Connection oriented
✔ A Virtual connection is setup between sender and receiver before
data exchange.
2. Stream-of-bytes service
✔ Unlike UDP, Sends and receives a stream of bytes, not messages.
3. Reliable, in-order delivery
✔ Checksums to detect corrupted data.
✔ Acknowledgments & retransmissions for reliable delivery.
✔ Sequence numbers to detect losses and reorder data.
22.27
Stream delivery at Transport Layer
23.28
Transmission Control Protocol
4. Flow control
✔ Prevent overflow of the receiver’s buffer space.
5. Buffer Control
✔ Maintain buffers separately for sender and receiver.
6. Congestion control
✔ Adapt to network congestion for the greater good.
7. Segmentation and reassembly
22.29
Buffer Management at Transport Layer : Sending and Receiving
buffers
23.30
TCP Segments
23.31
Segmentation and reassembly in TCP
22.32
TCP Segment Header Format
23.33
TCP Segment Header Format
22.34
Control field of TCP Protocol
23.35
TCP Segment Header Format
22.36
Connection Establishment in TCP
22.37
Connection Establishment in TCP
22.38
Connection Establishment in TCP
22.40
Three-way Handshaking Protocol
22.41
Three-way Handshaking Protocol: Handling of Flaws
22.42
Three-way Handshaking Protocol
22.43
Connection Release
22.45
Connection Release
22.46
Three-way Handshaking Protocol: Connection Release
22.47
Three- way handshaking protocol: Connection Release
22.48
Connection Release
22.49
Connection Release
22.50
Connection Release
22.51
Stream Control Transmission Protocol
22.52
Stream Control Transmission Protocol
22.53
Stream Control Transmission Protocol (SCTP) : Services
✔ Process-to-Process Communication
✔ Full Duplex Communication
✔ Connection Oriented : in SCTP ( a connection
oriented) , a connection is called an association.
✔ Reliable Services : uses an acknowledgment
mechanism to check the safe and sound arrival of
data.
22.54
Stream Control Transmission Protocol (SCTP) : Services
✔ Multiple Streams
TCP is a stream-oriented protocol; involves only one
single stream between client and server.
A loss in the stream blocks the delivery of remaining data.
Acceptable for text; not for real-time data (audio or video).
SCTP allows multistream service in each connection,
which is called association. If one of the streams is
blocked, the other streams can still deliver their data.
22.55
Multiple-stream concept
23.56
Stream Control Transmission Protocol (SCTP) : Services
Multihoming
✔ A TCP connection does not support multihoming.
✔ An SCTP association supports multihoming service.
✔ The sending and receiving host can define multiple IP addresses in
each end for an association.
✔ In this fault-tolerant approach, when one path fails, another
interface can be used for data delivery without interruption.
✔ Very helpful for real-time communication such as Internet
telephony.
22.57
Multihoming concept
23.58
SCTP : Features
22.59
SCTP : Features
Stream Identifier
✔ In TCP, there is only one stream in each connection.
✔ In SCTP, there may be several streams in each association.
✔ Each stream is identified by a 16- bit number (start from 0) called
Stream identifier (SI).
✔ Each data chunk must carry the SI in its header so that when it
arrives at the destination, it can be properly placed in its stream.
22.60
SCTP : Features
22.61
SCTP : Features
Packets
✔ In TCP, a segment carries data and control information ( six
control flags in the header ).
✔ In SCTP, control information and data information are carried
in separate chunks.
✔ The design of SCTP is totally different:
✔ data (data chunks), control information (control chunks).
✔ Several control chunks and data chunks can be packed
together in a packet.
✔ A packet in SCTP plays the same role as a segment in TCP.
22.62
Packet, data chunks, and streams in SCTP
23.63
Packet, data chunks, and streams in SCTP
Each data chunk needs three identifiers: TSN, SI, and SSN.
TSN is a cumulative number and is used for flow and error control.
SI defines the stream to which the chunk belongs.
23.64
An SCTP packet
23.65
SCTP : Packets
Packets
✔ An SCTP packet has a mandatory 12-bytes long general
header and a set of variable size blocks called chunks.
✔ There are two types of chunks: control chunks and data
chunks.
✔ A control chunk controls and maintains the association;
✔ A data chunk carries user data.
✔ In a packet, the control chunks come before the data chunks.
22.66
SCTP packet format
23.67
SCTP General header
23.68
SCTP : Packets
Verification tag:
✔ This is a number that matches a packet to an association.
✔ It serves as an identifier for the association; it is repeated in
every packet during the association.
✔ There is a separate verification used for each direction in the
association.
✔ This prevents a packet from a previous association from being
mistaken as a packet in this association.
Checksum:
✔ This 32-bit field contains a CRC-32 checksum
22.69
SCTP : Acknowledgement
22.70
Comparison between a TCP segment and an SCTP packet
23.71
Congestion Control
✔ When too many packets are present in the subnet and network
is unable to deliver all of them successfully. This situation is
called congestion .
✔ A situation in a part of network when traffic is so heavy that it
slows down network and delivery of packets are badly
affected.
✔ The network and transport layers share the responsibility for
handling congestion.
22.72
Congestion Control
22.73
Difference between Congestion Control & Flow Control
22.74
Factors of Congestion Control
22.75
Effects of Congestion Control
✔ Effects of Congestion
✔ As delay increases, performance decreases.
✔ If delay increases, retransmission occurs, making
situation worse.
22.76
Approaches of Congestion Control
22.77
Congestion Control Algorithms
22.78
Choke Packets : Traffic Throttling
22.79
Hop-by-hop Choke Packets : Traffic Throttling
22.80
Jitter Control :
22.81
Traffic Shaping
✔ The way to limit the amount of data an application sends.
✔ Traffic shaping is a technique for regulating the average rate
and burstiness of a flow of data that enters the network.
✔ Traffic shaping reduces congestion .
✔ Packets in excess of the agreed pattern might be dropped by the
network, or they might be marked as having lower priority.
✔ Monitoring a traffic flow is called traffic policing.
✔ Two methods come under this approach:
✔ Leaky Bucket Algorithm
✔ Token Bucket Algorithm
22.82
Traffic Shaping: Leaky Bucket Algorithm
✔ Abnormal flow of packets in network is one the main reason of
Congestion.
✔ Abnormal Flow - means some time very less number of packets
to deliver while some other times a huge amount of packets
appears abruptly to deliver.
✔ If this abnormal flow may be regulated, it reduces the chance of
congestion to arise.
✔ Leaky Bucket Algorithm is the method to convert the abnormal
flow of packets into a fixed and regulated flow.
✔
22.83
Traffic Shaping: Leaky Bucket Algorithm
22.84
Traffic Shaping: Leaky Bucket Algorithm
The Concept of Leaky Bucket is As:
✔ Imagine a bucket with a small hole in the bottom, as illustrated
in Figure of previous slide.
✔ No matter the rate at which water enters the bucket, the outflow
is at a constant rate, R, when there is any water in the bucket
and zero when the bucket is empty.
✔ Also, once the bucket is full to capacity B, any additional water
entering it spills over the sides and is lost.
✔ This bucket can be used to shape or police packets entering the
network.
22.85
Traffic Shaping: Leaky Bucket Algorithm
22.86
Traffic Shaping: Leaky Bucket Algorithm
22.87
Traffic Shaping: Token Bucket Algorithm
✔ The time when the host was idle is not taken into account.
✔ Leaky Bucket does neither consider the idle time of a host, nor
compensate the sender host for it.
✔ It always maintains a fixed rate flow in the network.
22.88
Traffic Shaping: Token Bucket Algorithm
✔ On the other hand, the token bucket algorithm allows idle hosts
to accumulate credit for the future in the form of tokens.
✔ For each tick of the clock, the system sends n tokens to the
bucket either it is empty or not.
✔ The system removes one token for every cell (or byte) of data
sent.
✔ The token bucket allows bursty traffic at a regulated maximum
rate.
22.89
Traffic Shaping: Token Bucket Algorithm
23.90
Quality of Service
22.91
Quality of Service
✔ bandwidth,
✔ delay,
✔ Jitter : The variation in the delay or packet arrival times is
called jitter.
✔ Reliability / Loss.
22.92
Quality of Service
22.93
Quality of Service
22.94
Quality of Service
22.95