Why is packet classification needed?
The internet has become more complex, meaning that networks want better quality of service and security guarantees for traffic. Packet forwarding with longest prefix matching of destination IP isn’t enough. Instead, we need to handle packets based on other things like TCP flags, source addresses, and more.
What are three established variants of packet classification?
What are simple solutions to pattern classification problems?
Linear Search: Looks through a rules database to keep track of best match (Firewalls do this)
Caching: Do a linear search, but cache the results. Issues involve linear search on missed hits and the initial linear search still stinks
Passing Labels: Add labels to traffic at entry points to categorize traffic (used by DiffServ and Multiprotocol Label Switching MPLS)
How does fast searching using set-pruning tries work?
It’s a trie of tries structure used for multi-field lookups. You set up your first rule (e.g., destination rules) as a trie and traverse through that first. Then you hang any matching other field lookups (e.g., source rule tries) from the end of each ends of the destination tries. The idea is that every time you move forward you prune the search space (e.g., a source tree or more).
What is the main problem with set-pruning tries?
Memory explosion because a source prefix tree can occur in multiple destination trees.
What is the difference between the pruning approach and the backtracking approach for classification with a trie?
Backtracking is high cost in terms of time, but pruning is high cost in terms of memory. The backtracking does this by having each destination prefix D point to an exact-match source tree, it then goes backwards up the ancestors.
What are the advantages and disadvantages of a layered architecture?
ADVANTAGES:
1. Scalability
2. Modularity
3. Cost-effective because it’s easy to add or delete components
DISADVANTAGES:
What are the differences and similarities between the OSI model and the five-layered Internet
model
OSI is 7 layers, internet is 5
OSI separates out the application layer into 3 layers:
What are sockets?
The interface b/w the application and transport layer
What is the application layer in OSI?
End-user applications
Protocols include HTTP (internet), SMTP (e-mail), FTP (file transfer), DNS (domain–>IP address)
Packet of info = message
What is the presentation layer?
Formats info for application layer that it receives from layer below, for example formatting video or moving ints from big to little endian
What is the session layer?
Layer that manages concurrent transport streams b/w end-user application processes like tying together video and audio
Transport Layer
Responsible for end-to-end communication between hosts
Protocols: TCP (transmission control protocol) and UDP (User datagram protocol)
Packet of info is a segment
TCP vs UDP
TCP offers:
1. connection-oriented service
2. Guaranteed delivery of messages
3. Flow control (match sender/receiver speeds)
4. Congestion control (sender will slow transmission rate when congested network)
UDP offers:
1. Connectionless, best-effort service
What is the network layer
Moves datagrams from one internet host to another. Determines routes!
Packet of info is a datagram
Protocol = IP (the glue that binds the internet together)
What is the data link layer
Moves frames from one node (host or router) to the next node. While the network layer routes things, at each node, the data link layer delivers the datagram to the next node
Packet of info = frame
Protocols = 1. Ethernet 2. PPP (point to point) and 3. Wifi
What is the physical layer
the hardware that lets it all happen
packet of info = bits
Protocol = twisted-pair copper wire, coaxial cable, single-mode fiber optics
What is encapsulation and how is it used in the layered model
Encapsulation is when a layer adds a header to a given bit of info for the next level down to read/add to. This allows the layers to communicate with each other
What is end-to-end (e2e) principle
All complexity should move to the ends of the network. We should not build application layer stuff into the core of the network so that the middle of the network can be simple and minimal and GENERIC. Besides, most stuff can’t be done properly unless it’s at the end.
What are examples of a violatoin of e2e principle?
Firewalls: they are intermediate devices operated between two end hosts and can drop their communication
NAT boxes: The end-users can’t directly talk
What is the EvoArch model?
A model that explains how and why layered networks become hourglass shape
Explain a round in the evoarch model
A round in EvoArch consists of these steps:
Introduce new nodes → Place randomly across layers.
Connect nodes → For each layer (top → bottom):
Link new nodes to substrates below (based on generality probability of layer l−1).
Link new nodes to products in the current layer (based on generality probability of l).
Update node values → Adjust values in each layer to account for new nodes.
Remove nodes → Sort nodes in each layer by value (highest → lowest) and delete those marked to die.
Check stop condition → End simulation if the network has reached the target number of nodes.
Takeaway: After many rounds, the layer widths form a “bow-tie” shape: wide at bottom, narrowing toward middle, then widening again toward top.
What are the ramifications of the hourglass shape of the internet?
A. Many technologies that were not originally designed for the internet have been modified so that they have versions that can communicate over the internet (such as Radio over IP).
B. It has been a difficult and slow process to transition to IPv6, despite the shortage of public IPv4 addresses.
Repeaters, hubs, bridges, and routers operate on which layers?
Repeaters and Hubs (Physical layer): receive and forward digital signals to connect ethernet segments.
Bridges ad switches (Datalink layer): Enable communication between hosts that are not directly connected. They receive and forward packets. Note that packet drops can happen if bandwidth is too high.
Routers: Network layer: Router traffic through internet