Network Architecture and Protocol Concepts Network Architectures (1) • The network provides one or more communication services to applications – A service has characteristics such as reliable delivery, inorder delivery, etc. • Providing these services requires the solution to many problems – Divide and conquer: group these problems into layers with software and hardware network objects • The choice of how the layers are partitioned and what services are provided at each layer is one aspect of network architecture 2 Network Architectures (2) • There are many different “architectures” involved in any complete network • The “Service architecture” provides a framework for the types of services that a network offers to applications – Will it offer connection-oriented or connectionless service? Reliable or unreliable service? • The “Protocol stack architecture” is a design for how the service architecture is accomplished through a combination of protocols and layers that provide different functions 3 Network Architectures (3) • The “Network Topology architecture” is a design for segments and segment boundaries to achieve some desired traffic engineering for the network – For example, what stations must be able to broadcast to each other due to application requirements (broadcast is generally limited to a single data link) • We may also have a “Routing protocol architecture” that relates to the network topology and indicates how the segments of the topology will be integrated into an internetwork – This is also tied to an addressing design for the network 4 Network Architectures (4) • A “Router architecture” or “Switch architecture” relates to the internal design of network equipment – These architectures define the device performance limitations – Internally devices often have a separate “control plane” that is distinguished from the “data plane” where user applications exchange data • A “Network Management architecture” describes how management of the network occurs – Devices are sometimes interconnected with both a user network and a separate management network for security purposes (called out-of-band management) 5 Network Architectures (5) • There are also specific architectures for services that directly support applications, e.g.: – Domain Name Service (DNS) architecture for naming and lookup of network entities – Messaging service architecture • Chat, email, Enterprise Service Buses, etc. • And there are architectures for services that support the network itself, e.g.: – Network Time Protocol (NTP) for synchronization of network entities – Dynamic Host Configuration Protocol (DHCP) for address assignment 6 Network Architectures (6) • While we learn the service and related protocol stack architectures we rarely can change their characteristics – Most of us select for our use the protocols (and service choices) designed by others • We also do not know the internal details of a vendor’s router or switch architectures • But when we design a network we often must create an address, routing, and VLAN plan for segmentation; plans for the various specific services such as DNS; and a management plan 7 Protocols (1) • Protocols are the building blocks of a network – A protocol is a description of how a network object at a layer on one device interacts with the same layer object on another device – called its peer object – The term also refers to the network object that implements that protocol • The layered protocols are often called the protocol stack because of the way they are usually drawn 8 Protocols (2) 9 Protocols (3) • Each protocol object has two different interfaces – Service interface: The interface to a higher-layer protocol object on the same system • It defines the operations that the higher-layer protocol object can perform on this protocol object • A protocol accepts its Service Data Unit (SDU) or payload at the service interface – Peer-to-peer interface: the message interaction between this protocol object and its peer on another system • Peer-to-peer communication is indirect (or virtual) except at the hardware layer • A protocol sends Protocol Data Units (PDUs) on this interface 10 Protocols (4) 11 Protocols (5) • The PDU for a protocol object is created from the SDU by encapsulating the SDU (= the payload) between a header and a (optional) trailer – The header and optional trailer provide the additional information needed to support the service provided by the protocol object to its customers – The SDU contents and structure are opaque to the protocol object and the encapsulation process – the payload is just a bunch of bytes • That PDU then becomes the SDU for the next lower layer, and so on until the physical layer is reached 12 Protocols (6) • For each layer - at the peer object the header and trailer have completed their purpose and are discarded; the original SDU is then handed to the appropriate higher-layer customer – This is the opposite of encapsulation, perhaps deencapsulation or decapsulation • So each layer appears to have a peer-to-peer communication - but in reality the data is 1. Repeatedly encapsulated as it passes down the stack; 2. Passed through the physical layer; 3. Repeatedly de-encapsulated as it passes up the stack at the destination 13 Protocols (7) 14 Protocols (8) • A protocol object may provide service to multiple, higher-layer, protocol objects (via multiplexing) – For example, many applications share the same TCP protocol object on a system – In turn TCP, UDP, and other protocols share the same IP protocol object – As the PDU is created from the SDU a tag (or address) is added to the PDU to distinguish between the various higher-layer customers • This allows the SDU to be extracted at this layer’s peer and handed back to the peer of the higher-layer customer 15 Hypothetical protocols in a simple network architecture Protocols (9) Note that there may be multiple objects at a higher layer using a lower layer service – multiplexing is required RRP = Request/reply protocol MSP = Message stream protocol HHP = host to host protocol Host 1 File application Digital library application Video application Host 2 File application Digital library application Video application 16 Protocols (10) • For some protocols - if the SDU is too big it may be fragmented to fit into multiple PDUs – Re-assembly occurs at the remote peer – As the PDU is created from the SDU the information to support re-assembly at the peer must be included in the PDU • The PDU may also include information to support error detection or correction, or flow control, or any other service characteristics that the protocol object provides to its customers 17 Protocols (11) 18 Protocols (12) • Our study of networking is largely about: – Identifying a particular protocol stack (TCP/IP/Ethernet) – Looking at the services provided at each layer – Becoming familiar with the PDUs • The original model has been extended as networking requirements have changed – Shim layers have been sandwiched into the stack to provide additional service characteristics such as security – But the ideas of the protocol stack, of PDUs and SDUs, of peer-to-peer virtual communications remain valid 19