Chapter 5 Network Layer: The Control Plane

Similar documents
Chapter 5 Network Layer: The Control Plane

COMP211 Chapter 5 Network Layer: The Control Plane

Chapter 5 Network Layer: The Control Plane

Network Layer: The Control Plane

CSC 401 Data and Computer Communications Networks

CSC 4900 Computer Networks: Routing Protocols

Network Layer: ICMP and Network Management

Chapter 5 Network Layer: The Control Plane

Chapter 5 Network Layer: The Control Plane

Chapter 5 Network Layer: The Control Plane

Lecture 19: Network Layer Routing in the Internet

Chapter 5 Network Layer: The Control Plane

5.1 introduction 5.5 The SDN control 5.2 routing protocols plane. Control Message 5.3 intra-as routing in Protocol the Internet

EC441 Fall 2018 Introduction to Computer Networking Chapter 5: Network Layer Control Plane

Inter-AS routing and BGP. Network Layer 4-1

Chapter 4: outline. Network Layer 4-1

Inter-AS routing. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley

NETWORK LAYER CONTROL PLANE

Chapter IV: Network Layer

Chapter 4: Network Layer. Lecture 12 Internet Routing Protocols. Chapter goals: understand principles behind network layer services:

CSCI Topics: Internet Programming Fall 2008

Announcements. CS 5565 Network Architecture and Protocols. Project 2B. Project 2B. Project 2B: Under the hood. Routing Algorithms

DATA COMMUNICATOIN NETWORKING

Chapter 4: Network Layer

Hierarchical Routing. Our routing study thus far - idealization all routers identical network flat not true in practice

CSC 8560 Computer Networks: Control Plane

Last time. Transitioning to IPv6. Routing. Tunneling. Gateways. Graph abstraction. Link-state routing. Distance-vector routing. Dijkstra's Algorithm

CS 43: Computer Networks. 24: Internet Routing November 19, 2018

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 16, 2017

Chapter 4: Network Layer

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 14, 2013

Chapter 4 Network Layer

Computer Networking Introduction

Chapter 4: Network Layer, partb

CS118 Discussion 1A, Week 7. Zengwen Yuan Dodd Hall 78, Friday 10:00 11:50 a.m.

11/13/2017 Network Layer (SSL) Network-layer functions. Recall the two network-layer functions:

CS 204: BGP. Jiasi Chen Lectures: MWF 12:10-1pm Humanities and Social Sciences

Network Layer: Control Plane 5-2

PART III. Implementing Inter-Network Relationships with BGP

Initial motivation: 32-bit address space soon to be completely allocated. Additional motivation:

CSc 450/550 Computer Networks Internet Routing

Internet rou)ng. V. Arun CS491G: Computer Networking Lab University of MassachuseFs Amherst

Course on Computer Communication and Networks. Lecture 7 Network Layer, Chapter 4 (6/e) - Part B (7/e Ch5)

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

Network layer: Overview. Network layer functions Routing IP Forwarding

Inter-Domain Routing: BGP

Chapter 4: outline. 4.5 routing algorithms link state distance vector hierarchical routing. 4.6 routing in the Internet RIP OSPF BGP

CSCE 463/612 Networks and Distributed Processing Spring 2018

CS555, Spring /5/2005. April 12, 2005 No classes attend Senior Design Projects conference. Chapter 4 roadmap. Internet AS Hierarchy

Telecomunicazioni. Docente: Andrea Baiocchi DIET - Stanza 107, 1 piano palazzina P. Piga Via Eudossiana 18

CSCE 463/612 Networks and Distributed Processing Spring 2018

Chapter 5 Network Layer: The Control Plane

HY 335 Φροντιστήριο 8 ο

CNT Computer and Network Security: BGP Security

Chapter 4 Network Layer: The Data Plane

Internet inter-as routing: BGP

Computer Networking Introduction

internet technologies and standards

Routing on the Internet! Hierarchical Routing! The NSFNet 1989! Aggregate routers into regions of autonomous systems (AS)!

Routing in the Internet

Module 3 Network Layer CS755! 3-1!

Department of Computer and IT Engineering University of Kurdistan. Computer Networks II Border Gateway protocol (BGP) By: Dr. Alireza Abdollahpouri

Chapter 4 Network Layer: The Data Plane

Chapter 4 Network Layer

Introduction to Computer Networks

Chapter 4 Network Layer. Network Layer 4-1

Last time. Network layer. Introduction. Virtual circuit vs. datagram details. IP: the Internet Protocol. forwarding vs. routing

Topics for This Week

Internet Routing : Fundamentals of Computer Networks Bill Nace

Chapter 4 Network Layer: The Data Plane

CS 457 Networking and the Internet. The Global Internet (Then) The Global Internet (And Now) 10/4/16. Fall 2016

CS 3516: Computer Networks

Chapter 9. introduction to network management. major components. MIB: management information base. SNMP: protocol for network management

Chapter 4: Network Layer. TDTS06 Computer networks. Subnets. Subnets. Subnets. IP Addressing: introduction

Internet protocol stack

Lecture 5 The Network Layer part II. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

EECS 3214: Computer Networks Protocols and Applications

Inter-Autonomous-System Routing: Border Gateway Protocol

Network layer. Key Network-Layer Functions. Network service model. Interplay between routing and forwarding. CSE 4213: Computer Networks II

Network Layer: Routing

Lecture 4 The Network Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Inter-Autonomous-System Routing: Border Gateway Protocol

Master Course Computer Networks IN2097

Network Layer: Routing. Routing. Routing protocol. Graph abstraction for routing algorithms: graph nodes are routers graph edges are physical links

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

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

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

BGP. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Telecomunicazioni. Docente: Andrea Baiocchi DIET - Stanza 107, 1 piano palazzina P. Piga Via Eudossiana 18

CSCE 463/612 Networks and Distributed Processing Spring 2017

Routing Unicast routing protocols

Subnets. IP datagram format. The Internet Network layer. IP Fragmentation and Reassembly. IP Fragmentation & Reassembly. IP Addressing: introduction

CPSC 826 Internetworking. The Network Layer: Routing & Addressing Outline. The Network Layer

Master Course Computer Networks IN2097

Router Architecture Overview

Chapter 4: Network Layer. Chapter 4 Network Layer. Chapter 4: Network Layer. Network layer. Chapter goals:

Introduction to Communication Networks Spring Unit 16 Global Internetworking

CS/ECE 438: Communication Networks Fall Network Layer

Network layer: Overview. Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing

Internet Protocol: Routing Algorithms. Srinidhi Varadarajan

Transcription:

Chapter 5 Network Layer: The Control Plane A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations; and can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following: If you use these slides (e.g., in a class) that you mention their source (after all, we d like people to use our book!) If you post any slides on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Thanks and enjoy! JFK/KWR All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach 7 th edition Jim Kurose, Keith Ross Pearson/Addison Wesley April 2016 5-1

Chapter 5: outline 5.1 introduction 5.2 routing protocols link state distance vector 5.3 intra-as routing in the Internet: OSPF 5.4 routing among the ISPs: BGP 5.5 The SDN control plane 5.6 ICMP: The Internet Control Message Protocol 5.7 Network management and SNMP 5-2

Internet inter-as routing: BGP BGP (Border Gateway Protocol): the de facto inter-domain routing protocol glue that holds the Internet together BGP provides each AS a means to: ebgp: obtain subnet reachability information from neighboring ASes ibgp: propagate reachability information to all ASinternal routers. determine good routes to other networks based on reachability information and policy allows subnet to advertise its existence to rest of Internet: I am here 5-3

ebgp, ibgp connections 2b 1b 2a 2c 3b 1a 1c 2d 3a 3c 1d AS 2 3d AS 1 ebgp connectivity ibgp connectivity AS 3 1c gateway routers run both ebgp and ibgp protocols 5-4

BGP basics BGP session: two BGP routers ( peers ) exchange BGP messages over semi-permanent TCP connection: advertising paths to different destination network prefixes (BGP is a path vector protocol) when AS3 gateway router 3a advertises path AS3,X to AS2 gateway router 2c: AS3 promises to AS2 it will forward datagrams towards X AS 1 1b AS 3 3b 1a 1d 1c AS 2 2a 2b 2c 3a 3d 3c BGP advertisement: AS3, X X 2d 5-5

Path attributes and BGP routes advertised prefix includes BGP attributes prefix + attributes = route two important attributes: AS-PATH: list of ASes through which prefix advertisement has passed NEXT-HOP: indicates specific internal-as router to nexthop AS Policy-based routing: gateway receiving route advertisement uses import policy to accept/decline path (e.g., never route through AS Y). AS policy also determines whether to advertise path to other other neighboring ASes 5-6

BGP path advertisement AS1 1b AS3 3b 1a 1d 1c AS2,AS3,X AS2 2a 2b 2c 3a AS3,X 3d 3c X 2d AS2 router 2c receives path advertisement AS3,X (via ebgp) from AS3 router 3a Based on AS2 policy, AS2 router 2c accepts path AS3,X, propagates (via ibgp) to all AS2 routers Based on AS2 policy, AS2 router 2a advertises (via ebgp) path AS2, AS3, X to AS1 router 1c 5-7

BGP path advertisement AS1 1b AS3 3b 1a 1d 1c AS2,AS3,X AS2 2a 2b 2c 3a AS3,X 3d 3c X 2d gateway router may learn about multiple paths to destination: AS1 gateway router 1c learns path AS2,AS3,X from 2a AS1 gateway router 1c learns path AS3,X from 3a Based on policy, AS1 gateway router 1c chooses path AS3,X, and advertises path within AS1 via ibgp 5-8

BGP messages BGP messages exchanged between peers over TCP connection BGP messages: OPEN: opens TCP connection to remote BGP peer and authenticates sending BGP peer UPDATE: advertises new path (or withdraws old) KEEPALIVE: keeps connection alive in absence of UPDATES; also ACKs OPEN request NOTIFICATION: reports errors in previous msg; also used to close connection 5-9

BGP, OSPF, forwarding table entries Q: how does router set forwarding table entry to distant prefix? AS1 1a 1 local link interfaces at 1a, 1d 2 2 1b 1d 1 1c AS2,AS3,X AS2 2a 2b 2d 2c AS3 3a AS3,X 3b 3d 3c physical link X dest X interface 1 recall: 1a, 1b, 1c learn about dest X via ibgp from 1c: path to X goes through 1c 1d: OSPF intra-domain routing: to get to 1c, forward over outgoing local interface 1 5-10

BGP, OSPF, forwarding table entries Q: how does router set forwarding table entry to distant prefix? AS1 1a 1 2 1b 1d 1c AS2 2b AS3 3a 3b 3d 3c X 2a 2c 2d dest X recall: 1a, 1b, 1c learn about dest X via ibgp from 1c: path to X goes through 1c 1d: OSPF intra-domain routing: to get to 1c, 2 forward over outgoing local interface 1 1a: OSPF intra-domain routing: to get to 1c, interface forward over outgoing local interface 2 5-11

BGP route selection router may learn about more than one route to destination AS, selects route based on: 1. local preference value attribute: policy decision 2. shortest AS-PATH 3. closest NEXT-HOP router: hot potato routing 4. additional criteria 5-12

Hot Potato Routing AS1 1b AS3 3b 1a 1d 1c AS1,AS3,X AS2 2a 2b 2d 152 112 201 263 2c 3a AS3,X 3c 3d X OSPF link weights 2d learns (via ibgp) it can route to X via 2a or 2c hot potato routing: choose local gateway that has least intradomain cost (e.g., 2d chooses 2a, even though more AS hops to X): don t worry about inter-domain cost! 5-13

BGP: achieving policy via advertisements W A B C X legend: provider network customer network: Y Suppose an ISP only wants to route traffic to/from its customer networks (does not want to carry transit traffic between other ISPs) A advertises path Aw to B and to C B chooses not to advertise BAw to C: B gets no revenue for routing CBAw, since none of C, A, w are B s customers C does not learn about CBAw path C will route CAw (not using B) to get to w 5-14

BGP: achieving policy via advertisements W A B C X legend: provider network customer network: Y Suppose an ISP only wants to route traffic to/from its customer networks (does not want to carry transit traffic between other ISPs) A,B,C are provider networks X,W,Y are customer (of provider networks) X is dual-homed: attached to two networks policy to enforce: X does not want to route from B to C via X.. so X will not advertise to B a route to C 5-15

Why different Intra-, Inter-AS routing? policy: inter-as: admin wants control over how its traffic routed, who routes through its net. intra-as: single admin, so no policy decisions needed scale: hierarchical routing saves table size, reduced update traffic performance: intra-as: can focus on performance inter-as: policy may dominate over performance 5-16

Chapter 5: outline 5.1 introduction 5.2 routing protocols link state distance vector 5.3 intra-as routing in the Internet: OSPF 5.4 routing among the ISPs: BGP 5.5 The SDN control plane 5.6 ICMP: The Internet Control Message Protocol 5.7 Network management and SNMP 5-17

Software defined networking (SDN) Internet network layer: historically has been implemented via distributed, per-router approach monolithic router contains switching hardware, runs proprietary implementation of Internet standard protocols (IP, RIP, IS-IS, OSPF, BGP) in proprietary router OS (e.g., Cisco IOS) different middleboxes for different network layer functions: firewalls, load balancers, NAT boxes,.. ~2005: renewed interest in rethinking network control plane 5-18

Recall: per-router control plane Individual routing algorithm components in each and every router interact with each other in control plane to compute forwarding tables Routing Algorithm control plane data plane 5-19

Recall: logically centralized control plane A distinct (typically remote) controller interacts with local control agents (CAs) in routers to compute forwarding tables Remote Controller CA CA CA CA CA control plane data plane 5-20

Software defined networking (SDN) Why a logically centralized control plane? easier network management: avoid router misconfigurations, greater flexibility of traffic flows table-based forwarding (recall OpenFlow API) allows programming routers centralized programming easier: compute tables centrally and distribute distributed programming: more difficult: compute tables as result of distributed algorithm (protocol) implemented in each and every router open (non-proprietary) implementation of control plane 5-21

Analogy: mainframe to PC evolution * Specialized Applications Specialized Operating System Specialized Hardware Ap App p Ap p Windows (OS) Ap p Ap p Ap p Ap p Ap p Ap p Open Interface or Linux or Open Interface Ap p Microprocessor Ap p Mac OS Vertically integrated Closed, proprietary Slow innovation Small industry Horizontal Open interfaces Rapid innovation Huge industry * Slide courtesy: N. McKeown 5-22

Traffic engineering: difficult traditional routing 5 u 1 2 v x 2 3 1 3 w y 1 5 2 z Q: what if network operator wants u-to-z traffic to flow along uvwz, x-to-z traffic to flow xwyz? A: need to define link weights so traffic routing algorithm computes routes accordingly (or need a new routing algorithm)! Link weights are only control knobs : wrong! 5-23

Traffic engineering: difficult 5 u 1 2 v x 2 3 1 3 w y 1 5 2 z Q: what if network operator wants to split u-to-z traffic along uvwz and uxyz (load balancing)? A: can t do it (or need a new routing algorithm) 5-24

Traffic engineering: difficult 5 u 1 2 v v x x 2 3 1 3 w w y y 1 5 2 z z Q: what if w wants to route blue and red traffic differently? A: can t do it (with destination based forwarding, and LS, DV routing) 5-25

Software defined networking (SDN) 4. programmable control applications routing access control Remote Controller load balance 3. control plane functions external to dataplane switches control plane data plane CA CA CA CA CA 2. control, data plane separation 1: generalized flowbased forwarding (e.g., OpenFlow) 5-26

SDN perspective: data plane switches Data plane switches fast, simple, commodity switches implementing generalized data-plane forwarding (Section 4.4) in hardware switch flow table computed, installed by controller API for table-based switch control (e.g., OpenFlow) defines what is controllable and what is not protocol for communicating with controller (e.g., OpenFlow) routing network-control applications access control load balance northbound API SDN Controller (network operating system) southbound API control plane data plane 5-27 SDN-controlled switches

SDN perspective: SDN controller SDN controller (network OS): maintain network state information interacts with network control applications above via northbound API interacts with network switches below via southbound API implemented as distributed system for performance, scalability, fault-tolerance, robustness routing network-control applications access control load balance northbound API SDN Controller (network operating system) southbound API control plane data plane 5-28 SDN-controlled switches

SDN perspective: control applications network-control apps: brains of control: implement control functions using lower-level services, API provided by SDN controller unbundled: can be provided by 3 rd party: distinct from routing vendor, or SDN controller routing network-control applications access control load balance northbound API SDN Controller (network operating system) control plane southbound API data plane 5-29 SDN-controlled switches

Components of SDN controller Interface layer to network control apps: abstractions API Network-wide state management layer: state of networks links, switches, services: a distributed database communication layer: communicate between SDN controller and controlled switches routing network graph Network-wide distributed, robust state management Link-state info statistics OpenFlow access control RESTful API host info load balance Interface, abstractions for network control apps flow tables SNMP intent switch info Communication to/from controlled devices SDN controller 5-30

OpenFlow protocol OpenFlow Controller operates between controller, switch TCP used to exchange messages optional encryption three classes of OpenFlow messages: controller-to-switch asynchronous (switch to controller) symmetric (misc) 5-31

OpenFlow: controller-to-switch messages Key controller-to-switch messages features: controller queries switch features, switch replies configure: controller queries/sets switch configuration parameters modify-state: add, delete, modify flow entries in the OpenFlow tables packet-out: controller can send this packet out of specific switch port OpenFlow Controller 5-32

OpenFlow: switch-to-controller messages Key switch-to-controller messages packet-in: transfer packet (and its control) to controller. See packetout message from controller flow-removed: flow table entry deleted at switch port status: inform controller of a change on a port. OpenFlow Controller Fortunately, network operators don t program switches by creating/sending OpenFlow messages directly. Instead use higher-level abstraction at controller 5-33

SDN: control/data plane interaction example network graph statistics Link-state info s1 Dijkstra s link-state Routing 3 4 5 OpenFlow 1 2 RESTful API host info s3 s2 flow tables SNMP s4 intent switch info 1 2 3 4 S1, experiencing link failure using OpenFlow port status message to notify controller SDN controller receives OpenFlow message, updates link status info Dijkstra s routing algorithm application has previously registered to be called when ever link status changes. It is called. Dijkstra s routing algorithm access network graph info, link state info in controller, computes new routes 5-34

SDN: control/data plane interaction example Dijkstra s link-state Routing network graph statistics 3 Link-state info 4 5 2 OpenFlow RESTful API host info flow tables SNMP intent switch info 5 6 link state routing app interacts with flow-table-computation component in SDN controller, which computes new flow tables needed Controller uses OpenFlow to install new tables in switches that need updating 1 s1 s3 s2 s4 5-35

OpenDaylight (ODL) controller Network service apps Access Control Traffic Engineering REST API Basic Network Service Functions topology manager forwarding manager switch manager host manager Service Abstraction Layer (SAL) stats manager ODL Lithium controller network apps may be contained within, or be external to SDN controller Service Abstraction Layer: interconnects internal, external applications and services OpenFlow 1.0 SNMP OVSDB 5-36

ONOS controller Network control apps REST hosts devices API Intent statistics device link host flow packet OpenFlow Netconf OVSDB northbound abstractions, protocols paths flow rules topology links ONOS distributed core southbound abstractions, protocols control apps separate from controller intent framework: high-level specification of service: what rather than how considerable emphasis on distributed core: service reliability, replication performance scaling 5-37

SDN: selected challenges hardening the control plane: dependable, reliable, performance-scalable, secure distributed system robustness to failures: leverage strong theory of reliable distributed system for control plane dependability, security: baked in from day one? networks, protocols meeting mission-specific requirements e.g., real-time, ultra-reliable, ultra-secure Internet-scaling 5-38

Chapter 5: outline 5.1 introduction 5.2 routing protocols link state distance vector 5.3 intra-as routing in the Internet: OSPF 5.4 routing among the ISPs: BGP 5.5 The SDN control plane 5.6 ICMP: The Internet Control Message Protocol 5.7 Network management and SNMP 5-39

ICMP: internet control message protocol used by hosts & routers to communicate networklevel information error reporting: unreachable host, network, port, protocol echo request/reply (used by ping) network-layer above IP: ICMP msgs carried in IP datagrams ICMP message: type, code plus first 8 bytes of IP datagram causing error Type Code description 0 0 echo reply (ping) 3 0 dest. network unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable 3 3 dest port unreachable 3 6 dest network unknown 3 7 dest host unknown 4 0 source quench (congestion control - not used) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header 5-40

Traceroute and ICMP source sends series of UDP segments to destination first set has TTL =1 second set has TTL=2, etc. unlikely port number when datagram in nth set arrives to nth router: router discards datagram and sends source ICMP message (type 11, code 0) ICMP message include name of router & IP address when ICMP message arrives, source records RTTs stopping criteria: UDP segment eventually arrives at destination host destination returns ICMP port unreachable message (type 3, code 3) source stops 3 probes 3 probes 3 probes 5-41

Chapter 5: outline 5.1 introduction 5.2 routing protocols link state distance vector 5.3 intra-as routing in the Internet: OSPF 5.4 routing among the ISPs: BGP 5.5 The SDN control plane 5.6 ICMP: The Internet Control Message Protocol 5.7 Network management and SNMP 5-42

What is network management? autonomous systems (aka network ): 1000s of interacting hardware/software components other complex systems requiring monitoring, control: jet airplane nuclear power plant others? "Network management includes the deployment, integration and coordination of the hardware, software, and human elements to monitor, test, poll, configure, analyze, evaluate, and control the network and element resources to meet the real-time, operational performance, and Quality of Service requirements at a reasonable cost." 5-43

Infrastructure for network management definitions: managing entity managing entity network management protocol data agent data managed device agent data managed device agent data managed device agent data managed device agent data managed device managed devices contain managed objects whose data is gathered into a Management Information Base (MIB) 5-44

SNMP protocol Two ways to convey MIB info, commands: managing entity managing entity request response trap msg agent data agent data managed device managed device request/response mode trap mode 5-45

SNMP protocol: message types Message type GetRequest GetNextRequest GetBulkRequest Function manager-to-agent: get me data (data instance, next data in list, block of data) InformRequest manager-to-manager: here s MIB value SetRequest manager-to-agent: set MIB value Response Agent-to-manager: value, response to Request Trap Agent-to-manager: inform manager of exceptional event 5-46

SNMP protocol: message formats Get/set header Variables to get/set PDU type (0-3) Request ID Error Status (0-5) Error Index Name Value Name Value. PDU type 4 Enterprise Agent Addr Trap Type (0-7) Specific code Time stamp Name Value. Trap header Trap info SNMP PDU More on network management: see earlier editions of text! 5-47

Chapter 5: summary we ve learned a lot! approaches to network control plane per-router control (traditional) logically centralized control (software defined networking) traditional routing algorithms implementation in Internet: OSPF, BGP SDN controllers implementation in practice: ODL, ONOS Internet Control Message Protocol network management next stop: link layer! 5-48