Skip to content
geeksforgeeks
  • Tutorials
    • Python
    • Java
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
    • Practice Coding Problems
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Aptitude
  • Engineering Mathematics
  • Discrete Mathematics
  • Operating System
  • DBMS
  • Computer Networks
  • Digital Logic and Design
  • C Programming
  • Data Structures
  • Algorithms
  • Theory of Computation
  • Compiler Design
  • Computer Org and Architecture
Open In App
Next Article:
Stream Control Transmission Protocol (SCTP)
Next article icon

Stream Control Transmission Protocol (SCTP)

Last Updated : 11 Dec, 2023
Comments
Improve
Suggest changes
Like Article
Like
Report

Stream Control Transmission Protocol (SCTP) is a network protocol that is connection-oriented and used for transmitting multiple streams of data simultaneously between any two endpoints that have established a connection in a computer network. SCTP is a transport layer of Internet Protocol (IP).

SCTP support telephone connection over the internet.

History of SCTP Protocol

SCTP is a standard protocol that was coined by The Transport Area Working Group (TSVWG) of the IETF (Internet Engineering Task Force). The reason for the development of the protocol is to develop a system that is similar to the telephone Signaling System 7 (SS7) switching network for carrying call control signals using networks.

SCTP
TSVWG and IETF developed SCTP as a standard protocol

The SCTP is similar to TCP protocol but the advantage is that it also provides message oriented data transfer like User Datagram Protocol (UDP) which makes it useful for end to end communication over internet. Both TCP and UPD protocol are based on the concept that made SCTP possible. Unlike TCP SCTP make ensure that it complete the concurrent transmission over several streams of data in units called message between the end points which are connected to each other.

Understanding Stream Control Transmission Protocol

As we know SCTP is an transport layer protocol it exist at an equivalent level with UDP and TCP which provides the transport layer functions properties to many other Internet applications. As it is a reliable transport protocol which operates on top of connectionless packet networks like IP and supports transfer of data over the network in single or multiple Ip cases.

It transport the signaling message to and from Signaling System (SS7) for 3G mobiles networks with help of M3UA, M2Ua or SUA. It is a packet based transport protocol. It is both reliable and secure transport which minimize the end to end delay.

This protocol is optimized to :-

  • It avoids problem related to he multithread infrastructure during the high traffic.
  • It also improves the SCTP association searching rate by SCTP hash table optimization on the SPU(Services Processing Unit ).
  • It improves the FSM for retransmission of cases.

What is Multihoming in SCTP?

First we will understand multihoming so multihoming is the process of connecting a network or a host to multiple network simultaneously which is done due to increase reliability or performance.

Telecommunication systems are highly prone to time delays. Multihoming system enables with multiple interfaces to use one over the other without waiting. SCTP multihoming means that the endpoints which are connected can have different IP addresses associated to it. In simpler way multihoming refers to sending data to an alternate IP address if in case due to any issue the primary or original IP address is unreachable. Therefore the SCTP can connect or establish multiple connection paths between two endpoints.

In this there is a original or primary interface or secondary interfaces. So during establishment of connections a acknowledgment process validates the IP address and manages the round trip time (RTT) for each individual address. The RTT calculation enables the communication to migrate to a secondary interface.

SCTP Packet

SCTP protocol packet consist of two main parts Header and Payload. The Header is common but Payload have variable chunks.

The Common SCTP header is 12 byte long and made of the 4 parts

  • Port Number (Source): shows the sending port
  • Port Number (Destination): shows the receiving port
  • Verification tag: a 32 bit random value which differentiate the packets from the previous connection
  • Checksum: a CRC32 algorithm for detection of error.
SCTP Packet
SCTP Packet

Security

This protocol provides certain security features related to transport such as resistance against blind DOS attack (Denial of Service), masquerades and monopolization of any type of service during operation. SIGTRAN (Signaling Transport) protocols does not define any type of new security mechanism as current available security protocols provide necessary steps for securing the transmission of SS7 message over IP networks

SCTP Services

  • Aggregate Server Access Protocol (ASAP)
  • Bearer-independent Call Control (BICC)
  • Direct Data Placement Segment chunk (DDP-segment)
  • Direct Data Placement Stream session control (DDP-stream)
  • Diameter in a DTLS/SCTP DATA chunk (Diameter-DTLS)

Understanding Central Point Architecture Support for SCTP

As we know that the SCTP association is a connection between two SCTP endpoints. Each endpoint identifies it's association with a tag. During it's setup the SCTP endpoints exchange their tags for receiving packets. So during the exchange f packets between two SCTP endpoints the both source and destination address can change in the association life cycle.

Before the release of Junos OS 15.1X49-D40 all the sessions of the SCTP association are hashed to the same SPU with the help of the fixed per association SCTP port pair. In many of the cases multiple SCTP association use the same port pair, which results a bad load balancing with all the traffic handled by single SPU. When the version Junos OS release 15.1X49-D40 and Junos OS Release 17.3R1 to handle load balancing issue, the tag based hash distribution is used to ensure the even distribution of the traffic of SCTP from various associations among all the SPU's. It's flow session utilizes a connection tag to more finely distribute SCTP traffic across all the SPU's on the SRX1500, SRX4100, SRX4200, SRX5400, SRX600, and SRX800 devices that supports the SCTP ALG. The decoding of connection tag is from SCTP vtag.

Advantages of SCTP

As SCTP is a full duplex connection, it enables the data to be sent and receive simultaneously. The data is delivered in chunks and in a ordered way which are independent to each stream this help in isolating the data from other streams.

Like TCP and unlike UDP the SCTP provides the following advantage

  • Flow control: It adjust the data transmission in a particular order and quantity.
  • Congestion control: It checks for network prior transmission to prevent the congestion over the links.
  • Fault tolerance: It uses the IP address from different internet services providers. So, if in case ISP fails another connection can be used for establishing the connection.
  • It is a message oriented rather than byte oriented as of UDP.
  • It provides a path selection functionality to select the primary data transmission and a monitoring function to test the connectivity of transmission path.

Limitation and Constraints of SCTP Protocol

  • IP address
    • In this protocol a maximum of eight IP address and eight destination IP address are used in communication.
    • In this only static IP NAT is supported.
  • SCTP Payload Protocol Blocking
    • If there is any change in the protocol blocking configuration it immediately impacts the traffic of existing associations.
    • The protocol which is supported is in decimal value ranging from 0 to 63, which includes 48 IANA protocol and 16 unassigned protocols.
  • All the static NAT the interfaces packets (client or server side) should belong from the same zone.
  • The sessions of SCTP are not deleted with associations they have a time out of 30 min (default).
  • Only the Static NAT is supported for SCTP protocol.

Application Of SCTP Protocol

  • Telephone Communication: It was developed foe the communication of telephony over the internet.
  • Multihoming Support: It provides multihoming support, in which both endpoints of the connection can have multiple IP address which help helps in detection of failure in between the communication path.
  • Transport for various Application: It is used in transport signaling messages to and from SS7(Signaling System 7) on the devices supporting 3G networks through M3UA , M2UA.
  • Roaming Security and RAN Security: In mobile infrastructure it is used in roaming security and RAN (Radio Access Network) security.
  • Reliable and Secure Transport: This protocol provides reliable and highly secure transport or communication which minimizes the end to end delay.

Conclusion

Stream Control Transmission Protocol (SCTP) is a connection oriented protocol which allows transmission of multiple data streams. SCTP was first coined by the Transport Area Working Group (TSVWG) of the Internet Engineering Task Force (IETF) to create a system similar to the telephone Signaling System 7 (SS7) switching network for carrying call control signals using IP networks. SCTP make sure that it completes transmission of several streams of data in units called messages between the connected endpoints. It supports the multihoming concept, , which increases the reliability and performance. it is a reliable and very secure and trustworthy transport protocol which minimizes end to end delay and provides security features like, resistance against blind DOS attacks, masquerades, and monopolization of services during operation. It is used in various applications such as Aggregate Server Access Protocol (ASAP), Bearer-independent Call Control (BICC), and others. It's advantages include full duplex connection, message oriented data transfer, flow control, congestion control, and fault tolerance. It has limitations of a maximum of eight IP addresses and the eight destination IP addresses in the communication process, and it only supports static IP NAT . Changes in the protocol blocking configuration immediately, it impacts the traffic.


Next Article
Stream Control Transmission Protocol (SCTP)

O

omprakashkumawat1313
Improve
Article Tags :
  • Computer Networks
  • Geeks Premier League
  • GeeksforGeeks
  • Geeks Premier League 2023

Similar Reads

    What is TCP (Transmission Control Protocol)?
    Transmission Control Protocol (TCP) is a connection-oriented protocol for communications that helps in the exchange of messages between different devices over a network. It is one of the main protocols of the TCP/IP suite. In OSI model, it operates at the transport layer(Layer 4). It lies between th
    5 min read
    Real-time Transport Control Protocol (RTCP)
    Real-time Transport Protocol (RTP) allows only that type of message, which carries data from the source to the destination. But in some cases, we need some other type of message in a session. The messages can control the transmission and quality of data as well as also allow the recipients to they c
    6 min read
    When is the Transmission Control Protocol (TCP) Appropriate to Use
    Transmission Control Protocol (TCP) is a connection-oriented, reliable, and secured protocol. To provide reliable service TCP implements Error control, Congestion control, Flow control. TCP is used when reliable, ordered, and error free delivery of data is needed over a network. TCP rearranges the d
    5 min read
    SFTP File Transfer Protocol
    SFTP (Secure File Transfer Protocol) is the advanced version of FTP(file transfer protocol) which ensures security while transferring files between the organizations/computer. It is also known as SSH(Secure Shell). It works on port no. 22 and uses the client-server model. Features of SFTP : It encry
    3 min read
    Real Time Transport Protocol (RTP)
    A protocol is designed to handle real-time traffic (like audio and video) of the Internet, is known as Real Time Transport Protocol (RTP). RTP must be used with UDP. It does not have any delivery mechanism like multicasting or port numbers. RTP supports different formats of files like MPEG and MJPEG
    3 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences