TWI392279B - 長鏈狀無線網路之網路位址分配與給定方法以及路由方法 - Google Patents
長鏈狀無線網路之網路位址分配與給定方法以及路由方法 Download PDFInfo
- Publication number
- TWI392279B TWI392279B TW097114899A TW97114899A TWI392279B TW I392279 B TWI392279 B TW I392279B TW 097114899 A TW097114899 A TW 097114899A TW 97114899 A TW97114899 A TW 97114899A TW I392279 B TWI392279 B TW I392279B
- Authority
- TW
- Taiwan
- Prior art keywords
- node
- cluster
- code
- nodes
- packet
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/26—Network addressing or numbering for mobility support
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/32—Connectivity information management, e.g. connectivity discovery or connectivity update for defining a routing cluster membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/668—Internet protocol [IP] address subnets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Description
本發明是有關於一種長鏈狀無線網路,且特別是有關於一種長鏈狀無線網路的位址分配與給定方法以及路由方法。
近年來無線網路技術蓬勃發展,也因此衍生出許多無線網路的應用,例如:導覽服務、定位服務、環境監控等等。在這些應用中,無線網路的節點是透過多點跳躍(Multi-hop)方式連接,當某一資料來源節點要傳輸資料給一目的節點,需要經由一些中繼節點轉傳才能送達,舉凡眾多環境監控之應用其網路傳輸型態皆屬此類。然而在多點跳躍之網路環境中,網路拓樸(Topology)也需依照不同之應用有著不同之型態,例如網路拓樸可為星狀網路(Star network)、樹狀網路(Tree network)長鏈狀網路(Long-thin network)及超長鏈狀網路(Ultra-long-thin network)等。
圖1為習知超長鏈狀網路的示意圖。請參照圖1,此網路中多數之網路節點是以類似於長鏈方式連結,少部分之網路節點可與其他長鏈上之節點連接以作為長鏈間溝通之橋樑,許多環境監控之應用的網路拓樸即為此類,例如高速公路路燈監控、隧道監控、輸油管監控及瓦斯管線監控等。
在此類超長鏈狀網路中,該如何給予網路節點網路位址(Network address)是一件相當困難的工作。網路位址的給定方式大抵可以分為人為給定與自動給定兩種,在這種超長鏈狀網路中,人為給定位址的方式相當地費工與耗時,而現今有許多專為無線網路設計之自動位址分配演算法則都需要相當複雜的計算步驟,並且也無法保障各個網路節點都能夠分配到唯一(Unique)之位址。
近年來ZigBee協會定義了一種低複雜度之位址分配演算法,其利用類似於等比公式之位址計算方法來分配位址,而每個網路節點必須要被分配到一個16位元(Bit)的網路位址,否則該節點將不被視為網路成員。ZigBee設計一種分散式網路位址分配演算法,在網路一啟動時,網路中的節點即競爭成為ZigBee協調器(Coordinator)。假定某個裝置成功地成為協調器,該協調器將掃描所有的無線頻道並決定一個合適的操作頻道,接著該協調器開始廣播信標(Beacon)訊框來讓其他的裝置能夠加入它所形成的網路。當其他裝置接收到此信標訊框時,即執行加入網路的步驟,而成為ZigBee的路由器(Router)或者作為ZigBee的末端設備(End device)。
如果成為ZigBee路由器,此路由器也能夠發送信標訊框來讓其他尚未加入網路的裝置加入此網路。每當有裝置成功加入網路後,信標訊框的傳送者將會給定一個網路位址作為日後資料傳輸之識別碼(Identification,ID)。ZigBee協調器先定義一個ZigBee路由器最多可容許連線之裝置
個數(Cm)、最多的子ZigBee路由器的數量(Rm),以及網路的深度(Lm)。ZigBee規定Cm≧Rm,因此一個ZigBee路由器至少可供(Cm-Rm)個ZigBee終端設備連結上它。
在ZigBee規範中,裝置的網路位址是由其父(Parent)節點所給定的。對ZigBee協調器而言,整個網路的位址空間被劃分成Rm+1塊,其中前Rm塊的位址空間將會分配給其Rm個子路由器,而最後一部份則保留給與之連線的(Cm-Rm)個ZigBee終端設備。在此演算法中,ZigBee路由器利用Cm、Rm和Lm來計算一個稱為Cskip的參數,接著再利用Cskip來計算及分配其子路由器以及終端設備的網路位址,假定路由器位於網路的第d層,則Cskip的數值可經由下列公式得到:
ZigBee規範協調器是位於深度0,假設路由器x是位於深度d,而節點y是路由器x的小孩,Cskip(d)則代表以y為根(Root)之子樹(Subtree)中最多可容納的節點個數(包括y自己)。另一方面,位址的分配是由ZigBee協調器開始,由ZigBee協調器將自己的位址指定為0以及將深度指定為0。假設一個位於深度d之父節點的位址已被指定為Aparent
,該父節點將指定他的第n個子路由器的
位址為Aparent
+(n-1)×Cskip(d)+1,並且指定他的第n個子終端設備的位址為Aparent
+Rm×Cskip(d)+n。
然而,ZigBee演算法限制每個節點最多可擁有之子節點個數以及整體網路之深度。以圖2所繪示的超長鏈狀網路拓樸200為例,一個節點最多可以連接兩個子路由器,也就是說Cm=Rm=2,若以ZigBee位址分配方式來分配網路位址(意即以16位元來表示網路位址),最多只能分配到15層的網路深度,因此不適用於鏈結長度通常會大於15的超長鏈狀網路。
有鑑於此,本發明提供一種適用於長鏈狀無線網路的網路位址分配方法,可分配超過15層之網路深度的網路位址。
本發明提供一種特別適用於長鏈狀無線網路的網路位址給定方法,可減少封包傳輸的成本。
本發明提供一種特別適用於長鏈狀無線網路的網路位址分配方法,可提升網路路由的效能。
為達上述或其他目的,本發明提出一種長鏈狀無線網路的網路位址分配方法,其包括下列步驟:a.將一長鏈狀無線網路之多個節點分類為多個叢集,其包括將此長鏈狀無線網路中的每一個分岔節點之後所連接的第一個節點至下一個分岔節點之區間內所包括的所有節點分類為同一個叢集,其中每一個分岔節點之後所連接的第一個節點係分
類作為此叢集之叢集首節點,而其餘的節點則分類作為此叢集之網路節點;b.將網路位址分配至每一個節點,上述網路位址包括一個叢集代號與一個節點代號,其中叢集代號用以識別叢集並且用以在這些叢集之間進行封包路由,節點代號則用以識別上述每一個叢集所包括之節點並且用以在上述每一個叢集內部進行封包路由。
在本發明之一實施例中,在將長鏈狀無線網路之節點分類為多個叢集之後,本發明更包括以長鏈狀無線網路之根節點及叢集首節點建立長鏈狀無線網路的一個上位邏輯網路,其中上述根節點及各個叢集首節點之子節點為這些節點之後所連接的第一層叢集首節點,此外,本發明更包括定義於上位邏輯網路中每一個叢集首節點最多可連接之子叢集首節點個數,以及上位邏輯網路最大之網路深度。
在本發明之一實施例中,上述將叢集代號分配至每一個節點的步驟包括依據所定義之子叢集首節點個數、網路深度及每一個叢集首節點在上位邏輯網路中的深度來計算每一個叢集首節點的一個跳躍(skip)參數,然後再依據每一個叢集首節點在其父節點之後的排列順序以及其父節點之跳躍參數,分配叢集代號給這些叢集首節點。
在本發明之一實施例中,上述之跳躍參數的計算公式包括:
其中,CCm
為子節點個數、CLm
為網路深度、d
為每一個叢集首節點在上位邏輯網路中的深度,而CCskip
(d
)
為深度d
之跳躍參數,其中CCm
、CLm
、d
及CCskip
為整數。
在本發明之一實施例中,上述分配叢集代號的步驟包括在所定義之子叢集首節點個數為0或1時,指定長鏈狀無線網路中每一個節點的叢集代號為0。
在本發明之一實施例中,上述分配叢集代號的步驟包括在所定義之子叢集首節點個數大於1時,指定根節點的叢集代號為0。
在本發明之一實施例中,上述分配叢集代號的步驟包括在所定義之子叢集首節點個數大於1,且位於上位邏輯網路深度d
之叢集首節點的叢集代號為C parent
時,指定於上位邏輯網路叢集首節點之後第n
個子叢集首節點所屬之叢集的叢集代號為C parent
+(n
-1)×CCskip
(d
)+1,其中n
為正整數。
在本發明之一實施例中,上述分配節點代號的步驟包括依據每一個叢集所包括之節點的排列順序,分配節點代號至這些節點。
在本發明之一實施例中,上述每一個叢集首節點的節點代號皆為零,而上述同一個叢集中每一個節點的叢集代號均相同。
本發明提出一種長鏈狀無線網路的網路位址給定方法,其包括下列步驟:a.規劃一個長鏈狀無線網路,其包括將此長鏈狀無線網路之多個節點分類為多個叢集,其中此長鏈狀無線網路中每一個分岔節點之後所連接的第一個
節點至下一個分岔節點之區間內所包括的所有節點分類為同一個叢集,而每一個分岔節點之後所連接的第一個節點即分類作為此叢集之叢集首節點,其餘的節點則分類作為此叢集之網路節點;b.將網路位址分配至每一個節點,上述網路位址包括一個叢集代號與一個節點代號,其中叢集代號用以識別叢集,節點代號則用以識別上述每一個叢集所包括之節點;c.由任一個節點發送詢問封包至其鄰居節點,並收集這些鄰居節點回傳之位址要求封包,據以給定這些鄰居節點所屬的網路位址。
在本發明之一實施例中,若上述發送詢問封包之節點屬於分岔節點,則由此節點依序將叢集代號指定給其所連接之叢集首節點,並將這些叢集首節點之節點代號指定為零,以及依序將節點代號指定給其餘節點。
在本發明之一實施例中,若上述發送詢問封包之節點不屬於分岔節點,則由此節點濾除由叢集首節點回傳之位址要求封包,而依序將節點代號指定給其餘節點。
在本發明之一實施例中,上述依序將節點代號指定給其餘節點的步驟包括依據所接收到之位址要求封包的訊號強度,將這些節點排序,然後再依據排序後之結果,依序將節點代號指定給這些節點。
在本發明之一實施例中,上述由任一個節點發送詢問封包至其鄰居節點的步驟更包括由此節點發送一個接續封包至其鄰居節點,以指定下一個發送詢問封包之節點,其中包括判斷這些鄰居節點中是否包含叢集首節點或分岔節
點,若沒有包含叢集首節點或分岔節點,則指定具有最大節點代號的節點作為下一個發送詢問封包的節點;反之,若有包含叢集首節點或分盆節點,則指定此節點作為下一個發送詢問封包的節點。
本發明提出一種長鏈狀無線網路的路由方法,其包括下列步驟:a.規劃一長鏈狀無線網路,其包括將此長鏈狀無線網路之多個節點分類為多個叢集,而上述長鏈狀無線網路中每一個分岔節點之後所連接的第一個節點至下一個分岔節點之區間內所包括的所有節點分類為同一個叢集;b.給定每一個節點所屬的網路位址,此網路位址包括一個叢集代號與一個節點代號,其中,叢集代號係用以識別這些叢集,節點代號則用以識別上述每一個叢集所包括之節點;c.由長鏈狀無線網路中任一個節點檢查一個封包之目的地節點的叢集代號是否與此節點的叢集代號相同;d.若叢集代號相同,根據目的地節點的節點代號,在叢集內進行封包路由;e.若叢集代號不同,則根據目的地節點的叢集代號,在這些叢集之間進行封包路由。
在本發明之一實施例中,上述根據目的地節點的節點代號,在叢集內進行封包路由的步驟包括比較目的地節點與封包所在節點之節點代號的數值,若目的地節點之節點代號的數值大於封包所在節點之節點代號的數值,選擇同一個叢集中節點代號較大之鄰居節點作為下一個跳躍節點;若目的地節點之叢集代號的數值小於封包所在節點之節點代號的數值,則選擇同一個叢集中節點代號較小之鄰
居節點作為下一個跳躍節點;若目的地節點之節點代號的數值等於封包所在節點之節點代號的數值,則由此節點接收並處理封包。
在本發明之一實施例中,上述根據目的地節點的叢集代號,在這些叢集之間進行封包路由的步驟包括:e1.比較目的地節點與封包所在節點之叢集代號的數值;e2.若目的地節點之叢集代號的數值大於封包所在節點之叢集代號的數值且目的地節點所屬叢集是封包所在節點所屬叢集的子叢集,則找尋此封包所在節點是否有不同叢集之鄰居節點。其中,若有不同叢集之鄰居節點且此鄰居節點所屬叢集是封包所在節點所屬叢集的子叢集,而目的地節點所屬叢集又是此鄰居節點所屬叢集的子叢集,則以此鄰居節點作為下一個跳躍節點;反之,若找不到上述之鄰居節點,則選擇同一個叢集中節點代號較大之鄰居節點作為下一個跳躍節點;e3.對於步驟e2.以外的情況,找尋封包所在節點是否有不同叢集之鄰居節點。其中,若有不同叢集之鄰居節點且此鄰居節點所屬叢集是封包所在節點所屬叢集的子叢集,則以此鄰居節點作為下一個跳躍節點;反之,若找不到上述之鄰居節點,則選擇同一個叢集中節點代號較小之鄰居節點作為下一個跳躍節點。
本發明之網路位址分配與給定方法以及路由方法是針對長鏈狀無線網路之網路拓樸特性所設計,其將長鏈狀無線網路中的網路節點於邏輯上分為數個叢集,並將網路位址分段,因此能夠在保有原本ZigBee網路低負擔特性的
情況下,增加超長鏈狀無線網路下的路由與網路傳輸效能,並可允許網路節點連接的長度大於15層。
為讓本發明之上述和其他目的、特徵和優點能更明顯易懂,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下。
本發明提出一種適用於超長鏈狀無線網路之網路位址分配的演算法,假設網路上的節點都屬於ZigBee路由器,亦即每個節點都可以連接子路由器,中樞基地台(Base station)則扮演ZigBee協調器之角色。此外,本發明亦新增兩種節點分類,其一為叢集首(Cluster head)節點,其二為分岔(Bridge)節點。其中,分岔節點即代表長鏈與長鏈之間連結的節點,叢集首節點則是分岔節點之後每條長鏈與分岔節點相接的第一個節點。舉例來說,圖3是依照本發明較佳實施例所繪示之長鏈狀無線網路的範例。請參照圖3,標記為斜線的節點為分岔節點,而與之連接的黑色節點即為叢集首節點。此外,叢集首節點之後至下一個分岔節點的節點視為在同一個叢集中,例如圖3之節點B1、B2、B3即位於由節點B所建立之叢集中。
針對上述長鏈狀無線網路的架構,本發明提供對應之網路位址的分配方法。圖4是依照本發明較佳實施例所繪示之長鏈狀無線網路的網路位址分配方法流程圖。請參照圖4,本實施例將長鏈狀無線網路中的節點分類為多個叢
集,並分別給予這些節點一組唯一的叢集代號及節點代號,以作為這些節點的網路位址,其詳細步驟如下:本方法首先將長鏈狀無線網路所包含的節點分類為多個叢集,其包括將此長鏈狀無線網路中的每一個分岔節點之後至下一個分岔節點的節點分類為同一個叢集(步驟S410)。其中,分岔節點之後所連接的第一個節點分類為此叢集的一個叢集首節點(例如圖3中的節點B),而其餘節點則分類為此叢集的網路節點(例如圖3中的節點B1、B2、B3)。
下一步則是以長鏈狀無線網路之根節點及上述各個叢集首節點建立長鏈狀無線網路的一個上位邏輯網路(Hyper-logical-network)(步驟S420)。其中,上述根節點或各個叢集首節點之子節點就是這些節點之後所連接的第一層叢集首節點。
舉例來說,圖5是對應於圖3之長鏈狀無線網路所繪示之上位邏輯網路的示意圖。請參照圖5,上位邏輯網路500係利用長鏈狀無線網路的中樞基地台作為根節點,以及利用長鏈狀無線網路中的叢集首節點們作為子節點所建立而成,其成員包括根節點R及叢集首節點A~F。
值得注意的是,類似於Zigbee規範中的定義,本發明亦定義上位邏輯網路500中每一個叢集首節點最多可以連接之子節點個數(CCm
)以及上位邏輯網路500最大的網路深度(CLm
),而用以對上位邏輯網路500中之根節點R及叢集首節點A~F指定唯一的叢集代號。
回到圖4,在上位邏輯網路建立之後,本方法即可藉由上位邏輯網路中各個叢集首節點的連接關係,以及同一個叢集中各個節點的排列順序,分配網路位址至每一個節點(步驟S330)。在此需強調的是,本實施例採用16位元的網路位址進行封包路由,而每一個網路位址包括一個叢集代號與一個節點代號,此叢集代號與節點代號各佔多少位元視實際應用而定,並不限制其範圍。
舉例來說,圖6是依照本發明較佳實施例所繪示之網路位址的範例。請參照圖6,網路位址600的前7個位元代表叢集代號,而後9個位元則代表節點代號。其中,叢集代號用以識別叢集並且用以在這些叢集之間進行封包路由,節點代號則用以識別每一個叢集所包括之節點並且用以在上述每一個叢集內部進行封包路由。
詳細地說,步驟S430係先依據上述定義之子節點個數(CCm
)、網路深度(CLm
)及每一個叢集首節點在上位邏輯網路中的深度d
來計算每一個叢集首節點的一個跳躍(skip)參數,其計算公式如下:
其中,CCm
、CLm
、d
及CCskip
均為整數。本發明根據每一個叢集首節點之父節點的跳躍參數,搭配每一個叢集首節點在其父節點之後的排列順序來分配這些叢集首節點所屬的叢集代號。其中,在所定義之子節點個數(CCm
)為0或1時,則代表此網路不會有分岔節點,整個網路只
會有一個叢集,因此將長鏈狀無線網路中每一個節點的叢集代號指定為0。
然而,當所定義之子節點個數(CCm
)大於1時,長鏈狀無線網路中各個節點之叢集代號的指定方式如下:1.將根節點(即中樞基地台)的深度指定為0,且將其叢集代號指定為0。
2.當位於上位邏輯網路深度d
之叢集首節點的叢集代號為C parent
時,指定叢集首節點之後第n
個叢集首子節點所屬之叢集的叢集代號為C parent
+(n
-1)×CCskip
(d
)+1,其中n
為正整數。
3.將同一個叢集中其餘節點的叢集代號指定為與此叢集之叢集首節點的叢集代號相同。
請參照圖5,其所繪示之上位邏輯網路500中亦顯示出各個節點的叢集代號的分配結果。其中,假設上位邏輯網路500中每一個節點最多可以連接之子節點個數為2(即CCm
=2),上位邏輯網路500最大的網路深度為4(即CLm
=4),而將CCm
及CLm
代入公式(2)即可得到根節點R的跳躍參數CCskip
(0)=15。
另一方面,本實施例假設節點A為根節點F之後第一個子節點,因此節點A的叢集代號將會被指定為c id
=0+(1-1)×15+1=1,而節點B的叢集代號則會被指定為c id
=0+(2-1)×15+1=16。接著,藉由公式(2)之計算可得到節點A及節點B的跳躍參數CCskip
(1)=7,而假設節點C為節點B之後第一個子節點,因此節點C的叢集代號
將會被指定為c id
=16+(1-1)×7+1=17,而節點D的叢集代號則會被指定為c id
=16+(2-1)×7+1=24。以此類推,繼續指定其他節點的叢集代號,即可得到如圖5所示之分配結果。
當各個叢集首節點的叢集代號指定完畢後,本實施例更進一步地將各個叢集首節點的節點代號指定為0,然後再依據每一個叢集中網路節點的排列順序,分配這些網路節點所屬的節點代號。以圖3所繪示的長鏈狀無線網路為例,以5個位元表示節點的叢集代號,以11個位元表示節點的節點代號,則可得到如下表1所示的網路位址分配結果。
值得注意的是,本發明之長鏈狀網路系統的實做流程主要可分為兩個階段,第一個階段即為上述之網路規劃與
部署階段,第二個階段則是網路初始化階段。簡單而言,第一個階段除了需要決定中樞基地台、叢集首節點、分岔節點以及網路中其他節點的擺放位置之外,還包括決定網路位址的格式以及子節點個數(CCm)、網路深度(CLm)兩個參數,而根據這些網路規劃的資訊,即可進行網路初始化階段,也就是將網路位址給定至每個節點。
網路位址的給定方式有兩種,第一種是手動的網路位址給定方式,另一種則是自動的網路位址給定方式。其中,手動網路位址給定方式為利用上述概念於各個節點程式在燒錄或出產時直接賦予節點其網路位址,並且在網路部署時,依照網路規劃與網路位址分配結果藍圖施工,然而,此方式在網路建置時需要多花費一些人力成本。相較於手動方式,自動網路位址給定方法具有較佳的效能,以下即針對此方法再舉一實施例詳細說明。
圖7是依照本發明較佳實施例所繪示之長鏈狀無線網路的網路位址給定方法流程圖。請參照圖7,本實施例包括在網路節點已依照規劃藍圖部署完畢後,藉由封包的傳遞來收集鄰居節點的資訊,而據以將網路位址遞送至各個節點,其步驟如下:本方法首先規劃長鏈狀無線網路,其包括將此長鏈狀無線網路之多個節點分類為多個叢集(步驟S710)。詳細地說,此步驟係將長鏈狀無線網路中每一個分盆節點之後所連接的第一個節點至下一個分岔節點之區間內所包括的所有節點分類為同一個叢集,而每一個分岔節點之後所連
接的第一個節點即分類作為此叢集之叢集首節點,其餘的節點則分類作為此叢集之網路節點。
接著,將網路位址分配至每一個節點(步驟S720),上述網路位址包括一個叢集代號與一個節點代號,其中叢集代號用以識別叢集,節點代號則用以識別上述每一個叢集所包括之節點。以上步驟均與前述實施例之步驟S410、S420相同或相似,故其詳細內容在此不再贅述。
然而,本實施例在網路部署完畢後,即由任一個節點發送詢問封包至其鄰居節點,並收集鄰居節點回傳之位址要求封包,而據以給定這些鄰居節點所屬的網路位址(步驟S730)。
詳細地說,此步驟是由中樞基地台起始,中樞基地台先將自己的網路位址指定為0x0000,接著再廣播一個詢問封包,當網路中某一個節點接收到此詢問封包且尚未被指定網路位址時,則此節點將會回應一個位址要求封包到發送詢問封包之節點。
當發送詢問封包之節點接收到位址要求封包後,會先檢查發送位址要求封包的節點是否為其鄰居節點,如果是則接受,反之則略過。此時,發送詢問封包之節點將會等待並收集所有尚未擁有網路位址之鄰居節點所回應的位址要求封包,如果仍有尚未指定網路位址的鄰居節點沒有回應位址要求封包時,則持續發送詢問封包,而當收集完成後,發送詢問封包之節點將會執行以下之流程:
1.當發送詢問封包之節點屬於分岔節點時,則此節點依序將叢集代號指定給其所連接之叢集首節點,並將這些叢集首節點之節點代號指定為零,以及依序將節點代號指定給其餘節點。
2.當發送詢問封包之節點不屬於分岔節點,則此節點只能指派網路位址給非叢集首節點,因此會先濾除由叢集首節點所回應的位址要求封包,再依序將節點代號指定給其餘節點。
值得注意的是,在上述流程中可以是由發送詢問封包之節點先依照接收位址要求封包時的訊號強度將這些節點做排序,然後再依據排序後之結果將叢集代號或節點代號指定給這些節點。然而,此排序方式僅為舉例說明,並非用以限制本發明之範圍,熟知本領域技術者當可視實際需要,採用其他方式指定叢集代號或節點代號。
在叢集代號及節點代號指定完畢後,發送詢問封包之節點將會回應一個位址指定封包給其鄰居節點,以將所指定的網路位址傳遞給這些鄰居節點。此外,發送詢問封包之節點亦會發送接續(Next)封包至其鄰居節點,以指定下一個發送詢問封包之節點。其中,發送詢問封包之節點會先判斷這些鄰居節點中是否包含叢集首節點或分岔節點,若沒有包含叢集首節點或分岔節點,則指定具有最大節點代號的節點作為下一個發送詢問封包的節點;反之,若有包含叢集首節點或分岔節點,則指定此節點作為下一個發送詢問封包的節點,而收到接續封包的節點則會重複
上述步驟,繼續發送詢問封包給其所連接的節點來指定網路位址。
在各個節點的網路位址給定之後,節點之間封包路由即可根據上述給定的網路位址推知。圖8是依照本發明較佳實施例所繪示之長鏈狀無線網路的路由方法流程圖。請參照圖8,本實施例之路由方法提供長鏈狀無線網路中各個節點在接收到一個封包時,決定如何對此封包進行處理,其步驟如下:本方法首先規劃長鏈狀無線網路,其包括將此長鏈狀無線網路之多個節點分類為多個叢集(步驟S810)。詳細地說,此步驟係將長鏈狀無線網路中每一個分岔節點之後所連接的第一個節點至下一個分岔節點之區間內所包括的所有節點分類為同一個叢集,而每一個分岔節點之後所連接的第一個節點即分類作為此叢集之叢集首節點,其餘的節點則分類作為此叢集之網路節點。
接著,給定每一個節點所屬的網路位址(步驟S820),上述網路位址包括一個叢集代號與一個節點代號,其中叢集代號用以識別叢集,節點代號則用以識別上述每一個叢集所包括之節點。以上步驟與前述實施例相同或相似,故其詳細內容在此不再贅述。
在網路位址給定之後,每當長鏈狀無線網路中的任何一個節點接收到封包時,會先檢查此封包之目的地節點的叢集代號是否與本身的叢集代號相同(步驟S830)。為方便說明,本實施例假設封包所在節點的叢集代號為R1、節
點代號為R2,目的地節點的叢集代號為D1、節點代號為D2,而封包所在節點在上位邏輯網路中的深度為d。
回到步驟S830,若叢集代號相同(即D1=R1),即根據目的地節點的節點代號,在叢集內進行封包路由(步驟S840);反之,若叢集代號不同,則根據目的地節點的叢集代號,在這些叢集之間進行封包路由(步驟S850)。
詳細地說,在步驟S840中,封包所在節點會先比較目的地節點與其本身之節點代號的數值(步驟S841),若目的地節點之節點代號的數值大於封包所在節點之節點代號的數值(即D2>R2),選擇同一個叢集中節點代號較大之鄰居節點作為下一個跳躍(Next hop)節點(步驟S842);若目的地節點之叢集代號的數值小於封包所在節點之節點代號的數值(即D2<R2),則選擇同一個叢集中節點代號較小之鄰居節點作為下一個跳躍節點(步驟S843);若目的地節點之節點代號的數值等於封包所在節點之節點代號的數值(即D2=R2),則由封包所在節點處理此封包(步驟S844)。
另一方面,在步驟S850中,封包所在節點會比較目的地節點與封包所在節點之叢集代號的數值(步驟S851),若目的地節點之叢集代號的數值大於封包所在節點之叢集代號的數值(即D1>R1)且目的地節點所屬叢集(叢集代號D1)是封包所在節點所屬叢集(叢集代號R1)的子叢集(即R1<D1<R1+CCskip(d-1)),則進一步找尋此封包所在節點是否有不同叢集之鄰居節點(步驟S852)。
若有不同叢集之鄰居節點,且此鄰居節點所屬叢集(叢集代號N1)是封包所在節點所屬叢集(叢集代號R1)的子叢集(即R1<N1<R1+CCskip(d-1)),而目的地節點所屬叢集(叢集代號D1)又是此鄰居節點所屬叢集(叢集代號N1)的子叢集(即N1<D1<N1+CCskip(d)),則以此鄰居節點作為下一個跳躍節點(步驟S853);若找不到上述之鄰居節點,則選擇同一個叢集(叢集代號R1)中節點代號較大之鄰居節點作為下一個跳躍節點(步驟S854)。
另一方面,對於步驟S852以外的情況,亦進一步找尋封包所在節點是否有不同叢集之鄰居節點(步驟S855)。其中,若有不同叢集之鄰居節點且此鄰居節點所屬叢集(叢集代號N1)是封包所在節點所屬叢集(叢集代號R1)的子叢集(即N1<R1<N1+CCskip(d-2)),則以此鄰居節點作為下一個跳躍節點(步驟S856);若找不到上述之鄰居節點,則選擇同一個叢集(叢集代號R1)中節點代號較小之鄰居節點作為下一個跳躍節點(步驟S857)。
綜上所述,本發明之網路位址分配與給定方法以及路由方法是針對長鏈狀無線網路的架構而設計,因此特別適用於長鏈狀無線網路,尤其是鏈結長度超過15層的長鏈狀網路。本發明可減少封包傳輸的成本,提升網路路由的效能。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神
和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
200‧‧‧超長鏈狀網路拓樸
300‧‧‧長鏈狀網路
500‧‧‧上位邏輯網路
600‧‧‧網路位址
A、B、C、D、E、F‧‧‧節點
R‧‧‧根節點
S410~S430‧‧‧本發明較佳實施例之長鏈狀無線網路的網路位址分配方法之各步驟
S710~S730‧‧‧本發明較佳實施例之長鏈狀無線網路的網路位址給定方法之各步驟
S810~S857‧‧‧本發明較佳實施例之長鏈狀無線網路的路由方法之各步驟
圖1為習知超長鏈狀網路的示意圖。
圖2所繪示為超長鏈狀網路拓樸之範例。
圖3是依照本發明較佳實施例所繪示之長鏈狀無線網路的範例。
圖4是依照本發明較佳實施例所繪示之長鏈狀無線網路的網路位址分配方法流程圖。
圖5是對應於圖3之長鏈狀無線網路所繪示之上位邏輯網路的示意圖。
圖6是依照本發明較佳實施例所繪示之網路位址的範例。
圖7是依照本發明較佳實施例所繪示之長鏈狀無線網路的網路位址給定方法流程圖。
圖8是依照本發明較佳實施例所繪示之長鏈狀無線網路的路由方法流程圖。
S410~S430‧‧‧本發明較佳實施例之長鏈狀無線網路的網路位址分配方法之各步驟
Claims (17)
- 一種長鏈狀無線網路的網路位址分配方法,包括:a.分類一長鏈狀無線網路之多個節點為多個叢集,其包括將該長鏈狀無線網路中每一分岔節點之後所連接的第一個節點至下一個分岔節點之區間內所包括的所有節點分類為同一叢集,其中包括將每一分岔節點之後所連接的第一個節點分類為該叢集之一叢集首節點,以及將其餘的節點分類為該叢集之一網路節點;以該長鏈狀無線網路之一根節點及該些叢集首節點建立該長鏈狀無線網路之一上位邏輯網路,其中該根節點及各該些叢集首節點之子節點為其後所連接之第一層叢集首節點;定義該叢集首節點最多可連接之一子節點個數,以及該上位邏輯網路最大之一網路深度;以及b.分配一網路位址至每一節點,其中該網路位址包括一叢集代號與一節點代號,該叢集代號用以識別該些叢集並且用以進行該些叢集之間的封包路由,該節點代號用以識別上述每一叢集所包括之該些節點並且用以進行上述每一叢集內部的封包路由,其中該步驟b.包括:依據所定義之該子節點個數、該網路深度及每一叢集首節點在該上位邏輯網路中的深度,計算每一叢集首節點之一跳躍(skip)參數;以及依據每一叢集首節點在其父節點之後的排列順序以 及其父節點之跳躍參數,分配該叢集代號至該叢集首節點。
- 如申請專利範圍第1項所述之長鏈狀無線網路的網路位址分配方法,其中該跳躍參數的計算公式包括:
- 如申請專利範圍第2項所述之長鏈狀無線網路的網路位址分配方法,其中該步驟b.包括:當所定義之該子節點個數為0或1時,指定該長鏈狀無線網路中每一節點的叢集代號為0。
- 如申請專利範圍第3項所述之長鏈狀無線網路的網路位址分配方法,其中該步驟b.包括:當所定義之該子節點個數大於1時,指定該根節點的該叢集代號為0。
- 如申請專利範圍第3項所述之長鏈狀無線網路的網路位址分配方法,其中該步驟b.包括:當所定義之該子節點個數大於1,且位於深度d 之該叢集首節點的該叢集代號為C parent 時,指定該叢集首節點之後第n 個子節點所屬之叢集的叢集代號為C parent +(n -1)×CCskip (d )+1,n 為正整數。
- 如申請專利範圍第1項所述之長鏈狀無線網路的網路位址分配方法,其中該步驟b.包括:依據每一叢集所包括之該些節點的排列順序,分配該節點代號至每一節點。
- 如申請專利範圍第1項所述之長鏈狀無線網路的網路位址分配方法,其中上述每一叢集首節點的該節點代號皆為零。
- 如申請專利範圍第1項所述之長鏈狀無線網路的網路位址分配方法,其中上述同一叢集中每一節點的叢集代號均相同。
- 一種長鏈狀無線網路的網路位址給定方法,包括:a.規劃一長鏈狀無線網路,其包括分類該長鏈狀無線網路之多個節點為多個叢集,其中該長鏈狀無線網路中每一分岔節點之後所連接的第一個節點至下一個分岔節點之區間內所包括的所有節點係分類為同一叢集,而每一分岔節點之後所連接的第一個節點分類為該叢集之一叢集首節點,其餘節點分類為該叢集之一網路節點;b.分配一網路位址至每一節點,其中該網路位址包括一叢集代號與一節點代號,該叢集代號用以識別該些叢集,該節點代號用以識別上述每一叢集所包括之該些節點;以及c.由任一節點發送一詢問封包至其鄰居節點,並收集該些鄰居節點回傳之一位址要求封包,據以給定該些鄰居節點所屬的網路位址,其中,若該步驟c.中發送該詢問封 包之節點屬於分岔節點,則依序指定叢集代號給其所連接之叢集首節點,並指定該些叢集首節點之節點代號為零,以及依序指定節點代號給其餘節點。
- 如申請專利範圍第9項所述之長鏈狀無線網路的網路位址給定方法,其中若該步驟c.中發送該詢問封包之節點不屬於分岔節點,則濾除由叢集首節點回傳之位址要求封包,而依序指定節點代號給其餘節點。
- 如申請專利範圍第10項所述之長鏈狀無線網路的網路位址給定方法,其中依序指定節點代號給其餘節點的步驟包括:依據所接收到之位址要求封包的訊號強度,排序該些節點;以及依據排序後之結果,依序指定節點代號給該些節點。
- 如申請專利範圍第9項所述之長鏈狀無線網路的網路位址給定方法,其中該步驟c.更包括:發送一接續封包至其鄰居節點,以指定下一個發送詢問封包之節點。
- 如申請專利範圍第12項所述之長鏈狀無線網路的網路位址給定方法,其中發送接續封包至其鄰居節點,以指定下一個發送詢問封包之節點的步驟包括:判斷該些鄰居節點中是否包含叢集首節點或分岔節點;若沒有包含叢集首節點或分岔節點,則指定具有最大節點代號的節點作為下一個發送詢問封包的節點;以及 若有包含叢集首節點或分岔節點,則指定該節點作為下一個發送詢問封包的節點。
- 一種長鏈狀無線網路的路由方法,包括:a.規劃一長鏈狀無線網路,其包括分類該長鏈狀無線網路之多個節點為多個叢集,其中該長鏈狀無線網路中每一分岔節點之後所連接的第一個節點至下一個分岔節點之區間內所包括的所有節點係分類為同一叢集;b.給定一網路位址至每一節點,其中該網路位址包括一叢集代號與一節點代號,該叢集代號用以識別該些叢集,該節點代號用以識別上述每一叢集所包括之該些節點;c.由任一節點檢查一封包之一目的地節點的叢集代號是否與該節點的叢集代號相同;d.若該叢集代號相同,根據該目的地節點的節點代號,在該叢集內進行該封包的路由;以及e.若該叢集代號不同,根據該目的地節點的叢集代號,在該些叢集之間進行該封包的路由,其中該步驟d.包括:比較該目的地節點與該封包所在節點之節點代號的數值;若該目的地節點之節點代號的數值大於該封包所在節點之節點代號的數值,選擇同一叢集中節點代號較大之一鄰居節點作為下一個跳躍節點;以及若該目的地節點之該叢集代號的數值小於該封包所在節點之節點代號的數值,選擇同一叢集中節點代號較小 之該鄰居節點作為下一個跳躍節點。
- 如申請專利範圍第14項所述之長鏈狀無線網路的路由方法,其中該步驟d.更包括:若該目的地節點之節點代號的數值等於該封包所在節點之節點代號的數值,則由該節點接收並處理該封包。
- 如申請專利範圍第14項所述之長鏈狀無線網路的路由方法,其中該步驟e.包括:e1.比較該目的地節點與該封包所在節點之叢集代號的數值;以及e2.若該目的地節點之叢集代號的數值大於該封包所在節點之叢集代號的數值且該目的地節點所屬叢集是該封包所在節點所屬叢集的子叢集,則找尋該封包所在節點是否有不同叢集之鄰居節點,其中若有不同叢集之鄰居節點且該鄰居節點所屬叢集是該封包所在節點所屬叢集的子叢集,而該目的地節點所屬叢集又是該鄰居節點所屬叢集的子叢集,則以該鄰居節點作為下一個跳躍節點,若找不到上述鄰居節點,則選擇同一叢集中節點代號較大之鄰居節點作為下一個跳躍節點。
- 如申請專利範圍第16項所述之長鏈狀無線網路的路由方法,其中該步驟e.更包括:對於該步驟e2.以外的情況,找尋該封包所在節點是否有不同叢集之鄰居節點,其中若有不同叢集之鄰居節點且該鄰居節點所屬叢 集是該封包所在節點所屬叢集的子叢集,則以該鄰居節點作為下一個跳躍節點,若找不到上述鄰居節點,則選擇同一叢集中節點代號較小之鄰居節點作為下一個跳躍節點。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW097114899A TWI392279B (zh) | 2008-04-23 | 2008-04-23 | 長鏈狀無線網路之網路位址分配與給定方法以及路由方法 |
US12/141,083 US8134964B2 (en) | 2008-04-23 | 2008-06-18 | Network address assigning and allocating method and routing method for long-thin wireless network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW097114899A TWI392279B (zh) | 2008-04-23 | 2008-04-23 | 長鏈狀無線網路之網路位址分配與給定方法以及路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200945826A TW200945826A (en) | 2009-11-01 |
TWI392279B true TWI392279B (zh) | 2013-04-01 |
Family
ID=41214922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097114899A TWI392279B (zh) | 2008-04-23 | 2008-04-23 | 長鏈狀無線網路之網路位址分配與給定方法以及路由方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8134964B2 (zh) |
TW (1) | TWI392279B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120066369A1 (en) * | 2009-05-13 | 2012-03-15 | Koninklijke Philips Electronics N.V. | Method for assigning a network address for communicating in a segmented network |
KR101310304B1 (ko) * | 2009-12-10 | 2013-09-23 | 한국전자통신연구원 | 분산 주소 할당에 기반한 트리 구조의 네트워크의 네트워크 노드의 동작 방법 및 네트워크의 형성 방법 |
US8634330B2 (en) | 2011-04-04 | 2014-01-21 | International Business Machines Corporation | Inter-cluster communications technique for event and health status communications |
US9130870B1 (en) * | 2011-04-15 | 2015-09-08 | Big Switch Networks, Inc. | Methods for determining network topologies |
KR101454991B1 (ko) * | 2013-01-21 | 2014-11-04 | 서울대학교산학협력단 | 무선 네트워크에서 네트워크 가입 방법 |
US9374285B1 (en) | 2013-02-07 | 2016-06-21 | Big Switch Networks, Inc. | Systems and methods for determining network topologies |
US9918351B2 (en) | 2014-04-01 | 2018-03-13 | Belkin International Inc. | Setup of multiple IOT networks devices |
US9210192B1 (en) * | 2014-09-08 | 2015-12-08 | Belkin International Inc. | Setup of multiple IOT devices |
US9872240B2 (en) | 2014-08-19 | 2018-01-16 | Belkin International Inc. | Network device source entity triggered device configuration setup |
US10880198B2 (en) * | 2015-05-08 | 2020-12-29 | Qualcomm Incorporated | Aggregating targeted and exploration queries |
CN106341250B (zh) * | 2015-07-10 | 2019-11-22 | 南宁富桂精密工业有限公司 | 网络装置及网络地址初始化分配方法 |
CN105554173B (zh) * | 2015-12-21 | 2018-07-27 | 南京奥特迈新信息技术有限公司 | 一种非对称ZigBee网络中网络节点地址分配方法 |
CN106060940B (zh) * | 2016-05-24 | 2019-03-22 | 重庆邮电大学 | 面向工业无线wia-pa网络的确定性调度方法 |
CN112492057B (zh) * | 2020-11-16 | 2022-06-24 | 电子科技大学 | 一种固定根节点的地址自配置方法 |
CN116147569B (zh) * | 2023-04-20 | 2023-06-30 | 中大智能科技股份有限公司 | 应用于阵列式位移计的地址自动分配和排序方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040003111A1 (en) * | 2001-04-20 | 2004-01-01 | Masahiro Maeda | Protocol and structure for self-organizing network |
US20050122955A1 (en) * | 2003-12-05 | 2005-06-09 | Hwa-Chun Lin | Method and system for route selection and method for route reconstruction |
US20050180447A1 (en) * | 2004-02-12 | 2005-08-18 | Samsung Electronics Co., Ltd. | Multicast method in zigbee network |
US20060029002A1 (en) * | 2004-05-04 | 2006-02-09 | Samsung Electronics Co., Ltd. | ZigBee network device for assigning addresses to child nodes after constructing cluster-tree structure, address assigning method and routing method |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100585327B1 (ko) * | 2004-07-29 | 2006-06-01 | 삼성전자주식회사 | 무선 네트워크의 규모 변화에 따른 적응적 주소 재설정방법 |
US7672289B2 (en) | 2005-08-09 | 2010-03-02 | Mitsubishi Electric Research Laboratories, Inc. | Method for defining, allocating and assigning addresses in ad hoc wireless networks |
US7515552B2 (en) | 2005-08-09 | 2009-04-07 | Mitsubishi Electric Research Laboratories, Inc. | Structured addressing method for wireless networks |
WO2008059410A2 (en) * | 2006-11-17 | 2008-05-22 | Philips Intellectual Property & Standards Gmbh | Method and apparatus for assigning addresses to nodes of a communication network tree structure |
US7822002B2 (en) * | 2006-12-29 | 2010-10-26 | Intel Corporation | Dynamic address redemption by proxy in statically addressed wireless personal area networks |
JP5145360B2 (ja) * | 2007-02-13 | 2013-02-13 | エスケーテレコム株式会社 | 無線個人通信ネットワークでの効率的な住所割り当て方法及び無線近距離個人通信機器 |
TW200926709A (en) * | 2007-12-03 | 2009-06-16 | Inst Information Industry | Network address assignment method and routing method for a long thin ZigBee network |
-
2008
- 2008-04-23 TW TW097114899A patent/TWI392279B/zh not_active IP Right Cessation
- 2008-06-18 US US12/141,083 patent/US8134964B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040003111A1 (en) * | 2001-04-20 | 2004-01-01 | Masahiro Maeda | Protocol and structure for self-organizing network |
US20050122955A1 (en) * | 2003-12-05 | 2005-06-09 | Hwa-Chun Lin | Method and system for route selection and method for route reconstruction |
US20050180447A1 (en) * | 2004-02-12 | 2005-08-18 | Samsung Electronics Co., Ltd. | Multicast method in zigbee network |
US20060029002A1 (en) * | 2004-05-04 | 2006-02-09 | Samsung Electronics Co., Ltd. | ZigBee network device for assigning addresses to child nodes after constructing cluster-tree structure, address assigning method and routing method |
Also Published As
Publication number | Publication date |
---|---|
US20090268633A1 (en) | 2009-10-29 |
TW200945826A (en) | 2009-11-01 |
US8134964B2 (en) | 2012-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI392279B (zh) | 長鏈狀無線網路之網路位址分配與給定方法以及路由方法 | |
CN101420445B (zh) | 一种无线传感器网络的快速路由协议 | |
CN110661666B (zh) | 一种分组传送网的环网资源建立方法和装置 | |
CN108768736B (zh) | 一种混合型服务功能链嵌入代价的优化方法 | |
CN1708962A (zh) | 用于移动路由器之间拓扑更新的部署 | |
CN103107941B (zh) | 光缆资源自动调度装置及方法 | |
CN109995580B (zh) | 5g网络切片中基于ga_pso混合算法的vn映射方法 | |
CN106961343A (zh) | 一种虚拟映射方法及装置 | |
CN113242179B (zh) | 一种基于sdn的sr路径计算和标签栈生成的方法及sdn控制器 | |
US20090034433A1 (en) | Method for Rebuilding an Ad Hoc Network and the Nodes Thereof | |
CN105530312A (zh) | 网络服务路径选择系统及其选择方法 | |
CN104219153B (zh) | 基于mac 地址定向搜索的网络拓扑自发现方法和装置 | |
CN107919973B (zh) | 用于配置网络设备参数的方法和装置 | |
CN112601240A (zh) | 物联网资源边缘智能调度方法 | |
CN104125146B (zh) | 一种业务处理方法及装置 | |
US7468946B2 (en) | Techniques for provisioning VPNs in the hose model | |
WO2020043120A1 (zh) | 一种在网络中划分内部网关协议区域的方法和装置 | |
CN104053207B (zh) | 一种无线传感器网络空间查询方法 | |
Chen et al. | Virtual network embedding with border matching | |
CN111615203B (zh) | 面向数据中心的基于任务驱动的联合信道时隙分配方法 | |
JP5587254B2 (ja) | 割当装置、割当プログラム、割当方法、及び割当システム | |
CN112910689B (zh) | 一种时钟网络拓扑构建方法及系统 | |
CN113595750B (zh) | 一种网络拓扑的划分方法、装置及网络拓扑管理设备 | |
Londono et al. | NETEMBED: A network resource mapping service for distributed applications | |
CN100486171C (zh) | 光同步数字传送网资源分配中子网间业务规整的实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |