Technische Universität Berlin Fakultät IV Elektrotechnik und Informatik Fachgebiet Intelligent Networks / Intelligente Netze (INET) Masterarbeit

Size: px
Start display at page:

Download "Technische Universität Berlin Fakultät IV Elektrotechnik und Informatik Fachgebiet Intelligent Networks / Intelligente Netze (INET) Masterarbeit"

Transcription

1 Technische Universität Berlin Fakultät IV Elektrotechnik und Informatik Fachgebiet Intelligent Networks / Intelligente Netze (INET) Masterarbeit On the compressibility of forwarding tables in the Internet Roman Golovatenko 10. Juni 2011

2

3 TECHNISCHE UNIVERSITÄT BERLIN Fakultät für Elektrotechnik und Informatik Fachgebiet Intelligent Networks / Intelligente Netze (INET) Masterarbeit On the compressibility of forwarding tables in the Internet vorgelegt von: Studiengang: Matrikelnummer: Roman Golovatenko Technische Informatik (M.Sc.) verantwortlicher Hochschullehrer: Betreuer: Beginn der Arbeit: Abgabe der Arbeit: Prof. Anja Feldmann, Ph.D. Dr. Steve Uhlig, TU Berlin/T-Labs Dipl-Inf. Nadi Sarrar TU Berlin/T-Labs 10. Dezember Juni 2011 Berlin, 10. Juni

4

5 Eidesstattliche Erklärung Hiermit erkläre ich an Eides statt, dass ich diese Arbeit selbstständig verfasst und keine anderen als die im Literaturverzeichnis angegebenen Quellen benutzt habe. Berlin, 10.Juni 2011 Roman Golovatenko.

6

7 Abstract This thesis presents a study of the compressibility of forwarding tables in the Internet. The size of the forwarding tables that routers need to keep increases steadily. This leads to pressure on the forwarding plane and high memory requirements on routers. We studied the compressibility of forwarding tables based on the state-of-the-art algorithm, called Optimal Routing Table Constructor (ORTC). The evaluation of the algorithm contains two parts. In the first part, we analyze the compressibility of BGP table snapshots. In the second part, we study the compression behavior of the algorithm for incremental updates as well as the efficiency of the algorithm. Our analysis is based on publicly available BGP data. Our results show that the size of the output forwarding tables can be reduced down to 30% of the original size, while guaranteeing the same forwarding behavior as with uncompressed input table. Our study shows that applying changes incrementally to the compressed forwarding table leads to much less changes compared to a complete re-computation of the forwarding table. This suggests that BGP updates can be applied in such a way that minimizes the re-computation time as well as the changes to the forwarding table.

8

9 Zusammenfassung In dieser Masterarbeit untersuchen wir die Komprimierbarkeit von Forwardingtabellen im Internet. Die Größe von Forwardingtabellen die Internet-Router bereithalten müssen wächst fortlaufend an, was die Anforderungen an Speicher- sowie Verwaltungsaufwand für Tabelleneinträge erhöht. Wir untersuchen die Komprimierbarkeit von Forwardingtabellen mit Hilfe eines Algorithmus, der auf dem Optimal Routing Table Constructor (ORTC) basiert. Unsere Simulationsergebnisse basieren auf öffentlich zugänglichen BGP Mitschnitten. Die Evaluation des Algorithmus untergliedern wir in zwei Teile. Der erste Teil analysiert die Komprimierbarkeit von Schnappschüssen von Forwardingtabellen. Im zweiten Teil untersuchen wir die Effizienz des Algorithmus im Online-Einsatz. Unsere Untersuchungsergebnisse zeigen, dass die Anzahl der Einträge in Forwardingtabellen auf etwa 30% bei gleichem Forwardingverhalten reduziert werden kann. Außerdem zeigen unsere Ergebnisse, dass inkrementelle Änderungen an der komprimierten Forwardingtabelle eine wesentlich geringere Anzahl an Tabellenänderungen benötigt, im Vergleich zur vollständigen Neuberechnung. Diese Ergebnisse deuten darauf hin, dass BGP Updates auf eine Weise angewandt werden können, so dass die Rechenoperationen für die Kompression, sowie die notwendigen Tabellenänderungen minimal gehalten werden.

10

11 CONTENTS ABSTRACT... III ZUSAMMENFASSUNG... V 1 INTRODUCTION Reader's guide BACKGROUND Internet routing IP addressing Border Gateway Protocol Forwarding table compression Optimal Routing Table Constructor Memory Management System COMPRESSION ALGORITHM Compression algorithm for forwarding tables Normalization Most prevalent next hops calculation Selection of the next hop Compression algorithm for incremental updates EVALUATION Compressibility of BGP table snapshots Analysis of incremental updates CONCLUSION AND FUTURE WORK LIST OF ABBREVIATIONS LIST OF FIGURES LIST OF TABLES BIBLIOGRAPHY... 47

12

13 1 Introduction The Internet has been growing steadily at a very high pace for the last decade. The number of reachable networks that compose the Internet is nowadays as high as 350,000. This causes growth in the number of the routing entries in the routing tables. As a result, the routing in the Internet is not a simple task. Other factors, for instance, increasing demand of VPN (Virtual Private Networks), deaggregation, and multiple routing protocols running on routers at the same time [5], put more and more pressure on the routing control plane in the Internet. Routers maintain two different data structure: Routing Information Base (RIB) and Forwarding Information Base (FIB), also known as IP Routing table and IP Forwarding table, respectively. The purpose of RIB is to store the reachability information of prefixes in the network, which is advertised by neighboring routers and updated when changes occur. FIB is used for the mapping of prefixes to output links. The size of both tables is affected by the number of routable prefixes. The relationship between RIB and FIB is shown on in Figure 1.1. The data in the FIB must be kept up-to-date to ensure correct forwarding in accordance to the routing control plane. For this reason, this structure must be stored in a very fast memory optimized for per-packet destination lookups, which faces two scalability challenges: the number of entries that can be kept and the rate at which the entries can be updated. Note that economical factors play important role in this situation too, because network operators are forced to upgrade their hardware equipment to avoid the problems that have been noted above.

14 2 INTRODUCTION Figure 1.1: Relationship between RIB and FIB To keep the memory small on routers special techniques were required that could reduce redundant routes. Besides techniques like Locator/Identifier split that aims to scale down the amount of information that the routing system needs to keep, another way to keep the memory small on routers is to rely on special data structures that compress the set of routes into as small as possible a number of forwarding entries. The compression algorithms should be easily implemented without any changes to existing protocols. The research community has provided many proposals to solve this problem [1], [2], [3], [4], [5]. Two proposals, which have shown good results in the compressibility of forwarding tables and have served as our inspiration for the study, are Optimal Routing Table Constructor (ORTC) and Memory Management System (MMS). The goal of this thesis is to analyze the compressibility of forwarding tables from publicly available BGP data [6]. In particular, we studied the efficiency of the compression algorithm with incremental updates to determine implementation perspectives on the real routers. Previous studies have been concerned mostly with the compression of snapshots of routing tables and they have not focused on the dynamic aspect that provides necessary information about practical usage in modern networks. The analysis of the dynamic of the forwarding table compression reveals dependencies between incoming updates and the changes in data structure. Moreover, we consider the efficiency of the incremental algorithm in different situations, such as quiet period of

15 INTRODUCTION 3 updates and update burst. The obtained results provide a basis for a discussion about the implementation of the algorithm in the real world. 1.1 Reader's guide The thesis is organized as follows: Chapter 2 provides an overview of Internet architecture and IP forwarding. It also describes BGP (Border Gateway Protocol), ORTC (Optimal Routing Table Constructor) and MMS (Memory Management System). Chapter 3 contains a detailed, two-part description of the algorithm used in our work: the original algorithm and the part with incremental updates. Chapter 4 presents compression results of publicly available BGP data. The first part of this chapter is dedicated to the compression results of BGP table snapshots which were conducted in two scenarios: in the first scenario, next-hops were randomly chosen and in the second scenario the values of the next-hops are equal to the number of second AS on the path. The second part presents the results of the study of compression behavior of the algorithm for incremental updates for the public available BGP updates data as well as analyses of the efficiency of the algorithm. Chapter 5 summarizes the findings and provides proposal for the future researches.

16 4 INTRODUCTION

17 2 Background In this chapter we present basic information about Internet architecture, data transferring on routers, the main Exterior Gateway Protocols of today - Border Gateway Protocol (BGP) and then we describe two proposals which can reduce a number of forwarding entries and produce as small as possible output forwarding tables with the same forwarding behavior as the uncompressed input - Optimal Routing Table Constructor (ORTC) and Memory Management System (MMS). 2.1 Internet routing The Internet is composed of the diversity of Autonomous Systems (ASes) which are connected to each other. Each AS is under the administration of a single Internet service provider (ISP) or a large organization. ISP s can be divided into three categories, depending on the size of network they operate [19]: tier-1 ISP s form the size of the Internet. ISP s of tier-1 sell network capacity or lease access to the network resource for smaller ISP s, called tier-2. The third group of ISP s form tier-3, which consists of small regional service providers. Mostly enterprises use providers of tier 3 to connect to the Internet. This network architecture is illustrated in Figure 2.1. Routers are devised with the primary task of forwarding data packets across the Internet to their final destination. Packets must be sent from one router to other routers on this way. To do this, the address of the next hop router has to be known. The router gets this information in forwarding tables using address lookup. After this, this information has been obtained and the packet can be transferred further to your destination.

18 6 BACKGROUND Figure 2.1: Network architecture [19] The main functions of routers can be divided into two categories. In the first category are the control plane functions, which include the exchange of routing table information, management and system configuration. In the second category are data path functions, such as forwarding decision, scheduling of output links and forwarding through the backplane [9]. After the arrival of the data packet at the forwarding engine, the destination IP address of packet is searched in the forwarding table and then the output port must be found. For this, longest matching prefixes method is used. Typical forwarding table is shown in Table 2.1. The forwarding table consists of entries with forwarding information, such as a prefix, the number of next hop and the number of output interface port.

19 BACKGROUND 7 Destination Address Prefix Next Hop IP Address Output Interface / / / / / Table 2.1: Routers forwarding table s structure [12] IP addressing An IP address in IPv4 is 32 bits in length and consists of four 8 bits blocks separated by dot [26]. An IP address in binary notation looks like or in decimal notation An IP address consists of a part, which contains address for network, and of a part, which contains address for hosts. The first part of an IP address (network part) is called the prefix. Next-hop information is connected to each prefix. This information is used for forwarding data packets using the longest matching prefixes. We will introduce how it works in the following example. We will write prefixes as a bit string of up to 32 bits and mark prefix X as the prefix that matches every address, then the prefix 000X matches any address that begins with the bits 000. If we have three prefix entries 00X 2, 0010X 1 and X 3 and the destination address begins with , than the longest matching prefix is X and data packet directed to next-hop 3. Since the beginning of the Internet how address space is allocated and used is changed. Initially, simple hierarchy known as classful addressing was used, which defines three network classes with different sizes class A, class B and class C [24]. Class A defines the first 8 bits for the network and 24 bits for the hosts (from to ), class B has 16 bits for the network and 16 bits for the hosts (from to ) and in class C the network size has 24 bits and the host size 8 bits (from to ). Class D is used for multicasting applications ( to ). With the growth of the Internet arises the problem of an exhaustion of the IPv4 address space, because for most organizations class C is not enough and class B is

20 8 BACKGROUND more than necessary. The solutions for this problem were subnetting [13] and Classless Inter Domain Routing (CIDR) [14]. Subnetting means that 16 bits host the field of class B subdivided into subnet and host fields. In other words, we can say that network A (1010X) is a subnet under network B (10X). CIDR was introduced to solve the disadvantages of classful addressing and allows arbitrary aggregation of network addresses. Addresses are represented in the following format: a.b.c.d./x,where x is the number of bits in the subnets portion of addresses. This type of granularity slows down the growth of entries in forwarding tables and routers maintain forwarding information not only at the network level, but also at the level of arbitrary aggregates of networks. There are two types of routing: routing inside the ASes and routing between the ASes. In the first case, routers communicate through the use of the Interior Gateway Protocols (IGP) [11]. In the second case, ASes communicate to other ASes through sets of border routers and the use of the Exterior Gateway Protocols (EGP) [10]. Figure 2.2: Routing inside and between the ASes Border Gateway Protocol Border Gateway Protocol (BGP) [15] is de facto the standard EGP of today s global Internet. BGP is a path-vector protocol and belongs to the class of distance-vector protocols. Routers which use this type of protocol exchange information with neighboring routers about path distance. BGP propagates the full reachability information to all routers internal to the AS and obtains reachability information from neighboring ASes. Two ASes establish a BGP session if they want to exchange traffic. The session is established

21 BACKGROUND 9 between pairs of routers, called BGP peers, using a semi-permanent TCP connection. In BGP sessions four types of messages are used, such as OPEN, NOTIFICATION, KEEPALIVE and UPDATE. The first two messages are used to open up or to tear down the peering session. KEEPALIVE is used to check that the connection still exists and UPDATE messages contain information about network reachability. There are two types of UPDATE massages. Peers can either advertise a prefix or send withdraw for a previously announced prefix. Peers exchange information about the best routes. If the best routes change then information about new best routes propagates across the network. When advertising the prefix, the update message includes BGP attributes, such as AS PATH, NEXT HOP, ORIGIN, Multiple Exit Discriminator (MED), Local Preference, Community etc [15]. The relevant attributes for this work are: AS PATH that contains the list of ASes through which the update message for the prefix passes. This attribute is used for a loop detection; NEXT HOP indicates the specific exit internal-as router to which should be forwarded packets. The follow example illustrates typical BGP update message: TIME: 01/16/11 14:01:59 TYPE: BGP4MP/MESSAGE/Update FROM: AS6762 TO: AS3936 ORIGIN: IGP ASPATH: MULTI_EXIT_DISC: 1 NEXT_HOP: COMMUNITY: 6762:1 ANNOUNCE /24 This BGP update message from Route Views on January 16, 2011 means that peer sent an announcement for prefix /24. This prefix is reachable via the set of ASes: 6762, 6453, 4755, and attribute ASPATH carries

22 10 BACKGROUND information about this. In this example AS is the originating AS and it originates prefix /24. We receive more specific information about the prefix from BGP attributes. For example, the ORIGIN attribute provides the source of a prefix. It can be IGP (Interior Gateway Protocol), EGP (Exterior Gateway Protocol) or INCOMPLETE. The Community attribute is used to group prefixes and influence routing decisions, and is represented as an integer. If AS has multiple connections with neighboring ASes, the preferred entry point is indicated by the Multiple Exit Discriminator (MED) attribute. The route with lowest MED value is preferred. The MED attribute is used within an AS with multiple exit points and allows providers to prefer a route. BGP decision process is a set of rules to pick the most suitable routes, such as [21]: 1. Highest local pref 2. Shortest AS path 3. Lowest origin type 4. Lowest MED 5. ebgp over ibgp learned 6. Lowest IGP metric 7. Lowest router ID One important feature of BGP is to support policy. Thanks to the policy providers can influence outgoing traffic. In the real world the usage of physical links costs different prices that remain in a business contract between providers for transferring and usage data traffic. In many situations economic reasons prevail over distance metrics, e.g. a route with the longest AS PATH but lower cost may be preferred over a shorter path. There is a route preference guideline Prefer customer-routes over routes advertised by peers or providers. [16] After the arrival of an advertisement, AS decides whether the route has to be accepted or not. This decision is based first of all on local policies. Then the advertisement is added to the routing table. For the forwarding packets for a peer only the best route is used and if this route is no longer available, the router can choose an alternative route from the set of routes, which were advertised from neighboring routers. For the mapping of incoming packets to outgoing links the forwarding table is used. Although the forwarding tables are much smaller than routing tables, they must be processed very quickly which can cause aggressive over-provision memory on routers.

23 BACKGROUND Forwarding table compression In recent years, many studies have researched different techniques to reduce memory on router. These studies have gone in two directions to reach this goal. One way to reduce memory consumption is to use techniques which can minimize routing table size and reduce the number of routes required to be stored in routers. For instance, the study by Thorup et. al. focuses on Compact Routing Schemes [1], which describe several routing schemes for general weighted undirected networks and create saving of memory for a given degree of suboptimal routing. In comparison to these studies, our technique does not need any changes in existing IP-routing protocols and can be implemented on modern network routers. Another study has concentrated on the Locator / ID splitting technique that reduces the amount of information which the routing system needs to keep. The central idea used in this study is to split the space of IP addresses into two separate spaces: the end-systems identifiers' space and the routing locators' space. Methods which describe this technique and provide significant memory savings, are presented in [2]. A large portion of the Internet has to deploy it for significant savings, because Locator / ID splitting use IP-in-IP tunneling and each ISP must have routers that make encapsulation and decapsulation. Another way to keep the memory on router small is to use special compression algorithms that reduce a number of forwarding entries and produce as small as possible output forwarding tables with the same forwarding behavior as the uncompressed input. In [3], the authors suggest compressing the routing tables by using Binary Tree Collapse (BTC). This algorithm consists of three transformations aiming at removing redundant entries from routing tables. First, the routing table is represented as a binary tree and then the algorithm performs a single post-order traversal of this tree. BTS shows reduction of the number of prefixes by around 35% from the original amount Optimal Routing Table Constructor The new algorithm was proposed by Draves et. al. at the end of 1999 with the name Optimal Routing Table Constructor (ORTC) [4] that produces a new output table with the least possible numbers of entries and which has the same forwarding behavior as uncompressed input table. In comparison to BTC, ORTC has better compression properties (about 7 10%) and has some new techniques. Now we introduce the overview of the algorithm. We will give a more detailed description in chapter 3.

24 12 BACKGROUND First of all, input forwarding table is represented as a binary tree. Originally, the authors proposed an algorithm which uses three passes over the tree representation with two assumptions. First, they assume that there is a default route, in other words that the null prefix at the top of the tree has a next-hop. The second assumption is that every prefix has only single next-hop. The first pass known as normalization propagates routing information from the top to the bottom of the tree. It builds the tree by creating new leaf nodes and initializing the next-hop value for a new node. For every node can build two children or if the node is last then zero children. Next-hop is inherited by the new node from its parent with the next-hop value. At the end of this step each node has either two children or zero and the next-hop information for interior nodes may be removed. This pass could use pre-order traversal of the binary tree or use a traversal by the level from the root down. The second pass is called prevalent hop set calculation. The goal of this step is to calculate the most prevalent hop set for each node on every level of the forwarding table. An implementation for this step might use a traversal by the level from the leaves up to the root or a post-order traversal of the tree. This pass moves from leaves up to root and sets the next-hop value for the parent node. If two child nodes have equal next-hops, then they are the most prevalent next-hops for the parent node. Otherwise all next-hops are transferred from the children level to the parent node. At the end of the second pass every node has a set of potential next-hops. The third pass is known as next hop selection. It moves from the root to the leaves and decides which entries are put into the FIB and which are not. As in the first phase, this pass could use pre-order traversal of the binary tree or use a traversal by the level from the root down. In the second pass a set of possible next-hops for each node is computed. The child node inherits a next-hop from the parent node that has a next-hop. Then it is checked that the inherited next-hop belongs to the node s set of potential next-hops. If it is a member of the set, then this next-hop may be removed, because it is inherited from the parent node. Otherwise, if the inherited next-hop does not belong to the node s set of potential nexthops, then in this case the node needs this next-hop for the route. At the end of this pass we get the compressed forwarding table without any redundant entries, but with the same routing behavior as original table. In the last version of ORTC algorithm, the two assumptions formulated above, are removed. The first is the default routing assumption, i.e. that the null prefix at the top of the tree has a next-hop. It may be placed to an artificial next-hop for the null prefix default

25 BACKGROUND 13 route. At the end of the algorithm work, the artificial next-hop may be removed from the compressed forwarding table. The second assumption must be solved too, because real routing tables have multiple next-hops as well. There are two ways to solve this problem. First, if the best next-hop can be chosen from the set of next-hops for a prefix with the help of some metrics before using ORTC, then we put into ORTC only the single best next-hop for a prefix. If we cannot choose the single best next-hop, we put modification in the first pass of the algorithm to allow containing multiple next-hops for the input table. In this case the child node may inherit multiple next-hops from its parent node. This variant ORTC is called ORTC-1. Second, if it is necessary to preserve multiple next-hops for a prefix second variant of ORTC known as ORTC-m has been developed. In this variant for each different set of next hops from the input table created virtual next-hops and then ORTC uses for optimization of routing table virtual next-hops. In other words not set of single next-hops are used, but sets of sets of next-hops. ORTC-1 shows better compression properties as second variant ORTC-m, but it does not preserve multiple next-hops information from input routing table. The work of the ORTC was tested on publicly available routing table [7]. First, there was an improved compression property of the algorithm and then compared with Binary Tree Collapse (BTC) [3]. ORTC shows better compressions properties in comparison to BTC scheme. Overall, ORTC reduces forwarding table (the MaeEast table of January 16, 1998 [11]) by 8% better than BTC (they reduce to 57% and 65% accordingly). The ORTC- 1 algorithm was used and the routing table with prefixes was reduced to prefixes [4]. The second step was the measurement of the running time of the algorithm. The running time for a largest routing table was less than 0.5 seconds for preliminary, non-optimized implementation of ORTC. Then the ORTC-m algorithm was examined, which preserves multiple next-hop information on the same routing tables as ORTC-1. ORTC-m reduces input routing tables to 70% of their original size and that shows almost identical results as BTC, but the BTC algorithm does not preserve multiple next-hop information and uses only the first next-hop and all the others are ignored, when this information is available. The ORTC does not support incremental updates. When a new update is received, the algorithm must be completely recomputed, but for some updates it is not necessary to do any re-computations or only a small part of the tree must be recomputed.

26 14 BACKGROUND Memory Management System Although ORTC has good compression properties, the algorithm must be completely rerun after receiving the update. In 2010 Karpilovsky et. al. [5] proposed an incrementally-deployable Memory Management System (MMS). They used ORTC as a basis of the research and suggested several new techniques to improve performance. The authors of MMS claimed that their proposal has several benefits such as flexibility, reduced operational cost, safety and the fact that it is incrementally deployable. In the normal transparent mode MMS brings about no changes to the chosen way routes and forwarded packets. In this case about 50% reduction of router memory without changes forwarding behavior is achieved. There is the additional possibility to save more memory (up to 70%). In such situations, MMS can shift paths to attain more memory reduction. Also MMS can increase resistance to misconfigurations in the network. The algorithm can be deployed in two modes: local and AS-wide deployment modes. The local deployment mode needs no changes in hardware, but some changes in software. The authors of MMS proposed two techniques to speed up ORTC: parallelization and incremental computation. Because chip manufactures in recent years have moved to multicore design it would be reasonable to use the advantages of parallel algorithms. MMS proposed the parallelization technique, which is based on [8] and consists of two stages. First, the thread works with all nodes, which is associated with /8 prefixes. Second, a single thread works with the rest of the nodes to perform compression for these nodes. As noted above, ORTC does not support the incremental update of the data structure. The authors of MMS developed an incremental algorithm that consists of four subroutines. The goal of this algorithm is to process only a part of the tree that is affected by the update. The first subroutine repeats the first step in ORTC, but with the difference that if node is not modified, child nodes are not modified too. The second step is the same as prevalent hop calculation in ORTC, but if a node has no children, the set of potential next hops is not changed. The third step is a normalization of all the affected ancestors of a node. At the end of the algorithm, the fourth subroutine computes new next hops. In chapter 3 we will give a more detailed description of the algorithm for incremental updates. Parallelization and incremental updates could be used together. However, parallelization shows best results when we need to process large sets of data or when we prefer faster compression with full computation. Incremental computation is adopted to work with

27 BACKGROUND 15 received BGP updates, because best results are obtained working over small sets of nodes in data structure. One more difference of MMS from ORTC is that MMS can modify forwarding behavior to obtain better compression results using the BGP decision process. For MMS configuration the threshold level could be used, which determines number of steps of BGP decision process. For example, if we choose level 3 it means that all routes are selected which remains after steps 1, 2 and 3 of the BGP decision process. The MMS was evaluated with data from tier-1 ISP s BGP feeds from January of 2008 to June of The authors have researched the runtime and the compression ratio of the algorithm using the local-mode with threshold 7. For FIB compression a routing table snapshot from June 1, 2008 [6] was used. The algorithm shows compression results about 42% of the original size of the routing table and compression grows for lower levels of threshold. The compression for threshold level 1 and 2 is about 35% and 38%, respectively. The rate of growth of uncompressed router s FIB was compared with the rate of growth of compressed router s FIB in local-mode and the authors claimed that these compression results can save software resources and extend the lifetime of router by over 7 years. Also, the compression ratio was studied for each AS of Route Views snapshot from June 1, The results show a different reduction level of the forwarding table size for different tiers. For example, it is roughly 35% of the original size for tier-1 ISPs. Lower tiers have greater compression and for 90% of tier-2 compression ratio is about 25% or better. In next step, the running time of MMS implementation was studied. First, it was evaluated what influence parallelization has and these results were compared with a single tread version of ORTC. Results have showed a significant speed up of running time and interesting effect of multi-threading has been found. Parallelization improves speed up only until 20 threads, after 20 threads it does not show any further improvement. However, multi-threading can speed up ORTC algorithm by a factor 8. Second, benefits of incremental updates it were studied. In comparison to the non-incremental ORTC algorithm, the incremental computation shows considerable improvement of running time. A maximum computation time of incremental version is 33ms. Finally computation time was compared in the AS-wide deployed MMS and computation time if ORTC was running once per router. The obtained results indicate that computation time is reduced by a factor of 12 on average.

28 16 BACKGROUND These results show that MMS has good perspectives to be deployed on real routers to reduce forwarding tables and to solve the problem of over-provision of memory on routers in the Internet.

29 3 Compression algorithm This chapter describes in detail the compression algorithm that was used in this study. The chapter is organized as follows: in the first part we provide the description of the algorithm which reduces the number of entries in forwarding table, and in the second part we describe to the description of the incremental updates computation. 3.1 Compression algorithm for forwarding tables The routing tables, which are located on routers, have many redundant entries. The compression algorithm must be able to reduce the number of entries without any changes in forwarding behavior. In the previous chapter the different proposals of research community in last year s were given [3], [4], [5], [20]. We chose as a basis for our research an algorithm that was proposed by Draves et. al. [4] and called ORTC (Optimal Routing Table Constructor). The ORTC algorithm reduces the size of the forwarding table using the following three steps: normalization, most prevalent next hops calculation and selection of the next hop. ORTC operates on the data structure, which represents forwarding tables as a binary tree. First of all, we need to build a binary tree, where each node is associated with a different prefix from forwarding table and has a value of the next-hop, represented as a small integer called color. We explain how the algorithm works in the following example.

30 18 COMPRESSION ALGORITHM Figure 3.1: Binary tree representation of a routing table We have a forwarding table with 8 entries that can be represented as a binary tree shown on Figure 3.1. Binary tree contains three types of nodes: nodes which are part of RIB; nodes which are part of FIB ( final nodes); nodes which are created by the algorithm; In the example there is a default route X=>1. The root node could be marked with the default zero next-hop which would means no entries for this prefix in the forwarding table. Now we will go step by step through all the computations and will see how at the end we get reduced forwarding table Normalization The first pass is called normalization. The goal of this step is the normalization of the binary tree for the next steps through the initialization a missing second child for the nodes with one child. The traversal goes from the top down to the bottom of the tree, i.e. from the root to the leaf nodes, and puts for interior nodes without the next-hop information a value of the nearest ancestor node, which has the next-hop. If the node has only one child, it initializes a second one and inherits from the ancestor next-hop. It is used for this pass preorder traversal and at the end of first pass we have a tree, where each node has either two or zero children and all nodes have the next-hop values.

31 COMPRESSION ALGORITHM 19 Figure 3.2 illustrates the state of the tree from our example after normalization. All changes that occur after this step are marked in red. Figure 3.2: State of binary tree after step 1 Most interesting here are three points in the tree that are shown on Figure 3.3. It was built for nodes 01X, 10X and 11X the missing child nodes that inherited from the parents colors 2, 1 and 4, respectively. Figure 3.3: Detailed illustration of step Most prevalent next hops calculation After the first pass the tree has next-hops information (colors) for all nodes and it is possible to do the computation of the set of the potential next hops at every level. For this

32 20 COMPRESSION ALGORITHM pass post-order traversal from the leaf nodes to the root is used. The computation follows three rules: If a node has no children (the leaf node) then the set of prevalent hops for this node is equal to the value of the node s next-hop; If child nodes have the same values in the sets of prevalent hops then the parent node becomes this intersection as most prevalent hops; If the child nodes have different values of prevalent hops, i.e. the intersection of the sets is empty, in this case the parent node becomes the union of the values of both child nodes. At the end of the second path all nodes of the tree are marked with the set of most prevalent next hops. Figure 3.4: State of binary tree after step 2 The state of the binary tree from our example after the second pass is shown in Figure 3.4. As we can see, the example represents all three cases from the set rules noted above. The intersection of child prevalent hops is illustrated in Figure 3.5a. Node X takes from the child nodes intersection of its sets of prevalent hops color 2.The union of child prevalent hops is shown in Figure 3.5b. At this point node 1X carries all values of its child nodes and theset of prevalent hops is {1, 2, 4}.

33 COMPRESSION ALGORITHM 21 Figure 3.5: Example of the set of prevalent hops creation: a) intersection; b) union Selection of the next hop The final step in the algorithm is the selection of the next-hop. The goal of this pass is the selection of the next-hops for prefixes from the set of mostly prevalent next-hops that were computed in last step. For this phase pre-order traversal is used. There is a similarity with the first step. As in the first pass, a computation begins at the root node and then goes down to the leaf nodes. It follows a simple rule: if the inherited next-hop is a member of the set of prevalent hops, then this node does not need a next-hop, because it is the same as the next-hop of the highest level and can be covered from highest level. Otherwise, any member of the node s set of prevalent hops it can be chosen. At the end of the pass the redundant entry is left in the forwarding table. Figure 3.6: Final state of the binary tree

34 22 COMPRESSION ALGORITHM In our example, we are going from the root node X with color 2 down the tree. On the left side of the tree nodes 0X, 01X, 010X and 011X do not need a next-hop. They have color 2 in the sets of the prevalent hops. Hence, they inherit an appropriate next-hop. Node 00X has the set of prevalent hops {3} and it is different to the next-hop of the closest ancestor node. Therefore, the color for this node is chosen as 3. Nodes 000X and 001X have the same colors and they can be covered by a parent node. For the right side of the tree we use the same method and get for nodes 101X and 11X colors 1 and 4, respectively. Now the forwarding table of the example has only 4 entries instead of 8 entries in the forwarding table before compression. Figure 3.6 depicts the final state of the tree. 3.2 Compression algorithm for incremental updates Originally, the authors of ORTC proposed batching of updates and periodic rerun the algorithm for all tree, but most updates cause changes only in a small portion of the tree. Karpilovsky et. al. [5] proposed an algorithm for incremental updates, which consists of four steps. This technique can improve the performance of the algorithm and speed up the time of computation. Upon reception of an update, the algorithm recurses down the tree to find or create corresponding node. If the next-hop for this node has to be changed the normalization step of the algorithm is applied. First, the process uses updated node as the root and goes down doing the normalization only for the child of this node. Second, if the child node is not normalized, i.e. the node has the next hop from RIB, children of that node are not modified either.

35 COMPRESSION ALGORITHM 23 Figure 3.7: State of binary tree upon reception of the update Figure 3.8 illustrates this phase. As can be seen, node 01X received the update and became the new color 3. Then the new color is propagated down to its children. Normalization for the left side stops at node 010X and its children, because that node has the next-hop from RIB. After normalization node 011X turns into a new color 3. Figure 3.8: Example of pass1 for incremental updates The second pass in the incremental updates algorithm is the same as in the original algorithm, but the set of prevalent hops are calculated only for the tree portion that was changed after the first step. As in the ORTC algorithm, for second step is used post-order traversal from down to the updated node. If the updated node has no children then its set of prevalent hops is equal to a new color obtained from FIB.

36 24 COMPRESSION ALGORITHM Figure 3.9: Example of passes 2 and 3 for incremental updates The goal of the third pass is to detect the highest affected ancestor level. This step is completely new and has no analogue in ORTC. To decide whether the ancestor is affected by the update or not, first the new set of prevalent hops for the ancestor node has to be calculated. If the new set differs from the old one, then the algorithm checks for next ancestors in ascending order as long as the new computed set of prevalent hops is similar. From now on, we only consider the sub-tree rooted at the highest affected ancestor. In our example the algorithm goes one level up and calculates a new set of prevalent hops for node 0X, after this it checks the node one level higher, but this node is not modified. Hence, the highest ancestor level is 1 and the next step uses node 0X as root. The last pass in the incremental updates algorithm is similar to the selection of the next hop in ORTC. The computation begins at the highest affected node and goes down to the leaf and new next hops are recomputed as needed.

37 COMPRESSION ALGORITHM 25 Figure 3.10: Final state of binary tree after update Figure 3.10 illustrates this pass. Computation starts at node 0X and goes down. At the end of this step the FIB gets two new entries. Now node 0X has color 3 and covers nodes 00X and 01X, and its children, except node 010X, which has color 2. As we can see in the example, the algorithm for incremental updates enables recomputation only for a part of the tree that is affected from incoming update instead to complete rerun of the algorithm for whole tree. In the next chapter we present analysis of the compression behavior and the efficiency of algorithm on BGP table snapshots.

38 26 COMPRESSION ALGORITHM

39 4 Evaluation In this chapter we describe the compression results of publicly available BGP data from Rout-Views [6]. The first part of this chapter is dedicated to the compression results of BGP table snapshots. We analyze the compression behavior in two variants: in the first, values of next-hops are inputted randomly and in the second, values of next-hops are equal to the number of the second AS on the path. In the second part we present the results of incremental updates mode using the algorithm, which was described in last chapter. The description contains analyses of compression behavior and efficiency of the algorithm. 4.1 Compressibility of BGP table snapshots The first part of this chapter is concerned with the compression of BGP table snapshots to analyze the compression rate for different next-hop assignments. The results are based on data publicly available on Route-Views [6]. Route-Views is a project from the University of Oregon's Advanced Network Technology Center [22], which was organized with purpose to obtain real-time information about the global routing system from the perspectives of several different backbones and locations around the Internet [6]. Data in a Route-Views is kept in MRT format and collected from Zebra routers. It is publicly available from [25]. Because tables and updates are kept in binary format, they must be decoded in ASCII format using different tools, for example, Perl script written by Marco d'itribut [23]. The most popular conversion tool is the Multithreaded Routing Toolkit (MRT) - route_btoa [18]. The decoded information after work of route_btoa can be obtained in two formats: man readable and machine readable. Typical man readable format is presented in chapter 2.1 in the description of BGP update message. The second format is more convenient for automatic processing.

40 28 EVALUATION The decoded BGP update message in machine readable format has the following syntaxes for announcements (in one line): BGP protocol unix time in seconds Withdraw or Announce PeerIP PeerAS Prefix AS_PATH Origin Next_Hop Local_Pref MED Community AtomicAGG AGGREGATOR and for withdrawn routes (in one line): BGP protocol unix time in seconds Withdraw or Announce PeerIP PeerAS Prefix The follow example illustrates typical update messages in machine readable format: BGP4MP A / IGP NAG BGP4MP W /24 The BGP routing tables used to evaluate the compression algorithm for BGP table snapshots comes from Route-Views archive from 16 January It is a snapshot of the BGP table that was collected at 14:00 and contains routing information for 44 peers. We built forwarding tables in two ways. The first way uses random next-hops. Compression gains with different random values one BGP table for three ASes were studied. The second way uses as next-hops a number of the next AS on the path. Table 4.1 shows compression results obtained for AS 812 using random next-hop values (from 2 to 50). As can be seen, the algorithm shows clearly the compression of inputted tables for different numbers of colors. The variant with number of colors equal to 50 shows compression of routing tables about 88% of the original size. The variant with 5 colors provides a compression of about 63% of its original size. Limited compression gains can be explained by the random nature of the next-hops. In the following example using a BGP table from AS 812, the number of BGP prefixes is equal to In the first step, we represented these prefixes as a binary tree. The tree has nodes that matched the forwarding entries.

41 % of original size EVALUATION 29 Number of colors FIB Entries % of original size ,48% ,64% ,87% ,35% ,93% ,81% ,50% ,59% % Table 4.1: Compression results for peer AS 812 After applying the algorithm, the number of nodes which matched the forwarding entries in the output table, was significantly reduced and in the example with number of color 5, the number of final nodes (the nodes that have entries in output table) is The achieved compression is about 63% of its original size. 100,00% 90,00% 80,00% 70,00% 60,00% 50,00% 40,00% 30,00% 20,00% 10,00% 0,00% AS Number of colors Figure 4.1: Compression results for peer AS 812 (number of colors 2-15) Figure 4.1 depicts compression results with small number of colors (between 2 and 15) and random assignment of next-hops (colors). The graph shows sharp growth in the interval from 2 until 5 numbers of colors, and then increases slowly. Further increasing number of colors brings the compressed data structure back to its original size, as can be seen in Figure 4.2.

42 % of original size 30 EVALUATION 100,00% AS ,00% 60,00% 40,00% 20,00% 0,00% Number of colors Figure 4.2: Compression results for peer AS 812 (number of colors 2-50) How the algorithm reduced the number of nodes at the levels was also studied. Analysis of the compression at each level shows that the greatest compression gain is achieved at the levels 8, 16 and in the interval between 19 and 24 levels. These results follow from the distribution of the prefixes in the input table in the particular experiment. Figure 4.3 depicts these results for three color values that are equal to 3, 5 and 10. As we can see, all three graphs are similar and the difference lies only in compression level. The graph that depicts the highest number of colors lies under the graph with the small number. We repeated this study on the three ASes from the routing table and found similar compression gains. In the next step, the compression of the routing tables using the number of second AS on the path as the next-hop was studied. We took the number of second AS from the attribute AS PATH and put this value as a color. It should be noted that some providers want to control traffic going through AS and for this reason they use a special technique called prepending [17]. This technique uses BGP attribute AS PATH to influence the selection of the route, manually increasing the length of this attribute by adding the number of the own AS several times. For example, attribute AS PATH: shows that AS 812 is prepended three times. In order to avoid this in our study we took the second number of not prepended AS.

43 % of original size EVALUATION 31 45,00% 40,00% 35,00% 30,00% 25,00% 20,00% 15,00% 10,00% 5,00% 0,00% AS Level 3 colors 5 colors 10 colors Figure 4.3: Compression results for peer AS 812 per node level (3, 5, 10 colors) First, we evaluated compression behavior on the whole routing table that has been described above. The compression algorithm reduces uncompressed input BGP table that contains entries to the output table that contains only entries. The achieved reduction is 45,72% of the original size, although the table contains different neighboring ASes. We expect that a few colors concentrate together in the certain portions of the tree. This allows the algorithm to compress more effectively the forwarding tables. Next, we studied compression gain for the ASes from different tiers. Table 4.2 shows the results. In the table results for two ASes from tier-1 (AS 3356 and AS 6939) and for two ASes from tier-2 (AS 6539 and AS 11686) are represented. As we can see, the algorithm works well for all ASes, especially for the ASes from tier-2. Note the results that we achieved are the similar to the results from MMS. ASes from tier-1 have many connections with other autonomous systems. Therefore the number of neighboring ASes for these ASes is very high and for AS 3356 and AS 6939 this number is 2890 and 1556, respectively. Although the compression algorithm must work with so many different colors, the algorithm shows clearly a reduction of output tables about 28% 33% of original size. One possible explanation for this phenomenon is that a few colors concentrate on limited parts of the tree, facilitating the compression.

CS 640: Introduction to Computer Networks. Intra-domain routing. Inter-domain Routing: Hierarchy. Aditya Akella

CS 640: Introduction to Computer Networks. Intra-domain routing. Inter-domain Routing: Hierarchy. Aditya Akella CS 640: Introduction to Computer Networks Aditya Akella Lecture 11 - Inter-Domain Routing - BGP (Border Gateway Protocol) Intra-domain routing The Story So Far Routing protocols generate the forwarding

More information

Border Gateway Protocol

Border Gateway Protocol 39 CHAPTER Chapter Goals Understand the purpose of the. Explain BGP attributes and their use in route selection. Examine the BGP route selection process. Introduction The (BGP) is an interautonomous system

More information

CS4450. Computer Networks: Architecture and Protocols. Lecture 15 BGP. Spring 2018 Rachit Agarwal

CS4450. Computer Networks: Architecture and Protocols. Lecture 15 BGP. Spring 2018 Rachit Agarwal CS4450 Computer Networks: Architecture and Protocols Lecture 15 BGP Spring 2018 Rachit Agarwal Autonomous System (AS) or Domain Region of a network under a single administrative entity Border Routers Interior

More information

Configuring BGP. Cisco s BGP Implementation

Configuring BGP. Cisco s BGP Implementation Configuring BGP This chapter describes how to configure Border Gateway Protocol (BGP). For a complete description of the BGP commands in this chapter, refer to the BGP s chapter of the Network Protocols

More information

Connecting to a Service Provider Using External BGP

Connecting to a Service Provider Using External BGP Connecting to a Service Provider Using External BGP This module describes configuration tasks that will enable your Border Gateway Protocol (BGP) network to access peer devices in external networks such

More information

BGP Configuration. BGP Overview. Introduction to BGP. Formats of BGP Messages. Header

BGP Configuration. BGP Overview. Introduction to BGP. Formats of BGP Messages. Header Table of Contents BGP Configuration 1 BGP Overview 1 Introduction to BGP 1 Formats of BGP Messages 1 BGP Path Attributes 4 BGP Route Selection 8 Configuring BGP 8 Configuration Prerequisites 8 Configuration

More information

Configuring BGP community 43 Configuring a BGP route reflector 44 Configuring a BGP confederation 44 Configuring BGP GR 45 Enabling Guard route

Configuring BGP community 43 Configuring a BGP route reflector 44 Configuring a BGP confederation 44 Configuring BGP GR 45 Enabling Guard route Contents Configuring BGP 1 Overview 1 BGP speaker and BGP peer 1 BGP message types 1 BGP path attributes 2 BGP route selection 6 BGP route advertisement rules 6 BGP load balancing 6 Settlements for problems

More information

Internet Routing : Fundamentals of Computer Networks Bill Nace

Internet Routing : Fundamentals of Computer Networks Bill Nace Internet Routing 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Looking Ahead Lab #2 just due Quiz #2

More information

internet technologies and standards

internet technologies and standards Institute of Telecommunications Warsaw University of Technology internet technologies and standards Piotr Gajowniczek BGP (Border Gateway Protocol) structure of the Internet Tier 1 ISP Tier 1 ISP Google

More information

Inter-Domain Routing: BGP

Inter-Domain Routing: BGP Inter-Domain Routing: BGP Richard T. B. Ma School of Computing National University of Singapore CS 3103: Compute Networks and Protocols Inter-Domain Routing Internet is a network of networks Hierarchy

More information

This appendix contains supplementary Border Gateway Protocol (BGP) information and covers the following topics:

This appendix contains supplementary Border Gateway Protocol (BGP) information and covers the following topics: Appendix C BGP Supplement This appendix contains supplementary Border Gateway Protocol (BGP) information and covers the following topics: BGP Route Summarization Redistribution with IGPs Communities Route

More information

CS BGP v4. Fall 2014

CS BGP v4. Fall 2014 CS 457 - BGP v4 Fall 2014 Autonomous Systems What is an AS? a set of routers under a single technical administration uses an interior gateway protocol (IGP) and common metrics to route packets within the

More information

Connecting to a Service Provider Using External BGP

Connecting to a Service Provider Using External BGP Connecting to a Service Provider Using External BGP First Published: May 2, 2005 Last Updated: August 21, 2007 This module describes configuration tasks that will enable your Border Gateway Protocol (BGP)

More information

TELE 301 Network Management

TELE 301 Network Management TELE 301 Network Management Lecture 24: Exterior Routing and BGP Haibo Zhang Computer Science, University of Otago TELE301 Lecture 16: Remote Terminal Services 1 Today s Focus How routing between different

More information

Internet Interconnection Structure

Internet Interconnection Structure Internet Interconnection Structure Basic Concepts (1) Internet Service Provider (ISP) Provider who connects an end user customer with the Internet in one or few geographic regions. National & Regional

More information

Outline Computer Networking. Inter and Intra-Domain Routing. Internet s Area Hierarchy Routing hierarchy. Internet structure

Outline Computer Networking. Inter and Intra-Domain Routing. Internet s Area Hierarchy Routing hierarchy. Internet structure Outline 15-441 15-441 Computer Networking 15-641 Lecture 10: Inter-Domain outing Border Gateway Protocol -BGP Peter Steenkiste Fall 2016 www.cs.cmu.edu/~prs/15-441-f16 outing hierarchy Internet structure

More information

Internet Routing Basics

Internet Routing Basics Internet Routing Basics Back to basics J Application Presentation Application (HTTP, DNS, FTP) Data Application (HTTP, DNS, FTP) Session Transport Transport (TCP/UDP) E2E connectivity (app-to-app) Port

More information

Protecting an EBGP peer when memory usage reaches level 2 threshold 66 Configuring a large-scale BGP network 67 Configuring BGP community 67

Protecting an EBGP peer when memory usage reaches level 2 threshold 66 Configuring a large-scale BGP network 67 Configuring BGP community 67 Contents Configuring BGP 1 Overview 1 BGP speaker and BGP peer 1 BGP message types 1 BGP path attributes 2 BGP route selection 6 BGP route advertisement rules 6 BGP load balancing 6 Settlements for problems

More information

Important Lessons From Last Lecture Computer Networking. Outline. Routing Review. Routing hierarchy. Internet structure. External BGP (E-BGP)

Important Lessons From Last Lecture Computer Networking. Outline. Routing Review. Routing hierarchy. Internet structure. External BGP (E-BGP) Important Lessons From Last Lecture 15-441 Computer Networking Inter-Domain outing BGP (Border Gateway Protocol) Every router needs to be able to forward towards any destination Forwarding table must be

More information

Routing Between Autonomous Systems (Example: BGP4) RFC 1771

Routing Between Autonomous Systems (Example: BGP4) RFC 1771 CS 4/55231 Internet Engineering Kent State University Dept. of Computer Science LECT-7B Routing Between Autonomous Systems (Example: BGP4) RFC 1771 52 53 BGP4 Overview Example of Operations BGP4 is a path

More information

Inter-domain Routing. Outline. Border Gateway Protocol

Inter-domain Routing. Outline. Border Gateway Protocol Inter-domain Routing Outline Border Gateway Protocol Internet Structure Original idea CS 640 2 Internet Structure Today CS 640 3 Route Propagation in the Internet Autonomous System (AS) corresponds to

More information

Internet Protocols Fall Lectures Inter-domain routing, mobility support, multicast routing Andreas Terzis

Internet Protocols Fall Lectures Inter-domain routing, mobility support, multicast routing Andreas Terzis Internet Protocols Fall 2006 Lectures 11-12 Inter-domain routing, mobility support, multicast routing Andreas Terzis Outline Inter-domain Internet Routing BGP Routing for mobile nodes Multicast routing

More information

Internet Routing Protocols Lecture 03 Inter-domain Routing

Internet Routing Protocols Lecture 03 Inter-domain Routing Internet Routing Protocols Lecture 03 Inter-domain Routing Advanced Systems Topics Lent Term, 2008 Timothy G. Griffin Computer Lab Cambridge UK Autonomous Routing Domains A collection of physical networks

More information

Routing Basics. SANOG July, 2017 Gurgaon, INDIA

Routing Basics. SANOG July, 2017 Gurgaon, INDIA Routing Basics SANOG 30 14-18 July, 2017 Gurgaon, INDIA Back to basics J Application Presentation Application (HTTP, DNS, FTP) Data Application (HTTP, DNS, FTP) Session Transport Transport (TCP/UDP) E2E

More information

APNIC elearning: BGP Basics. 30 September :00 PM AEST Brisbane (UTC+10) Revision: 2.0

APNIC elearning: BGP Basics. 30 September :00 PM AEST Brisbane (UTC+10) Revision: 2.0 APNIC elearning: BGP Basics 30 September 2015 1:00 PM AEST Brisbane (UTC+10) Issue Date: 07 July 2015 Revision: 2.0 Presenter Nurul Islam (Roman) Senior Training Specialist, APNIC Nurul maintains the APNIC

More information

Module 6 Implementing BGP

Module 6 Implementing BGP Module 6 Implementing BGP Lesson 1 Explaining BGP Concepts and Terminology BGP Border Gateway Protocol Using BGP to Connect to the Internet If only one ISP, do not need BGP. If multiple ISPs, use BGP,

More information

BGP Routing and BGP Policy. BGP Routing. Agenda. BGP Routing Information Base. L47 - BGP Routing. L47 - BGP Routing

BGP Routing and BGP Policy. BGP Routing. Agenda. BGP Routing Information Base. L47 - BGP Routing. L47 - BGP Routing BGP Routing and BGP Policy BGP Routing The BGP Routing Principles and Route Decisions based on AS-Path in a simple topology of AS s routing policy is reduced to a minimal function demonstrated in example

More information

BGP can also be used for carrying routing information for IPv6 prefix over IPv6 networks.

BGP can also be used for carrying routing information for IPv6 prefix over IPv6 networks. This chapter describes how to configure the Cisco ASA to route data, perform authentication, and redistribute routing information using the Border Gateway Protocol (). About, page 1 Guidelines for, page

More information

EE 122: Inter-domain routing Border Gateway Protocol (BGP)

EE 122: Inter-domain routing Border Gateway Protocol (BGP) EE 122: Inter-domain routing Border Gateway Protocol (BGP) Ion Stoica October 2, 2002 (* this presentation is based on Lakshmi Subramanian s slides) Big Picture Large ISP Large ISP St u b D i al - U p

More information

CSCI Topics: Internet Programming Fall 2008

CSCI Topics: Internet Programming Fall 2008 CSCI 491-01 Topics: Internet Programming Fall 2008 Network Layer Derek Leonard Hendrix College November 17, 2008 Original slides copyright 1996-2007 J.F Kurose and K.W. Ross 1 Chapter 4: Roadmap 4.1 Introduction

More information

Ravi Chandra cisco Systems Cisco Systems Confidential

Ravi Chandra cisco Systems Cisco Systems Confidential BGP4 1 Ravi Chandra cisco Systems 0799_04F7_c2 Cisco Systems Confidential 2 Border Gateway Protocol (BGP) Introduction to BGP BGP Peer Relationship BGP Attributes Applying Policy with BGP Putting it all

More information

BGP. Autonomous system (AS) BGP version 4

BGP. Autonomous system (AS) BGP version 4 BGP Border Gateway Protocol (an introduction) dr. C. P. J. Koymans Informatics Institute University of Amsterdam (version 1.3, 2010/03/10 20:05:02) Monday, March 8, 2010 General ideas behind BGP Background

More information

Configuration prerequisites 45 Configuring BGP community 45 Configuring a BGP route reflector 46 Configuring a BGP confederation 46 Configuring BGP

Configuration prerequisites 45 Configuring BGP community 45 Configuring a BGP route reflector 46 Configuring a BGP confederation 46 Configuring BGP Contents Configuring BGP 1 Overview 1 BGP speaker and BGP peer 1 BGP message types 1 BGP path attributes 2 BGP route selection 6 BGP route advertisement rules 6 BGP load balancing 6 Settlements for problems

More information

Internet Routing Protocols Lecture 01 & 02

Internet Routing Protocols Lecture 01 & 02 Internet Routing Protocols Lecture 01 & 02 Advanced Systems Topics Lent Term, 2010 Timothy G. Griffin Computer Lab Cambridge UK Internet Routing Outline Lecture 1 : Inter-domain routing architecture, the

More information

PART III. Implementing Inter-Network Relationships with BGP

PART III. Implementing Inter-Network Relationships with BGP PART III Implementing Inter-Network Relationships with BGP ICNP 2002 Routing Protocols Autonomous System BGP-4 BGP = Border Gateway Protocol Is a Policy-Based routing protocol Is the de facto EGP of today

More information

BGP. Autonomous system (AS) BGP version 4

BGP. Autonomous system (AS) BGP version 4 BGP Border Gateway Protocol (an introduction) dr. C. P. J. Koymans Informatics Institute University of Amsterdam March 11, 2008 General ideas behind BGP Background Providers, Customers and Peers External

More information

LARGE SCALE IP ROUTING LECTURE BY SEBASTIAN GRAF

LARGE SCALE IP ROUTING LECTURE BY SEBASTIAN GRAF LARGE SCALE IP ROUTING LECTURE BY SEBASTIAN GRAF MODULE 3 BORDER GATEWAY PROTOCOL 1 by Xantaro Interdomain Routing The Internet is a collection of autonomous systems An autonomous system (AS) is a collection

More information

An overview of how packets are routed in the Internet

An overview of how packets are routed in the Internet An overview of how packets are routed in the Internet 1 Dijkstra s shortest path first algorithm (example of a Link State Algorithm ) 1. Exchange link state: A router floods to every other router the state

More information

IP Addressing & Interdomain Routing. Next Topic

IP Addressing & Interdomain Routing. Next Topic IP Addressing & Interdomain Routing Next Topic IP Addressing Hierarchy (prefixes, class A, B, C, subnets) Interdomain routing Application Presentation Session Transport Network Data Link Physical Scalability

More information

Vendor: Alcatel-Lucent. Exam Code: 4A Exam Name: Alcatel-Lucent Border Gateway Protocol. Version: Demo

Vendor: Alcatel-Lucent. Exam Code: 4A Exam Name: Alcatel-Lucent Border Gateway Protocol. Version: Demo Vendor: Alcatel-Lucent Exam Code: 4A0-102 Exam Name: Alcatel-Lucent Border Gateway Protocol Version: Demo QUESTION 1 Upon the successful establishment of a TCP session between peers, what type of BGP message

More information

BGP. Autonomous system (AS) BGP version 4

BGP. Autonomous system (AS) BGP version 4 BGP Border Gateway Protocol (an introduction) Karst Koymans Informatics Institute University of Amsterdam (version 1.5, 2011/03/06 13:35:28) Monday, March 7, 2011 General ideas behind BGP Background Providers,

More information

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

Examination. ANSWERS IP routning på Internet och andra sammansatta nät, DD2491 IP routing in the Internet and other complex networks, DD2491 Examination ANSWERS IP routning på Internet och andra sammansatta nät, DD2491 IP routing in the Internet and other complex networks, DD2491 Date: October 21st 2008 10:00 13:00 a) No help material is allowed

More information

Introduction. Keith Barker, CCIE #6783. YouTube - Keith6783.

Introduction. Keith Barker, CCIE #6783. YouTube - Keith6783. Understanding, Implementing and troubleshooting BGP 01 Introduction http:// Instructor Introduction Keith Barker, CCIE #6783 CCIE Routing and Switching 2001 CCIE Security 2003 kbarker@ine.com YouTube -

More information

Chapter 13 Configuring BGP4

Chapter 13 Configuring BGP4 Chapter 13 Configuring BGP4 This chapter provides details on how to configure Border Gateway Protocol version 4 (BGP4) on HP products using the CLI and the Web management interface. BGP4 is supported on

More information

Back to basics J. Addressing is the key! Application (HTTP, DNS, FTP) Application (HTTP, DNS, FTP) Transport. Transport (TCP/UDP) Internet (IPv4/IPv6)

Back to basics J. Addressing is the key! Application (HTTP, DNS, FTP) Application (HTTP, DNS, FTP) Transport. Transport (TCP/UDP) Internet (IPv4/IPv6) Routing Basics Back to basics J Application Presentation Application (HTTP, DNS, FTP) Data Application (HTTP, DNS, FTP) Session Transport Transport (TCP/UDP) E2E connectivity (app-to-app) Port numbers

More information

Lecture 16: Interdomain Routing. CSE 123: Computer Networks Stefan Savage

Lecture 16: Interdomain Routing. CSE 123: Computer Networks Stefan Savage Lecture 16: Interdomain Routing CSE 123: Computer Networks Stefan Savage Overview Autonomous Systems Each network on the Internet has its own goals Path-vector Routing Allows scalable, informed route selection

More information

BGP Attributes (C) Herbert Haas 2005/03/11 1

BGP Attributes (C) Herbert Haas 2005/03/11 1 BGP Attributes (C) Herbert Haas 2005/03/11 1 Attribute Types Well-known Optional Mandatory Discretionary Non-Transitive Transitive ORIGIN (1) AS_PATH (2) NEXT_HOP (3) LOCAL_PREFERENCE (5) ATOMIC_AGGREGATE

More information

Routing Unicast routing protocols

Routing Unicast routing protocols Routing Unicast routing protocols Jens A Andersson Electrical and Information Technology R1 Choosing an Optimal Path R4 5 R7 5 10 40 R6 6 5 B R2 15 A 20 4 10 10 R8 R3 5 10 R5 1 Router A router is a type

More information

BGP Attributes and Path Selection

BGP Attributes and Path Selection BGP Attributes and Path Selection ISP Training Workshops 1 BGP Attributes The tools available for the job 2 What Is an Attribute?... Next Hop AS Path MED...... Part of a BGP Update Describes the characteristics

More information

BGP Attributes and Policy Control

BGP Attributes and Policy Control BGP Attributes and Policy Control ISP/IXP Workshops 1 Agenda BGP Attributes BGP Path Selection Applying Policy 2 BGP Attributes The tools available for the job 3 What Is an Attribute?... Next Hop......

More information

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097 Chair for Network Architectures and Services Prof. Carle Department of Computer Science TU München Master Course Computer Networks IN2097 Prof. Dr.-Ing. Georg Carle Chair for Network Architectures and

More information

Introduction to BGP. ISP Workshops. Last updated 30 October 2013

Introduction to BGP. ISP Workshops. Last updated 30 October 2013 Introduction to BGP ISP Workshops Last updated 30 October 2013 1 Border Gateway Protocol p A Routing Protocol used to exchange routing information between different networks n Exterior gateway protocol

More information

BGP Attributes and Policy Control

BGP Attributes and Policy Control BGP Attributes and Policy Control ISP/IXP `2005, Cisco Systems, Inc. All rights reserved. 1 Agenda BGP Attributes BGP Path Selection Applying Policy 2 BGP Attributes The tools available for the job `2005,

More information

CSE/EE 461 Lecture 11. Inter-domain Routing. This Lecture. Structure of the Internet. Focus How do we make routing scale?

CSE/EE 461 Lecture 11. Inter-domain Routing. This Lecture. Structure of the Internet. Focus How do we make routing scale? CSE/EE 461 Lecture 11 Inter-domain Routing This Lecture Focus How do we make routing scale? Inter-domain routing ASes and BGP Application Presentation Session Transport Network Data Link Physical sdg //

More information

Routing. Jens A Andersson Communication Systems

Routing. Jens A Andersson Communication Systems Routing Jens A Andersson Communication Systems R1 Choosing an Optimal Path R4 5 R7 5 10 40 R6 6 5 B R2 15 A 20 4 10 10 R8 R3 5 R5 10 Router A router is a type of internetworking device that passes data

More information

BGP. BGP Overview. Formats of BGP Messages. I. Header

BGP. BGP Overview. Formats of BGP Messages. I. Header Overview Three early versions of are -1 (RFC1105), -2 (RFC1163) and -3 (RFC1267). The current version in use is -4 (RFC1771). -4 is rapidly becoming the defacto Internet exterior routing protocol standard

More information

Lecture 18: Border Gateway Protocol

Lecture 18: Border Gateway Protocol Lecture 18: Border Gateway Protocol CSE 123: Computer Networks Alex C. Snoeren HW 3 due Wednesday Some figures courtesy Mike Freedman & Craig Labovitz Lecture 18 Overview Path-vector Routing Allows scalable,

More information

Operation Manual BGP. Table of Contents

Operation Manual BGP. Table of Contents Table of Contents Table of Contents... 1-1 1.1 BGP/MBGP Overview... 1-1 1.1.1 Introduction to BGP... 1-1 1.1.2 BGP Message Types... 1-2 1.1.3 BGP Routing Mechanism... 1-2 1.1.4 MBGP... 1-3 1.1.5 BGP Peer

More information

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System)

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System) BGP Border Gateway Protocol (an introduction) Karst Koymans Informatics Institute University of Amsterdam (version 1.9, 2012/03/14 10:21:22) Monday, March 12, 2012 General ideas behind BGP Background Providers,

More information

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097 Chair for Network Architectures and Services Prof. Carle Department of Computer Science TU München Master Course Computer Networks IN2097 Prof. Dr.-Ing. Georg Carle Christian Grothoff, Ph.D. Stephan Günther

More information

Lecture 17: Border Gateway Protocol

Lecture 17: Border Gateway Protocol Lecture 17: Border Gateway Protocol CSE 123: Computer Networks Alex C. Snoeren Some figures courtesy Mike Freedman Lecture 18 Overview Border Gateway Protocol (BGP) The canonical path vector protocol How

More information

Other Developments: CIDR

Other Developments: CIDR Other Developments: CIDR CIDR (classless Inter domain routing) Too many small networks requiring multiple class C addresses Running out of class B addresses, not enough nets in class A Assign contiguous

More information

BGP Route Reflector Commands

BGP Route Reflector Commands This chapter provides details of the commands used for configuring Border Gateway Protocol (BGP) Route Reflector (RR). address-family (BGP), on page 2 keychain, on page 5 neighbor (BGP), on page 7 remote-as

More information

Interdomain Routing Reading: Sections P&D 4.3.{3,4}

Interdomain Routing Reading: Sections P&D 4.3.{3,4} Interdomain Routing Reading: Sections P&D 4.3.{3,4} EE122: Intro to Communication Networks Fall 2006 (MW 4:00-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim http://inst.eecs.berkeley.edu/~ee122/

More information

University of Belgrade - School of Electrical Engineering Department of Telecommunications

University of Belgrade - School of Electrical Engineering Department of Telecommunications University of Belgrade - School of Electrical Engineering Department of Telecommunications 1 BGP-4 Theory and Practice Berislav Todorović beri@etf.bg.ac.yu Nenad Krajnović krajko@etf.bg.ac.yu 2 Routers

More information

Chapter 7: Routing Dynamically. Routing & Switching

Chapter 7: Routing Dynamically. Routing & Switching Chapter 7: Routing Dynamically Routing & Switching The Evolution of Dynamic Routing Protocols Dynamic routing protocols used in networks since the late 1980s Newer versions support the communication based

More information

CSCD 433/533 Network Programming Fall Lecture 14 Global Address Space Autonomous Systems, BGP Protocol Routing

CSCD 433/533 Network Programming Fall Lecture 14 Global Address Space Autonomous Systems, BGP Protocol Routing CSCD 433/533 Network Programming Fall 2012 Lecture 14 Global Address Space Autonomous Systems, BGP Protocol Routing 1 Topics Interdomain Routing BGP Interdomain Routing Benefits vs. Link State Routing

More information

FAQ. Version: Copyright ImageStream Internet Solutions, Inc., All rights Reserved.

FAQ. Version: Copyright ImageStream Internet Solutions, Inc., All rights Reserved. Version: 3434 Copyright 2007-2010 ImageStream Internet Solutions, Inc., All rights Reserved. Table of Contents BGP/FAQ...1 What is BGP?...1 What implementation of BGP do ImageStream routers use?...1 What

More information

Table of Contents. BGP Configuration 1

Table of Contents. BGP Configuration 1 Table of Contents BGP Configuration 1 BGP Overview 1 Formats of BGP Messages 2 BGP Path Attributes 5 BGP Route Selection 9 ibgp and IGP Synchronization 11 Settlements for Problems in Large Scale BGP Networks

More information

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

CS 457 Networking and the Internet. The Global Internet (Then) The Global Internet (And Now) 10/4/16. Fall 2016 CS 457 Networking and the Internet Fall 2016 The Global Internet (Then) The tree structure of the Internet in 1990 The Global Internet (And Now) A simple multi-provider Internet 1 The Global Internet Some

More information

BGP Commands. Network Protocols Command Reference, Part 1 P1R-355

BGP Commands. Network Protocols Command Reference, Part 1 P1R-355 BGP Commands Use the commands in this chapter to configure and monitor Border Gateway Protocol (BGP). For BGP configuration information and examples, refer to the Configuring BGP chapter of the Network

More information

FIGURE 3. Two-Level Internet Address Structure. FIGURE 4. Principle Classful IP Address Formats

FIGURE 3. Two-Level Internet Address Structure. FIGURE 4. Principle Classful IP Address Formats Classful IP Addressing When IP was first standardized in September 1981, the specification required that each system attached to an IP-based Internet be assigned a unique, 32-bit Internet address value.

More information

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

CS 43: Computer Networks. 24: Internet Routing November 19, 2018 CS 43: Computer Networks 24: Internet Routing November 19, 2018 Last Class Link State + Fast convergence (reacts to events quickly) + Small window of inconsistency Distance Vector + + Distributed (small

More information

Chapter 4: outline. Network Layer 4-1

Chapter 4: outline. Network Layer 4-1 Chapter 4: outline 4.1 introduction 4.2 virtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IPv4 addressing ICMP IPv6 4.5 routing algorithms link

More information

Routing Protocols --- Exterior Gateway Protocol

Routing Protocols --- Exterior Gateway Protocol Content Routing Protocols --- Exterior Gateway Protocol Linda Wu (CMPT 471 23-3) Limiting router interaction Autonomous system BGP protocol BGP messages Other issues on BGP Reference: chapter 15 Notes-13

More information

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

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 16, 2017 CS 43: Computer Networks Internet Routing Kevin Webb Swarthmore College November 16, 2017 1 Hierarchical routing Our routing study thus far - idealization all routers identical network flat not true in

More information

Inter-Domain Routing: BGP II

Inter-Domain Routing: BGP II Inter-Domain Routing: BGP II Brad Karp UCL Computer Science (drawn mostly from lecture notes by Hari Balakrishnan and Nick Feamster, MIT) CS 05/GZ01 4 th December 2014 BGP Protocol (cont d) BGP doesn t

More information

BGP Attributes and Policy Control

BGP Attributes and Policy Control BGP Attributes and Policy Control ISP/IXP Workshops 1 Agenda BGP Attributes BGP Path Selection Applying Policy 2 BGP Attributes The tools available for the job 3 What Is an Attribute?... Next Hop......

More information

BGP Commands. Network Protocols Command Reference, Part 1 P1R-355

BGP Commands. Network Protocols Command Reference, Part 1 P1R-355 BGP Commands Use the commands in this chapter to configure and monitor Border Gateway Protocol (BGP). For BGP configuration information and examples, refer to the Configuring BGP chapter of the Network

More information

CSCI-1680 Network Layer: Inter-domain Routing Rodrigo Fonseca

CSCI-1680 Network Layer: Inter-domain Routing Rodrigo Fonseca CSCI-1680 Network Layer: Inter-domain Routing Rodrigo Fonseca Based partly on lecture notes by Rob Sherwood, David Mazières, Phil Levis, John Janno? Administrivia Midterm moved up from 3/17 to 3/15 IP

More information

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

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 14, 2013 CS 43: Computer Networks Internet Routing Kevin Webb Swarthmore College November 14, 2013 1 Reading Quiz Hierarchical routing Our routing study thus far - idealization all routers identical network flat

More information

Unit 3: Dynamic Routing

Unit 3: Dynamic Routing Unit 3: Dynamic Routing Basic Routing The term routing refers to taking a packet from one device and sending it through the network to another device on a different network. Routers don t really care about

More information

CSC458 Lecture 6. Administrivia. Inter-domain Routing IP Addressing. Midterm will Cover Following Topics (2) Midterm will Cover Following Topics

CSC458 Lecture 6. Administrivia. Inter-domain Routing IP Addressing. Midterm will Cover Following Topics (2) Midterm will Cover Following Topics CSC458 Lecture 6 Inter-domain Routing IP Addressing Administrivia Homework: #2 due today #3 out today, due in two weeks (same date as midterm) No lecture next week Reading Week Midterm in two weeks 60

More information

Configuring Advanced BGP

Configuring Advanced BGP CHAPTER 6 This chapter describes how to configure advanced features of the Border Gateway Protocol (BGP) on the Cisco NX-OS switch. This chapter includes the following sections: Information About Advanced

More information

BGP. Border Gateway Protocol (an introduction) Karst Koymans. Informatics Institute University of Amsterdam. (version 17.3, 2017/12/04 13:20:08)

BGP. Border Gateway Protocol (an introduction) Karst Koymans. Informatics Institute University of Amsterdam. (version 17.3, 2017/12/04 13:20:08) BGP Border Gateway Protocol (an introduction) Karst Koymans Informatics Institute University of Amsterdam (version 17.3, 2017/12/04 13:20:08) Tuesday, December 5, 2017 Karst Koymans (UvA) BGP Tuesday,

More information

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

Hierarchical Routing. Our routing study thus far - idealization all routers identical network flat not true in practice Hierarchical Routing Our routing study thus far - idealization all routers identical network flat not true in practice scale: with 200 million destinations: can t store all destinations in routing tables!

More information

Internetworking: Global Internet and MPLS. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806

Internetworking: Global Internet and MPLS. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806 Internetworking: Global Internet and MPLS Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806 10/19/2016 CSCI 445 Fall 2016 1 Acknowledgements Some pictures

More information

Inter-Autonomous-System Routing: Border Gateway Protocol

Inter-Autonomous-System Routing: Border Gateway Protocol Inter-Autonomous-System Routing: Border Gateway Protocol Antonio Carzaniga Faculty of Informatics University of Lugano June 14, 2005 Outline Hierarchical routing BGP Routing Routing Goal: each router u

More information

Table of Contents 1 BGP Configuration 1-1

Table of Contents 1 BGP Configuration 1-1 Table of Contents 1 BGP Configuration 1-1 BGP Overview 1-1 Formats of BGP Messages 1-2 BGP Path Attributes 1-4 BGP Route Selection 1-8 ibgp and IGP Synchronization 1-11 Settlements for Problems in Large

More information

The Interconnection Structure of. The Internet. EECC694 - Shaaban

The Interconnection Structure of. The Internet. EECC694 - Shaaban The Internet Evolved from the ARPANET (the Advanced Research Projects Agency Network), a project funded by The U.S. Department of Defense (DOD) in 1969. ARPANET's purpose was to provide the U.S. Defense

More information

Configuring a Basic BGP Network

Configuring a Basic BGP Network Configuring a Basic BGP Network This module describes the basic tasks to configure a basic Border Gateway Protocol (BGP) network. BGP is an interdomain routing protocol that is designed to provide loop-free

More information

Computer Networking Introduction

Computer Networking Introduction Computer Networking Introduction Halgurd S. Maghdid Software Engineering Department Koya University-Koya, Kurdistan-Iraq Lecture No.15 Chapter 4: outline 4.1 introduction 4.2 virtual circuit and datagram

More information

Internet inter-as routing: BGP

Internet inter-as routing: BGP Internet inter-as routing: BGP BGP (Border Gateway Protocol): the de facto standard BGP provides each AS a means to: 1. Obtain subnet reachability information from neighboring ASs. 2. Propagate the reachability

More information

LACNIC XIII. Using BGP for Traffic Engineering in an ISP

LACNIC XIII. Using BGP for Traffic Engineering in an ISP LACNIC XIII Using BGP for Traffic Engineering in an ISP Program Using BGP Attributes Implementing IBGP Implementing EBGP Emphasis in Stability, Scalability and Configuration Examples BGP Review Why use

More information

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

Last time. Transitioning to IPv6. Routing. Tunneling. Gateways. Graph abstraction. Link-state routing. Distance-vector routing. Dijkstra's Algorithm Last time Transitioning to IPv6 Tunneling Gateways Routing Graph abstraction Link-state routing Dijkstra's Algorithm Distance-vector routing Bellman-Ford Equation 10-1 This time Distance vector link cost

More information

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

Initial motivation: 32-bit address space soon to be completely allocated. Additional motivation: IPv6 Initial motivation: 32-bit address space soon to be completely allocated. Additional motivation: header format helps speed processing/forwarding header changes to facilitate QoS IPv6 datagram format:

More information

BGP Protocol & Configuration. Scalable Infrastructure Workshop AfNOG2008

BGP Protocol & Configuration. Scalable Infrastructure Workshop AfNOG2008 BGP Protocol & Configuration Scalable Infrastructure Workshop AfNOG2008 Border Gateway Protocol (BGP4) Case Study 1, Exercise 1: Single upstream Part 6: BGP Protocol Basics Part 7: BGP Protocol - more

More information

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System)

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System) BGP Border Gateway Protocol A short introduction Karst Koymans Informatics Institute University of Amsterdam (version 18.3, 2018/12/03 13:53:22) Tuesday, December 4, 2018 General ideas behind BGP Background

More information

Routing Basics ISP/IXP Workshops

Routing Basics ISP/IXP Workshops Routing Basics ISP/IXP Workshops 1 Routing Concepts IPv4 Routing Forwarding Some definitions Policy options Routing Protocols 2 IPv4 Internet uses IPv4 addresses are 32 bits long range from 1.0.0.0 to

More information

Border Gateway Protocol - BGP

Border Gateway Protocol - BGP BGP Fundamentals Border Gateway Protocol - BGP Runs over TCP (port 179) TCP connection required before BGP session Need to be reachable! Path vector routing protocol Best path selection based on path attributes

More information