• Aucun résultat trouvé

Communication Protocol Architectures .1 The OSI Protocol Architecture

Dans le document DISTRIBUTED NETWORK SYSTEMS (Page 94-98)

Table of Figures

CHAPTER 3 COMMUNICATION PARADIGMS FOR

4.1 Communication Protocol Architectures .1 The OSI Protocol Architecture

In the mid-1970s, different types of distributed systems (based on different types of computer networks) started to appear. As most of them were implemented using proprietary network models and protocols, it was very difficult to make machines and distributed systems from different vendors talk to each other. As a result, a range of standards started to be introduced.

The Open System Interconnection (OSI) Reference Model has been under development by the International Standards Organisation (ISO) since 1977. The reference model attempts to define a comprehensive set of protocols which will allow computers and other devices to communicate. Networks that are implemented using the model are “open” since they do not use proprietary protocols and therefore will not be restricted to use equipment that is supplied by a particular manufacturer.

Once the OSI model has been fully defined and implemented, it is expected to dominate all inter-computer communications. It is therefore liable to have a profound effect on the way in which distributed programs will be structured.

The OSI reference model uses a layered protocol hierarchy, as illustrated in Figure 4.1. The following notations are applied to this model:

In order to specify the layer i protocol, we must precisely define the types of protocol data unit used in this layer’s protocol entity. We also need to specify the Layer i offers an interface to users at layer i+1. The interface is the only point at which a user at layer i+1 can access the lower layers and is called the layer i protocol service access point (SAP).

Layer i uses the interface provided by layer i-1 to implement its interface to layer i+1 and the layer i protocols. The data unit used in the layer i protocol is called the layer i protocol data unit (PDU).

By convention, layer 0 is considered as primitive.

Figure 4.1: The layered protocol model

The approach taken in the OSI reference model is to identify a series of seven protocol layers. Each layer builds upon the services offered by the subordinate layers to offer an enhanced service to the upper layers, this policy is illustrated in Figure 4.2.

Figure 4.2: The OSI reference model

operations (services) provided by this layer to transmit the PDUs of layer i+1 to the peer protocol entity in a remote system. Of course, descriptions of the services used by this layer (provided by the layer i-1) are also needed.

Programs that need to communicate with each other but reside on separate hosts may call upon the services offered by the top layer of protocol, or may use the protocol services offered by the same layer. This may depend on which layer the programs reside in (in terms of the OSI hierarchy). For example, assume program on host A wants to communicate with program on host B using the layer 7 application protocols. After issues a PDU (message), the message is sent to the lower layers to process. Each layer of the protocol then processes the request and calls a series of lower-level operations that are provided by the subordinate layer.

Eventually the bottom layer is reached and a series of message are physically transmitted to machine B by the communications hardware. At the destination machine B the messages are passed up the layers to the application layer and then delivered to

The operations provided by each layer of the OSI model are as follows:

Physical layer: is concerned with transmitting raw (uninterpreted) bits over a communication channel. It mainly deals with mechanical, electrical, and procedural interfaces (such as RS232, RS449 and X.21), and the physical transmission medium.

Data link layer: provides the protocols which control the flow of information over the link and makes the link appear free of transmission errors by using error correction or error detection and retransmission techniques. The PDUs used in this layer are usually called frames.

Network layer: controls the operation of the subnet (communication system used by the network), implements higher level functions concerning the routing of packets (PDUs used by network layer) from one machine to another and the forwarding of packets between intermediary sites.

Transport layer: implements a “transport service” which moves information from one machine to another. The services that are offered by this layer are independent of the underlying mechanisms that are used by the lower three layers to transmit information. Information may travel over a number of communications channels using different technologies, and the details should be hidden from the users of the transport layer. This layer is responsible for the end-to-end transmission of the data.

Session layer: provides the protocols concerned with the establishment of sessions (dialogues) between users (or user programs). Example applications are remote login and file transfer.

Presentation layer: implements the mapping between the representations of information used on different machines. The lower layers are concerned with the transmission of uninterpreted information between processes; the presentation layer is concerned with its meaning. The services provided by this layer range from the low-level mapping, such as from one character set to another, to the representations of higher level objects, such as arrays, records or graphical representations of information.

Application layer: provides the higher level functions or utility services that are commonly needed when using computer networks, such as mail systems and directory services.

4.1.2 Internet Architecture

The current “Internet” can be defined as “the collection of all computers that can communicate, using the Internet protocol suite, with the computers and networks registered with the Internet Network Information Center (InterNIC).” This definition includes all computers to which one can directly send Internet Protocol packets (or indirectly, through a firewall).

Internet is the largest data network in the world and is actually an interconnection of several packet-switched networks. The Internet has a layered architecture: Figure 4.3 shows the comparison of Internet and OSI architectures.

Figure 4.3: Comparison of Internet and OSI architectures The functions of each Internet layer are as follows:

Network access layer: This layer relies on the data link and physical layer protocols of the appropriate network and no specific protocols are defined.

Internet layer. The Internet Protocol (IP) defined for this layer is a simple connectionless datagram protocol. It offers no error recovery and any error packets are simply discarded.

Transport layer: Two protocols are defined: the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP). TCP is a connection-oriented protocol that permits the reliable transfer of data between the source and destination end users. UDP is a connectionless protocol that offers neither error recovery nor flow control.

User process layer (application): This layer describes the applications and technologies that are used to provide end-user services.

Internet Protocol enables communication between computers on the Internet by routing data from a source computer to a destination computer. However, computer-to-computer communication only solves half of the network communication problem. In order for an application program, such as a mail program, to communicate with another application, such as a mail server, there needs to be a way to send data to specific programs within a computer.

Ports, or addresses within a computer, are used to enable communication between programs. An application server, such as a Web server or an FTP server, listens on a particular port for service requests, performs whatever service is requested, and returns information to the port used by the application program requesting the service. Popular Internet application protocols are associated with well-known ports. The server programs that implement these protocols listen on these ports for service requests. The well-known ports for some common Internet application protocols are shown in Table 4.1.

Dans le document DISTRIBUTED NETWORK SYSTEMS (Page 94-98)