• Keine Ergebnisse gefunden

A RCHITECTURES OF C OMMUNICATION P ROTOCOLS

Im Dokument UML Profile for Communicating Systems (Seite 23-26)

On the contrary, connection-less services do not initiate a connection beforehand. The message which has to be transferred is simply sent out. There is no assurance, confirmation or reply that the message will reach its destination. If the message is lost or cannot reach its destination, it is silently discarded without any response. Additionally, the order of the messages which have been sent out may swap during transmission. Duplication of messages may also occur. This cannot occur using a connection-oriented service. This implies that services can also be classified according to their specific quality of service provision (Quality of Service, QoS).

2.4 Architectures of Communication Protocols

In computer networks and especially in the Internet, several network layers are used which implement a coordinated behavior with embedded communication protocols. This layered architecture defines the functionalities of a single network layer and defines the principles of communication between them. In general, this communication architecture is standardized by a panel of experts and by an associated standards institute.

Communication architecture specifications may be architecturally closed or open. Closed communication architectures are aligned for specific application areas. They are designed with focus on to the environment in which they are deployed. Most of them are vendor-specific or proprietary architectures. They are aligned to work with specific hardware or with specific network equipment only. One of the most prominent examples of closed protocol architecture is the Systems Network Architecture (SNA) by the International Business Machines Corporation (IBM). This architecture has provided the foundation for all IBM-based networks for many years. Due to the specific alignment of this architecture to the hardware, efficient adaptations and optimizations to the network environment were possible. However, heterogeneous networks were not possible to create. Nowadays, with the upcoming of the Internet closed architectures have almost completely been replaced by open architectures.

Open architectures of communication protocols support heterogeneous computer networks. Such architecture defines principles for the communication between different network nodes independently of their concrete deployment, operating system or network interface. All network nodes, which are conformant to the principles of the architecture, can be integrated in the overall computer network.

These principles do not imply specific implementations. They only specify how systems have to behave through their external interfaces. One of the most well known open architectures is the Open Systems Interconnection (OSI) by the International Standards Organization (ISO) [ISO84] and the architecture of the Internet [Tan03].

Such architecture is described by means of reference models. Reference models act as a specification of communication architectures. They describe the amount of network layers, their individual functionality as well as the principles of interaction of the architecture. In the following, two examples of a reference model will briefly be presented: The OSI reference model and the TCP/IP reference model.

2.4.1 OSI Reference Model

The Open Systems Interconnection Reference Model (or OSI reference model for short) is the classic reference model for open architectures of computer networks. The model defines seven layers which have specific responsibilities. Whilst the four lower layers (at the bottom) are transport-oriented layers, the upper three layers are application-oriented layers, shown in the following Figure 4.

Figure 4: The OSI Reference Model

This figure pictorially outlines the architecture of three systems connected in a computer network. Not all of them have the entire OSI network layers implemented. The system in the middle only supports the lower three layers. Nevertheless, this is enough to participate in the communication up to a specific level. The OSI reference model describes the required functionality of the layers. The complete functionality is out of the scope of this thesis. Hence, the following is only considered as a brief overview:

The physical layer specifies the mechanical, procedural, functional and the electrical specification on the network medium. This includes specification for sockets, plugs and connectors including voltage values and the amount of data cable wires. The data link layer is responsible for segmentation, error detection and correct transmission of data frames to the next connected network system (point-to-point). The network layer implements the routing of data packets and therefore decides to which neighboring device a received data packet is to be forwarded (end-to-end). The transport layer establishes a logical connection between end systems (process-to-process). It abstracts from the actual network structure. The session layer is responsible for the correct establishment of each session, e.g.

by re-synchronization and permissions to transmit. The presentation layer maps the information representation of data into a platform independent format so that heterogeneous systems can access the information. This may also include cryptographic or data compression functionality. The application layer finally provides services to the user by means of Service Access Points which are sometimes referred to as Application Service Elements (ASE).

OSI services which are provided by each of the layers are formally defined by a set of service primitives or operations. They allow a user or another entity to access and use a service. These primitives trigger the execution of a functionality of a service or configure the possible reaction on messages received from a peer entity. The OSI defines the following classes of service primitives:

request, indication, response and confirmation. The request primitive triggers the execution of a Application

2.4 Architectures of Communication Protocols

data. The peering entity receives a notification of this event by the indication service primitive. The peer entity gives a response. This triggers the confirmation service primitive from the originating entity.

2.4.2 TCP/IP Reference Model

The Transmission Control Protocol/Internet Protocol (TCP/IP) architecture is the communication architecture of the Internet [Lie03]. It is not a reference model as described in the previous sections, but it is more commonly referenced as a protocol architecture2. Protocol architectures define interfaces by means of the communication protocols, not by the communication architecture itself.

Therefore, communication protocols in such an architecture are substitutable and can be implemented in other protocol architectures as well. Protocol architectures describe well-defined hierarchies of communication protocols aligned to specific application cases or environments. The TCP/IP architecture is sometimes referred to as a protocol stack being the concrete implementation of a protocol architecture [KR04].

The TCP/IP protocol stack defines the core Internet Protocol (IP), consisting of the TCP protocol for connection-oriented transmission, the User Datagram Protocol (UDP) protocol for connection-less transmissions and the IP protocol for end-to-end transmissions. TCP/IP defines four network layers that are depicted in Figure 5.

Figure 5: ISO OSI Reference Model and TCP/IP Architecture compared

2 The term TCP/IP reference model can often be found in literature.

Application Layer Presentation

Layer Session Layer Transport Layer

Network Layer Data Link Layer

Physical Layer

Application Layer

Transport Layer (TCP / UDP) Internet Layer

(IP) Data Link / Physical Layer

(IEEE 802.x, ATM, …)

ISO OSI TCP/IP

The most important layers are the transport and the Internet layer3 which are the only complete defined layers. The remaining two bottom layers depend on the application area and network environment. Their main task is to enable reliable transmission of data between two endpoints even in case of single intermediate route or connection failures. Contrary to OSI, heterogeneous networks were considered as a part of the architecture from the beginning. Therefore, IP was introduced for connection-less transmissions. While TCP enables reliable transmissions between two endpoints, the UDP provides unreliable transmissions between two endpoints which is more suitable in real-time applications like video or audio streaming. Besides other things, a difference between the transport and the Internet layer lies in the fact that TCP and UDP support process-to-process data transmissions while IP only supports host-to-host transmissions.

The neighboring upper layer of the transport layer is the application layer, skipping the session and presentation layer which are unknown to TCP/IP. For most applications, these layers have shown not to be essential or useful. The layers beneath the IP layer are not specified as well. This is deliberate as the underlying network architecture and technology may vary from network to network. In most cases, this requires a development of specific communication protocols which enable the interaction of TCP/IP with the specific network. This is also one reason why the TCP/IP is not a reference model in the same tenor.

Im Dokument UML Profile for Communicating Systems (Seite 23-26)