• Aucun résultat trouvé

Open systems interconnection (OSI)

Dans le document Data Networks, IP and the Internet (Page 30-39)

X. 25 (ITU-T recommendation 25) 5 the data networking market, despite its initial dominance of the personal computer market

1.9 Open systems interconnection (OSI)

In the early days of computing, the different computer manufacturers developed widely diverse hardware, operating systems and application software. The different strengths and weaknesses of individual computer types made them more suited to someapplications (i.e., uses) than others. As a result, enterprise customers began to ‘collect’ different manufacturers’ hardware for different departmental functions (e.g., for bookkeeping, personnel records, order-taking, stock-keeping, etc.).

The business efficiency benefits of each departmental computer system quickly justified the individual investments and brought quick economic payback. But the demands on computers and computer manufacturers quickly moved on, as company IT (information technology) departments sought to interconnect their various systems rather than have to manually re-type output from one computer to become input for another. As a result, there was pressure to

develop a standard means for representing computer information (calleddata) so that it could be understood by any computer. Similarly, there was a need for a standard means of electronic conveyance between systems. These were the first standards making up what we now refer to asopen systems interconnection (OSI)standards.

It is useful to assess some of the problems which have had to be overcome, for this gives an invaluable insight into how a data network operates and the reasons for the apparently bewildering complexity. In particular, we shall discuss thelayered functions which make up the OSI (open systems interconnection) model.

When we talk as humans, we conform to a strict etiquette of conversation without even realising it. We make sure that the listener is in range before we start talking. We know who we want to talk to and check it is the right person in front of us before we start talking.

We make sure they are awake, paying attention, listening to us, not talking to or looking at someone else. We know which language they speak, or ask them in clear, slow language at the start. We change language if necessary. We talk slowly and clearly and keep to a simple vocabulary if necessary. While we talk, we watch their faces to check they have heard and understood. We repeat things as necessary. We ask questions and we elaborate some points to avoid misunderstanding. When we are finished we say ‘goodbye’ and turn away. We know to ‘hang up’ the telephone afterwards (if necessary), thereby ensuring that the next caller can reach us.

Computers and data networks are complex, because they are not capable of thinking for themselves. Every situation which might possibly arise has to have been thought about and a suitable action must be programmed into it in advance. Computers have no ‘common sense’

unless we programme it into them. If one computer tries to ‘talk’ to another, it needs to check that the second computer is ‘listening’. It needs to check it is talking to the right piece of equipment within the second computer. (We might send a command ‘shut down’, intending that a given ‘window’ on the screen of the second computer should receive the command and that the ‘window’ should thus close. But if instead the receiving computer directs the command to the power supply, the whole PC would shut down instead.)

When a computer starts ‘talking’, it has to ‘speak’ in a ‘language’ which the listening computer can understand, and must use an agreed set of alphabetic characters. When ‘talking’

it has to check that the listener has heard correctly and understood. And when talked to itself, it may be appropriate to stop ‘talking’ for a while in order to concentrate on ‘listening’ or to wait for a reply. Finally, when the communicationsession is over, it is proper formally to close the conversation. The ‘listener’ need no longer pay attention, and the ‘talker’ may turn attention to a third party.

The list of potential problems and situations to be considered by designers of data networks is a long one. Here are a few examples:

• Different types of computer, using different operating systems and programming languages wish to ‘talk’ to one another;

• Data information is to be shared by different types of application (e.g., bookkeeping and order-taking programs), which use information records stored in different data formats;

• Different character representations are used by the different systems;

• It is not known whether the computer we wish to send data to or receive data from is active and ready to communicate with us;

• To ‘reach’ the destination device we must ‘transit’ several intermediate networks of dif-ferent types;

• There are many different physical, electrical and mechanical (i.e., plug/socket) interfaces.

Open systems interconnection (OSI) 13

The OSI model

The open systems interconnection (OSI) model, first formalised as a standard by ISO (Interna-tional Organization for Standardization) in 1983 subdivided the various data communications functions into seven interacting but independent layers. The idea was to create a modular structure, allowing different standard functions to be combined in a flexible manner to allow any two systems to communicate with one another. Although the model no longer covers all the functions of data networks which have come to be needed, the idea of ‘layered’ protocols andprotocol stacks has come to be a cornerstone of modern data communications. It is thus useful to explain the basics of the model and the jargon which it lays down.

To understand the OSI model, let us start with an analogy, drawn from a simple exchange of ideas in the form of a dialogue between two people as illustrated in Figure 1.6. The speaker has to convert his ideas into words; a translation may then be necessary into the grammar and syntax of a foreign language which can be understood by the listener; the words are then converted into sound by nerve signals and appropriate muscular responses in the mouth and throat. The listener, meanwhile, is busy converting the sound back into the original idea.

While this is going on, the speaker needs to make sure in one way or another that the listener has received the information, and has understood it. If there is a breakdown in any of these activities, there can be no certainty that the original idea has been correctly conveyed between the two parties.

Note that each function in our example is independent of every other function. It is not necessary to repeat the language translation if the receiver did not hear the message — a request (prompt) to replay a tape of the correctly translated message would be sufficient. The specialist translator could be getting on with the next job as long as the less-skilled tape operator was on hand. We thus have a layered series of functions. The idea starts at the top of the talker’s stack of functions, and is converted by each function in the stack, until at the bottom it turns up in a soundwave form. A reverse conversion stack, used by the listener, re-converts the soundwaves back into the idea.

Each function in the protocol stack of the speaker has an exactly corresponding, or so-called peer function in the protocol stack of the listener. The functions at the same layer in the two stacks correspond to such an extent, that if we could conduct a directpeer-to-peerinteraction then we would actually be unaware of how the functions of the lower layers protocols had

Figure 1.6 A layered protocol model for simple conversation.

Figure 1.7 The Open Systems Interconnection (OSI) model.

been undertaken. Let us, for example, replace layers 1 and 2 by using a telex machine instead.

The speaker still needs to think up the idea, correct the grammar and see to the language translation, but now instead of being aimed at mouth muscles and soundwaves, finger muscles and telex equipment do the rest (provided the listener also has a telex machine, of course!).

We cannot, however, simply replace only the speaker’s layer-1 function (the mouth), if we do not carry out simultaneouspeer protocol changes on the listener’s side because an ear cannot pick up a telex message!

As long as the layers interact in a peer-to-peer manner, and as long as the interface between the function of one layer and its immediate higher and lower layers is unaffected, then it is unimportant how the function of that individual protocol layer is carried out. This is the principle of the open systems interconnection (OSI) model and alllayered data communica-tions protocols.

The OSI model sub-divides the function of data communication into seven layered and peer-to-peer sub-functions, as shown in Figure 1.7. Respectively from layer 7 to layer 1 these are called; theapplication layer, thepresentation layer, thesession layer, thetransport layer, thenetwork layer, the data link layer and the physical layer. Each layer of the OSI model relies upon theservice of the layer beneath it. Thus the transport layer (layer 4) relies upon the network service which is provided by the stack of layers 1 – 3 beneath it. Similarly the transport layer provides a transport service to the session layer, and so on. The functions of the individual layers of the OSI model are defined more fully in ISO standards (ISO 7498), and in ITU-T’s X.200 series of recommendations. In a nutshell, they are as follows.

Application layer (Layer 7)

This layer provides communications functions services to suit all conceivable types of data transfer, control signals and responses betweencooperatingcomputers. A wide range of appli-cation layer protocols have been defined to accommodate all sorts of different computer equipment types, activities, controls and other applications. These are usually defined in a modular fashion, the simplest common functions being termedapplication service elements (ASEs), which are sometimes grouped in specific functional combinations to form applica-tion entities (AEs)— standardised communications functions which may be directly integrated into computer programs. These communications functions or protocols have the appearance

Open systems interconnection (OSI) 15 of computer programming commands (e.g., get, put, open, close etc.). The protocol sets out how the command or action can be invoked by a given computer programme (orapplication) and the sequence of actions which will result in the peer computer (i.e., the computer at the remote end of the communication link). By standardising the protocol, we allow computers to

‘talk’ and ‘control’ one another without misuse or misinterpretation of requests or commands.

Presentation layer (Layer 6)

The presentation layer is responsible for making sure that the data format of the application layer command is appropriate for the recipient. Thepresentation layer protocol tells the recip-ient in which language, syntax and character set theapplication layercommand is in (in other words, which particular application layer protocol is in use). If necessary, the presentation layer can undertake a format conversion.

The binary digits (calledbits) in which information is stored asdata within computers are usually grouped in 8-bit patterns calledbytes. Computers use different codes (of either one or two bytes in length) to represent the different alphanumeric characters. The most commonly used standard codes are calledASCII (American standard code for information interchange), unicode and EBCDIC (extended binary coded decimal interchange code). Standardisation of the codes for representing alphanumeric characters was obviously one of the first fundamental developments in allowing inter-computer communication.

Session layer (Layer 5)

Asession between two computers is equivalent to a conversation between two humans, and there are strict rules to be observed. When established for a session of communication, the two devices at each end of the communication medium must conduct their ‘conversation’ in an orderly manner. They must listen when spoken to, repeat as necessary, and answer ques-tions properly. Thesession protocol regulates the ‘conversation’ and thus includes commands such as start, suspend, resume and finish, but does not include the actual ‘content’ of the communication.

The session protocol is rather like a tennis umpire. He or she cannot always tell how hard the ball has been hit, or whether there is any spin on it, but he/she knows who has to hit the ball next and whose turn it is to serve, and he/she can advise on the rules when there is an error, in order that the game can continue. The session protocol negotiates for an appropriate type of session to meet the communication need, and then it manages the session.

A session may be established between any two computer applications which need to com-municate with one another. In this sense the application may be a ‘window’ on the computer screen or an action or process being undertaken by a computer. Since more than one ‘window’

may be active at a time, or more than one ‘task’ may be running on the computer, it may be that multiple ‘windows’ and ‘tasks’ are intercommunicating with one another by means of different sessions. During such times, it is important that the various communications sessions are not confused with one another, since all of them may be sharing the same communications medium (i.e., all may be taking place on the same ‘line’).

Transport layer (Layer 4)

Thetransport serviceprovided by thetransport layer protocolprovides for the end-to-end data relaying service needed for a communication session. The transport layer itself establishes a transport connection between the two end-user devices (e.g., ‘windows’ or ‘tasks’) by selecting

Figure 1.8 Protocol multiplexing and splitting.

and setting up the network connection that best matches the session requirements in terms of destination, quality of service, data unit size, flow control, and error correction needs. If more than one network is available (e.g., leaseline, packet-switched network, telephone network, router network, etc.), the transport layer chooses between them.

An important capability of thetransport protocolis its ability to set upreliableconnections in cases even when multiple networks need to be traversed in succession (e.g., a connection travels from LAN (local area network) via a wide area network to a second LAN). The IP-related protocol TCP (transmission control protocol) is an example of a transport layer protocol, and it is this single capability of TCP combined with IP (TCP/IP), that has made the IP-suite of protocols so widely used and accepted.

The transport layer supplies the network addresses needed by the network layer for correct delivery of the message. The network address may be unknown by the computer application using the connection. The mapping function provided by the transport layer, in converting transport addresses (provided by the session layer to identify the destination) into network-recognisable addresses (e.g., telephone numbers) shows how independent the separate layers can be: the conveyance medium could be changed and the session, presentation and application protocols could be quite unaware of it.

The transport protocol is also capable of some importantmultiplexingandsplittingfunctions (Figure 1.8). In its multiplexing mode thetransport protocol is capable of supporting a number of different sessions over the same connection, rather like playing two games of tennis on the same court. Humans would get confused about which ball to play, but the transport protocol makes sure that computers do nothing of the kind.

Two sessions from a mainframe computer to a PC (personal computer) in a remote branch site of a large shopping chain might be used simultaneously to control the building security system and (separately) to communicate customer sales. Different software programmes (for

‘security’ and for ‘sales’) in both the mainframe computer and in the PC could thus share the same telecommunications line without confusion.

Conversely, thesplitting capability of the transport protocol allows (in theory) onesession to be conducted over a number of parallel network communication paths, like getting different people to transport the various volumes of an encyclopaedia from one place to another.

The transport protocol also caters for the end-to-end conveyance, segmenting or concate-nating (stringing together) the data as the network requires.

Network layer (Layer 3)

Thenetwork layer sets up and manages an end-to-end connection across a single real network, determining which permutation of individual links need be used and ensuring the correct

EDI (electronic data interchange) 17 transfer of information across the single network (e.g., LAN or wide area network). Examples of layer-3network protocols are IP and X.25.

Datalink layer (Layer 2)

The datalink layer operates on an individual link or subnetwork part of a connection, manag-ing the transmission of the data across a particular physical connection or subnetwork (e.g., LAN — local area network) so that the individual bits are conveyed over that link without error. ISO’s standard datalink protocol, specified in ISO 3309, is called high level data link control (HDLC). Its functions are to:

synchronisethe transmitter and receiver (i.e., the link end devices);

• control theflow of data bits;

• detect and correcterrors of data caused in transmission;

• enable multiplexing of severallogical channels over the same physical connection.

Typical commands used in datalink control protocols are thusACK (acknowledge), EOT (end of transmission), etc. Another example of a ‘link’ protocol is the IEEE 802.2 logical link control (LLC)protocol used in Ethernet and Token Ring LANs (local area networks).

Physical layer (Layer 1)

Thephysical layeris concerned with themediumitself. It defines the precise electrical, inter-face and other aspects particular to the particular communicationsmedium. Examplephysical mediain this regard are:

• the cable of a DTE/DCE interface as defined by EIA RS-232 or ITU-T recommendations:

X.21, V.35, V.36 or X.21bis (V.24/V.28);

• a 10 Mbit/sethernet LAN based on twisted pair (the so-called10baseT medium);

• a 4 Mbit/s or 16 Mbit/s Token ring LAN using Twinax (i.e., 2 x coaxial cable);

• a digital leaseline (e.g., conforming to ITU-T recommendation I.430 or G.703);

• a high speed digital connection conforming to one of the SONET (synchronous optical network) or SDH (synchronous digital hierarchy) standards (e.g., STM-1, STM-4, STM-16, OC3, OC12, STS3 etc.);

• a fibre optic cable;

• a radio link.

1.10 EDI (electronic data interchange)

By the 1980s, companies had managed to interconnect their different department computer systems for book-keeping, order-taking, salaries, personnel, etc., and the focus of development turned towards sharing computer data directly with both suppliers and customers. Why take an order over the telephone when the customer can submit it directly by computer — eliminating both the effort of taking down the order and the possibility of making a mistake in doing so?

In particular, large retail organisations and the car manufacturers jumped on the bandwagon ofEDI (electronic data interchange).

The challenge of electronic data interchange (EDI) between different organisations is con-siderably greater than the difficulties of ‘mere’ interconnection of different computers as originally addressed by OSI. When data is transferred only from one machine to another within the same organisation, then that organisation may decide in isolation which informa-tion should be transferred, in which format and how the informainforma-tion should be interpreted by the receiving machine. But when data is moved from one organisation to another, at least three more problems arise in addition to those of interconnection:

• The content and meaning of the various information fields transferred must be standardised (e.g., order number format and length, address fields, name fields, product codes and names, etc.).

• There needs to be a means of reliable transfer from one computer to the other which allows the sending computer to send its information independently of whether the receiving computer is currently ready to receive it. In other words, the ‘network’ needs to cater for store-and-retrieve communication between computers (comparable with having a postbox at the post office for incoming mail which allows you to pick up your mail at a time convenient to you as the receiver).

• There needs to be a way of confirming correct receipt.

Various new standardisation initiatives emerged to support EDI, among the first of which were:

Various new standardisation initiatives emerged to support EDI, among the first of which were:

Dans le document Data Networks, IP and the Internet (Page 30-39)

Documents relatifs