Topic 4a Router Operation and Scheduling. Ch4: Network Layer: The Data Plane. Computer Networking: A Top Down Approach

Similar documents
Chapter 4 Network Layer: The Data Plane

Chapter 4: network layer. Network service model. Two key network-layer functions. Network layer. Input port functions. Router architecture overview

CSC 4900 Computer Networks: Network Layer

CSE 3214: Computer Network Protocols and Applications Network Layer

CSC 401 Data and Computer Communications Networks

Chapter 4. Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, sl April 2009.

Chapter 4 Network Layer: The Data Plane

Chapter 4 Network Layer

Computer Networks LECTURE 10 ICMP, SNMP, Inside a Router, Link Layer Protocols. Assignments INTERNET CONTROL MESSAGE PROTOCOL

Network Layer: Router Architecture, IP Addressing

Chapter 4 Network Layer: The Data Plane. Part A. Computer Networking: A Top Down Approach

Routers. Session 12 INST 346 Technologies, Infrastructure and Architecture

NETWORK LAYER DATA PLANE

Network Layer: Data Plane 4-2

CMSC 332 Computer Networks Network Layer

Computer Networks. Instructor: Niklas Carlsson

Lecture 16: Network Layer Overview, Internet Protocol

Key Network-Layer Functions

Chapter 4 Network Layer: The Data Plane

Network Layer: Chapter 4. The Data Plane. Computer Networking: A Top Down Approach

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 11

Chapter 4 Network Layer: The Data Plane

Chapter 4 Network Layer: The Data Plane

Chapter 4 Network Layer: The Data Plane

COMP211 Chapter 4 Network Layer: The Data Plane

CSC358 Week 6. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved

Lecture 4 - Network Layer. Transport Layer. Outline. Introduction. Notes. Notes. Notes. Notes. Networks and Security. Jacob Aae Mikkelsen

Chapter 4: network layer

Chapter 4 Network Layer

TDTS06: computer Networks

The Network Layer and Routers

Introduction to Computer Networking. Guy Leduc. Chapter 4 Network Layer: The Data Plane. Chapter 4: Network Layer Data Plane

Network Layer: outline

Chapter 4 Network Layer: The Data Plane

Router Architecture Overview

Lecture 7. Network Layer. Network Layer 1-1

Network Superhighway CSCD 330. Network Programming Winter Lecture 13 Network Layer. Reading: Chapter 4

internet technologies and standards

Last time. BGP policy. Broadcast / multicast routing. Link virtualization. Spanning trees. Reverse path forwarding, pruning Tunneling

Router Architectures

EECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture

Generic Architecture. EECS 122: Introduction to Computer Networks Switch and Router Architectures. Shared Memory (1 st Generation) Today s Lecture

CS 3516: Advanced Computer Networks

Chapter 4 Network Layer: The Data Plane

HW3 and Quiz. P14, P24, P26, P27, P28, P31, P37, P43, P46, P55, due at 3:00pm with both soft and hard copies, 11/11/2013 (Monday) TCP), 20 mins

Network Layer: Control/data plane, addressing, routers

Network Layer Enhancements

Course on Computer Communication and Networks. Lecture 6 Network Layer part 1: Data Plane Chapter 4 (7/e) (6/e Ch4-first part)

1-1. Switching Networks (Fall 2010) EE 586 Communication and. October 25, Lecture 24

CSCD 330 Network Programming

Chapter 4 Network Layer

Mohammad Hossein Manshaei 1393

LS Example 5 3 C 5 A 1 D

CSCE 463/612 Networks and Distributed Processing Spring 2018

internet technologies and standards

Router Architecture Overview

Quality of Service (QoS)

Routers: Forwarding EECS 122: Lecture 13

TOC: Switching & Forwarding

Data Communications & Networks. Session 7 Main Theme Networks: Part I Circuit Switching, Packet Switching, The Network Layer

Routers: Forwarding EECS 122: Lecture 13

Lecture 3. The Network Layer (cont d) Network Layer 1-1

TOC: Switching & Forwarding

Chapter 4: Network Layer

Chapter 4 Network Layer

CS 43: Computer Networks. 20: The Network Layer November 5, 2018

Internet protocol stack

Data Communication & Networks G Session 7 - Main Theme Networks: Part I Circuit Switching, Packet Switching, The Network Layer

Improving QOS in IP Networks. Principles for QOS Guarantees

Chapter 4 Network Layer

Part 5: Link Layer Technologies. CSE 3461: Introduction to Computer Networking Reading: Chapter 5, Kurose and Ross

Network layer overview

Communication Networks ( ) / Fall 2013 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner

Topic 4b: QoS Principles. Chapter 9 Multimedia Networking. Computer Networking: A Top Down Approach

Master Course Computer Networks IN2097

Network Layer Introduction

Master Course Computer Networks IN2097

The Network Layer. Antonio Carzaniga. April 22, Faculty of Informatics University of Lugano Antonio Carzaniga

Routing, Routers, Switching Fabrics

Last time. Wireless link-layer. Introduction. Characteristics of wireless links wireless LANs networking. Cellular Internet access

Chapter 4 Network Layer

Lecture 8. Network Layer (cont d) Network Layer 1-1

Da t e: August 2 0 th a t 9: :00 SOLUTIONS

BROADBAND AND HIGH SPEED NETWORKS

CSE398: Network Systems Design

PLEASE READ CAREFULLY BEFORE YOU START

CS 3516: Computer Networks

Chapter 4: Network Layer

Chapter 5 Network Layer: The Control Plane

ECE 697J Advanced Topics in Computer Networks

Priority Traffic CSCD 433/533. Advanced Networks Spring Lecture 21 Congestion Control and Queuing Strategies

The Network Layer Forwarding Tables and Switching Fabric

Mul$media Networking. #10 QoS Semester Ganjil 2012 PTIIK Universitas Brawijaya

Network Layer PREPARED BY AHMED ABDEL-RAOUF

Network Layer. CMPS 4750/6750: Computer Networks

Real-Time Protocol (RTP)

MIDTERM EXAMINATION #2 OPERATING SYSTEM CONCEPTS U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E

CSCI Computer Networks Fall 2016

Real-Time Control Protocol (RTCP)

EC441 Fall 2018 Introduction to Computer Networking Chapter4: Network Layer Data Plane

Transcription:

Topic 4a Router Operation and Scheduling Ch4: Network Layer: The Data Plane Computer Networking: A Top Down Approach 7 th edition Jim Kurose, Keith Ross Pearson/Addison Wesley April 2016 4-1

Chapter 4: outline 4.1 Overview of Network layer data plane control plane 4.2 What s inside a router 4.3 IP: Internet Protocol datagram format fragmentation IPv4 addressing network address translation IPv6 4.4 Generalized Forward and SDN match action OpenFlow examples of match-plus-action in action 4-2

Chapter 4: network layer chapter goals: understand principles behind network layer services, focusing on data plane: network layer service models forwarding versus routing how a router works generalized forwarding instantiation, implementation in the Internet 4-3

Network layer transport segment from sending to receiving host on sending side encapsulates segments into datagrams on receiving side, delivers segments to transport layer network layer protocols in every host, router router examines header fields in all IP datagrams passing through it application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical 4-4

Two key network-layer functions 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 analogy: taking a trip forwarding: process of getting through single interchange routing: process of planning trip from source to destination 4-5

Network layer: data plane, control plane Data plane local, per-router function determines how datagram arriving on router input port is forwarded to router output port forwarding function values in arriving packet header 0111 3 1 2 Control plane network-wide logic determines how datagram is routed among routers along end-end path from source host to destination host two control-plane approaches: traditional routing algorithms: implemented in routers software-defined networking (SDN): implemented in (remote) servers 4-6

Per-router control plane Individual routing algorithm components in each and every router interact in the control plane Routing Algorithm control plane data plane values in arriving packet header 0111 3 1 2 Network Layer: Control Plane 5-7

Logically centralized control plane A distinct (typically remote) controller interacts with local control agents (CAs) Remote Controller CA control plane data plane values in arriving packet header CA CA CA CA 0111 3 1 2 Network Layer: Control Plane 5-8

Network service model Q: What service model for channel transporting datagrams from sender to receiver? example services for individual datagrams: guaranteed delivery guaranteed delivery with less than 40 msec delay example services for a flow of datagrams: in-order datagram delivery guaranteed minimum bandwidth to flow restrictions on changes in inter-packet spacing 4-9

Network layer service models: Network Architecture Service Model Bandwidth Guarantees? Loss Order Timing Congestion feedback Internet ATM ATM ATM ATM best effort CBR VBR ABR UBR none constant rate guaranteed rate guaranteed minimum none no yes yes no no no yes yes yes yes no yes yes no no no (inferred via loss) no congestion no congestion yes no 4-10

Chapter 4: outline 4.1 Overview of Network layer data plane control plane 4.2 What s inside a router 4.3 IP: Internet Protocol datagram format fragmentation IPv4 addressing network address translation IPv6 4.4 Generalized Forward and SDN match action OpenFlow examples of match-plus-action in action 4-11

Router architecture overview high-level view of generic router architecture: routing processor high-seed switching fabric routing, management control plane (software) operates in millisecond time frame forwarding data plane (hardware) operttes in nanosecond timeframe router input ports router output ports 4-12

Input port functions line termination link layer protocol (receive) lookup, forwarding queueing switch fabric physical layer: bit-level reception data link layer: e.g., Ethernet see chapter 5 decentralized switching: using header field values, lookup output port using 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 4-13

Input port functions line termination link layer protocol (receive) lookup, forwarding queueing switch fabric physical layer: bit-level reception data link layer: e.g., Ethernet see chapter 5 decentralized switching: using header field values, lookup output port using 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 4-14

Destination-based forwarding forwarding table Destination Address Range 11001000 00010111 00010000 00000000 through 11001000 00010111 00010111 11111111 11001000 00010111 00011000 00000000 through 11001000 00010111 00011000 11111111 11001000 00010111 00011001 00000000 through 11001000 00010111 00011111 11111111 otherwise Link Interface 0 1 2 3 Q: but what happens if ranges don t divide up so nicely? 4-15

Longest prefix matching longest prefix matching when looking for forwarding table entry for given destination address, use longest address prefix that matches destination address. examples: Destination Address Range 11001000 00010111 00010*** ********* 11001000 00010111 00011000 ********* 11001000 00010111 00011*** ********* otherwise DA: 11001000 00010111 00010110 10100001 DA: 11001000 00010111 00011000 10101010 Link interface 0 1 2 3 which interface? which interface? 4-16

Longest prefix matching we ll see why longest prefix matching is used shortly, when we study addressing longest prefix matching: often performed using ternary content addressable memories (TCAMs) content addressable: present address to TCAM: retrieve address in one clock cycle, regardless of table size Cisco Catalyst: can up ~1M routing table entries in TCAM 4-17

Switching fabrics transfer packet from input buffer to appropriate output buffer switching rate: rate at which packets can be transfer from inputs to outputs often measured as multiple of input/output line rate N inputs: switching rate N times line rate desirable three types of switching fabrics memory memory bus crossbar 4-18

Switching via memory first generation routers: traditional computers with switching under direct control of CPU packet copied to system s memory speed limited by memory bandwidth (2 bus crossings per datagram) input port (e.g., Ethernet) memory output port (e.g., Ethernet) system bus 4-19

Switching via a bus datagram from input port memory to output port memory via a shared bus bus contention: switching speed limited by bus bandwidth 32 Gbps bus, Cisco 5600: sufficient speed for access and enterprise routers bus 4-20

Switching via interconnection network overcome bus bandwidth limitations banyan networks, crossbar, other interconnection nets initially developed to connect processors in multiprocessor advanced design: fragmenting datagram into fixed length cells, switch cells through the fabric. Cisco 12000: switches 60 Gbps through the interconnection network crossbar 4-21

Input port queuing fabric slower than input ports combined -> queueing may occur at input queues queueing delay and loss due to input buffer overflow! Head-of-the-Line (HOL) blocking: queued datagram at front of queue prevents others in queue from moving forward switch fabric switch fabric output port contention: only one red datagram can be transferred. lower red packet is blocked one packet time later: green packet experiences HOL blocking 4-22

Output ports This slide is HUGELY important! switch fabric datagram buffer queueing link layer protocol (send) line termination buffering required when datagrams arrive from fabric faster than the transmission rate scheduling discipline chooses among queued datagrams for transmission performance, network neutrality Datagram (packets) can be lost due to congestion, lack of buffers Priority scheduling who gets best 4-23

Output port queueing switch fabric switch fabric at t, packets more from input to output one packet time later buffering when arrival rate via switch exceeds output line speed queueing (delay) and loss due to output port buffer overflow! 4-24

How much buffering? RFC 3439 rule of thumb: average buffering equal to typical RTT (say 250 msec) times link capacity C e.g., C = 10 Gpbs link: 2.5 Gbit buffer recent recommendation: with N flows, buffering equal to RTT. C N 4-25

Scheduling mechanisms scheduling: choose next packet to send on link FIFO (first in first out) scheduling: send in order of arrival to queue 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 packet arrivals queue (waiting area) link (server) packet departures 4-26

Scheduling policies: priority priority scheduling: send highest priority queued packet multiple classes, with different priorities class may depend on marking or other header info, e.g. IP source/dest, port numbers, etc. real world example? arrivals arrivals packet in service classify departures high priority queue (waiting area) 2 1 3 low priority queue (waiting area) link (server) 5 1 3 2 4 5 1 4 3 2 4 departures 5 4-27

Scheduling policies: still more Round Robin (RR) scheduling: multiple classes cyclically scan class queues, sending one complete packet from each class (if available) real world example? arrivals 2 1 3 4 5 packet in service 1 3 2 4 5 departures 1 3 3 4 5 4-28

Scheduling policies: still more Weighted Fair Queuing (WFQ): generalized Round Robin each class gets weighted amount of service in each cycle real-world example? 4-29