Routing and traffic measurements in ISP networks



Similar documents
Active measurements: networks. Prof. Anja Feldmann, Ph.D. Dr. Nikolaos Chatzis Georgios Smaragdakis, Ph.D.

Exterior Gateway Protocols (BGP)

Quantifying the BGP routes diversity inside a tier-1 network

Inter-domain Routing. Outline. Border Gateway Protocol

Inter-domain Routing Basics. Border Gateway Protocol. Inter-domain Routing Basics. Inter-domain Routing Basics. Exterior routing protocols created to:

Masterkurs Rechnernetze IN2097

Internet Firewall CSIS Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS net15 1. Routers can implement packet filtering

Outline. EE 122: Interdomain Routing Protocol (BGP) BGP Routing. Internet is more complicated... Ion Stoica TAs: Junda Liu, DK Moon, David Zats

Understanding Large Internet Service Provider Backbone Networks

Internet inter-as routing: BGP

Using the Border Gateway Protocol for Interdomain Routing

Border Gateway Protocol (BGP)

How To Understand Bg

HP Networking BGP and MPLS technology training

6.263 Data Communication Networks

Increasing Path Diversity using Route Reflector

Multihoming and Multi-path Routing. CS 7260 Nick Feamster January

Border Gateway Protocol (BGP-4)

Week 4 / Paper 1. Open issues in Interdomain Routing: a survey

Chapter I1. Monitoring, Management And Configuration Of Networks And Networking Devices

Router and Routing Basics

Border Gateway Protocol BGP4 (2)

B. Quoitin, S. Uhlig, C. Pelsser, L. Swinnen and O. Bonaventure

Route Discovery Protocols

Network Level Multihoming and BGP Challenges

Routing in Small Networks. Internet Routing Overview. Agenda. Routing in Large Networks

basic BGP in Huawei CLI

Based on Computer Networking, 4 th Edition by Kurose and Ross

Lecture 18: Border Gateway Protocol"

ITRI CCL. IP Routing Primer. Paul C. Huang, Ph.D. ITRI / CCL / N300. CCL/N300; Paul Huang 1999/6/2 1

Can Forwarding Loops Appear when Activating ibgp Multipath Load Sharing?

APNIC elearning: BGP Basics. Contact: erou03_v1.0

Routing Protocols. Interconnected ASes. Hierarchical Routing. Hierarchical Routing

Internet inter-as routing: BGP

APNIC elearning: BGP Attributes

Module 7. Routing and Congestion Control. Version 2 CSE IIT, Kharagpur

IP Routing Configuring RIP, OSPF, BGP, and PBR

Outline. Internet Routing. Alleviating the Problem. DV Algorithm. Routing Information Protocol (RIP) Link State Routing. Routing algorithms

GregSowell.com. Mikrotik Routing

B. Quoitin, S. Uhlig, C. Pelsser, L. Swinnen and O. Bonaventure

Transitioning to BGP. ISP Workshops. Last updated 24 April 2013

BGP. 1. Internet Routing

Distance Vector Routing Protocols. Routing Protocols and Concepts Ola Lundh

--BGP 4 White Paper Ver BGP-4 in Vanguard Routers

Understanding Route Redistribution & Filtering

DD2491 p Inter-domain routing and BGP part I Olof Hagsand KTH/CSC

Routing Protocol - BGP

Network traffic engineering

How To Make A Network Plan Based On Bg, Qos, And Autonomous System (As)

KT The Value Networking Company

Analyzing Capabilities of Commercial and Open-Source Routers to Implement Atomic BGP

Administra0via. STP lab due Wednesday (in BE 301a!), 5/15 BGP quiz Thursday (remember required reading), 5/16

BGP Terminology, Concepts, and Operation. Chapter , Cisco Systems, Inc. All rights reserved. Cisco Public

CS551 External v.s. Internal BGP

Evolution of QoS routing in the Internet

An Overview of Solutions to Avoid Persistent BGP Divergence

Introduction to Routing

Introduction to MPLS-based VPNs

Border Gateway Protocols

Interdomain Routing. Outline

Understanding BGP Next-hop Diversity

OSPF Routing Protocol

Introduction to TCP/IP

Link-State Routing Protocols

Distributed Out-bound Load Balancing in Inter-AS Routing by Random Matchings

A Case Study Design of Border Gateway Routing Protocol Using Simulation Technologies

Chapter 10 Link-State Routing Protocols

BGP as an IGP for Carrier/Enterprise Networks

Example: Advertised Distance (AD) Example: Feasible Distance (FD) Example: Successor and Feasible Successor Example: Successor and Feasible Successor

Examination. IP routning på Internet och andra sammansatta nät, DD2491 IP routing in the Internet and other complex networks, DD2491

Network Tomography and Internet Traffic Matrices

IMPLEMENTING CISCO IP ROUTING V2.0 (ROUTE)

Textbook Required: Cisco Networking Academy Program CCNP: Building Scalable Internetworks v5.0 Lab Manual.

BGP Convergence in much less than a second Clarence Filsfils - cf@cisco.com

IPv6 over IPv4/MPLS Networks: The 6PE approach

Understanding Virtual Router and Virtual Systems

Introduction to Dynamic Routing Protocols

BGP: Border Gateway Protocol

Configuring SNMP and using the NetFlow MIB to Monitor NetFlow Data

> Border Gateway Protocol (BGP-4) Technical Configuration Guide. Ethernet Routing Switch. Engineering

CLASSLESS INTER DOMAIN ROUTING - CIDR

Chapter 49 Border Gateway Protocol version 4 (BGP-4)

Advanced Networking Routing: RIP, OSPF, Hierarchical routing, BGP

MPLS-based Layer 3 VPNs

Dynamic Routing Protocols II OSPF. Distance Vector vs. Link State Routing

The Case for Source Address Routing in Multihoming Sites

Introducing Basic MPLS Concepts

LAB FOUR Dynamic Routing Protocols

Cisco Configuring Basic MPLS Using OSPF

BGP Attributes and Path Selection

How To Set Up Bgg On A Network With A Network On A Pb Or Pb On A Pc Or Ipa On A Bg On Pc Or Pv On A Ipa (Netb) On A Router On A 2

Kingston University London

Chapter 1 INTRODUCTION

Course Contents CCNP (CISco certified network professional)

Traffic Engineering With Traditional IP Routing Protocols

Transcription:

Routing and traffic measurements in ISP networks Steve Uhlig Network Architectures and Services Delft University of Technology Email : S.P.W.G.Uhlig@ewi.tudelft.nl URL : http://www.nas.ewi.tudelft.nl/people/steve/

Outline Organization of Internet routing Organization of an AS Measuring the routing of an AS Measuring traffic in an AS Combining routing and traffic measurements Conclusions 2

A map of the Internet in 2000 3

Organization of Internet Routing More than 21,000 autonomous routing domains: A domain is a set of routers, links, hosts and local area networks under the same administrative control. Domains are also called autonomous systems (AS). Domains size: from 1 PC to millions of hosts Domains are interconnected in various ways 4

Types of domains Transit domains: A transit domain allows external domains to use its own infrastructure to send packets to other domains Implicit hierarchy of transit domains according to size Examples: AT&T, UUNet, Level3, Opentransit, KPN,... 5

Types of domains Stub domains: A stub domain does not allow external domains to use its infrastructure to send packets to other domains A stub is connected to at least one transit domain Content stub domains: Yahoo, Google, MSN, BBC,... Access stub domains: ISPs providing Internet access via CATV, DSL,... 6

Outline Organization of Internet routing Organization of an AS Measuring the routing of an AS Measuring traffic in an AS Combining routing and traffic measurements Conclusions 7

Structure of an Autonomous System 8

Routing in an Autonomous System 9

Intra- and inter-domain routing Interior Gateway Protocol (IGP): Routing of IP packets inside each domain Only knows topology of its domain Exterior Gateway Protocol (EGP): Routing of IP packets between domains Each domain is considered as an atomic structure 10

Intra-domain routing Goal: allow routers to transmit IP packets along the best path towards their destination best usually means the shortest path Allow to find alternate routes in case of failures Behavior: all routers exchange routing information Each domain router can obtain routing information for the whole domain The network operator or the routing protocol selects the cost of each link 11

Types of IGPs Static routing: only useful in very small domains Distance vector routing: Routing Information Protocol (RIP) Still widely used in small domains despite its limitations Link-state routing: Open Shortest Path First (OSPF): widely used in enterprise networks Intermediate System- Intermediate-System (IS-IS): widely used by ISPs 12

Inter-domain routing Goal: allow to transmit IP packets along the best path towards their destination From an interdomain viewpoint, best path often means cheapest path Behavior: Each domain specifies inside its routing policy the domains for which it agrees to provide a transit service and the method it uses to select the best path to reach each destination Each router of the domain chooses its best path according to the routing policies, and advertises them to its neightboring routers 13

Inter-domain routes redistribution Inside a domain (ibgp): Goal: propagate the routes learned from neighbors to the routers inside the domain Implementation: full-mesh between BGP routers, routereflection, or confederations Between domains (ebgp): Goal: propagate external reachability to neighbors Implementation: private peerings, public interconnection points 14

Organization of ibgp sessions ibgp full-mesh: Pro s: full visibility of external routes, small convergence time Con: N*(N-1)/2 ibgp sessions Route-reflection: Pro: # ibgp sessions ~ # physical links Con s: opaqueness of best route selection, slow convergence, possible route oscillations For more details: A. Basu, C. Ong, A. Rasala, B. Shepherd, and G. Wilfong. Route oscillations in ibgp with route Reflection. ACM SIGCOMM 2002. T. Griffin and G. Wilfong. On the correctness of ibgp configuration. ACM SIGCOMM 2002. 15

ibgp routes propagation AS 1 ebgp session ibgp session route propagation BR 4 p AS 2 p BR 2 BR 3 best BR 1 best p BR1 best p RR best p RR RR p BR 2 AS 4 p best p RR best p RR BR 5 BR 6 AS 3 16

Routing policies In theory, BGP allows each domain to define its own routing policy In practice, there are two common policies: customer-provider peering Customer C buys Internet connectivity from provider P shared-cost peering Domains x and y agree to exchange packets by using a direct link or through an interconnection point 17

Customer-provider peering AS1 AS2 $ $ $ AS3 AS4 $ Customer $ Provider AS7 Customer sends to its provider its internal routes and the routes learned from its own customers => Provider will advertise those routes to the entire Internet to allow anyone to reach the Customer Provider sends to its customers all known routes => Customer will be able to reach anyone on the Internet 18

Shared-cost peering AS1 AS2 $ AS3 $ AS4 $ $ AS7 Shared cost Customer $ Provider Peer X sends to Peer Y its internal routes and the routes learned from its own customers Peer Y will use shared link to reach Peer X and Peer X's customers Peer X's providers are not reachable via the shared link Peer Y sends to Peer X its internal routes and the routes learned from its own customers Peer X will use shared link to reach Peer Y and Peer Y's customers Peer Y's providers are not reachable via the shared link 19

Routing policies Routing policies implement business relationships between domains The routing policy of a domain is implemented via the route filtering mechanism on BGP routers: Inbound filtering: Upon reception of a route from a peer, a BGP router decides whether the route is acceptable, and if so whether to change some of its attributes. Outbound filtering: Before sending its best route towards a destination, a BGP router decides which peers should receive this route and whether to change some of its attributes before sending it. 20

Conceptual operation of a BGP router BGP Msgs from Peer[N] BGP Msgs from Peer[1] BGP Adj-RIB-In Peer[1] Peer[N] Import filter Attribute manipulation Import filter(peer[i]) Determines which BGP Msgs are acceptable from Peer[i] BGP Loc-RIB All acceptable routes BGP Decision Process One best route to each destination Peer[1] Peer[N] Export filter Attribute manipulation BGP Routing Information Base Contains all the acceptable routes learned from all Peers + internal routes BGP decision process selects the best route towards each destination BGP Adj-RIB-Out BGP Msgs to Peer[N] BGP Msgs to Peer[1] Export filter(peer[i]) Determines which routes can be sent to Peer[i] 21

Outline Organization of Internet routing Organization of an AS Measuring the routing of an AS Measuring traffic in an AS Combining routing and traffic measurements Conclusions 22

Measuring the routing of an Autonomous System IGP: Flooding implies full topological visibility: one probe inside the whole domain is enough 2 possibilities: capture LSPs flooded on an interface or through an IGP router BGP: Lack of topological visibility due to path-vector protocol requires several capture points 2 possibilities: capture external routes received from neighbors or ibgp routes 23

Measuring BGP routing ebgp capture: Requires dumping all ebgp messages received from neighbors on border routers High burden on CPU routers Full visibility of BGP routes known Impractical besides for BGP session debugging ibgp capture: Configure one or several BGP routers to dump their RIB-ins or best routes Misses full diversity known by the border routers Always used in practice 24

Measuring the routing of an AS: GEANT IGP: ISIS capture through passive LSP monitoring (e.g. pyrt) BGP: ibgp capture with one router inside the ibgp full-mesh BR BR BR BR ibgp session Best routes BR Collector GEANT BR 25

Measuring the routing of an AS: GEANT IGP: All topological changes inside IGP are fully visible BGP: Part of the multiple routes known to border routers are unknown inside the ibgp mesh All best routes are known Dynamics of best routes is known For more details: B. Quoitin and S. Uhlig. Modeling the routing of an Autonomous System with CBGP. IEEE Network magazine, November/December 2005. 26

Measuring the routing of an AS: tier-1 IGP: ISIS capture through passive LSP monitoring BGP: snapshots of RIB-ins from main route-reflectors BR RR RR RR BR BR telnet session ibgp session RIB-in snapshot RR RR Collector Tier-1 RR BR 27

Measuring the routing of an AS: tier-1 IGP: Complete visibility of topological changes in the network BGP: Multiple routes at border routers are lost Partial visibility of best routes known to AS (RR redistribution rules) No visibility of dynamics For more details: S. Uhlig and S. Tandel. Measuring the route diversity inside a tier-1 network. Proc. of IFIP Networking conference, Coimbra, Portugal, May 2006. 28

Outline Organization of Internet routing Organization of an AS Measuring the routing of an AS Measuring traffic in an AS Combining routing and traffic measurements Conclusions 29

Measuring the traffic of an AS 3 main approaches: Link-level traffic measurements: SNMP statistics: total bytes/packets every 5 minutes Flow-level statistics: Netflow: flow caching and export Packet-level statistics: Libpcap, DAG: headers or full packets 30

Link-level traffic measurements Principle: Get every 5 minutes number of bytes and packets that passed on each link of the network To obtain the traffic matrix (OD pairs), invert the linklevel measurements to obtain the traffic matrix: y = Ax where A is the routing matrix, y are the link-level measurements, and x the traffic matrix. The link-level measurements (y) are actually the outcome of routing (A) applied to OD flows (x) 31

Link-level traffic measurements Inverting y = Ax is in practice an underconstrained linear inverse problem with an infinity of solutions x ~ O(N 2 ) where N is the number of nodes while typically y ~ O(N) Side information has to be added, usually in the form of constraints on the distribution of the elements x (Poisson, gravity model) or temporal constraints on the time evolution (Kalman filtering) Still, getting SNMP data does not cost much 32

Flow-level traffic measurements Principle: At each ingress interface in the network, monitor all incoming flows and report them to a collector Cisco's Netflow was originally a caching system for IP packets forwarding Netflow evolved as a system for network-wide flow monitoring and IP accounting Netflow is becoming a de-facto standard for networkwide monitoring 33

Netflow: architecture The NetFlow cache or data source which stores IP Flow information The NetFlow export or transport mechanism that sends NetFlow data to a network management collector for data reporting 34

Netflow: flows A flow is identified as a unidirectional stream of packets between a given source and destination A flow is a 7-key tuple: <src IP, dst IP, src port, dst port, protocol type, ToS byte, input interface> These seven key fields define a unique flow. If a flow has one different field than another flow, then it is considered a new flow A flow contains other accounting fields (such as the AS number in the NetFlow export Version 5 flow format) that depend on the version record format that you configure for export 35

Netflow: cache and flow management 36

Netflow: performance Unless amount of traffic is small, sampling has to be used to spare CPU, memory and storage space CPU usage on high-end router (Cisco 12000): 37

Netflow: performance Besides CPU, exporting Netflow statistics requires a lot of storage space Example: In GEANT, one month of gzipped Netflow data consumes ~ 150 Gbytes of disk space In a large ISP, activating Netflow and storing each flow would amount to several TBytes of data per month (unless aggregation is used) Processing and analyzing is very time-consuming Juniper does not provide customer support under 1/1000 Netflow sampling rate 38

Netflow: performance Limiting amount of storage space is possible through flow aggregation: 39

Packet-level traffic measurements Principle: Put the NIC in promiscuous mode to see all packets (requires root privilege) Capture all raw packets seen by the NIC and copy them on disk Requires special library on the host to access the raw packets from the NIC (libpcap, DAG,...) Examples of packet sniffers: tcpdump, ethereal, snoop, Windows network monitor,... 40

Packet-level traffic measurements Network monitor Network monitor Network monitor User Space Buffer Buffer Buffer Protocol stack Filter Filter Filter BPF Kernel space Link-level driver Link-level driver Link-level driver Network 41

Packet-level traffic measurements: performance Since network monitoring applications are working in userspace, copying packets to disk is typically slow Moving the network monitor applications to kernel space (DAG tools, nprobe) may limit the performance issues Still, packet-level statistics require a lot of storage space depending on what fraction of the packets is stored and do not scale to network-wide measurements 42

Outline Organization of Internet routing Organization of an AS Measuring the routing of an AS Measuring traffic in an AS Combining routing and traffic measurements Conclusions 43

Combining routing and traffic measurements Combining routing and traffic requires to build a model of the network Modeling a network requires to integrate 4 parts: Router configurations Topology Routing Traffic 44

Router configurations Mapping between physical topology and logical one (IP) IGP weights IGP structure (areas) ibgp structure (full-mesh, route-reflection, confederation) ebpg peerings and policies (filtering, attributes manipulation, BGP timers) 45

Topology What level of detail to use? POP-level? Router-level? IP-interfaces-level? Granularity depends on what information you have (configs) and what you want to achieve... Loopback interfaces issues: IGP and BGP might use different IP's to refer to a next hop, while this might be the same router 46

Routing data IGP: Any router sees all topological changes: a simple Dijkstra is a very good model of IGP paths If OSPF areas are used, it's a bit sutble how to faithfully reproduce the path choices BGP: Routers have a very limited view of the BGP routes known inside the AS Getting RIB-in's from all routers is painful Next-hop-self and external peerings are often a nightmare Not much hope to have more than a rough approximation of the real routers' RIB-ins 47

Traffic data Aggregate flows according to network topology model (interface, router, POP) Transform flows into traffic demand, e.g. <ingress, destination, amount of traffic> Route traffic using simulation model to replay traffic on network topology Traffic statistics granularity has to match the network model 48

Putting it all together Building an intradomain traffic matrix: use SNMP data and infer it rely on Netflow + routing + configs to get per-prefix traffic matrix For more details: S. Uhlig, B. Quoitin, S. Balon and J. Lepropre. Providing public intradomain traffic matrices to the research community. ACM SIGCOMM Computer Communication Review, 36(1):83-86, January 2006. Building an interdomain traffic matrix: per-prefix traffic statistics necessary (Netflow) Size of traffic statistics and handling routing model are key issues 49

The time issue Traffic statistics span time intervals during which traffic was observed (considering flow timeouts of traffic capture) Routing data sees changes in topological/reachability information How should one attribute traffic to time bins? Traffic flow Prefix reachable Prefix unreachable Prefix reachable 50

Simulating routing and traffic Reproducing routing dynamics is not scalable with discrete-event simulators (ns-2, SSFNet, JSim) Ad-hoc simulators are required for scalability (e.g. CBGP) How to correctly attribute traffic to a routing path given that time granularity (routing/traffic) and visibility (routing) is unclear? Do we care at all about what happens between visible changes? So far, people have assumed that we should not care 51

Outline Organization of Internet routing Organization of an AS Measuring the routing of an AS Measuring traffic in an AS Combining routing and traffic measurements Conclusions 52

Conclusions Understanding routing and traffic measurements requires properly understanding the measured system Visibility of routing is a clear issue for interpretation of traffic measurements Trade-off: Finer granularity of measurements hopefully brings more accurate picture Cost/benefit of improved measurements granularity unclear 53