modeling the border gateway protocol xenofontas dimitropoulos george riley georgia institute of...

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

Upload: aubrey-reed

Post on 30-Dec-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

Modeling the Border Gateway Protocol

Xenofontas Dimitropoulos

George Riley

Georgia Institute of Technology

MANIACS2

Modeling the Border Gateway Protocol

Georgia Institute of Technology

Outline

BGP background and motivation. Modeling BGP.

– BGP++ development approach.– BGP++ features.

Work in progress and future plans.

MANIACS3

Modeling the Border Gateway Protocol

Georgia Institute of Technology

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

MANIACS4

Modeling the Border Gateway Protocol

Georgia Institute of Technology

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

MANIACS5

Modeling the Border Gateway Protocol

Georgia Institute of Technology

BGP problem prone characteristics

Distributed nature

of BGP

Flexibility leftto the operator

in the form of policies

Irregular abrupt

growth of the Internet

“BGP is not a well understood protocol”

MANIACS6

Modeling the Border Gateway Protocol

Georgia Institute of Technology

Outline

BGP background and motivation. Modeling BGP,

– BGP++ development approach.– BGP++ features.

Work in progress and future plans.

MANIACS7

Modeling the Border Gateway Protocol

Georgia Institute of Technology

What is BGP++ ?

C++ implementation of BGPv4, developed for ns-2.

Agent

Add. Classifier

ns node

Port Classifier

bgpd

Zebradeamonbgpd ospfd ripd

Unix routing table

GNU Zebra software architecture

Figure 1. Zebra bgpd and ns-2 integration.

BGP++ is GNU Zebra bgpd patched to work with ns-2.

MANIACS8

Modeling the Border Gateway Protocol

Georgia Institute of Technology

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

MANIACS9

Modeling the Border Gateway Protocol

Georgia Institute of Technology

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.

MANIACS10

Modeling the Border Gateway Protocol

Georgia Institute of Technology

main() {

}

Zebra bgpd vs ns-2 scheduling

main() {

}

initializations

select()

execute

initializations

fetch

execute

Scheduler queueMultiplex IO streams

MANIACS11

Modeling the Border Gateway Protocol

Georgia Institute of Technology

Interleaved scheduling

main() {

}

initializations

select()

execute

bgp_main()

post_select()

pre_select()

ns2 scheduler queue

bgpd start event

MANIACS12

Modeling the Border Gateway Protocol

Georgia Institute of Technology

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

MANIACS13

Modeling the Border Gateway Protocol

Georgia Institute of Technology

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.

MANIACS14

Modeling the Border Gateway Protocol

Georgia Institute of Technology

Outline

BGP background and motivation. Modeling BGP,

– BGP++ development approach.– BGP++ features.

Work in progress and future plans.

MANIACS15

Modeling the Border Gateway Protocol

Georgia Institute of Technology

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 configuration configuration configuration configuration configuration

BGP routers

BGP++ configuration

MANIACS16

Modeling the Border Gateway Protocol

Georgia Institute of Technology

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.

MANIACS17

Modeling the Border Gateway Protocol

Georgia Institute of Technology

Configuring BGP instances

[xdimi@enzo example1]$ more bgpd1.conf!Local AS and local IP addressrouter bgp 1bgp router-id 192.38.14.1

!Neighborsneighbor 192.38.14.2 remote-as 2

!Networks advertisednetwork 190.0.0.0 mask 255.0.0.0network 189.0.0.0 mask 255.0.0.0log file bgpd1.log

MANIACS18

Modeling the Border Gateway Protocol

Georgia Institute of Technology

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\””

MANIACS19

Modeling the Border Gateway Protocol

Georgia Institute of Technology

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”

MANIACS20

Modeling the Border Gateway Protocol

Georgia Institute of Technology

Validation

Run several simple validation tests. Recreate same topology in lab and compare. Minimum modifications on “core” of Zebra

software.

MANIACS21

Modeling the Border Gateway Protocol

Georgia Institute of Technology

Future Work

Use BGP++ with pdns to see how large we can get.

Examine BGP convergence time at scales. Integrate BGP++ with GTNetS.

MANIACS22

Modeling the Border Gateway Protocol

Georgia Institute of Technology

Recap

Big scale simulations are necessary in BGP research.

BGP++: a BGP implementation for ns-2– Development approach.– Features

MANIACS23

Modeling the Border Gateway Protocol

Georgia Institute of Technology

?Questions