Reaves.dev

v0.1.0

built using

Phoenix v1.7.12

Networking Refresher

Stephen M. Reaves

::

2024-01-15

Refresher about Networking Systems for CS-6210

Summary

Interconnection Layers

The NIC and the OS

DMA Controller

CPU provides memory address range of message, then sets the “go” bit to tell NIC it’s ready.

The nic sends a message, waits for a response, then puts the reponse in memory (plus a preamble and inter-frame gap) then sends the CPU an interrupt

NICs are identified using a 48-bit Media Access Control (MAC) Address so Link Layer can share a wire between multiple hosts

MAC source and MAC destinaation have dedicated places in the ethernet frame

Collision Avoidance

Sending multiple messages on a shared line at the same time can corrupt messages in a “collision”

There are 3 ways to avoid this:

IP Addresses

Internet Protocol dictates how messages are sent over the internet

LANs and NAT

Network Address Translation(NAT) solves the problem of limited IP adddresses

Payload

IP Packet is the payload of an Ethernet frame, not the other way around

Internet Routing

Internet routing can be done via CIDR notation to save on space

Autonomous Systems

Everything inside Georgia Tech(and other Autonomous Systems) is called Intra-Domain Routing

InterDomain Routing is how ASs advertise paths to each other

Domain Name System

Translation between human readable name and IP address

Transport Layer

The key abstraction here is Ports

Ports are only really used at the endpoints of the path

NAT translation tables include port numbers as well

Transmission Control Protocol

Handle reliability, ordering, and flow / congestion control

User Datagram Protocol

Simpler, more lightweight protocol that only handles sending of data