* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Ceci est un test - ACM SIGAda Home Page
Distributed operating system wikipedia , lookup
Network tap wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Wireless security wikipedia , lookup
Airborne Networking wikipedia , lookup
Distributed firewall wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Routing in delay-tolerant networking wikipedia , lookup
Dr. Dhavy Gantsou Associate Professor CS Department University of Valenciennes France [email protected] 10/04/2001 Targeting Ada95/DSA for Distributed Simulation of Multiprotocol Networks 10/04/2001 Networking backgroung 10/04/2001 Today ’s network technologies are designed for a specific purpose 10/04/2001 Standard IP network (internet) • for low speed legacy applications (ftp, e-mail, http, etc) • operates on a ’’best-effort’’ basis - treats all traffic equally - may discard packets • may delay traffic • mostly used to enable access to a wide range of non-IP applications 10/04/2001 Switch technology networks (ATM, SONET/SDH, MPLS) • for high-speed applications • garantees : - Quality of Service (QoS) * Traffic engineering * Differentiated service levels - Predictability (Real-time) - Security 10/04/2001 Switch technology networks (ATM, SONET/SDH, MPLS) Is now using standard Internet to provide access to non-IP applications (Voice, B2B, real-time video, etc) 10/04/2001 Majority of traffic IP-based Need for multiservice (multiprotocol) network 10/04/2001 multiservice network ? = Network infrastructure, suitable for the full range of standard Internet, as well as switch technology services. 10/04/2001 At the heart of a multiprotocol architecture is the ability of routing protocols to: • deliver differentiated services • satisfy security concerns • garantee predictability (Real-time) • Manage an ever-growing network 10/04/2001 Need for distributed real-time routing protocols or distributed real-time extended versions of existing protocols Implementation + simulation of prototypes 10/04/2001 Simulation ? Conventional (batch) • sequential • parallel (on shared memory platforms) Interactive • sequential • on cluster of workstations (Distributed interactive Simulation ’’DIS’’) 10/04/2001 DIS • widely available platforms • computing performance • naturally express the real word network architecture • protocol software same as simulation code 10/04/2001 DIS : which middleware ? Requirements Real-time Reliability Scalability Security Performance 10/04/2001 Middleware MPI Sockets OO Middleware • Java RMI • CORBA • Ada95 DSA Point-to-point LSI exchange in OSPF Protocol Open Shortest Path First R1 R2 R4 10/04/2001 R3 R5 Shared memory based LSI exchange R3 R1 DR (R2) R4 10/04/2001 BDR(R5) Building prototypes of object-based real-time distributed routing protocols Identifying protocol entities Modeling and implementing entities using suitable Ada95 and/or DSA constructs 10/04/2001 Case study DIS of the BGP4 Decision algorithm Principle of the decision algorithm When a BGP4 (Border Gateway Protocol version4) router receives updates from multiple AS, it must run the decision algorithm to choose the single best path for reaching a destination. Once choosen, BGP propagates the path to its neighbors 10/04/2001 AS 700 AS 300 AS 100 BGP_R7 BGP_R3 BGP_R5 BGP_R1 AS 500 BGP_R4 AS 400 BGP_R2 AS 600 10/04/2001 BGP_R6 AS 200 BGP Path selection Modeling & implementation 10/04/2001 Two kinds of distributed objects Objects supporting general purpose of distributed object computing • Remote_Call_Interface Partition • include a declaration of a RACW 10/04/2001 with Common, Interface; package Object_Adapter is pragma Remote_Call_Interface; Max_Devices : constant Positive := 15; --End Routers and Intermediary Routers Max_neighbors : constant Positive := Max_Devices; type Router_Class_Ref is access all Interface.Router_Class'Class; type Router_References is record Router_Ref : Router_Class_Ref ; hostname : Common.String_Host; end record; type References_List is array(Positive range <>) of Router_References; type Neighbor_Type is record Count : Natural := 0; List : References_List(1..max_neighbors) := (others => (null, (others => ' '))); end record; procedure Router_Registry(Data : in Router_Class_Ref; Is_router : in Boolean; Hostname : in Common.String_Host); function get_neighbor_list(hostname : in Common.String_Host) return Neighbor_Type; function get_link_array return Router_Link_List; end Object_Adapter; 10/04/2001 Object associating logical references to actual object implementation Two kinds of distributed objects Objects dealing with the implementation of the protocol entities • normal package • Pure , • Remote_Types, or • Shared_Passive categorized Partition including the declaration of one class 10/04/2001 package Interface is pragma Pure; type Router_Class is abstract tagged limited private; type Community_Type is (no_export,no_advertise, internet); type Exchanged_Attributes is record As_Path : Positive; Origin : Common.String_Host; Next_Hop : Common.String_Host; Local_Preference : Natural; community : Community_Type; end record; procedure send (Data : access Router_Class; Update : in Exchanged_Attributes; Src_Hostname : in Common.String_Host) is abstract; procedure receive (Data : access Router_Class; Update : in Exchanged_Attributes) is abstract; Private type Router_Class is abstract tagged limited null record; end Interface ; 10/04/2001 Root class for all Router implementation with Common, Interface, Object_Adapter ; package Bgp_Isp_Router is type Bgp_Isp_Router_Class is new Interface.Router_Class with record hostname : Common.String_Host; neighbors : Object_Adapter.Neighbor_Type; end record; procedure send(Data : access Bgp_Isp_Router_Class; Update : in Interface.Exchanged_Attributes; Src_Hostname : in Common.String_Host); procedure receive(Data : access Bgp_Isp_Router_Class; Update : in Interface.Exchanged_Attributes); end Bgp_Isp_Router; Derived class BGP_ISP_Router 10/04/2001 Simulation :Working environment Gnat-3.13p , ACT Ada95 compiler (free) Glade-3.13p, ACT implementation of DSA (free) A 100MB ethernet connecting: 15 Sun UltraSPARCs running Solaris 2.6, 1 Sun Enterprise running Solaris 2.7 10/04/2001 Simulation : Empirical test 10/04/2001 A ------------------------ usual running 1) From : ultraistv6 To : ultraistv9 Message : good Router [ultraistv6] -> Running decision algorithm... Router [ultraistv6] -> Send message through ultraistv4... BGP_Router [ultraistv9] -> Received message'good -> BGP_Router[ultraistv6] -> ISP[ultraistv4] ’ 2) >From : ultraistv6 To : ultraistv9 Message : HS Router [ultraistv6] -> Running decision algorithm... Router [ultraistv6] -> Send message through ultraistv4... BGP_Router [ultraistv9] -> Received message'HS -> BGP_Router[ultraistv6] -> ISP[ultraistv4]' 10/04/2001 B ---------------------------- unusual running Gnat@ultraistv4 : psd |grep ‘gantsou' 8 R gantsou 2261 2259 0 45 20 6085a1e0 146 19:21:14 pts/1 0:00 -csh 8 S gantsou 2250 1 0 41 20 60a381f0 375 ddd54 19:12:39 ? 0:00 /prof/gantsou/V4/bin/proxy1 --boot_ Gnat@ultraistv4 : kill -9 2250 3) >From : ultraistv6 To : ultraistv9 Message : Down Router [ultraistv6] -> Running decision algorithm... Router [ultraistv6] -> Send message through ultraistv4... Router failed ! (catch SYSTEM.RPC.COMMUNICATION_ERROR) 10/04/2001 4) >From : ultraistv6 To : ultraistv9 Message : restart Router [ultraistv6] -> Running decision algorithm... Router [ultraistv6] -> Send message through ultraistv4... Router failed ! (catch SYSTEM.RPC.COMMUNICATION_ERROR) 10/04/2001 >From : ultraistv6 To : ultraistv9 Message : Any change ? Router [ultraistv6] -> Running decision algorithm... Router [ultraistv6] -> Send message through ultraistv4... Router failed ! (catch SYSTEM.RPC.COMMUNICATION_ERROR) >From : ultraistv9 To : ultraistv6 Message : ISP2 down Router [ultraistv9] -> Running decision algorithm... Router [ultraistv9] -> Send message through ultraistv1... Router failed ! (catch SYSTEM.RPC.COMMUNICATION_ERROR) 10/04/2001