4.1: Network Layer - The Data Plane Flashcards
how do routing and forwarding differ?
network-layer functions: •forwarding: move packets from router’s input to appropriate router output •routing: determine route taken by packets from source to destination • routing algorithms
analogy: car journey forwarding: process of getting through single roundabout routing: process of planning trip from source to destination
what is the data plane vs control plane?
Data plane local, per-router function determines how datagram arriving on router input port is forwarded to router output port forwarding function
Control plane network-wide logic determines how datagram is routed among routers along end-end path from source host to destination host two control-plane approaches: • traditional routing algorithms: implemented in routers • software-defined networking (SDN): implemented in (remote) servers
how does a router know where to forward?
using the header field values of the incoming datagram
draw the input port
yeet
what are destination-based and generalised forwarding? which is traditional?
destination-based forwarding: forward based
only on destination IP address (traditional)
• generalised forwarding: forward based on
any set of header field values
how can we divide ip ranges in a forwarding table?
longest prefix matching
when looking for forwarding table entry for given
destination address, use longest address prefix
that matches destination address.
describe and draw the 3 switching fabrics
advantages?
memory, bus, crossbar
memory:
used in first gen computer
switching is under direct control of the CPU
packet is copied to systems memory
speed is limited by memory bandwidth - datagram has to cross bus twice
bus:
datagram from input port memory to output port memory via a shared bus
switching speed still limited by bus bandwidth
crossbar:
overcomes bus bandwidth limitations
uses networks initially designed to connect processors in a muliprocessor
fragments datagram into fixed length cells, switching them all through the fabric
how do we prevent input buffer overflow in switches>? and output?
• Head-of-the-Line (HOL) blocking: queued datagram at
front of queue prevents others in queue from moving
forward
what is a scheduling discipline? why needed?
buffering required when datagrams arrive from fabric faster than the
transmission rate
scheduling discipline chooses among queued datagrams for transmission
Datagram (packets) can be lost
due to congestion, lack of buffers
Priority scheduling – who gets best
performance, network neutrality
• buffering when arrival rate via switch exceeds output line
speed
• queueing (delay) and loss due to output port buffer overflow!
how can priority be classified in priority scheduling?
multiple classes, with different priorities • class may depend on marking or other header info, e.g. IP source/dest, port numbers, etc
queues for different classes
how does RR scheduling work?
Round Robin (RR) scheduling: • multiple classes • cyclically scan class queues, sending one complete packet from each class (if available) NOTE THE DIFFERENCE, WE HAVE DIFFERENT CLASSES
what is WFQ scheduling?
wieghted fair queeuing a generalised Round Robin where each class gets weighted amount of service in each cycle depending on their requiremnets
what is the role of the network layer?
routing protocols, IP protocol, ICMP
describe IP fragmentation. how might a 4000 byte datagram be split with an MTU of 1500?
network links have MTU (max.transfer size) - largest possible link-level frame • different link types, different MTUs • large IP datagram divided (“fragmented”) within net • one datagram becomes several datagrams • “reassembled” only at final destination • IP header bits used to identify, order related fragments
recall that new packets need 20 byte ip header, so
1500 (20 bytes for header)
1500
1040
how big is ip header?
20 bytes