***Welcome to ashrafedu.blogspot.com * * * This website is maintained by ASHRAF***

Wednesday, February 3, 2021

Application Layer

Application Layer

The application layer in the OSI model is the closest layer to the end user which means that the application layer and end user can interact directly with the software application. The application layer programs are based on client and servers.

It is the top most layer of OSI Model. Manipulation of data(information) in various ways is done in this layer which enables user or software to get access to the network. Some services provided by this layer includes: E-Mail, transferring files, distributing the results to user, directory services, network resources, etc.

The Application layer includes the following functions:

  • Identifying communication partners: The application layer identifies the availability of communication partners for an application with data to transmit.
  • Determining resource availability: The application layer determines whether sufficient network resources are available for the requested communication.
  • Synchronizing communication: All the communications occur between the applications requires cooperation which is managed by an application layer.

Services of Application Layers

  • Network Virtual terminal: An application layer allows a user to log on to a remote host. To do so, the application creates a software emulation of a terminal at the remote host. The user's computer talks to the software terminal, which in turn, talks to the host. The remote host thinks that it is communicating with one of its own terminals, so it allows the user to log on.
  • File Transfer, Access, and Management (FTAM): An application allows a user to access files in a remote computer, to retrieve files from a computer and to manage files in a remote computer. FTAM defines a hierarchical virtual file in terms of file structure, file attributes and the kind of operations performed on the files and their attributes.
  • Addressing: To obtain communication between client and server, there is a need for addressing. When a client made a request to the server, the request contains the server address and its own address. The server response to the client request, the request contains the destination address, i.e., client address. To achieve this kind of addressing, DNS is used.
  • Mail Services: An application layer provides Email forwarding and storage.
  • Directory Services: An application contains a distributed database that provides access for global information about various objects and services.
  • Authentication: It authenticates the sender or receiver's message or both.

The Application Layer contains a variety of protocols that are commonly needed by users. Most widely-used application protocol is HTTP (Hypertext Transfer Protocol), which is the basis for the World Wide Web. When a browser wants a web page, it sends the name of the page it wants to the server using HTTP. The server then sends the page back. TELNET, FTP, DNS, SMTP etc are other protocols.

 

Presentation Layer

Presentation Layer

The Presentation Layer is concerned with the syntax and semantics of the information exchanged between two communicating devices.

  • The presentation layer takes care such that the data is sent to the receiver in such a way that the receiver will understand the information (data) and will be able to use the data.
  • Syntax may be different from the two communicating machines. In this condition, the presentation layer plays the role of translator between them.
  • It is possible for two machines to communicate with different data representations, data structures to be exchanged can be defined in an abstract way. These abstract data structures will be managed by the presentation layer and this layer allows higher-level data structures, to be defined and exchanged.

Functions of Presentation Layer

  1. Translation: Before being transmitted, information in the form of characters and numbers should be changed to bit streams. The presentation layer is responsible for interoperability between encoding methods as different computers use different encoding methods. It translates data between the formats the network requires and the format the computer.
  2. Encryption: It carries out encryption at the transmitter and decryption at the receiver.
  3. Compression: It carries out data compression to reduce the bandwidth of the data to be transmitted. The primary role of Data compression is to reduce the number of bits to be 0transmitted. It is important in transmitting multimedia such as audio, video, text etc.

Design issues with Presentation Layer :

  1. Standard way of encoding data –
    The presentation layer follows a standard way to encode data when it needs to be transmitted. This encoded data is represented as character strings, integers, floating point numbers, and data structures composed of simple components. It is handled differently by different machines based on the encoding methods followed by them.
  2. Maintaining the Syntax and Semantics of distributed information –
    The presentation layer manages and maintains the syntax as well as logic and meaning of the information that is distributed.
  3. Standard Encoding on the wire –
    The data structures that are defined to be exchanged need to be abstract along with the standard encoding to be used “on the wire”.




Session Layer

The session layer is also known as a network dialog controller, it creates, maintains, synchronizes the interaction between communicating applications.

Session layer manages and synchronize the conversation between two different applications. In Session layer, streams of data are marked and are resynchronized properly, so that the ends of the messages are not cut prematurely and data loss is avoided.

  • The session layer tracks the dialogs between systems, which are also called sessions. This layer manages a session by initiating the opening and closing of sessions between end-user application processes.
  • It also controls single or multiple connections for each end-user application and directly communicates with both the presentation and the transport layers. The services provided by the session layer are generally implemented in the application environment using remote procedure calls (RPCs).
  • In the Session layer, streams of data are marked and are resynchronized properly, so that the ends of the messages are not cut prematurely and data loss is avoided.
  • A protocol such as Zone Information Protocol, AppleTalk Protocol, and Session Control Protocol are used to implement sessions on Web browsers.
  • Through check pointing and recovery session management and restoration are possible using these protocols.

Functionalities of the Session layer

Specific functionalities of the transport layer are as follows:

1. Dialog Control

  • The session layer behaves as a dialog controller.
  • It allows two communication machines to enter into a dialog.
  • It permits to communicate in either half-duplex (one way at a time) or full-duplex (two ways at a time) mode of communication.

For Example, A dialog between a terminal connected to the mainframe can be half-duplex.

2. Synchronization

  • This layer permitted a process to add checkpoints which are referred to as synchronization points into the stream of data.

Example: If a system is sending a file of 2500 pages, It is advisable to add checkpoints after every 100 pages to ensure that a 100-page unit is successfully received and acknowledged independently. In this case, if a crash happens during transmission of page number 824; then retransmission begins on page 801. There is no need to retransmit pages 1 to 800 pages.

3. Token Management

This layer is also responsible for managing tokens. Through this, it prevents the two users to simultaneously attempt access of the same critical operation.

 

Design Issues with Session Layer:

  1. Establish sessions between machines –
    The establishment of session between machines is an important service provided by session layer. This session is responsible for creating a dialog between connected machines. The Session Layer provides mechanism for opening, closing and managing a session between end-user application processes, i.e. a semi-permanent dialogue. This session consists of requests and responses that occur between applications.
  2. Enhanced Services –
    Certain services such as checkpoints and management of tokens are the key features of session layer and thus it becomes necessary to keep enhancing these features during the layer’s design.
  3. To help in Token management and Synchronization –
    The session layer plays an important role in preventing collision of several critical operation as well as ensuring better data transfer over network by establishing synchronization points at specific intervals. Thus it becomes highly important to ensure proper execution of these services.

 

Some of the famous session layer's protocols are:

  • Remote procedure call protocol (RPC)
  • Point-to-Point Tunneling Protocol (PPTP)
  • Session Control Protocol (SCP)
  • Session Description Protocol (SDP) etc.

Transport Layer

Transport layer is a 4th layer from the top. The role of the transport layer is to provide the communication services directly to the application processes running on different hosts.

The transport layer provides a logical communication between application processes running on different hosts. Although the application processes on different hosts are not physically connected, application processes use the logical communication provided by the transport layer to send the messages to each other.

A computer network provides more than one protocol to the network applications. For example, TCP and UDP are two transport layer protocols that provide a different set of services to the network layer. The transport layer protocols are implemented in the end systems but not in the network routers.

All transport layer protocols provide multiplexing/demultiplexing service. It also provides other services such as reliable data transfer, bandwidth guarantees, and delay guarantees.

Each of the applications in the application layer has the ability to send a message by using TCP or UDP. The application communicates by using either of these two protocols. Both TCP and UDP will then communicate with the internet protocol in the internet layer. The applications can read and write to the transport layer. Therefore, we can say that communication is a two-way process.

Services provided by the Transport Layer


1. End-to-end delivery: The transport layer transmits the entire message to the destination. Therefore, it ensures the end-to-end delivery of an entire message from a source to the destination.

2. Addressing : Data generated by an application on one machine must be transmitted to the correct application on another machine. In this case, addressing is provided by the transport layer.

The transport layer provides the user address which is specified as a station or port. The port variable represents a particular TS user of a specified station known as a Transport Service access point (TSAP). Each station has only one transport entity.

The transport layer protocols need to know which upper-layer protocols are communicating.

3. Reliable delivery: The transport layer provides reliability services by retransmitting the lost and damaged packets.

The reliable delivery has four aspects:

  • Error control: The primary role of reliability is Error Control. In reality, no transmission will be 100 percent error-free delivery. Therefore, transport layer protocols are designed to provide error-free transmission.

The data link layer also provides the error handling mechanism, but it ensures only node-to-node error-free delivery. However, node-to-node reliability does not ensure the end-to-end reliability.

The transport layer performs the checking for the errors end-to-end to ensure that the packet has arrived correctly.

  • Sequence control: The second aspect of the reliability is sequence control which is implemented at the transport layer.

On the sending end, the transport layer is responsible for ensuring that the packets received from the upper layers can be used by the lower lay.

  • Loss control: Loss Control is a third aspect of reliability. The transport layer ensures that all the fragments of a transmission arrive at the destination, not some of them. On the sending end, all the fragments of transmission are given sequence numbers by a transport layer. These sequence numbers allow the receiver’s transport layer to identify the missing segment.
  • Duplication control: Duplication Control is the fourth aspect of reliability. The transport layer guarantees that no duplicate data arrive at the destination. Sequence numbers are used to identify the lost packets; similarly, it allows the receiver to identify and discard duplicate segments.

4. Flow Control: Flow control is used to prevent the sender from overwhelming the receiver. If the receiver is overloaded with too much data, then the receiver discards the packets and asking for the retransmission of packets. This increases network congestion and thus, reducing the system performance.

The transport layer is responsible for flow control. It uses the sliding window protocol that makes the data transmission more efficient as well as it controls the flow of data so that the receiver does not become overwhelmed. Sliding window protocol is byte oriented rather than frame oriented.

5. Multiplexing: The transport layer uses the multiplexing to improve transmission efficiency.

Multiplexing can occur in two ways:

Upward multiplexing: Upward multiplexing means multiple transport layer connections use the same network connection. To make more cost-effective, the transport layer sends several transmissions bound for the same destination along the same path; this is achieved through upward multiplexing.

Downward multiplexing: Downward multiplexing means one transport layer connection uses the multiple network connections. Downward multiplexing allows the transport layer to split a connection among several paths to improve the throughput. This type of multiplexing is used when networks have a low or slow capacity.

Elements of Transport Protocols

The fourth layer in the OSI model is known as the transport layer from the top. This layer provides the communication services directly to the running application processes on different hosts. Even though these processes on various hosts are not linked physically, and use logical communication to transmit the messages to each other.

The protocols of this layer are implemented within the end systems, not in the routers of the network.

For instance, the two transport layer protocols like TCP &UDP provides different services to the network layer.

All the protocols in this layer provide different services like multiplexing, de-multiplexing, reliable data transfer, bandwidth & delay guarantees.

Elements of Transport Layer

The elements of this layer include the following.

Service-point Addressing

Computers frequently run several programs at a time, because of this reason, the delivery of source to destination in two computers is not possible. So this layer is used for an exact kind of address to its header which is known as a port address or service point address. Through this address, every packet arrives at the correct computer & also transport layer attains the total message to the exact method on that computer.

Segmentation & Reassembly

In a segmentation process, a message can be separated into communicable segments where each segment includes a sequence number that enables the layer to rebuild the message. Once the message arrives from the source system to the destination system then the message can be reassembled properly, packets can be identified and replaced because of the lost data in transmission.

Connection Control

These are two types namely connectionless and connection-based.

Connectionless based Transport Layer

In connectionless, the transport layer treats every packet like an individual & transmits it to the destination computer. In this kind of transmission, the receiver doesn’t transmit an acceptance to the sender regarding a packet receipt.

Connection based Transport Layer

This layer makes a connection with the layer at the destination of the computer before sending the packets toward the target. The connection can be created by using the following steps: (Three way hand shaking mechanism)

  • Establishment of Connection
  • Transfer of Data
  • Termination Connection

So connection-based service is used for the entire data transmission, whereas connectionless service is less consistent

Multiplexing & De-multiplexing

Several packets are transmitted across a system from various applications by using control systems and these are found within the transport layer. This layer allows packets using different methods, and these packets are distinguished through their port numbers & transmit them to the layer once adding correct headers.

In the De-multiplexing process, the data can be obtained which is transmitted from different processes. It gets the data segments from this layer to deliver it to the suitable method running on the machine at the receiver end.

Flow Control

The transport layer is also accountable for the flow control between the contiguous layers of the TCP/IP model. It doesn’t execute across a single link even it executes a continuous node. By impressive flow control methods, loss of data can be stopped from the sender & slow receiver.

For example, it uses the sliding window protocol technique. In this technique, the receiver transmits a window back toward the sender to update the received data size.

Error Control

This is also achieved back-to-back similar to the data link layer. In this layer, the total message can appear at the receiving end of the layer without any fault. The improvement of error can be attained through the packet re-transmission. The integrity of data can be checked once the data has arrived or not by using the services like the ACK & NACK to update the sender.