Network Layer Review Flashcards
Network Layer
Network-Layer Services and Protocols
- The network layer is responsible for transporting segments from sending to receiving host.
- Sender: Encapsulates segments into datagrams and passes them to the link layer.
- Receiver: Delivers segments to the transport layer protocol.
- Network layer protocols exist in every Internet device: hosts, routers.
- Routers: Examine header fields in all IP datagrams passing through them and move datagrams from input ports to output ports to transfer datagrams along the end-to-end path.
Data Plane vs. Control Plane
- Data Plane: Per-router function that determines how a datagram arriving on a router input port is forwarded to the router output port.
- Control Plane: Network-wide logic that determines how a datagram is routed among routers along the end-to-end path from source to destination.
- Two control-plane approaches:
- Traditional routing algorithms: Implemented in routers.
- Software-Defined Networking (SDN): Implemented in remote servers.
Per-Router Control Plane
- Individual routing algorithm components in each router interact in the control plane.
Software-Defined Networking (SDN) Control Plane
- A remote controller computes and installs forwarding tables in routers.
Longest Prefix Matching
- When looking for a forwarding table entry for a given destination address, use the longest address prefix that matches the destination address.
Buffer Management
- Deals with adding and dropping packets when buffers are full.
- Tail drop: Drop the arriving packet.
- Priority: Drop/remove packets based on priority.
Packet Scheduling
- Deciding which packet to send next on a link.
- First Come, First Served (FCFS): Packets transmitted in order of arrival to the output port. Also known as First-In-First-Out (FIFO).
- Priority: Arriving traffic is classified and queued by class; packets are sent from the highest priority queue that has buffered packets.
- Round Robin (RR): Server cyclically scans class queues, sending one complete packet from each class (if available) in turn.
- Weighted Fair Queueing
IP Addressing: CIDR
- CIDR (Classless Inter-Domain Routing): Subnet portion of address of arbitrary length.
- Address format:
a.b.c.d/x, where x is the number of bits in the subnet portion of the address.
Subnets
- A subnet is a network consisting of device interfaces that can physically reach each other without passing through an intervening router.
- IP addresses have structure with a subnet part (common high order bits for devices in the same subnet) and a host part (remaining low order bits).
DHCP: Dynamic Host Configuration Protocol
- Goal: Host dynamically obtains IP address from a network server when it joins the network.
- Can renew its lease on the address in use.
- Allows reuse of addresses (only hold address while connected).
- Supports mobile users who join/leave the network.
- DHCP Overview:
- Host broadcasts DHCP discover msg (optional).
- DHCP server responds with DHCP offer msg (optional).
- Host requests IP address: DHCP request msg.
- DHCP server sends address: DHCP ack msg.
DHCP Client-Server Scenario
- Example sequence of messages between a DHCP client and server, including DHCP discover, offer, request, and ACK messages.
DHCP: More Than IP Addresses
- DHCP can return more than just the allocated IP address on the subnet:
- Address of first-hop router for client.
- Name and IP address of DNS server.
- Network mask (indicating network versus host portion of address).
NAT: Network Address Translation
- All devices in a local network share just one IPv4 address as far as the outside world is concerned.
- Datagrams leaving the local network have the same source NAT IP address but different source port numbers.
NAT: Example
- Host 10.0.0.1 sends a datagram to 128.119.40.186, 80
- NAT router changes datagram source address from 10.0.0.1, 3345 to 138.76.29.7, 5001, and updates the NAT translation table.
- Reply arrives, destination address: 138.76.29.7, 5001
Transition from IPv4 to IPv6
- Initial motivation: 32-bit IPv4 address space would be completely allocated.
- Tunneling: IPv6 datagram carried as payload in IPv4 datagram among IPv4 routers (