Top Banner
An Architectural Framework for Supporting Distributed Object Based Routing Dhavy Gantsou Department of Computer Science University of Valenciennes France [email protected] SIGAda 2002, D. Gantsou
26

An Architectural Framework for Supporting Distributed Object Based Routing

Mar 16, 2016

Download

Documents

ata

An Architectural Framework for Supporting Distributed Object Based Routing. Dhavy Gantsou Department of Computer Science University of Valenciennes France [email protected] SIGAda 2002, D. Gantsou. Basic networking terminology and concepts: Protocol ?. In general - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: An Architectural Framework for Supporting Distributed Object Based Routing

An Architectural Framework for Supporting Distributed Object

Based Routing

Dhavy Gantsou

Department of Computer ScienceUniversity of Valenciennes

[email protected]

SIGAda 2002, D. Gantsou

Page 2: An Architectural Framework for Supporting Distributed Object Based Routing

Basic networking terminology and concepts:

Protocol ?

In general A set of rules that govern all activity involving two or more entities that exchange messages in order to accomplish a task

SIGAda 2002, D. Gantsou

Page 3: An Architectural Framework for Supporting Distributed Object Based Routing

Basic networking terminology and concepts:

Routing protocol ? Activity = transmitting data (packets) from a host (sender) to a remote host (receiver).

Task = routing

Communicating entities = software components of hosts and devices performing routing (routers ).

SIGAda 2002, D. Gantsou

Page 4: An Architectural Framework for Supporting Distributed Object Based Routing

Basic networking terminology and concepts:

Routing ? Route computing. Involves:

• Exchange of update messages (routing tables) only between neighboring routers • Use of received routing tables to dynamically determine the best path that a packet should

take to reach its destination.

SIGAda 2002, D. Gantsou

Page 5: An Architectural Framework for Supporting Distributed Object Based Routing

Basic networking terminology and concepts:

Routing ? Route computing. Requires :

• Coherent route maintenance (route insertion,

change, and deletion), may be periodic • Real-time inter-router communication. Receiving update messages at wrong time

leads to instabilities

SIGAda 2002, D. Gantsou

Page 6: An Architectural Framework for Supporting Distributed Object Based Routing

R3

R5 R4

R2

R7R1

R6

Basic networking terminology and concepts:Routing ?

Page 7: An Architectural Framework for Supporting Distributed Object Based Routing

Basic networking terminology and concepts: Routing ? cont.

Route lookup

•Forwarding packets received on an input network interface to an appropriate output interface for transmission across the

Internet.

SIGAda 2002, D. Gantsou

Page 8: An Architectural Framework for Supporting Distributed Object Based Routing

Basic networking terminology and concepts:

Routing protocols issues Implement multiple algorithms that :• execute concurrently• interact to achieve a common goal

Require real-time communication

SIGAda 2002, D. Gantsou

Page 9: An Architectural Framework for Supporting Distributed Object Based Routing

Basic networking terminology and concepts: networking domain

specific issues Co-existence of two alternative data representation, due to exchanges of data among hosts having different byte-ordering. Packets loss implying retransmission Data error involving retransmission Retransmission requiring timer management Varying and complicated message formats, Asynchronous communication

SIGAda 2002, D. Gantsou

Page 10: An Architectural Framework for Supporting Distributed Object Based Routing

Basic networking terminology and concepts: Concluding remark

Given the issues that they raise, routing protocols

belong to the domain of large-scale, real-time applications

How to implement routing software ?

SIGAda 2002, D. Gantsou

Page 11: An Architectural Framework for Supporting Distributed Object Based Routing

Routing software implementation: Designs

Conventional (monolithic)

Distributed object based

A poor choice of technology can make the implementation tedious and difficult

SIGAda 2002, D. Gantsou

Page 12: An Architectural Framework for Supporting Distributed Object Based Routing

Conventional design

For single processor targets

Uses C and C++

Extensive use of operating system features for implementing real-time functionality

Widely used by network designers May be for historical and business reasons

SIGAda 2002, D. Gantsou

Page 13: An Architectural Framework for Supporting Distributed Object Based Routing

Conventional design cont.

Needs specific procedures for performing:• network byte-ordering• mapping between the logical view and

realistic messages

Not suitable for the implementation of next generation Internet’s architecture

SIGAda 2002, D. Gantsou

Page 14: An Architectural Framework for Supporting Distributed Object Based Routing

Ada95 technology based Prototype Uses GLADE features to perform data

representation operations Consists on four major classes:

• Router_Class

• Shared_Object

• Service_Manager

• OSPF_Router

SIGAda 2002, D. Gantsou

Page 15: An Architectural Framework for Supporting Distributed Object Based Routing

Ada95 technology based Prototype

Router_Class : An abstract (virtual) class specifying the behavior of communicating entities (routers)

Subclasses derived from Router_Class must provide real methods (operations) performing the functionality of the routers

SIGAda 2002, D. Gantsou

Page 16: An Architectural Framework for Supporting Distributed Object Based Routing

Class Router_ClassWith common, common_types;package Router_Class is

pragma Remote_Types ;type Router_Class is abstract tagged limited private ;

procedure Update (Router : Access router_Class; Message : Common.Message_Type) is abstract ; private

type Router_Class is abstract tagged limited null record ;end Router_Class ;

SIGAda 2002, D. Gantsou

Page 17: An Architectural Framework for Supporting Distributed Object Based Routing

Ada95 technology based Prototype

Shared_Object : A class implementing concurrent query and/or modify methods that are inherent to the OSPF DR (designated router) concept.

A single member of a set of OSPF routers, which is elected by its neighbors to serve as central point of contact for routing information exchange

SIGAda 2002, D. Gantsou

Page 18: An Architectural Framework for Supporting Distributed Object Based Routing

Class Shared_ObjectGenerictype For_Multiple_Inheritence is tagged limited private ;

package Virtual_DR ispragma Shared_Passive ;type Shared_Object is new For_Multiple_Inheritence with private ;

procedure Insert (DR : Access Shared_Object ; Msg : Common.Message_Type; Where: Natural ) ; private

type Shared_Object is new For_Multiple_Inheritence with null record ;end Virtual_DR ;

SIGAda 2002, D. Gantsou

Page 19: An Architectural Framework for Supporting Distributed Object Based Routing

package body Virtual_DR is

protected Acces_Control is

private end protected Acces_Control ; protected body Acces_Control is

end protected Acces_Control ;

procedure Insert (DR : Access Shared_Object ; Msg : Common.Message_Type; Where: Natural ) is

end Insert ;

end Virtual_DR ;

SIGAda 2002, D. Gantsou

Page 20: An Architectural Framework for Supporting Distributed Object Based Routing

Ada95 technology based Prototype

Service_Manager : provides methods that enable:• to register distributed objects

• clients (objects requiring services) to find and retrieve references of distributed objects providing remote services (server)

SIGAda 2002, D. Gantsou

Page 21: An Architectural Framework for Supporting Distributed Object Based Routing

Class Service_ManagerWith Router_Class, Common;package Service_Manager is Pragma Remote_Call_Interface ; type Router_Class_Ref is Access all Router_Class. Router_Class’Class ;

type Remote_Router_Reference is record

Router_Ref: Router_Class_Ref ; Router_Id : Common.Address ; end record ;

procedure Registry (Router : Access Router_Class_Ref; Router_ID: Common.Address ; Host : Common.Host_Name) ; function Give_Router_Reference(Key : Natural) return Router_Class_Ref ;

end Service_Manager ;

SIGAda 2002, D. Gantsou

Page 22: An Architectural Framework for Supporting Distributed Object Based Routing

package body Service_Manager isprotected Synchro_Ref_Acces is

procedure Registry (Router : Access Router_Class_Ref; Router_ID: Common.Address ; Host : Common.Host_Name) ; function Give_Router_Reference(Key : Natural) return Router_Class_Ref ; private Router_Reference : Router_Reference_List ; end Synchro_Ref_Acces ; protected body Synchro_Ref_Acces is procedure Registry (Router : Access Router_Class_Ref; Router_ID: Common.Address ; Host : Common.Host_Name) is end Synchro_Ref_Acces ; procedure Registry (Router : Access Router_Class_Ref; Router_ID: Common.Address ; Host : Common.Host_Name) is begin Synchro_Ref_Acces.Registry(Router, Router_ID,Host) ; end Service_Manager ; SIGAda 2002, D. Gantsou

Page 23: An Architectural Framework for Supporting Distributed Object Based Routing

Ada95 technology based Prototype

Ospf_Router : a class implementing methods that perform the functionality of a router running the Open Shortest Path First(OSPF) protocol.

• Provides methods that perform :- basic routing functionality- OSPF specific services such as the designated

router concept (Class Shared_Object) • Must inherit methods from Router_Class and Shared_Object (multiple inheritance )

SIGAda 2002, D. Gantsou

Page 24: An Architectural Framework for Supporting Distributed Object Based Routing

Class OSPF_RouterWith Router_Class, Virtual_DR , …;package OSPF_Router is Pragma Remote_Types ; type OSPF_Router is new Router_Class.Router_Class with record

end record ; package VDR is new Virtual_DR (OSPF_Router) ; type DR is new VDR.Shared_Object with null record ;

procedure Update (Router : Access OSPF_Router ; Message : Common.Message_Type) ;

end OSPF_Router ;

SIGAda 2002, D. Gantsou

Page 25: An Architectural Framework for Supporting Distributed Object Based Routing

With Ada.Real_Time, Service_Manager, …;package body OSPF_Router is

Local_Router : Aliased OSPF_Router ; Local_DR : Aliased DR ; package VDR is new Virtual_DR (OSPF_Router) ; type DR is new VDR.Shared_Object with null record ;

procedure Update (Router : Access OSPF_Router ; Message : Common.Message_Type) is

begin Insert.(Local_DR’Acces, Message, Hash(Service_Manager.Give_Router_Reference(Message.Source_Message))) ; end Update ; declare begin Service_Manager.Registry(Local_Router’Access, Host_ID ,Host_Name) ; end OSPF_Router ; SIGAda 2002, D. Gantsou

Page 26: An Architectural Framework for Supporting Distributed Object Based Routing

??

SIGAda 2002, D. Gantsou