SlideShare a Scribd company logo
Transport Layer
TCP/UDP/SCTP FUNDAMENTAL CONCEPTS AND OVERVIEW
Hamid Reza Bolhasani
DATA SCIENTIST
PHD, COMPUTER ENGINEERING
H.BOLHASANI@GMAIL.COM
JAN 2020.
2
Table of Contents
 History
 Introduction
 TCP
 UDP
 MP-TCP
 SCTP
 Motivation of Developing SCTP
 Comparison of Transport Protocols
 Features and Advantages of SCTP
 Role of SCTP in Fixed/Mobile Networks
 Question & Answer
 Conclusion
3
 History
4
 Introduction
5
 Transport Layer Role and Services
6
 Transport Layer Role and Services
 Transport Layer Role and Services
 End-to-End Delivery, Addressing, Reliable Delivery, Flow Control, Multiplexing
 Serve Application Layer
 Track individual communications
 Segment data and manage each peace of data
 Re-assemble segments back into streams of application data at the receiving host
 Identify the different applications using port numbers
 Communication between processes
 Transport Layer
 TCP
 UDP
 SCTP
 UDP-Lite
 RUDP
 MPTCP
 DCCP
 Evolution of TCP (1/2)
1975 1980 1985 1990
1982
TCP & IP
RFC 793 & 791
1974
TCP described by
Vint Cerf and Bob Kahn
In IEEE Trans Comm
1983
BSD Unix 4.2
supports TCP/IP
1984
Nagel’s algorithm
to reduce overhead
of small packets;
predicts congestion
collapse
1987
Karn’s algorithm
to better estimate
round-trip time
1986
Congestion collapse
observed
1988
Van Jacobson’s
algorithms
congestion avoidance and
congestion control
(most implemented in
4.3BSD Tahoe)
1990
4.3BSD Reno
fast retransmit
delayed ACK’s
1975
Three-way handshake
Raymond Tomlinson
In SIGCOMM 75
 Evolution of TCP (2/2)
1993 1994 1996
1994
ECN
(Floyd)
Explicit
Congestion
Notification
1993
TCP Vegas
(Brakmo et al)
real congestion
avoidance
1994
T/TCP
(Braden)
Transaction
TCP
1996
SACK TCP
(Floyd et al)
Selective
Acknowledgement
1996
Hoe
Improving TCP
startup
1996
FACK TCP
(Mathis et al)
extension to SACK
 TCP Introduction
 Communication Abstraction
 Reliable
 Ordered
 Point-to-Point
 Byte-Stream
 Full-Duplex
 Flow and Congestion Controlled
 Protocol Implemented entirely at the ends
 Fate Sharing
 Sliding Window with Cumulative Acks
 Ack field contains last in-order packet received.
 Duplicate Ack sent when out-of-order packet received
 TCP Segment Header
 TCP Services
Port Protocol Use
21 FTP File Transfer
23 Telnet Remote login
25 SMTP E-mail
69 TFTP Trivial File Transfer Protocol
79 Finger Lookup info about a user
80 HTTP World Wide Web
110 POP-3 Remote e-mail access
119 NNTP USENET news
 TCP / 3 Way Handshaking
Host A Host B
 TCP / 4 Way Termination
Host A Host B
 TCP Signaling
Host A (Client) Host B (Server)
socket
bind
listen
accept (blocks)
socket
connect (blocks)
connect returns
accept returns
read (blocks)
write
read (blocks)
write
read (blocks)
read returns
 TCP Window Flow Control
Host A Host B
t1
t2
t3
t4
t0
 TCP / Sliding Window
 TCP Congestion Control (1/3)
(a) A fast network feeding a low capacity receiver.
(b) A slow network feeding a high-capacity receiver.
 TCP Congestion Control (2/3)
Congestion
window
10
5
15
20
0
Round-trip times
Slow
start
Congestion
avoidance
Congestion occurs
Threshold
Source Destination
 TCP Congestion Control – Tahoe Algorithm (3/3)
 Slow Start
 Connection starts wit cwnd=1.
 For each Ack  cwnd:= cwnd+1
 Exponential Increase
 cwnd doubled every RTT.
 Congestion Avoidance (CA)
 Upon receiving Ack with cwnd > ssthresh  Increase cwnd by 1/cwnd
 Results in Additive Increase
 Multiplative Decrease
 Slow Start is over.
 cwnd > ssthresh
 Until (Loss Events) { Every w Segments ACKed: cwnd++}
 ssthresh:= cwnd/2, cwnd=1, perform slow-strat.
 UDP
 User Datagram Protocol
 Connectionless
 Unreliable
Source Port Destination Port
UDP Length UDP Checksum
Data
0 16 31
 UDP / Well Known Services
 TCP vs UDP
25
History
 Primary motivation: Transportation of telephony signaling messages
over IP Networks.
1991
TCP Failure
Oct. 2000
SCTP - RFC2960
1998
MDTP submission
(UDP based)
1997
MDTP work
began1992-1997
UDP Reliability
Experiments
RFC 3257
Apr. 2002
RFC 3286
May 2002
RFC 3309
Sep. 2002
RFC 3436
Dec. 2002
26
 What is SCTP?
 SCTP (Stream Transmission Control Protocol, RFC 2960) is
a transport protocol on OSI layer 4, like TCP or UDP.
 SCTP was specifically designed as a transport protocol for
telephony signaling message transport.
IP
Network
IPv4/IPv6
Application
Link Layer
UDP TCP SCTP
Physical Layer
27
 RFCs
 RFC 2960 – Stream Control Transmission Protocol
 RFC 3257 – SCTP Applicability Statement
 RFC 3286 – An introduction to SCTP
 RFC 3309 – SCTP Checksum Change
 RFC 3436 – Transport Layer Security over SCTP
 RFC 3758 – SCTP Partial Reliability Extension
 RFC 4960 – Transport PSTN signaling message over IP networks
28
 Motivations for Developing SCTP
 Developed by IETF SIGTRAN working group
 All-IP Networks.
 3GPP networks based on IPv6 possible.
 To create a new, IP based transport protocol.
 For transport of signaling data over IP-based networks.
 Signaling between SG, STP, MGW, HSS, MSC,…
29
 Motivations for Developing SCTP
 Problems of TCP
 Byte-Stream Oriented
 No built-in support for multi-homed IP hosts
 Vulnerable for SYN flooding attacks
 Provide strict ordering of information which causes HOL Blocking problem.
 Problems of UDP
 Unreliable Data Transfer
 No Congestion/Flow control
30
 SYN Flooding
SYN
victim Flooded!!
TCB
TCB
TCB
TCB
TCB
• There is no ACK in response to the SYN-ACK, hence connection
remains half-open
• Other genuine clients cannot open connections to the victim
• The victim is unable to provide service
attackers
128.3.4.5
221.3.5.10
Unavailable, reserved resources
SYN-ACK
ACK
SYN
SYN-ACK
ACK
31
 Head-of-Line Blocking in TCP
Sender Receiver
ACK 1
1
2
3
4
5
ACK 2
ACK 2
ACK 2
Packet 3 is blocking the
head of the line.
1
2
Receiver’s App
32
 Head-of-Line Blocking Problem in TCP
 TCP provides single data stream.
 When a segment is lost, subsequent segments must wait to be processed.
 Problem for some applications (Telephony)
33
 SCTP Features (1/3)
 Provide an end-to-end reliable transmission service over IP networks
 Support multiple streams per path
 Support multi-homed hosts
 Multiple IP Addresses per host
 More tolerant to network failures
 Message-oriented: Conserve message boundaries
 Unordered delivery: SCTP can deliver messages as ordered or unordered.
 Congestion control: SCTP congestion control is similar to TCP
 SCTP is rate adaptive similar to TCP
34
 SCTP Features (2/3)
 Fragmentation
 Detection of path MTU and fragmentation of data chunks to fit into available path MTU.
 Error Correction
 Acknowledged error-free, non-duplicated data transfer.
 Congestion Avoidance
 Similar functionality as in TCP to avoid congestion to build up in the network.
35
 SCTP Features (3/3)
36
 SCTP Terminology
 Chunk
 SCTP Association
 Path
 Stream
 Verification Tag
 Message Authentication Code
 Transmission Sequence Number (TSN)
 Stream Sequence Number (SSN)
37
 SCTP Terminology
38
 SCTP Packets
An SCTP-Protocol Data Unit with several chunks
39
 SCTP Chunks
40
 SCTP Payload (Data, ID=0)
 Stream Identifier: Identifies the stream to which the following user data belongs to.
 Stream Sequence Number: This value represents stream sequence number.
41
 Initiation (INIT)
 Initiate Tag: This value MUST be placed into the verification tag field of every
SCTP packets.
 Advertised Receiver Window Credit (a_rwnd): This value represents the
dedicated buffer space.
42
 Initiation Acknowledgment (INIT ACK)
 The parameter part of INIT ack is formatted similarly to the INIT chunk. It uses
two extra variable parameters: The State Cookie and the Unrecognized parameter:
43
 Selective Acknowledgment (1/5)
44
 Selective Acknowledgment (2/5)
 SACK is sent to the peer endpoint to acknowledge received DATA chunks and to
inform the peer endpoint of gaps in the received subsequences of DATA chunks as
represented by their TSNs.
 Cumulative TSN Ack: This parameter contains the TSN of the last DATA chunk
received in sequence before a gap.
 Gap Ack Block Start: Indicates the Start offset TSN for this Gap Ack Block.
 Gap Ack Block End: Indicates the End offset TSN for this Gap Ack Block.
 Gap Ack Blocks: TSNs >= (Cumulative TSN Ack + Gap Ack Block Start) and
TSNs <= (Cumulative TSN Ack + Gap Ack Block End)
 These TSNs are assumed to have been received correctly.
45
 Selective Acknowledgment (3/5)
 Duplicate TSN
 Indicates the number of times a TSN was received in duplicate since the
last SACK was sent.
 Every time a receiver gets a duplicate TSN (before sending the SACK) it
adds it to the list of duplicates. The duplicate count is re-initialized to
zero after sending each SACK.
46
 Selective Acknowledgment (4/5)
TSN=17
miss
TSN=15
TSN=14
miss
TSN=12
TSN=11
TSN=10
Cumulative TSN Ack = 12
a_rwnd = 4660
Num of block=2 Num of dup=0
Block #1 start=2 Block #1 end=3
Block #2 start=5 Block #2 end=5
12+2 ~ 12+3
12+5 ~ 12+5
47
 Selective Acknowledgment (5/5)
TSN=16
TSN=15
TSN=14
TSN=13
TSN=13
TSN=12
miss
TSN=10
Cumulative TSN Ack = 10
a_rwnd = 4660
Num of block=1 Num of dup=1
Block #1 start=2 Block #1 end=6
Duplicate TSN 13
10+2 ~ 10+6
48
 SCTP States
 Association Establishment and Shutdown.
 SCTP uses a cookie mechanism in a four-way
handshake to establish an association.
 The shutdown process is a three-way handshake.
49
 SCTP Congestion Control (1/5)
 According to RFC2960, the congestion control behavior of an SCTP implementation
may have an impact where timely delivery of messages is required.
 The congestion control mechanisms for SCTP have been derived from RFC 2581 - TCP
Congestion Control, and been adapted for multi-homing.
 For each destination address (i.e. each possible path), a discrete set of flow and
congestion control parameters is kept.
 From the point of view of the network, an SCTP association with a number of paths
may behave similarly as the same number of TCP connections.
50
 SCTP Congestion Control (2/5)
 Similar to TCP, SCTP has two modes, Slow Start and Congestion Avoidance.
 The mode is determined by a set of congestion control variables, which are path specific.
 For successfully delivered and acknowledged data, the congestion window variable
(CWND) is steadily increased, and once it exceeds a certain boundary (called Slow
Start Threshold, SSTRESH), the mode changes from Slow Start to Congestion
Avoidance.
 In Slow Start, the CWND is increased faster (roughly one MTU per received SACK
chunk), and in Congestion Avoidance mode, it is only increased by one MTU per Round
Trip Time (RTT) measurement.
51
 SCTP Congestion Control (3/5)
 RTO timeout or fast retransmission will trigger retransmission and cause the
SSTHRESH to be cut down drastically and reset the CWND.
 Fast Retransmission
 ssthresh = max(cwnd/2, 2*MTU)
 cwnd = ssthresh
 RTO timeout
 ssthresh = max(cwnd/2, 2*MTU)
 cwnd = MTU
52
 SCTP Congestion Control – Fast Retransmit (4/5)
Sender Receiver
ACK 1
1
2
3
5
6
ACK 2
ACK 2
ACK 2
ACK 2
4
ACK 6
retransmit 3
four consecutive
SACKs
53
 SCTP Congestion Control (5/5)
54
Thanks ForYour Attention!
Hamid Reza Bolhasani
Bolhasani@gmail.com

More Related Content

What's hot

Transport layer protocol
Transport layer protocolTransport layer protocol
Transport layer protocol
N.Jagadish Kumar
 
What Is User Datagram Protocol?
What Is User Datagram Protocol?What Is User Datagram Protocol?
What Is User Datagram Protocol?
Simplilearn
 
TCP/IP – Transmission Control Protocol/ Internet Protocol
TCP/IP – Transmission Control Protocol/ Internet ProtocolTCP/IP – Transmission Control Protocol/ Internet Protocol
TCP/IP – Transmission Control Protocol/ Internet Protocol
We Learn - A Continuous Learning Forum from Welingkar's Distance Learning Program.
 
Mobile computing : Indirect TCP
Mobile computing : Indirect TCPMobile computing : Indirect TCP
Mobile computing : Indirect TCP
Sushant Kushwaha
 
Address resolution protocol (ARP)
Address resolution protocol (ARP)Address resolution protocol (ARP)
Address resolution protocol (ARP)
NetProtocol Xpert
 
HDLC(High level Data Link Control)
HDLC(High level Data Link Control)HDLC(High level Data Link Control)
HDLC(High level Data Link Control)
sonangrai
 
Link state routing protocol
Link state routing protocolLink state routing protocol
Link state routing protocol
Aung Thu Rha Hein
 
Tcp and udp
Tcp and udpTcp and udp
Tcp and udp
Ahmad Khalid Nasrat
 
TCP-IP Reference Model
TCP-IP Reference ModelTCP-IP Reference Model
TCP-IP Reference Model
Mukesh Tekwani
 
data-link layer protocols
data-link layer protocols  data-link layer protocols
data-link layer protocols
BE Smârt
 
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
 
Cs8591 u4
Cs8591 u4Cs8591 u4
TCP Model
TCP ModelTCP Model
TCP Model
manojkum22
 
Chapter 10 : Application layer
Chapter 10 : Application layerChapter 10 : Application layer
Chapter 10 : Application layer
teknetir
 
TCP protocol flow control
TCP protocol flow control TCP protocol flow control
TCP protocol flow control
anuragjagetiya
 
Congestion control
Congestion controlCongestion control
Congestion control
Madhusudhan G
 
User datagram protocol
User datagram protocolUser datagram protocol
User datagram protocolMohd Arif
 
Point To Point Protocol
Point To Point ProtocolPoint To Point Protocol
Point To Point ProtocolPhan Vuong
 
HIGH SPEED NETWORKS
HIGH SPEED NETWORKSHIGH SPEED NETWORKS
HIGH SPEED NETWORKS
Kathirvel Ayyaswamy
 

What's hot (20)

Transport layer protocol
Transport layer protocolTransport layer protocol
Transport layer protocol
 
What Is User Datagram Protocol?
What Is User Datagram Protocol?What Is User Datagram Protocol?
What Is User Datagram Protocol?
 
TCP/IP – Transmission Control Protocol/ Internet Protocol
TCP/IP – Transmission Control Protocol/ Internet ProtocolTCP/IP – Transmission Control Protocol/ Internet Protocol
TCP/IP – Transmission Control Protocol/ Internet Protocol
 
Mobile computing : Indirect TCP
Mobile computing : Indirect TCPMobile computing : Indirect TCP
Mobile computing : Indirect TCP
 
Address resolution protocol (ARP)
Address resolution protocol (ARP)Address resolution protocol (ARP)
Address resolution protocol (ARP)
 
HDLC(High level Data Link Control)
HDLC(High level Data Link Control)HDLC(High level Data Link Control)
HDLC(High level Data Link Control)
 
Link state routing protocol
Link state routing protocolLink state routing protocol
Link state routing protocol
 
Mk ppt chapter 5
Mk ppt chapter 5Mk ppt chapter 5
Mk ppt chapter 5
 
Tcp and udp
Tcp and udpTcp and udp
Tcp and udp
 
TCP-IP Reference Model
TCP-IP Reference ModelTCP-IP Reference Model
TCP-IP Reference Model
 
data-link layer protocols
data-link layer protocols  data-link layer protocols
data-link layer protocols
 
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)
 
Cs8591 u4
Cs8591 u4Cs8591 u4
Cs8591 u4
 
TCP Model
TCP ModelTCP Model
TCP Model
 
Chapter 10 : Application layer
Chapter 10 : Application layerChapter 10 : Application layer
Chapter 10 : Application layer
 
TCP protocol flow control
TCP protocol flow control TCP protocol flow control
TCP protocol flow control
 
Congestion control
Congestion controlCongestion control
Congestion control
 
User datagram protocol
User datagram protocolUser datagram protocol
User datagram protocol
 
Point To Point Protocol
Point To Point ProtocolPoint To Point Protocol
Point To Point Protocol
 
HIGH SPEED NETWORKS
HIGH SPEED NETWORKSHIGH SPEED NETWORKS
HIGH SPEED NETWORKS
 

Similar to Transport Layer in Computer Networks (TCP / UDP / SCTP)

Transmission control protocol ...............................
Transmission control protocol ...............................Transmission control protocol ...............................
Transmission control protocol ...............................
SwatiHans10
 
04 MK-PPT End-to-End Protocols.ppt
04 MK-PPT End-to-End Protocols.ppt04 MK-PPT End-to-End Protocols.ppt
04 MK-PPT End-to-End Protocols.ppt
dhivyak49
 
Chapter 01 - Overview
Chapter 01 - OverviewChapter 01 - Overview
Chapter 01 - Overviewphanleson
 
MK-PPT Chapter 5.ppt advanced computer networks
MK-PPT Chapter 5.ppt advanced computer networksMK-PPT Chapter 5.ppt advanced computer networks
MK-PPT Chapter 5.ppt advanced computer networks
1JT19IS042SandhyaH
 
Osi model
Osi modelOsi model
Osi model
Anuj Kumar
 
Networking essentials lect3
Networking essentials lect3Networking essentials lect3
Networking essentials lect3
Roman Brovko
 
Mobile Transpot Layer
Mobile Transpot LayerMobile Transpot Layer
Mobile Transpot Layer
Maulik Patel
 
transport protocols
transport protocolstransport protocols
transport protocols
keerthigakeerthigaD
 
Sctp
SctpSctp
Transmission Control Protocol (TCP)
Transmission Control Protocol (TCP)Transmission Control Protocol (TCP)
Transmission Control Protocol (TCP)
k33a
 
Tcp congestion avoidance
Tcp congestion avoidanceTcp congestion avoidance
Tcp congestion avoidance
Ahmed Kamel Taha
 
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
VIJAY SHARMA
 
Unit 5.Transport Layer.pptx
Unit 5.Transport Layer.pptxUnit 5.Transport Layer.pptx
Unit 5.Transport Layer.pptx
1136NayanSonawane
 
chapter 3.2 TCP.pptx
chapter 3.2 TCP.pptxchapter 3.2 TCP.pptx
chapter 3.2 TCP.pptx
Tekle12
 
Analytical Research of TCP Variants in Terms of Maximum Throughput
Analytical Research of TCP Variants in Terms of Maximum ThroughputAnalytical Research of TCP Variants in Terms of Maximum Throughput
Analytical Research of TCP Variants in Terms of Maximum Throughput
IJLT EMAS
 
KandR_TCP (1).ppt notes for congestion control
KandR_TCP (1).ppt    notes for congestion controlKandR_TCP (1).ppt    notes for congestion control
KandR_TCP (1).ppt notes for congestion control
GOKULKANNANMMECLECTC
 
Alternative Transport Protocols
Alternative Transport ProtocolsAlternative Transport Protocols
Alternative Transport Protocols
Peter R. Egli
 
IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...
IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...
IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...
cscpconf
 
Eshcol tech solutions pvt ltd
Eshcol tech solutions pvt ltdEshcol tech solutions pvt ltd
Eshcol tech solutions pvt ltd
Ojas Kumar
 

Similar to Transport Layer in Computer Networks (TCP / UDP / SCTP) (20)

Transmission control protocol ...............................
Transmission control protocol ...............................Transmission control protocol ...............................
Transmission control protocol ...............................
 
04 MK-PPT End-to-End Protocols.ppt
04 MK-PPT End-to-End Protocols.ppt04 MK-PPT End-to-End Protocols.ppt
04 MK-PPT End-to-End Protocols.ppt
 
Chapter 01 - Overview
Chapter 01 - OverviewChapter 01 - Overview
Chapter 01 - Overview
 
MK-PPT Chapter 5.ppt advanced computer networks
MK-PPT Chapter 5.ppt advanced computer networksMK-PPT Chapter 5.ppt advanced computer networks
MK-PPT Chapter 5.ppt advanced computer networks
 
Osi model
Osi modelOsi model
Osi model
 
Networking essentials lect3
Networking essentials lect3Networking essentials lect3
Networking essentials lect3
 
Mobile Transpot Layer
Mobile Transpot LayerMobile Transpot Layer
Mobile Transpot Layer
 
transport protocols
transport protocolstransport protocols
transport protocols
 
Sctp
SctpSctp
Sctp
 
Transmission Control Protocol (TCP)
Transmission Control Protocol (TCP)Transmission Control Protocol (TCP)
Transmission Control Protocol (TCP)
 
Tcp congestion avoidance
Tcp congestion avoidanceTcp congestion avoidance
Tcp congestion avoidance
 
Mod4
Mod4Mod4
Mod4
 
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
 
Unit 5.Transport Layer.pptx
Unit 5.Transport Layer.pptxUnit 5.Transport Layer.pptx
Unit 5.Transport Layer.pptx
 
chapter 3.2 TCP.pptx
chapter 3.2 TCP.pptxchapter 3.2 TCP.pptx
chapter 3.2 TCP.pptx
 
Analytical Research of TCP Variants in Terms of Maximum Throughput
Analytical Research of TCP Variants in Terms of Maximum ThroughputAnalytical Research of TCP Variants in Terms of Maximum Throughput
Analytical Research of TCP Variants in Terms of Maximum Throughput
 
KandR_TCP (1).ppt notes for congestion control
KandR_TCP (1).ppt    notes for congestion controlKandR_TCP (1).ppt    notes for congestion control
KandR_TCP (1).ppt notes for congestion control
 
Alternative Transport Protocols
Alternative Transport ProtocolsAlternative Transport Protocols
Alternative Transport Protocols
 
IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...
IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...
IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...
 
Eshcol tech solutions pvt ltd
Eshcol tech solutions pvt ltdEshcol tech solutions pvt ltd
Eshcol tech solutions pvt ltd
 

More from Hamidreza Bolhasani

Introduction to Research Methodology
Introduction to Research MethodologyIntroduction to Research Methodology
Introduction to Research Methodology
Hamidreza Bolhasani
 
Internet of Things (IoT) and Artificial Intelligence (AI) role in Medical and...
Internet of Things (IoT) and Artificial Intelligence (AI) role in Medical and...Internet of Things (IoT) and Artificial Intelligence (AI) role in Medical and...
Internet of Things (IoT) and Artificial Intelligence (AI) role in Medical and...
Hamidreza Bolhasani
 
Mobile Networks Architecture and Security (2G to 5G)
Mobile Networks Architecture and Security (2G to 5G)Mobile Networks Architecture and Security (2G to 5G)
Mobile Networks Architecture and Security (2G to 5G)
Hamidreza Bolhasani
 
An Overview on the role of Artificial Intelligence (AI) and Deep Neural Netwo...
An Overview on the role of Artificial Intelligence (AI) and Deep Neural Netwo...An Overview on the role of Artificial Intelligence (AI) and Deep Neural Netwo...
An Overview on the role of Artificial Intelligence (AI) and Deep Neural Netwo...
Hamidreza Bolhasani
 
CS-Core Mobile Network (General)
CS-Core Mobile Network (General)CS-Core Mobile Network (General)
CS-Core Mobile Network (General)
Hamidreza Bolhasani
 
5G Network Overview
 5G Network Overview 5G Network Overview
5G Network Overview
Hamidreza Bolhasani
 
NFV +SDN (Network Function Virtualization)
NFV +SDN (Network Function Virtualization)NFV +SDN (Network Function Virtualization)
NFV +SDN (Network Function Virtualization)
Hamidreza Bolhasani
 
5G New Services - Opportunities and Challenges
5G New Services - Opportunities and Challenges5G New Services - Opportunities and Challenges
5G New Services - Opportunities and Challenges
Hamidreza Bolhasani
 
5G + AI Applications in Healthcare and Medical Sciences
5G + AI Applications in Healthcare and Medical Sciences5G + AI Applications in Healthcare and Medical Sciences
5G + AI Applications in Healthcare and Medical Sciences
Hamidreza Bolhasani
 
2G / 3G / 4G / IMS / 5G Overview with Focus on Core Network
2G / 3G / 4G / IMS / 5G Overview with Focus on Core Network2G / 3G / 4G / IMS / 5G Overview with Focus on Core Network
2G / 3G / 4G / IMS / 5G Overview with Focus on Core Network
Hamidreza Bolhasani
 
Neural Networks Hardware Accelerators (An Introduction)
Neural Networks Hardware Accelerators (An Introduction)Neural Networks Hardware Accelerators (An Introduction)
Neural Networks Hardware Accelerators (An Introduction)
Hamidreza Bolhasani
 
Machine Learning in R - Part 1: Correlation and Regression (Basics)
Machine Learning in R - Part 1: Correlation and Regression (Basics)Machine Learning in R - Part 1: Correlation and Regression (Basics)
Machine Learning in R - Part 1: Correlation and Regression (Basics)
Hamidreza Bolhasani
 
An Introduction to Quantum Computers Architecture
An Introduction to Quantum Computers ArchitectureAn Introduction to Quantum Computers Architecture
An Introduction to Quantum Computers Architecture
Hamidreza Bolhasani
 
IMS + VoLTE Overview
IMS + VoLTE OverviewIMS + VoLTE Overview
IMS + VoLTE Overview
Hamidreza Bolhasani
 
Mobile Networks Overview (2G / 3G / 4G-LTE)
Mobile Networks Overview (2G / 3G / 4G-LTE)Mobile Networks Overview (2G / 3G / 4G-LTE)
Mobile Networks Overview (2G / 3G / 4G-LTE)
Hamidreza Bolhasani
 
High-Tech Telecommunication (4G/LTE) overview with focus on new services
High-Tech Telecommunication (4G/LTE) overview with focus on new servicesHigh-Tech Telecommunication (4G/LTE) overview with focus on new services
High-Tech Telecommunication (4G/LTE) overview with focus on new services
Hamidreza Bolhasani
 

More from Hamidreza Bolhasani (16)

Introduction to Research Methodology
Introduction to Research MethodologyIntroduction to Research Methodology
Introduction to Research Methodology
 
Internet of Things (IoT) and Artificial Intelligence (AI) role in Medical and...
Internet of Things (IoT) and Artificial Intelligence (AI) role in Medical and...Internet of Things (IoT) and Artificial Intelligence (AI) role in Medical and...
Internet of Things (IoT) and Artificial Intelligence (AI) role in Medical and...
 
Mobile Networks Architecture and Security (2G to 5G)
Mobile Networks Architecture and Security (2G to 5G)Mobile Networks Architecture and Security (2G to 5G)
Mobile Networks Architecture and Security (2G to 5G)
 
An Overview on the role of Artificial Intelligence (AI) and Deep Neural Netwo...
An Overview on the role of Artificial Intelligence (AI) and Deep Neural Netwo...An Overview on the role of Artificial Intelligence (AI) and Deep Neural Netwo...
An Overview on the role of Artificial Intelligence (AI) and Deep Neural Netwo...
 
CS-Core Mobile Network (General)
CS-Core Mobile Network (General)CS-Core Mobile Network (General)
CS-Core Mobile Network (General)
 
5G Network Overview
 5G Network Overview 5G Network Overview
5G Network Overview
 
NFV +SDN (Network Function Virtualization)
NFV +SDN (Network Function Virtualization)NFV +SDN (Network Function Virtualization)
NFV +SDN (Network Function Virtualization)
 
5G New Services - Opportunities and Challenges
5G New Services - Opportunities and Challenges5G New Services - Opportunities and Challenges
5G New Services - Opportunities and Challenges
 
5G + AI Applications in Healthcare and Medical Sciences
5G + AI Applications in Healthcare and Medical Sciences5G + AI Applications in Healthcare and Medical Sciences
5G + AI Applications in Healthcare and Medical Sciences
 
2G / 3G / 4G / IMS / 5G Overview with Focus on Core Network
2G / 3G / 4G / IMS / 5G Overview with Focus on Core Network2G / 3G / 4G / IMS / 5G Overview with Focus on Core Network
2G / 3G / 4G / IMS / 5G Overview with Focus on Core Network
 
Neural Networks Hardware Accelerators (An Introduction)
Neural Networks Hardware Accelerators (An Introduction)Neural Networks Hardware Accelerators (An Introduction)
Neural Networks Hardware Accelerators (An Introduction)
 
Machine Learning in R - Part 1: Correlation and Regression (Basics)
Machine Learning in R - Part 1: Correlation and Regression (Basics)Machine Learning in R - Part 1: Correlation and Regression (Basics)
Machine Learning in R - Part 1: Correlation and Regression (Basics)
 
An Introduction to Quantum Computers Architecture
An Introduction to Quantum Computers ArchitectureAn Introduction to Quantum Computers Architecture
An Introduction to Quantum Computers Architecture
 
IMS + VoLTE Overview
IMS + VoLTE OverviewIMS + VoLTE Overview
IMS + VoLTE Overview
 
Mobile Networks Overview (2G / 3G / 4G-LTE)
Mobile Networks Overview (2G / 3G / 4G-LTE)Mobile Networks Overview (2G / 3G / 4G-LTE)
Mobile Networks Overview (2G / 3G / 4G-LTE)
 
High-Tech Telecommunication (4G/LTE) overview with focus on new services
High-Tech Telecommunication (4G/LTE) overview with focus on new servicesHigh-Tech Telecommunication (4G/LTE) overview with focus on new services
High-Tech Telecommunication (4G/LTE) overview with focus on new services
 

Recently uploaded

De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 

Recently uploaded (20)

De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 

Transport Layer in Computer Networks (TCP / UDP / SCTP)

  • 1. Transport Layer TCP/UDP/SCTP FUNDAMENTAL CONCEPTS AND OVERVIEW Hamid Reza Bolhasani DATA SCIENTIST PHD, COMPUTER ENGINEERING H.BOLHASANI@GMAIL.COM JAN 2020.
  • 2. 2 Table of Contents  History  Introduction  TCP  UDP  MP-TCP  SCTP  Motivation of Developing SCTP  Comparison of Transport Protocols  Features and Advantages of SCTP  Role of SCTP in Fixed/Mobile Networks  Question & Answer  Conclusion
  • 5. 5  Transport Layer Role and Services
  • 6. 6  Transport Layer Role and Services
  • 7.  Transport Layer Role and Services  End-to-End Delivery, Addressing, Reliable Delivery, Flow Control, Multiplexing  Serve Application Layer  Track individual communications  Segment data and manage each peace of data  Re-assemble segments back into streams of application data at the receiving host  Identify the different applications using port numbers  Communication between processes
  • 8.  Transport Layer  TCP  UDP  SCTP  UDP-Lite  RUDP  MPTCP  DCCP
  • 9.  Evolution of TCP (1/2) 1975 1980 1985 1990 1982 TCP & IP RFC 793 & 791 1974 TCP described by Vint Cerf and Bob Kahn In IEEE Trans Comm 1983 BSD Unix 4.2 supports TCP/IP 1984 Nagel’s algorithm to reduce overhead of small packets; predicts congestion collapse 1987 Karn’s algorithm to better estimate round-trip time 1986 Congestion collapse observed 1988 Van Jacobson’s algorithms congestion avoidance and congestion control (most implemented in 4.3BSD Tahoe) 1990 4.3BSD Reno fast retransmit delayed ACK’s 1975 Three-way handshake Raymond Tomlinson In SIGCOMM 75
  • 10.  Evolution of TCP (2/2) 1993 1994 1996 1994 ECN (Floyd) Explicit Congestion Notification 1993 TCP Vegas (Brakmo et al) real congestion avoidance 1994 T/TCP (Braden) Transaction TCP 1996 SACK TCP (Floyd et al) Selective Acknowledgement 1996 Hoe Improving TCP startup 1996 FACK TCP (Mathis et al) extension to SACK
  • 11.  TCP Introduction  Communication Abstraction  Reliable  Ordered  Point-to-Point  Byte-Stream  Full-Duplex  Flow and Congestion Controlled  Protocol Implemented entirely at the ends  Fate Sharing  Sliding Window with Cumulative Acks  Ack field contains last in-order packet received.  Duplicate Ack sent when out-of-order packet received
  • 12.  TCP Segment Header
  • 13.  TCP Services Port Protocol Use 21 FTP File Transfer 23 Telnet Remote login 25 SMTP E-mail 69 TFTP Trivial File Transfer Protocol 79 Finger Lookup info about a user 80 HTTP World Wide Web 110 POP-3 Remote e-mail access 119 NNTP USENET news
  • 14.  TCP / 3 Way Handshaking Host A Host B
  • 15.  TCP / 4 Way Termination Host A Host B
  • 16.  TCP Signaling Host A (Client) Host B (Server) socket bind listen accept (blocks) socket connect (blocks) connect returns accept returns read (blocks) write read (blocks) write read (blocks) read returns
  • 17.  TCP Window Flow Control Host A Host B t1 t2 t3 t4 t0
  • 18.  TCP / Sliding Window
  • 19.  TCP Congestion Control (1/3) (a) A fast network feeding a low capacity receiver. (b) A slow network feeding a high-capacity receiver.
  • 20.  TCP Congestion Control (2/3) Congestion window 10 5 15 20 0 Round-trip times Slow start Congestion avoidance Congestion occurs Threshold Source Destination
  • 21.  TCP Congestion Control – Tahoe Algorithm (3/3)  Slow Start  Connection starts wit cwnd=1.  For each Ack  cwnd:= cwnd+1  Exponential Increase  cwnd doubled every RTT.  Congestion Avoidance (CA)  Upon receiving Ack with cwnd > ssthresh  Increase cwnd by 1/cwnd  Results in Additive Increase  Multiplative Decrease  Slow Start is over.  cwnd > ssthresh  Until (Loss Events) { Every w Segments ACKed: cwnd++}  ssthresh:= cwnd/2, cwnd=1, perform slow-strat.
  • 22.  UDP  User Datagram Protocol  Connectionless  Unreliable Source Port Destination Port UDP Length UDP Checksum Data 0 16 31
  • 23.  UDP / Well Known Services
  • 24.  TCP vs UDP
  • 25. 25 History  Primary motivation: Transportation of telephony signaling messages over IP Networks. 1991 TCP Failure Oct. 2000 SCTP - RFC2960 1998 MDTP submission (UDP based) 1997 MDTP work began1992-1997 UDP Reliability Experiments RFC 3257 Apr. 2002 RFC 3286 May 2002 RFC 3309 Sep. 2002 RFC 3436 Dec. 2002
  • 26. 26  What is SCTP?  SCTP (Stream Transmission Control Protocol, RFC 2960) is a transport protocol on OSI layer 4, like TCP or UDP.  SCTP was specifically designed as a transport protocol for telephony signaling message transport. IP Network IPv4/IPv6 Application Link Layer UDP TCP SCTP Physical Layer
  • 27. 27  RFCs  RFC 2960 – Stream Control Transmission Protocol  RFC 3257 – SCTP Applicability Statement  RFC 3286 – An introduction to SCTP  RFC 3309 – SCTP Checksum Change  RFC 3436 – Transport Layer Security over SCTP  RFC 3758 – SCTP Partial Reliability Extension  RFC 4960 – Transport PSTN signaling message over IP networks
  • 28. 28  Motivations for Developing SCTP  Developed by IETF SIGTRAN working group  All-IP Networks.  3GPP networks based on IPv6 possible.  To create a new, IP based transport protocol.  For transport of signaling data over IP-based networks.  Signaling between SG, STP, MGW, HSS, MSC,…
  • 29. 29  Motivations for Developing SCTP  Problems of TCP  Byte-Stream Oriented  No built-in support for multi-homed IP hosts  Vulnerable for SYN flooding attacks  Provide strict ordering of information which causes HOL Blocking problem.  Problems of UDP  Unreliable Data Transfer  No Congestion/Flow control
  • 30. 30  SYN Flooding SYN victim Flooded!! TCB TCB TCB TCB TCB • There is no ACK in response to the SYN-ACK, hence connection remains half-open • Other genuine clients cannot open connections to the victim • The victim is unable to provide service attackers 128.3.4.5 221.3.5.10 Unavailable, reserved resources SYN-ACK ACK SYN SYN-ACK ACK
  • 31. 31  Head-of-Line Blocking in TCP Sender Receiver ACK 1 1 2 3 4 5 ACK 2 ACK 2 ACK 2 Packet 3 is blocking the head of the line. 1 2 Receiver’s App
  • 32. 32  Head-of-Line Blocking Problem in TCP  TCP provides single data stream.  When a segment is lost, subsequent segments must wait to be processed.  Problem for some applications (Telephony)
  • 33. 33  SCTP Features (1/3)  Provide an end-to-end reliable transmission service over IP networks  Support multiple streams per path  Support multi-homed hosts  Multiple IP Addresses per host  More tolerant to network failures  Message-oriented: Conserve message boundaries  Unordered delivery: SCTP can deliver messages as ordered or unordered.  Congestion control: SCTP congestion control is similar to TCP  SCTP is rate adaptive similar to TCP
  • 34. 34  SCTP Features (2/3)  Fragmentation  Detection of path MTU and fragmentation of data chunks to fit into available path MTU.  Error Correction  Acknowledged error-free, non-duplicated data transfer.  Congestion Avoidance  Similar functionality as in TCP to avoid congestion to build up in the network.
  • 36. 36  SCTP Terminology  Chunk  SCTP Association  Path  Stream  Verification Tag  Message Authentication Code  Transmission Sequence Number (TSN)  Stream Sequence Number (SSN)
  • 38. 38  SCTP Packets An SCTP-Protocol Data Unit with several chunks
  • 40. 40  SCTP Payload (Data, ID=0)  Stream Identifier: Identifies the stream to which the following user data belongs to.  Stream Sequence Number: This value represents stream sequence number.
  • 41. 41  Initiation (INIT)  Initiate Tag: This value MUST be placed into the verification tag field of every SCTP packets.  Advertised Receiver Window Credit (a_rwnd): This value represents the dedicated buffer space.
  • 42. 42  Initiation Acknowledgment (INIT ACK)  The parameter part of INIT ack is formatted similarly to the INIT chunk. It uses two extra variable parameters: The State Cookie and the Unrecognized parameter:
  • 44. 44  Selective Acknowledgment (2/5)  SACK is sent to the peer endpoint to acknowledge received DATA chunks and to inform the peer endpoint of gaps in the received subsequences of DATA chunks as represented by their TSNs.  Cumulative TSN Ack: This parameter contains the TSN of the last DATA chunk received in sequence before a gap.  Gap Ack Block Start: Indicates the Start offset TSN for this Gap Ack Block.  Gap Ack Block End: Indicates the End offset TSN for this Gap Ack Block.  Gap Ack Blocks: TSNs >= (Cumulative TSN Ack + Gap Ack Block Start) and TSNs <= (Cumulative TSN Ack + Gap Ack Block End)  These TSNs are assumed to have been received correctly.
  • 45. 45  Selective Acknowledgment (3/5)  Duplicate TSN  Indicates the number of times a TSN was received in duplicate since the last SACK was sent.  Every time a receiver gets a duplicate TSN (before sending the SACK) it adds it to the list of duplicates. The duplicate count is re-initialized to zero after sending each SACK.
  • 46. 46  Selective Acknowledgment (4/5) TSN=17 miss TSN=15 TSN=14 miss TSN=12 TSN=11 TSN=10 Cumulative TSN Ack = 12 a_rwnd = 4660 Num of block=2 Num of dup=0 Block #1 start=2 Block #1 end=3 Block #2 start=5 Block #2 end=5 12+2 ~ 12+3 12+5 ~ 12+5
  • 47. 47  Selective Acknowledgment (5/5) TSN=16 TSN=15 TSN=14 TSN=13 TSN=13 TSN=12 miss TSN=10 Cumulative TSN Ack = 10 a_rwnd = 4660 Num of block=1 Num of dup=1 Block #1 start=2 Block #1 end=6 Duplicate TSN 13 10+2 ~ 10+6
  • 48. 48  SCTP States  Association Establishment and Shutdown.  SCTP uses a cookie mechanism in a four-way handshake to establish an association.  The shutdown process is a three-way handshake.
  • 49. 49  SCTP Congestion Control (1/5)  According to RFC2960, the congestion control behavior of an SCTP implementation may have an impact where timely delivery of messages is required.  The congestion control mechanisms for SCTP have been derived from RFC 2581 - TCP Congestion Control, and been adapted for multi-homing.  For each destination address (i.e. each possible path), a discrete set of flow and congestion control parameters is kept.  From the point of view of the network, an SCTP association with a number of paths may behave similarly as the same number of TCP connections.
  • 50. 50  SCTP Congestion Control (2/5)  Similar to TCP, SCTP has two modes, Slow Start and Congestion Avoidance.  The mode is determined by a set of congestion control variables, which are path specific.  For successfully delivered and acknowledged data, the congestion window variable (CWND) is steadily increased, and once it exceeds a certain boundary (called Slow Start Threshold, SSTRESH), the mode changes from Slow Start to Congestion Avoidance.  In Slow Start, the CWND is increased faster (roughly one MTU per received SACK chunk), and in Congestion Avoidance mode, it is only increased by one MTU per Round Trip Time (RTT) measurement.
  • 51. 51  SCTP Congestion Control (3/5)  RTO timeout or fast retransmission will trigger retransmission and cause the SSTHRESH to be cut down drastically and reset the CWND.  Fast Retransmission  ssthresh = max(cwnd/2, 2*MTU)  cwnd = ssthresh  RTO timeout  ssthresh = max(cwnd/2, 2*MTU)  cwnd = MTU
  • 52. 52  SCTP Congestion Control – Fast Retransmit (4/5) Sender Receiver ACK 1 1 2 3 5 6 ACK 2 ACK 2 ACK 2 ACK 2 4 ACK 6 retransmit 3 four consecutive SACKs
  • 53. 53  SCTP Congestion Control (5/5)
  • 54. 54 Thanks ForYour Attention! Hamid Reza Bolhasani Bolhasani@gmail.com