Podcast
Questions and Answers
What are the two key network layer functions?
What are the two key network layer functions?
Forwarding and routing
What are the two control-plane approaches?
What are the two control-plane approaches?
What service model for “channel” transporting datagrams from sender to receiver?
What service model for “channel” transporting datagrams from sender to receiver?
The Internet "best effort" service model guarantees successful datagram delivery to the destination.
The Internet "best effort" service model guarantees successful datagram delivery to the destination.
Signup and view all the answers
What are the three major types of switching fabrics?
What are the three major types of switching fabrics?
Signup and view all the answers
What is the rule of thumb for average buffering as defined by RFC 3439?
What is the rule of thumb for average buffering as defined by RFC 3439?
Signup and view all the answers
What are the two ways a host can obtain its IP address within its network?
What are the two ways a host can obtain its IP address within its network?
Signup and view all the answers
What is the goal of DHCP (Dynamic Host Configuration Protocol)?
What is the goal of DHCP (Dynamic Host Configuration Protocol)?
Signup and view all the answers
How are IP addresses structured?
How are IP addresses structured?
Signup and view all the answers
What does CIDR stand for?
What does CIDR stand for?
Signup and view all the answers
What are the key advantages provided by CIDR?
What are the key advantages provided by CIDR?
Signup and view all the answers
How does a network obtain its subnet part of the IP address?
How does a network obtain its subnet part of the IP address?
Signup and view all the answers
What is the function of NAT (Network Address Translation)?
What is the function of NAT (Network Address Translation)?
Signup and view all the answers
What is the main motivation behind the development of IPv6?
What is the main motivation behind the development of IPv6?
Signup and view all the answers
IPv6 datagrams include a checksum.
IPv6 datagrams include a checksum.
Signup and view all the answers
IPv6 datagrams allow for fragmentation/reassembly.
IPv6 datagrams allow for fragmentation/reassembly.
Signup and view all the answers
What is the purpose of "tunneling" in the context of IPv4 and IPv6?
What is the purpose of "tunneling" in the context of IPv4 and IPv6?
Signup and view all the answers
What is "generalized forwarding" in the context of network layer functionality?
What is "generalized forwarding" in the context of network layer functionality?
Signup and view all the answers
What is the "match+action" abstraction used in generalized forwarding?
What is the "match+action" abstraction used in generalized forwarding?
Signup and view all the answers
What are the three main types of network devices that can be unified using the "match+action" abstraction in OpenFlow?
What are the three main types of network devices that can be unified using the "match+action" abstraction in OpenFlow?
Signup and view all the answers
What does "network programmability" refer to?
What does "network programmability" refer to?
Signup and view all the answers
What is a "middlebox" in the context of the Internet?
What is a "middlebox" in the context of the Internet?
Signup and view all the answers
What are the key principles underlying the “Internet hourglass”?
What are the key principles underlying the “Internet hourglass”?
Signup and view all the answers
What is the “end-to-end argument” in the context of network functionality?
What is the “end-to-end argument” in the context of network functionality?
Signup and view all the answers
The Internet has always been a completely open and standardized ecosystem.
The Internet has always been a completely open and standardized ecosystem.
Signup and view all the answers
What are the three core beliefs that underpin the Internet's architecture as described in RFC 1958?
What are the three core beliefs that underpin the Internet's architecture as described in RFC 1958?
Signup and view all the answers
How are forwarding tables (destination-based) or flow tables computed?
How are forwarding tables (destination-based) or flow tables computed?
Signup and view all the answers
Study Notes
ECE 4436A NETWORKING: PRINCIPLES, PROTOCOLS, AND ARCHITECTURES
- This course covers networking principles, protocols, and architectures.
- Information was adapted from Kurose and Ross notes.
- Course materials cover the application, transport, network, link, and physical layers.
Recall
- Application Layer (M): A high-level layer for applications and services.
- Transport Layer (S): responsible for reliable delivery amongst applications.
- Network Layer (DG): Manages data routing and addressing.
- Link Layer (F): Handles communication between networked devices in a particular network.
- Physical Layer (B): The lowest layer, managing the physical transmission of data.
Network Layer: Our Goals
- Understand the principles behind network layer services, concentrating on the data plane.
- Explore network layer service models and the differences between forwarding and routing.
- Examine how routers operate, including addressing and forwarding methods.
- Understand the architecture of the Internet.
- Analyze the implementation of the Internet Protocol (IP) protocol, NAT, and middleboxes.
Network Layer: "Data Plane" Roadmap
- Network layer overview (including data and control planes).
- Internal workings of a router: input/output ports, switching, buffer management, and scheduling.
- Internet Protocol (IP): datagram format, addressing, network address translation, and IPv6.
- Generalized Forwarding, SDN (including match+action and OpenFlow).
- Middleboxes.
Network-Layer Services and Protocols
- Internet devices use network protocols to transport segments from sending to receiving hosts.
- Hosts encapsulate segments into datagrams.
- Receivers deliver segments to the transport layer.
- Routers examine IP datagrams' header fields and route them.
- Routers forward datagrams from input to output ports along the end-to-end path.
Two Key Network-Layer Functions
- Forwarding: moving packets from a router's input link to the appropriate output link.
- Routing: determining the route packets take from source to destination (through algorithms).
Network Layer: Data Plane, Control Plane
- Data Plane: Local functions within a router, determining how incoming datagrams are forwarded out.
- Control Plane: Network-wide logic that determines how datagrams are routed among routers along an end-to-end path.
- Control Plane approaches: Traditional routing algorithms implemented in routers, and Software-defined networking (SDN) implemented in remote servers.
Per-Router Control Plane
- Individual routing algorithm components within each router interact in the control plane.
- Local forwarding tables are based on the routing algorithm.
- These tables translate incoming packet headers to output ports.
Software-Defined Networking (SDN) Control Plane
- Remote controller computes and installs forwarding tables in routers.
- This approach typically uses central control mechanisms.
Network Service Model
- Different service models are used for transporting and handling datagrams in internet networks.
- Datagrams and flow models: Guaranteed delivery and speed as examples
- In a best-effort service model, no guarantees are given for the success, timing, order, or bandwidth for successful datagram delivery.
Reflections on Best-Effort Service
- Simplicity in mechanisms allows the widely deployed nature of the internet.
- Sufficient bandwidth allowances allow real-time application performance.
- Application-layer based distributed services allow for services from multiple locations.
- Congestion control mechanisms help for elastic services.
Router Architecture Overview
- Routers have a processing unit that handles routing tasks.
- A switching fabric connects input ports to output ports.
- The forwarding operation is handled by the high-speed switching fabric.
Input Port Functions
- Bit-level reception handled by the physical layer.
- Link layer protocol processing (e.g., Ethernet, chapter 6).
- Decentralized switching using lookup tables.
- Using forwarding tables, lookup output ports in input memory, complete processing at line-speed.
Destination-Based Forwarding
- Forwarding is determined by the destination IP address in the destination-based forwarding approach.
- The table identifies destination address ranges and associated link interfaces.
- Longest prefix matching is a method used when ranges do not divide up neatly; It uses the longest matching prefix (in the table) to determine the appropriate link interface.
Longest Prefix Matching
- When finding the forwarding table entry for a destination address, the longest matching prefix from the table is chosen.
Switching Fabrics
- Transferring packets from input links to appropriate output links.
- Switching rate at which packets move to outputs.
- Measured in multiples of input/output line rates.
- Switching techniques: memory, bus, interconnection network.
Input Port Queuing
- If switch fabric is slower than input ports, queueing occurs at input queues.
- Delays and losses may occur due to input buffer overflow instances.
- Head-of-the-line (HOL) blocking situation where one packet in the queue blocks other packets from moving ahead.
- This issue occurs when a slower switching fabric can't keep up with faster input ports.
Output Port Queuing
- Buffering is required when fabric arrival rate is faster than link transmission rate.
- Different drop policies are used to select datagrams when there are no free buffers.
- Scheduling disciplines are used to choose among queued datagrams for transmission.
- Datagrams can be lost due to factors including congestion or lack of buffers.
How Much Buffering?
- The RFC 3439 rule suggests average buffering equal to "typical" RTT times link capacity.
- Some recommendations include N flows, buffering equal to RTT.C/N.
- Excessive buffering can lead to increased delays, especially in home routers with long RTTs.
- Delay-based congestion is related to keeping the bottleneck link enough (and just enough).
Buffer Management
- Drop: determining which packet to drop when buffers are full.
- Strategies: tail drop and priority-based dropping.
- Marking: using ECN and RED to mark packets and signal congestion issues.
Packet Scheduling: FCFS (First Come, First Served)
- FCFS schedules packets in order of their arrival at the output port.
- This approach is also known as First-In First Out (FIFO).
Scheduling Policies: Priority
- Arriving packets are classified and queued by class.
- Any header fields can be used for classification.
- Packets are sent starting with the highest priority among the buffered packets.
- First come first served (FCFS) scheduling applies within each priority.
Scheduling Policies: Round Robin (RR)
- Round Robin classification and queueing by class.
- Any header fields can be used for classification.
- The server cycles through the queues, sending a packet from each class if one is available.
Scheduling Policies: Weighted Fair Queuing (WFQ)
- Generalized Round Robin scheduling is used for classes.
- Each class has a weight (Wᵢ).
- Weighted amounts of service are given to each class in each cycle, determined by Wᵢ/∑ωᵢ.
- Minimum bandwidth guarantees are provided on a per-traffic class basis.
Network Layer: More on the Data Plane
- Network layer overview and control plane.
- Router components: input ports, switching, output ports, buffer management, and scheduling.
- Internet Protocol (IP): datagram format, addressing, network address translation (NAT,), and IPv6.
- Generalized Forwarding, SDN.
- Middleboxes.
NAT (Network Address Translation)
- In NAT, devices within a local network share just one IP address with the rest of the world.
- Datagrams leaving the local network get a source NAT assigned address, different source port numbers.
- Devices in this network have addresses for source/destination as normal.
IPv6 Motivation
- 32-bit IPv4 address space is mostly allocated.
- Faster processing/forwarding using a 40-byte fixed length header.
- Different network-layer treatments of "flows" are possible.
IPv6 Datagram Format
- Includes fields like version, priority, flow label, next header, source/dest addresses, payload length, and hop limit.
- Compared to IPv4, IPv6 does not include checksums for speed/efficiency, has no fragmentation/reassembling, and allows for upper-layer options as needed.
Transition from IPv4 to IPv6
- Network operation with mixed IPv4 and IPv6 routers is handled via tunneling—IPv6 datagrams are enclosed in an IPv4 datagram as payload.
- Tunneling is useful in various contexts, such as 4G/5G.
Tunneling and Encapsulation
- IPv6 datagrams can be encapsulated in IPv4 datagrams for use across IPv4 networks.
- This method lets IPv6 packets traverse networks that only support IPv4 routing.
Generalized Forwarding: Match Plus Action
- Each router has a forwarding table to match bits from an arriving packet.
- Destination-based or Generalized forwarding determine action from the header fields—the router determines actions such as drop, copy, modify, or log packet.
Flow Table Abstraction
- Flows are defined by header field values.
- Generalized forwarding uses simple packet-handling rules that match values in the packet header for actions.
- Actions are determined for matching packets—these actions include drop, forward, modify, or sending the matched packet to the controller.
- Priority disambiguates overlapping patterns.
- Counters of bytes and packets are counted.
OpenFlow: Flow Table Entries
- Flow table entries have fields like "Match" (for example incoming IPv4 destination address), "Action," and "Stats" (for example packet/byte counters).
- Actions include forwarding packets to ports, dropping packets, modifying header fields, and encapsulating/forwarding to the controller.
- OpenFlow provides a way for specifying the actions to take on packets that match criteria in the flow table entries.
OpenFlow: Examples
- OpenFlow can implement destination-based forwarding and firewalls.
- Layer 2 forwarding examples provide match criteria and actions to provide layer-2 destination-based forwarding.
OpenFlow Abstraction
- Match-action abstraction unifies different device types.
- Routers use longest prefix matching and forwarding.
- Switches use the destination MAC address, forward/flood.
- Firewalls permit or deny based on IP addresses and TCP/UDP port numbers.
- NAT rewrites addresses and ports.
OpenFlow Example
- OpenFlow allows for orchestration of network behavior to specify which datagrams should be routed between different hosts or interfaces.
Generalized Forwarding: Summary
- Match plus action abstraction allows matching of various header fields from the packet and action determination.
- Actions can include drop/forward/modify/send a packet to the controller.
- Network-wide behaviors can be controlled via programming.
Network Layer: "Data Plane" Roadmap (again)
- This section reiterates the network layer's crucial parts—overview, router details, IP Protocol, Generalized Forwarding, SDN, and Middleboxes.
Middleboxes
- Middleboxes perform functions beyond standard IP router duties, residing in the data path between a source and destination host.
- Examples: firewalls, intrusion detection systems (IDS), NAT devices, load balancers, and caches.
Middleboxes Everywhere!
- This slide shows that middleboxes are common throughout various network configurations.
- Network configurations include home, cellular, and institutional settings, along with corporate, service providers, data centers, and mobile networks.
Middleboxes
- Proprietary hardware typically initially forms middleboxes.
- Moving towards "whitebox" hardware solutions facilitates an open API.
- Programmable actions (via match+action) help to program middleboxes.
The IP Hourglass
- Internet's "thin waist" is in the network layer protocol IP; it must be implemented by every internet-connected device.
- There are many protocols at other layers.
The IP Hourglass, at Middle Age
- Middleboxes are commonplace and central to modern network operation.
Architectural Principles of the Internet
- Internet architecture’s goal: connectivity via the Internet Protocol.
- Intelligence is concentrated at the network edge.
The End-End Argument
- Some network functions can be implemented at the end points of the communication system.
- Implementing functionality closer to end users is preferred over having the intelligence in the network itself, as it allows for greater flexibility and adaptability.
Where's the Intelligence?
- The intelligence shifts from network switches to the edge in modern networks such as the Internet.
Chapter 4: Done!
- Network Layer overview, router internals, IP Protocol, Generalized Forwarding, SDN, and middleboxes are covered.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
This quiz focuses on the foundational principles, protocols, and architectures of networking covered in ECE 4436A. It includes key concepts from the application, transport, network, link, and physical layers, emphasizing the network layer services and operations. Test your knowledge of the roles and responsibilities of each layer in networking.