3. Advanced Routing Mechanisms PA191: Advanced Computer Networking Eva Hladká Slides by: Tomáš Rebok Faculty of Informatics Masaryk University Autumn 2015 Eva Hladká (Fl M 3. Advanced Routing Mechanisms Autumn 2015 1 / 126 Lecture Overview Q Routing: Recapitulation • Distributed Routing • Autonomous Systems Q Distance Vector Routing Protocols • RIP protocol • IGRP protocol • EIGRP protocol • Comparison Q Link State Routing Protocols • OSPF Protocol • IS-IS Protocol Q Path Vector Routing Protocols • BGP Protocol Q Router Architectures • Router Introduction • IP Address Lookup Algorithms • IP Packet Filtering and Classification Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 2 / 126 Lecture Overview II Q Traffic Engineering in IP Networks • Introduction • Discovering Network Utilization • Discovering Network Topology • Links' Weights Computation O Multiprotocol Label Switching • MPLS • Generalized MPLS • Grid-enabled GMPLS Q QoS-Based Routing Q Advanced Routing Mechanisms: Literature Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 3 / 126 Routing: Recapitulation Lecture Overview I Routing: Recapitulation • Distributed Routing • Autonomous Systems Q Distance Vector Routing Protocols • RIP protocol • IGRP protocol • EIGRP protocol • Comparison Q Link State Routing Protocols • OSPF Protocol • IS-IS Protocol Q Path Vector Routing Protocols • BGP Protocol Q Router Architectures • Router Introduction • IP Address Lookup Algorithms • IP Packet Filtering and Classification Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 4 / 126 Routing: Recapitulation Lecture Overview II ^ Traffic Engineering in IP Networks • Introduction • Discovering Network Utilization • Discovering Network Topology • Links' Weights Computation Q Multiprotocol Label Switching • MPLS • Generalized MPLS • Grid-enabled GMPLS Q QoS-Based Routing Q Advanced Routing Mechanisms: Literature Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 5 / 126 Routing in General • Internet on the L3 - datagram apporach to packet switching • upper layer data are encapsulated into datagrams • datagrams (their fragments) travel through the network independently on each other • the global knowledge of the network's topology is problematic A Routing = the process of finding a path in the network between two communicating nodes • the route/path has to satisfy certain constraints • influenced by several factors: • static ones: network topology • dynamic ones: network load Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 6 / 12 Routing: Recapitulation A Real Network Example Core Router [P], 0SR7609 PoP Liberec Aooess Router [PE], OSR7609 ,' \ PoP Hradec \ Králové L2/L3 Aoess Switch [CE] / pionier AS8501 ; Děčín PoPlMost Telial AS1299 vnix2-gts; .'194.50.100.x , gn2' backup .AS 20965 PoP Praha i. ,> gn2 ; ; AS 20965 ; .'ams-ix \ .twaren-, \ AS7539 / \ PoP Plzeň Cheb PoP Praha ii. 40 Gbps 10 GE 1 GE Karviná R,n3.--- :• six PoP Brno i. san et AS2607 aconet AS 1853 PoP České -Budějovice Jindřichův Hradec net i. vix Figure: The topology of the IP/MPLS layer of the CESNET2 network. Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 7 / 126 Routing - the goal the main goal of routing is: • to find optimal paths • the optimality criterion is a metric - a cost assigned for passing through a network • to deliver a data packet to its receiver the routing usually does not deal with the whole packet path • the router deals with just a single step - to whom should be the particular packet forwarded • somebody "closer" to the recipient • so-called hop-by-hop principle • the next router then decides, what to further do with the received packet Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 Routing: Recapitulation Routing - Mathematical View • the routing can be seen as a problem of graph theory • a network can be represented by a graph, where: • nodes represent routers (identified by their IP addresses) • edges represent routers' interconnection (a data link) • edges' value = the communication cost • based on the employer metric - hop count, links' delay, links' usage, etc. • the goal: to find paths having minimal costs between any two nodes in the network B D E J O M Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 9 / 126 Routing - Mathematical View Graph Theory Algorithms Two very important algorithms have profound impact on data networks: Bellman-Ford algorithm and Dijkstra's algorithm • both allow to compute shortest paths from a single source • to a single destination - Bellman-Ford, complexity O(LN) • to all the destinations - Dijkstra, complexity 0(A/2) (can be improved to 0(L + NlogN)) • both of them have centralized and distributed variants • variants for widest-path computation also exist • so-called widest-path routing algorithms • algorithms, that use a non-additive concave property to define distance cost between two nodes • e.g., bandwidth - the bandwidth of a path is determined by the link with the minimum available bandwidth • i.e., if m(P) = min{m(ni, /72), m(n2, /T3),m(nj, n7)} =4> concave property • further details: • PB165: Graphs and networks (prof. Matýska, doc. Hladká, doc. Rudová) Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 10 / 126 Routing: Recapitulation Routing - basic approaches r distributed hop-by-hop deterministic single-path dynamic path selection INTERNET vs. centralized vs. source-based vs. stochastic vs. multi-path vs. static path selection Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 11 / 126 Routing: Recapitulation Distributed Routing Distributed Routing - Basic Approaches Basic approaches to distributed routing: • Distance Vector (DV) - Bel I man-Ford algorithm • the neighboring routers periodically (or when the topology changes) exchange complete copies of their routing tables • based on the content of received updates, a router updates its information and increments its distance vector number • a metric indicating the number of hops in the network • i.e., "all pieces of information about the network just to my neighbors" • Link State (LS) - Dijkstra's algorithm • the routers periodically exchange information about states of the links, to which they are directly connected • they maintain complete information about the network topology -every router is aware of all the other routers in the network • once acquired, the Dijkstra algorithm is used for shortest paths computation • i.e., "information about just my neighbors to everyone" Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 12 / 126 Routing: Recapitulation Distributed Routing Distributed Routing - Link State vs. Distance Vector Link State Distance Vector Complexity: • every node has to know the cost of every link in the network =>• O(nE) messages • once a link state changes, the change has to be propagated to every node Speed of convergence: • 0(n ) alg., sends O(nE) messages • sustains from oscillations Robustness: • wrongly functional/compromised router spreads wrong information just about the links it is directly connected to • every router computes routing tables on its own =>• separated from routing information propagation =>• a form of robustness Usage: Complexity: • once a link state changes, the change has to be propagated just to the closest neighbors; it is further propagated just in cases, when the changed state leads to a change in the current shortest paths tree Speed of convergence: • may converge more slowly than LS • problems with routing loops/cycles, count-to-infinity problem Robustness: • bad computation is spread through the network =>• may lead to a "confusion" of other routers (bad routing tables) Usage: suitable just for smaller networks suitable for large networks Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 13/ Routing: Recapitulation Distributed Routing Distributed Routing - Path Vector Path Vector (PV) • a variant of DV routing • in comparison with the DV, whole paths are sent in the PV (not only the end nodes) • allows a simple detection of loops • allows a definition of rules/policies (friendly vs. non-friendly ASs) Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 14 / 126 Routing: Recapitulation Autonomous Systems Autonomous Systems • the goal of Internet's division into Autonomous Systems is: • a reduction of routing overhead • simpler routing tables, a reduction of exchanged information, etc. • a simplification of the whole network management • particular internets are managed by various institutions/organizations • autonomous systems = domains • a 16bit identifier is assigned to every AS/domain • Autonomous System Number (ASN) - RFC 1930 • assigned by ICANN (Internet Corporation For Assigned Names and Numbers) • correspond to administrative domains • networks and routers inside a single AS are managed by a single organization/institution • e.g., CESNET, PASNET, ... • a distinction according to the way an AS is connected to the Internet: • Stub AS • Multihomed AS • Transit AS Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 15 / 126 Routing: Recapitulation Autonomous Systems Autonomous Systems - routing • separated routing because of scalability reasons: • interior routing • routing inside an AS • under the full control of AS's administrator(s) • the primary goal is the performance • so-called Interior Gateway Protocols (IGP) (e.g., RIP, OSPF, (E)IGRP, IS-IS) • exterior routing • routing among ASs • the primary goal is the support of defined policies and scalability • so-called Exterior Gateway Protocols (EGP) (e.g., BGP-4) • a cooperation of interior and exterior routing protocols is necessary Routing: Recapitulation Autonomous Systems Autonomous Systems - routing AS 1 Figure: Interior (IGP) vs. Exterior (EGP) routing protocols. Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 17 / 126 Distance Vector Routing Protocols RIP protocol Lecture Overview I Q Routing: Recapitulation • Distributed Routing • Autonomous Systems Q Distance Vector Routing Protocols • RIP protocol • IGRP protocol • EIGRP protocol • Comparison Q Link State Routing Protocols • OSPF Protocol • IS-IS Protocol Q Path Vector Routing Protocols • BGP Protocol Q Router Architectures • Router Introduction • IP Address Lookup Algorithms • IP Packet Filtering and Classification Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Distance Vector Routing Protocols RIP protocol Lecture Overview II Q Traffic Engineering in IP Networks • Introduction • Discovering Network Utilization • Discovering Network Topology • Links' Weights Computation Q Multiprotocol Label Switching • MPLS • Generalized MPLS • Grid-enabled GMPLS Q QoS-Based Routing Q Advanced Routing Mechanisms: Literature Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Distance Vector Routing Protocols RIP protocol RIP protocol Routing Information Protocol (RIP) • the principal actor of the DV routing • RIPvl (RFC 1058) - the first routing protocol used in TCP/IP-based network in an intradomain environment • RIPv2 (RFC 1723) - adds several features (e.g., explicit masking and an authentication of routing information) • RIPng (RFC 2081) - RIPv2's extension to support IPv6 addresses/networks • the number of hops is used as a metric • transfer of a packet between two neighboring routers = 1 hop • the routers send the information periodically every 30 seconds • messages sent over UDP protocol • supports triggered updates when a state of a link changes • timeout 180s (detection of connection errors) • usage: • suitable for small networks and stable links • not advisable for redundant networks Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 20 / 126 Distance Vector Routing Protocols RIP protocol RIP protocol - version 1 Message Format I. 01234567012 3 456701234567012 3 4 5 67 Command (1 byte) Version (1 byte) Must be v.ero (2 bytes) Address Family of net 1 (2 bytes) Must be zero (2 bytes) IP Address of not 1 (4 bytes) Must be zero (4 bytes) Must be zero (4 byes) Hop Distance Metric to net 1 (4 bytes) 20 bytes Address Family of net N _(2 bytes)_ Must be zero (2 bytes) IP Address of net N (4 bytes) Must he zero (2 bytes) Must be zero (2 bytes) 1 lop Distance Metric to not N (4 bytes) Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 21 / 126 Distance Vector Routing Protocols RIP protocol RIP protocol - version 1 Message Format II. • Command - indicates, whether the message is a request (a router is asking its neighbor for DV information) or a response • Version - RIP version • Address family identifier - identifies the address family (set to 2 for the IP address family) • IP address - the destination network (identified by a subnet or a host) • Metric - hop count to the destination (a number in the range (1..16), 16 = infinity) RIPvl messages are broadcast. Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 22 / 126 Distance Vector Routing Protocols RIP protocol RIP protocol - version 1 Problems Analysis RIPvl suffers from several problems: • slow convergence and problems with routing loops/cycles - imposed by DV approach • infinity = 16 =4> the RIPvl cannot be used for networks with minimal amount of hops between any two routers > 15 • has no way (no field in the messages) to indicate anything specific about the network being addressed • RIPvl assumes that an address included follows a Class A, Class B, or Class C boundary implicitly • =^ it does NOT support variable length subnet masking Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 23 / 126 Distance Vector Routing Protocols RIP protocol RIP protocol - version 2 Message Format I. 01234567 012345670123456701234567 Command (1 byte) Version (1 byle) Unused (2 bytes) Address Family of net 1 (2 bytes) Route Tag {2 bytes) IP Address of net 1 (4 bytes) Subnet Mask to net 1 _(4 bytes)_ Next Hop (4 bytes) Hop Distance Metric to net 1 _(4 bytes)_ 20 bytes v Address Fa mil v of net N _(2 bytes)_ Route Tag (2 bytes) IP Address of net N (4 bytes) Subnet Mask of net K (4 bytes) Next Hop (4 bytes) Hop Distance Metric to net N (4 bytes) Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 24 / 126 Distance Vector Routing Protocols RIP protocol RIP protocol - version 2 Message Format II. New fields introduced by RIPv2: • Route tag - used to differentiate internal routes within a RIP routing domain from external routes (the ones obtained from an external routing protocol) • Subnet mask - allows routing based on subnet instead of doing classful routing (eliminates a major limitation of RIPvl) • Next hop - an advertising router might want to indicate a next hop that is different from itself RIPv2 messages are multicast on 224.0.0.9. Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 25 / 126 Distance Vector Routing Protocols IGRP protocol Interior Gateway Routing Protocol (IGRP) Interior Gateway Routing Protocol (IGRP): • developed by Cisco primarily to overcome the hop count limit and hop count metric of RIPvl • differs from the RIPvl in the following ways: • DV updates include five different metrics for each route • runs directly over IP with protocol (type field set to 9) • allows multiple paths for a route for the purpose of load balancing • external routes can be advertised • does NOT support variable length subnet masking Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 26 / 126 Distance Vector Routing Protocols IGRP protocol Interior Gateway Routing Protocol (IGRP) Message Format I. DlZ34567012345G701234567[>12 3 45fi7 14 bytes Version OPcodc (1 nibble) (1 nibble) Hdition (1 byte) Autonomous System Number (2 bytes) Number of Internal Routes (2 bytes) Number ol System Routes (2 bytes) Number of Fxterior Routes (2 bytes) Checksum (2 bytes) Destination (3 bytes) Delav (3 bytes) Delay Bandwidth (3 bytes) Bandwidth M (2b: ru Reliability (1 byte) Load (1 byte) Hop Count (1 byte) Destination Destination Delay (3 bytes) Bandwidth MTU (3 bytes) (2 bytes) MTU Reliability (1 byte) Load (lbyte) Hop Count (1 byte) Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 27 / 126 Distance Vector Routing Protocols IGRP protocol Interior Gateway Routing Protocol (IGRP) Message Format II. • Version - set to 1 ^ Opcode - ~ Command field in RIPvl ^ Edition - counter incremented by the sender (prevents from receiving an old update) ^ Autonomous system number - ID number of an IGRP process 0 Number of interior routes - a field to indicate the number of routing entries in an update message that are subnets of a directly connected network 9 Number of system routes - a counterpart of the number of interior routes ^ Number of exterior routes - the number of route entries that are default networks 9 Checksum - value calculated on the entire IGRP packet (header + entries) • Destination - the destination network for which the distance vector is generated (just 3B are used!) • Delay, Bandwidth, Reliability, Load - fields for composite metric computation • Hop count - a number between 0 and 255 used to indicate the number of hops to the destination • MTU - the smallest MTU of any link along the route to the destination IGRP messages are multicast on 224.0.0.10. Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 28 / 126 Distance Vector Routing Protocols IGRP protocol Interior Gateway Routing Protocol (IGRP) Composite Metric Computation I. The IGRP uses a composite metric to compute a link cost: • included to provide flexibility to compute better or more accurate routes from a link cost rather than just using a hop count • based on four factors: bandwidth (B), delay (D), reliability (R), and • along with five nonnegative real-number coefficients (Kl, K2, K3, K4, K5) for weighting these factors * set on the routers • The composite metric, C ("cost of a link"), is given as follows: load (L) B (/ Nil N9 NTO N12 Figure: The BGP's view of the Internet architecture. Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 44 / 126 Path Vector Routing Protocols BGP Protocol Border Gateway Protocol (BGP) III. Advertisements • the BGP basis upon advertisements sent among BGP peers: • sent through reliable point-to-point communication channels • TCP, port 179 • an advertisement consists of: • a destination network address (using CIDR notation) • path attributes (e.g., the ASs on the path, next-hop router, etc.) • once paths are advertised to an AS, a routing policy takes place • a routing policy defines, which ASs are allowed to transit data through the particular AS, to which ASs the data are allowed to be forwarded, etc. • peering contracts are big bussiness (no standards exist) • if a routing policy is not defined, the shortest path is chosen Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 45 / 126 Path Vector Routing Protocols BGP Protocol Border Gateway Protocol (BGP) III. Message Types • OPEN - initiates a BGP session between a pair of BGP routers • allows routers to introduce themselves and to announce their capabilities • includes router's authentication information • UPDATE • used to advertise routing information from one BGP router to another ("push model") • used to withdraw a previously announced advertisment • the advertised information is valid until being explicitly withdrawn! • KEEPALIVE • exchanged when there is no other traffic • allows the BGP routers to distinguish between a failed connection and a BGP peer that has nothing to say • NOTIFICATION - used to close a session or to report an error • e.g., rejecting an OPEN message or reporting a problem with UPDATE message • ROUTE-REFRESH - a specific request to re-advertise all of the routes in router's routing table using UPDATE messages • not defined in the original BGP-4 (RFC 1771), but added by RFC 2918 Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 46 / 126 Path Vector Routing Protocols BGP Protocol Border Gateway Protocol (BGP) IV Routing table size Prefixes announced on the Internet 350000 300000 250000 w 200000 CD X M— 2 Q- 150000 100000 50000 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008 2010 2012 Date Eva Hladká (Fl MU) Figure: The growth of the BGP Table. 3. Advanced Routing Mechanisms Autumn 2015 47 / 126 Path Vector Routing Protocols BGP Protocol Border Gateway Protocol (BGP) IV Number of ASs on the Internet 40000 35000 30000 25000 ^ 20000 15000 10000 5000 0 AS announced on the Internet 1998 2000 2002 2004 2006 2008 2010 2012 Date Figure: The number of autonomous systems on the Internet 3. Advanced Routing Mechanisms Eva Hladká (Fl MU) Autumn 2015 48 / 126 Path Vector Routing Protocols BGP Protocol Border Gateway Protocol (BGP) V. Internal BGP (IBGP) The basic problem: How to make external destinations (ASs) reachable from all the routers within an AS? Internal BGP (IBGP) • a mechanism to provide information about adjacent ASs to internal routers of a particular AS • all IBGP peers within a same AS are fully meshed • peer announces routes received via eBGP (external BGP) to IBGP peers • but: IBGP peers do not announce routes received via IBGP to other IBGP peers • the learned routes are further distributed via interior routing protocol (IGP) Router Architectures Router Introduction Lecture Overview I Q Routing: Recapitulation • Distributed Routing • Autonomous Systems ^ Distance Vector Routing Protocols • RIP protocol • IGRP protocol • EIGRP protocol • Comparison Q Link State Routing Protocols • OSPF Protocol • IS-IS Protocol Q Path Vector Routing Protocols • BGP Protocol Q Router Architectures • Router Introduction • IP Address Lookup Algorithms • IP Packet Filtering and Classification Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 50 / 126 Router Architectures Router Introduction Lecture Overview II Q Traffic Engineering in IP Networks • Introduction • Discovering Network Utilization • Discovering Network Topology • Links' Weights Computation Q Multiprotocol Label Switching • MPLS • Generalized MPLS • Grid-enabled GMPLS Q QoS-Based Routing Q Advanced Routing Mechanisms: Literature Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 51 / 126 Router Architectures Router Introduction Router Functions • a router must perform two fundamental tasks: routing and packet forwarding • the routing process constructs a view of the network topology and computes the best paths • based on the information exchanged between neighboring routers using routing protocols • the best paths are stored in a data structure called a forwarding table • the packet forwarding process moves a packet from an input interface ("ingress") to the appropriate output interface ("egress") • based on the information contained in the forwarding table • the performance of the forwarding process determines the overall performance of the router Route Exchanges With Neighbor Nodes Forwarding Table Route Exchanges With Neighbor Nodes Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 52 / 126 Router Architectures Router Introduction Router Functions Basic forwarding functions I. IP Header Validation • every IP packet arriving at a router needs to be validated • e.g., the version number of the protocol is correct, the header length is valid, checksum is correct, etc. Packet Lifetime Control • decrementing the TTL field to prevent packets from getting caught in the routing loops forever • it the TTL is zero or negative, the packet is discarded • and an ICMP message is generated and sent to the original sender Checksum Recalculation • since the value of the TTL has been modified, the header checksum needs to be updated Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 53 / 126 Router Architectures Router Introduction Router Functions Basic forwarding functions II. Route Lookup • packet destination address is used to search the forwarding table for determining the output port Fragmentation • the router needs to split the packet into multiple fragments when the MTU of the outgoing link is smaller than the size of the packet that needs to be transmitted Handling IP Options • a packet may indicate that it requires special processing needs at the router Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 54 / 126 Router Architectures Router Introduction Router Functions Complex forwarding functions Packet Classification • for distinguishing packets, a router might need to examine not only the destination IP address but also other fields • such as source address, destination port, and source port, etc. Packet Translation • a router that acts as a gateway to a NAT network needs to support network address translation Traffic Prioritization • a router might need to guarantee a certain quality of service to meet service level agreements Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 55 / 126 Router Architectures Router Introduction Router Functions Routing process functions Routing Protocols • routers need to implement different routing protocols (e.g., OSPF, BGP, and RIP) for maintaining peer relationships by sending and receiving route updates from adjacent routers System Configuration • a router needs to implement various functions enabling the operators to configure various administrative tasks • configuring the interfaces, routing protocol keep alives, rules for classifying packets, etc. Router Management • in addition to the configuration tasks, the router needs to be monitored for continuous operation • e.g., SNMP support Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 56 / 126 Router Architectures Router Introduction Router Elements Route Processor Card Port Card » I- Line Card CPU Route Control Processor Memory * 1 Output Network Interface [2 L3 Traffic Manager Input Network Interface 12 L3 Queue Manager Buffer Memory I Forwarding Engine -T------------------------- Ingress Packet Processing Line Card Queue Manager -orwarding Jable Traffic Manager Buffer Memory I Forwarding Engine I Backplane Switch Fabric Card Egress Packet Processing *-■*, L2 L3 L2 L3 Output Network Interface I Input Network Interface í Port Card Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 57/ Router Architectures Router Introduction Router Elements II. Network Interfaces • a network interface contains many ports that provide the connectivity to physical network links • a port is specific to a particular type of network physical medium (Ethernet, Sonet, etc.) Forwarding Engines • responsible for deciding to which network interface the incoming packet should be forwarded • by consulting a forwarding table = Address/Route Lookup Queue Manager • provides buffers for temporary storage of packets when an outgoing link from a router is overbooked • when these buffer queues overflow due to congestion, the queue manager selectively drops packets Traffic Manager • responsible for prioritizing and regulating the outgoing traffic, depending on the desired level of service Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 58 / 126 Router Architectures Router Introduction Router Elements III. Backplane • provides connectivity for the network interfaces • packets from an incoming network interface can be transferred to the outgoing network interface Route Control Processor • responsible for implementing and executing routing protocols • maintains a routing table that is updated whenever a route change occurs • based on the contents of the routing table, the forwarding table is computed and updated • runs the software to configure and manage the router • performs complex packet-by-packet operations • e.g., handling errors during packet processing • e.g., sending an ICMP message to the origin when packet's destination address cannot be found in the forwarding table (a) Routing table (b) Forwarding table IP prefix Next hop IP prefix Interface MAC address 10.5.0.0/16 192.168.5.254 10.5.0.0/16 ethO 00:0F:1F:CC:F3:06 Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 59 / 126 Router Architectures IP Address Lookup Algorithms Address Lookup with Classful Addressing with the classful addressing scheme, the forwarding of packets is straightforward • routers need to examine only the network part of the destination address • =^ the forwarding table needs to store just a single entry for routing the packets destined to all the hosts attached to a given network Incoming Destination Address I Identify Address Class Class A Forwarding Table Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 60 / 126 Router Architectures IP Address Lookup Algorithms Address Lookup with CIDR - Longest Prefix Matching address lookup with CIDR is more difficult since: Q a destination IP address does not explicitly carry the netmask information Q the prefixes in the forwarding table against which the destination address needs to be matched can be of arbitrary lengths Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 61 / 126 Router Architectures IP Address Lookup Algorithms Address Lookup with CIDR - Longest Prefix Matching Requirements I. Lookup Speed • Internet traffic measurements show that roughly 50 % of the packets that arrive at a router are TCP-acknowledgment packets, which are typically 40-byte long • thus, the prefix lookup has to happen in the time it takes to forward such a minimum-size packet (40 bytes) • known as wire-speed forwarding • wire-speed forwarding for: • lGbps link ^> prefix lookup should not exceed 320 nanosec • lOGbps link ^> prefix lookup should not exceed 32 nanosec • 40Gbps link ^> prefix lookup should not exceed 8 nanosec t r*i .i 40 bytes xS bits/byte o on 1 Gbps computed as: — ixio9 bps = ^20 nanosec Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 62 / 126 Router Architectures IP Address Lookup Algorithms Address Lookup with CIDR - Longest Prefix Matching Requirements II. Memory Usage • i.e., the amount of memory consumed by the data structures of the algorithm • a memory-efficient algorithm can effectively use the fast but small cache memory Scalability • algorithms are expected to scale both in speed and memory as the size of the forwarding table increases Updatability • route changes occur fairly frequently • rates varying from a few prefixes per second to a few hundred prefixes per second • =4> the route changes require updating the forwarding table data structure in the order of milliseconds or less Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 63 / 126 Router Architectures IP Address Lookup Algorithms Address Lookup with CIDR - Longest Prefix Matching Algorithms I. Naive Algorithms • the simplest algorithm for finding the best matching prefix is a linear search of prefixes • time complexity is O(N) • N . .. number of prefixes in a forwarding table • useful if there are very few prefixes to search; otherwise the search time degrades as N becomes large Trie-based Algorithms • note: "trie" comes from "retrieval", not from "tree" • several variants proposed: • Binary Tries • Multibit Tries • Compressed Multibit Tries Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 64 / 126 Router Architectures IP Address Lookup Algorithms Address Lookup with CIDR - Longest Prefix Matching Algorithms II. l Figure: Binary trie data structure example. Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 Router Architectures IP Address Lookup Algorithms Address Lookup with CIDR - Longest Prefix Matching Algorithms II. Other Approaches • Search by Length Algorithms • Search by Value Approaches • Hardware Algorithms • RAM-Based Lookup, Ternary CAM-Based Lookup, Multibit Tries in Hardware, etc. Further details: • Medhi, D. and Ramasamy K.: Network Routing: Algorithms, Protocols, and Architectures. Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 66 / 126 Router Architectures IP Packet Filtering and Classification IP Packet Filtering and Classification I. Importance of Packet Classification/Filtering: • Providing preferential treatment for different types of traffic • to provide different service guarantees for different types of traffic, an ISP might maintain different paths for the same source and destination addresses • Flexibility in accounting and billing • an ISP needs flexible accounting and billing based on the traffic type • ^> different traffic can be charged at different prices • Preventing malicious attacks • the ability to identify malicious packets and drop them at the point of entry • etc. Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 67 / 126 Router Architectures IP Packet Filtering and Classification IP Packet Filtering and Classification II. The criteria for classification are expressed in terms of rules or policies • using the header fields of the packets • =^> the forwarding engine needs to examine packet fields other than the destination address to identify the context of the packets • and to perform required processing/actions in order to satisfy user requirements • a collection of such rules/policies - rule/policy database, flow classifier or simply classifier • each rule specifies: • a flow to which a packet may belong (based on expressed conditions) • exact match, prefix match, range match, regular expression match, etc. • an action which has to be applied to packets belonging to the flow • like permit, deny, encrypt, etc. • a packet may match more than one rule in the classifier • a cost is associated with each rule to determine an unambiguous match • ^> the goal is to find the rule with the least cost that matches a packet's header • when the rules are placed in the order based on their cost —>• the goal is to find the earliest matching rule Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 68 / 126 Router Architectures IP Packet Filtering and Classification IP Packet Filtering and Classification Algorithms • Naive Algorithms • storing the rules in a linked list in the order of increasing cost • storage efficient, but seach-time inefficient (does not scale) • Two-dimensional Solutions • Hierarchical Tries, Set Pruning Tries, Grid-of-Tries • d-dimensional Solutions • Divide and Conquer Approaches • Lucent Bit Vector, Aggregated Bit Vector, Cross-Producting, Recursive Flow Classification • Tuple Space Approaches • Decision Tree Approaches • Hierarchical Intelligent Cuttings (HiCuts), HyperCuts, • Hardware-Based Solutions • Ternary Content Addressable Memory (TCAM) Further details: Medhi, D. and Ramasamy, K.: Network Routing: Algorithms, Protocols, and Architectures. Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 69 / 126 Traffic Engineering in IP Networks Introduction Lecture Overview I Q Routing: Recapitulation • Distributed Routing • Autonomous Systems O Dista nee Vector Routing Protocols • RIP protocol • IGRP protocol • EIGRP protocol • Comparison Q Link State Routing Protocols • OSPF Protocol • IS-IS Protocol Q Path Vector Routing Protocols • BGP Protocol Q Router Architectures • Router Introduction • IP Address Lookup Algorithms • IP Packet Filtering and Classification Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Traffic Engineering in IP Networks Introduction Lecture Overview II Q Traffic Engineering in IP Networks • Introduction • Discovering Network Utilization • Discovering Network Topology • Links' Weights Computation Q Multiprotocol Label Switching • MPLS • Generalized MPLS • Grid-enabled GMPLS Q QoS-Based Routing Q Advanced Routing Mechanisms: Literature Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Traffic Engineering in IP Networks Introduction Traffic Engineering in IP Networks Introduction I. (interior) routing protocols used in IP networks are based on Shortest Path First (SPF) routing in an unused network, the SPF is ideal: • datagrams are delivered expeditiously with the least use of network resources Problem statement: once traffic increases, a link/router on the shortest path may become saturated • while longer paths remain unused/underused • Equal-Cost MultiPath (ECMP) is usable, but NOT problem-solving solution Host U Router A Router B Host V Host W Router D Router E Host X Eva Hladká (Fl MU) Router H Router J Router K 3. Advanced Routing Mechanisms Host Y Host Z Autumn 2015 72 / 126 Traffic Engineering in IP Networks Introduction Traffic Engineering in IP Networks Introduction II. Traffic Engineering Traffic Engineering is all about discovering what other paths and links are available in the network, what the current traffic usage is within the network, and directing traffic to routes other than the shortest so that optimal use of the resources in the network is made. achieved by a combination of: • extensions to existing IGP protocols • traffic monitoring tools • traffic routing techniques occurs outside the actual network does not address issues such as traffic surge lasting a few seconds/minutes Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 73 / 12( Traffic Engineering in IP Networks Introduction Traffic Engineering in IP Networks Introduction III. Performed steps: O traffic measurements are collected to estimate the traffic matrix O topology and configuration is obtained from the network O a link weight determination process determines link weights • the computed link weights for each link are injected into the network • i.e., each router receives a metrics for its outgoing links • once injected, using a normal OSPF/IS-IS flooding process the metrics are disseminated through link-state advertisements Question: How often should the TE system update the link weights? • up to the network provider/administrator • usually once a day or once a week • to avoid short-term traffic fluctuations • since traffic matrix determination is a fairly complex and time-consuming process Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 74 / 126 Traffic Engineering in IP Networks Introduction Traffic Engineering in IP Networks Introduction IV. Figure: IP Traffic Engineering architectural framework. Traffic Engineering in IP Networks Introduction TE - Complexity illustration I. Host U Router A Router B Router D Router E Host X Which costs should be assigned to a, b, c, and d? • not trivial even in such a simple network Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 76 / 126 Traffic Engineering in IP Networks Introduction TE - Complexity illustration II. Host U Router A Router B Router D Router E Host X • a=b=c = d= l^a\\ traffic tends toward the link FG • a = c = d =1, b = 7 • U —>• X routed through B, C, D (total cost 6) • W —> Z routed through J (total cost 5) • V —> Y routed through J (total cost 5) • not ideal - some congestion is moved to router J Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 77 / 126 Traffic Engineering in IP Networks Introduction TE - Complexity illustration III. Router H Router J Router K a = c = 2, b = 7, d = 10 achieves the desired result • U —>> X routed through B, C, D (cost 6), V —> Y routed through F, G (cost 9), and W —>> Z routed through J (cost 5) • But: imagine W -> X traffic - takes the path WHFABCDEX (cost 9) instead of the shorter path WHFGEX (cost 12) 9 we can increase a to 6 • but what about U —> Y traffic? (will prefer UABCDEGY over shorter UAFGY ©) Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 78 / 126 Traffic Engineering in IP Networks Discovering Network Utilization - Discovering Network Utilization I. a network-wide view of resource utilization is needed • a challenging problem several methods to collect and consolidate network usage information exist: O Simple Network Management Protocol (SNMP) • an application polls each router and converts the returned information into a view of usage across the network • does not determine, which flows need to be redistributed to ease any congestion (just an absolute measure of the traffic load is obtained) O NetFlow • Cisco's tool collecting the information at key points within the network • includes aggragation points (NetFlow collectors) consolidating the information from a subset of the network O sFlow, ntop, etc. Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 79 / 126 Traffic Engineering in IP Networks Discovering Network Utilization TE - Discovering Network Utilization II. network traffic is nonstationary and (usually) time-dependent • data rate is different depending on the time of the day • =^ usually, a peak of the traffic data rate (or, say 90% of the peak) over the 24-hour window is considered as a traffic volume needed for traffic engineering considerations 48 40 e 32 24 - CJ 4-i r3 S 16 8 0 (15-minute average window) zt 6 AM 12 Noon Time 6 PM 12 Midnight Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 80 / 126 Traffic Engineering in IP Networks Discovering Network Topology TE - Discovering Network Topology the application making TE decisions must have a clear view of the topology and capabilities of the links within the network small, static networks =4> manual configuration is sufficient large and dynamic networks =4> an automatic system has to be used • naturally, extending the IGP routing protocols to distribute additional information about the links will do the job • both OSPF and IS-IS have been extended to provide (for each link): • traffic engineering metric, maximum bandwidth, maximum reservable bandwidth, unreserved bandwidth, etc. Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 81 / 126 Traffic Engineering in IP Networks Links' Weights Computation Network Flow Modeling - Single-Commodity Network Flow • single-commodity - just a single node pair in the network has positive demand volume • commodity « demand for a link's capacity • let's assume the following network: Let's denote: • c ... a capacity of each link (here the same for all the links) • h . . .the demand volume for node pair 1 : 2 • *12, *132 ■ ■ ■ the amount of the demand volume to be routed over the path 1 - 2 (resp. 1-3-2) Traffic Engineering in IP Networks Links' Weights Computation Network Flow Modeling - Single-Commodity Network Flow Problem Constraints \ X132 12 Then the following constraints have to be satisfied: • the demand volume h has to be carried over these two paths: Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 83 / 126 Traffic Engineering in IP Networks Links' Weights Computation Network Flow Modeling - Single-Commodity Network Flow Problem Constraints \ X132 12 Then the following constraints have to be satisfied: • the demand volume h has to be carried over these two paths: *12 + *132 = h Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 83 / 126 Traffic Engineering in IP Networks Links' Weights Computation Network Flow Modeling - Single-Commodity Network Flow Problem Constraints \ X132 12 Then the following constraints have to be satisfied: • the demand volume h has to be carried over these two paths: • Xu + X132 = h • a path may not carry any negative demand: Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 83 / 126 Traffic Engineering in IP Networks Links' Weights Computation Network Flow Modeling - Single-Commodity Network Flow Problem Constraints \ X132 12 Then the following constraints have to be satisfied: • the demand volume h has to be carried over these two paths: • Xu + X132 = h • a path may not carry any negative demand: • Xu > 0, X132 > 0 Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 83 / 126 Traffic Engineering in IP Networks Links' Weights Computation Network Flow Modeling - Single-Commodity Network Flow Problem Constraints Then the following constraints have to be satisfied: • the demand volume h has to be carried over these two paths: • Xi2 + Xi32 = h • a path may not carry any negative demand: • X12 > 0, Xi32 > 0 • any flow on the path cannot exceed the capacity on any of the links the path uses: Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 83 / 126 Traffic Engineering in IP Networks Links' Weights Computation Network Flow Modeling - Single-Commodity Network Flow Problem Constraints Then the following constraints have to be satisfied: • the demand volume h has to be carried over these two paths: • Xi2 + Xi32 = h • a path may not carry any negative demand: • X12 > 0, Xi32 > 0 • any flow on the path cannot exceed the capacity on any of the links the path uses: • =^ X12 < c, xi32 < c (same capacity on each link) Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 83 / 126 Traffic Engineering in IP Networks Links' Weights Computation Network Flow Modeling - Single-Commodity Network Flow The Goal - Minimize the cost of routing I. Let's assume the goal of minimizing the cost of routing flows: • let's introduce a cost per unit of flow on each path: £12 and £132, both > 0 • « a price payed for data transferred over the path • =4> Total-COSt = ^12^12 + £l32*132 • = the objective function (in general denoted by F) Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 84 / 126 Traffic Engineering in IP Networks Links' Weights Computation Network Flow Modeling - Single-Commodity Network Flow The Goal - Minimize the cost of routing II. it \ *132 12 The complete problem could be written as follows: minimize^ Xui] F = %12x12 + §132*132 subject to x\2 + X132 = h *12 < C, X132 < C X12 > 0, X132 > 0. The above system solves a goal of minimizing the cost (price) of routing for the above topology when a traffic demand h is given. • it finds proper values of x±2 and X132 satisfying the given conditions Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 85 / 126 Traffic Engineering in IP Networks Links' Weights Computation Network Flow Modeling - Single-Commodity Network Flow The Goal - Load Balancing Another goals could be also considered: • load balancing - minimization of maximum link utilization • average delay - minimization of the average packet delay Example: Minimization of maximum link utilization: • utilization of the link 1 - 2: ^ c • utilization of the links 1 — 3 or 3 — 2: c • maximum utilization over all links: maxj^,^2} minimize^} JF = max{^, ^} subject to x\2 + X132 = h *12 < C, X132 < C X12 > 0, X132 > 0. The above system solves a goal of balancing the load over paths 1 — 2 and 1 — 3 — 2 when a traffic demand h is given. Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 86 / 126 Traffic Engineering in IP Networks Links' Weights Computation Network Flow Modeling - Multicommodity Network Flow • multicommodity - all the three demand pairs can have positive demand volumes • hn, h13, /?23 • for each demand pair, the volume of demand can be accommodated using two paths: Traffic Engineering in IP Networks Links' Weights Computation Network Flow Modeling - Multicommodity Network Flow Problem Constraints Then the following constraints have to be satisfied: • the demand volume for each node pair may be carried over two paths: Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 88 / 126 Traffic Engineering in IP Networks Links' Weights Computation Network Flow Modeling - Multicommodity Network Flow Problem Constraints Then the following constraints have to be satisfied: • the demand volume for each node pair may be carried over two paths: Xl2 + X132 = hi2 X13 + X123 = hn X23 + *213 = n23 3. Advanced Routing Mechanisms Traffic Engineering in IP Networks Links' Weights Computation Network Flow Modeling - Multicommodity Network Flow Problem Constraints Then the following constraints have to be satisfied: • the demand volume for each node pair may be carried over two paths: Xl2 + *132 = hl2 X13 + X123 = hi3 X23 + X213 = Il23 links' capacity limits must also be satisfied: 3. Advanced Routing Mechanisms Traffic Engineering in IP Networks Links' Weights Computation Network Flow Modeling - Multicommodity Network Flow Problem Constraints Then the following constraints have to be satisfied: • the demand volume for each node pair may be carried over two paths: Xl2 + *132 = hn X13 + X123 = hi3 X23 + X213 = tl23 links' capacity limits must also be satisfied: • Xu + X123 + X213 < C12 • X13 + X132 + X213 < C13 X23 + X132 + X123 < C23 3. Advanced Routing Mechanisms Traffic Engineering in IP Networks Links' Weights Computation Network Flow Modeling - Multicommodity Network Flow Problem Constraints Then the following constraints have to be satisfied: • the demand volume for each node pair may be carried over two paths: X12 + X132 = hn X13 + X123 = hi3 X23 + X213 = tl23 links' capacity limits must also be satisfied: X12 + X123 + X213 < C12 Xl3 + X132 + X213 < C13 X23 + X132 + X123 < C23 Total cost TotaLcost = £12X12 + £132X132 + £13X13 + £123X123 + £23X23 + £213X213 Eva Hladká ÍFI MU) 3. Advanced Routing Mechanisms Autumn 2015 88 / 126 Traffic Engineering in IP Networks Links' Weights Computation Network Flow Modeling - Multicommodity Network Flow The Goal - Minimize the cost of routing Then, the goal of minimizing the cost of routing can be formulated as follows: minimize[x] F = %yix12 + £132*132 + $13*13 + $123*123 + $23*23 + $213*213 Subject tO x\2 + -Vl32 =h\2 *13 + *123 = ^13 *23 +*213 = ^23 *12 +*123 +*213 < c\2 *13 + *132 +*213 < c\3 *23 + *132 + *123 < ^23 *12 > 0, Xi32 > 0, X13 > 0, X123 > 0, x23 > 0, X213 > 0. (Another goals (load balancing, average delay, etc.) can be formulated as well.) Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 89 / 126 Traffic Engineering in IP Networks Links' Weights Computation TE - Shortest Path Routing and Network Flow • in an IP network based on OSPF or IS-IS, the shortest paths are computed based on links' weights • this computation does NOT consider traffic volume or (usually) capacity of the network • the previous examples did NOT consider the links' weights • How is the shortest path routing related to network flow modeling? • link weights drive the flows • let's denote w to be an array of link weights of all links in the network • 1/1/ = ( Wi, 1/1/2, I/I/3, • • • ) • a dependency of a flow xn on the link weights will be denoted as xn(i/i/) Traffic Engineering in IP Networks Links' Weights Computation TE - Shortest Path Routing and Network Flow MCSPRF optimization problem I. The goal: to determine link weights for given traffic volume demand and capacity limits where a certain objective is optimized. The Multicommodity shortest path-based routing flow (MCSPRF) optimization problem having the objective to minimize the maximum link utilization (load balancing) can be formulated as follows: minimize {wr} F = r Pk subject to Xfcp(w) = hk, k = 1,2,K K Pk E HskpiXkp(w)=y£, I = 1,2, ...,L k=\p=\ yti, 1V2, WL £ W XkP{w) > 0, /> = 1,2,Pjt, A: = 1,2,AT _y£>0, ^ = 1,2, ...,L r> 0. Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 91 / 126 Traffic Engineering in IP Networks Links' Weights Computation TE - Shortest Path Routing and Network Flow MCSPRF optimization problem II. Where Notation Explanation K Number of demand pairs with positive demand volume L Number of links hk Demand volume of demand index k = 1,2,K ci Capacity of link t = 1, 2,L Pk Number of candidate paths for demand kf k = \,2,K &kpi Link-path indicator, set to 1 if path /) for demand pair k uses the link £; 0, otherwise %kp Unit cost of flow on path /) for demand k k Unit cost of flow on link £ we Link weight for link I = 1,2,L Xkp(W) Flow amount on path p for demand k for given link weight system w %kp Flow amount on path p for demand k yt Link flow variable for link I r maximum link utilization variable * Use as a superscript with a variable to indicate optimal solution, e.g., The weights are determined by solving a dual problem. • details: PA163: Constraint programming (dr. Rudova) Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 92 / Traffic Engineering in IP Networks Links' Weights Computation TE - Shortest Path Routing and Network Flow MCSPRF - Minimum cost objective minimize^ subject to ^ = E E škpXkpiw) k=\p=í Pk Jlxkp(w) = hk, P=i K Pk E E hpiXkpM 0, 1 = 1,2, ...,L Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 93 / 126 Traffic Engineering in IP Networks Links' Weights Computation TE - Shortest Path Routing and Network Flow MCSPRF - Minimum cost AND load balancing objective K Pk L a mimmize[xs] F = aJ^ E (E &$kpl)XkP + fir A=1p=l 1=1 subject to Yxkp=hki k = 1,2,K P=l K Pk - E E $kp£XkP + ctr>0, £ = 1,29...,L k=l p=l r>0. Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 94 / 126 Multiprotocol Label Switching MPLS Lecture Overview I Routing: Recapitulation • Distributed Routing • Autonomous Systems Q Distance Vector Routing Protocols • RIP protocol • IGRP protocol • EIGRP protocol • Comparison Q Link State Routing Protocols • OSPF Protocol • IS-IS Protocol Q Path Vector Routing Protocols • BGP Protocol Q Router Architectures • Router Introduction • IP Address Lookup Algorithms • IP Packet Filtering and Classification Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 95 / 126 Multiprotocol Label Switching MPLS Lecture Overview II Q Traffic Engineering in IP Networks • Introduction • Discovering Network Utilization • Discovering Network Topology • Links' Weights Computation O Multiprotocol Label Switching • MPLS • Generalized MPLS • Grid-enabled GMPLS Q QoS-Based Routing Q Advanced Routing Mechanisms: Literature Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 96 / 126 Multiprotocol Label Switching MPLS Multiprotocol Label Switching (MPLS) Introduction I. Multiprotocol Label Switching (MPLS) • a new forwarding mechanism originally presented as a way of improving the forwarding speed of core IP routers • in MPLS network, packets are forwarded based on labels • a label is added in front of a packet (i.e., as another header so that routers know how to act based on this label) • assigned when packet enters the MPLS-capable network • internal MPLS routers don't inspect packet's IP address • short and fixed-length label lookup is much faster than longest-prefix match performed on every router • labels usually correspond to IP destination networks • but can also correspond to other parameters, such as QoS or source address • requires new protocols to distribute label information • or extensions to existing protocols Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 97 / 126 Multiprotocol Label Switching MPLS Multiprotocol Label Switching (MPLS) Introduction II. Multiprotocol Label Switching (MPLS) - cont'd. • MPLS flows are connection-oriented and packets are routed along pre-configured Label Switched Paths (LSPs) • the MPLS connection (LSP) is unidirectional • =>* two-way communication requires a pair of LSPs to be established • the paths for forward and reverse directions may differ • MPLS allows new forwarding paradigms not available with conventional IP routing • e.g., the ability of network operators to dictate the path that traffic takes through their network, Virtual Private Network support, etc. • for example, low-priority data may be sent on a longer path to keep the shortest path clear for higher-priority traffic • MPLS has emerged into a crucial standard technology for large-scale IP networks Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 98 / 126 Multiprotocol Label Switching MPLS Multiprotocol Label Switching (MPLS) Basic functionality • an analysis of packets entering the network • and their classification to FEC classes (Forward Equivalence Class) • the classification may be based on more information than just on the destination address • for example, type of service, VPN, etc. • labels' creation for all the FEC classes • determination/creation of Label Switched Paths (LSPs) • labels' distribution • setting the forwarding information tables in the routers • the tables are known as Label Information Base (LIB) or Label Forwarding Information Base (LFIB) • the tables map {incoming-interface, incomingJabel} to { outgoing Jn terfa ce, outgoing Jabel} • each MPLS core router maintains a valid mapping from the label of an incoming packet ("incoming label") to a label to be attached to the packet before being sent out ("output label") • packets' forwarding (based on the label) • MPLS header (called shim header) creation Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 99 / 126 Multiprotocol Label Switching MPLS Multiprotocol Label Switching (MPLS) MPLS Example LSRl LSR4 17 18 Identifier Label Interface Label Interface In In Out Out Stream-A 16 si 17 s3 Stream-B 17 s2 18 s3 Figure: Label swapping and label switched paths. Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 100 / 126 Multiprotocol Label Switching MPLS Multiprotocol Label Switching (MPLS) MPLS Network Components I. Edge Label-Switched Routers (Edge-LSRs) = border routers • Ingress-LSR • analyses information in IP packet header • based on analysed information, the packet is assigned to particular FEC • depending on the assigned FEC, a proper label is inserted into MPLS header • Egress-LSR • removes MPLS header and forwards original IP packet to an egress link • decrements packet's TTL field Core Label-Switched Routers (Core-LSRs) • ensures packets' forwarding based on the assigned label • the IP header is neither modified nor analysed by the Core-LSRs • just MPLS labels are analysed and modified, if necessary Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 101 / 126 Multiprotocol Label Switching MPLS Multiprotocol Label Switching (MPLS) MPLS Network Components II. Egress Figure: Structure of the MPLS network. Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 102 / 126 Multiprotocol Label Switching MPLS Multiprotocol Label Switching (MPLS) MPLS Shim Header 32 bits = 4 bytes Label Value TC S TTL 20 bits 3 bits 1 bit 8 bits L2 header MPLS header IP packet • Label - carries the actual value of the Label • Traffic Class field - previously named as Experimental • Stack - set to one for the last entry in the label stack, and zero for all other label stack entries • receiving router examines the top label only • TTL - used to encode a time to live value Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 103 / 126 Multiprotocol Label Switching MPLS Multiprotocol Label Switching (MPLS) MPLS Labels usually, just a single MPLS label is assigned to a packet scenarios, that may produce more than one label: • MPLS VPNs-2 labels • the top label points to the egress router and the second label identifies the VPN • MPLS Traffic Engineering - 2 labels • the top label points to the endpoint of the traffic engineering tunnel and the second label points to the destination • MPLS TE combined with MPLS VPNs - 3 or more labels • etc. Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 104 / 126 Multiprotocol Label Switching MPLS Multiprotocol Label Switching (MPLS) MPLS Label Distribution • before an LSP can be used, the LFIBs must be populated at each LSR along the path • =^ a label distribution protocol has to be used • several protocols could be used: • BGP (Border Gateway Protocol) - its extension allowing labels' distribution • RSVP-TE (RSVP-Traffic Engineering) - a modified version of the RSVP protocol • LDP (Label Distribution Protocol) - a specialized protocol for MPLS networks • TDP (Tag Distribution Protocol) - Cisco's specialized protocol for MPLS networks • LDP/CR (Label Distribution Protocol/Constrained Routing) - LDP's extension for QoS support • etc. Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 105 / 126 Multiprotocol Label Switching MPLS Multiprotocol Label Switching (MPLS) MPLS Label Distribution - Basic approaches I. Downstream-on-demand, ordered control approach • MPLS devices do not signal a FEC-to-label binding until requested to do so by an upstream device • an LSR does not advertise a label for a FEC unless it is the egress LSR for the FEC or until it has received a label for the FEC from its downstream peer • the same label has to be used only between adjacent LSRs! Multiprotocol Label Switching MPLS Multiprotocol Label Switching (MPLS) MPLS Label Distribution - Basic approaches II. Downstream-unsolicited, independent control approach • MPLS devices do not wait for a request from an upstream device before signaling FEC-to-label bindings • as soon as the LSR learns a route, it sends a binding for that route to all peer LSRs, both upstream and downstream • the LSR sending the label acts independently of its downstream peer • it does not wait for a label from the downstream LSR before it sends a label to its peers 107 / Multiprotocol Label Switching MPLS Multiprotocol Label Switching (MPLS) MPLS Label Distribution - LDP protocol Label Distribution Protocol (LDP) • a protocol defined by the IETF (RFC 5036) for the purpose of distributing labels in an MPLS environment • relies on the underlying routing information provided by an IGP in order to forward label packets • makes use of the TCP or UDP transport protocols • can operate in both Downstream-on-demand and Downstream-unsolicited modes • main protocol activities: • discovery of LDP-capable LSRs that are "adjacent" • LDP's Discovery message • establishment of a control conversation between adjacent LSRs, and negotiation of capabilities and options • LDP's Adjacency message • advertisement of labels • withdrawal of labels • both performed by LDP's Label Advertisement message • error notifications • LDP's Notification message Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 108 / 126 Multiprotocol Label Switching MPLS Multiprotocol Label Switching (MPLS) Traffic Engineering in MPLS I. MPLS is able to supply much of the function of the traffic engineered overlay model in an integrated manner: • MPLS has the ability to establish an LSP that follows a path other than the one offered as "preferred" by the routing protocol and forwarding algorithm • resources within the network can be dynamically reserved as LSPs are established and can be dynamically updated as the needs of the LSPs change • traffic flows can be guaranteed a level and quality of service • traffic can be groomed onto "parallel" LSPs • multiple LSPs can be established between a pair of source and destination end points • traffic can be distributed over the LSPs by a defined algorithm • recovery procedures can be defined describing how traffic can be transferred to alternate LSPs in the event of a failure • indicating how and when backup and standby LSPs should be set up and routed • load-sharing and traffic grooming decisions need to be made just once (at the entry point into the LSP) rather than at each node within the network • etc. Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 109 / 126 Multiprotocol Label Switching MPLS Multiprotocol Label Switching (MPLS) Traffic Engineering in MPLS II. Figure: Explicit path control in an MPLS network. Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 110 / 126 Multiprotocol Label Switching Generalized MPLS Generalized MPLS (GMPLS) Generalized MPLS (GMPLS) • MPLS has been designed to switch packets using a labeling mechanism • however, there is the need for an MPLS control-type functionality for controls that is beyond just switching packets • e.g., wavelength switching, time division multiplexing, fiber (port) switching, etc. • traditionally referred to as circuit switching or circuit routing (a dedicated path and physical resources must be allocated for a service from one end to another) • GMPLS thus intended for the following switching capabilities: • Packet-Switch Capable - (i.e., GMPLS encompasses MPLS) • Time-Division Multiplexing Capable - for timeslot-based circuit switching • Lambda-Switch Capable - for wavelength switching at optical cross-connects • Fiber-Switch Capable - for fiber-level switching at optical cross-connects Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 111 / 126 Multiprotocol Label Switching Grid-enabled GMPLS Grid-enabled GMPLS (G2MPLS) Grid-enabled GMPLS (G2MPLS) • a network control plane solution that enhances the GMPLS and provides a single-step resource reservation, co-allocation, and maintenance of both network and Grid resources • designed by 1ST Phosphorus project • seamlessly serves Grid jobs by co-allocating and provisioning network and Grid resources in a single-step • not widely used (yet) Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 112 / 126 QoS-Based Routing Lecture Overview I Q Routing: Recapitulation • Distributed Routing • Autonomous Systems O Dista nee Vector Routing Protocols • RIP protocol • IGRP protocol • EIGRP protocol • Comparison Q Link State Routing Protocols • OSPF Protocol • IS-IS Protocol Q Path Vector Routing Protocols • BGP Protocol Q Router Architectures • Router Introduction • IP Address Lookup Algorithms • IP Packet Filtering and Classification Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 113 / 126 QoS-Based Routing Lecture Overview II Q Traffic Engineering in IP Networks • Introduction • Discovering Network Utilization • Discovering Network Topology • Links' Weights Computation Q Multiprotocol Label Switching • MPLS • Generalized MPLS • Grid-enabled GMPLS Q QoS-Based Routing Q Advanced Routing Mechanisms: Literature 3. Advanced Routing Mechanisms Autumn 2015 114 / 126 QoS-Based Routing QoS-Based Routing - Introduction I QoS-Based Routing is defined as: • a routing mechanism under which paths for flows are determined based on some knowledge of resource availability in the network as well as the QoS requirement of the flows, or • a dynamic routing protocol that has expanded its path-selection criteria to include QoS parameters such as available bandwidth, link and end-to-end path utilization, node resources consumption, delay and latency, and induced jitter outer 6 Router F Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 115 / 126 QoS-Based Routing QoS-Based Routing - Introduction II. Objectives of QoS-based Routing: • to meet the QoS requirements of end users • QoS-based routing is supposed to dynamically find a path from source to destination which can satisfy user's requirements on bandwidth, end-to-end delay, etc. • to optimize the network resource usage • QoS-based routing is expected to direct network traffic in an efficient way that can maximize the total network throughput • to gracefully degrade network performance when things like congestion happen • when network is in heavy load, QoS-based routing is expected to give better performance (e.g., better throughput) than the best-effort routing, which can degrade the performance dramatically Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 116 / 126 QoS-Based Routing QoS-Based Routing - Issues I. Metric and path computation • How to measure and collect network state information? • How to compute routes based on the information collected? • a suitable metric has to be chosen (e.g., available bandwidth, delay, jitter, etc.) • path computation is also closely related to resource reservation • once a feasible path is chosen, the corresponding resources (bandwidth, buffer space in routers etc.) must be reserved for the traffic flow thus are not available to other flows Knowledge propagation and maintenance • How often is the routing information exchanged between the routers? • more information has to be exchanged than in the case of best-effort routing • QoS information (available BW) has to be exchanged along with common routing information like connection topology changes • the metrics used by QoS-based routing could be changing very quickly • if the routing information is exchanged every time the values of metrics change, it will cause a great burden for the network links and routers =^> a common way is to set a threshold to distinguish significant changes from minor changes (routing information accuracy becomes lower, however) Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 117 / 126 QoS-Based Routing QoS-Based Routing - Issues II. Scaling by hierarchical aggregation • QoS-based routing is expected to be scalable • in order to keep the complexity of path computation and the amount of information need to be exchanged and maintained under control, a hierarchical aggregation is used • however, such aggregation brings inaccuracy in regard of routing information Administrative Control • different flows in the network should have different priorities • in the framework having multiple service classes (e.g., DiffServe), the resources should be allocated fairly among all the classes • to avoid starvation of lower priority classes Integration of QoS-based routing and Best-effort routing • for compatibility, QoS-based routing must be able to support best-effort routing • i.e., both routing schemes must be able to coexist 3. Advanced Routing Mechanisms Autumn 2015 118 / 126 Eva Hladká (Fl MU) QoS-Based Routing QoS-Based Routing - Routing Algorithms Basic types QoS-based routing algorithms classified according to the way how the state information is maintained and how the search of feasible paths is carried out • source-based routing algorithms • hop-by-hop routing algorithms (also called distributed routing algorithms) • hierarchical routing algorithms Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 119 / 126 QoS-Based Routing - Routing Algorithms Basic types - Source-based routing Source-based routing algorithms • every router has global state information about the network, and the path is locally selected based on the state information • once the path is determined, the source router notifies the other router along that path how to forward the traffic flow • features: • simpler in the sense that it's decided solely by the source • drawbacks: • requires that each router has complete state information of the network (hard to maintain) • the computation overhead at the source routers is very high • =^ scalability problems (not suitable for large networks) Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 120 / 126 QoS-Based Routing - Routing Algorithms Basic types - Hop-by-hop routing Hop-by-hop routing algorithms • each router just knows the next hop towards the destination • features: 9 used by most current "best-effort" routing protocols =^ it's more natural to design and more compatible with existing routing protocols • the routing computation burden is distributed among all the routers along the path • drawbacks: • it has the routing loop problem (when the routing state information in different routers is not consistent) • besides, it also has the scalability problem Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 121 / QoS-Based Routing QoS-Based Routing - Routing Algorithms Basic types - Hierarchical routing I. Hierarchical routing algorithms • the routing structure consists of multiple levels • the bottom level contains the actual routers • these routers are organized into some logical groups, which in turn form the next level • the groups can be further organized into some higher level groups • the routing information is integrated at the border nodes of each groups • every node contains the detailed information about its group and integrated information about other groups • features: • scalability =^ it's suitable for large networks • drawbacks: • aggregation decreases the accuracy of the routing state information Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 122 / 126 QoS-Based Routing QoS-Based Routing - Routing Algorithms Basic types - Hierarchical routing II. Level 2 Logic Group Logic Hide A x Log^c Nodr-^B"' - ------■ Logic Goup A Logic Goup B Logic Goup C Figure: Hierarchical routing structure. Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 123 / 126 QoS-Based Routing QoS-Based Routing - Routing Protocols PNNI (Private Network-Network Interface) Private Network-Network Interface (PNNI) • a hierarchical, dynamic routing protocol for ATM networks • based on link-state algorithm • topology information (including information about nodes, links, addresses) is flooded through the network • network resources are defined by metrics and attributes (delay, available bandwidth, jitter, etc.) • grouped by supported traffic classes • threshold algorithms are used to determine if the change in a metric or attribute is significant enough to require propagation of updated information • hierarchical =4> • PNNI has the concepts of levels and logical nodes • supports aggregation of topology and reachability information • drawbacks: • doesn't support multicast and policy routing, and control of alternate routing • inherits the common problems with link state QoS-based routing • an issue with efficient broadcast of state information (especially for dynamic metrics) Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 124 / 126 QoS-Based Routing QoS-Based Routing - Routing Protocols QOSPF (QoS routing extensions to OSPF) QoS routing extensions to OSPF (QOSPF) • QoS extension to OSPF • hierarchical protocol based on link-state algorithm • supposed to be working in an environment in which both QoS-based routing and best-effort routing are needed • for simplicity, link bandwidth and propagation delay are the only metrics extension added to Link State Advertisements (LSAs) • in order to decrease protocol overhead, LSAs are triggered only when there is a significant change in the value of the metrics since the last advertisement • a concept of QoS paths pre-computation is used: • for every possible destination, the algorithm pre-computes a "widest-shortest path" (a minimum hop count path with maximum bandwidth available) • a widest path version of the Bellman-Ford is used for pre-computations • a widest shortest path version of Dijkstra's algorithm is used for on-demand computations Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 125 / 126 Advanced Routing Mechanisms: Literature Advanced Routing Mechanisms: Literature • relevant RFCs • Medhi, D. and Ramasamy, K.: Network Routing: Algorithms, Protocols, and Architectures. Morgan Kaufmann Publishers (Elsevier), 2007. • Farrel, A.: The Internet and Its Protocols: A Comparative Approach. Morgan Kaufmann Publishers (Elsevier), 2004. • Beijnum, I.: BGP. O'Reilly Media, Inc., 2002. • Moy, J. T.: OSPF: anatomy of an Internet routing protocol. Addison-Wesley, 1998. • Zhang, R. and Bartell, M.: BGP design and implementation. Cisco Press, 2004. • Black, U.D.: IP routing protocols: RIP, OSPF, BGP, PNNI, and Cisco routing protocols. Prentice Hall PTR, 2000. • http://www.tcpipguide.com Eva Hladká (Fl MU) 3. Advanced Routing Mechanisms Autumn 2015 126 / 126