# # forwarding1.dml # # This network consists of 32 autonomous systems, each represented by # a single router with a single host attached. (This is so inter- # domain routing can work without the need for intra-domain # routing.) It was built with a hierarchical layout, and then a # couple of additional links were added to make it more interesting. # In the center is a backbone network consisting of five autonomous # systems. Three of those ASes have other ASes connected below them # in the hierarchy, and it continues in this fashion a few more layers # down to leaf ASes. # _schema [ _find .schemas.Net ] Net [ # the all-encompassing Net frequency 1000000 # microsecond simulation frequency bgpoptions [ show_id_data false # show AS number and prefix for each BGP router show_rcv_update false # show when Update msgs are rcvd show_snd_update false # show when Update msgs are sent show_rcv_ka false # show when KeepAlive msgs are rcvd show_snd_ka false # show when KeepAlive msgs are sent show_set_ka false # show when KeepAlive Timers are set show_set_hold false # show when Hold Timers are set ] Net [ # a Net to encapsulate the backbone ASes id 0 # "level 0" ASes Net [ id 0 _extends .AS ] Net [ id 1 _extends .AS ] Net [ id 2 _extends .AS ] Net [ id 3 _extends .AS ] Net [ id 4 _extends .AS ] link [ attach 0:0(1) attach 1:0(1) ] link [ attach 0:0(2) attach 4:0(1) ] link [ attach 1:0(2) attach 2:0(1) ] link [ attach 2:0(2) attach 3:0(1) ] link [ attach 2:0(3) attach 4:0(2) ] link [ attach 3:0(2) attach 4:0(3) ] ] # end backbone Net Net [ # this Net encapsulates the part of the hierarchy # hanging off of backbone AS Net 1 ("subnet" 1) id 1 # "level 1" ASes in subnet 1 Net [ id 0 _extends .AS ] # "level 2" ASes Net [ id 1 _extends .AS ] Net [ id 2 _extends .AS ] Net [ id 3 _extends .AS ] # "level 3" ASes Net [ id 4 _extends .AS ] Net [ id 5 _extends .AS ] Net [ id 6 _extends .AS ] Net [ id 7 _extends .AS ] Net [ id 8 _extends .AS ] # "level 4" ASes Net [ id 9 _extends .AS ] # "level 5" ASes Net [ id 10 _extends .AS ] Net [ id 11 _extends .AS ] Net [ id 12 _extends .AS ] link [ attach 0:0(2) attach 1:0(1) ] link [ attach 0:0(3) attach 2:0(1) ] link [ attach 0:0(4) attach 3:0(1) ] link [ attach 1:0(2) attach 4:0(1) ] link [ attach 1:0(3) attach 5:0(1) ] link [ attach 1:0(4) attach 6:0(1) ] link [ attach 3:0(2) attach 7:0(1) ] link [ attach 3:0(3) attach 9:0(1) ] link [ attach 3:0(4) attach 8:0(1) ] link [ attach 9:0(2) attach 10:0(1) ] link [ attach 9:0(3) attach 11:0(1) ] link [ attach 9:0(4) attach 12:0(1) ] ] # end "subnet" 1 # link attaching backbone and subnet 1 link [ attach 0:1:0(3) attach 1:0:0(1) ] Net [ # this Net encapsulates the part of the hierarchy # hanging off of backbone AS Net 3 ("subnet" 2) id 2 # "level 1" ASes in subnet 2 Net [ id 0 _extends .AS ] Net [ id 1 _extends .AS ] # "level 2" ASes Net [ id 2 _extends .AS ] Net [ id 3 _extends .AS ] Net [ id 4 _extends .AS ] link [ attach 1:0(2) attach 2:0(1) ] link [ attach 1:0(3) attach 3:0(1) ] link [ attach 1:0(4) attach 4:0(1) ] ] # end "subnet" 2 # links attaching backbone and subnet 2 link [ attach 0:3:0(3) attach 2:0:0(1) ] link [ attach 0:3:0(4) attach 2:1:0(1) ] Net [ # this Net encapsulates the part of the hierarchy # hanging off of backbone AS Net 4 ("subnet" 3) id 3 # "level 1" ASes in subnet 3 Net [ id 0 _extends .AS ] Net [ id 1 _extends .AS ] # "level 2" ASes Net [ id 2 _extends .AS ] Net [ id 3 _extends .AS ] Net [ id 4 _extends .AS ] Net [ id 5 _extends .AS ] Net [ id 6 _extends .AS ] # "level 3" ASes Net [ id 7 _extends .AS ] Net [ id 8 _extends .AS ] link [ attach 0:0(2) attach 2:0(1) ] link [ attach 0:0(3) attach 3:0(1) ] link [ attach 1:0(2) attach 4:0(1) ] link [ attach 1:0(3) attach 5:0(1) ] link [ attach 1:0(4) attach 6:0(1) ] link [ attach 4:0(2) attach 7:0(1) ] link [ attach 4:0(3) attach 8:0(1) ] ] # end "subnet" 3 # links attaching backbone and subnet 3 link [ attach 0:4:0(4) attach 3:0:0(1) ] link [ attach 0:4:0(5) attach 3:1:0(1) ] # links between subnets link [ attach 1:4:0(2) attach 3:6:0(2) ] link [ attach 1:12:0(2) attach 2:0:0(2) ] ] # end of the all-encompassing Net # ------------------------------------------------------------------- # some reusable parts AS [ AS_status boundary router [ _extends .bgprtr ] host [ _extends .bgphost ] link [ attach 0(0) attach 1(0) ] ] bgprtr [ id 0 graph [ ProtocolSession [ name bgp use SSF.OS.BGP4.BGPSession ] ProtocolSession [ name socket use SSF.OS.Socket.socketMaster ] ProtocolSession [ name tcp use SSF.OS.TCP.tcpSessionMaster ] ProtocolSession [ name ip use SSF.OS.IP ] ] interface [ idrange [ from 0 to 5 ] ] ] bgphost [ id 1 graph [ ProtocolSession [ name ip use SSF.OS.IP ] ProtocolSession [ name test use SSF.OS.BGP4.test.App.AppSession sender true dest all frequency 100 receiver true verbose true ] ] interface [ id 0 ] route [ dest default interface 0 ] ]