• Aucun résultat trouvé

Layers 5–7 — higher layer protocols

Dans le document Data Networks, IP and the Internet (Page 133-136)

Basic Data Networks and Protocols

Layer 4 — transport layer protocol 111

3.6 Layers 5–7 — higher layer protocols

Thehigher layer protocols of layer 5 (session layer), layer 6 (presentation layer) and layer 7 (application layer), like the transport layer (layer 4) are resident in the computer end-devices which communicate end-to-end across the network. Thepeer partners are computer software programs at the operating system and application program level. Because such programs are often delivered as a complete ‘suite’ of software by a given software or operating system manufacturer (e.g., Microsoft, Sun Microsystems, etc.), the standardisation of software interfaces at thesehigher layershas come to follow the ‘proprietary’ and ‘de facto’ standards established by the computing industry rather than the original strict layers envisaged by OSI.

The number of ‘layers’ of protocols and software and the boundaries between layers can thus become somewhat blurred. Thus, for example, a single software may spread across all the layers 5 – 7 (or even 4 – 7). Put simply, only a few still comply rigidly to the OSI model and standards. Nonetheless, it is instructive to consider examples of commonly used software which provides the functionality of these layers.

Session layer

Thesession layer is an end-user computer program responsible forbinding (setting up and managing communications) and unbinding logical links between two application programs (e.g., computer-to-computer, computer-to-printer, etc.). Put simply, the session layer manages the different computer hardware resources which are interconnected by means of a network.

It is thus strongly linked to the computeroperating system (OS) software. The session layer provides ‘network gateway capabilities’ which link the ‘computer world’ to the ‘telecommu-nications world’.

Above the session layer, computers are largely concerned only with datafiles (in different formats) and ‘real’ application software. These are the concerns respectively of the presenta-tionand application layers. In this world of programming and computing hardware, software designers, network administrators and users prefer to refer to devices with names or acronyms such as ‘LPT1’, ‘local printer’, ‘group-printer’, ‘peter-pc’, etc. Referring to the devices like this means you don’t have to change the software each time the network gets reconfigured, some-body moves or the network addresses change. But it does mean that a central network resource management is needed, linking computer names to network addresses, binding and unbinding

Layers 5 – 7 — higher layer protocols 115 these devices to their addresses and setting-up sessions when they wish to communicate with one another. This is the job of the session layer.

The session layer has to be able to cope with recovering such problems as the remote computer being switched off. Having initiated a session, the session layer has to be able to check that it remains ‘alive’. The software commands issued to the session layer and used to invoke and control session activities are ‘input’ and ‘output’ commands which will be familiar to computer programmers:

Typical and well-known examples of software providing session services and protocols19are:

Berkeley socket serviceor socket interface (this was the first consistent application pro-gramming interface, used in UNIX and TCP/IP networking environments since the early 1980s);

NetBIOS (network basic input output system)— provides for session and transport services between PCs and servers in LANs. It was originally developed for IBM’s LAN man-ager software, but subsequently became the basis of Windows NT and Windows 2000 networking, which is nowadays the most commonly used LAN management software.

RPC (remote procedure call)— used for the initial UNIXclient server networking;

Secure sockets layer (SSL)— a layer introduced between session and transport layers to provide for extra authentication and encryption of communications between a web user (client) and a web server;

Winsock (Windows socket interface);

SIP (session initiation protocol) for VOIP (voice over IP).

A sessionbindstwological units (LUs)by arranging for the interconnection of the two rele-vant network ports (identified by theirnetwork addresses and transport layerports). Session multiplexing allows a single device (e.g., aserver) to ‘speak’ with multiple remote devices (e.g.,clients) at once.

The term bind originates from Berkeley Internet Name Daemon. This was originally a software and a related file which provided a link between the logical names known by computer programs and Internet addresses. In a UNIX system, the IP address information related to computer and deviceusernames is held in a file called ‘etc/hosts’. The Windows equivalent is calledWINS (Windows Internet name server). It deals with name registration, queries and

‘releases’.

As the Internet rapidly became more complex, it became impractical to store all possible remote device names, web addresses (e.g., www.company.com) and related network addresses in a local file called /etc/hosts and to keep this file up-to-date. Instead,root directories and thedomain name system (DNS)20 were developed.

19See Chapter 10.

20See Chapter 11.

Session (layer 5) and transport layer (layer 4) addresses

Before we leave the subject of the session layer, we should briefly explain the two terms:

session target and socket number. The session target (a term being increasingly used) is the (layer 5) destination ‘address’ of a session in its initiation phase (it is a logical username or equivalent). Thesocket address, meanwhile, is a layer 4 (transport layer) address, usually quoted as a combination of the IP network address (layer 3) and the TCP port number (layer 4).

Presentation layer

Thepresentation layer (layer 6) is concerned with theformat21andsyntax of data communi-cated between applications. Since most computers uses ASCII format for the coding of basic characters, presentation conversion does not have to be carried out at this level. On the other hand, software commands and datafile formats can vary widely, and need to be standardised or converted for the purpose of open communication. Control codes, special graphics, graphical user interfaces, browsers and character sets work in this layer. The different applications and associated datafile (presentation) formats which serve them are the domain ofobject-oriented programming.

Typical examples of presentation layer related services and formats are:

Graphical user interface (GUI)— a presentation format conversion which typically con-verts communicated characters into ‘graphics’ — typically screen ‘windows’ orbrowsers;

XDR (eXternal data representation— RFCs 1014 and 1832) is a language used to describe different data formats. It was developed by Sun Microsystems to facilitate the interchange of files between different types of computer;

ASN.1 (abstract syntax notation 1)— is an ITU-T and ISO-defined language somewhat similar to XDR — and also used to describe different data formats. ASN.1 and the SMI (structure of management information) subsets of it, have become one of the standard means of defining application layer protocols, as we shall discover in Chapters 9 and 10;

html (hypertext markup language— RFC 1866) — provides a character set (ISO 8859) and a method of punctuating text with html tags. The tags indicate how the text is to be presented to the human user receiving the file (e.g., bold, italics, background colour, blinking, position, size, etc.). html also provides for the possibility of hyperlinking text.22

MIME (multipurpose Internet mail extensions)— a standard format for including non-text information in Internet email which enables the attachment of multimedia data files;

Network virtual terminal (NVT)— this is a process and format makes remote terminals with different characteristics (e.g., a PC, an appleMac, a ‘dumb terminal’, etc.) all appear the same to a server or host computer;

PostScript— a widely used ‘print’ file format used to send data to computer printers;

Server message block (SMB)and the similarCIFS (common Internet file system)— provides a standard control block structure for server communications in Microsoft Networks, including, among other things, file and printer management and queuing. SMB was the original version, CIFS is the name of the latest version;

21See Chapter 2.

22See Chapter 11.

Protocol stacks and nested protocol control information (PCI) 117

Connection-oriented presentation service (COPS) and protocol (ISO 8823 and ITU-re-commendations X.216 and X.226).

Application layer

Application layer (layer 7) protocols perform input and output routines (or sub-programs) on behalf of more complicated end-user application programmes. Invoking an application layer protocol is typically done using modernobject-orientedcomputer commands and file structures that C, C++ and JAVA programmers are familiar with. Typical examples of application layer services and protocols are:

• Berkeley remote commands (UNIX);

FTAM (file transfer, access and management)— the OSI protocol suite for transferring files between computers;

FTP (file transfer protocol);

HTTP (hypertext transfer protocol);

NFS (network file system)— developed by Sun Microsystems for networked sharing of files between UNIX computers and servers;

POP3 (post office protocol)andSMTP (simple mail transfer protocol)— widely used by modern email systems;

Telnet (remote log-in protocol);

X.400 ormessage handling service (MHS)— the OSI version of email service.

Dans le document Data Networks, IP and the Internet (Page 133-136)

Documents relatifs