You are on page 1of 42

BO CO TUN

Ch :
Tm hiu v giao thc nh tuyn RPL
GVHD: th.s V Chin Thng

Nhm SV:
1.
2.
3.

Lng Vn Sng
Ng Th Chiu M
V Th Hu

Tng quan v RPL


M hnh RPL DAG
Cc bn tin iu khin
Qu trnh khi to mng
Cc quy tc la chn DAG
Tnh ton Rank v s di chuyn ca cc node
trong DAG
7. Truyn gi
8. Contiki RPL
1.
2.
3.
4.
5.
6.

Tng quan v RPL


Khi nim: RPL Routing Protocol for Low Power and Lossy
Network l giao thc nh tuyn cho mng tn hao nng lng
thp ni chung v mng cm bin khng dy ni ring.
D tho u tin v RPL c IETF a ra vo thng 8/2009.
Hin nay, giao thc RPL vn ang trong qu trnh nghin cu
v hon thin, vi mc tiu pht trin thnh mt chun nh
tuyn trong tng lai.
RPL s dng cc DAG trong mng nh tuyn.

M hnh RPL DAG


DAG l mt
topo mng m
mi lin kt
gia cc node
trong DAG
u c hng
nht nh,
hng v mt
DAG ROOT
v m bo
khng to ra
cc vng lp
trong DAG.

Cc thnh phn trong m hnh RPL DAG


DAG Rank: l thng s cho bit v tr tng i ca node so vi DAG
ROOT. Nhng node cng xa DAG ROOT th c rank cng cao. Trong
RPL, DAG ROOT lun c rank bng 1.
DAG ROOT l mt node trong DAG, c chc nng tp trung v x l d
liu t cc node khc trong mng gi n. Mi tuyn lin kt trong DAG
u hng v v kt thc ti DAG ROOT.
DAG parent: trong cng mt DAG, node A c gi l parent ca node B
khi A c kh nng kt ni trc tip n B v A c rank thp hn B. Khi ,
nt B c gi l childrent ca nt A.
DAG sibling: node A l mt sibling ca node B trong mt DAG nu chng
c cng rank trong DAG .

DAG

* node A c gi l parent ca node B


*node B l mt sibling ca node C
*nt B, nt C l childrent ca nt A

Trong RPL cp n 2 hng nh tuyn:


upward : chiu i t cc node xa DAG ROOT hng v
DAG ROOT
Downward: chiu hng t DAG ROOT n cc node xa
hn
Trong RPL, qu trnh nh tuyn upward c vai tr then cht,
quyt nh tnh cht, hiu nng hot ng ca mng. Qu
trnh ny da trn vic x l cc bn tin DIO, xy dng, xc
nh v duy tr cc DAG, t mi node trong DAG c th
xc nh tuyn ng ti u gi d liu v DAG ROOT
mt cch nhanh chng v hiu qu.

Cc loi bn tin iu khin trong DAG


RPL s dng ba loi bn tin iu khin qung b cc thng
tin nh tuyn trong mng gm :
DAG Information Solicitation (DIS)
DAG Information Object (DIO),
Destination Advertisement Object (DAO)

DAG Information Solicitation (DIS)


Bn tin DIS (DAG Information Solicitation) c gi t nhng node t do
trong mng (cc node cha tham gia DAG) nhm qung b s xut hin
ca node, thm d s xut hin ca cc neighbor v yu cu nhng node
khc phn hi bng cc bn tin DIO.
Bn tin DIS c gi multicast khi node trng thi t do v c gi
unicast n mt parent trong DAG khi mun nhn li mt bn tin unicast
DIO nhm cp nht cc thng tin DAG ca parent .

Bn tin DIO

DIO (DAG Information Object) l bn tin c to ra ti


cc DAG ROOT, mang nhng thng tin nh tuyn ca
DAG, c s dng qung b cc thng tin nh tuyn
ca mt DAG xc nh trong mng, phc v qu trnh xy
dng DAG v nh tuyn upward. Qu trnh nhn v x l
bn tin DIO cho php mt node nhn din v tham gia vo
DAG ph hp. T la chn cc parent, xc nh cc
thng s cu hnh v tip tc qung b thng tin DAG n
cc node khc trong mng.

Cu trc bn tin DIO

Cu trc bn tin DIO

Cu trc 1 bn tin DIO:

Cu trc ca mt bn tin DIO gm hai phn chnh:


o cc trng iu khin : gm cc c trng thi, trng Prf, sequence
number, RPL instance, DTSN, DAGID
o cc sub option.

Cc c trng thi DAG:


C G: cho php xc nh kh nng kt ni n mt grounded DAG
ca node gi DIO. Nu c G bng khng, node gi DIO l thnh
vin ca mt floating DAG. Ngc li, nu c ny khc khng cho
bit node gi DIO l thnh vin ca mt grounded DAG.
C A : cho bit kh nng h tr c ch qung b ch trong qu trnh
nh tuyn downward ca DAG. Nu A khc khng, DAG ROOT c
kh nng h tr c ch qung b ch v cc node trong DAG c th
tham gia qu trnh nh tuyn downward. Nu A bng khng, cc
node trong DAG ch c th tham gia nh tuyn upward.
C T: c s dng lm mi qu trnh nh tuyn downward.
Nu T bng khng, qu trnh nh tuyn downward hot ng bnh
thng. Khi T khc khng, cc node trong DAG s thc hin qu
trnh lm mi cc tuyn downward.
C S: nu c S bng khng, ch DAG ROOT c php lu cc
thng tin nh tuyn downward t cc bn tin DAO. Nu S khc
khng, node gi DIO c th lu cc thng tin nh tuyn t DAO.

Trng prf (DAG preference): s dng 3 bit kiu s nguyn dng cho bit
u tin gia cc DAG trong cng mt Instance. Min gi tr ca prf t 0 n 7.
Nu prf bng 7, DAG s c u tin cao nht, gi tr mc nh ca prf l 0.
Sequence number: l gi tr sequence number c thit lp ti DAG ROOT,
c s dng trong qu trnh ti xy dng DAG; l mt b m tun t c
s dng trong qu trnh sa cha v lm mi DAG. Khi mt DAG ROOT
mun xy dng li mt DAG mi, sequence number c tng ln mt n v
v qung b ti cc node khc trong mng.
Rank: rank ca node gi DIO.
RPLInstanceID: cho bit RPLInstance m DAG tham gia nh tuyn.
DTSN: c thit lp ti node pht ra bn tin DIO, s dng trong qu trnh duy
tr cc thng s nh tuyn theo hng downward.
DAGID: l mt a ch Ipv6 c di 128 bit v c thit lp ti DAG
ROOT.

Cc sub-option
Cc sub-option c s dng chn cc byte trng vo cc bn tin DIO.
Cc sub option trong DIO bao gm 5 loi:
Pad 1
Pad N
DAG Metric Container
DAG destination prefix
DAG Configuration.
Ty theo mc ch s dng, cc sub option c chn vo cu trc DIO mt cch hp l.

Cu trc 1 sub-option

Type: 1 byte, dng phn bit cc sub option.


Length: 2 byte, cho bit chiu di sub option.
DATA: chiu di thay i, lu cc thng tin ca Sub
option.

nh thi cho DIO


Vn qung b cc bn tin DIO l vn quan
trng nht trong qu trnh trin khai v xy dng
DAG. Do , mi node trong mng lun duy tr
mt b nh thi qun l tc qung b cc bn
tin DIO n cc node khc trong mng. Khong
thi gian nh thi c gi tr nm trong khong
xc nh. Sau mi ln node gi bn tin DIO, thi
gian nh thi s c tng ln. Khi b nh thi
c khi ng li, thi gian nh thi c a
v gi tr khi to mc nh trong DAG.

DIO u tin c to ra ti DAG ROOT, sau c


qung b n cc node khc trong mng. Cc node thnh
vin trong DAG s dng cc bn tin DIO nhn c cp
nht thng tin DAG, la chn parent v qung b v tr ca
n trong DAG.
Cc phng thc x l DIO phi tun theo nhng nguyn
tc sau:
Mt node ch to v gi bn tin DIO sau khi tham gia mt DAG
xc nh.
Nhng node khng phi DAG ROOT, ch c php thay i gi
tr cc c iu khin Destination Advertisements Stored (S),
DTSN v Dag rank trong bn tin DIO nhn c t DAG
ROOT.
DIO l hp l nu c Instance ID c p ng. Khi mt node
nhn c mt bn tin DIO t trong mng, node phi thc hin
kim tra tnh hp l ca DIO . Nu bn tin DIO c p ng,
node mi tip tc thc hin nhng hnh ng tip theo.

DAO (Destination Advertisment Object) l bn tin c s dng


qung b thng tin ca cc ch, c gi t nhng node c rank
cao hn n nhng node c rank thp hn dc theo DAG.
DAO c s dng nhm phc v cho nhng ng dng i hi
lung lu lng kiu P2MP v P2P. Thng qua vic x l thng tin
ca nhng bn tin DIO nhn c, DAG ROOT v nhng node
gn root c th qun l, cp nht thng tin ca nhng node nm
nhng rank cao hn trong DAG. T , c th a ra nhng gii
php nh tuyn theo hng downward.

Cu trc DAO gm cc trng sau:

DAO sequence: s bn tin DAO c mt node gi vo mng.


DAO rank: rank ca node to bn tin DAO.
RPL Instance ID: Instance ca node tham gia nh tuyn.
Route Tag: c s dng cung cp th t u tin khi lu thng tin cc
prefix.
Prefix length: chiu di prefix.
RRcount: cho bit s mc trong Reverse Route Stack ngn xp lu cc
mc nh tuyn theo hng downward.
DAO life time: thi gian sng hiu lc ca prefix, phc v cho vic xc
nh kh nng kt ni n prefix.
Destination Prefix: l mt trng c chiu di thay i, c s dng
nhn dng mt a ch ch, mt prefix, hoc mt nhm a ch multicast
trong mng.
Reverse Route Stack: l trng c chiu di c th thay i, c s dng
lu thng tin ca nhng a ch prefix tham gia nh tuyn. Khi mt
node thm vo Reverse Route Stack, prefix ca node c thm vo danh
sch, ng thi tng gi tr RRcount.
Cc sub option c s dng nhm m rng cc thnh phn ca bn tin
DAO, ty theo mc ch nghin cu v trin khai.

Truyn bn tin DAO


Cc bn tin DAO c truyn t cc node rank cao n
cc node rank thp theo chiu upward, nhm qung b cc
trng thi nh tuyn downward cho nhng prefix ca
nhng nhm hoc nhng Sub - DAG bn trong DAG. C
ch nh tuyn vi DAO ch c th hot ng khi node
tham gia t nht 1 DAG trong mng.
C ch nh tuyn v s dng DAO c th ch c s dng
trong tng DAG, c quyt nh bi DAG ROOT. Vic
nhn dng c ch ny c xc nh thng qua mt s tham
s cu hnh c to trong bn tin DIO truyn i t DAG
ROOT.
Khi c ch ny c s dng, trong DAG phi c t nht
mt s cc node c kh nng lu nhng thng tin t DAO,
bao gm DAG ROOT. Khi c ch ny khng c s dng,
cc node trong DAG khng c php to v x l cc bn
tin DAO.

Bn tin DAO c gi t node n mt hoc mt nhm cc


DAG parent ca node trong DAG. Nhng node c kh nng
tham gia nh tuyn, thc hin lu cc thng tin trng thi ly
c t Reverse Route Stack vo bng nh tuyn. Mi mc
trong bng nh tuyn cho bit nhng thng tin trng thi ca
cc prefix nh: a ch Ipv6, a ch Interface, DAO sequence,
DAO rank, DAO lifetime,. Nh , mt node c th xc nh
trng thi ca nhng prefix.
Thng qua vic qun l trng thi kt ni ca cc prefix c
cp nht bi c ch qung b ch, cc node c rank thp c th
xc nh tuyn ng kiu downward nhm phc v cho nhng
ng dng i hi giao tip kiu Point to multi point hoc point
to point.

Khi trin khai mt mng RPL, mi RPL Instance c thit lp vi


mt hoc mt s DAG ROOT. Cc thng s nh tuyn c thit
lp ph hp vi mc ch trin khai. Nhng DAG ROOT t ng
thit lp rank bng 1 (ROOT RANK), sau chng nh thi qung
b cc bn tin DIO n nhng node xung quanh xy dng DAG
ca bn thn.
Trong pha khi to, nhng node khc trong mng c th la chn
mt trong hai ch : hoc chng gi trng thi silent v khng gi
bt k bn tin DIO no cho n khi chng tham gia vo mt DAG
xc nh; hoc ngay lp tc t thit lp l DAG ROOT ca mt
floating DAG, sau gi multicast cc bn tin DIO n cc node
khc trong mng.
Trong qu trnh ny, mi node cng c th gi multicast DIS n
cc node xung quanh hoc ch nhn nhng bn tin DIO c gi
n. Khi trin khai mng, cn thit k cc node trong mng c
kh nng p ng c nhng c ch trn.

Nhng node gn root nht khi nhn c DIO t DAG ROOT s


tham gia vo DAG, cp nht thng tin trong DIO v xc nh rank
ca bn thn trong DAG. Node nh thi chuyn tip cc bn tin
DIO n nhng node xung quanh, qung b v tr v DAG m n
tham gia.
Qu trnh trn c cc thnh vin trong DAG lp li lin tc ti
nhng thi im nh thi. Do , quy m DAG c xy dng m
rng ti nhng node xa DAG ROOT v nhng node trong DAG
cp nht c thng tin ca cc thnh vin xung quanh trong DAG.
Mt node trng thi t do (cha tham gia DAG) s nh thi gi
cc bn tin DIS ti cc neighbor qung b Instance m n c kh
nng tham gia, ng thi yu cu nhng node p ng c phn
hi li nhng thng tin v DAG m chng tham gia.

Khi mt neighbor nhn c bn tin DIS, nu tham gia mt


DAG ph hp vi Instance trong DIS, n s phn hi bng
mt bn tin DIO ti node gi DIS. S phn hi ny s din ra
ngay sau thi im x l bn tin DIS m khng i ti thi
im nh thi DIO tip theo. Bn cnh , nu DIS cha a
ch multicast, node s khi ng li b nh thi DIO gim
thi gian gi DIO tip theo. C ch ny gip s qung b
DAG linh ng v hiu qu hn.
C ch la chn DAG l s kt hp gia c ch so snh u tin
ca cc DAG v cc quy lut c quy nh trong Object function.
u tin ca cc DAG c th hin thng qua trng DAG
preferred trong bn tin DIO c gi bi cc DAG ROOT. Nh ,
mi node trong mng u c th la chn nhng DAG c u tin
nht v tha mn tt nht nhng yu cu nh tuyn c t ra.

DAG tham gia phi p ng Instance ca node.


DAG tham gia phi c u tin cao nht v node c rank thp
nht.
DAG tham gia phi tha mn cc object function ca node.
Sau qu trnh khm ph v tham gia vo DAG trong mng, mi
node x l nhng thng tin trong DIO m chng nhn c, cp
nht rank v chn nhng parent t nhng node thnh vin xung
quanh ca DAG.

La chn rank l qu trnh xc nh v tr ca node so vi DAG


ROOT trong DAG, ng thi c nh hng n mi quan h ca
node vi cc node khc trong mng. Quy tc tnh ton rank c
quy nh trong cc hm Object function tng ng vi mi Instance
c th.

Rank ca node phi tha mn nhng quy tc sau:


Rank ca node trong mng lun ln hn 1 v nh hn gii hn ln
nht (RANK MAX) c quy nh ty theo quy m v mc ch
trin khai.
Rank ca node phi lun ln hn rank ca tt c cc parent ca
node.
Node c th qung b rank thp hn hoc cao hn rank m n qung
b trong cc bn tin trc . S thay i ph thuc s thay i
rank ca cc parent trong DAG.
Node c th qung b rank bng RANK MAX ti mi thi im.
Khi mt node qung b rank bng RANK MAX, tng ng vi
s kin node khng l thnh vin ca bt k DAG no trong mng.
Ti mi thi im, node c th tham gia vo mt DAG mi trong
cng RPL Instance v thay i rank ph hp. Trong thi gian trc
khi node qung b cc bn tin DIO cho DAG mi, node vn tip tc
gi cc gi n cc parent trong DAG c.

Truyn gi
Sau qu trnh tham gia v xy dng DAG, cc node trong DAG to
cc gi d liu v bt u gi gi n DAG ROOT. gi gi n
DAG ROOT, node phi la chn mt node trong route table lm
next - hop v gi gi n next - hop c chn. Vic la chn next hop phi tun theo nhng quy lut c th, nhm mc ch truyn gi
hiu qu, gim kh nng mt gi, trnh cc vng lp v cc xung t
trong mng.

Cc quy tc la chn next-hop:


Next - hop l mt node tham gia mt DAG p ng c RPL
Instance ID trong header ca gi tin c forward.
Nu mt node hot ng vi giao thc nh tuyn c u tin hn
RPL th chn node lm next - hop.
Nu node l thnh vin ca mt DAG v c mt parent l default
route th chn parent l next - hop.
Nu node l thnh vin ca mt DAG v tt c cc parent tm thi
khng th kt ni c, node chn mt trong s cc sibling lm next
- hop. Nu khng c sibling, gi s b hy.
Node khng c chn cc node c rank cao hn lm next - hop.
Khi truyn gi, tham s Time to live (TTL) c s dng theo
di v loi b nhng gi khng truyn c ti ch, ng thi hn
ch cc vng lp c th xy ra. Ti mi node gi tin c forward,
TTL c gim 1 n v. Khi TTL bng 0, gi s b hy m khng
c truyn n DAG ROOT.

Contiki RPL
Contiki RPL l mt b phn trong stack uIP, hot ng trn IPv6 v
s dng giao thc truyn tin khng tin cy UDP/IP trn nn
6LoWPAN.
Kin trc giao thc mng ca Contiki RPL nh trong hnh sau:

Thut toan inh tuyn vi Contiki RPL


Trong pha u tin khi khi to mng, nhng node c la
chn lm DAG ROOT thc hin qu trnh thit lp a ch
IPv6, cng kt ni v nhng thng s nh tuyn ca DAG
nh DAGID, RPLInstanceID, Object function, . Nhng
thng tin ca DAG c DAG ROOT a vo bn tin DIO
v qung b ti nhng node khc trong mng. Sau khi xy
dng DAG, DAG ROOT nhn cc gi tin c gi v t
nhng node khc trong DAG

Qu trnh hot ng ca DAG ROOT

C ch iu khin s kin ca DAG ROOT


DAG ROOT hot ng theo c ch Event - driven, ty theo nhng
s kin n c th, DAG ROOT a ra nhng hot ng tng ng.

Hot ng ca cc node thnh vin trong


DAG
Trong pha khi to, nhng udp - client thc hin qu trnh thit lp
a ch IPv6 v khi ng b nh thi handle periodic - timer c
chc nng nh thi gi cc bn tin DIS ti cc node khc trong
mng khi node cha tham gia vo bt k DAG no.

Pha khi to ca nhng node udp client - client

C ch x l bn tin DIO v xy dng DAG

Mt s nguyn tc khi x l bn tin DIO:

Bn tin DIO phi c Instance ID c node h tr th mi c tip tc x l.


Khi node cha tham gia bt k DAG no th tham gia vo DAG ca node gi
DIO.
Nu bn tin DIO ca mt DAG m node khng phi thnh vin v nu vic
tham gia vo DAG mi khin node c rank thp hn th node s gia nhp DAG
mi.
Nu DIO n t mt node trong cng mt DAG v sequence number c
tng ln th node tham gia qu trnh sa cha DAG.
Nu DIO trong cng DAG, qung b rank thp hn rank ca node nhng cha
c trong danh sch parent th thm node gi DIO lm parent, sau cp nht v
tr ca node trong DAG.
Nu DIO t mt parent trong DAG, trc ht cn cp nht thng tin ca parent,
sau ty thuc vo s thay i ca cc parent a ra hnh ng ph hp.
Khi rank thay i, phi reset b nh thi DIO.
Ch chuyn ln rank cao hn theo mt parent khi khng cn parent thay th.
Best parent l node thuc DAG c th t u tin cao nht v c rank thp nht.

Sau pha khi to, mi node thit lp


c nhng thng tin ban u v bt u
nhn v x l nhng bn tin ICMP trong
mng. Khi node tham gia nhng DAG
h tr v hot ng theo c ch iu khin
s kin. Cc hot ng ca node theo nhng
s kin n nh: nhn cc bn tin ICMP,
nhn gi t node khc trong mng, cc s
kin nh thi.

C ch iu khin s kin ca udp - client

You might also like