Network Layer CMPS 4750/6750: Computer Networks 1
Outline § Overview of network layer § Forwarding (data plane) § Routing (control plane) § The Internet Protocol (IP) § Routing in the Internet: OSPF, BGP 2
Network Layer application transport network data link physical § transport segment from sending to network network data link data link network receiving host physical physical data link physical network network § on sending side encapsulates segments data link data link physical physical into datagrams network network data link data link § on receiving side, delivers segments to physical physical network data link transport layer physical application network transport § network layer protocols in every host & data link network network physical data link network data link router physical data link physical physical § router examines header fields in all IP datagrams passing through it 3
Two key 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 4
Network layer: data plane, control plane Data plane Control plane § network-wide logic § local, per-router function • routing • forwarding • access control • dropping • load balancing • modify field • … • … § two control-plane approaches: values in arriving • traditional routing algorithms: packet header implemented in routers 1 0111 • software-defined networking 2 3 (SDN) : implemented in (remote) servers 5
Per-router control plane § Individual routing algorithm components in each and every router interact in the control plane Routing Algorithm control plane data Local forwarding table plane header output 0100 3 0110 2 0111 2 1001 1 values in arriving packet header 1 0111 2 3 6
Logically centralized control plane § A distinct (typically remote) controller interacts with local control agents (CAs) Remote Controller control plane data plane CA CA CA CA CA values in arriving packet header 1 0111 2 3 7
Network service model Q: What service model for “channel” transporting datagrams from sender to receiver? example services for example services for a flow of datagrams: individual datagrams: • in-order datagram delivery § guaranteed delivery • guaranteed minimum § guaranteed delivery with bandwidth to flow less than 40 msec delay • restrictions on changes in inter-packet spacing The Internet’s network layer provides “best-effort” service 8
Outline § Overview of network layer § Forwarding (data plane) § Routing (control plane) § The Internet Protocol (IP) § Routing in the Internet: OSPF, BGP 9
Router architecture overview routing, management control plane (software) routing operates in millisecond processor time frame forwarding data plane (hardware) operates in nanosecond timeframe high-seed switching fabric router input ports router output ports 10
Input port functions lookup, link forwarding layer line switch protocol fabric termination (receive) queueing physical layer: bit-level reception decentralized switching : data link layer: e.g., Ethernet § using header field values, lookup output port using see chapter 5 forwarding table in input port memory (“match plus action”) § goal: complete input port processing at ‘line speed’ queuing: if datagrams arrive faster than forwarding § rate into switch fabric
Input port functions lookup, link forwarding layer line switch protocol fabric termination (receive) queueing physical layer: bit-level reception decentralized switching : data link layer: e.g., Ethernet § using header field values, lookup output port using see chapter 5 forwarding table in input port memory (“match plus action”) § destination-based forwarding: forward based only on destination IP address (traditional) § generalized forwarding: forward based on any set of header field values
Destination-based forwarding forwarding table Destination Address Range Link Interface 11001000 00010111 00010000 00000000 through 0 11001000 00010111 00010111 11111111 11001000 00010111 00011000 00000000 through 1 11001000 00010111 00011000 11111111 11001000 00010111 00011001 00000000 2 through 11001000 00010111 00011111 11111111 3 otherwise 13
Destination-based forwarding forwarding table Destination Address Range Link Interface 11001000 00010111 00010000 00000000 through 0 11001000 00010111 00010111 11111111 11001000 00010111 00011000 00000000 through 1 11001000 00010111 00011000 11111111 11001000 00010111 00011001 00000000 2 through 11001000 00010111 00011111 11111111 3 otherwise 14
Longest prefix matching Link interface Destination Address Range 0 11001000 00010111 00010*** ********* 1 11001000 00010111 00011000 ********* 2 11001000 00010111 00011*** ********* 3 otherwise examples: DA: 11001000 00010111 00010110 10100001 which interface? 0 which interface? 1 DA: 11001000 00010111 00011000 10101010 longest prefix matching when looking for forwarding table entry for given destination address, use longest address prefix that matches destination address. 15
Switching fabrics § transfer packets from input buffer to routing appropriate output buffer processor § switching rate: rate at which packets can be transfer from inputs to high-seed outputs switching fabric • often measured as multiple of input/output line rate router input ports router output ports • N inputs: switching rate N times line rate desirable 16
Crossbar switches input queues Bipartite graph representation output queues § at any time, one input point can be connected to at most one output port, and vice versa § a schedule in a crossbar switch corresponds to a matching in the corresponding bipartite graph 17
Input port queuing § fabric slower than input ports combined -> queueing may occur at input queues • queueing delay and loss due to input buffer overflow! switch switch fabric fabric assuming FCFS, green packet output port contention: lower red packet is experiences HOL blocking blocked § Head-of-the-Line (HOL) blocking: queued datagram at front of queue prevents others in queue from moving forward 18
Output ports datagram link switch buffer line layer fabric termination protocol (send) queueing § buffering required when datagrams arrive from Datagram (packets) can be lost fabric faster than the transmission rate due to congestion, lack of buffers § scheduling discipline chooses among queued Priority scheduling – who gets best datagrams for transmission performance, network neutrality 19
Output port queueing switch switch fabric fabric one packet time later at t, packets more (assume switch operates at from input to output three times the line speed) § buffering when arrival rate via switch exceeds output line speed § queueing (delay) and loss due to output port buffer overflow! 20
Scheduling mechanisms § scheduling: choose next packet to send on link packet packet arrivals queue link departures (waiting area) (server) § FCFS (first-come-first-served) scheduling: send in order of arrival to queue • Also known as first-in-first-out, FIFO • real-world example? • discard policy: if packet arrives to full queue: who to discard? • tail drop: drop arriving packet • priority: drop/remove on priority basis • random: drop/remove randomly 21
Scheduling policies: priority high priority queue (waiting area) § priority scheduling: send highest arrivals departures priority queued packet classify link (server) § multiple classes , with different low priority queue (waiting area) priorities 2 4 5 1 3 • class may depend on marking or other arrivals header info, e.g. IP source/dest, port packet 1 2 4 in 3 5 numbers, etc. service • real world example? departures 1 4 3 2 5 22
Scheduling policies: still more Round Robin (RR) scheduling: § multiple classes § cyclically scan class queues, sending one complete packet from each class (if available) 2 5 1 4 3 arrivals packet 1 3 2 4 in 5 service departures 1 3 3 4 5 23
Scheduling policies: still more Weighted Fair Queuing (WFQ): § generalized Round Robin § each class gets weighted amount of service in each cycle 24
Outline § Overview of network layer § Forwarding (data plane) § Routing (control plane) § The Internet Protocol (IP) § Routing in the Internet: OSPF, BGP 25
Network-layer functions Recall: two network-layer functions: § forwarding: move packets data plane from router’s input to appropriate router output § routing: determine route control plane taken by packets from source to destination Two approaches to structuring network control plane: § per-router control (traditional) § logically centralized control (software defined networking)
Routing protocols Goal: determine “good” paths (equivalently, routes), from sending hosts to receiving host, through network of routers § path: sequence of routers packets will traverse in going from given initial source host to given final destination host § “good”: least “cost”, “fastest”, “least congested” § routing: a “top-10” networking challenge! 27
Recommend
More recommend