The initial computer networks had their own set of standards and conventions that were quite hardware oriented. Each manufacturer used to develop their own communication protocols for their networks. For example, IBM launched SNA (System Network Architecture) in 1974. Similarly, DEC (Digital Equipment Corporation) launched its network in 1980 for use on DEC range of computers. The architecture of DECNET (Digital Equipment Corporation Network) is known as DNA (Digital Network Architecture). Like SNA, it is a private network architecture oriented only to DEC hardware. Other telecommunication protocols are BNA (Burroughs Network Architecture) by Burroughs Incorporation, DSN (Distributed System Network) by Hewlett Packard, PRIMENET (Prime Computers Network) by Prime Incorporation, etc. Thus the data communication protocols of one network were not compatible with any network. Moreover, standards of the same network also kept changing from time to time. For example, earlier versions of SNA were not compatible with its subsequent versions. Such incompatibilities started creating bottleneck in the efficient and proper utilization of network resources.
This problem was recognized by the International Standards Organization (ISO), which established a subcommittee to develop an international standard on network architectures. The result was Open System Interconnection (OSI) model, which is a framework for defining standards for linking heterogeneous computer systems, located anywhere in the world, to easily communicate with each other. An open system is a set of protocols that allows any two different systems to communicate regardless of their underlying architecture. The OSI is not a protocol; it is a model for understanding and designing a network architecture that is flexible, robust and interoperable. The OSI model is a layered framework for the design of network systems that allows communication between all types of computer systems.
The OSI model is also designed in a high structure way. Its architecture is shown in FIGURE. It is a seven-layer architecture in which a separate set of protocols is defined for each layer. Thus each layer has an independent function and deals with one or more specific aspects of the communication. The roles of the seven ways are briefly described below.
In actual implementations, of the seven layers, the first three layers are likely to be in hardware, the next two layers in the operating system, the presentation layer in library subroutines in the user’s address space, and the application layer in the user’s program.
Physical Layer
The physical layer coordinates the functions required to carry a bit stream over a physical medium. It deals with the mechanical and electrical specifications of the interface and transmission medium. It also defines the procedures and functions that physical devices and interfaces have to perform for transmission to occur. Figure shows the position of the physical layer with respect to the transmission medium and the data link layer.
The physical interface is also concerned with the following:
Physical characteristics of interfaces and medium
The physical layer defines the characteristics of the interface between the devices and the transmission medium. It also defines the type of transmission medium.
Representation of bits
The physical layer data consists of a stream of bits (sequence of 0s or Is) with no interpretation. To be transmitted, bits must beencoded into signals—electrical or optical. The physical layer defines the type of encoding (how Os and Is are changed to signals).
Data rate
The transmission rate—the number of bits sent each second—is also defined by the physical layer. In other words, the physical layer defines the duration of a bit, which is how long it lasts.
Synchronization of bits
The sender and receiver not only must use the same bit rate but also must be synchronized at the bit level. In other words, the sender and the receiver clocks must be synchronized. Sending and receiving speed must be same.
Line configuration
The physical layer is concerned with the connection of devices to the media. In a point-to-point configuration, two devices are connected through a dedicated link. In a multipoint configuration, a link is shared among several devices.
Physical topology
The physical topology defines how devices are connected to make a network. Devices can be connected by using a mesh topology (every device is connected to every other device), a star topology (devices are connected through a central device), a ring topology (each device is connected to the next, forming a ring), a bus topology (every device is on a common link), or a hybrid topology (this is a combination of two or more topologies).
Transmission mode
The physical layer also defines the direction of transmission between two devices: simplex, half-duplex, or full-duplex. In simplex mode, only one device can send; the other can only receive. The simplex mode is a one-way communication. In the half-duplex mode, two devices can send and receive, but not at the same time. In a full-duplex (or simply duplex) mode, two devices can send and receive at the same time.
Responsibilities of the data link layer include the following:
Framing
The data link layer divides the packets received from the network layer into manageable data units called frames.
Physical addressing
If frames are to be distributed to different systems on the network, the data link layer adds a header to the frame to define the sender and/or receiver of the frame. If the frame is intended for a system outside the sender's network, the receiver address is the address of the device that connects the network to the next one.
Flow control
If the rate at which the data are absorbed by the receiver is less than the rate at which data are produced in the sender, the data link layer imposes a flow control mechanism to avoid overwhelming the receiver.
Error control
The data link layer adds reliability to the physical layer by adding mechanisms to detect and retransmit damaged or lost frames. It also uses a mechanism to recognize duplicate frames. Error control is normally achieved through a trailer added to the end of the frame. A cyclic redundancy check (CRC) added to the data frame can detect damaged frames, and the Data-link layer in the receiving computer can request that the CRC information be present so that it can check incoming frames for errors. The Data-link layer can also detect when frames are lost and request that those frames be sent again.
Access control
When two or more devices are connected to the same link, data link layer protocols are necessary to determine which device has control over the link at any given time.
As the figure shows, communication at the data link layer occurs between two adjacent nodes. To send data from A to F, three partial deliveries are made. First, the data link layer at A sends a frame to the data link layer at B (a router). Second, the datalink layer at B sends a new frame to the data link layer at E. Finally, the data link layer at E sends a new frame to the data link layer at F. Note that the frames that are exchanged between the three nodes have different values in the headers. The frame from A to B has B as the destination address and A as the source address. The frame from B to E has E as the destination address and B as the source address. The frame from E to F has F as the destination address and E as the source address. The values of the trailers can also be different if error checking includes the header of the frame.
Network Layer
The network layer is responsible for setting up a logical path between two nodes for communications to take place. It encapsulates the frames into packets that can be transmitted from one node to another using a high-level addressing and routine scheme. That is, routing is the primary job of the network layer and the routing algorithm forms the main part of the network layer protocols of the network.
Two popular network layer protocols are the X.25 Protocol and the Internet Protocol (IP). The X.25 is a connection oriented protocol that is based on the concept of establishing a virtual circuit between the sender and receiver before the actual communication starts between them. In this protocol, a request for connection is first sent to the destination, which can either be accepted or rejected. If the connection is accepted, the requesting party is given a connection identifier to use in subsequent requests. During the connection establishment phase, a route between the two parties is also decided that is used for the transmission of subsequent traffic.
On the other hand, IP is a connectionless protocol in which no connection is established between the sender and receiver before sending a message. Therefore, each packet of the message is transmitted independently and may take a different route. IP is part of the DoD (U.S Department of Defense) protocol suite.
Notice that the functions performed at the network layer are primarily required in WANs. In a single LAN, the network layer is largely redundant because packets can be transmitted directly from any node on the network to any other node. Therefore the network layer, if present, has little work to do.
The network layer is responsible for the source-to-destination delivery of a packet, possibly across multiple networks (links). Whereas the data link layer oversees the delivery of the packet between two systems on the same network (links), the network layer ensures that each packet gets from its point of origin to its final destination.
Other responsibilities of the network layer include the following:
Logical addressing
The physical addressing implemented by the data link layer handles the addressing problem locally. If a packet passes the network boundary, we need another addressing system to help distinguish the source and destination systems. The network layer adds a header to the packet coming from the upper layer that, among other things, includes the logical addresses of the sender and receiver.
Routing
When independent networks or links are connected to create internetworks (network of networks) or a large network, the connecting devices (called routers or switches) route or switch the packets to their final destination. One of the functions of the network layer is to provide this mechanism.
As the figure shows, now we need a source-to-destination delivery. The network layer at A sends the packet to the network layer at B. When the packet arrives at router B, the router makes a decision based on the final destination (F) of the packet. As we will see in later chapters, router B uses its routing table to find that the next hop is router E. The network layer at B, therefore, sends the packet to the network layer at E. The network layer at E, in turn, sends the packet to the network layer at F.
Transport Layer
The job of the transport layer is to provide node-to-node communication and to hide all the details of the communication subnet from the session layer by providing a network-independent transport service. Using all this service, all the details of the communication subnet are sealed and one subnet can be replaced with another without disturbing the layers above the transport layer.
The two most popular transport layer protocols are the Transport Control Protocol (TCP) and the User Datagram Protocol (UDP). TCP is a connection-oriented transport protocol. It uses end-to-end mechanisms to ensure reliable, ordered delivery of data over a logical connection. The goals are basically achieved by using packet sequence numbers and positive acknowledgements with timeout and retransmission.
The UDP is a connectionless protocol. It is an unreliable protocol because, when it is used, message packets can be lost, duplicated, or arrive out of order. Therefore, only those applications that do not need reliable communication should use UDP.
The transport layer is responsible for process-to-process delivery of the entire message. A process is an application program running on a host. Whereas the network layer oversees source-to-destination delivery of individual packets, it does not recognize any relationship between those packets. It treats each one independently, as though each piece belonged to a separate message, whether or not it does. The transport layer, on the other hand, ensures that the whole message arrives intact and in order, overseeing both error control and flow control at the source-to-destination level. Figure shows the relationship of the transport layer to the network and session layers.
Other responsibilities of the transport layer include the following:
Service-point addressing
Computers often run several programs at the same time. For this reason, source-to-destination delivery means delivery not only from one computer to the next but also from a specific process (running program) on one computer to a specific process (running program) on the other. The transport layer header must therefore include a type of address called a service-point address (or port address). The network layer gets each packet to the correct computer; the transport layer gets the entire message to the correct process on that computer.
Segmentation and reassembly
A message is divided into transmittable segments, with each segment containing a sequence number. These numbers enable the transport layer to reassemble the message correctly upon arriving at the destination and to identify and replace packets that were lost in transmission.
Connection control
The transport layer can be either connectionless or connection- oriented. A connectionless transport layer treats each segment as an independent packet and delivers it to the transport layer at the destination machine. A connection- oriented transport layer makes a connection with the transport layer at the destination machine first before delivering the packets. After all the data are transferred, the connection is terminated.
Flow control
Like the data link layer, the transport layer is responsible for flow control. However, flow control at this layer is performed end to end rather than across a single link.
Error control
Like the data link layer, the transport layer is responsible for error control. However, error control at this layer is performed process-to- process rather than across a single link. The sending transport layer makes sure that the entire message arrives at the receiving transport layer without error (damage, loss, or duplication). Error correction is usually achieved through retransmission.
TCP Protocol
As you know there are two protocols working on this layer especially named TCP and UDP. In TCP (Transmission Control Protocol) the communication takes place at both side (means sender and receiver). For example, suppose there is a packet of 35KB which needs to be send to the destination (receiver). When this packet will reach to destination, receiver will send an acknowledgement to the sender. If acknowledge signal doesn’t comes from receiver side, sender will not send any other packet until that acknowledgement signal is received. It is not always necessary that to receive acknowledge signal sender waits for hours. To support this mechanism, timer is used. Suppose the time set for receiving acknowledgement signal is 30 seconds. Whenever the receiver receives the packets, it has to send the feedback within 30 seconds to sender, and timer will initiate to reduce by 1. Sender must receive this signal before time reaches to 0 (zero). If sender fails to receive the signal, it will send the same packet again.
Session Layer
The purpose of the session layer is to provide the means by which presentation entities can organize and synchronize their dialog and manage their data exchange. It allows the two parties to authenticate each other before establishing a dialog session between them. It also specifies dialog type – one way, two way alternate, or two way simultaneous – and initiates a dialog session if the message is a connection request message. The other services of the session layer include quarantine service, dialog control, and priority management. The quarantine services buffers a group of messages on the receiving side until the session layer on the sending side explicitly releases them. This is useful in database applications where a transaction (consisting of a group of messages) needs to be atomic unit. The dialog control is useful for dialog sessions in which the user primitives used for sending and receiving messages are of the nonblocking type. In this case, the user may have multiple requests outstanding on the same session, and replies may come back in an order of requests. The priority management service is useful for giving priority to important and time-bound messages over normal, less-important messages. The session layer is not required for connectionless communication.
Specific responsibilities of the session layer include the following:
Dialog control
The session layer allows two systems to enter into a dialog. It allows the communication between two processes to take place in either half- duplex (one way at a time) or full-duplex (two ways at a time) mode.
Synchronization
The session layer allows a process to add checkpoints, or synchronization points, to a stream of data. For example, if a system is sending a file of 2000 pages, it is advisable to insert checkpoints after every 100 pages to ensure that each 100-page unit is received and acknowledged independently. In this case, if a crash happens during the transmission of page 523, the only pages that need to be resent after system recovery are pages 501 to 523. Pages previous to 501 need not be resent. Figureillustrates the relationship of the session layer to the transport and presentation layers.
Presentation Layer
The purpose of this layer is to represent message information to communicating application layer entities in a way to preserves meaning while resolving syntax differences. For this, the presentation layer may perform one or more of the following types of transformations on
message data:
Specific responsibilities of the presentation layer include the following:
Translation
The processes (running programs) in two systems are usually exchanging information in the form of character strings, numbers, and so on. The information must be changed to bit streams before being transmitted. Because different computers use different encoding systems, the presentation layer is responsible for interoperability between these different encoding methods. The presentation layer at the sender changes the information from its sender-dependent format into a common format. The presentation layer at the receiving machine changes the common format into its receiver-dependent format.
Encryption
For applications dealing with confidential or secret data, the presentation layer software in the sending computer encrypts message data before passing to the session layer. On the receiver side, the encrypted message data is decrypted by the presentation layer before being passed on to the application layer.
Compress
In a similar manner, when message data is large in volume (such as multimedia data) or with the networks that are slow or heavily loaded, message data may be compressed and decompressed by the presentation layer software in the sending and receiving computers, respectively.
Application Layer
The application layer provides services that directly support the end users of the network. Obviously, the functionality implemented at this layer of the architecture is application-specific. Since each application has different communication needs, no fixed or standard set of the application layer protocols can meet the needs of all applications. Therefore, the application layer is basically a collection of miscellaneous protocols for various commonly used applications such as electronic mail, file transfer, remote login, remote job entry, and schemas for distributed databases. Some popular application layer protocols are X.400 (Electronic Mail Protocol), X.500 (Directory Server Protocol), and the rlogin (Remote Login Protocol).
Specific services provided by the application layer include the following:
Network virtual terminal
A network virtual terminal is a software version of a physical terminal, and it 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, and vice versa. The remote host believes it is communicating with one of its own terminals and allows the user to log on.
File transfer, access, and management
This application allows a user to access files in a remote host (to make changes or read data), to retrieve files from a remote computer for use in the local computer, and to manage or control files in a remote computer locally.
Mail services
This application provides the basis for e-mail forwarding and storage.
Directory services
This application provides distributed database sources and access for global information about various objects and services.
Resources Used:
1. Tanenbaum
2. Forouzan
3. Network +
Compiled By: Chaudhary Amit V.












Comments
Post a Comment