modeling the border gateway protocol
Download
Skip this Video
Download Presentation
Modeling the Border Gateway Protocol

Loading in 2 Seconds...

play fullscreen
1 / 23

Modeling the Border Gateway Protocol - PowerPoint PPT Presentation


  • 382 Views
  • Uploaded on

Modeling the Border Gateway Protocol . Xenofontas Dimitropoulos George Riley Georgia Institute of Technology. Outline. BGP background and motivation. Modeling BGP. BGP++ development approach. BGP++ features. Work in progress and future plans. BGP routers. What is BGP ?.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Modeling the Border Gateway Protocol' - Melvin


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
modeling the border gateway protocol

Modeling the Border Gateway Protocol

Xenofontas Dimitropoulos

George Riley

Georgia Institute of Technology

outline
Outline
  • BGP background and motivation.
  • Modeling BGP.
    • BGP++ development approach.
    • BGP++ features.
  • Work in progress and future plans.

MANIACS

what is bgp
BGP routersWhat is BGP ?
  • is the default interdomain routing protocol of the Internet.
  • “is the glue that holds the Internet together”.
  • is a protocol of critical importance.

MANIACS

bgp increased interest
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

MANIACS

bgp problem prone characteristics
BGP problem prone characteristics

Distributed

nature

of BGP

Irregular

abrupt

growth

of the Internet

“BGP is not a well

understood protocol”

Flexibility left

to the operator

in the form

of policies

MANIACS

outline6
Outline
  • BGP background and motivation.
  • Modeling BGP,
    • BGP++ development approach.
    • BGP++ features.
  • Work in progress and future plans.

MANIACS

slide7
Zebra

deamon

bgpd

ripd

ospfd

bgpd

Unix routing table

ns node

GNU Zebra software

architecture

Agent

Port Classifier

Add. Classifier

Figure 1. Zebra bgpd and ns-2 integration.

What is BGP++ ?

  • C++ implementation of BGPv4, developed for ns-2.
  • BGP++ is GNU Zebra bgpd patched to work with ns-2.

MANIACS

development approach outline
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

MANIACS

convert c code to c
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.

MANIACS

zebra bgpd vs ns 2 scheduling
main() {

}

main() {

}

initializations

initializations

select()

fetch

execute

execute

Zebra bgpd vs ns-2 scheduling

Multiplex IO streams

Scheduler queue

MANIACS

interleaved scheduling
ns2 scheduler queue

bgpd start event

bgp_main()

pre_select()

post_select()

Interleaved scheduling

main() {

}

initializations

select()

execute

MANIACS

replace bsd sockets with tcpfull
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

MANIACS

further modifications
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.

MANIACS

outline14
Outline
  • BGP background and motivation.
  • Modeling BGP,
    • BGP++ development approach.
    • BGP++ features.
  • Work in progress and future plans.

MANIACS

bgp configuration
BGP++ configuration

ns-2

BGP routers

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

configuration

configuration

configuration

configuration

configuration

configuration

.tcl

MANIACS

bgp configuration16
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.

MANIACS

configuring bgp instances
Configuring BGP instances

[[email protected] 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

MANIACS

run time configuration instead of telnet interface
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\””

MANIACS

bgp configuring policies
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”

MANIACS

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

MANIACS

future work
Future Work
  • Use BGP++ with pdns to see how large we can get.
  • Examine BGP convergence time at scales.
  • Integrate BGP++ with GTNetS.

MANIACS

recap
Recap
  • Big scale simulations are necessary in BGP research.
  • BGP++: a BGP implementation for ns-2
    • Development approach.
    • Features

MANIACS

questions
Questions

?

MANIACS

ad