3. Chapter 3: Networking and Internetworking
3.7. Protocols
- General
- Set of rules and formats to be used for communication between processes to perform a given task.
- Two parts:
- A specification of the sequence of messages that must be exchanged
- A specification of the format of the data in the messages
- Implemented by a pair of software modules located in the sending and receiving computers.
- Example:
- A transport protocol transmits messages of any length from a sending process to a receiving process.
- Sending process issues a call to a transport protocol module, passing it a message in the specified format.
- Transport software subdividing the message into packets of some specified size and format that can be transmitted to the destination via the network protocol.
- Corresponding transport protocol module in the receiving computer receives the packet via the network-level protocol module and perform inverse transformations to regenerate the message before passing it to a receiving process.
- Protocol layers
- Each layer presents an interface to the layers above it that extends the properties of the underlying communication system.
- A layer is represented by a module in every computer connected to the network.
- Each layer provides a service to the layer above it and extends the service provided by the layer below it.
- Conceptual
layering of protocol software

- Encapsulation
as it is applied in layered protocols

- Protocol suites
- Complete set of protocol layers
- OSI (Open Systems Interconnection) adopted by ISO (International Organization for Standardization)
- Simplifying and generalizing the software interfaces, but it carries significant performance costs.
- Transmission of application-level message via a protocol stack with N layers involves N transfers of control to the relevant layer, at least one involve operating system entry, and taking N copies of the data as a part of the encapsulation mechanism.
- The implementation of the Internet does not follow the OSI model:
- The application, presentation and session layers are not clearly distinguished in the Internet protocol stack.
- Session layer is integrated with the transport layer.
- Internetwork protocol suites include an application layer, a transport layer and an internetwork layer.
- Internetwork layer is a virtual network layer that transmit internetwork packets to destination computer.
- Network interface layer accepts internetwork packets and converts them into packets suitable for transmission by the network layers of each underlying network.
- Protocol
layers in the ISO Open Systems Interconnection (OSI) model

- OSI
protocol summary

Internetwork
layers

- Packet assembly
- Transport layer
- Dividing messages into packets before transmission and reassembling them at the receiving computer
- Network-layer protocol packets consists of a header and data field.
- Data field is variable in length, with the maximum length called the maximum transfer unit (MTU).
- If the length of a message exceeds the MTU, it must be fragmented into chunks with sequence numbers and transmitted in multiple packets.
- Example: MTU for Ethernets is 1500 bytes.
- Ports
- Software-defined destination points at a host computer.
- Attached to processes, enabling data transmission to be addressed to a specific process at a destination node.
- Addressing
- The transport layer is responsible for delivering messages to destinations with transport addresses that are composed of the network address of a host computer and a port number.
- Network address
- Numeric identifier that uniquely identifies a host computer and enables it to be located by nodes that are responsible for routing data to it.
- Port numbers
- Below 1023 – well known ports, for use by privileged processes in OS
- Between 1024 – 49151 – registered ports
- Remaining ports until 65535 – for private purposes.
- Packet delivery
- Datagram packet delivery
- Delivery of each packet is a ‘one shot’ process; no setup required, and once the packet is delivered, the network retains no information about it.
- Sequence of packets follow different routes, might arrive out of sequence.
- Contains full network address of the source and destination hosts.
- Internet’s network layer (IP), Ethernet and most wired and wireless local network technologies
- Virtual circuit packet delivery
- A virtual circuit is set up before packets can pass from a source host A to destination host B.
- The establishment of a virtual circuit involves the identification of a route from the source to the destination, possibly passing through several intermediate nodes.
- At each node along the route, a table entry is made, indicating which link should be used for the next stage of the route.
- ATM
- Once a virtual circuit has been set up, it can be used to transmit any number of packets.
- Each network-layer packet contains only a virtual circuit number.
- The addresses are not needed.
- ATM