...
Transmission Services
The goal of transmission services are to provide those "nice to have" features of a network protocol that are not strictly required for basic data transfer. Transmission Think of them as options or packages when you buy a car – do you really need the M3 or will a 3 series do just fine? Transmission services can include:
- priority
- quality of service
- security
...
Addressing and Address Resolution
...
Addressing, as the name implies, provides a way to specify with whom the protocol should communicate. On the other hand, address resolution is a mechanism that allows addresses to be determined or looked up based on other information about the communicating entities.
For example, when we visit websites, a URL is typically entered into the browser, such as www.clemson.edu. This name is resolved to an IP address (assume IPv4) using the domain name system or DNS (i.e. the IP address of the domain www.clemson.edu is looked up). At this point, the end host wishing to connect to www.clemson.edu must relay it's message towards the IP address determined. Based on the routes installed on the end host, the next hop forwarding device's MAC (media access control) address is resolved using the address resolution protocol or ARP. Finally, the message to www.clemson.edu can be sent. In this example, the domain name www.clemson.edu is used to lookup the IP address of the server running the website. The IP address of the server is used to match a route and then lookup the next hop forwarding device's MAC address. Three different forms of addressing are used, and address resolution is employed twice. (Note this example has been simplified. In reality, more addressing and address resolution is likely required to actually send the message to the web server.)
Addresses can be permanent or temporary. Examples of permanent addresses include public IPs and MAC addresses. Temporary addresses can include IPs allocated using dynamic host configuration protocol (DHCP).
Some addressing schemes are flat, such as MAC addresses; others are typically hierarchical. At Clemson, if you connect to an ethernet jack, your IP address will be something like 130.127.W.X. If you connect over eduroam at Clemson, it will be 198.21.Y.Z. These are both public IP addresses that can be reached from anywhere in the world (assuming you've punched through the Clemson firewall already – automatic when you use the network). Network forwarding devices "know" that any IP that looks like 130.127.W.X or 198.2.Y.Z should be sent towards Clemson. Other institutions or Internet service providers have different IP address ranges that together create an IP address hierarchy.
Multiplexing
The act of combining data from multiple sources onto a single connection, link, or path is referred to as multiplexing. The opposite of this, or the removal of data from a single connection, link, or path and forwarding it on separate connections, links, or paths is called demultiplexing. As an example, your home WiFi router accepts data from multiple wirelessly connected hosts (e.g. your phone, laptop, toaster) and multiplexes them onto a single uplink to your modem leading to your internet service provider.
Segmentation and Reassembly
Any physical network has a minimum and maximum data transfer size. For example, most IP connections over Ethernet networks default to a maximum transmission unit or MTU of 1500 bytes. If an end host wishes to send more than 1500 bytes, the data must be broken up into chunks in a process called segmentation. This results in multiple data chunks being sent in place of the single oversized chunk. On the receiving end host, the multiple chunks of data are recombined into a single chunk once again. This process is referred to as reassembly. Note that some network protocols guarantee in-order reassembly (e.g. TCP), while others do not (e.g. UDP).
A Vast Sea of Protocols
There are many network protocols designed for a multitude of purposes. For example, as has been mentioned already, MAC, ARP, IP, and DNS help a user connect to a website. Expanding upon that example even more, HTTP (yet another protocol) is used to encode and relay website data between the web server and your browser. We've also discussed the use of the TCP and TLS protocols to reliably and securely send data between two end hosts.
There are also protocols designed specifically for transferring files, such as the file transfer protocol (FTP). Within the network, many protocols are also at work behind the scenes, such as routing information protocol (RIP), open shortest path first (OSPF), and border gateway protocol (BGP), all which assist in the synchronization and establishment of routes in the network. Diving even deeper into the network, protocols exist on single links, such as link layer discovery protocol (LLDP), which allows forwarding devices to detect and learn links. Lastly, we cannot forget about the lowest-level protocols responsible for physically transmitting the data, such as manchester encoding over twisted copper pair and frequency shift keying over coaxial cable, just to name a couple.
With the vast array of available network protocols, there is a need for logical classification and organization.
Network Architecture and Layering of Protocols
The network architecture defined the entities that enable data communications, the tasks performed by each entity, and the relationship among the entities. Layering is the division of the network architecture into logical groups or "layers" of related tasks. As a result, layering provides a hierarchical structure of network protocols and the entities that utilize them. Furthermore, layering allows for a "black box" approach, where different network protocols can be interchanged or otherwise updated or modified without modification of the adjoining higher or lower layers.
From the bottom up, each layer provides a defined set of services and guarantees to the next higher layer.