CS-GY 6843 Chapter 5
What is RFC: 7868 EIGRP?
-DV based -formerly Cisco-proprietary for decades
What is OpenFlow protocol?
-operates between controller, switch
What is communication of SDN controller?
communicate between SDN controller and controlled switches
What are network-control apps in SDN?
-"brains" of control: implement control functions using lower-level services, API provided by SDN controller -unbundled: can be provided by 3rd party: distinct from routing vendor, or SDN controller
What is the synopsis of OSPF?
-"open": publicly available -classic link-state -each router floods OSPF link-state advertisements (directly over IP rather than using TCP/UDP) to all routers in entire AS -multiple link costs metrics possible: bandwidth, delay -each router has full topology, uses Dijkstra's algorithm to compute forwarding table -security: all OSPF messages authenticated
What is <get-config>? What is <get>? What is <edit-config>? What is <lock>, <unlock>? What is <create-subscription>? What is <notification>?
-<get-config>: Retrieve all or part of a given configuration. -<get>: Retrieve all or part of both configuration state and operation state and operational state data. -<edit-config>: change specified (possibly running) configuration at managed device -<lock>, <unlock>: Lock (unlock) configuration at managed device. -<create-subscription>, <notification>: Enable event notification from managed device
What is Internet inter-AS routing?
-BGP (Border Gateway Protocol) : the de facto inter-domain routing protocol -glue that holds the Internet together -allows subnet to advertise its expertise, and the destinations it can reach, to rest of Internet: "I am here, here is who I can reach, and how" -BGP provides each AS a means to: -eBGP: obtain readability information from neighboring ASes -iBGP: propagate reachability information to all AS-internal routers. -determine "good" routes to other networks based on reachability information and policy
What are 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
What is the purpose of the BGP session?
-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)
What is w wants to route blue and red traffic differently from w to z?
-Can't do it (with destination-based forwarding, and LS, DV routing)
What is BGP: achieving policy via advertisements (more)?
-ISP only wants to route traffic to/from its customer networks (does not want to carry transit traffic between other ISPs - a typical "real world" policy) -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 to a route to C
What is BGP: achieving policy via advertisements?
-ISP only wants to route traffic to/from its customer networks (does not want) to carry transit traffic between other ISPs - a typical "real world" policy -A advertises 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
What is Software defined networking (SDN)?
-Internet network layer: historically implemented via distributed, per-router control 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 "middle-boxes" for different network layer functions: firewalls, load balancers, NAT boxes, .. -~2005: renewed interest in rethinking network control plane
What is administrative autonomy?
-Internet: a network or networks -each network admin may want to control routing in its own network
Why is ICMP (internet control message protocol) used?
-It is used by hosts and routers to communicate network-level information. -error reporting: unreachable host, network, port, protocol -echo request/reply (used by ping) -It is network-layer "above" IP: -ICMP messages carried in IP datagrams
What is the comparison of LS and DV when specifying about the speed of convergence?
-LS: O(n^2) algorithm, O(n^2) messages may have oscillations -DV: convergence time varies -may have routing loops -count-to-infinity problem
What is the comparison of LS and DV when specifying about the message complexity?
-LS: n routers, O(n^2) messages sent -DV: exchange between neighbors: convergence time varies
What is the most common intra-AS routing protocols?
-RIP: Routing Information Protocol -EIGRP: Enhanced Interior Gateway Routing Protocol -OSPF: Open Shortest Path First
What is OpenDaylight (ODL) controller?
-Service Abstraction Layer: -interconnects internal, external applications and services
What is Dijkstra's algorithm overall?
-algorithm complexity: n nodes -each of n iteration: need to check all nodes, w, not in N -n(n+1)/2 comparisons: O(n^2) complexity -more efficient implementations possible: O(nlogn) -message complexity : -each router must broadcast its link state information to other n routers -efficient (and interesting!) broadcast algorithms O(n) link crossings to disseminate a broadcast message from one source -each router's message crosses O(n) links: overall message complexity: O(n^2)
What if network operator wants to split u-to-z traffic along uvwz and uxyz (load balancing)?
-can't do it (or need a new routing algorithm)
What is Dijkstra's link-state routing algorithm?
-centralized: network topology, link costs known to all nodes -accomplished via "link state broadcast" -all nodes have same info -computes at least cost paths from one node ("source") to all other nodes -gives forwarding table for that node -iterative: after k iterations, know least cost path to k destinations -notation -Cx,y: direct link cost from node x to y; = infinity if not direct neighbors -D(v): current estimate of cost of least-cost-path from source to destination v -p(v): predecessor node along path from source to v -N': set of nodes whose least-cost-path definitely known
What is RFC 1723: RIP?
-classic DV: DVs exchanged every 30 secs -no longer widely used
What is ONOS controller?
-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
What are three classes of OpenFlow messages?
-controller-to-switch -asynchronous -symmetric
What is YANG?
-data modeling language used to specify structure, syntax, semantics of NETCONF network management data -XML document describing device, capabilities can be generated from YANG description -can express constraints among data that must be satisfied by a valid NETCONF configuration
What is iterative, asynchronous in distance vector algorithm?
-each local iteration caused by: -local link cost changed -DV update message from neighbor
What is distributed, self-stopping in distance vector algorithm?
-each node notifies neighbors only when its DV changes -neighbors then notify their neighbors (only if necessary) -no notification received; no actions taken!
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 -foster innovation: let 1000 flowers bloom
What are data plane switches in SDN?
-fast, simple, commodity switches implementing generalized data-plane forwarding (Section 4.4) in hardware -flow (forwarding) table computed, installed under controller supervision -API for table-based switch control (e.g., OpenFlow) -defines what is controllable, what is not -protocol for communicating with controller (e.g., OpenFlow)
What is key controller-to-switch messages? What is features? What is configure? What is modify-state? What is packet-out? What is packet-in? What is flow-removed? What is port status?
-features: controller queries/sets switch configuration parameters -configure: controller queries/sets switch configuration parameters -modify-state: add, delete, modify flow entires in the OpenFlow tables -packet-out: controller can send this packet out of specific switch port -packet-in: transfer packet to controller. See packet-out message from controller -flow-removed: flow table entry deleted at switch -port status: inform controller of a change on a port.
What is Interconnected ASes?
-forwarding table configured by intra- and inter-AS routing algorithms -intra-AS routing determine entries for destinations within AS -inter-AS & intra-AS determine entries for external destinations
What is the key idea in the distance vector algorithm?
-from time-to-time, each node sends its distance vector estimate to its neighbors -when x receives new DV estimate from any neighbor, it updates its own DV using B-F equation: Dx(y) <- min v{C x,v + D v(y)} for each node y ∊ N -under minor, natural conditions, the estimate Dx(y) converge to the actual least cost dx(y)
What is policy-based routing?
-gateway receiving route advertisement uses import policy to accept/decline path -AS policy also determines whether to advertise path to other other neighboring ASes
What is 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 source -Internet-scaling: beyond a single AS -SDN critical in 5G cellular networks
In terms of scale, what is the difference between inter-AS and intra-AS?
-hierarchical routing saves table size, reduced update traffic
What is 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 real-time, operational performance, and Quality of Service requirements at a reasonable cost.
In terms of policy, what is the difference between inter-AS and intra-AS?
-inter-AS: admin wants to control over how its traffic routed, who routes through its network -intra-AS: single admin, so policy less of an issue
What are the components of SDN controller?
-interface layer to network control apps -network-side state management -communication
In terms of performance, what is the difference between intra-AS and inter-AS?
-intra-AS: can focus on performance -inter-AS: policy dominates over performance
What is RFV: 2328 OSPF?
-link-stating routing -IS-IS protocol (ISO standard, not RFVC standard) essentially same as OSPF
What is a SDN controller (network OS) in SDN?
-maintain network state information -interacts with network control applications "above" via northbound API -interacts with network switches "below" via southbound "below" via southbound API -implemented as distributed system for performance, scalability, fault-tolerance, robustness
What is SNMP: Management Base (MIB)?
-managed device's operational data -gathered into device MIB module
What is NETCONF/YANG n network operator in approaching to management?
-more abstract, network-wide, holistic -emphasis on multi-device configuration management. -YANG: data modeling language -NETCONF: communicate YANG-compatible actions/data to/from/among remote devices
What if network operator wants u-to-z traffic to flow along uvwz, rather than uxyz?
-need to re-define link weights so traffic routing algorithm computes routes accordingly (or need a new routing algorithm)!
What is "BGP advertised route"?
-prefix+attributes -prefix: destination being advertised -two important attributes: -AS-PATH: list of ASes through which prefix advertisement has passed -NEXT-HOP: indicates specific internal-AS router to next-hop AS
What are the two ways to convey MIB info, commands?
-request/response mod -trap mode
What is 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
What is inter-AS (aka "inter domain")?
-routing among AS'es -gateways perform inter-domain routing (as well as intra-domain routing)
What is Intra-AS (aka "intra-domain")?
-routing among within same AS ("network") -all routers in AS must run same intra-domain protocol -routers in different AS can run different intra-domain routing protocols -gateway-router: at "edge" of its own AS, has link(s) to router(s) in other AS'es
In trace-route, what does source send to the destination?
-source sends sets of UDP segments to destination
what is Hierarchical OSPF? what does the area border routers do? what does the local routers do? what is boundary router? what is backbone router?
-two-level hierarchy: local area, backbone. -link-state advertisements flooded only in area, or backbone -each node has detailed area topology; only knows direction to reach other destination. -area border routers: "summarize" distances to destinations in own area, advertise in backbone -local routers: flood LS in area only, compute routing within area, forward packets to outside via area border router -boundary router: connects to other ASes -backbone router: runs OSPF limited to backbone
What is Dijkstra's algorithm: oscillations possible?
-when link costs depend on traffic volume, route oscillations possible -sample scenario: -routing to destination a, traffic entering at d, c, e with rates 1, e (<1), 1 -link costs are directional, and volume-dependent
What does it look like for SDN: control/data plane to interact?
1) S1, experiencing link failure uses OpenFlow port status message to notify controller 2) SDN controller receives OpenFlow message, updates link status information 3) Dijkstra's routing algorithm application has previously registered to be called when ever link status changes. It is called. 4) Dijkstra's routing algorithm access network graph info, link state info in controller, computes new route 5)link-state routing app interacts with flow-table-computation component in SDN controller, which computes new flow tables needed 6)controller uses OpenFlow to install new tables in switches that need updating
What is the simulation of the Inter-AS routing process?
1) learn which destinations reachable through AS2, which through AS3 2) propagate this reachability info at routers in AS1
What is Trap in SNMP protocol?
Agent-to-manager: inform manager of exceptional event
What is Response in SNMP protocol?
Agent-to-manager; value, response to Request
What is distance vector algorithm?
Based on Bellman-Ford (BF) equation (dynamic programming): -Bellman-Ford Equation: Let Dx(y): cost of least-cost path from x to y. Then: Dx (y) = min v { cx,v + Dv (y) }
What is Per-router control plane?
Individual routing algorithm components in each and every router interact in the control plane to computer forwarding tables.
What are two approaches for making the Internet scalable?
Intra-AS (aka "intra-domain") and inter-AS (aka "inter-domain")
What are routing protocol goal?
It determines "good" paths (equivalently, routes), from sending hosts to receiving host, through network of routers.
What is data in network management?
It is a device "state" configuration data, operational data, device statistics.
What is distance vector state information diffusion?
It is a routing technique that maintains a table for communication taking place, and employs diffusion (not flooding) for information exchange between neighbors. All the nodes must calculate the shortest path towards the destination using the routing information of their neighbors.
What is managed device in network management?
It is an equipment with manageable configurable hardware, software components.
What is path defined as in routing protocols?
It is sequence of routers packets traverse from given initial source host to final destination host.
What is network management protocol in network management?
It is used by managing server to query, configure, manage device; used by devices to inform managing server of data, events
When ICMP message arrives at the source, what does it do?
It records RTTs
What is the comparison between LS and DV when specifying about the robbustness?
LS: router can advertise incorrect link cost and each router computes only its own table DV: DV router can advertise incorrect path cost ("I have really low cost path to everywhere"): black-holing. Each router's table used by others: error propagate thru network
What is SDN control plane?
Remote controller computes, installs forwarding tables in routers.
What is Hot potato routing?
Sending packet towards closest of two routers
What is distance vector: link cost changes?
There are following link cost changes: -node detects local link cost change -updates routing information, recalculates local DV -if DV changes, notify changes -"bad news travels slow": count-to-infinity problem
What is the interface in component of SDN controller?
abstractions of API
What is NETCONF overview?
actively manage/configure devices network-wide
What is "global" in routing algorithm?
all routers have complete topology, link cost info -"link state" algorithms
What is managing server in network management?
application, typically with network managers (humans) in the loop
What is Structure of Management Information (SMI)?
data definition language
How does distance vector algorithm work?
each node: -wait for (change in local link cost or msg from neighbor) -recompute DV estimates using DV received from neighbor -if DV to any destination has changed, notify neighbors
What is "decentralized" in routing algorithm?
iterative process of computation, exchange of info with neighbors -routers initially only know link costs to attached neighbors -"distance vector" algorithms
What is "good" described as in the routing protocols?
least "cost", "fastest", "least congested"
What is the function of GetRequest, GetNextRequest, GetBulkRequest in SNMP protocol?
manager-to-agent: "get me data" (data instance, next data in list, block of data).
What is SetRequest in SNMP protocol?
manager-to-agent: set MIB value
What are the components of network management?
managing server, network management protocol, and managed device
What is the difference between SDN-computed versus router-computer forwarding tables?
one example of logically-centralized-computed versus protocol computed
Where does NETCONF operate?
operates between managing server and managed network devices
What is CLI (Command Line Interface) in network operator in approaching to management?
operator issues (types, scripts) direct to individual devices (ssh)
What is SNMP/MIB in network operator in approaching to management?
operator queries/sets devices data (MIB) using Simple Network Management Protocol (SNMP)
What is "dynamic" in routing protocols?
routes change more quickly -periodic updates or in response to link cost changes
What is "static" in routing algorithm?
routes change slowly over time
What is network-wide state management of SDN controller?
state of networks links, switches, services: a distributed database
What does ICMP message consist of?
type, code plus first 8 bytes of IP datagram causing error