TCP UDP SCTP
TCP UDP SCTP
establishing low-latency and loss-tolerating connections between applications on the internet. It speeds up
transmissions by enabling the transfer of data before an agreement is provided by the receiving party. As a
result, UDP is beneficial in time-sensitive communications.
• UDP enables process-to-process communication
• UDP sends messages, called datagram, and the service does not provide any guarantees that
the data will be delivered or offer special features to retransmit lost or corrupted messages.
• UDP provides two services not provided by the IP layer. It provides port numbers to help
distinguish different user requests and, optionally, a checksum capability to verify that the
data arrived intact.
• UDP is considered a connectionless protocol because it doesn't require a virtual circuit to
be established before any data transfer occurs. The communication protocol just sends the
packets, which means that it has much lower bandwidth overhead and latency. With UDP,
packets may take different paths between sender and receiver, and as a result, some packets
may be lost or received out of order.
User Datagram Protocol features
User Datagram Protocol has attributes that make it
beneficial for use with applications that can
tolerate lost data. For example:
• It allows packets to be dropped and received in a different order than they were transmitted,
making it suitable for real-time applications where latency might be a concern.
• It can be used where a large number of clients are connected and where real-time error
correction isn't necessary, such as gaming, voice or video conferencing, and streaming
media.
UDP characteristics
• It is a connectionless protocol.
• It is used for VoIP, video streaming, gaming and live broadcasts.
• It is faster and needs fewer resources.
• The packets don't necessarily arrive in order.
• It allows missing packets -- the sender is unable to know whether a packet has been
received.
• It is better suited for applications that need fast, efficient transmission, such as games.
Transmission Control Protocol (TCP)
• Connection: TCP provides connections between clients and servers. A TCP client
establishes a connection with a server, exchanges data across the connection, and then
terminates the connection.
• Reliability: TCP requires acknowledgment when sending data. If an acknowledgment is not
received, TCP automatically retransmits the data and waits a longer amount of time.
• Round-trip time (RTT): TCP estimates RTT between a client and server dynamically so
that it knows how long to wait for an acknowledgment.
• Sequencing: TCP associates a sequence number with every byte (segment, unit of data that
TCP passes to IP.) it sends. TCP reorders out-of-order segments and discards duplicate
segments.
• Flow control
• Full-duplex: an application can send and receive data in
both directions on a given connection at any time.
Stream Control Transmission Protocol
It is a connection- oriented protocol in computer networks which provides a full-duplex association
i.e., transmitting multiple streams of data between two end points at the same time that have
established a connection in network. It is sometimes referred to as next generation TCP or TCPng,
SCTP makes it easier to support telephonic conversation on Internet. A telephonic conversation
requires transmitting of voice along with other data at the same time on both ends, SCTP protocol
makes it easier to establish reliable connectioLike TCP, SCTP provides reliability, sequencing, flow
control, and full-duplex data transfer.
Unlike TCP, SCTP provides:
• Association instead of "connection": An association refers to a communication between
two systems, which may involve more than two addresses due to multi homing.
• Message-oriented: provides sequenced delivery of individual records. Like UDP, the
length of a record written by the sender is passed to the receiving application.
• Multihoming: allows a single SCTP endpoint to support multiple IP addresses. This feature
can provide increased robustness against network failure.
Characteristics of SCTP
• Unicast with Multiple properties –
It is a point-to-point protocol which can use different paths to reach end host.
• Reliable Transmission –
It uses SACK and checksums to detect damaged, corrupted, discarded, duplicate and
reordered data. It is similar to TCP but SCTP is more efficient when it comes to reordering
of data.
• Message oriented –
Each message can be framed and we can keep order of datastream and tabs on structure. For
this, In TCP, we need a different layer for abstraction.
• Multi-homing –
It can establish multiple connection paths between two end points and does not need to rely
on IP layer for resilience.
Advantages of SCTP
• It is a full- duplex connection i.e. users can send and receive data simultaneously.
• It allows half- closed connections.
• The message’s boundaries are maintained and application doesn’t have to split messages.
• It has properties of both TCP and UDP protocol.
• It doesn’t rely on IP layer for resilience of paths.
Disadvantages of SCTP
– One of key challenges is that it requires changes in transport stack on node.
– Applications need to be modified to use SCTP instead of TCP/UDP.
– Applications need to be modified to handle multiple simultaneous streams.