Transport
layer:
In
computer networking, the transport layer
or layer 4 provides end-to-end communication
services
for applications within a layered architecture of network components and
protocols. The
transport
layer provides convenient services such as connection-oriented data stream
support,
reliability,
flow control, and multiplexing.
Different
protocols used in Transport layer
TCP
UDP
DCCP
SCTP
RSVP
The
most well-known transport protocol is the Transmission Control Protocol (TCP).
It lent its name
to the title of the entire Internet Protocol Suite,
TCP/IP. It is used for connection-oriented transmissions,
whereas the connectionless User Datagram Protocol (UDP) is used for simpler messaging
transmissions. TCP is the more complex protocol, due to its stateful design incorporating
reliable transmission and data stream services. Other prominent protocols in
this group
are the Datagram Congestion Control Protocol (DCCP) and the Stream Control Transmission
Protocol (SCTP).
There
are many services that can be optionally provided by a transport-layer
protocol, and different
protocols may or may not implement them.
- Connection-oriented communication: It is normally easier for an application to interpret a connection as a data stream rather than having to deal with the underlying connection-less models, such as the datagram model of the User Datagram Protocol (UDP) and of the Internet Protocol (IP).
- Byte orientation: Rather than processing the messages in the underlying communication syste format, it is often easier for an application to process the data stream as a sequence of bytes. This simplification helps applications work with various underlying message formats.
- Same order delivery: The network layer doesn't generally guarantee that packets of data will arrive in the same order that they were sent, but often this is a desirable feature. This is usually done through the use of segment numbering, with the reciever passing them to the application in order. This can cause head-of-line blocking.
- Reliability: Packets may be lost during transport due to network congestion and errors. By means of an error detection code, such as a checksum, the transport protocol may check that the data is not corrupted, and verify correct receipt by sending an ACK or NACK message to the sender. Automatic repeat request schemes may be used to retransmit lost or corrupted data.
-
Flow control: The rate of data transmission between two nodes must sometimes bemanaged to prevent a fast sender from transmitting more data than can be supported bythe receiving data buffer, causing a buffer overrun. This can also be used to improveefficiency by reducing buffer under run.
- Congestion avoidance: Congestion control can control traffic entry into a telecommunications network, so as to avoid congestive collapse by attempting to avoid oversubscription of any of the processing or link capabilities of the intermediate nodes and networks and taking resource reducing steps, such as reducing the rate of sending packets. For example, automatic repeat requests may keep the network in a congested state; this situation can be avoided by adding congestion avoidance to the flow control, including slow-start. This keeps the bandwidth consumption at a low level in the beginning of the transmission, or after packet retransmission.
-
Multiplexing: Ports can provide multiple endpoints on a single node. For example, the name on a postal address is a kind of multiplexing, and distinguishes between different recipients of the same location.Computer applications will each listen for information on their own ports, which enables the use of more than one network service at the same time.It is part of the transport layer in the TCP/IP model, but of the session layer in the OSImodel.
Connection
management:
A
symmetric connection management service between two service access points is
specified, using a state transition
system and safety and progress requirements. At each access point. the user can
request connection
establishment, request connection termination, and signal whether or not they
are willing to accept
connection requests from the remote user. The protocol can indicate connection
establishment, connection
termination, and rejection of a connection establishment request. The authors
then specify a protocol
and verify that it offers the service, given communication channels between the
access points that
can lose, reorder, and duplicate messages, but which guarantee delivery of a
message that is repeatedly
sent. The protocol achieves the service using 2-way and 3-way handshakes, and
can be directly combined
with any existing single-connection data transfer protocols to provide a
transport layer protocol
that
offers both connection management and data transfer services.
Three
way hand shaking:
Before
the sending device and the receiving device start the exchange of data, both
devices need to
be synchronized. During the TCP initialization process, the sending device and
the receiving device
exchange a few control packets for synchronization purposes. This exchange is
known as a
three-way handshake.
The
three-way handshake begins with the initiator sending a TCP segment with the
SYN control bit
flag set.
TCP
allows one side to establish a connection. The other side may either accept the
connection or
refuse it. If we consider this from application layer point of view, the side
that is establishing the
connection is the client and the side waiting for a connection is the server.
TCP
identifies two types of OPEN calls:
Active
Open: In an Active Open call a device (client process) using TCP takes the
active role and
initiates the connection by sending a TCP SYN message to start the connection.
Passive
Open: A passive OPEN can specify that the device (server process) is waiting
for an active
OPEN from a specific client. It does not generate any TCP message segment. The
server processes
listening for the clients are in Passive Open mode.
Session
layers:
The
session protocol defines the format of the data sent over the connections.
Session layer establish
and manages the session between the two users at different ends in a network.
Session layer
also manages who can transfer the data in a certain amount of time and for how
long. The examples
of session layers and the interactive logins and file transfer sessions.
Session layer reconnect
the session if it disconnects. It also reports and logs and upper layer errors.
The session layer allows session establishment
between processes running on different stations.
Functions
of Session layer:
Session eatablishment, maintenance and
termination: allows two application processes on different machines to establish, use and terminate a connection, called a session.
Session support: performs the functions that allow these processes to communicate over the network, performing security, name recognition, logging and so on.
Protocols: The protocols that
work on the session layer are NetBIOS, Mail Slots, Names Pipes, RPC.
Presentation
layer:
Presentation
layer is also called translation layer. The presentation layer presents the
data into
a uniform format and masks the difference of data format between two dissimilar systems.
The
presentation layer formats the data to be presented to the application layer.
It can be viewed
as the translator for the network. This layer may translate data from a format
used by
the application layer into a common format at the sending station, and then
translate the common
format to a format known to the application layer at the receiving station.
Functions
of Presentation layer:
Character code translation: for example, ASCII
to EBCDIC.
Data conversion: bit order, CR-CR/LF,
integer-floating point, and so on.
Data compression: reduces the number of bits
that need to be transmitted on the network.
Data compression: reduces the number of bits
that need to be transmitted on the network.
Data encryption: encrypt data for security
purposes. For example, password encryption.
Application
layer:
The
application layer serves as the window for users and application processes to
access network
services. The application layer makes the interface between the program that is sending
or is receiving data and the protocol stack. When you download or send e-mails, your
e-mail program contacts this layer. This layer provides network services to the
end-users
like Mail, ftp, telnet, DNS.
Function
of Application Layer:
- Resource sharing and device redirection.
- Remote file access.
- Remote printer access.
- Inter-process communication.
- Network management.
- Directory services.
- Electronic messaging (such as mail)
- Network virtual terminals.
-
Protocols used at application layer are FTP, DNS, SNMP, SMTP, FINGER, and TELNET.
No comments:
Post a Comment