摘要:隨著時代的演進,網(wǎng)絡通訊科技的發(fā)展也從有線網(wǎng)絡演進到無線網(wǎng)絡。其中移動Ad Hoc網(wǎng)絡,更是備受矚目。它是由許多具有無線裝置的移動節(jié)點所動態(tài)構成的網(wǎng)絡,節(jié)點與節(jié)點之間的通訊是經(jīng)由其鄰近的節(jié)點所傳送,其特色是不需預先建構相關網(wǎng)絡基礎設施。該論文是建立在集群路由方式的移動Ad Hoc網(wǎng)絡平臺上,整合IPv6自動組態(tài)設定和SIP協(xié)定,以提供移動節(jié)點所需的IP地址,與相關位置指信息。并提出一個分散式路由機制,使網(wǎng)絡內的終端機可與移動網(wǎng)絡節(jié)點互相通訊。
關鍵詞: Ad Hoc;網(wǎng)絡;集群路由;SIP;集群
中圖分類號: TP393.02 文獻標識碼:A 文章編號:1009-3044(2009)27-7603-04
SIP Negotiated Integrated Mobile Ad-Hoc Networks
CHEN Ye
(Changzhou Textile Garment Institute,Changzhou 213164,China)
Abstract: Mobile Ad-Hoc networks are dynamically organized by a collection of wireless mobile nodes. The communication between mobile nodes can be accomplished by relying on the nearby mobile nodes. The communication between mobile nodes can be accomplished by relying on the nearby mobile nodes .In ad hoc networks, any pre-established wired or wireless infrastructures and the centralized administration.This paper proposes a mechanism to integrate Mobile Ad-Hoc networks and Internet. Based on cluster-based routing architecture the mechanism integrates both techniques of IPv6 auto-configuration and SIP protocol to allow mobile nodes in mobile network can be very conveniently used Mobile AD HOC networks and the Internet resources.
Key words: Mobile Ad-Hoc networks; Internet; cluster routing protocol;SIP; cluster
要使得移動Ad Hoc網(wǎng)絡成為以互聯(lián)網(wǎng)協(xié)議為基礎之移動Ad Hoc網(wǎng)絡,必須考量互聯(lián)網(wǎng)協(xié)議地址的配置方法是否適用于移動Ad Hoc網(wǎng)絡。本篇論文的研究重點在于如何使得移動Ad Hoc網(wǎng)絡以互聯(lián)網(wǎng)協(xié)議為基礎之前提下利用SIP服務器與網(wǎng)絡互相通訊,借此提高移動Ad Hoc網(wǎng)絡的應用范圍與價值。
1 整合式網(wǎng)絡系統(tǒng)
1.1 擬設計框架式網(wǎng)絡結構
擬將移動AD HOC網(wǎng)絡劃分成許多集群群組(Cluster)。其中CN為通訊節(jié)點(Correspondent Node)、AR為接入路由器(Access Router)同時也是集群領袖、MN為移動節(jié)點(Mobile Node)、CL為集群領袖(Cluster Leader)、SIP服務器(SIP Server)。
1.2 集群規(guī)劃與定義
整個移動隨意網(wǎng)絡中分為兩個群組,其中領袖節(jié)點在各個集群群組中是唯一且固定不變。它負責所屬之集群組員的管理與發(fā)布前置地址,同時也提供路由選擇的查詢服務,它是所預先設置的節(jié)點,設置完成后并不會移動位置或是移動到其他的網(wǎng)域。
多主節(jié)點是同時存在于兩個集群群組中,也是兩個集群群組的共同集群組員,由于它擁有一個以上的網(wǎng)絡介面對外連線,所以也因此稱之為多宿主。
1.2.1 集群領袖
對于集群成員而言,集群領袖提供更多功能主要有下列三項:
1) 發(fā)布Site-local prefix。
2) 發(fā)布Global prefix。
3) 提供路由選擇。
1.2.2 集群組員
當移動節(jié)點開機(Power ON)時會經(jīng)由SAA與NDP透過DAD取得一個唯一的連結地址,若是經(jīng)過一段時間后并沒有收到集群領袖發(fā)出的路由公告封包(RA message)則廣播一個RS message給集群領袖借以加入該集群群組。
1.3移動節(jié)點路由實例
在這一個章節(jié)將分別以三個實例(MN->CN,CN->MN,MN->MN)來說明本篇論文所提出的架構中移動節(jié)點間如何通訊。三個實例分別如下:
1.3.1 MN->CN
如圖1 當移動AD HOC網(wǎng)絡中的移動節(jié)點(MN6)要透過網(wǎng)絡將封包傳送到目的節(jié)點(CN)時,將會有以下步驟:
Step1:檢查自己的路由表中是否有目的節(jié)點的資料
Step2:當集群領袖(CL3)收到集群組員(MN6)所傳送過來的查詢路由信息封包后,根據(jù)三個路由選擇表來判斷要經(jīng)由哪一個多宿主節(jié)點來將封包轉送到下一個集群群組。
Step3:由于不知道CN目前的IPv6地址,所以必須先向SIP Server發(fā)出一個邀請(Invite)的訊息再讓SIP Server代為發(fā)出邀請訊息給CN。如表1所示,將原本欲傳送的IPv6封包加上新報頭(IPv6 Header)后再傳送。
表1IP in IP
Step4:多宿主節(jié)點(MN5)收到封包解開后,會發(fā)現(xiàn)目的地址是SIP Server,此時會先查詢自己的路由表中有沒有到SIP Server的信息。
Step5:當集群領袖(CL2)收到多宿主節(jié)點(MN5)所傳送過來的查詢路由信息封包后,同樣根據(jù)本身的三個路由選擇表來判斷要經(jīng)由哪一個多宿主節(jié)點來將封包轉送到下一個集群群組。
Step6:在得知由多宿主節(jié)點(MN2)轉送后,多宿主節(jié)點(MN5)的路由表此時會記錄要到CN的連線將會經(jīng)由MN2轉送到下一個集群群組。
Step7:多宿主節(jié)點(MN2)收到的封包后,同樣會先查詢自己的路由表中有沒有到SIP Server的信息,若有則直接按照路由表中的信息轉送封包,反之則送出查詢路由信息封包給自己(MN2)的集群領袖,也就是接入路由器(Access Router,AR)。
Step8:當接入路由器(AR)收到多宿主節(jié)點(MN2)所傳送過來的查詢路由信息封包后,同樣根據(jù)本身的三個路由選擇表來判斷要經(jīng)由哪一個多宿主節(jié)點來將封包轉送到下一個集群群組。
Step9:在得知由接入路由器(AR)轉送后,多宿主節(jié)點(MN2)的路由表此時會記錄要到SIP Server的連線將會經(jīng)由AR轉送。
Step10:接入路由器(AR)收到封包后得知目的地址并不在移動AD HOC網(wǎng)絡內,所以直接透過本身與網(wǎng)絡相連的網(wǎng)絡介面將封包送出。
Step11:SIP Server傳送邀請(Invite)訊息至目的節(jié)點(CN)。
以上為MN6要傳送封包至目的節(jié)點時所需經(jīng)過的步驟,至此移動節(jié)點(MN6)只傳送了SIP協(xié)定的邀請(Invite)訊息至SIP Server,并且經(jīng)由SIP Server代為邀請目的節(jié)點(CN)。
接下來將以圖2說明節(jié)點(CN)收到移動節(jié)點(MN6)所發(fā)出的邀請訊息后的整個通訊流程:
Step1:目前節(jié)點(CN)收到邀請訊息后回復一個SIP協(xié)定封包(200 OK)給SIP Server。
Step2:SIP Server回復一個SIP協(xié)定封包(200 OK)給來源移動節(jié)點(MN6)。
Step3:經(jīng)由AR的三個路由選擇表得知要將封包送至MN6必須經(jīng)由多宿主節(jié)點(MN2)送至集群(CL2)因此將封包送給MN2。
Step4:MN2收到目的地址為MN6的封包后,發(fā)出詢問集群領袖的封包詢問要將封包經(jīng)由哪一個多宿主節(jié)點繞送至下一個集群。
Step5:集群領袖經(jīng)由三個路由選擇表得知應繞送的多宿主節(jié)點(MN5)后,回應此多宿主節(jié)點(MN5)的IPv6地址給MN2。
Step6:MN2得知MN5的IPv6地址后將封包繞送給MN5。
Step7:MN5收到目的地址為MN6的封包后,發(fā)出詢問集群領袖的封包詢問要將封包經(jīng)由哪一個多宿主節(jié)點繞送至下一個集群。
Step8:集群領袖經(jīng)由三個路由選擇表得知目的節(jié)點(MN6)就再本身的集群群組后,回應目的移動節(jié)點(MN6)的IPv6地址給MN5。
Step9:MN5將SIP Server所回復的SIP協(xié)定封包(200 OK)傳送給MN6。
Step10:收到CN的IPv6地址后會再經(jīng)由發(fā)生SIP協(xié)定邀請(Invite)封包的路徑發(fā)送SIP確認(ACK)封包后才開始正式傳送資料。
1.3.2 CN->MN
如圖3 當目的節(jié)點(CN)要透過網(wǎng)絡將封包傳送到移動AD HOC網(wǎng)絡中的移動節(jié)點(MN6)時,將會有以下步驟:
Step 1:當CN要與MN6通訊時,由于CN并不知道MN6目前的IPv6地址。所以以CN必須先傳送一個SIP協(xié)定的邀請(Invite)訊息給SIP Server查詢MN6目前的IPv6地址。
Step2: SIP Server代替CN發(fā)送SIP協(xié)定的邀請訊息至AR。
Step 3:經(jīng)由AR的三個路由選擇表得知要將封包送至MN6必須經(jīng)由多宿主節(jié)點(MN2)送至集群(CL2)因些將封包送給MN2。
Step 4:MN2收到目的地址為MN6的封包后,發(fā)出詢問集群領袖的封包詢問要將封包經(jīng)由哪一個多宿主節(jié)點繞送至下一個集群。
Step 5:集群領袖經(jīng)由三個路由選擇表得知應繞送的多宿主節(jié)點(MN5)后,回應此多宿主節(jié)點(MN5)的IPv6地址給MN2。
Step 6: MN2得知MN5的IPv6地址將封包繞送給MN5。
Step7: MN5收到目的地址為MN6的封包后,發(fā)出詢問集群領袖的封包詢問要將封包經(jīng)由哪一個多宿主節(jié)點繞送至下一個集群。
Step 8:集群領袖經(jīng)由三個路由選擇表得知目的節(jié)點(MN6)就在本身的集群群組后,回應目的移動節(jié)點(MN6)的IPv6地址給MN5。
Step9: MN5將SIP Servr所代為邀請的SIP協(xié)定封包(Invite)傳送給MN6。
以上9個步驟是CN發(fā)出SIP協(xié)定的邀請(Invite)訊息給MN6的流程。接著本文將以圖4逐步解說后續(xù)流程。
Step 1: 檢查自己的路由表(Routing table)中是否有目的節(jié)點的資料,若有則按照由表內的資料傳送封包。
Step 2: 當集群領袖(CL3)收到集群組員(MN6)所傳送過來的查詢路由信息封包后,根據(jù)三個路由選擇表來判斷要經(jīng)由哪一個多宿主節(jié)點來將封包轉送下一個集群群組。
Step 3: 經(jīng)由上個步驟得知封包要送達SIP Server必須由多宿主節(jié)點(MN5)轉送后,集群組員(MN6)的確路由表此時會記錄經(jīng)由MN6到SIP Server的連線將會經(jīng)由MN5轉送到下一個集群群組。接著原本欲傳送的IPv6封包加上新報頭(IPv6 Header)后再傳送。
Step 4:多宿主節(jié)點(MN5)收到封包解開后,會發(fā)現(xiàn)IPv6封包內的目的地址的SIP Server,
Step 5:當集群領袖(CL2)收到多宿主節(jié)點(MN5)所傳送過來的查詢路由信息封包后,同樣根據(jù)本身的三個路由選擇來判斷要經(jīng)由哪一個多宿主節(jié)點來將封包轉送到下一個集群群組。
Step6: 在得知由多宿主節(jié)點(MN2)轉送后,多宿主節(jié)點(MN5)的路由表此時會記錄要到SIP Server的連線將會經(jīng)由MN2轉送到下一個集群群組。
Step 7:多宿主節(jié)點(MN2)收到封包后,同樣會先查詢自己的路由表中有沒有到SIP Server的信息。
Step8: 當接入路由器(AR)收到多宿主節(jié)點(MN2)所傳送過來的查詢路由信息封包后, 同樣根據(jù)本身的三個路由選擇表來判斷要經(jīng)由哪一個多宿主節(jié)點來將封包轉送到下一個集群群組。
Step9:在得知由接入路由器(AR)轉送后,多宿主節(jié)點出(MN2)的路由表此時會記錄要到SIP Server的連線將會經(jīng)由AR轉送。同樣使用IPv6 in IPv6的方式傳送封包。
Step10:接入路由器(AR)收到封包后得知目的地址并不在移動AD HOC網(wǎng)絡內, 所以直接透過本身與網(wǎng)絡相連的網(wǎng)絡介面將SIP協(xié)定的封包(200 OK)送出。
Step11:SIP Server傳送SIP協(xié)定的封包(200 OK)至目的節(jié)點(CN)。
Step12:CN收到SIP協(xié)定的封包(200 OK)后,再依照發(fā)出邀請的步驟送出確認(ACK)訊息到MN6。由于已經(jīng)得知了MN6的IPv6網(wǎng)絡地址,因此可以直接與MN6通訊。
1.3.3 MN-> MN
圖片5是MN6與MN3互相通訊的范例,下列步驟為整個通訊的流程,將逐步說明。
Step1:檢查自己的路由表(Routing table)中是否有目的節(jié)點的資料,若有則按照路由表內的資料傳送封包。反之傳送一個查詢路由資訊的封包給自己的集群領袖(CL3)。
Step2: 當集群領袖(CL3)收到集群組員(MN6)所傳送過來的查詢路由信息封包后,根據(jù)三個路由選擇表來判斷要經(jīng)由哪一個多重介面節(jié)點來封包轉送到下一個集群群組。
Step 3:由于不知道CN目前的IPv6地址,所以必須先向SIP Server發(fā)出一個邀請(Invite)的訊息再讓SIP Server代為發(fā)出邀請訊息給CN。
Step4:多宿主節(jié)點(MN5)收到封包解開后,會發(fā)現(xiàn)目的地址是SIP Server,此時會先查詢自己的路由表中有沒有到SIP Server的資訊。
Step 5:當集群領袖(CL2)收到多宿主節(jié)點(MN5)所傳送過來的查詢路由信息封包后,同樣根據(jù)本身的三個路由選擇表來判斷要經(jīng)由哪一個多宿主節(jié)點來將封包轉送到下一個集群群組。
Step6:在得知由多宿主節(jié)點(MN2)轉送后,多宿主節(jié)點(MN5)的路由表此時會記錄要到CN的連線將會經(jīng)由MN2轉送到下一個集群群組。
Step 7:多宿主節(jié)點(MN2)收到封包后,同樣會先查詢自己的路由表中有沒有到SIP Server的信息,若有則直接按照路由表中的信息轉送封包。
Step 8:當接入路由器(AR)收到多宿主節(jié)點(MN2)所傳送過來的查詢路由信息封包后,同樣根據(jù)本身的三個路由選擇表來判斷要經(jīng)由哪一個多宿主節(jié)點來將封包轉送到下一個集群群組。
Step 9:在得知由接入路由器(AR)轉送后,多宿主節(jié)點(MN2)的路由表此時會記錄要到SIP Server的連線將會經(jīng)由AR轉送。
Step 10:接入路由器(AR)收到填充包后得知目的地址并不在移動AD HOC網(wǎng)絡內,所以直接透過本身與互聯(lián)網(wǎng)相連的網(wǎng)絡介面將封包送出。
Step11:SIP Server傳送邀請(Invite)訊息至目的接入路由器(AR)。
Step12:接入路由器收到SIP Server傳送的邀請(Invite)訊息后得知邀請的對象在自己的移動AD HOC網(wǎng)絡內。因此查詢自己的三個路由選擇表后將封包轉送到多宿主節(jié)點(MN1)。
Step 13:多宿主節(jié)點(MN1)收到邀請訊息封包后,發(fā)出查詢路由信息封包。
Step 14:由于MN3與MN1在同個集群群組,因此集群領袖節(jié)點直接將MN3(IPv6的地址)回復給MN1,不需要找多宿主節(jié)點轉送封包。
Step 15:最后MN1將SIP Server的邀請訊息傳送給MN3,完成整個邀請動作。
上述步驟15個步驟就是MN6以SIP協(xié)定發(fā)出邀請訊息給MN3的整個流程。接著以圖6解說MN3回應與資料傳送過程:
Step1:檢查自己的路由表(Routing table)中是否有目的節(jié)點的資料,若有則按照路由表內的資料傳送封包。反之傳送一個查詢路由信息的封包給自己集群領袖(CL1)。
Step2: 當集群領袖(CL1)收到集群組員(MN3)所傳送過來的查詢路由信息封包后,根據(jù)三個路由選擇表來判斷要經(jīng)由哪一個多重介面節(jié)點來將封包轉送到下一個集群。在此例中將會得知需要經(jīng)由多宿主節(jié)點(MN1)轉送。
Step3: 上個步驟得知需由多宿主節(jié)點(MN1)轉送,因此將SIP協(xié)定封包(200 OK)封包送出。
Step4: 在此步驟由于MN12的路由表中含有接入路由器(AR)的路由資料,因此可以直接將封包以IPv6 in IPv6的方式送至存取路由器(AR)。
Step5: AR將SIP協(xié)定封包(200 OK)封包送出至SIP Server。
Step 6: SIP Server將封包送至接入路由器(AR)。
Step7: 接入路由器(AR)根據(jù)三個路由選擇表來判斷要經(jīng)哪一個多重介面節(jié)點來將封包轉送到下一個集群。在此例中將會得知需要經(jīng)由多宿主節(jié)點(MN2)轉送。
Step8: MN2收到目的地址為MN6的封包后,發(fā)出詢問集群領袖的封包詢問要將封包經(jīng)由哪一個多宿主節(jié)點繞送至下一個集群。
Step9: 集群領袖經(jīng)由三個路由選擇表得知應繞送的多宿主節(jié)點(MN5)后,回應此多宿主節(jié)點(MN5)的IPv6地址給MN2。
Step10: MN2得知MN5的IPv6地址后將封包繞送給MN5。
Step11:MN5收到目的地址為MN6的封包后,發(fā)出詢問集群領袖的封包詢問要將封包經(jīng)由哪一個多宿主節(jié)點繞送至下一個集群。
Step12: 集群領袖經(jīng)由三個路由選擇表得知目的節(jié)點(MN6)就在本身的集群群組后,回應目的移動節(jié)點(MN6)的IPv6地址給MN5。
Step13:MN5將SIP Server所回復的SIP協(xié)定封包(200 OK)傳送給MN6。
Step14: 收到MN3的IPv6地址后會再經(jīng)由發(fā)送SIP協(xié)定邀請(Invite)封包的路徑發(fā)送SIP確認(ACK)封包后才開始正式傳送資料。
2 結論
該論文通過一個快速簡便的集群(Cluster)路由方式SIP Server來整合移動Ad Hoc網(wǎng)絡(Mobile Ad-Hoc network)與互聯(lián)網(wǎng)(Internet)。此路由方式結合了Proactive和Reactive以及集群等優(yōu)點,可以更快速的以最佳路徑傳送封包至目的地。而且可以配合管理機制對移動隨意網(wǎng)絡內的移動節(jié)點作適當?shù)墓芾怼?/p>
參考文獻:
[1] Perking C, Belding-Royer E M, Das S R. Ad hoc on-demand distance vector(AODV) Routing[J]. Network Working Group RFC 3561,2003.
[2] 馮運仿.無線Ad Hoc網(wǎng)絡的安全性研究[J].電腦知識與技術,2007(6).
[3] Mingliang Y T, LI Jin-yang. Cluster based routing protocol[R]. IETF Internet Draft, draft-ietf-manet-cbrp-spec-0.1.tex,1999.
[4] 戴長江, 盧軍.無線ADHOC網(wǎng)絡技術現(xiàn)狀研究[R].第一屆中國高校通信類院系學術研討會第一屆中國高校通信類院系學術研討會,2007.
[5] 孫寶林. 無線移動Ad Hoc網(wǎng)絡的路由技術研究[J]. 武漢科技學院學報,2003(4).