SSFNet and Routing Simulation BJ Premore Dartmouth College.

Slides:



Advertisements
Similar presentations
Dynamic Routing Overview 1.
Advertisements

CCNA2 Module 4. Discovering and Connecting to Neighbors Enable and disable CDP Use the show cdp neighbors command Determine which neighboring devices.
1 Semester 2 Module 4 Learning about Other Devices Yuda college of business James Chen
Part IV: BGP Routing Instability. March 8, BGP routing updates  Route updates at prefix level  No activity in “steady state”  Routing messages.
Lecture 9 Overview. Hierarchical Routing scale – with 200 million destinations – can’t store all dests in routing tables! – routing table exchange would.
Dynamic Routing Scalable Infrastructure Workshop, AfNOG2008.
1 Interdomain Routing Protocols. 2 Autonomous Systems An autonomous system (AS) is a region of the Internet that is administered by a single entity and.
IPv4 and IPv6 Mobility Support Using MPLS and MP-BGP draft-berzin-malis-mpls-mobility-00 Oleg Berzin, Andy Malis {oleg.berzin,
Chapter 4: Network Layer 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol –Datagram format.
1 Routing Simulations – Zebra Routing Software Eric Ciocca Dimitris Zacharopoulos.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization –All routers are identical –Network is flat. Not true in Practice Hierarchical.
Interdomain Routing and The Border Gateway Protocol (BGP) Courtesy of Timothy G. Griffin Intel Research, Cambridge UK
1 An Experimental Analysis of BGP Convergence Time Timothy Griffin AT&T Research & Brian Premore Dartmouth College.
Computer Science 1 An Approach to Universal Topology Generation Alberto Medina Anukool Lakhina Ibrahim Matta John Byers
Internet Routing Instability Labovitz et al. Sigcomm 1997 Largely adopted from Ion Stoica’s slide at UCB.
More on BGP Check out the links on politics: ICANN and net neutrality To read for next time Path selection big example Scaling of BGP.
Inside the Internet. INTERNET ARCHITECTURE The Internet system consists of a number of interconnected packet networks supporting communication among host.
Extending Networks. Three Levels of Extension Physical Layer –Repeaters Link Layer –Bridges –Switches Network –Routers: “Connecting networks”
Network Monitoring for Internet Traffic Engineering Jennifer Rexford AT&T Labs – Research Florham Park, NJ 07932
ROUTING PROTOCOLS Rizwan Rehman. Static routing  each router manually configured with a list of destinations and the next hop to reach those destinations.
1 ECE453 – Introduction to Computer Networks Lecture 10 – Network Layer (Routing II)
1 Semester 2 Module 6 Routing and Routing Protocols YuDa college of business James Chen
Chapter 8 Routing. Introduction Look at: –Routing Basics (8.1) –Address Resolution (8.2) –Routing Protocols (8.3) –Administrative Classification (8.4)
14 – Inter/Intra-AS Routing Network Layer Hierarchical Routing scale: with > 200 million destinations: can’t store all dest’s in routing tables!
EQ-BGP: an efficient inter- domain QoS routing protocol Andrzej Bęben Institute of Telecommunications Warsaw University of Technology,
1 Computer Communication & Networks Lecture 22 Network Layer: Delivery, Forwarding, Routing (contd.)
Unicast Routing Protocols  A routing protocol is a combination of rules and procedures that lets routers in the internet inform each other of changes.
Routing and Routing Protocols Routing Protocols Overview.
1 Interdomain Routing (BGP) By Behzad Akbari Fall 2008 These slides are based on the slides of Ion Stoica (UCB) and Shivkumar (RPI)
1 Computer Networks DA Chapter 1-3 Introduction.
CS 3700 Networks and Distributed Systems Inter Domain Routing (It’s all about the Money) Revised 8/20/15.
Modeling the Border Gateway Protocol Xenofontas Dimitropoulos George Riley Georgia Institute of Technology.
Objectives: Chapter 5: Network/Internet Layer  How Networks are connected Network/Internet Layer Routed Protocols Routing Protocols Autonomous Systems.
Inter-domain Routing Simulation by SSFNet Wang Lijun Tsinghua University Jul 3, 2006.
Chapter 9. Implementing Scalability Features in Your Internetwork.
Border Gateway Protocol
SEP: Sensibility analysis of BGP convergence and scalability using network simulation Sensibility analysis of BGP convergence and scalability using network.
Border Gateway Protocol (BGP) W.lilakiatsakun. BGP Basics (1) BGP is the protocol which is used to make core routing decisions on the Internet It involves.
More on Internet Routing A large portion of this lecture material comes from BGP tutorial given by Philip Smith from Cisco (ftp://ftp- eng.cisco.com/pfs/seminars/APRICOT2004.
Computer Security Workshops Networking 101. Reasons To Know Networking In Regard to Computer Security To understand the flow of information on the Internet.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Inter-domain routing Some slides used with.
Investigation of Global Network Routing Behavior BJ Premore Dartmouth College Prof. David Nicol, Advisor December 8, 2000 In collaboration with Jim Cowie,
Network Layer4-1 Intra-AS Routing r Also known as Interior Gateway Protocols (IGP) r Most common Intra-AS routing protocols: m RIP: Routing Information.
Network Layer4-1 The Internet Network layer forwarding table Host, router network layer functions: Routing protocols path selection RIP, OSPF, BGP IP protocol.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 06_a Routing Protocols: RIP, OSPF, BGP Instructor: Dr. Li-Chuan Chen Date: 10/06/2003 Based in part upon.
CCNA 2 Week 6 Routing Protocols. Copyright © 2005 University of Bolton Topics Static Routing Dynamic Routing Routing Protocols Overview.
IP Routing Principles. Network-Layer Protocol Operations Each router provides network layer (routing) services X Y A B C Application Presentation Session.
Routing in the Inernet Outcomes: –What are routing protocols used for Intra-ASs Routing in the Internet? –The Working Principle of RIP and OSPF –What is.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v3.2—7-1 Optimizing BGP Scalability Improving BGP Convergence.
1 Border Gateway Protocol (BGP) and BGP Security Jeff Gribschaw Sai Thwin ECE 4112 Final Project April 28, 2005.
1 Chapter 14-16a Internet Routing Review. Chapter 14-16: Internet Routing Review 2 Introduction Motivation: Router performance is critical to overall.
Text BGP Basics. Document Name CONFIDENTIAL Border Gateway Protocol (BGP) Introduction to BGP BGP Neighbor Establishment Process BGP Message Types BGP.
Inter-domain Routing Outline Border Gateway Protocol.
ROUTING ON THE INTERNET COSC Jun-16. Routing Protocols  routers receive and forward packets  make decisions based on knowledge of topology.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Border Gateway Protocol
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
COS 561: Advanced Computer Networks
BGP supplement Abhigyan Sharma.
Working at a Small-to-Medium Business or ISP – Chapter 7
Working at a Small-to-Medium Business or ISP – Chapter 7
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Working at a Small-to-Medium Business or ISP – Chapter 7
Computer Networking TCP/IP Part 2
COS 561: Advanced Computer Networks
Dynamic Routing and OSPF
COS 561: Advanced Computer Networks
BGP Instability Jennifer Rexford
Computer Networks Protocols
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Presentation transcript:

SSFNet and Routing Simulation BJ Premore Dartmouth College

Overview What is SSFNet? Building a Model Protocol Packages A Routing Study

What is SSFNet? Modern software for modeling and simulation of large networks Java-based IP packet-level granularity

Features Fully Integrated Network Environment –many detailed network components included –components all inter-operable Scalability –designed to handle large, complex simulations –achievable simulation sizes vary by model and hardware Configurability –all components have multiple configurable attributes –sometimes above and beyond actual implementations And more... –repeatability –random number package (CERN Colt) –plotting –monitoring

SSFNet Architecture SSFNet = SSF Network Models - not independent SSF = Scalable Simulation Framework - a standard for discrete-event simulation of large, complex systems DML = Domain Modeling Language - model configuration

Simulation Layers SSF Simulator API C++CJava CSSFRacewayDaSSF Simulator Implementations implements SSFNet Network Components enhances Model Instances DML configures

IDE Package SSF CSSFDaSSF Simulator API SSFNet C++CJava Network Components implements enhances configures DML Model Instances Raceway Simulator Implementations

SSFNet Layer SSF DML CSSFRacewayDaSSF Simulator API Simulator Implementations SSFNet C++CJava Network Components Model Instances implements enhances configures

Network Components physical entities link router host logical containers Net protocol graph protocols BGP OSPF FTP client HTTP client Sockets IPTCP - each is a Java class or Java package - includes state, behavior, config info

Building a Model think hierarchically understand NHI addressing

DML Layer SSF CSSFRacewayDaSSF Simulator API Simulator Implementations SSFNet C++CJava Network Components implements enhances configures Model Instances DML

Basic DML Properties goal: simplicity attribute/value pairs hierarchical extensibility substitution

Basic DML Examples attribute/value pairs –simple attributes cat Morris bandwidth 1.544Mb random_string “a1b 2$#[ _4bs” –nested attributes cat [ name Morris ] cat [ name Morris age “10 years” ] cat [ name Morris age “10 years” color [ primary orange secondary white pattern stripes ]

DML Example host [ id 1 interface [ id 1 ] ] router [ id 2 interface [ idrange [ from 1 to 4 ] ] ] link [ attach 1(1) attach 2(1) ] 2 3 4

DML: The Protocol Stack protocol graph 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 ] IP TCP Sockets BGP

NHI Addressing Internal format for model-building convenience N:N:N:... :N:H(I) –N = network id –H = host id –I = interface id top-level Net cannot have id local vs. global –local link need not attach to global NHI address –networks and hosts may be abbreviated or omitted

Hierarchy Example Net [ host [ id 1 interface [ id 1 ] ] host [ id 2 interface [ id 1 ] ] link [ attach 1(1) attach 2(1) ] ]

Hierarchy Example 2 Net [ Net [ id 1... ] # 2 hosts + 1 router Net [ id 2... ] # 4 hosts + 1 router link [ attach 1:5(4) attach 2:5(5) ] ]

From Installation to Execution download distribution from unzip in location of your choice set CLASSPATH environment variable while in ssfnet/ directory, type make –builds and validates use favorite editor to create DML model execute it: java SSF.Net.Net runtime dml-file

SSFNet Protocol Models IP (simplified) TCP (validated) UDP Sockets OSPF (two versions) BGP HTTP and FTP clients Widgets

Applications IPsec, MPLS at NIST SNMP and NFS client/server at SHAI BGP route flap dampening in university courses

A Routing Study a general inquiry into routing dynamics not as well-understood as other protocols distributed behavior more complex than end-to-end some parameters pulled "out of the blue sky" ubiquitously used in Internet using the BGP model in SSFNet full-fledged routing models not previously available

Routing Basics forwarding vs. routing DirectionDestination

Two-level routing hierarchy Routing Basics

BGP used for inter-domain routing Routing Basics

a simplified view Routing Basics BGP

What is BGP? BGP is a distributed all-points preferred path algorithm, essentially the glue that holds the Internet together

routing algorithm –1. Learn neighbors –2. Share reachability information with neighbors –3. Continue sharing updated reachability information incremental updates advertisements withdrawals decisions neighbors paths + policy rate limiting Minimum Route Advertisement Interval (MRAI) BGP Basics may serve as implicit withdrawals

SSFNet BGP Based on RFCs RFC 1771: BGP-4 and latest drafts RFC compliant implementation Includes some RFC-specified extensions (Route Reflection) Has features similar to those used by vendors (policy- based filtering)

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

Validation Methodology No standards, create our own suite Basic behavior in simple topologies –Peering session maintenance (Hold & KeepAlive timer operation) –Route advertisement and withdrawal –Route selection –Reflection –Internal BGP General behavior in complex topologies –End-to-end data delivery –Exercises basic behaviors as well Policy testing –Converging and non-converging gadgets [Griffin 1999]

BGP Convergence Given a change in the network, how long does it take for all BGP speakers to return to a stable state?

no convergence bound –persistent oscillations possible [Varadhan, Govindan, Estrin 1997] empirical measurements –lots of updates! –convergence not so good... [Labovitz et al, ] Previous Work

overall –better understand dynamic behavior of BGP how does rate limiting impact convergence? precise analytical model? –seems unlikely... –so we use simulation –and start small Goals

simple topologies, simple policies Experiments line ring clique grid focus

UP phase –advertise a single destination DOWN phase –withdraw a single destination Experiments clique

–size –rate-limiting interval –min & max processing times –link delay –sender-side loop detection –withdrawal rate limiting –jitter –continuous rate-limiting –random number seed index Model Parameters

Experiment DML Net [ # the all-encompassing Net frequency # nanosecond simulation frequency randomstream [ generator MersenneTwister stream reproducibility_level timeline ] Net [ id 1 AS_status boundary router [... ] ] Net [ id 2 AS_status boundary router [... ] ]... link [ attach 1:1(1) attach 2:1(7) delay 0.01 ] link [ attach 1:1(2) attach 3:1(7) delay 0.01 ]... bgpoptions [... ] # define global BGP options ] # end of the all-encompassing Net

Experiment DML router [ id 1 graph [ ProtocolSession [ name test use SSF.OS.BGP4.Widgets.Advertiser workload_file /home/bj/blah start_time 50 ] 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" ] ]

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)... ]

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... ]

Average Convergence Time clique size 15

Average Convergence Time clique size 15

Average Total Updates clique size 15

Average Total Updates clique size 15

Observed optimal values much lower than values used in practice! convergence time 0 rate-limiting interval (sec) 30 penalty Generalized Results for Convergence Time

more realistic topologies and policies route flap dampening long-term oscillations internal AS topologies multiple destinations per-route vs. per-peer MRAI accurate processing time models Continuing Work

SOS Scripts for Organizing Simulations Create families and groups of experiments Specify DML template, parameter values, and extractors Automatically generates DML, runs sets of experiments, extracts desired measurements Stores results in database

Documentation References SSFNet & DML (info & tutorials) SSFNet BGP DML (tutorial)