Network Fundamentals and Security
Chapter 4: Network Layer
Data Plane vs. Control Plane
Data Plane (Forwarding Plane): Processes and forwards data packets within a local network based on packet headers.
Control Plane: Operates network-wide, determining how datagrams are routed between routers along the path from source to destination.
Forwarding vs. Routing
Forwarding: A hardware-based network-layer function that moves packets from a router’s input link to its output link.
Routing: A software-based network-layer function that determines the optimal path for packets to travel from source to destination.
Software-Defined Networking (SDN)
SDN centralizes network control by managing routing and forwarding tables through software, enabling dynamic configuration and simplified management.
Router Architecture & Typology
- Input Ports: Receive incoming datagrams.
- Output Ports: Transmit packets from the switching fabric to the outgoing link.
- Routing Processor: Executes control plane functions and computes the forwarding table.
- Switching Fabric: Connects input and output ports within the router.
Switching Models
- Memory: Traditional computers copy packets to memory for processing.
- Bus: Datagrams are shared between input and output ports via a bus, with switching speed limited by bus bandwidth.
- Interconnection Networks: Datagrams are fragmented into fixed-size cells, switched through the fabric, and reassembled at the exit.
Input and Output Port Queuing
- Output Queuing: Buffering is required when datagrams arrive from faster fabrics than the link transmission rate.
- Input Queuing: Occurs when the switching fabric is slower than the combined speed of input ports.
IPv4 & IPv6
IPv4: Uses a 32-bit address space (0.0.0.0 – 255.255.255.255).
IPv6: Employs a 128-bit address space (0000:0000:0000:0000:0000:0000:0000:0000 – ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff) and offers enhanced security features like data encryption and authentication.
Datagram Formats, Key Differences, Implementation
Datagram formats vary between IPv4 and IPv6, with key differences in addressing, header structure, and fragmentation handling.
Dynamic Host Configuration Protocol (DHCP)
DHCP automates IP address assignment to hosts joining a network, simplifying network configuration and management.
Process of Obtaining an IP Address
- Host Configuration: IP addresses can be statically assigned by administrators or dynamically allocated by DHCP.
- Network Allocation: ISPs allocate portions of their address space to networks.
Network Address Translation (NAT)
NAT allows multiple devices on a local network to share a single public IPv4 address, enhancing security and conserving address space.
Chapter 5: Routing
SDN vs. Per-Router Control Plane
Per-Router Control Plane: Each router manages its own routing protocols and tables, leading to complex configurations and potential inefficiencies.
SDN: Centralizes the control plane, simplifying management, enabling dynamic configuration, and improving network scalability.
Routing Algorithms
Centralized vs. Decentralized
Centralized: Calculates optimal routes using global network knowledge.
Decentralized: Routers iteratively calculate routes based on local information.
Static vs. Dynamic
Static: Routes are manually configured and change infrequently.
Dynamic: Routes adapt to network changes, such as traffic loads or topology updates.
Load Sensitive vs. Load Insensitive
Load Sensitive: Routing decisions consider network congestion levels.
Load Insensitive: Routing algorithms do not explicitly factor in congestion.
Autonomous Systems (AS)
AS are groups of routers under the same administrative control, using protocols like OSPF (interior) and BGP (exterior) for routing.
Hot Potato Routing
Routers using hot potato routing forward packets to the next-hop router with the least cost, regardless of the overall path optimality.