Presentation is loading. Please wait.

Presentation is loading. Please wait.

Modeling the Border Gateway Protocol Xenofontas Dimitropoulos George Riley Georgia Institute of Technology.

Similar presentations


Presentation on theme: "Modeling the Border Gateway Protocol Xenofontas Dimitropoulos George Riley Georgia Institute of Technology."— Presentation transcript:

1 Modeling the Border Gateway Protocol Xenofontas Dimitropoulos George Riley Georgia Institute of Technology

2 Modeling the Border Gateway Protocol Georgia Institute of Technology MANIACS 2 Outline BGP background and motivation. Modeling BGP. – BGP++ development approach. – BGP++ features. Work in progress and future plans.

3 Modeling the Border Gateway Protocol Georgia Institute of Technology MANIACS 3 is the default interdomain routing protocol of the Internet. “is the glue that holds the Internet together”. is a protocol of critical importance. What is BGP ? BGP routers

4 Modeling the Border Gateway Protocol Georgia Institute of Technology MANIACS 4 BGP increased interest BGP does not work well. – Delayed convergence – Divergence issues – Incompatible vendor implementations – Misbehavior of flap dampening – Correlation between worm propagation and Internet instability. – 20-25% of paths are inflated. Taken from Craig Labovitz, G. Robert Malan, Farham Jahanian

5 Modeling the Border Gateway Protocol Georgia Institute of Technology MANIACS 5 BGP problem prone characteristics Distributed nature of BGP Flexibility left to the operator in the form of policies Irregular abrupt growth of the Internet “BGP is not a well understood protocol”

6 Modeling the Border Gateway Protocol Georgia Institute of Technology MANIACS 6 Outline BGP background and motivation. Modeling BGP, – BGP++ development approach. – BGP++ features. Work in progress and future plans.

7 Modeling the Border Gateway Protocol Georgia Institute of Technology MANIACS 7 What is BGP++ ? C++ implementation of BGPv4, developed for ns-2. Agent Add. Classifier ns node Port Classifier bgpd Zebra deamon bgpd ospfd ripd Unix routing table GNU Zebra software architectur e Figure 1. Zebra bgpd and ns-2 integration. BGP++ is GNU Zebra bgpd patched to work with ns-2.

8 Modeling the Border Gateway Protocol Georgia Institute of Technology MANIACS 8 Development Approach Outline To incorporate GNU Zebra bgpd in ns-2: – Convert C code to C++. – Interleave Zebra scheduler with simulator scheduler. – Use FullTcp API instead of BSD sockets. – Modify configuration and logging facilities

9 Modeling the Border Gateway Protocol Georgia Institute of Technology MANIACS 9 Convert C code to C++. C functions are converted into C++ functions, members of the BGP class. C global variables are converted into member variables of the BGP class.

10 Modeling the Border Gateway Protocol Georgia Institute of Technology MANIACS 10 main() { } Zebra bgpd vs ns-2 scheduling main() { } initializations select() execute initializations fetch execute Scheduler queue Multiplex IO streams

11 Modeling the Border Gateway Protocol Georgia Institute of Technology MANIACS 11 Interleaved scheduling main() { } initializations select() execute bgp_main() post_select() pre_select() ns2 scheduler queue bgpd start event

12 Modeling the Border Gateway Protocol Georgia Institute of Technology MANIACS 12 Replace BSD sockets with TcpFull Dynamically tear up/down of tcp connections. Slightly modify tcp-full to notify the application when the connection moves: – From SYN_RCVD to ESTABLISHED – From SYN_SENT to ESTABLISHED – From ESTABLISHED to CLOSE_WAIT

13 Modeling the Border Gateway Protocol Georgia Institute of Technology MANIACS 13 Further modifications Modify Zebra facilities to support OO environment, e.g. logging and configuration. Get rid of all unnecessary features, e.g. telnet interface. Dig in the code.

14 Modeling the Border Gateway Protocol Georgia Institute of Technology MANIACS 14 Outline BGP background and motivation. Modeling BGP, – BGP++ development approach. – BGP++ features. Work in progress and future plans.

15 Modeling the Border Gateway Protocol Georgia Institute of Technology MANIACS 15 ns-2 set r [new BgpRegistry] set fin 400 ; # finish time set BGP1 [new Application/Route/ Bgp] $BGP1 register $r $BGP1 finish-time $fin $BGP1 config-file /sth/bgpd1.conf $BGP1 attach-node $n1.tcl configuration BGP routers BGP++ configuration

16 Modeling the Border Gateway Protocol Georgia Institute of Technology MANIACS 16 BGP++ configuration Use router configuration commands that are used by Zebra to configure simulated routers. Approximately 320 supported commands. Only few new ns-2 commands added.

17 Modeling the Border Gateway Protocol Georgia Institute of Technology MANIACS 17 Configuring BGP instances [xdimi@enzo example1]$ more bgpd1.conf !Local AS and local IP address router bgp 1 bgp router-id 192.38.14.1 !Neighbors neighbor 192.38.14.2 remote-as 2 !Networks advertised network 190.0.0.0 mask 255.0.0.0 network 189.0.0.0 mask 255.0.0.0 log file bgpd1.log

18 Modeling the Border Gateway Protocol Georgia Institute of Technology MANIACS 18 Run time configuration instead of telnet interface. $ns at 10 “$BGP1 execute \”no neighbor 192.38.14.2\”” $ns at 15 “$BGP3 execute \”show ip bgp\”” $ns at 20 “$BGP2 execute \”neighbor 192.38.14.3 \ advertisement-interval 20\””

19 Modeling the Border Gateway Protocol Georgia Institute of Technology MANIACS 19 BGP++, configuring policies Route Maps “route-map” Access Lists “ip access-list” Community Lists “ip community-list” AS path access lists “ip as-path access-list” Prefix Lists “ip prefix list”

20 Modeling the Border Gateway Protocol Georgia Institute of Technology MANIACS 20 Validation Run several simple validation tests. Recreate same topology in lab and compare. Minimum modifications on “core” of Zebra software.

21 Modeling the Border Gateway Protocol Georgia Institute of Technology MANIACS 21 Future Work Use BGP++ with pdns to see how large we can get. Examine BGP convergence time at scales. Integrate BGP++ with GTNetS.

22 Modeling the Border Gateway Protocol Georgia Institute of Technology MANIACS 22 Recap Big scale simulations are necessary in BGP research. BGP++: a BGP implementation for ns-2 – Development approach. – Features

23 Modeling the Border Gateway Protocol Georgia Institute of Technology MANIACS 23 ? Questions


Download ppt "Modeling the Border Gateway Protocol Xenofontas Dimitropoulos George Riley Georgia Institute of Technology."

Similar presentations


Ads by Google