Title: Genesis: TCP and BGP Simulation under SSFNet
1Genesis TCP and BGP Simulation under SSFNet
- PI Bolek Szymanski
- RAs Anand Sastry, Yu Liu, Kiran Madnani
- Rensselaer Polytechnic Institute Troy, NY
- http//www.cs.rpi.edu/szymansk/sonms.html
- email szymansk, sastra, liuy6,
madnak_at_cs.rpi.edu
2Genesis Real-Time On-Line Network Simulation
- Space decomposition partition large network into
disjoined individual domains, each simulated
independently and concurrently with others. - Time decomposition partition simulation time
into separate intervals, each interval iterated
over until all domain simulators converge. - Synchronization exchange packet delay and loss
information on flows originated externally to
each domain at the end of each interval
simulation (iteration). Message passing via
sockets is used in farmer-worker parallel
architecture. - Basic domain simulation is currently implemented
in - NS, SSFNet and GloMoSim for UDP and TCP traffics.
3Genesis Extensions to SSFNet on TCP
- Previous work extended DML to include new
definitions (active domain, freezer, etc. ).
Introduced simulation checkpoints and
re-iterations and proxy sources and links for
UDP. - Current extensions
- Create source proxies for TCP traffics, link
proxies for data flows and ACK flows. Collect
per-flow statistics for both TCP data and ACK
flows. - Implement multi-phase link proxy setup for
feedback based protocols. Set up link-proxy pairs
for transit traffics introduced by domain
decomposition. - Introduce interfaces dynamic allocation at
runtime into SSFNet to support dynamic link proxy
setup. - Improve convergence techniques (dynamic freeze
intervals, aggregated traffic statistics).
4Multi-phase link proxy setup
5Link proxies for transit TCP traffics
6Simulation convergence Improvements
- Implemented dynamic checkpoint intervals based on
the simulation conditions. - Slow-start algorithm is applied to the freeze
intervals when simulation go-back occurs. - Assign small value to the initial freeze
interval. - If no go-back occurred in interval n
- Then
- Otherwise
7Simulation Convergence Improvements, continued
Eliminating unnecessary go backs is important for
efficiency 3. Go back condition aggregated
traffic comparison is used to minimize the effect
of small number of traffic changes
8Measurements on 64-node network with TCP traffics
Single Domain With Sources Moved to the Boundary,
with the Delayer Replacing Delays From Other
Domains
9Measurements on 64-node network configuration
Some Traffic (data flow) Comparisons
Results from 64-node network simulations
10Border Gateway Protocol (BGP)
Definition The Border Gateway Protocol (BGP) is
the de facto standard inter-domain routing
protocol in today's global Internet.
Purpose BGP builds and maintains
forwarding tables to be used by a router when
forwarding data packets around an
inter-network, across the Autonomous Systems
(AS). Design The forwarding table are built up
in a distributed fashion all routers running BGP
in the entire inter-network share reachability
information with each other. When faced with
multiple routes to the same destination, a
selection is made based on several factors, many
of which can be configured by the administrator.
Most commonly, shortest autonomous system (AS)
path length is the primary factor.
11Goals of BGP Simulation Under Genesis
Goals BGP has been increasingly used for some
forms of traffic engineering. Our goal is to
provide a novel outbound load-balancing
technique using BGP LOCAL_PREF settings and
aided by online simulation. Outbound means each
AS has several links and we want to distributing
traffic to theses links such that a complex set
of objectives are met. These objective functions
will represent more realistic needs of large
networks like those of ISPs and defence networks
than what is done today. BGP under Genesis To
support simulation in which BGP changes impact
background traffic while preserving speed and
scalability we use Genesis approach. Our goal was
to port BGP to Genesis using SSFNET, and to
measure the scalability and speed of BGP
simulation under Genesis.
AS 4
AS 1
AS 2
AS 5
AS 6
AS 3
BGP router
12Challenges to Implementing BGP under Genesis
Information Exchange Unlike TCP and UDP, the
information exchanged between BGP Speakers
(Peers) on the border routers are Route
Withdrawals or Additions. So it is important to
pass between Genesis domains information carried
by these messages. This required a modification
to the Farmer-Worker architecture to support
transfer of route information and not only the
traffic characterization needed for TCP and UDP
flows. Synchronization BGP Speakers involved in
route exchanges have to be in the mutually
complimentary states of Send and Receive during
the course of updating their routing tables with
new route information. Thus there is a need to
maintain the state of the simulation by
recognizing when a BGP Speaker issues an update
and which destination has to be in the Receive
state at the same time. This is an issue in
Genesis where each domain is simulated
independently of the others and the only means of
maintaining the global state of any object is
through the Farmer-Worker architecture.
13Farmer/Worker Support for BGP on Genesis
Identification
B - BGP Speaker
F - Farmer
Advertise Update Time
Here B1, B2, B3 send Identification message to
the Farmer followed by their Update Times. Their
update times are broadcast to the other BGP
Speakers through the farmer. This process enables
the Send and Receive Synchronization between BGP
Speakers. All messages are between the Famer
and the BGP Speakers. No messages are exchanged
between the BGP Speakers themselves.
Broadcast Update Time
Update Message
Update Message
Advertise Update Time
Broadcast Update Time
B2
B1
B3
F1
14BGP Implementation Specifics
- SSFNet Additions
- BGPFreeze This event allows for BGP
synchronization points to be inserted into the
simulation. It is configurable through the DML
file. - BGPFreezeTimer This is a derivative of the
inbuilt Timer class of SSFNet. It counts down
time to different BGP synchronization points. - ConnectServer This handles all communications
between each BGP Speaker and the Farmer. - BGPServer This is a multithreaded Farmer that
schedules all BGP Update events and synchronizes
between various BGP Speakers. - BGPSession Modified This class has been modified
from the original SSFNet version to account for
the messaging subsystem that allows for the
independent operation of each domain. - Net Modified The Net class has been modified to
allow for the selective activation and
deactivation of the domains.
15Extensions to Genesis to Support Route Changes
- When working with BGP, during one freeze
interval, routes might change because of BGP
updates. - To achieve better performance, BGP updates
should not always force a checkpoint for Genesis. - Solution divide one freeze interval into BGP
phases by BGP updates. - Implementation per-flow statistics are
collected separately for each BGP phase. In the
re-iterations, switch to use different sets of
flow statistics data and link proxies based on
the current BGP phase index. (work in progress)
16Traffic Measurements for a 4-domain Network
The graph shows a route update bought about by
bringing down Link 1. Traffic was then routed
through Link 2 as indicated by the increase in
the number of packets. This update was at
Simulation time of 40sec.
17Future Work
Support for State Saving When per-flow statistics
are collected, route information and update times
have to be stored for rollback support in
Genesis. These stored data will ensure quick
convergence to the solution by the domains
enabling fast completion of each iteration and
yielding high simulation speed. Integration with
TCP Support for link proxies to enable use with
Genesis TCP Sources. Performance
Comparison Compare performance to existing
non-BGP simulations. Also compare the Genesis
system with integrated BGP to other systems with
BGP Speakers and TCP sources. This comparison
matrix will involve the following Scalability
Larger networks with 64-256 nodes and multiple
BGP Speakers in each domain. Efficiency Compare
simulation times to single domain systems with
the same number of nodes.