routing protocols in mobile ad-hoc networks...using cp-nets was a success , as n the modelling...

40
Routing Protocols in Mobile Ad-hoc Networks Michael Westergaard [email protected] Department of Computer Science University of Aarhus, Denmark

Upload: others

Post on 27-Feb-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Routing Protocols in Mobile Ad-hoc

NetworksMichael Westergaard

[email protected] of Computer ScienceUniversity of Aarhus, Denmark

Page 2: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Overview

n A project on routing in mobile ad-hoc networks

n Modules in coloured Petri nets

n Edge Router Discovery Protocol

n Routing Interoperability Protocol

Page 3: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

A project on routing in mobile ad-hoc networks

Page 4: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

The Projectn Participants: Ericsson Denmark A/S, Telebit and CPN

Group at University of Aarhus

n Project duration: July 2003-December 2005

n Project web-page: http://www.daimi.au.dk/CPnets/IPv6/

n Executive summary summary: This project deals with the design and validation of routing protocols and other protocols in ad-hoc and mobile networks

n The goal was to explore the use of IPv6 in the context of ad-hoc networks using CP-nets

Page 5: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Wireless Communication

Key characteristics:

n Communication is based on pre-existing (fixed) infrastructure

n No direct communication between mobile nodes

Base station

GSM network

Base station

Internet

W-LAN (e.g. 802.11a/b/g) Cellular networks

Page 6: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Mobile Ad-hoc Networks

Application areasn Sensor networksn Search-and-rescue operationsn Home networkingn Traffic Safety

Challengesn Mobility and bandwidthn Power consumptionn Securityn Fully distributed operation

A

B

C

No pre-existing infrastructure and multi-hop communication

Page 7: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Hybrid Network Architecture

A main topic of the project was protocols for integration of fixed core networks and mobile ad-hoc networks

core network

(Internet)MANET

Page 8: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Sub-projects

1) Specification of mobility and communication scenarios in an Internet-MANET network architecture

2) Specification of an Edge Router Discovery Protocol for mobile ad-hoc networks

3) Model-based prototyping of protocols for Internet-MANET routing with redundant gateways

Page 9: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Modules in coloured Petri nets

Page 10: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

A CPN Model

str

nn

n k

n if successt,en 1`nelse e01ty

if n3kt,en k+1else k

k

n

if n3kt,en k+1else k

if n3kt,en str5delse str

(n,d)

(n,d)if successt,en 1`(n,d)else e01ty(n,d)(n,d)

Trans0itAck

ReceiveAck

ReceivePacket

Trans0itPacket

SendPacket

C

INT

D

INTxDATA

NextRec1

INT

Received""

DATA

A

INTxDATA

D

INT

NextSend

1

INT

Send

INTxDATA

1`(1,"Modellin")++1`(2,"g and An")++1`(3,"alysis b")++1`(4,"y Means ")++1`(5,"of CPN ")++1`(6,"red Petr")++1`(7,"i Nets##")

Page 11: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

A Simpler CPN model

(n,d)

n

n k

nn

(n,d)

ReceiveAck

-endPacket A

OutINTxDATA

DInINT

Next-end

1

INT

-end

19(1,";<dellin")++19(?,"@ and An")++19(B,"alCsis E")++19(F,"C ;eans ")++19(G,"<f CPN ")++19(J,"red Petr")++19(L,"i NetsMM")

INTxDATA

In

Out

(n,d)

if n)kthen k.1else k

k

if n)kthen str3delse str

if n)kthen k.1else k

str

ReceivePacket

BIn

INTxDATA

CAut

INT

ReceivedCC

DATA

NextRec1

INT

Aut

In

if successthen 1`nelse empty

n

if successthen 1`(n,d)else empty(n,d)

Receiver

Receiver

Sender

Sender

TransmitAck

TransmitPacket

C

INT

B

INTxDATA

A

INTxDATA

D

INT

Sender Receiver

Sender

Main

Receiver

Page 12: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Main Module

if successt)en 1,nelse e.pt0

n

if successt)en 1,(n,d)else e.pt0(n,d)

Recei6er

Recei6er

Sender

Sender

Trans.itAck

Trans.itPacket

C

I@T

A

I@TxDATA

A

I@TxDATA

D

I@T

Sender Recei6er

Page 13: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Edge Router Discovery Protocol

Page 14: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Edge Router Discovery Protocol (ERDP)

ERDP allows edge routers to configure gateways with address prefixes

corenetwork

edge routergateway

001 interface identifieraddress prefix

128 bit

Page 15: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Basic Operation of ERDPRA: Router Advertisement

RS: Router Solicitation

ERDP requirements๏ mobility of gateways๏ expire of address

prefixes๏ unreliable wireless

links

Page 16: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Modelling Phase

n Natural language specification developed by protocol engineers from Ericsson Denmark A/S, Telebit

n CPN model reflecting the specification developed by researchers from the CPN group

n Protocol developers were given a 6 hour course enabling them to read and interpret CPN models

n Approximately 70 man-hours were used on modelling

Page 17: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

ERDP

GW_ER_&IN)

GW_ER_&ink

EdgeRouter

EdgeRouter

Gateway

Gateway

EROutPacket

ERInPacket

GWOutPacket

GWInPacket

Gateway EdgeRouter

GW_ER_&ink

Page 18: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Edge Router

!RDiscardPrefixes

!RDiscardPrefixes

ProcessR/ProcessR/

/end1nsolicitedRA

/end1nsolicitedRA

PrefixAssigned

67

!RPrefixAssigned

PrefixPool Config

9ll:er;<;=!R;link?local;address=@;er:lA;<=!R;link?addr=B

!RConfig

!RIn InPacket

!ROutOutPacketOutIn

/end1nsolicitedRA

ProcessR/

!RDiscardPrefixesPrefixCount

F FG67F FGF F

FG9ll:er<=!R;link?local;address=@er:lA<=!R;link?addr=B

Page 19: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Send Unsolicited RA

PACKET(CreateUnsolicitedRA(erconfig))

prefixleft erconfig

SendUnsolicitedRA

[prefixleft > 0]

input (erconfig,prefixleft);actionEDRPMSC_SendUnsolicitedRA'Send (erconfig,prefixleft);

PrefixPoolI/O

1

PrefixCount

ConfigI/O

{ll_er = "ER link-local address", er_l2 ="ER link-addr"}

ERConfig

EROutOutPacket

Out

I/OI/O

1 1`1

1 1`{ll_er="ER link-local address",er_l2="ER link-addr"}

Page 20: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Results from Modellingn Several design issues were identified during modelling

Category Review 1 Review 2 Total

Imcompleteness and ambiguity in specification

3 6 9

Errors in protocol 2 7 9

Simplifications of protocol 2 0 2

Additions 4 0 4

Total 11 13 24

Page 21: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

State Space Analysis

Nodes = reachable states

Arcs = actions

Paths = executions

n Highly automatic

n Counter-examples

Page 22: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Analysis Approachn Key property: From any state with a non-

configured prefix, it is possible to reach a state where the prefix is consistently configured

n Analysis in 3 steps

i. Basic configuration

ii. Packet loss allowed

iii. Expire of prefixes allowed

Page 23: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Analysis Resultsn Basic configuration

n Synchronisation error between edge router and gateway

n Packet loss allowed

n Synchronisation error when certain unsolicited RAs were lost

n Error in processing of RA in gateway (livelock)

n Expire of prefixed allowed

n No additional errors

Page 24: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Conclusions

n The act of constructing a CPN model provided valuable input to the ERDP specification

n Simulation and graphical feedback using message sequence charts added insight into the operation of the protocol

n State-space analysis revealed 3 errors and the key property of the revised protocol could be verified

Page 25: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

ExperiencesUsing CP-nets was a success, as

n The modelling language and the supporting tools were powerful enough to specify and validate a real-world protocol

n Several non-trivial design issues and errors were identified and fixed

n Approximately 100 man-hours over a period of 4 months to create the model and analyse it

Page 26: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Routing Interoperability

Protocol

Page 27: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Network Architecture

Ad-hoc network

Possible solutions➡ Mobile IP➡ Mobile host routes injected by gateways into the core

network➡ Dynamic DNS and renumbering

Core network

A B C

Gateways

Page 28: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Model-based Prototyping

Figure 2 shows the approach taken to use CPN models to develop a prototype of the interoperability protocol. A CPN model (lower left of Fig. 2) has been developed by modelling the natural language protocol specification [22] (lower right) of the interoperability protocol. The modelling activity transforms the natural language specification into a formal executable specification represented by the CPN model. The CPN model captures the network architecture depicted in Fig. 1 and the protocol mechanisms of the interoperability protocol, e.g., the periodic transmission of advertisements, the dynamic updates of the DNS database, and traffic flows between hosts in the core network and nodes in the ad-hoc

Specification

Domain expert

Gateway2

Gateway

Gateway1

Gateway

AdHocNetwork

AdHocNetwork

CoreNetwork

CoreNetwork

Confi52

Confi51

AdHocNetworkCore

Network

11`("3ffe:100:3:401::4","3ffe:100:3:406::1","3ffe:100:3:406::")

1

1`("3ffe:100:3:401::3","3ffe:100:3:405::1","3ffe:100:3:405::")

4

1`(RECEIVE("AHN(4)"),{src="3ffe:100:3:405::1",dest="aHHInodes muHticast",cont=GM_ADV(("3ffe:100:3:401::1","3ffe:100:3:405::"))})++3`(RSOODING("3ffe:100:3:405::1"),{src="3ffe:100:3:405::1",dest="aHHInodes muHticast",cont=GM_ADV(("3ffe:100:3:401::1","3ffe:100:3:405::"))})

1

1`(ROUTING,{src="3ffe:100:3:401::2",dest="3ffe:100:3:401::1",cont=DNS_REQ("AHN(3)")})

Formal model

Validate

Modeling

FM expert

Page 29: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Model-based Prototyping

Figure 2 shows the approach taken to use CPN models to develop a prototype of the interoperability protocol. A CPN model (lower left of Fig. 2) has been developed by modelling the natural language protocol specification [22] (lower right) of the interoperability protocol. The modelling activity transforms the natural language specification into a formal executable specification represented by the CPN model. The CPN model captures the network architecture depicted in Fig. 1 and the protocol mechanisms of the interoperability protocol, e.g., the periodic transmission of advertisements, the dynamic updates of the DNS database, and traffic flows between hosts in the core network and nodes in the ad-hoc

Specification

AnimationDomain expert

Explore and interact

Gateway2

Gateway

Gateway1

Gateway

AdHocNetwork

AdHocNetwork

CoreNetwork

CoreNetwork

Confi52

Confi51

AdHocNetworkCore

Network

11`("3ffe:100:3:401::4","3ffe:100:3:406::1","3ffe:100:3:406::")

1

1`("3ffe:100:3:401::3","3ffe:100:3:405::1","3ffe:100:3:405::")

4

1`(RECEIVE("AHN(4)"),{src="3ffe:100:3:405::1",dest="aHHInodes muHticast",cont=GM_ADV(("3ffe:100:3:401::1","3ffe:100:3:405::"))})++3`(RSOODING("3ffe:100:3:405::1"),{src="3ffe:100:3:405::1",dest="aHHInodes muHticast",cont=GM_ADV(("3ffe:100:3:401::1","3ffe:100:3:405::"))})

1

1`(ROUTING,{src="3ffe:100:3:401::2",dest="3ffe:100:3:401::1",cont=DNS_REQ("AHN(3)")})

Formal model

Modeling

FM expert

Page 30: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Scenario

Page 31: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Router Advertisements

Page 32: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Sending Data

Page 33: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Mobility & DNS Update

Page 34: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Model

Gateway2

Gateway

Gateway1

Gateway

AdHocNetwork

AdHocNetwork

CoreNetwork

CoreNetwork

Confi52G6Confi5

Confi51G6Confi5

AdHocNetwork

CmdxPacket

CoreNetwork

CmdxPacketCoreNetwork AdHocNetwork

Gateway

Gateway

11`("3ffe:100:3:401::4","3ffe:100:3:406::1","3ffe:100:3:406::")

1

1`("3ffe:100:3:401::3","3ffe:100:3:405::1","3ffe:100:3:405::")

2

1`(RECEIVE("AHN(4)"),{src="3ffe:100:3:405::1",dest="aLLMnodes muLticast",cont=G6_ADV(("3ffe:100:3:401::1","3ffe:100:3:405::"))})++1`(TUOODING("3ffe:100:3:405::1"),{src="3ffe:100:3:405::1",dest="aLLMnodes muLticast",cont=G6_ADV(("3ffe:100:3:401::1","3ffe:100:3:405::"))})1

1`(ROUTING,{src="3ffe:100:3:401::2",dest="3ffe:100:3:401::1",cont=DNS_REQ("AHN(3)")})

Page 35: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Gateway

(i#adr1,i#adr,#refi+)

(i#adr1,i#adr,#refi+)

(RECEIVE i#adr1,#acket) (GWAHNROUTING i#adr,#acket)

(ROUTING,#acket) (RECEIVE i#adr,#acket)

CORE_AHNTransmit

AHN_CORETransmit

GatewayAdDertisementGWAdDertise

AdHocNetwork

IFO

Cmd+Gacket

CoreNetwork

IFO

ConfigIFOGWConfig

IFO

GWAdDertiseIFO

IFO

Cmd+Gacket

2

1`(RECEIVE("AHN(4)"),{src="3ffe:100:3:405::1",dest="all-nodes multicast",cont=GW_ADV(("3ffe:100:3:401::1","3ffe:100:3:405::"))})++1`(FLOODING("3ffe:100:3:405::1"),{src="3ffe:100:3:405::1",dest="all-nodes multicast",cont=GW_ADV(("3ffe:100:3:401::1","3ffe:100:3:405::"))})

11`(ROUTING,{src="3ffe:100:3:401::2",dest="3ffe:100:3:401::1",cont=DNS_REQ("AHN(3)")})

1

1`("3ffe:100:3:401::3","3ffe:100:3:405::1","3ffe:100:3:405::")

Page 36: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Ad-hoc Node

Ad#Recei#e

Ad#Recei#e

(acketRecei#e

(acketRecei#e

DeleteGW

DeleteGW

AdHocNetwork

I6O

Cmd:(acket

RoutingInformation

I6O

DistanceInformation

NodesI6O

AHNConfig

I6O

I6O

I6O

DeleteGW(acketRecei#e Ad#Recei#e

2

1`(RECEIVE("AHN(4)"),{src="3ffe:100:3:405::1",dest="all-nodes multicast",cont=GW_ADV(("3ffe:100:3:401::1","3ffe:100:3:405::"))})++1`(FLOODING("3ffe:100:3:405::1"),{src="3ffe:100:3:405::1",dest="all-nodes multicast",cont=GW_ADV(("3ffe:100:3:401::1","3ffe:100:3:405::"))})

1

3

1`(AHN(3),W("3ffe:100:3:405::3","3ffe:100:3:405::1","3ffe:100:3:405::")X)++1`(AHN(4),W("3ffe:100:3:405::4","3ffe:100:3:405::1","3ffe:100:3:405::")X)++1`(AHN(5),W("3ffe:100:3:406::5","3ffe:100:3:406::1","3ffe:100:3:406::"),("3ffe:100:3:405::5","3ffe:100:3:405::1","3ffe:100:3:405::")X)

Page 37: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Mobility

GWs

IPAdr

1`"3ffe:100:3:405::1" ++1`"3ffe:100:3:406::1"

RoutingInformation

I/OI/O

NodesI/O AHNConfigI/O

Increase Decreasedgwipadr dgwipadr

rdistinfo

rdistinfo

Decrease (AHN(i),ahnipconfigs,dgwipadr,rdistinfo)

Increase (AHN(i),ahnipconfigs,dgwipadr,rdistinfo)

DistanceInformation

(AHN(i),ahnipconfigs)

(AHN(i),ahnipconfigs)

2

1`"3ffe:100:3:405::1"++1`"3ffe:100:3:406::1"

1

1`[(AHN(3),"3ffe:100:3:405::3","3ffe:100:3:405::1",REACH(3)),(AHN(3),"","3ffe:100:3:406::1",REACH(5)),(AHN(4),"3ffe:100:3:405::4","3ffe:100:3:405::1",REACH(4)),(AHN(4),"","3ffe:100:3:406::1",REACH(4)),(AHN(5),"3ffe:100:3:405::5","3ffe:100:3:405::1",REACH(5)),(AHN(5),"3ffe:100:3:406::5","3ffe:100:3:406::1",REACH(3))]

3

1`(AHN(3),[("3ffe:100:3:405::3","3ffe:100:3:405::1","3ffe:100:3:405::")])++1`(AHN(4),[("3ffe:100:3:405::4","3ffe:100:3:405::1","3ffe:100:3:405::")])++1`(AHN(5),[("3ffe:100:3:406::5","3ffe:100:3:406::1","3ffe:100:3:406::"),("3ffe:100:3:405::5","3ffe:100:3:405::1","3ffe:100:3:405::")])

Page 38: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

DNS Server

ipadripadr

(symname,newipadr)

(symname,resipadr)

(symname,resipadr)DNSUpdateDNSRequest

DNSAdr

IPAdr

DNSDatabase

SymNamexIPAdr

CoreNetwork

I/O CmdxPacket(ROUTING, {src = ipadr, dest = srcipadr, cont = DNS_REP (symname,resipadr)})

(RECEIVE ipadr, {src = newipadr, dest = ipadr, cont = DNS_UPD (symname,newipadr)})

I/O

(RECEIVE ipadr, {src = srcipadr, dest = ipadr, cont = DNS_REQ symname})

1 1`"3ffe:100:3:401::1"

3

1`("AHN(3)","3ffe:100:3:405::3")++1`("AHN(4)","3ffe:100:3:405::4")++1`("AHN(5)","3ffe:100:3:406::5")

1

1`(ROUTING,{src="3ffe:100:3:401::2",dest="3ffe:100:3:401::1",cont=DNS_REQ("AHN(3)")})

Page 39: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Advantages ofModel-based Prototypes

n Easier to control and reproduce scenarios

n Implementation details can be abstracted away

n Setup of physical network equipment is not required

n Larger scenarios can be investigated

Page 40: Routing Protocols in Mobile Ad-hoc Networks...Using CP-nets was a success , as n The modelling language and the supporting tools were powerful enough to specify and validate a real-world

Advantages of Integration of CP-nets with Animation

n Behaviour is as defined by the formal model

n Knowledge of the formal modelling language is not required

n Presentation for military leaders is possible

n Validation that the implemented prototype corresponds to the specification