Saturday, June 17, 2023

CST311 Week 8

The last week of CST 311 focused on summarizing layers 5-2 of the Internet protocol suite, and discussed some of the security considerations of networking. The following provides a summary of the Internet protocol suite:

5th layer (application): Contains “application” data, or arbitrary data that is sent by applications over the network. Many backbone protocols of the Internet are implemented in the application layer – one such example is DNS.

4th layer (transport): Provides two major protocols: TCP and UDP. These protocols provide abstractions over layer 3 datagrams. TCP provides a connection-oriented, reliable, and in-order byte stream abstraction for sending data between endpoints. UDP is a simpler protocol; it provides few guarantees, but due to its simple nature, often provides greater throughput and reduced latency.

3rd layer (network): Implements the essential routing functions of the Internet. The Internet Protocol is arguably the most important network-layer protocol. Every interface connected to the Internet has an “IP address,” and routers can, using these IP addresses, (in combination with some complex routing protocols), forward packets towards their destination.

2nd layer (link): Defines how link-layer frames traverse a single link. The Ethernet protocol is ubiquitous in modern networks – it drives much of the link layer around the world. The Ethernet protocol assigns every interface a unique “MAC address.” A target device’s MAC address must be specified in a link-layer frame for the frame to be delivered to the target. Switches use MAC addresses, along with a protocol called ARP, to route traffic based on MAC addresses. Note that ARP only operates within a single subnet; thus, while every interface in the world has a unique MAC address, MAC addresses can only be used to address a device within the current subnet.

Tuesday, June 13, 2023

CST311 Week 7

The seventh week of CST 311 focused on the link layer.

The link layer is concerned with how data moves across a single link. There are many different link layer protocols, all providing a unique set of services to the network layer. An important service provided by some link layer protocols is error detection, (and possibly correction). Error detection can be found throughout the internet protocol stack, though the link layer's error detection has some key advantages.

A significant portion of the link layer is implemented in hardware. This allows adapters to perform complex error detection and correction on link layer frames; operations that are much too complex to be done by software in the upper layers. Additionally, performing error correction at the link layer provides throughput and latency improvements when portions of the route are unreliable. For example, imagine that during a link layer frame’s last hop, one of its bits is flipped. The frame is simply dropped without error correction at the link layer. Subsequently, it would be an upper protocol’s responsibility to detect and handle this packet loss – which ultimately entails resending the packet. When error correction is performed at the link layer it is possible to recover an otherwise damaged packet in-flight, saving the time it would have taken for an upper protocol to retransmit and repropagate the packet to the current node.