CCN Activity Session for Section 3.1 – Layered Architectures Redux
Queuing theory is quite intense, so for today’s activity session we’re going to revisit the topics on architectural models from last week (we’ll look at some queuing theory activities next time).
Discussion
In a well-designed layered architecture which of the following statements are true? Why?
• Higher layers do not have to worry about the implementation of lower layers
• Two communicating entities in the same layer use different protocols
• Layers offer services for higher levels
Statements 1 and 3 are true, statement 2 is false, as to be communicating the entities must use the same protocol (even if options for protocol choice are available such as TCP/UDP)
The OSI reference model describes layering in an idealised network model. It was intended to provide the basis for intercommunication between networking stacks from different hardware vendors.
Question
Which OSI layer is responsible for the following?
• Determining the best path to route packets
o Network layer
• Providing end-to-end communication with reliable service
o Transport layer (you could argue session layer, as this adds flow control)
• Providing node-to-node communication with reliable service
o The data link layer
As data is passed up and down the layered model, headers are added containing the metadata
required at that layer (addressing, error checking etc.).
Question
A system has n-layer protocol hierarchy. Applications generate message of M bytes. What fraction of the network bandwidth is filled with headers if, at each of the layers, a h-byte header is added?
The fraction will be:
(nh) / (nh +M)
This is because at each layer an extra h bytes is added for the header. At the nth layer, there will
be n.h bytes employed for headers (which is all overhead). The total length of the completed packet including headers will therefore be M+nh bytes.
The network, data link, and physical layers of the stack are particularly interesting, as they provide the abstraction needed to pass traffic over different physical mediums transparently.
Activity
Suppose that a host is part of a connection-oriented packet-switched network, and that it transmits a packet to a server via a path that traverses two switches. Each hop in the path involves a point-to-point link, that is, a wire.
Show the sequence of network layer and data link layer PDUs that are generated as the packet travels from the host to the server.
Assume that a network connection has already been set up between the host machine and the network machine. When the host generates an IP packet for transfer to the server, the IP packet will be transferred using the network connection as follows.
• The IP packet is encapsulated into a network packet that has a connection ID in its header. The packet may then be encapsulated into a frame that traverses data link 1 and arrives at switch 1.
• The network packet is recovered from the data link 1 frame. The connection ID in the packet is used to determine the outgoing port from switch 1. The connection ID may need to be mapped into a corresponding connection ID over data link 2. The packet is encapsulated into a frame that traverses data link 2.
• The network packet is recovered from the data link 2 frame. The connection ID in the packet determines the outgoing port from switch 1 and the next connection ID. The packet is encapsulated into a frame that traverses data link 3.
• The network packet is recovered from the data link 3 frame. The connection ID in the arriving packet indicates that this is the destination node. The IP packet is recovered.
In the TCP/IP networking model two protocols (TCP and UDP) are available at the transport layer, with TCP providing connection-oriented transfers of data, and UDP providing connectionless transfer.
Discussion
Which of the TCP/IP transport protocols (UDP or TCP) would you select for the following applications?
• Voice over IP
o UDP, speed is important, and a small amount of packet loss is acceptable
• File transfer
o TCP – reliable transfer must be assured
• Remote login (ssh, remote dektop etc.) o TCP
• Multicast communication o UDP
Further reading
Section 2.5 of Leon-Garcia and Widjaja gives a good introduction to some of the core application protocols and TCP/IP utilities. Review these and focus particularly on why they use the network layers and protocols they do.