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. 
  1. Conceptual layering of protocol software

  2. 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