Interdomain Routing Simulation by SSFNet - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

Interdomain Routing Simulation by SSFNet

Description:

all components have multiple configurable attributes. components all inter-operable ... networks and hosts may be abbreviated or omitted. Hierarchy Example. Net ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 36
Provided by: csPu
Category:

less

Transcript and Presenter's Notes

Title: Interdomain Routing Simulation by SSFNet


1
Inter-domain Routing Simulation by SSFNet
  • Wang Lijun
  • Tsinghua University
  • Jul 3, 2006

2
Inter-domain Routing
  • Autonomous system
  • ISP, University, Company, e.g. CERNET, CHINACOM
  • About more than 19,000 ASes
  • Glued together by BGP
  • Border Gateway Protocol
  • Flexibility
  • Scalability
  • Stability

3
Research on inter-domain routing
  • Collecting BGP data from Internet
  • Active method
  • Log BGP table and Update
  • Route Views Project
  • RIPE Routing Information Service
  • Simulation
  • SSFNet

4
What is SSFNet
  • SSFNet is a Java SSF-based simulator of Internet
    protocol
  • Features
  • IP packet-level granularity
  • all components have multiple configurable
    attributes
  • components all inter-operable
  • designed to handle large, complex simulations

5
SSFNet Architecture
  • SSF Scalable Simulation Framework
  • a standard for discrete-event simulation of
    large, complex systems
  • DML Domain Modeling Language
  • a standard for model configuration and
    verification
  • supports extensibility, inheritance and
    substitution of attributes
  • SSFNet SSF Network Models
  • open-source Java models of protocols
  • network elements
  • assorted support classes

6
Simulation Layers
DML
Model Instances
configures
Network Components
SSFNet
enhances
Simulator Implementations
CSSF
Raceway
DaSSF
implements
implements
C
C
Java
SSF
Simulator API
7
IDE Package
DML
Model Instances
configures
Network Components
SSFNet
enhances
Simulator Implementations
CSSF
DaSSF
Raceway
implements
implements
implements
C
C
Java
SSF
Simulator API
8
SSFNet Layer
DML
Model Instances
configures
Network Components
SSFNet
enhances
Simulator Implementations
CSSF
Raceway
DaSSF
implements
implements
implements
C
C
Java
SSF
Simulator API
9
Network Components
- each is a Java class or Java package - includes
state, behavior, configure info
protocols
IP
TCP
Sockets
FTP client
BGP
HTTP client
OSPF
10
DML Layer
DML
Model Instances
configures
Network Components
SSFNet
enhances
Simulator Implementations
CSSF
Raceway
DaSSF
implements
implements
implements
C
C
Java
SSF
Simulator API
11
DML Example
host id 1 interface id 1 router
id 2 interface idrange from 1 to 4
link attach 1(1) attach 2(1)
  • Attribute/Value pairs
  • Simple attributes
  • Nested attributes

1
2
1
1
2
4
3
12
The Protocol Stack
router graph ProtocolSession
name bgp use SSF.OS.BGP4.BGPSession
ProtocolSession name ospf use
SSF.OS.OSPF.sOSPF ProtocolSession
name tcp use SSF.OS.TCP.tcpSessionMaster
ProtocolSession name ip
use SSF.OS.IP
BGP
Sockets
TCP
IP
protocol graph
13
NHI Addressing
  • Internal format for model-building convenience
  • NNN ... NH(I)
  • N network id
  • H host id
  • I interface id
  • top-level Net does not have id
  • local vs. global
  • local link need not attach to global NHI address
  • networks and hosts may be abbreviated or omitted

14
Hierarchy Example
Net host id 1 interface id 1 host
id 2 interface id 1 link attach 1(1)
attach 2(1)
1
2
1
1
15
HierarchyExample 2
Net Net id 1 ... 2 hosts 1 router
Net id 2 ... 4 hosts 1 router link
attach 15(4) attach 25(5)
2
1
2
1
1
1
1
1
1
2
6
1
6
5
5
5
5
3
4
4
3
4
2
2
3
1
1
1
16
Execution
  • Download distribution
  • www.ssfnet.org
  • ssfnet_raceway1.tar.gz
  • Build and validate
  • /ssfnet/make
  • Create and execute DML model
  • java SSF.Net.Net runtime dml-file

17
SSF.OS.BGP4 Functionality
  • Finite state machine, timers, RIB
  • TCP transport
  • Peering exterior and interior
  • Route reflection
  • Messages and path attributes
  • Policy
  • filter based on path attribute
  • attribute modification
  • Monitoring of protocol operation
  • gather stats on practically any event of interest

18
Experiment DML
Net the all-encompassing Net frequency
1000000000 nanosecond simulation frequency
randomstream generator MersenneTwister
stream 165123420046345823 reproducibility_leve
l timeline Net id 1 AS_status boundary
router ... Net id 2 AS_status boundary
router ... ... link attach 11(1)
attach 21(7) delay 0.01 link attach 11(2)
attach 31(7) delay 0.01 ... bgpoptions
... define global BGP options end of the
all-encompassing Net
19
Experiment DML
router id 1 graph ProtocolSession name
bgp use SSF.OS.BGP4.BGPSession
autoconfig true ProtocolSession name
socket use SSF.OS.Socket.socketMaster
ProtocolSession name tcp use
SSF.OS.TCP.tcpSessionMaster ProtocolSession
name ip use SSF.OS.IP ProtocolSession name
probe use SSF.OS.ProbeSession
file "out.data" stream "bgpstream"
20
Experiment DML
ProtocolSession name bgp use
SSF.OS.BGP4.BGPSession autoconfig false
connretry_time 120 min_as_orig_time 15
reflector false neighbor as 2 address
1(7) use_return_address 1(1) hold_time
90 keep_alive_time 30 mrai 10
infilter _extends .filters.permit_all
outfilter _extends .filters.permit_all
neighbor as 3 address 1(1) ...
21
Experiment DML
bgpoptions define global BGP options
show_conn_estab true show connection
establishment show_snd_update true show
when updates are sent ssld false
no sender-side loop detection auto_advertise
false show_fwd_table_add true
show_rcv_notif true show_socket_events
false show_state_changes false
global_ebgp_mrai 20 startup_jitter_bound 0.1
about 50 more ...
  • Output data in simulation
  • Parameters configure BGP behavior

22
References
  • http//www.ssfnet.org
  • http//bj.premore.net/edu/talks/

23
Modify RFD to improve BGP routing convergence
24
Problem statement
  • Problem of BGP routing convergence
  • Path exploration
  • Path vector protocol
  • Lots of Invalid Update messages
  • Long convergence delay
  • RFD suppress relative stable routes falsely
  • Relative routes unavailable for a long time

25
Route Flap Damping
  • Penalty value
  • Increase a predefined value when route changes
  • Decrease exponentially when route is stable

26
Objectives
  • Relative stable routes converge fast
  • Suppressing persistently flapping routes
  • Reducing the communication overhead
  • Compatible with current method

27
Basic ideas
  • Classify route change according different causes
  • Update from Network event, e.g. link down
  • Invalid Update from BGP protocol behavior
  • Apply different mechanisms to Update of different
    causes
  • How to differentiate ?

28
Design Overview
  • Location causing route change
  • Original node
  • Intermediate connection
  • Only nodes near the causing location apply RFD to
    the route change
  • Other nodes apply methods different form RFD,
    invalid routes suppression



Receive Update
Judge cause
suppression mark ?
BGP session broken?
BGP protocol behavior ?
No
Yes

Apply RFD

Invalid routes suppression
29
Neighboring Nodes Suppression
  • For route change from the source node
  • If the neighboring nodes apply RFD to route
    change, remote nodes do not need to apply RFD to
    the route change
  • After neighboring nodes apply RFD to route
    change, insert Suppression Mark in the Update
  • Downstream nodes do not apply RFD to Update with
    suppression mark
  • For route change from the intermediate connection
  • Neighboring node of changing connection apply RFD
    to the route change
  • Insert Suppression mark in Update sending to
    downstream nodes

30
Invalid Routes Suppression
  • Characteristics of invalid routes
  • The interval between successive invalid routes is
    MRAI
  • Maximal duration of path exploration is MRAIn, n
    is the longest AS path
  • Route attributes, especially AS_PATH, are changed
  • Process on Invalid routes similar but different
    from RFD
  • Penalize attribute change more than Withdrawal
  • The penalty of routes which are not suppressed
    decays exponentially, with half life is MRAI
  • If a suppressed route keeps stable for kMRAI,
    release the route
  • If suppressed routes changes, just reset the
    reuse timer, i.e. route is suppressed for
    constant time, kMRAI, after the last change

31
Simulation convergence time
32
Simulation communication overhead
33
Simulation partial deployment (1)
34
Simulation partial deployment (2)
35
Thank you
Write a Comment
User Comments (0)
About PowerShow.com