This manual takes all the latest techniques and know-how relating to industrial data communications systems and distills them into one book so you can update yourself in this fast-moving and powerful area. It also covers the latest information on Industrial Ethernet, Industrial Automation networks, Industrial Network Security and OPC. Finally it also looks at every system manager's nightmare - security - and will suggest some simple common-sense and internationally-accepted measures to keep the hackers at bay.
Download Chapter List
This chapter deals primarily with the OSI model and its relevance in terms of the technologies dealt with in this manual.
After studying this chapter you should be able to:
1.1 Network types
Communication networks evolved due to the need to exchange and share information amongst a group of machines. During the last century many kinds of communication networks have been developed, such as telephone networks, computer networks and cable TV networks.
With the need for data exchange superseding voice and picture transmission, computer networks have become the most prevalent of all communication networks. Depending on the distances between the computers, computer networks can be further differentiated into:
1.2 The Open Systems Interconnection (OSI) Model
A communication framework that has had a tremendous impact on the design of computer networks is the Open Systems Interconnection (OSI) model of the International Organization for Standardization (ISO). The objective of this model is to provide a framework for the co-ordination of standards development, and allows for existing as well as evolving standards activities to be set within that common framework.
In order to understand the structure of all the technologies discussed in this manual, a quick review of the OSI model basics is a necessity.
Open and closed systems
The interconnection of two or more devices with some form of digital communication is the first step towards establishing a network. In addition to the hardware requirements as discussed above, the software problems of communication must also be overcome. Where all the devices on a network are from the same manufacturer, the hardware and software problems are usually easily overcome because all the system components have usually been designed within the same guidelines and specifications.
Proprietary networks that comprise hardware and software from only one vendor are called closed systems. In most cases these systems were developed at a time before standardization, or when it was considered unlikely that equipment from other manufacturers would be included in the network.
In contrast, ‘open’ systems conform to specifications and guidelines that are ‘open’ to all. This allows equipment from any manufacturer that complies with that standard to be used interchangeably on the network. The benefits of open systems include wider availability of equipment, lower prices and easier integration with other components.
The OSI model (The Open Systems Interconnection Reference Model)
Faced with the proliferation of closed network systems, the ISO defined a ‘Reference Model for Communication between Open Systems’ (ISO 7498) in 1978. This has since become known as the OSI model. The OSI model is essentially a data communications management structure that breaks data communications down into a manageable hierarchy (‘stack’) of seven layers. Each layer has a defined purpose and interfaces with the layers above it and below it.
By laying down functions and services for each layer, some flexibility is allowed so that the system designers can develop protocols for each layer independently of each other. By conforming to the OSI standards, a system is able to communicate with any other compliant system, anywhere in the world.
The OSI model supports a client/server model and since there must be at least two nodes to communicate, each layer also appears to converse with its peer layer at the other end of the communication channel in a virtual (‘logical’) manner. The concept of isolation of the process of each layer, together with standardized interfaces and peer-to-peer virtual communication, are fundamental to the concepts developed in a layered model such as the OSI model. This concept is shown in Figure 1.1.
OSI layering concept
The actual functions within each layer are provided by entities (abstract devices such as programs, functions, or protocols) that implement the services for a particular layer on a single machine. A layer may have more than one entity; for example a protocol entity and a management entity. Entities in adjacent layers interact through the common upper and lower boundaries by passing physical information through Service Access Points (SAPs). A SAP could be compared to a predefined ‘postbox’ where one layer would collect data from the previous layer. The relationship between layers, entities, functions and SAPs is shown in Figure 1.2.
Relationship between layers, entities, functions and SAPs
In the OSI model, the entity in the next higher layer is referred to as the N+1 entity and the entity in the next lower layer as N–1. The services available to the higher layers are the result of the services provided by all the lower layers.
The functions and capabilities expected at each layer are specified in the model. However, the model does not prescribe how this functionality should be implemented. The focus in the model is on the ‘interconnection’ and on the information that can be passed over this connection. The OSI model does not concern itself with the internal operations of the systems involved.
When the OSI model was being developed, a number of principles were used to determine exactly how many layers this communication model should encompass. These principles are:
The use of these principles led to seven layers being defined, each of which has been given a name in accordance with its purpose. Figure 1.3 shows the seven layers.
The OSI reference model
The service provided by any layer is expressed in the form of a service primitive with the data to be transferred as a parameter (Figure 1.4). A service primitive is a fundamental service request made between protocols. For example, layer W may sit on top of layer X. If W wishes to invoke a service from X, it may issue a service primitive in the form of X.Connect.request to X.
Typically, each layer in the transmitting stack, with the exception of the lowest, adds header information, or Protocol Control Information (PCI) – a.k.a. ‘header’, to the data before passing it across the interface to the next layer. This interface defines which primitive operations and services the lower layer offers to the upper one. The headers are used for peer-to-peer layer communication between the stacks and some layer implementations use the headers to invoke functions and services at the adjacent (N+1 or N-1) layers.
At the transmitting stack, the user application (e.g. the client) invokes the process by passing data, primitive names and control information to the uppermost layer of the protocol stack. The stack then passes the data down through the layers of the stack, adding headers (and possibly trailers), and invoking functions in accordance with the rules of the protocol at each layer.
At each layer, the ‘data’ received at a certain layer (including headers from the layers above it) is referred to as a Service Data Unit or SDU. This is normally prefixed with the first letter of the name of the layer. For example, the Transport layer receives a TSDU from the Session layer. The Transport layer then processes it, adds a header, and creates a Transport Protocol Data Unit or TPDU.
At the receiving site, the opposite occurs with the headers being stripped from the data as it is passed up through the layers of the receiving stack. Generally speaking, layers in the same stack communicate with parameters passed through primitives, and peer layers communicate with the use of the headers across the network.
At this stage it should be quite clear that there is no physical connection or direct communication between the peer layers of the communicating applications. Instead, all physical communication is across the lowest (Physical) layer of the stack. Communication takes place downwards through the protocol stack on the transmitting node and upwards through the receiving stack. Figure 1.5 shows the full architecture of the OSI model, whilst Figure 1.6 shows the effects of the addition of headers to the respective SDUs at each layer. The net effect of this extra information is to reduce the overall bandwidth of the communications channel, since some of the available bandwidth is used to pass control information.
Peer layer interaction in the OSI model
OSI message passing
OSI layer services
The services provided at each layer of the stack are as follows.
The Application layer is the uppermost layer in the OSI reference model and is responsible for giving applications access to the protocol stack. Examples of Application-layer tasks include file transfer, electronic mail (e-mail) services, and network management. In order to accomplish its tasks, the Application layer passes program requests and data to the Presentation layer, which is responsible for encoding the Application layer’s data in the appropriate form.
The Presentation layer is responsible for presenting information in a manner suitable for the applications or users dealing with the information. Functions such as data conversion from EBCDIC to ASCII (or vice versa), the use of special graphics or character sets, data compression or expansion, and data encryption or decryption are carried out at this layer. The Presentation layer provides services for the Application layer above it, and uses the Session layer below it. In practice, the Presentation layer rarely appears in pure form, and it is the least well defined of the OSI layers. Application- or Session-layer programs often encompass some or all of the Presentation layer functions.
The Session layer is responsible for synchronizing and sequencing the dialog and packets in a network connection. This layer is also responsible for ensuring that the connection is maintained until the transmission is complete, and that the appropriate security measures are taken during a ‘session’. The Session layer is used by the Presentation layer above it, and uses the Transport layer below it.
In the OSI reference model, the Transport layer is responsible for providing data transfer at an agreed-upon level of quality, such as at specified transmission speeds and error rates. To ensure delivery, some Transport layer protocols assign sequence numbers to outgoing packets. The Transport layer at the receiving end checks the packet numbers to make sure all have been delivered and to put the packet contents into the proper sequence for the recipient.
The Transport layer provides services for the Session layer above it, and uses the Network layer below it to find a route between source and destination. The Transport layer is crucial in many ways, because it sits between the upper layers, which are strongly application-dependent, and the lower one, which are network-based.
The layers below the Transport layer are collectively known as the ‘subnet’ layers. Depending on how well (or not) they perform their functions; the Transport layer has to interfere less (or more) in order to maintain a reliable connection.
The Network layer is the third layer from the bottom up, or the uppermost ‘subnet layer’. It is responsible for the following tasks:
Data Link layer
The Data Link layer is responsible for creating, transmitting, and receiving data packets. It provides services for the various protocols at the Network layer, and uses the Physical layer to transmit or receive material. The Data Link layer creates packets appropriate for the network architecture being used. Requests and data from the Network layer are part of the data in these packets (or frames, as they are often called at this layer). These frames are passed down to the Physical layer from where they are transmitted to the Physical layer on the destination host via the medium. Network architectures (such as Ethernet and Wi-Fi) typically encompass the Physical layer and the lower half of the Data Link layer.
The IEEE 802 networking working groups have refined the Data Link layer into two sub-layers viz;
The LLC sub-layer provides an interface for the Network layer protocols, and controls the logical communication with its peer at the receiving side. The MAC sub-layer controls physical access to the medium.
The Physical layer is the lowest layer in the OSI. This layer gets data packets from the Data Link layer above it, and converts the contents of these packets into a series of electrical signals that represent ‘0’ and ‘1’ values in a digital transmission. These signals are sent across a transmission medium to the Physical layer at the receiving end. At the destination, the Physical layer converts the electrical signals into a series of bit values. These values are grouped into packets and passed up to the Data Link layer.
The required mechanical and electrical properties of the transmission medium are defined at this level. These include:
The medium itself is, however, not specific here. For example, Fast Ethernet dictates Cat5 cable, but the cable itself is specified in TIA/EIA-568B.
1.3 The Client/Server paradigm
The stack is there for the benefit of two entities to talk to each other. These are the ‘Client’ and the ‘Server’. These are software entities; the Client is the requester of information, and the Server is the supplier thereof. Examples of Clients are email Clients (e.g. Eudora, Outlook Express) and Web Clients (e.g. IE6, Firefox). Examples of Servers are FTP servers (e.g. Serv-U) or Web Servers (e.g. Apache, Xitami).
An example from the Industrial environment is Modbus. Here the Client is embedded in the Master (i.e. the controller) and the Server is located on the Slave device (e.g. RTU).
1.4 Where the different technologies fit in
Networking technologies such as IEEE 802.3 (Ethernet), IEEE 802.11 (Wireless LANs, a.k.a. Wi-Fi) and IEEE 802.15 (Wireless PANs) cover the Physical layer as well as the lower half (the MAC sub-layer) of the Data Link layer. They are therefore able to gain access to the medium (air, cable) and to send and receive packets (frames).
Unfortunately this only allows devices to talk to other similar devices in close proximity or on the same LAN. If the packets are to be sent over large distances to other LANS, e.g. a WAN, routing and end-to-end control becomes necessary, and layers 3 and 4 have to be implemented, in most cases with IP at layer 3 and TCP at layer 4. The TCP/IP protocol stack contains additional protocols such as ARP, ICMP and UDP, the purpose of which will become clear later in this manual.
Automation networks need at least one more layer, Layer 7, since it is the protocol at this layer that has the ability to talk to the client or server and to understand the various instructions or responses emanating from the client or server. Since this type of network is usually deployed over a relatively small area, routing is normally not required and the middle layers are omitted. This is, however, not always the case. DeviceNet, for example, implements all seven layers.
Field buses present another challenge as they require, for example, functional building blocks and device profiles. Since this cannot be included on the seven OSI layers, vendors tend to accommodate it in an additional ‘User layer’ or ‘Layer 8’.
1.5 Current trends
The following list shows a couple of trends in the automation world: