1 / 31

Dr. Dhavy Gantsou

Dr. Dhavy Gantsou. Associate Professor. CS Department University of Valenciennes. France. Dhavy.gantsou@univ-valenciennes.fr. Targeting Ada95/DSA for Distributed Simulation of Multiprotocol Networks. Networking backgroung. Today ’s network technologies are

Download Presentation

Dr. Dhavy Gantsou

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dr. Dhavy Gantsou Associate Professor CS Department University of Valenciennes France Dhavy.gantsou@univ-valenciennes.fr

  2. Targeting Ada95/DSA for Distributed Simulation of Multiprotocol Networks

  3. Networking backgroung

  4. Today ’s network technologies are designed for a specific purpose

  5. • for low speed legacy applications (ftp, e-mail, http, etc) • Standard IP network (internet) • 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

  6. • for high-speed applications • garantees : • Switch technology networks (ATM, SONET/SDH, MPLS) - Quality of Service (QoS) * Traffic engineering * Differentiated service levels - Predictability (Real-time) - Security

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

  8. Majority of traffic IP-basedNeed for multiservice (multiprotocol) network

  9. multiservice network ? • = Network infrastructure, suitable for the full range of standard Internet, as well as switch technology services.

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

  11. Need for distributed real-time routing protocols ordistributed real-time extended versions of existing protocols Implementation + simulation of prototypes

  12. Simulation ? • Conventional (batch) • sequential • parallel (on shared memory platforms) • Interactive • sequential • on cluster of workstations (Distributed interactive Simulation ’’DIS’’)

  13. DIS • widely available platforms • computing performance • naturally express the real word network architecture • protocol software same as simulation code

  14. Requirements Real-time Reliability Scalability Security Performance Middleware MPI Sockets OO Middleware • Java RMI • CORBA • Ada95 DSA DIS : which middleware ?

  15. Point-to-point LSI exchange in OSPF Protocol Open Shortest Path First R1 R2 R3 R4 R5

  16. Shared memory based LSI exchange R3 R1 DR (R2) BDR(R5) R4

  17. Building prototypes of object-based real-time distributed routing protocols • Identifying protocol entities • Modeling and implementing entities using suitable Ada95 and/or DSA constructs

  18. Case studyDIS 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

  19. AS 700 AS 300 BGP_R7 AS 100 BGP_R3 BGP_R1 BGP_R5 BGP_R4 AS 500 AS 400 BGP_R2 BGP_R6 AS 600 AS 200 BGP Path selection

  20. Modeling & implementation

  21. Two kinds of distributed objects • Objects supporting general purpose of distributed object computing • Remote_Call_Interface Partition •include a declaration of a RACW

  22. 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; Object associating logical references to actual object implementation

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

  24. 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 ; Root class for all Router implementation

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

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

  27. Simulation : Empirical test

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

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

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

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

More Related