A network protocol (also known as network protocol ) is a communication protocol for the exchange of data between computers or processes that are connected to one another in a computer network ( distributed system ). The agreement consists of a set of rules and formats ( syntax ) that determine the communication behavior of the communicating entities in the computers ( semantics ).
The exchange of messages often requires the interaction of different protocols that perform different tasks (e.g. Internet protocol family ). In order to be able to cope with the associated complexity, the individual protocols are organized in layers . Within the framework of such an architecture, each protocol belongs to a specific layer and is responsible for performing specific tasks (for example, transmitting to a specific node - layer 2). Higher layer protocols use the services of lower layer protocols (Layer 3 forms a logical network and uses Layer 2 for physical delivery). Together, the protocols structured in this way form a protocol stack- based on the ISO-OSI reference model (see also DoD layer model ). News of a particular layer are also called protocol data units called (protocol data units).
The typical structure of a data packet
The structure of a data packet described in a protocol contains important information about the packet for data exchange, such as:
- its sender and recipient so that non-recipients ignore the package
- the type of packet (for example connection establishment , connection disconnection or pure user data)
- the packet size that the recipient can expect
- in the case of multi-part transmissions, the serial number and total number of packets
- a checksum to reproduce an error-free transmission
This information is placed in front of the user data as a header or attached as a trailer .
In addition, some protocols describe fixed packet sequences for establishing and disconnecting connections. These measures cause further data traffic (traffic) on the data lines - the so-called overhead . This overhead is undesirable because it puts a strain on capacity, but it is usually accepted because of the important tasks that protocols perform.
In the Internet protocol family , the User Datagram Protocol (UDP) is also available in the transport layer, a protocol with only low overhead that does not guarantee end-to-end control of the transmission, so that datagrams may be lost or the order in which they are received does not match the shipping. In contrast to this, with the Transmission Control Protocol (TCP), the complete delivery of the data packets is monitored and these are also put in the correct order so that a coherent data stream is transferred to the application.
Distinguishing features of network protocols
- If communication only takes place in one direction , it is called simplex , and data flows alternately in both directions, from half duplex or simultaneously in both directions, from full duplex .
- If the communication is synchronized via a clock signal , one speaks of synchronous data transmission , otherwise of asynchronous data transmission.
- The number of parties participating in the communication : If there is always only one recipient for a transmission, this is called unicast , and transmissions to several participants are called multicast . If the packet is sent to everyone, it is a broadcast .
- Position of the communication participants: If they are equal to each other, one speaks of peer-to-peer or symmetrical, otherwise asymmetrical communication. The most widespread asymmetric model is the client-server system , in which a service provider (the server ) processes requests from different clients (it is always the clients who initiate the communication, i.e. open a channel ).
- If a response is waited for after a request , one speaks of synchronous communication , otherwise asynchronous communication .
- During a packet-oriented communications are messages or data packets transmitted when streaming is a continuous stream of individual characters worked.
- In connection-oriented protocols , the beginning and the end of a connection are defined by special packet sequences. Within such a connection, the protocol usually ensures that packets arrive in a certain order and / or ensures that the packets are sent again if they have not arrived (for example, TCP). Connectionless protocols do not offer this convenience, but have a lower overhead ( e.g. UDP , RTP ).
Tasks of a protocol
The following are typical tasks listed a network protocol. Whether or not they are shown in a particular log is determined by its purpose.
- A secure and reliable connection between the computers involved in the communication ( handshake )
- The reliable delivery of parcels
- Repeated sending of packets that have not arrived
- Delivery of the data packages to the desired recipient (s)
- Ensuring an error-free transmission ( checksum )
- The joining of incoming data packets in the correct order
- Preventing reading by unauthorized third parties (through encryption )
- Preventing manipulation by unauthorized third parties (through MACs or electronic signatures )
A simple practical example will be shown based on the connection establishment procedure of the TCP protocol ( handshake procedure).
- First, computer 1 sends a data packet stating that it would like to establish a connection to computer 2.
- Computer 2 replies that it is ready for this.
- Computer 1 then confirms to Computer 2 that it understands that Computer 2 is ready.
The connection is now established and the actual data exchange can begin, in the example a file transfer at application level.
- Computer 1 sends a data packet in which it is requested which files are available.
- Computer 2 replies with a list of available files.
- Computer 1 sends a data packet in which a specific file is requested.
- Computer 2 replies that the file exists, describes the file and begins the transfer.
Data transmission protocols
There are a number of basic protocols that regulate data traffic in a network. They are made available by the network stack - a special system program - to all other programs on this computer. These protocols serve as a standard for data transfer between different systems, but are not used by the user. Usually one of these protocols is used for a network. The Internet protocol family is used for the Internet , primarily TCP / IP and UDP.
|Layer 3 & 4 protocols
|TCP / IP and UDP
|IPX / SPX
Protocols for specific applications
The functions of the protocols build on one another: Transport protocols prepare the transmission path for application protocols that are in principle independent of them. This ensures that application programs on different systems can communicate with one another as soon as these systems are able to establish a connection in some way. For example, the Internet Protocol regulates the globally unique addressing of computers. This addressing is then used, for example, by the Transmission Control Protocol for data transmission and the Simple Mail Transfer Protocol for transmitting e-mails. This layered stacking of the protocols is represented with the help of the OSI model .
Application protocols also serve as a standard for transmission between different programs of the same type. Well-known examples:
- Loading web pages - HTTP
- Collection of emails - POP or IMAP
- Transferring files - FTP , BitTorrent or many others
In the early days of computer networking, data transmission was difficult, because rules are required for one computer to understand another. Initially, they were only implemented in the application programs for the respective purpose - with the disadvantage that this program had to be adapted to the existing network technology and the application program on the other side or sides. As a result, only the same systems were often compatible with each other, which was not least used by manufacturers to encourage customers to make further purchases of their products. With constant new developments and the size of the networks, however, their heterogeneity also increased , so that the demand for universally applicable technology and program selection continued to prevail. As a result, computer manufacturers developed modularized protocols in the late 1970s and 1980s, which from then on were considered transmission standards in closed computer networks.
In 1968, at the instigation of the American Department of Defense (DoD), the state research institute ARPA carried out experiments with which fundamental knowledge about the functioning of computer networks was to be obtained. As a practical result, the ARPANET project was launched in 1969 , which should enable the transparent transmission of data between different subscriber systems - regardless of the route, the medium or the circumstances of the transmission. From 1983, the Internet protocol family as a collection of related standards for reliable and efficient data transmission had established itself in the ARPANET . It is also used after the ARPANET was made available to the public as the Internet , and because many computers have been connected to the Internet since the 2000s at the latest, it is considered a quasi-standard for many network applications.
- Hein, Reisner: TCP / IP packed. mitp-Verlag, Bonn 2001.
- G. Siegmund: Technology of the networks. 5th edition, 1296 pages, Berlin and Offenbach: VDE Verlag, 2003.
- H. König: Protocol Engineering - Principle, description and development of communication protocols. BG Teubner, Stuttgart / Leipzig / Wiesbaden, 2003.