之前做傳感網(wǎng)一直在tinyOS系統(tǒng)下必逆,contiki只是稍微了解捷犹,近來實驗室突然接到contiki下的一個項目耐床,所以把之前了解的又稍微整理了下岭接。
1.contiki協(xié)議總體框架
各層作用如下:
- Radio:主要完成物理層無線數(shù)據(jù)的收發(fā)和控制
- Framer: 完成對數(shù)據(jù)幀的打包和解析
- RDC: radio duty cycling, 周期性訪問radio富拗,主要為了減少功
耗宴咧。 - MAC: 數(shù)據(jù)鏈路層
- Netstack: 網(wǎng)絡(luò)協(xié)議棧
2.各層包含的協(xié)議如下:
2.網(wǎng)絡(luò)協(xié)議棧
Contiki系統(tǒng)內(nèi)部集成了兩種類型的無線傳感器網(wǎng)絡(luò)協(xié)議棧:uIP和Rime示弓。uIP 是一個小型的符合RFC 規(guī)范的 TCP/IP 協(xié)議棧,使得 contiki 可以直接和Internet通信堪嫂。uIP包含了IPv4 和 IPv6 兩種協(xié)議棧版本窄锅,支持 TCP创千、UDP、ICMP等協(xié)議,但是編譯時只能二選一追驴,不可以同時使用械哟。Rime 是一個輕量級為低功耗無線傳感器網(wǎng)絡(luò)設(shè)計的協(xié)議棧,該協(xié)議棧提供了大量的通信原語殿雪,能夠?qū)崿F(xiàn)從簡單的一跳廣播通信暇咆,到復(fù)雜的可靠多跳數(shù)據(jù)傳輸?shù)韧ㄐ殴δ堋?/p>
2.1 rime協(xié)議棧
Rime是針對傳感器網(wǎng)絡(luò)輕量級、層次型協(xié)議棧丙曙,也是低功耗爸业、無線網(wǎng)絡(luò)協(xié)議棧,旨在簡化傳感器網(wǎng)絡(luò)協(xié)議及代碼重用亏镰,屬于Contiki的一部分(Contiki還支持uIPv4沃呢、uIPv6、lwIP)拆挥。Rime協(xié)議棧提供一種遞階型無線網(wǎng)絡(luò)協(xié)議,從簡單的匿名廣播到mesh網(wǎng)絡(luò)路由某抓。一個復(fù)雜的協(xié)議(比如multihop mesh routing)實現(xiàn)會被分解成若干部分纸兔,復(fù)雜的模塊利用相對簡單的模塊來組成。
- abc:匿名廣播,它僅通過射頻驅(qū)動發(fā)送數(shù)據(jù)包和接收所有的數(shù)據(jù)包否副,并將他們送至上層汉矿;
- broadcast:標(biāo)識廣播,它為發(fā)出的數(shù)據(jù)包添加了發(fā)送者地址备禀,然后傳遞給abc模塊洲拇;
- unicast:這個模塊添加給數(shù)據(jù)包添加一個目標(biāo)地址,再傳遞給broadcast模塊曲尸。在接收端赋续,如果數(shù)據(jù)包的目標(biāo)地址和當(dāng)前節(jié)點地址不符,該數(shù)據(jù)包將為丟棄另患。
- stunicast:當(dāng)要求發(fā)送數(shù)據(jù)包至某個節(jié)點纽乱,它將在給定的時間周期內(nèi)反復(fù)發(fā)送,直到要求停止昆箕。
- runicast:可信單播鸦列,它使用stunicast模塊發(fā)送數(shù)據(jù)包,并等待確認(rèn)報文鹏倘,收到后停止持續(xù)重發(fā)數(shù)據(jù)包薯嗤。為了防止無限次發(fā)送,必須指定一個最大重發(fā)次數(shù)纤泵。
- polite和ipolite:這兩個模塊幾乎相同骆姐,當(dāng)一個數(shù)據(jù)包必須在給定的時間幀內(nèi)被發(fā)送,模塊在到達(dá)時間的一半時,檢查是否收到的數(shù)據(jù)包與它準(zhǔn)備發(fā)送的相同诲锹。如果收到了繁仁,這個數(shù)據(jù)包將不被發(fā)送,否則發(fā)送归园。這是一個有效的泛洪技術(shù)黄虱,可以避免沒必要的重發(fā)。
- multihop:這個模塊要求一個路由表功能庸诱,當(dāng)將要發(fā)送數(shù)據(jù)時它會請求路由表提供下一跳捻浦,并且使用unicast發(fā)送。當(dāng)它收到一個數(shù)據(jù)包桥爽,如果本身即為目標(biāo)節(jié)點就將數(shù)據(jù)包傳至上層朱灿,否則再次請求路由表提供下一跳并轉(zhuǎn)發(fā)。
- 分發(fā)協(xié)議:rudolph0钠四,rudolph1盗扒,rudolph2,netflood缀去,trickle侣灶。此外,contiki還實現(xiàn)了tinyOS系統(tǒng)的標(biāo)準(zhǔn)分發(fā)協(xié)議Deluge缕碎。
- 匯聚協(xié)議:collect褥影,包括collect-link-estimate、collect-neighbor咏雌、neighbour-discovery凡怎。
- 轉(zhuǎn)發(fā)協(xié)議:rmh,rucb赊抖。