
2004:228 CIV EXAMENSARBETE Convergence Time Redution in the BGP4 Routing Protocol Using the ”Ghost-Flushing” Technique and Other Proposals Gonzalo P. Rodrigo Álvarez MASTER OF SCIENCE PROGRAMME Department of Computer Science and Electrical Engineering Division of Computer Science 2004:228 CIV • ISSN: 1402 - 1617 • ISRN: LTU - EX - - 04/228 - - SE Convergence Time Reduction in the BGP4 Routing Protocol Using the “Ghost-Flushing” Technique and Other Proposals Gonzalo P. Rodrigo Alvarez´ Lule˚a,July, 2004 Soy un ciudadano del mundo entero. I am a citizen of the whole world. Erasmo de Rotterdam, humanista holand´esdel siglo XV. Erasmo of Rotterdam, Dutch humanist from the 15th Century. iv Abstract BGP4 (Border Gateway Protocol) is the language that makes possible to keep up to date the road maps in the internet. This routing protocol is the one used by the “big networks” to exchange routing information. Thus, its performance is critical for the internet. In some situations the behavior of this protocol is not the desired one. This thesis (Or project) intends to analyze one of this problems together with some proposed solutions. This analysis will involve a review of the theory behind the proposals and a later simulation to test the performance of them. After the analysis is done, the proposals considered as “useful” will be implemented over an open source, free routing software, GNU Zebra. This work began as the analysis of the main proposal, the Ghost-Flushing rule. BGP4 (Border Gateway Protocol) es el idioma que hace posible que los mapas de carretera de internet est´ensiempre actualizados. Este protocolo es utilizado por las “redes corporativas” para intercambiar informaci´onde enrutado, por lo tanto, su comportamiento es cr´ıtico para el buen funcionamiento de Internet. En algunos casos, el comportamiento de este protocolo no es el deseado. Este proyecto pretende analizar uno de estos problemas junto con una serie de propuestas para solucionarlo. Todo esto implicar´a revisar la teor´ıaque sustenta estas propuestas y, m´astarde, realizar una serie de simulaciones para evaluar su rendimiento. Despu´es, aquellas propuestas que podamos considerar como ´utiles ser´animplementadas sobre un software de enrutado gratuito y de c´odigo abierto, GNU Zebra. Todo este proyecto comenz´ocomo el an´alisisde la principal de todas las propuestas, la regla Ghost- Flushing. v vi Abstract Contents I Complete Report xix 1 Introduction 1 1.1 Motivation, Purpose and Goal . 1 1.2 Structure and method of this work . 1 1.3 Chapters Overview . 2 2 BGP4 Routing Protocol and its Environment 3 2.1 Network Routing . 3 2.1.1 Hop-by-hop Routing . 3 2.1.2 Mapping the Internet . 3 2.1.3 Exterior/Interior routing . 4 2.2 BGP4 Protocol Description . 5 2.2.1 Path Vectors and Loop Detection . 5 2.2.2 Path Attributes . 6 2.2.3 The Protocol . 6 2.2.4 CIDR support and BGP4 . 8 2.2.5 Internal BGP (IBGP) . 9 2.3 Autonomous System Relationships . 10 2.3.1 Relationship Classification and Internet Disposition . 11 2.4 History . 11 3 Ghost Flushing and other Proposals 13 3.1 The Convergence Problem . 13 3.1.1 Some initial concepts . 13 3.1.2 High Convergence Time and The Ghost Information . 13 3.2 Ghost Flushing Rule . 15 3.2.1 How it works . 15 3.2.2 Convergence time . 16 3.3 Ghost Buster Rule . 18 3.3.1 How it works . 18 3.3.2 Convergence time . 19 3.4 Other Solutions . 19 3.4.1 Reset Rules . 19 3.4.2 Other Approaches to the same problem . 19 4 BGP4 Simulation Environment 21 4.1 Choosing a Simulator . 21 4.1.1 NS-2 and BGP++ . 21 4.1.2 SSFNet 2.0 . 22 4.2 Simulation Environment . 24 4.2.1 Simulation Parameters and Method . 24 4.2.2 Simulating means programming . 25 vii viii CONTENTS 4.2.3 The Hardware . 31 4.3 Analysis of SSFNet’s BGP4 Implementation . 32 4.3.1 Source Structure . 32 4.3.2 BGPSession Class . 33 4.3.3 The Update Process . 36 4.4 Modifications to SSFNet’s BGP4 for the Ghost-Flushing Rule . 37 4.4.1 Activating The Ghost-Flushing feature from the DML file . 37 4.4.2 Modification Schema . 37 4.4.3 Deeper Inside the Modification (Pseudocode) . 37 4.5 Modifications to SSFNet’s BGP4 for the Ghost-Buster Rule . 41 4.5.1 Activating The Ghost-Buster feature from the DML file . 41 4.5.2 The main idea for the modification . 41 4.5.3 Making this complex schema work . 41 4.5.4 Deep inside the code (Pseudocode) . 42 4.5.5 Data structures needed to make all this work . 44 4.5.6 Class Schema . 45 5 BGP4 Cases Simulation 47 5.1 Simulated Cases . 47 5.1.1 Clique . 47 5.1.2 Alternate Path (AltPath) . 47 5.1.3 “White” model . 48 5.1.4 “Bad” model . 48 5.1.5 “Multi” Collection . 49 5.2 Simulation Results, Split-horizon disabled, No jitter . 50 5.2.1 Clique Topology . 51 5.2.2 AltPath Topology . 52 5.2.3 Multi Topology . 54 5.2.4 White Topology . 55 5.2.5 Bad Case . 57 5.3 Simulation Results, Split-horizon disabled, Jitter Activated . 58 5.3.1 Clique Topology . 58 5.3.2 AltPath Topology . 60 5.3.3 Multi Topology . 61 5.3.4 White Topology . 62 5.3.5 Bad Case . 63 5.3.6 Comparing between jitter enabled and disabled . 64 5.4 Simulation Results, Split-horizon Enabled, No Jitter . 65 5.4.1 Clique Topology . 65 5.4.2 AltPath Topology . 67 5.4.3 Multi Topology . 68 5.4.4 Comparing between having or not Split-Horizon . 69 5.5 Simulation Results, Split-horizon Enabled, Jitter Activated . 70 5.5.1 Clique Topology . 70 5.5.2 AltPath Topology . 71 5.5.3 Multi Topology . 73 5.6 Comparing all the techniques . 74 5.7 Combining nodes with and without ghost-flushing . 74 5.8 Conclusions . 75 5.8.1 Ghost-Flushing . 75 5.8.2 Ghost-Buster . 76 CONTENTS ix 6 Applying the Ghost Flushing Rule to Zebra Routing Software 77 6.1 Zebra as a Routing Software ..
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages175 Page
-
File Size-