ECE 4436A Networking Principles and Protocols
27 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

What are the two key network layer functions?

Forwarding and routing

What are the two control-plane approaches?

  • Traditional routing algorithms (correct)
  • Software-defined networking (SDN) (correct)
  • Network-wide logic
  • What service model for “channel” transporting datagrams from sender to receiver?

  • Restrictions on changes in inter-packet spacing (correct)
  • Guaranteed delivery with less than 40 msec delay (correct)
  • In-order datagram delivery (correct)
  • Guaranteed minimum bandwidth to flow (correct)
  • Guaranteed delivery (correct)
  • The Internet "best effort" service model guarantees successful datagram delivery to the destination.

    <p>False</p> Signup and view all the answers

    What are the three major types of switching fabrics?

    <p>Memory, bus, interconnection network</p> Signup and view all the answers

    What is the rule of thumb for average buffering as defined by RFC 3439?

    <p>Average buffering is equal to &quot;typical&quot; RTT (say 250 msec) times link capacity C</p> Signup and view all the answers

    What are the two ways a host can obtain its IP address within its network?

    <p>Hard-coded by sysadmin in a config file and dynamically obtained through DHCP</p> Signup and view all the answers

    What is the goal of DHCP (Dynamic Host Configuration Protocol)?

    <p>DHCP allows a host to dynamically obtain its IP address from a network server when it &quot;joins&quot; the network.</p> Signup and view all the answers

    How are IP addresses structured?

    <p>They consist of a subnet part and a host part.</p> Signup and view all the answers

    What does CIDR stand for?

    <p>Classless InterDomain Routing</p> Signup and view all the answers

    What are the key advantages provided by CIDR?

    <p>It allows for subnet portions of arbitrary length and uses an address format that includes the number of bits in the subnet portion.</p> Signup and view all the answers

    How does a network obtain its subnet part of the IP address?

    <p>It is allocated a portion of its provider ISP's address space.</p> Signup and view all the answers

    What is the function of NAT (Network Address Translation)?

    <p>NAT allows all devices in a local network to share a single IPv4 address, making it appear as one device to the outside world.</p> Signup and view all the answers

    What is the main motivation behind the development of IPv6?

    <p>The original motivation was that the IPv4 address space would become completely allocated.</p> Signup and view all the answers

    IPv6 datagrams include a checksum.

    <p>False</p> Signup and view all the answers

    IPv6 datagrams allow for fragmentation/reassembly.

    <p>False</p> Signup and view all the answers

    What is the purpose of "tunneling" in the context of IPv4 and IPv6?

    <p>Tunneling allows IPv6 datagrams to be carried as payload within IPv4 datagrams, facilitating communication between IPv6 routers through a network of IPv4 routers.</p> Signup and view all the answers

    What is "generalized forwarding" in the context of network layer functionality?

    <p>Generalized forwarding allows routers to forward packets based on any set of header field values, enabling more flexible and customized packet handling.</p> Signup and view all the answers

    What is the "match+action" abstraction used in generalized forwarding?

    <p>It involves matching specific bits in the arriving packet header with predefined patterns and then taking a corresponding action, like dropping, forwarding, modifying, or logging the packet.</p> 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?

    <p>Routers, switches, firewalls, and NAT devices.</p> Signup and view all the answers

    What does "network programmability" refer to?

    <p>It refers to the ability to programmatically define and control the behavior of network devices and the flow of data through the network.</p> Signup and view all the answers

    What is a "middlebox" in the context of the Internet?

    <p>A middlebox is any intermediary device that performs functions beyond the standard operations of a router, such as firewalls, intrusion detection systems (IDS), NAT devices, load balancers, and caches.</p> Signup and view all the answers

    What are the key principles underlying the “Internet hourglass”?

    <p>The Internet has a “thin waist” with a single network layer protocol (IP) that is essential for all connected devices. It has many protocols at the physical, link, transport, and application layers.</p> Signup and view all the answers

    What is the “end-to-end argument” in the context of network functionality?

    <p>The end-to-end argument states that network functionalities, like reliable data transfer or congestion control, should ideally be implemented by the applications at the network edges rather than by the network itself.</p> Signup and view all the answers

    The Internet has always been a completely open and standardized ecosystem.

    <p>False</p> Signup and view all the answers

    What are the three core beliefs that underpin the Internet's architecture as described in RFC 1958?

    <p>Simple connectivity, the Internet Protocol (IP) as the main tool, and intelligence and complexity situated at the network edge.</p> Signup and view all the answers

    How are forwarding tables (destination-based) or flow tables computed?

    <p>They are typically computed by the control plane of the network.</p> 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.

    Quiz Team

    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.

    More Like This

    Use Quizgecko on...
    Browser
    Browser