matlab 路由表,闭关修炼之zigbee路由
在求學的過程中,我想許多人都有這樣一個問題,有些東西說起來好像是懂了,但是如果繼續深入,比如給你一個路由算法,你怎么編程實現它。雖然網上許多人,寫了一些關于zigbee路由的文章,但基本上是差不多的,沒有切中要害,讓我這些入門不久的菜鳥看的云里霧里,似懂非懂。看完后仿真程序仍然不知從何下手。幸好,老天給了我們一個可以思考的腦子,自力更生最可靠。
在路由過程中設計到路由表,路由搜索表(中文翻譯過來不同版本有點差別),鄰居節點表,RREQ,RREP、RERR。首先必須將這些最基本的東西弄清楚。
路由表:包含此條路由下一跳節點地址,路由狀態,目的地址。
路由搜索表:在路由表建立過程中存在。
包含以下信息:Route request
ID:發起路由請求的節點產生的序列號,越大則表示分組越新:
Source address:發起路由發現的節點的地址:
Sender
address:將路由請求分組發送給此節點的節點的地址:
Forward
cost:發起路由發現的節點到此節點路徑的開銷,即路由請求分組中攜帶的開
銷;
Residual
cost:此節點到目的節點的開銷,即路由應答分組中攜帶的開銷;
Expiration time:路由建立過程的有效時間。
鄰居表:
ZigBee網絡中的每個節點都保存一張鄰居節點列表,用來存儲此節點傳輸范圍內其它節點的信息。
PANId:鄰節點PAN標識符;
Extended address:鄰節點的64-bit IEEE擴展地址,鄰節點與本節點存在父子關系時
記錄此條信息;
Network address:鄰節點16一bit網絡地址;
Device type:鄰節點類型(0x00=ZigBee協調點,0x01=ZigBee路由節點,0x02=
ZigBee終端節點);
Relationship:鄰節點與當前節點的關系(0x00=父節點,OxOI=子節點,0x02=其
它)。
節點交互的分組:
ZigBee網絡層的控制分組包括路由請求(RREQ,Route Request)分組,路由應答(RREP,
Route Reply)分組和路由出錯(RERR,Route Error)。
RREQ分組:
ZigBee網絡中具有路由功能的節點可以向周圍鄰節點廣播一個RREQ分組,目的是
為了找到一條通往它希望到達的目的節點的有效路徑。
具體內容如下:
Command frame
identifier:指出此控制分組的類型(0x01=RREQ,0x02=RREP,0x03
=RERR):
Command options:指出此路由請求分組是否是在路由修復過程中產生的;
Route request ID:發起路由請求的節點產生的序列號,越大則表示分組越新;
Destination address:發起路由請求的節點希望建立的路徑的目的地址;
Path cost:指從P.REQ的發起節點到當前接收RREQ的節點的路徑開銷。
RREP分組:
RREQ分組希望到達的目的節點收到RREQ后向RREQ分組的發起節點回復一個
RREP分組。
具體內容如下:
Command frame
identifier:指出此控制分組的類型(0x01=RREQ,0x02=I砒P,0x03
=RERR):
Command options:指出此路由應答分組是否是在路由修復過程中產生的:
Route request ID:此分組所應答的路由請求分組的路由請求標識符;
Originator address:發起路由請求的節點的網絡地址;
Responderaddress:該條路由的目的節點地址,即響應RREQ的節點的網絡地址:
Pathcost:從發起RREP的節點到當前接收RREP的節點的路徑開銷。
RERR分組:
當節點轉發數據分組失敗時將產生一個RERR分組,目的是為了通知此數據分組的
源節點分組轉發失敗。
Command frame
identifier:指出此控制分組的類型(Ox01=RREQ,0x02=RKEP,0x03
=RERR);
Error code:指出路由出錯的原因:
Destination address:指被轉發失敗的數據分組的目的地址。
下面是我根據以上基礎知識自己對路由建立過程的理解:首先源節點通過廣播發送RREQ分組,具有路由功能的節點收到此信息后,建立反響路由,并轉發RREQ分組,并將源節點到此節點的路由開銷添加到路由搜索表和RREQ中,知道目的節點收到此RREQ,實際中可能有多條路徑到達目的節點,目的節點根據路由開銷選擇路由開銷最少的反向路由,將RREP發送給源節點,中間幾點收到RREP也要添加此節點到目的節點的路由開銷到路由搜索表和RREP中,最終到達源節點。路由搜索表清楚,各個節點路由表建立。
以上只是個人一點理解。望各位多多交流,指點。
總結
以上是生活随笔為你收集整理的matlab 路由表,闭关修炼之zigbee路由的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 修改Chromium源码实现HEVC/H
- 下一篇: NginX and Riak