Uploaded by mchkjv9pbh

DCN UNIT 4

advertisement
UNIT IV-TRANSPORT LAYER
Introduction – Transport Layer Protocols – Services – Port Numbers – User Datagram
Protocol – Transmission Control Protocol – SCTP.
INTRODUCTION OF TRANPORT LAYER
What is the transport layer?
Layer 4 of the OSI Model: Transport Layer provides transparent transfer of data between end users,
providing reliable data transfer services to the upper layers. The transport layer controls the
reliability of a given link through flow control, segmentation and de-segmentation, and error
control.
The transport Layer is the second layer in the TCP/IP model and the fourth layer in the OSI
model. It is an end-to-end layer used to deliver messages to a host. It is termed an end-to-end
layer because it provides a point-to-point connection rather than hop-to-hop, between the source
host and destination host to deliver the services reliably. The unit of data encapsulation in the
Transport Layer is a segment.
Working of Transport Layer
The transport layer takes services from the Application layer and provides services to
the Network layer.
At the sender’s side: The transport layer receives data (message) from the Application layer
and then performs Segmentation, divides the actual message into segments, adds the source and
destination’s port numbers into the header of the segment, and transfers the message to the
Network layer.
At the receiver’s side: The transport layer receives data from the Network layer, reassembles
the segmented data, reads its header, identifies the port number, and forwards the message to the
appropriate port in the Application layer.
Responsibilities of a Transport Layer
 The Process to Process Delivery
 End-to-End Connection between Hosts
 Multiplexing and Demultiplexing
 Congestion Control
 Data integrity and Error correction
 Flow control
1. The Process to Process Delivery
While Data Link Layer requires the MAC address (48 bits address contained inside the Network
Interface Card of every host machine) of source-destination hosts to correctly deliver a frame
and the Network layer requires the IP address for appropriate routing of packets, in a similar way
Transport Layer requires a Port number to correctly deliver the segments of data to the correct
process amongst the multiple processes running on a particular host. A port number is a 16 -bit
address used to identify any client-server program uniquely.
2. End-to-end Connection between Hosts
The transport layer is also responsible for creating the end-to-end Connection between hosts for
which it mainly uses TCP and UDP. TCP is a secure, connection-orientated protocol that uses a
handshake protocol to establish a robust connection between two end hosts. TCP ensures the
reliable delivery of messages and is used in various applications. UDP, on the other hand, is a
stateless and unreliable protocol that ensures best-effort delivery. It is suitable for applications
that have little concern with flow or error control and requires sending the bulk of data like video
conferencing. It is often used in multicasting protocols.
3. Multiplexing and Demultiplexing
Multiplexing(many to one) is when data is acquired from several processes from the sender 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. Similarly, Demultiplexing(one to many is required at
the receiver side when the message is distributed into different processes. Transport receives the
segments of data from the network layer distributes and delivers it to the appropriate process
running on the receiver’s machine.
4. Congestion Control
Congestion is a situation in which too many sources over a network attempt to send data and the
router buffers start overflowing due to which loss of packets occurs. As a result, the
retransmission of packets from the sources increases the congestion further. In this situation, the
Transport layer provides Congestion Control in different ways. It uses open-loop congestion
control to prevent congestion and closed-loop congestion control to remove the congestion in a
network once it occurred. TCP provides AIMD – additive increases multiplicative decrease
and leaky bucket technique for congestion control.
5. Data integrity and Error Correction
The transport layer checks for errors in the messages coming from the application layer by using
error detection codes, and computing checksums, it checks whether the received data is not
corrupted and uses the ACK and NACK services to inform the sender if the data has arrived or
not and checks for the integrity of data.
6. Flow Control
The transport layer provides a flow control mechanism between the adjacent layers of the TCP/IP
model. TCP also prevents data loss due to a fast sender and slow receiver by imposing some
flow control techniques. It uses the method of sliding window protocol which is accomplished
by the receiver by sending a window back to the sender informing the size of data it can receive.
Protocols of Transport Layer
 Transmission Control Protocol (TCP)
 User Datagram Protocol (UDP)
 Stream Control Transmission Protocol (SCTP)
 Datagram Congestion Control Protocol (DCCP)
 AppleTalk Transaction Protocol (ATP)
 Fibre Channel Protocol (FCP)
 Reliable Data Protocol (RDP)
 Reliable User Data Protocol (RUDP)
 Structured Steam Transport (SST)
 Sequenced Packet Exchange (SPX)
TRANSPORT LAYER PROTOCOLS
The transport layer is represented by two protocols: TCP and UDP. The IP protocol in the
network layer delivers a datagram from a source host to the destination host.
o
The transport layer is represented by two protocols: TCP and UDP.
o
The IP protocol in the network layer delivers a datagram from a source host to the
destination host.
o
Nowadays, the operating system supports multiuser and multiprocessing environments, an
executing program is called a process. When a host sends a message to other host means
that source process is sending a process to a destination process. The transport layer
protocols define some connections to individual ports known as protocol ports.
o
An IP protocol is a host-to-host protocol used to deliver a packet from source host to the
destination host while transport layer protocols are port-to-port protocols that work on the
top of the IP protocols to deliver the packet from the originating port to the IP services, and
from IP services to the destination port.
o
Each port is defined by a positive integer address, and it is of 16 bits.
UDP
o
UDP stands for User Datagram Protocol.
o
UDP is a simple protocol and it provides non sequenced transport functionality.
o
UDP is a connectionless protocol.
o
This type of protocol is used when reliability and security are less important than speed
and size.
o
UDP is an end-to-end transport level protocol that adds transport-level addresses,
checksum error control, and length information to the data from the upper layer.
o
The packet produced by the UDP protocol is known as a user datagram.
User Datagram Protocol (UDP) is a Transport Layer protocol. UDP is a part of the Internet
Protocol suite, referred to as UDP/IP suite. Unlike TCP, it is an unreliable and connectionless
protocol. So, there is no need to establish a connection prior to data transfer. The UDP helps to
establish low-latency and loss-tolerating connections establish over the network.The UDP
enables process to process communication.
Though Transmission Control Protocol (TCP) is the dominant transport layer protocol used
with most of the Internet services; provides assured delivery, reliability, and much more but all
these services cost us additional overhead and latency. Here, UDP comes into the picture. For
real-time services like computer gaming, voice or video communication, live conferences; we
need UDP. Since high performance is needed, UDP permits packets to be dropped instead of
processing delayed packets. There is no error checking in UDP, so it also saves bandwidth.
User Datagram Protocol (UDP) is more efficient in terms of both latency and bandwidth.
UDP Header –
UDP header is an 8-bytes fixed and simple header, while for TCP it may vary from 20 bytes to
60 bytes. The first 8 Bytes contains all necessary header information and the remaining part
consist of data. UDP port number fields are each 16 bits long, therefore the range for port
numbers is defined from 0 to 65535; port number 0 is reserved. Port numbers help to distinguish
different user requests or processes.
Applications of UDP:
 Used for simple request-response communication when the size of data is less and hence
there is lesser concern about flow and error control.
 It is a suitable protocol for multicasting as UDP supports packet switching.
 UDP is used for some routing update protocols like RIP(Routing Information Protocol).
 Normally used for real-time applications which can not tolerate uneven delays between
sections of a received message.
 UDP is widely used in online gaming, where low latency and high-speed communication is
essential for a good gaming experience. Game servers often send small, frequent packets of
data to clients, and UDP is well suited for this type of communication as it is fast and
lightweight.
 Streaming media applications, such as IPTV, online radio, and video conferencing, use UDP
to transmit real-time audio and video data. The loss of some packets can be tolerated in these
applications, as the data is continuously flowing and does not require retransmission.
 VoIP (Voice over Internet Protocol) services, such as Skype and WhatsApp, use UDP for
real-time voice communication. The delay in voice communication can be noticeable if
packets are delayed due to congestion control, so UDP is used to ensure fast and efficient
data transmission.
 DNS (Domain Name System) also uses UDP for its query/response messages. DNS queries
are typically small and require a quick response time, making UDP a suitable protocol for
this application.
 DHCP (Dynamic Host Configuration Protocol) uses UDP to dynamically assign IP addresses
to devices on a network. DHCP messages are typically small, and the delay caused by packet
loss or retransmission is generally not critical for this application.
 Following implementations uses UDP as a transport layer protocol:
 NTP (Network Time Protocol)
 DNS (Domain Name Service)
 BOOTP, DHCP.
 NNP (Network News Protocol)
 Quote of the day protocol
 TFTP, RTSP, RIP.
 The application layer can do some of the tasks through UDP Trace Route
 Record Route
 Timestamp
 UDP takes a datagram from Network Layer, attaches its header, and sends it to the user.
So, it works fast.
 Actually, UDP is a null protocol if you remove the checksum field.
1. Reduce the requirement of computer resources.
2. When using the Multicast or Broadcast to transfer.
3. The transmission of Real-time packets, mainly in multimedia applications.
Advantages of UDP:
1. Speed: UDP is faster than TCP because it does not have the overhead of establishing a
connection and ensuring reliable data delivery.
2. Lower latency: Since there is no connection establishment, there is lower latency and faster
response time.
3. Simplicity: UDP has a simpler protocol design than TCP, making it easier to implement and
manage.
4. Broadcast support: UDP supports broadcasting to multiple recipients, making it useful for
applications such as video streaming and online gaming.
5. Smaller packet size: UDP uses smaller packet sizes than TCP, which can reduce network
congestion and improve overall network performance.
Disadvantages of UDP:
1. No reliability: UDP does not guarantee delivery of packets or order of delivery, which can
lead to missing or duplicate data.
2. No congestion control: UDP does not have congestion control, which means that it can send
packets at a rate that can cause network congestion.
3. No flow control: UDP does not have flow control, which means that it can overwhelm the
receiver with packets that it cannot handle.
4. Vulnerable to attacks: UDP is vulnerable to denial-of-service attacks, where an attacker can
flood a network with UDP packets, overwhelming the network and causing it to crash.
5. Limited use cases: UDP is not suitable for applications that require reliable data delivery, such
as email or file transfers, and is better suited for applications that can tolerate some data loss,
such as video streaming or online gaming.
UDP PSEUDO HEADER:
 the purpose of using a pseudo-header is to verify that the UDP packet has reached its correct
destination
 the correct destination consist of a specific machine and a specific protocol port number
within that machine
UDP pseudo header details:
 the UDP header itself specify only protocol port number.thus , to verify the destination UDP
on the sending machine computes a checksum that covers the destination IP address as well
as the UDP packet.
 at the ultimate destination, UDP software verifies the checksum using the destination IP
address obtained from the header of the IP packet that carried the UDP message.
 if the checksum agrees, then it must be true that the packet has reached the intended
destination host as well as the correct protocol port within that host.
User Interface:
A user interface should allow the creation of new receive ports, receive operations on the receive
ports that returns the data octets and an indication of source port and source address, and an
operation that allows a datagram to be sent, specifying the data, source and destination ports and
address to be sent.
IP Interface:
 the UDP module must be able to determine the source and destination internet address and
the protocol field from internet header
 one possible UDP/IP interface would return the whole internet datagram including the entire
internet header in response to a receive operation
 such an interface would also allow the UDP to pass a full internet datagram complete with
header to the IP to send. the IP would verify certain fields for consistency and compute the
internet header checksum.
 The IP interface allows the UDP module to interact with the network layer of the protocol
stack, which is responsible for routing and delivering data across the network.
 The IP interface provides a mechanism for the UDP module to communicate with other hosts
on the network by providing access to the underlying IP protocol.
 The IP interface can be used by the UDP module to send and receive data packets over the
network, with the help of IP routing and addressing mechanisms.
 The IP interface provides a level of abstraction that allows the UDP module to interact with
the network layer without having to deal with the complexities of IP routing and addressing
directly.
 The IP interface also handles fragmentation and reassembly of IP packets, which is important
for large data transmissions that may exceed the maximum packet size allowed by the
network.
 The IP interface may also provide additional services, such as support for Quality of Service
(QoS) parameters and security mechanisms such as IPsec.
 The IP interface is a critical component of the Internet Protocol Suite, as it enables
communication between hosts on the internet and allows for the seamless transmission of
data
packets
across
the
network.
User Datagram Format
The user datagram has a 16-byte header which is shown below:
Where,
o
Source port address: It defines the address of the application process that has delivered a
message. The source port address is of 16 bits address.
o
Destination port address: It defines the address of the application process that will receive
the message. The destination port address is of a 16-bit address.
o
Total length: It defines the total length of the user datagram in bytes. It is a 16-bit field.
o
Checksum: The checksum is a 16-bit field which is used in error detection.
Disadvantages of UDP protocol
o
UDP provides basic functions needed for the end-to-end delivery of a transmission.
o
It does not provide any sequencing or reordering functions and does not specify the
damaged packet when reporting an error.
o
UDP can discover that an error has occurred, but it does not specify which packet has been
lost as it does not contain an ID or sequencing number of a particular data segment.
TCP
o
TCP stands for Transmission Control Protocol.
o
It provides full transport layer services to applications.
o
It is a connection-oriented protocol means the connection established between both the
ends of the transmission. For creating the connection, TCP generates a virtual circuit
between sender and receiver for the duration of a transmission.
What is TCP?
Transmission Control Protocol (TCP) is a communications standard that enables application
programs and computing devices to exchange messages over a network. It is designed to send
packets across the internet and ensure the successful delivery of data and messages over networks.
TCP (Transmission Control Protocol) is one of the main protocols of the Internet protocol suite.
It lies between the Application and Network Layers which are used in providing reliable delivery
services. It is a connection-oriented protocol for communications that helps in the exchange of
messages between different devices over a network. The Internet Protocol (IP), which establishes
the technique for sending data packets between computers, works with TCP.
Working of TCP
To make sure that each message reaches its target location intact, the TCP/IP model breaks down
the data into small bundles and afterward reassembles the bundles into the original message on
the opposite end. Sending the information in little bundles of information makes it simpler to
maintain efficiency as opposed to sending everything in one go.
After a particular message is broken down into bundles, these bundles may travel along multiple
routes if one route is jammed but the destination remains the same.
For example, When a user requests a web page on the internet, somewhere in the world,
the server processes that request and sends back an HTML Page to that user. The server
makes use of a protocol called the HTTP Protocol. The HTTP then requests the TCP layer
to set the required connection and send the HTML file.
Features of TCP/IP
Some of the most prominent features of Transmission control protocol are
1. Segment Numbering System
 TCP keeps track of the segments being transmitted or received by assigning numbers to each
and every single one of them.
 A specific Byte Number is assigned to data bytes that are to be transferred while segments
are assigned sequence numbers.
 Acknowledgment Numbers are assigned to received segments.
2. Connection Oriented
 It means sender and receiver are connected to each other till the completion of the process.
 The order of the data is maintained i.e. order remains same before and after transmission.
3. Full Duplex
 In TCP data can be transmitted from receiver to the sender or vice – versa at the same time.
 It increases efficiency of data flow between sender and receiver.
4. Flow Control
 Flow control limits the rate at which a sender transfers data. This is done to ensure reliable
delivery.
 The receiver continually hints to the sender on how much data can be received (using a
sliding window)
5. Error Control
 TCP implements an error control mechanism for reliable data transfer
 Error control is byte-oriented
 Segments are checked for error detection
 Error Control includes – Corrupted Segment & Lost Segment Management, Out-of-order
segments, Duplicate segments, etc.
6. Congestion Control
 TCP takes into account the level of congestion in the network
 Congestion level is determined by the amount of data sent by a sender
Advantages
 It is a reliable protocol.
 It provides an error-checking mechanism as well as one for recovery.
 It gives flow control.
 It makes sure that the data reaches the proper destination in the exact order that it was sent.
 Open Protocol, not owned by any organization or individual.
 It assigns an IP address to each computer on the network and a domain name to each site
thus making each device site to be distinguishable over the network.
Disadvantages
 TCP is made for Wide Area Networks, thus its size can become an issue for small networks
with low resources.
 TCP runs several layers so it can slow down the speed of the network.
 It is not generic in nature. Meaning, it cannot represent any protocol stack other than the
TCP/IP suite. E.g., it cannot work with a Bluetooth connection.
 No modifications since their development around 30 years ago.
Features Of TCP protocol
o
Stream data transfer: TCP protocol transfers the data in the form of contiguous stream
of bytes. TCP group the bytes in the form of TCP segments and then passed it to the IP
layer for transmission to the destination. TCP itself segments the data and forward to the
IP.
o
Reliability: TCP assigns a sequence number to each byte transmitted and expects a
positive acknowledgement from the receiving TCP. If ACK is not received within a
timeout
interval,
then
the
data
is
retransmitted
to
the
destination.
The receiving TCP uses the sequence number to reassemble the segments if they arrive out
of order or to eliminate the duplicate segments.
o
Flow Control: When receiving TCP sends an acknowledgement back to the sender
indicating the number the bytes it can receive without overflowing its internal buffer. The
number of bytes is sent in ACK in the form of the highest sequence number that it can
receive without any problem. This mechanism is also referred to as a window mechanism.
o
Multiplexing: Multiplexing is a process of accepting the data from different applications
and forwarding to the different applications on different computers. At the receiving end,
the data is forwarded to the correct application. This process is known as demultiplexing.
TCP transmits the packet to the correct application by using the logical channels known as
ports.
o
Logical Connections: The combination of sockets, sequence numbers, and window sizes,
is called a logical connection. Each connection is identified by the pair of sockets used by
sending and receiving processes.
o
Full Duplex: TCP provides Full Duplex service, i.e., the data flow in both the directions
at the same time. To achieve Full Duplex service, each TCP should have sending and
receiving buffers so that the segments can flow in both the directions. TCP is a connectionoriented protocol. Suppose the process A wants to send and receive the data from process
B. The following steps occur:
o
Establish a connection between two TCPs.
o
Data is exchanged in both the directions.
o
The Connection is terminated.
TCP Segment Format
Where,
o
Source port address: It is used to define the address of the application program in a source
computer. It is a 16-bit field.
o
Destination port address: It is used to define the address of the application program in a
destination computer. It is a 16-bit field.
o
Sequence number: A stream of data is divided into two or more TCP segments. The 32bit sequence number field represents the position of the data in an original data stream.
o
Acknowledgement number: A 32-field acknowledgement number acknowledge the data
from other communicating devices. If ACK field is set to 1, then it specifies the sequence
number that the receiver is expecting to receive.
o
Header Length (HLEN): It specifies the size of the TCP header in 32-bit words. The
minimum size of the header is 5 words, and the maximum size of the header is 15 words.
Therefore, the maximum size of the TCP header is 60 bytes, and the minimum size of the
TCP header is 20 bytes.
o
Reserved: It is a six-bit field which is reserved for future use.
o
Control bits: Each bit of a control field functions individually and independently. A
control bit defines the use of a segment or serves as a validity check for other fields.
There are total six types of flags in control field:
o
URG: The URG field indicates that the data in a segment is urgent.
o
ACK: When ACK field is set, then it validates the acknowledgement number.
o
PSH: The PSH field is used to inform the sender that higher throughput is needed so if
possible, data must be pushed with higher throughput.
o
RST: The reset bit is used to reset the TCP connection when there is any confusion occurs
in the sequence numbers.
o
SYN: The SYN field is used to synchronize the sequence numbers in three types of
segments: connection request, connection confirmation ( with the ACK bit set ), and
confirmation acknowledgement.
o
FIN: The FIN field is used to inform the receiving TCP module that the sender has finished
sending data. It is used in connection termination in three types of segments: termination
request, termination confirmation, and acknowledgement of termination confirmation.
o
Window Size: The window is a 16-bit field that defines the size of the window.
o
Checksum: The checksum is a 16-bit field used in error detection.
o
Urgent pointer: If URG flag is set to 1, then this 16-bit field is an offset from the
sequence number indicating that it is a last urgent data byte.
o
Options and padding: It defines the optional fields that convey the additional
information to the receiver.
Differences b/w TCP & UDP
Basis for
Comparison
TCP
UDP
Definition
TCP establishes a virtual circuit
before transmitting the data.
UDP transmits the data directly to the
destination computer without verifying
whether the receiver is ready to receive or
not.
Connection Type
It is a
protocol
It is a Connectionless protocol
Speed
slow
high
Reliability
It is a reliable protocol.
It is an unreliable protocol.
Header size
20 bytes
8 bytes
acknowledgement
It waits for the acknowledgement
of data and has the ability to resend
the lost packets.
It neither takes the acknowledgement, nor it
retransmits the damaged frame.
Connection-Oriented
TRANSPORT LAYER SERVICES
What are the services provided by the transport layer?










Address Mapping
Assignment of Network Connection
Multiplexing of Transport Connections
Splitting of Transport Connection
Establishment of Transport Connection
Data Transfer
Segmentation and Concatenation of TPDUs
Flow Control
Error Recovery
Sequence Numbering
Address Mapping
It means mapping of transport address onto the network address. Whenever a session entity
requests to send a transport service data unit (TSDU) to another session entity, it sends its transport
service access point address as its identification. The transport entity then determines the network
service access point (NSAP) address. This is known as address mapping.
Assignment of Network Connection
The transport entity assigns a network connection for carrying the transport protocol data units
(TPDUs). The transport entity establishes this assigned network connection. In some of the
transport protocols, recovery from network disconnection is allowed. In such protocols, whenever
a disconnection occurs, the transport entity reassigns the transport of TPDUs to a different network
connection.
Multiplexing of Transport Connections
For optimum network link uses, the transport entity can create multiple end-to-end transport
connections to the network connection, referred to as multiplexing.
There are various TSDUs (multiplexed) identified by the receiving transport entity using the
transport connection endpoint identifier (TCEPI), attached to each TSDU by the sending transport
entity.
The TCEP identifier is unique for each connection, as shown in the figure below −
Splitting of Transport Connection
When the service quality offered by the network service is less than the required quality of service
or when greater resilience is required against network connection failures, then splitting is done
by the transport entity. Splitting means TPDUs belonging to one transport connection may be sent
over different network connections.
Splitting requires the re-sequencing because it results in the reordering of TSDUs, as shown in the
figure shown below −
Establishment of Transport Connection
The transport layer establishes the transport connection by sending a request. For establishing a
link, it uses the T-CONNECT service primitives. The transport entity provides the quality of
service, requirement, and collect addresses services.
Data Transfer
The transport layer provides the data transfer of two types, such as the regular data transfer and
expedited data transfer. In normal data transfer, the user can request to transfer user data with any
integral number of octets.
This transfer is transparent, i.e., user data boundaries are preserved during the transfer, and there
are no constraints on the content and number of octets. The mode of data transfer can be two ways
simultaneously. The expedited data transfer has a distinct control flow, and it can pass all the data
queue with maximum priority for delivery. It is a user optional or optional provider service. The
number of user data octets is restricted to 16.
Segmentation and Concatenation of TPDUs
The transport entity divides the transport service data unit into several transport protocol data units,
each with a separate header containing a PCI (Protocol Control Identifier). This function is known
as segments.
This segmenting function is used when the network service cannot support the transport protocol
data unit's size containing an unsegmented TSDU. A reassembly process is performed at the
transmitting end for such TPDUs.
The reverse function of segments is known as concatenation. The concatenation enables the
mapping of several TPDUs onto a single NSDU (Network Service Data Unit). These TPUs may
belong to the same or several transport connections. If they belong to different transport
connections, they must be travelling in the exact directions. At the receiving end, a separation
function is performed by the transport entity.
The transport entity identifies the boundary of different TPDUs. Concatenation is done for
improving the efficiency of utilization of the network service.
On concatenation, there are some restrictions as to which type of TPDUs can be concatenated so
that their boundaries should be identified by the transport entity, as shown in the figure below.
Flow Control
The transport entity uses a modified form of sliding window protocol for flow control. This flow
control is required because the transport layer may experience back pressure from the network
layer.
In the mechanism, the window size is variable and controlled by the receiver. A credit allocated is
sent to the receiver's sender, which indicates how many TPDUs can be received by it.
Error Recovery
The errors at this level can be introduced due to TPDU errors, protocol errors or signal failure
conditions of network connections, i.e., reset or release of network connections. Such errors
occurring at layer 3 are reported to the transport layer. The TPDU errors can be in the form of lost
TPDU, duplicated TPDU, re-ordering of sequence, or content errors.
The duplicate TPDUs are discarded, lost are acknowledged to resend. In the recording, they are
re-sequenced, and content errors are detected by incorporating error detection bytes in TPDUs by
the transport entity.
Such TPDUs with content errors are discarded and treated as lost, and hence they are also
acknowledged. In the case of protocol errors, the connection is released, and in the case of signal
failure errors, reassignment of network connection and resynchronization is done.
Sequence Numbering
Each TPDU is given a sequence number by a transport entity that is seven bits long in the normal
operations mode.
This sequence numbering is done to provide flow control and error recovery. In the case of
extended mode, the sequence number can be 31 bits long.
PORT NUMBER
PORT
In computer networking, a port or port number is a number assigned to uniquely identify a
connection endpoint and to direct data to a specific service.
PORT NUMBER
A port number is a way to identify a specific process to which an internet or other network message
is to be forwarded when it arrives at a server. All network-connected devices come equipped with
standardized ports that have an assigned number.
Port number is the part of the addressing information used to identify the senders and receivers
of messages in computer networking. Different port numbers are used to determine what protocol
incoming traffic should be directed to. Port number identifies a specific process to which an
Internet or other network message is to be forwarded when it arrives at a server. Ports are
identified for each protocol and It is considered as a communication endpoint.
Ports are represented by 16-bit numbers. There are 2^16 port numbers i.e 65536.
They are divided into three categories
1. Well-Known Port Numbers
0 to 1023 are well-known port numbers are as they are used by well-known protocol services.
These are allocated to server services by the Internet Assigned Numbers Authority (IANA).
2. Registered Port Numbers
1024 to 49151 are registered port numbers i.e it can be registered to specific protocols by
software corporations
3. Dynamic Port Numbers
49152 to 65535 are dynamic port numbers and they can be used by anyone
Difference between IP address and Port Number :
Serial
No
IP address
Port Number
01.
Internet Protocol address (IP
address) used to identify a host in
network.
Port number is used to identify an
processes/services on your system
02.
IPv4 is of 32 bits (4 bytes) size and
for IPv6 is 128 bits (16 bytes).
The Port number is 16 bits numbers.
03.
IP address is the address of the layer3 IP protocol.
Port number is the address of the layer-4
protocols.
04.
IP address is provided by admin of
system or network administrator.
Port number for application is provided by
kernel of Operating System.
05.
ipconfig command can be used to
find IP address .
netstat command can be used to find Network
Statistics Including Available TCP Ports.
06.
IP address identify a host/computer
on a computer network.
Port numbers are logical interfaces used by
communication protocols.
07.
192.168.0.2, 172.16.0.2 are some of
IP address examples.
80 for HTTP, 123 for NTP, 67 and 68 for
DHCP traffic, 22 for SSH etc.
SCTP
Stream Control Transmission Protocol (SCTP) is a transport-layer protocol that ensures reliable,
in-sequence transport of data. SCTP provides multihoming support where one or both endpoints
of a connection can consist of more than one IP address.
SCTP stands for 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 connection.
SCTP is also intended to make it easier to establish connection over wireless network and
managing transmission of multimedia data. SCTP is a standard protocol (RFC 2960) and is
developed by Internet Engineering Task Force (IETF).
Characteristics of SCTP :
1. Unicast with Multiple properties –
It is a point-to-point protocol which can use different paths to reach end host.
2. 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.
3. 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.
4. Multi-homing –
It can establish multiple connection paths between two end points and does not need to rely
on IP layer for resilience.
5. Security –
Another characteristic of SCTP that is security. In SCTP, resource allocation for
association establishment only takes place following cookie exchange identification
verification for the client (INIT ACK). Man-in-the-middle and denial-of-service attacks are
less likely as a result. Furthermore, SCTP doesn’t allow for half-open connections, making
it more resistant to network floods and masquerade attacks.
Advantages of SCTP :
1. It is a full- duplex connection i.e. users can send and receive data simultaneously.
2. It allows half- closed connections.
3. The message’s boundaries are maintained and application doesn’t have to split messages.
4. It has properties of both TCP and UDP protocol.
5. It doesn’t rely on IP layer for resilience of paths.
Disadvantages of SCTP :
1. One of key challenges is that it requires changes in transport stack on node.
2. Applications need to be modified to use SCTP instead of TCP/UDP.
3. Applications need to be modified to handle multiple simultaneous streams.
Download