拓撲結構發現方法及裝置制造方法
【專利摘要】本發明實施例提供一種拓撲結構發現方法及裝置。本實施例的拓撲結構發現方法,通過控制器獲取N個路由器之間的拓撲結構,接著,控制器根據該拓撲結構,獲得每個路由器對應的路由表,并分別向每個路由器發送對應的路由表,其中,該路由表包括路由器與其他N-1個路由器之間的路由信息,和路由器與控制器之間的路由信息中的至少一種,從而控制器可以獲得整個網絡的拓撲結構,并根據整個網絡的拓撲結構,進行計算可以獲得最優路徑的路由,進一步的,提高了網絡的利用效率以及吞吐量。
【專利說明】拓撲結構發現方法及裝置
【技術領域】
[0001]本發明涉及通信技術,尤其涉及一種拓撲結構發現方法及裝置。
【背景技術】
[0002]隨著互聯網的發展,越來越多的人們從互聯網上獲取信息,如網絡新聞、搜索引擎,網絡音樂、網絡視頻、社交網站、網絡論壇等。其中,信息中心網絡社101106111:1-10 116切01^1118,以下簡稱I⑶)是以信息內容為中心的網絡,例如有命名數據網絡(^81116(1 0^1:8 ^6切01^,以下簡稱冊⑷或者內容中心網絡(0)111:6111: 06111:1~10
以下簡稱等。
[0003]現有技術中,路由器首先向周圍相鄰的路由器發送路由器自身的信息,接著,相鄰的路由器再向與該些路由器相鄰的路由器發送自身信息以及相鄰路由器的信息,從而逐步擴散,直到通知整個網絡。
[0004]然而,信息中心網絡的路由器無法獲知整個網絡的整體拓撲結構,從而無法獲得較優路徑的路由。
【發明內容】
[0005]本發明提供一種拓撲結構發現方法及裝置,用以獲知整個網絡的拓撲結構。
[0006]第一方面,本發明實施例提供一種拓撲結構發現方法,包括:
[0007]控制器獲取~個路由器之間的拓撲結構』為大于或等于1的整數;
[0008]所述控制器根據所述拓撲結構,獲得每個所述路由器對應的路由表,并分別向每個所述路由器發送對應的路由表,所述路由表包括所述路由器與其他.1個路由器之間的路由信息,和所述路由器與所述控制器之間的路由信息中的至少一種。
[0009]在第一方面的第一種可能的實現方式中,所述控制器獲取~個路由器之間的拓撲結構,包括:
[0010]所述控制器向第一路由器發送第一拓撲發現請求,所述第一拓撲發現請求用以請求所述第一路由器與第二路由器之間的第一拓撲結構,所述第一路由器與所述第二路由器之間物理連接并間隔為1跳,所述第一路由器與所述控制器之間物理連接并間隔為1跳;
[0011]所述控制器接收所述第一路由器發送的第一拓撲發現響應,所述第一拓撲發現響應中攜帶有所述第一路由器與所述第二路由器之間的所述第一拓撲結構。
[0012]結合第一方面的第一種可能的實現方式,在第一方面的第二種可能的實現方式中,所述控制器接收所述第一路由器發送的第一拓撲發現響應之后,還包括:
[0013]所述控制器向第1路由器發送第1拓撲發現請求,所述第1拓撲發現請求用以請求所述第1路由器與第1+1路由器之間的第1拓撲結構,所述第1路由器與所述第1+1路由器之間物理連接并間隔為1跳,所述第1路由器與所述控制器間隔為1跳,1為整數,1大于或等于2,并且1小于或等于~ ;
[0014]所述控制器接收所述第1路由器發送的第1拓撲發現響應,所述第1拓撲發現響應中攜帶有所述第1路由器與所述第1+1路由器之間的所述第1拓撲結構。
[0015]在第一方面的第三種可能的實現方式中,所述控制器獲取~個路由器之間的拓撲結構,包括:
[0016]所述控制器接收所述路由器通過廣播方式發送的拓撲信息上報請求,所述拓撲信息上報請求中攜帶有所述路由器與相鄰路由器之間的相鄰拓撲結構,所述相鄰路由器與所述路由器物理連接并間隔為1跳。
[0017]結合第一方面的第三種可能的實現方式,在第一方面的第四種可能的實現方式中,所述控制器根據所述拓撲結構,獲得每個所述路由器對應的路由表,并分別向每個所述路由器發送對應的路由表,包括:
[0018]所述控制器根據所述路由器與所述相鄰路由器之間的所述相鄰拓撲結構和預設策略,獲得所述路由器與所述相鄰路由器對應的路由表;
[0019]所述控制器將所述路由表發送給與所述路由表對應的所述路由器。
[0020]結合第一方面的第一種可能的實現方式中至第一方面的第四種可能的實現方式中任意一種,在第一方面的第五種可能的實現方式中,所述控制器根據所述拓撲結構,獲得每個所述路由器對應的路由表,并分別向每個所述路由器發送對應的路由表之后,還包括:
[0021]所述控制器獲取路由器變更信息,所述路由器變更信息為新增路由器、新增與所述路由器相連的鏈路、所述路由器失效、或者與所述路由器相連的鏈路失效:
[0022]所述控制器根據所述路由器變更信息獲取新路由表,并向與所述新路由表對應的所述路由器發送所述新路由表。
[0023]結合第一方面的第五種可能的實現方式,在第一方面的第六種可能的實現方式中,所述控制器獲取路由器的變更信息,包括:
[0024]所述控制器向所述第一路由器或與所述第一路由器間隔為1(跳的第1(路由器發送拓撲信息變更查詢請求,所述拓撲信息變更查詢請求用以請求查詢所述第一路由器的所述變更信息,所述第X路由器與所述控制器之間直接連接或間接連接,X為大于1的整數;
[0025]所述控制器接收所述第一路由器或所述第1(路由器發送的拓撲信息變更查詢響應,以獲取所述第一路由器的所述變更信息。
[0026]結合第一方面的第五種可能的實現方式,在第一方面的第七種可能的實現方式中,所述控制器獲取路由器的變更信息,包括:
[0027]所述控制器接收所述第一路由器或第1(路由器發送的拓撲信息上報請求,以獲取所述第一路由器的所述變更信息,所述第X路由器與所述第一路由器間隔為1(跳,所述第1(路由器與所述控制器之間直接連接或間接連接,X為大于1的整數。
[0028]結合第一方面至第一方面的第七種可能的實現方式中任意一種,在第一方面的第八種可能的實現方式中,所述控制器獲取~個路由器之間的拓撲結構之前,還包括:
[0029]所述控制器向第一路由器發送鄰居發現請求,所述鄰居發現請求用以請求所述第一路由器的標識;或者
[0030]所述控制器根據接收到所述第一路由器發送的所述鄰居發現請求,向所述第一路由器發送鄰居發現響應,所述鄰居發現請求用以請求與所述第一路由器相鄰的所述控制器標識或所述路由器標識,所述鄰居發現響應攜帶有所述控制器的所述控制器標識。
[0031]結合第一方面的第一種可能的實現方式至第一方面的第二種可能的實現方式中任意一種,在第一方面的第九種可能的實現方式中,所述第一拓撲發現請求與所述第一拓撲發現響應均攜帶有相同的內容名、所述控制器的標識和所述第一路由器的標識中的至少一種。
[0032]結合第一方面的第二種可能的實現方式中,在第一方面的第十種可能的實現方式中,所述第~拓撲發現請求與所述第~拓撲發現響應均攜帶有相同的內容名、所述控制器的標識和所述第1路由器的標識中的至少一種。
[0033]結合第一方面的第八種可能的實現方式中,在第一方面的第十一種可能的實現方式中,所述鄰居發現請求和所述鄰居發現響應的關鍵字均為^61^1301*01800^61*7。
[0034]結合第一方面的第一種可能的實現方式或第一方面的第二種可能的實現方式,在第一方面的第十二種可能的實現方式中,所述第一拓撲發現請求、所述第一拓撲發現響應的關鍵字均為和丁0。
[0035]結合第一方面的第二種可能的實現方式中,在第一方面的第十三種可能的實現方式中,所述第1拓撲發現請求和所述第1拓撲發現響應的關鍵字均為和%1^6丁0。
[0036]結合第一方面的第三種可能的實現方式或第一方面的第四種可能的實現方式,在第一方面的第十四種可能的實現方式中,所述拓撲信息上報請求的關鍵字均為丁00010^70:18(30X61*7。
[0037]結合第一方面的第六種可能的實現方式中,在第一方面的第十五種可能的實現方式中,所述拓撲信息變更查詢請求和所述拓撲信息變更查詢響應的關鍵字均為¢^1和
[0038]本發明第二方面,提供一種拓撲結構發現方法,包括:
[0039]第一路由器向控制器發送網絡中網絡節點之間的拓撲結構,所述網絡包括~個路由器,所述第一路由器為所述~個路由器中的一個,~為大于或等于1的整數;
[0040]所述第一路由器接收所述控制器發送的路由表,所述路由表為所述控制器根據所述拓撲結構生成的。
[0041]在第二方面的第一種可能的實現方式中,所述第一路由器向控制器發送網絡中網絡節點之間的拓撲結構,包括:
[0042]所述第一路由器接收所述控制器發送的第一拓撲發現請求,所述第一拓撲發現請求用以請求所述第一路由器與第二路由器之間的第一拓撲結構,所述第一路由器與所述第二路由器之間物理連接并間隔為1跳;
[0043]所述第一路由器向所述控制器發送第一拓撲發現響應,所述第一拓撲發現響應中攜帶有所述第一路由器與第二路由器之間的所述第一拓撲結構。
[0044]在第二方面的第二種可能的實現方式中,所述第一路由器向控制器發送網絡中網絡節點之間的拓撲結構,包括:
[0045]所述第一路由器通過廣播方式向所述控制器發送拓撲信息上報請求,所述拓撲信息上報請求中攜帶有所述第一路由器與第二路由器之間的相鄰拓撲結構,所述第一路由器與所述第二路由器之間直接物理連接并間隔為1跳;
[0046]所述第一路由器接收所述控制器發送的拓撲信息上報響應,所述拓撲信息上報響應中攜帶有從所述控制器到所述第一路由器的跳數,所述第一路由器根據所述跳數確定到所述控制器的路由,并將所述路由存儲在所述第一路由器上設置的所述路由表中。
[0047]結合第二方面至第二方面的第二種可能的實現方式中任意一種,在第二方面的第三種可能的實現方式中,所述第一路由器向控制器發送網絡中網絡節點之間的拓撲結構之前,還包括:
[0048]所述第一路由器接收所述控制器發送的鄰居發現請求,所述鄰居發現請求用以請求所述第一路由器物理的標識;或者
[0049]所述第一路由器向所述控制器發送所述鄰居發現請求之后,所述第一路由器接收所述控制器發送的鄰居發現響應,所述鄰居發現請求用以請求與所述第一路由器相鄰的所述控制器標識或所述路由器標識,所述鄰居發現響應攜帶有所述控制器標識。
[0050]結合第二方面至第二方面的第三種可能的實現方式中任意一種,在第二方面的第四種可能的實現方式中,所述第一路由器接收所述控制器路由表之后,還包括:
[0051]所述第一路由器向所述控制器發送網絡中的變更信息,所述變更信息為所述網絡中新增與所述第一路由器相連的鏈路、所述第一路由器失效、或者與所述第一路由器相連的鏈路失效;
[0052]所述第一路由器接收所述控制器發送的路由表。
[0053]結合第二方面的第四種可能的實現方式,在第二方面的第五種可能的實現方式中,所述第一路由器向所述控制器發送網絡中的變更信息,包括:
[0054]所述第一路由器接收所述控制器發送的拓撲信息變更查詢請求,所述拓撲信息變更查詢請求用以請求查詢所述第一路由器的所述變更信息;
[0055]所述第一路由器向所述控制器發送拓撲信息變更查詢響應,所述拓撲信息變更查詢響應中攜帶有所述第一路由器的所述變更信息。
[0056]結合第二方面的第四種可能的實現方式,在第二方面的第六種可能的實現方式中,所述第一路由器向所述控制器發送網絡中的變更信息,包括:
[0057]所述第一路由器向所述控制器發送拓撲信息上報請求,以告知所述第一路由器的所述變更信息,所述拓撲信息上報請求中攜帶有所述第一路由器的所述變更信息。
[0058]結合第二方面的第一種可能的實現方式,在第二方面的第七種可能的實現方式中,所述第一拓撲發現請求與所述第一拓撲發現響應均攜帶有相同的內容名、所述控制器的標識和所述第一路由器的標識中的至少一種。
[0059]結合第二方面的第二種可能的實現方式,在第二方面的第八種可能的實現方式中,所述拓撲信息上報請求、所述拓撲信息上報響應均攜帶有相同的內容名、所述控制器的標識和所述第一路由器的標識中的至少一種。
[0060]結合第二方面的第三種可能的實現方式,在第二方面的第九種可能的實現方式中,所述鄰居發現請求和所述鄰居發現響應均攜帶有相同的內容名、所述控制器的標識和所述第一路由器的標識中的至少一種;和/或
[0061]所述鄰居發現請求和所述鄰居發現響應的關鍵字均為^618111301*018(30^61*7。
[0062]結合第二方面的第一種可能的實現方式,在第二方面的第十種可能的實現方式中,所述第一拓撲發現請求和所述第一拓撲發現響應的關鍵字均為和%1^6丁0。
[0063]結合第二方面的第二種可能的實現方式,在第二方面的第十一種可能的實現方式中,所述拓撲信息上報請求、所述拓撲信息上報響應的關鍵字均為¢^1和丁00010^70:18(30X61*7。
[0064]結合第二方面的第五種可能的實現方式,在第二方面的第十二種可能的實現方式中,所述拓撲信息變更查詢請求和所述拓撲信息變更查詢響應的關鍵字均為¢^1和
[0065]第三方面,本發明實施例提供一種拓撲結構發現裝置,包括:
[0066]獲取模塊,用于獲取~個路由器之間的拓撲結構,~為大于或等于1的整數;
[0067]處理模塊,用于根據所述拓撲結構,獲得每個所述路由器對應的路由表,并分別向每個所述路由器發送對應的路由表,所述路由表包括所述路由器與其他.1個路由器之間的路由信息,和所述路由器與所述控制器之間的路由信息中的至少一種。
[0068]在第三方面的第一種可能的實現方式中,所述獲取模塊,具體用于向所述第一路由器發送第一拓撲發現請求,所述第一拓撲發現請求用以請求所述第一路由器與第二路由器之間的第一拓撲結構,所述第一路由器與所述第二路由器之間物理連接并間隔為1跳,所述第一路由器與所述控制器之間物理連接并間隔為1跳;并接收所述第一路由器發送的第一拓撲發現響應,所述第一拓撲發現響應中攜帶有所述第一路由器與第二路由器之間的所述第一拓撲結構。
[0069]結合第三方面的第一種可能的實現方式,在第三方面的第二種可能的實現方式中,所述獲取模塊,還用于向所述第1路由器發送第1拓撲發現請求,所述第1拓撲發現請求用以請求所述第1路由器與所述第~路由器之間的第1拓撲結構,所述第1路由器與所述第1+1路由器之間物理連接并間隔為1跳,所述第1路由器與所述控制器間隔為1跳,I為整數,1大于或等于2,并且1小于或等于~ ;并接收所述第1路由器發送的第1拓撲發現響應,所述第1拓撲發現響應中攜帶有所述第1路由器與所述第1+1路由器之間的所述第1拓撲結構。
[0070]在第三方面的第三種可能的實現方式中,所述獲取模塊,具體用于接收所述路由器通過廣播方式發送的拓撲信息上報請求,所述拓撲信息上報請求中攜帶有所述路由器與相鄰路由器之間的相鄰拓撲結構,所述相鄰路由器與所述路由器物理連接并間隔為1跳。
[0071]結合第三方面的第三種可能的實現方式,在第三方面的第四種可能的實現方式中,所述獲取模塊,具體用于根據所述路由器與所述相鄰路由器之間的所述相鄰拓撲結構和預設策略,獲取所述路由器與所述相鄰路由器對應的路由表;
[0072]所述處理模塊,具體用于將所述路由表發送給與所述路由表對應的路由器。
[0073]結合第三方面的第一種可能的實現方式中至第三方面的第四種可能的實現方式中任意一種,在第三方面的第五種可能的實現方式中,所述獲取模塊,還用于獲取所述路由器變更信息,所述路由器變更信息為新增路由器、新增與所述路由器相連的鏈路、所述路由器失效、或者與所述路由器相連的鏈路失效:
[0074]所述處理模塊,還用于根據所述路由器變更信息獲取新路由表,并向與所述新路由表對應的所述路由器發送所述新路由表。
[0075]結合第三方面的第五種可能的實現方式,在第三方面的第六種可能的實現方式中,所述獲取模塊,具體用于向所述第一路由器或與所述第一路由器間隔為X跳的第1(路由器發送拓撲信息變更查詢請求,所述拓撲信息變更查詢請求用以請求查詢所述第一路由器的所述變更信息,所述第X路由器與所述控制器之間直接連接或間接連接,1(為大于1的整數;并接收所述第一路由器或所述第1(路由器發送的拓撲信息變更查詢響應,以獲取所述第一路由器的所述變更信息。
[0076]結合第三方面的第五種可能的實現方式,在第三方面的第七種可能的實現方式以獲取所述第一路由器的所述變更信息,所述第述第X路由器與所述控制器之間直接連接或間接連接,X為大于1的整數。
[0077]結合第三方面至第三方面的第七種可能的實現方式中任意一種,在第三方面的第八種可能的實現方式中,還包括,發送模塊,用于向第一路由器發送鄰居發現請求,所述鄰居發現請求用以請求所述第一路由器的標識;或者
[0078]所述發送模塊,用于根據接收到所述第一路由器發送的所述鄰居發現請求,向所述第一路由器發送鄰居發現響應,所述鄰居發現請求用以請求與所述第一路由器相鄰的所述控制器標識或所述路由器標識,所述鄰居發現響應攜帶有所述控制器的所述控制器標識。
[0079]結合第三方面的第一種可能的實現方式至第三方面的第二種可能的實現方式中任意一種,在第三方面的第九種可能的實現方式中,所述第一拓撲發現請求與所述第一拓撲發現響應均攜帶有相同的內容名、所述控制器的標識和所述第一路由器的標識中的至少一種。
[0080]結合第三方面的第二種可能的實現方式中,在第三方面的第十種可能的實現方式中,所述第~拓撲發現請求與所述第~拓撲發現響應均攜帶有相同的內容名、所述控制器的標識和所述第1路由器的標識中的至少一種。
[0081]結合第三方面的第八種可能的實現方式中,在第三方面的第十一種可能的實現方式中,所述鄰居發現請求和所述鄰居發現響應的關鍵字均為^61^1301*01800^61*7。
[0082]結合第三方面的第一種可能的實現方式或第三方面的第二種可能的實現方式,在第三方面的第十二種可能的實現方式中,所述第一拓撲發現請求、所述第一拓撲發現響應的關鍵字均為和丁0。
[0083]結合第三方面的第二種可能的實現方式中,在第三方面的第十三種可能的實現方式中,所述第1拓撲發現請求和所述第1拓撲發現響應的關鍵字均為和%1^6丁0。
[0084]結合第三方面的第三種可能的實現方式或第三方面的第四種可能的實現方式,在第三方面的第十四種可能的實現方式中,所述拓撲信息上報請求的關鍵字均為丁00010^70:18(30X61*7。
[0085]結合第三方面的第六種可能的實現方式中,在第三方面的第十五種可能的實現方式中,所述拓撲信息變更查詢請求和所述拓撲信息變更查詢響應的關鍵字均為¢^1和
[0086]本發明第四方面,提供一種拓撲結構發現裝置,包括:
[0087]發送模塊,用于向控制器發送網絡中網絡節點之間的拓撲結構,所述網絡包括~個路由器,所述路由器為所述~個路由器中的一個,~為大于或等于1的整數;
[0088]接收模塊,用于接收所述控制器發送的路由表,所述路由表為所述控制器根據所述拓撲結構生成的。
[0089]在第四方面的第一種可能的實現方式中,所述接收模塊,用于接收所述控制器發送的第一拓撲發現請求,所述第一拓撲發現請求用以請求所述第一路由器與第二路由器之間的第一拓撲結構,所述第一路由器與所述第二路由器之間物理連接并間隔為1跳;并向所述控制器發送第一拓撲發現響應,所述第一拓撲發現響應中攜帶有所述第一路由器與第二路由器之間的所述第一拓撲結構。
[0090]在第四方面的第二種可能的實現方式中,所述發送模塊,具體用于通過廣播方式向所述控制器發送拓撲信息上報請求,所述拓撲信息上報請求中攜帶有所述第一路由器與所述第二路由器之間的相鄰拓撲結構,所述第一路由器與所述第二路由器之間直接物理連接并間隔為1跳;
[0091]所述接收模塊,具體用于第一路由器接收所述控制器發送的拓撲信息上報響應,所述拓撲信息上報響應中攜帶有從所述控制器到所述第一路由器的跳數,所述第一路由器根據所述跳數確定到所述控制器的路由,并將所述路由存儲在所述第一路由器上設置的所述路由表中。
[0092]結合第四方面至第四方面的第二種可能的實現方式中任意一種,在第四方面的第三種可能的實現方式中,所述接收模塊,還用于接收所述控制器發送的鄰居發現請求,所述鄰居發現請求用以請求所述第一路由器物理的標識;或者
[0093]所述接收模塊,還用于向所述控制器發送所述鄰居發現請求之后,所述第一路由器接收所述控制器發送的鄰居發現響應,所述鄰居發現請求用以請求與所述第一路由器相鄰的所述控制器標識或所述路由器標識,所述鄰居發現響應攜帶有所述控制器標識。
[0094]結合第四方面至第四方面的第三種可能的實現方式中任意一種,在第四方面的第四種可能的實現方式中,所述發送模塊,還用于向所述控制器發送網絡中的變更信息,所述變更信息為所述網絡中新增與所述第一路由器相連的鏈路、所述第一路由器失效、或者與所述第一路由器相連的鏈路失效;
[0095]所述接收模塊,還用于接收所述控制器發送的路由表。
[0096]結合第四方面的第四種可能的實現方式,在第四方面的第五種可能的實現方式中,所述接收模塊,具體用于接收所述控制器發送的拓撲信息變更查詢請求,所述拓撲信息變更查詢請求用以請求查詢所述第一路由器的所述變更信息;
[0097]所述發送模塊,具體用于向所述控制器發送拓撲信息變更查詢響應,所述拓撲信息變更查詢響應中攜帶有所述第一路由器的所述變更信息。
[0098]結合第四方面的第四種可能的實現方式,在第四方面的第六種可能的實現方式中,所述發送模塊,具體用于向所述控制器發送拓撲信息上報請求,以告知所述第一路由器的所述變更信息,所述拓撲信息上報請求中攜帶有所述第一路由器的所述變更信息。
[0099]結合第四方面的第一種可能的實現方式,在第四方面的第七種可能的實現方式中,所述第一拓撲發現請求與所述第一拓撲發現響應均攜帶有相同的內容名、所述控制器的標識和所述第一路由器的標識中的至少一種。
[0100]結合第四方面的第二種可能的實現方式,在第四方面的第八種可能的實現方式中,所述拓撲信息上報請求、所述拓撲信息上報響應均攜帶有相同的內容名、所述控制器的標識和所述第一路由器的標識中的至少一種。
[0101]結合第四方面的第三種可能的實現方式,在第四方面的第九種可能的實現方式中,所述鄰居發現請求和所述鄰居發現響應均攜帶有相同的內容名、所述控制器的標識和所述第一路由器的標識中的至少一種;和丨或
[0102]所述鄰居發現請求和所述鄰居發現響應的關鍵字均為~61油1301~01800^61~7。
[0103]結合第四方面的第一種可能的實現方式,在第四方面的第十種可能的實現方式中,所述第一拓撲發現請求和所述第一拓撲發現響應的關鍵字均為和%1^6丁0。
[0104]結合第四方面的第二種可能的實現方式,在第四方面的第十一種可能的實現方式中,所述拓撲信息上報請求、所述拓撲信息上報響應的關鍵字均為¢^1和丁00010^70:18(30X61*7。
[0105]結合第四方面的第五種可能的實現方式,在第四方面的第十二種可能的實現方式中,所述拓撲信息變更查詢請求和所述拓撲信息變更查詢響應的關鍵字均為¢^1和
[0106]本發明實施例提供的拓撲結構發現方法,通過控制器獲取~個路由器之間的拓撲結構,接著,控制器根據該拓撲結構,獲得每個路由器對應的路由表,并分別向每個路由器發送對應的路由表,其中,該路由表包括路由器與其他.1個路由器之間的路由信息,和路由器與控制器之間的路由信息中的至少一種,從而控制器可以獲得整個網絡的拓撲結構,并根據整個網絡的拓撲結構,進行計算可以獲得最優路徑的路由,進一步的,提高了網絡的利用效率以及吞吐量。
【專利附圖】
【附圖說明】
[0107]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0108]圖1為本發明一實施例提供的拓撲結構發現方法的流程圖;
[0109]圖2為本發明另一實施例提供的拓撲結構發現方法的流程圖;
[0110]圖3為本發明再一實施例提供的拓撲結構發現方法的流程圖;
[0111]圖4為本發明再一實施例提供的拓撲結構發現方法的流程圖;
[0112]圖5為本發明一實施例提供的拓撲結構發現裝置的結構示意圖;
[0113]圖6為本發明另一實施例提供的拓撲結構發現裝置的結構示意圖;
[0114]圖7為本發明再一實施例提供的拓撲結構發現裝置的結構示意圖;
[0115]圖8為本發明再一實施例提供的拓撲結構發現裝置的結構示意圖。
【具體實施方式】
[0116]為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0117]圖1為本發明一實施例提供的拓撲結構發現方法的流程圖;如圖1所示,本實施例的方法包括:
[0118]步驟101、控制器獲取~個路由器之間的拓撲結構。
[0119]在本實施例中,該拓撲結構為~個路由器之間相互連接的形式,即路由器之間的拓撲結構,其中,^為大于1的整數。
[0120]在該網絡中,控制器與相鄰的路由器物理連接,同時,路由器與相鄰的路由器進行物理連接,也就說,控制器不一定與該網絡中的所有路由器直接物理連接,但是,控制器可以與所有的路由器通過發送控制指令的方式進行交互,其中,物理連接可以是通過鏈路層和物理連接建立點對點的鄰接關系。
[0121]控制器獲取~個路由器之間的拓撲結構可以至少有兩種實現方式,具體為:
[0122]第一種實現方式,首先,控制器向第一路由器發送第一拓撲發現請求,該第一拓撲發現請求用以請求第一路由器與第二路由器之間的第一拓撲結構,其中,第一路由器與第二路由器相鄰,即第一路由器與第二路由器之間物理連接并間隔為1跳;接著,控制器接收第一路由器發送的第一拓撲發現響應,該第一拓撲發現響應中攜帶有第一路由器與第二路由器之間的第一拓撲結構,例如,該第一拓撲發現響應中可以攜帶有第二路由器的標識,以及第一路由器與第二路由器相連接的端口號,從而控制器根據與第一路由器相鄰的第二路由器的標識,獲得第一路由器與第二路由器之間的第一拓撲結構,即控制器獲得兩跳及兩跳以內的拓撲結構,需要說明的是,至少有一個第二路由器與第一路由器相鄰。
[0123]再接著,控制器可以向第1路由器發送第1拓撲發現請求,該第1拓撲發現請求用以請求第1路由器與第~路由器之間的第1拓撲結構,該第1路由器與第~路由器相鄰,即第1路由器與第~路由器之間物理連接并間隔為1跳,第1路由器與控制器間隔為1跳,需要說明的是,與控制器間隔為1跳的第1路由器至少有一個,相應的,與控制器間隔為~跳的第~路由器也至少有一個,第~路由器與控制器間隔為~跳,1大于或等于2,然后,控制器接收第1路由器發送的第1拓撲發現響應,該第1拓撲發現響應中攜帶有第1路由器與第~路由器之間的第1拓撲結構,例如,該第1拓撲發現響應可以攜帶有與第1路由器相鄰的第~路由器的標識,從而,控制器可以根據第1路由器與第~路由器的標識,獲得第1路由器與第~路由器之間的第1拓撲結構,也就是說,控制器根據上述的實現方式,獲得了與控制器間隔1跳、間隔2跳直到間隔~跳的路由器的信息,從而控制器獲得與控制器間隔為~跳以及~跳以內的網絡的拓撲結構。控制器將該第1拓撲發現響應攜帶的拓撲結構存儲在拓撲表中。
[0124]控制器可以根據上述的實現方式,依次逐跳的獲得與各路由器物理連接并間隔為1跳的路由器的信息,如路由器的標識,在控制器無法從第1拓撲發現響應中獲得新的路由器的信息時,可確定控制器獲得了整個網絡的拓撲結構。
[0125]需要說明的是,第一拓撲發現請求的內容名字的格式可以為:
[0126]011/第一路由器的標識/如此#。/控制器名/端口號;
[0127]其中,端口號為第一路由器接收第一拓撲發現請求的端口號。
[0128]需要說明的是,關鍵字011、%11仏10不限于此,也可以是其他的能夠實現該功能的關鍵字。
[0129]相應的,第一拓撲發現響應與第一拓撲發現請求的內容名字的格式可以相同。
[0130]進一步的,第一拓撲發現響應與第一拓撲發現請求的內容名字中還可以攜帶有源網絡節點的標識以及目標網絡節點的標識,例如,控制器的標識以及第一路由器的標識。
[0131]同樣的,第1拓撲發現響應與第1拓撲發現請求的格式與上述的第1拓撲發現響應與第I拓撲發現請求的格式相同,在此不再贅述。
[0132]第二種實現方式,控制器接收第一路由器通過廣播方式發送的拓撲信息上報請求,該拓撲信息上報請求中攜帶有第一路由器與相鄰路由器之間的相鄰拓撲結構,其中,相鄰路由器為與第一路由器相鄰的路由器,即第一路由器與相鄰路由器之間物理連接并間隔為I跳;需要說明的是,每個路由器在完成鄰居發現之后,都可以向控制器發送拓撲信息上報請求,用以告知控制器該路由器的拓撲結構,從而在控制器接收到拓撲信息之后,控制器可以將該拓撲結構存儲在拓撲表。也就是說,在網絡中的每個路由器可以通過廣播方式發送該拓撲信息上報請求,從而,控制器可以獲得網絡中所有路由器與相鄰路由器之間的拓撲結構,也就是說,控制器可以根據網絡中所有路由器與相鄰路由器之間的拓撲結構,確定網絡中所有路由器之間的拓撲結構以及路由器與控制器之間的拓撲結構;最后,控制器將拓撲信息上報響應發送給第一路由器。
[0133]需要說明的是,第一拓撲信息上報請求的內容名字的格式可以為:
[0134]TopologyDiscovery/第一路由器的標識/端口號/第二路由器的標識;
[0135]其中,端口號為第一路由器向第二路由器發送拓撲信息上報請求的端口號。
[0136]需要說明的是,關鍵字TopologyDiscovery不限于此,也可以是其他的能夠實現該功能的關鍵字。
[0137]相應的,第一拓撲信息上報響應與第一拓撲信息上報請求的內容名字的格式可以相同。
[0138]進一步的,第一拓撲信息上報響應與第一拓撲信息上報請求的內容名字中還可以攜帶有源網絡節點的標識以及目標網絡節點的標識,例如,第一路由器的標識以及控制器的標識。
[0139]步驟102、控制器根據拓撲結,獲得每個路由器對應的路由表,并分別向每個路由器發送對應的路由表。
[0140]在本實施例中,控制器中設置有拓撲表,并且網絡的拓撲結構存儲在該拓撲表中。
[0141]無論是上述的哪種實現方式,控制器可以根據獲取的拓撲結構,獲取每個路由器對應的路由表,并分別向每個路由器發送對應的路由表。
[0142]具體的,在上述第一種實現方式中,在控制器獲取第一路由器與第二路由器之間的拓撲結構之后,即控制器獲得兩跳以內的拓撲結構之后,控制器可以根據該拓撲結構生成兩跳以內路由器的路由表,并將該路由表發送給對應的路由器,接著,在控制器獲取第M路由器與第N路由器之間的拓撲結構之后,即控制器獲得N跳以內的拓撲結構之后,控制器可以根據該拓撲結構生成N跳以內路由器的路由表,并將該路由表發送給對應的路由器。
[0143]具體的,在上述第二種實現方式中,在控制器獲取整個網絡的拓撲結構之后,可以獲得每個路由器對應的路由表,并分別向每個路由器發送對應的路由表。
[0144]本實施例的拓撲結構發現方法,通過控制器獲取N個路由器之間的拓撲結構,接著,控制器根據該拓撲結構,獲得每個路由器對應的路由表,并分別向每個路由器發送對應的路由表,其中,該路由表包括路由器與其他N-1個路由器之間的路由信息,和路由器與控制器之間的路由信息中的至少一種,從而控制器可以獲得整個網絡的拓撲結構,并根據整個網絡的拓撲結構,進行計算可以獲得最優路徑的路由,進一步的,提高了網絡的利用效率以及吞吐量。
[0145]需要說明的是,在上述實施例的基礎上,在上述第二種實現方式實現中,步驟102、控制器根據拓撲結構,獲得每個路由器對應的路由表,并分別向每個路由器發送對應的路由表,還可以包括:
[0146]控制器根據路由器與相鄰路由器之間的相鄰拓撲結構和預設策略,獲得路由器與相鄰路由器對應的路由表;
[0147]控制器將路由表發送給與路由表對應的路由器。
[0148]在上述實施例的基礎上,控制器獲得網絡的所有拓撲結構之后,可以通過拓撲表存儲的拓撲結構以及預設策略,如最短路徑策略,計算出路由,接著,控制器將該路由發送給路由器,路由器在收到該路由之后,可以存儲在FIB (Forwarding Informat1n Base,以下轉發表)中,并更新之前已有的相關路由,接著,控制器接收路由器發送的響應,該響應是確認該路由器已經接收到控制器發送的路由。從而,建立完成控制器向各路由器發送路由的路徑。
[0149]具體的,控制器通過第一路由器將路由發送給目的路由器的具體格式可以為:
[0150]CTL/第一路由器標識/RouteTo/目的路由器標識/轉發端口號;
[0151]其中,轉發端口號為第一路由器向目的路由器轉發該路由的端口號。
[0152]需要說明的是,關鍵字CTL、RouteTo不限于此,也可以是其他的能夠實現該功能的關鍵字。
[0153]相應的,控制器將路由發送給網絡節點之后,控制器可以接收到網絡節點發送的響應,該響應與控制器發送給目的路由器的內容名可以相同。
[0154]進一步的,在控制器通過第一路由器將路由發送給目的路由器的內容名字格式,以及對應的響應的內容名字格式中還可以攜帶有源網絡節點的標識以及目標網絡節點的標識,例如,控制器的標識以及目的路由器的標識。
[0155]在上述實施例的基礎上,在步驟101、控制器獲取N個路由器之間的拓撲結構之前,還可以包括:
[0156]控制器向第一路由器發送鄰居發現請求,該鄰居發現請求用以請求第一路由器的標識;或者
[0157]控制器根據接收到第一路由器發送的的鄰居發現請求,向第一路由器發送鄰居發現響應,該鄰居發現請求用以請求與第一路由器相鄰的控制器標識或路由器標識,該鄰居發現響應攜帶有控制器的控制器標識。
[0158]具體的,在步驟101之前,即進行拓撲結構的上報之前,網絡中的各網絡節點之間,即N個路由器之間需要進行鄰居發現,從而該網絡節點獲得與該網絡節點相鄰的,即物理連接并間隔為I跳的網絡節點的信息,如網絡節點的標識,例如,第一路由器獲得與第一路由器相鄰的第二路由器的標識以及控制器的標識,或者,控制器獲得與控制器相鄰的第一路由器的標識信息,需要說明的是,在網絡中,至少有一個第一路由器,以及至少有一個第二路由器。
[0159]舉例來說,控制器向第一路由器發送鄰居發現請求的內容名字格式可以為:
[0160]NeighborDiscovery/ 控制器的標識 / 端口號;
[0161]其中,該端口號為控制器向第一路由器發送鄰居發現請求時發送的端口號。
[0162]需要說明的是,關鍵字NeighborDiscovery不限于此,也可以是其他的能夠實現該功能的關鍵字。
[0163]鄰居發現響應與鄰居發現請求的內容名字格式可以相同。
[0164]進一步的,在鄰居發現響應與鄰居發現請求的內容名字中還可以攜帶有有源網絡節點的標識以及目標網絡節點的標識,例如,控制器的標識以及第一路由器的標識。
[0165]圖2為本發明另一實施例提供的拓撲結構發現方法的流程圖;如圖2所示,本實施例的方法包括:
[0166]步驟201、控制器獲取N個路由器之間的拓撲結構,該網絡中的網絡節點包括有控制器和路由器。
[0167]步驟202、控制器根據拓撲結構,獲得每個路由器對應的路由表,并分別向每個路由器發送對應的路由表。
[0168]本實施例中的步驟201和步驟202分別與步驟101和步驟102的實現原理與技術效果相同,在此不再贅述。
[0169]步驟203、控制器獲取網絡中的路由器的變更信息,該變更信息為新增路由器、新增與路由器相連的鏈路、路由器失效、或者與路由器相連的鏈路失效。
[0170]在本實施例中,該路由器可以是網絡中的所有網路節點中的任一個路由器。在整個網絡中,若路由器發生變更,例如,網絡中新增一個路由器、新增與路由器,即網絡已存在路由器相連的鏈路、路由器失效、或者與路由器相連的鏈路失效時,控制器獲取網絡中的路由器的變更信息具有至少兩種適用場景,具體為:
[0171]第一種適用場景,在控制器等待路由器發送信息的時間超過預設時長時,控制器可以主動向該路由器發送拓撲信息變更查詢請求,其中,該路由器是網絡中現有的路由器,如第一路由器,例如,控制器可以向第一路由器或與第一路由器間隔為K跳的第K路由器發送拓撲信息變更查詢請求,該拓撲信息變更查詢請求用以請求查詢第一路由器的變更,第K路由器與控制器之間直接連接或間接連接,K為大于I的整數;接著,控制器接收第一路由器或第K路由器發送的拓撲信息變更查詢響應,其中,該拓撲信息變更查詢響應中攜帶第一路由器的變更信息。
[0172]舉例來講,控制器可以向第一路由器或與第一路由器間隔為K跳的第K路由器發送拓撲信息變更查詢請求,該該拓撲信息變更查詢請求用以請求查詢第一路由器的變更。
[0173]CTL/ 目的路由器的標識/NeighborInfoUpdate
[0174]其中,該目的路由器的標識為第一路由器的標識或是與第一路由器間隔為K跳的第K路由器的標識。
[0175]需要說明的是,關鍵字CTL、NeighborInfoUpdate不限于此,也可以是其他的能夠實現該功能的關鍵字。
[0176]第二種適用場景,在網絡中,第一路由器發生變化時,即新增路由器、新增路由器鏈路、路由器失效或者與路由器相連的鏈路發生失效時,發生變更的路由器可以通過上述的鄰居發現機制,主動地向控制器上報變更信息。
[0177]舉例來講,例如,該路由器為第一路由器,控制器可以接收第一路由器與第一路由器間隔為K跳的第K路由器發送的拓撲信息上報請求,該拓撲信息上報請求中攜帶有第一路由器的變更信息,第K路由器與控制器之間直接連接或間接連接,K為大于I的整數。
[0178]CTL/控制器名/TopologyDiscovery/第一路由器的標識/端口號/與第一路由器相鄰的路由器的標識
[0179]其中,該端口號為第一路由器向控制器發送該拓撲信息上報請求的端口號,第一路由器的標識是發送該拓撲信息上報請求的路由器的標識。
[0180]需要說明的是,關鍵字CTL、TopologyDiscovery不限于此,也可以是其他的能夠實現該功能的關鍵字。
[0181]進一步的,在路由器向控制器發送該拓撲信息上報請求的路徑中,在該路徑中的路由器可以接收到該拓撲信息上報請求,并根據自身存儲的FIB表中“CTLL/控制器名”表項對應的轉發端口進行轉發,若因拓撲變化導致相應端口無法轉發,路由器則通過廣播方式向所有端口進行轉發。
[0182]在控制器接收該拓撲信息變更查詢請求之后,控制器可以向路由器發送的拓撲信息變更查詢響應,該拓撲信息變更查詢響應中攜帶有請求的信息,其中,拓撲信息上報響應與拓撲信息上報請求的內容名字格式可以相同。
[0183]步驟204、控制器更新拓撲表,并根據拓撲表向網絡中的所有路由器發送路由表。
[0184]在控制器獲取網絡中的第一路由器的變更信息之后,控制器可以更新拓撲表,并根據拓撲表向網絡中的所有路由器發送路由表。
[0185]在本實施例中,控制器可以獲取網絡中的路由器的變更信息,該變更信息為新增路由器、新增與路由器相連的鏈路、路由器失效、或者與路由器相連的鏈路失效,并且,控制器可以更新拓撲表,并根據拓撲表向網絡中的所有路由器發送路由表。在網絡中任一路由器發生變化的情況下,控制器可以首先獲知該變更信息,從而,避免了現有技術中將變更的路由信息進行逐步擴散造成的時延現象。
[0186]圖3為本發明再一實施例提供的拓撲結構發現方法的流程圖;如圖3所示,本實施例的方法包括:
[0187]步驟301、第一路由器向控制器發送網絡中網絡節點之間的拓撲結構,網絡包括N個路由器,該第一路由器為N個路由器中的一個,N為大于或等于I的整數。
[0188]在該網絡中,控制器與相鄰的路由器物理連接,同時,路由器與相鄰的路由器進行物理連接,也就說,控制器不一定與該網絡中的所有路由器直接物理連接,但是,控制器可以與所有的路由器通過發送控制指令的方式進行交互,其中,物理連接可以是通過鏈路層和物理連接建立點對點的鄰接關系。
[0189]第一路由器告知控制器網絡中網絡節點之間的拓撲結構可以至少有兩種實現方式,具體為:
[0190]第一種實現方式,第一路由器接收控制器發送的第一拓撲發現請求,該第一拓撲發現請求用以請求第一路由器與第二路由器之間的第一拓撲結構,其中,第一路由器與第二路由器之間物理連接并間隔為I跳;接著,第一路由器向控制器發送第一拓撲發現響應,第一拓撲發現響應中攜帶有第一路由器與第二路由器之間的第一拓撲結構。
[0191]在第一種實現方式中的第一拓撲發現請求的內容名字的格式與上述實施例中的第一拓撲發現請求的內容名字的格式以及實現方式相同,在此不再贅述。
[0192]進一步的,第一拓撲發現響應的內容名字的格式與上述實施例中的第一拓撲發現響應的內容名字的格式以及實現方式相同,在此不再贅述。
[0193]第二種實現方式,第一路由器通過廣播方式向所述控制器發送拓撲信息上報請求,該拓撲信息上報請求中攜帶有第一路由器與第二路由器之間的相鄰拓撲結構,其中,第一路由器與所述第二路由器之間直接物理連接并間隔為I跳;接著,第一路由器接收控制器發送的拓撲信息上報響應,該拓撲信息上報響應中攜帶有從控制器到第一路由器的跳數,第一路由器根據跳數確定到控制器的路由,并將路由存儲在第一路由器上設置的路由表中。需要說明的是,在第一路由器向控制器發送拓撲信息上報請求的路由中間的路由器也是通過廣播方式轉發該拓撲信息上報請求,直至請求送達控制器。
[0194]在第二種實現方式中的拓撲信息上報請求的內容名字的格式與上述實施例中的拓撲信息上報請求的內容名字的格式以及實現方式相同,在此不再贅述。
[0195]進一步的,第一拓撲信息上報響應的內容名字的格式與上述實施例中的拓撲信息上報響應的內容名字的格式以及實現方式相同,在此不再贅述。
[0196]步驟302、第一路由器接收控制器發送的路由表,路由表為控制器根據拓撲結構生成的。
[0197]在本實施例中,無論是上述的哪種實現方式,第一路由器可以接收控制器發送的路由表,該路由表為控制器根據拓撲結構生成的。
[0198]具體的,在上述第一種實現方式中,在第一路由器告知控制器網絡中各網絡節點之間的拓撲結構之后,即控制器獲得兩跳以內的拓撲結構之后,控制器可以根據該拓撲結構生成兩跳以內路由器的路由表,并將該路由表發送給對應的路由器,接著,在控制器獲取第M路由器與第N路由器之間的拓撲結構之后,即控制獲得N跳以內的拓撲結構之后,控制器可以根據該拓撲結構生成N跳以內路由器的路由表,接著,該路由表對應的路由器接收到控制器發送的該路由表。
[0199]具體的,在上述第二種實現方式中,在路由器將整個網絡的拓撲結構告知控制器之后,可以接收控制器根據該拓撲結構生成的路由表。
[0200]本實施例的拓撲結構發現方法,通過第一路由器向控制器發送網絡中網絡節點之間的拓撲結構,網絡包括N個路由器,其中,第一路由器為N個路由器中的一個,N為大于或等于I的整數,接著,第一路由器接收控制器發送的路由表,路由表為控制器根據拓撲結構生成的,從而控制器可以獲得整個網絡的拓撲結構,并根據整個網絡的拓撲結構,進行計算可以獲得最優路徑的路由,進一步的,提高了網絡的利用效率以及吞吐量。
[0201]在上述實施例的基礎上,在步驟301、第一路由器告知控制器網絡中各網絡節點之間的拓撲結構之前,還包括:
[0202]第一路由器接收控制器發送的鄰居發現請求,該鄰居發現請求用以請求第一路由器的標識;或者
[0203]第一路由器向控制器發送鄰居發現請求之后,該第一路由器接收控制器發送的鄰居發現響應,該鄰居發現請求用以請求與所述第一路由器相鄰的所述控制器標識或所述路由器標識,所述鄰居發現響應攜帶有所述控制器標識。
[0204]具體的,在步驟301之前,網絡中的各網絡節點之間需要進行鄰居發現,從而該網絡節點獲得與該網絡節點相鄰的,即物理連接并間隔為I跳的網絡節點的信息,如網絡節點的標識,例如,第一路由器獲得與第一路由器相鄰的第二路由器的標識以及控制器的標識,以及,第一路由器獲得與第一路由器相鄰的控制器的標識信息,需要說明的是,在網絡中,至少有一個第一路由器,以及至少有一個第二路由器。
[0205]需要說明的是,鄰居發現請求的內容名字格式與上述實施例的鄰居發現請求的內容名字格式相同,實現方式也相同,在此不再贅述。
[0206]鄰居發現響應與鄰居發現請求的內容名字格式可以相同。
[0207]進一步的,在鄰居發現響應與鄰居發現請求的內容名字中還可以攜帶有有源網絡節點的標識以及目標網絡節點的標識,例如,控制器的標識以及第一路由器的標識。
[0208]圖4為本發明再一實施例提供的拓撲結構發現方法的流程圖;如圖4所示,本實施例的方法包括:
[0209]步驟401、第一路由器向控制器發送網絡中網絡節點之間的拓撲結構,網絡包括N個路由器,所述第一路由器為所述N個路由器中的一個,N為大于或等于I的整數。
[0210]步驟402、第一路由器接收控制器發送的路由表,路由表為控制器根據拓撲結構生成的。
[0211]本實施例中的步驟401和步驟402分別與步驟301和步驟302的實現原理與技術效果相同,在此不再贅述。
[0212]步驟403、第一路由器向控制器發送網絡中的變更信息,該變更信息為網絡中新增與第一路由器相連的鏈路、第一路由器失效、或者與第一路由器相連的鏈路失效。
[0213]在本實施例中,第一路由器是指網絡中的所有網路節點中的任一個路由器。在整個網絡中,若第一路由器發生變更,例如,網絡中新增與第一路由器相連的鏈路、第一路由器失效、或者與第一路由器相連的鏈路失效時,控制器獲取網絡中的第一路由器的變更信息具有至少兩種適用場景,具體為:
[0214]第一種適用場景,在控制器等待第一路由器發送信息的時間超過預設時長時,控制器可以主動向路由器,發送拓撲信息變更查詢請求,例如,第一路由器接收控制器發送的拓撲信息變更查詢請求,該拓撲信息變更查詢請求用以請求查詢第一路由器的所述變更信息;接著,第一路由器向控制器發送拓撲信息變更查詢響應,拓撲信息變更查詢響應中攜帶有第一路由器的所述變更信息。
[0215]拓撲信息變更查詢請求與上述實施例中的拓撲信息變更查詢請求的格式相同,實現方式也相同,在此不再贅述。
[0216]第二種適用場景,在網絡中,第一路由器發生變化時,即新增第一路由器鏈路、第一路由器失效或者與第一路由器相連的鏈路發生失效時,發生變更的第一路由器可以通過上述的鄰居發現機制,主動地向控制器上報變更信息。
[0217]具體的,第一路由器向控制器發送拓撲信息上報請求,該拓撲信息上報請求中攜帶有第一路由器的變更信息。
[0218]拓撲信息上報請求與上述實施例中的拓撲信息上報請求的格式相同,實現方式也相同,在此不再贅述
[0219]步驟404、第一路由器接收控制器發送的路由表。
[0220]該路由表為控制器獲取網絡中的第一路由器的變更信息之后,控制器可以首先更新拓撲表,并根據拓撲表向網絡中的所有路由器發送路由表,接著,第一路由器接收控制器發送的路由表。
[0221]在本實施例中,第一路由器告知控制器網絡中的變更信息,該變更信息為新增所述第一路由器、新增與第一路由器相連的鏈路、第一路由器失效、或者與第一路由器相連的鏈路失效,并且,第一路由器接收控制器發送的路由表。在網絡中任一路由器發生變化的情況下,該路由器或是該路由器周圍的路由器可以將該變更信息告知控制器,從而,避免了現有技術中將變更信息進行逐跳更新造成的時延現象。
[0222]圖5為本發明一實施例提供的拓撲結構發現裝置的結構示意圖,如圖5所示,該拓撲結構發現裝置可以設置在控制器中,其中,該拓撲結構發現裝置包括:獲取模塊501和處理模塊502。具體的,
[0223]獲取模塊501,用于獲取N個路由器之間的拓撲結構,N為大于或等于I的整數;
[0224]處理模塊502,用于根據拓撲結構,獲得每個路由器對應的路由表,并分別向每個路由器發送對應的路由表,其中,該路由表包括路由器與其他N-1個路由器之間的路由信息,和路由器與控制器之間的路由信息中的至少一種。
[0225]本實施例的拓撲結構發現裝置,通過控制器獲取N個路由器,且控制器可以根據拓撲結構,獲得每個路由器對應的路由表,并分別向每個路由器發送對應的路由表,從而控制器可以獲得整個網絡的拓撲結構,并根據整個網絡的拓撲結構,進行計算可以獲得最優路徑的路由,進一步的,提高了網絡的利用效率以及吞吐量。
[0226]在上述實施例的基礎上,獲取模塊501,具體用于向第一路由器發送第一拓撲發現請求,第一拓撲發現請求用以請求第一路由器與第二路由器之間的第一拓撲結構,第一路由器與第二路由器之間物理連接并間隔為I跳,第一路由器與所述控制器之間物理連接并間隔為I跳;并接收第一路由器發送的第一拓撲發現響應,第一拓撲發現響應中攜帶有第一路由器與第二路由器之間的第一拓撲結構。
[0227]進一步的,獲取模塊501,還用于向第M路由器發送第M拓撲發現請求,第M拓撲發現請求用以請求第M路由器與第N路由器之間的第M拓撲結構,第M路由器與第M+1路由器之間物理連接并間隔為I跳,第M路由器與控制器間隔為M跳,M為整數,M大于或等于2,并且M小于或等于N ;并接收第M路由器發送的第M拓撲發現響應,第M拓撲發現響應中攜帶有第M路由器與第M+1路由器之間的第M拓撲結構。
[0228]可選的,在上述實施例的基礎上,獲取模塊501,具體用于接收路由器通過廣播方式發送的拓撲信息上報請求,拓撲信息上報請求中攜帶有路由器與相鄰路由器之間的相鄰拓撲結構,相鄰路由器與路由器物理連接并間隔為I跳。
[0229]進一步的,獲取模塊,具體用于根據路由器與相鄰路由器之間的相鄰拓撲結構和預設策略,獲取路由器與所述相鄰路由器對應的路由表;
[0230]處理模塊502,具體用于將路由表發送給與路由表對應的路由器。
[0231]在上述實施例的基礎上,獲取模塊501,還用于獲取路由器的變更信息,變更信息為新增路由器、新增與路由器相連的鏈路、路由器失效、或者與路由器相連的鏈路失效:
[0232]處理模塊502,還用于根據路由器變更信息獲取新路由表,并向與新路由表對應的路由器發送新路由表。
[0233]進一步的,獲取模塊501,具體用于向第一路由器或與第一路由器間隔為K跳的第K路由器發送拓撲信息變更查詢請求,拓撲信息變更查詢請求用以請求查詢第一路由器的變更信息,第K路由器與控制器之間直接連接或間接連接,K為大于I的整數;并接收第一路由器或第K路由器發送的拓撲信息變更查詢響應,以獲取第一路由器的變更信息。
[0234]在上述實施例的基礎上,獲取模塊501,具體用于接收第一路由器或第K路由器發送的拓撲信息上報請求,以獲取第一路由器的變更信息,第K路由器與第一路由器間隔為K跳,第K路由器與控制器之間直接連接或間接連接,K為大于I的整數。
[0235]在上述實施例的基礎上,該裝置還包括,發送模塊503,用于向第一路由器發送鄰居發現請求,鄰居發現請求用以請求第一路由器的標識;或者
[0236]發送模塊503,用于根據接收到第一路由器發送的鄰居發現請求,向第一路由器發送鄰居發現響應,鄰居發現請求用以請求與第一路由器相鄰的控制器標識或路由器標識,鄰居發現響應攜帶有控制器的控制器標識。
[0237]在上述實施例的基礎上,該拓撲信息上報請求與拓撲信息上報響應均攜帶有相同的內容名、第一路由器的標識和控制器的標識中的至少一種;
[0238]第一拓撲發現請求與第一拓撲發現響應均攜帶有相同的內容名、控制器的標識和第一路由器的標識中的至少一種;
[0239]第N拓撲發現請求與第N鄰居發現響應均攜帶有相同的內容名、控制器的標識和第M路由器的標識中的至少一種。
[0240]可選的,鄰居發現請求和鄰居發現響應的關鍵字均為NeighborDiscovery ;
[0241]第一拓撲發現請求、第M拓撲發現請求、第一拓撲發現響應和第M拓撲發現響應的關鍵字均為CTL和RouteTo ;
[0242]拓撲信息上報請求、拓撲信息上報響應的關鍵字均為TopologyDiscovery ;
[0243]拓撲信息變更查詢請求和拓撲信息變更查詢響應的關鍵字均為CTL、NeighborInfoUpdate ;
[0244]拓撲信息上報請求的關鍵字均為CTL、TopologyDiscovery。
[0245]圖6為本發明另一實施例提供的拓撲結構發現裝置的結構示意圖,如圖6所示,該拓撲結構發現裝置可以設置在路由器中,其中,該拓撲結構發現裝置包括:發送模塊601和接收模塊602。具體的,
[0246]發送模塊601,用于向控制器發送網絡中網絡節點之間的拓撲結構,網絡包括N個路由器,路由器為N個路由器中的一個,N為大于或等于I的整數;
[0247]接收模塊602,用于接收控制器發送的路由表,路由表為控制器根據拓撲結構生成的。
[0248]本實施例的拓撲結構發現裝置,通過第一路由器向控制器發送網絡中網絡節點之間的拓撲結構,網絡包括N個路由器,路由器為N個路由器中的一個,N為大于或等于I的整數,接著,接收控制器發送的路由表,路由表為控制器根據拓撲結構生成的,從而控制器可以獲得整個網絡的拓撲結構,并根據整個網絡的拓撲結構,進行計算可以獲得最優路徑的路由,進一步的,提高了網絡的利用效率以及吞吐量。
[0249]在上述實施例的基礎上,接收模塊602,用于接收控制器發送的第一拓撲發現請求,第一拓撲發現請求用以請求第一路由器與第二路由器之間的第一拓撲結構,第一路由器與第二路由器之間物理連接并間隔為I跳;并向控制器發送第一拓撲發現響應,第一拓撲發現響應中攜帶有第一路由器與第二路由器之間的第一拓撲結構。
[0250]在上述實施例的基礎上,發送模塊601,具體用于通過廣播方式向控制器發送拓撲信息上報請求,拓撲信息上報請求中攜帶有第一路由器與第二路由器之間的相鄰拓撲結構,第一路由器與第二路由器之間直接物理連接并間隔為I跳;
[0251]接收模塊602,具體用于第一路由器接收控制器發送的拓撲信息上報響應,拓撲信息上報響應中攜帶有從控制器到第一路由器的跳數,第一路由器根據跳數確定到控制器的路由,并將路由存儲在第一路由器上設置的路由表中。
[0252]在上述實施例的基礎上,接收模塊602,還用于接收控制器發送的鄰居發現請求,鄰居發現請求用以請求第一路由器物理的標識;或者
[0253]接收模塊602,還用于向控制器發送鄰居發現請求之后,第一路由器接收控制器發送的鄰居發現響應,鄰居發現請求用以請求與第一路由器相鄰的控制器標識或路由器標識,鄰居發現響應攜帶有控制器標識。
[0254]在上述實施例的基礎上,發送模塊601,還用于向控制器發送網絡中的變更信息,變更信息為網絡新增與第一路由器相連的鏈路、第一路由器失效、或者與第一路由器相連的鏈路失效;
[0255]接收模塊602,還用于接收控制器發送的路由表。
[0256]進一步的,接收模塊602,具體用于接收控制器發送的拓撲信息變更查詢請求,拓撲信息變更查詢請求用以請求查詢第一路由器的變更信息;
[0257]發送模塊601,具體用于向控制器發送拓撲信息變更查詢響應,拓撲信息變更查詢響應中攜帶有第一路由器的變更信息。
[0258]在上述實施例的基礎上,發送模塊601,具體用于向控制器發送拓撲信息上報請求,以告知第一路由器的變更信息,拓撲信息上報請求中攜帶有第一路由器的變更信息。
[0259]在上述實施例的基礎上,拓撲信息上報請求與拓撲信息上報響應均攜帶有相同的內容名、第一路由器的標識和控制器的標識中的至少一種;
[0260]第一拓撲發現請求與第一拓撲發現響應均攜帶有相同的內容名、控制器的標識和第一路由器的標識;
[0261]第N拓撲發現請求與第N鄰居發現響應均攜帶有相同的內容名、控制器的標識和第M路由器的標識中的至少一種。
[0262]可選的,鄰居發現請求和鄰居發現請求的關鍵字均為NeighborDiscovery ;
[0263]第一拓撲發現請求、第M拓撲發現請求、第一拓撲發現響應和第M拓撲發現響應的關鍵字均為CTL和RouteTo ;
[0264]拓撲信息上報請求、拓撲信息上報響應的關鍵字均為TopologyDiscovery ;
[0265]拓撲信息變更查詢請求和拓撲信息變更查詢響應的關鍵字均為CTL和NeighborInfoUpdate ;
[0266]拓撲信息上報請求的關鍵字均為CTL、TopologyDiscovery。
[0267]圖7為本發明再一實施例提供的拓撲結構發現裝置的結構示意圖,如圖7所示,該拓撲結構發現裝置,可以包括:發射器701、接收器702、存儲器703以及分別與發射器701、接收器702和存儲器703連接的處理器704。當然,在拓撲結構發現裝置還可以包括天線、基帶處理部件、中射頻處理部件、輸入輸出裝置等通用部件,本發明實施例在此不再任何限制。
[0268]其中,存儲器703中存儲一組程序代碼,且處理器704用于調用存儲器703中存儲的程序代碼,用于執行以下操作:
[0269]獲取N個路由器之間的拓撲結構,N為大于或等于I的整數;
[0270]根據拓撲結構,獲得每個所述路由器對應的路由表,并分別向每個所述路由器發送對應的路由表,所述路由表包括所述路由器與其他N-1個路由器之間的路由信息,和所述路由器與所述控制器之間的路由信息中的至少一種。
[0271]在本實施例中,實現了控制器獲得整個網絡的拓撲結構,并根據整個網絡的拓撲結構,進行計算可以獲得最優路徑的路由,進一步的,提高了網絡的利用效率以及吞吐量。
[0272]圖8為本發明再一實施例提供的拓撲結構發現裝置的結構示意圖,如圖8所示,該拓撲結構發現裝置,可以包括:發射器801、接收器802、存儲器803以及分別與發射器801、接收器802和存儲器803連接的處理器804。當然,在拓撲結構發現裝置還可以包括天線、基帶處理部件、中射頻處理部件、輸入輸出裝置等通用部件,本發明實施例在此不再任何限制。
[0273]其中,存儲器803中存儲一組程序代碼,且處理器804用于調用存儲器803中存儲的程序代碼,用于執行以下操作:
[0274]向控制器發送網絡中網絡節點之間的拓撲結構,所述網絡包括N個路由器,所述第一路由器為所述N個路由器中的一個,N為大于或等于I的整數;
[0275]接收所述控制器發送的路由表,所述路由表為所述控制器根據所述拓撲結構生成的。
[0276]在本實施例中,實現了控制器獲得整個網絡的拓撲結構,并根據整個網絡的拓撲結構,進行計算可以獲得最優路徑的路由,進一步的,提高了網絡的利用效率以及吞吐量。
[0277]本領域普通技術人員可以理解:實現上述各方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質中。該程序在執行時,執行包括上述各方法實施例的步驟;而前述的存儲介質包括:R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0278]最后應說明的是:以上各實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的范圍。
【權利要求】
1.一種拓撲結構發現方法,其特征在于,包括: 控制器獲取N個路由器之間的拓撲結構,N為大于或等于I的整數; 所述控制器根據所述拓撲結構,獲得每個所述路由器對應的路由表,并分別向每個所述路由器發送對應的路由表,所述路由表包括所述路由器與其他N-1個路由器之間的路由信息,和所述路由器與所述控制器之間的路由信息中的至少一種。
2.根據權利要求1所述的方法,其特征在于,所述控制器獲取N個路由器之間的拓撲結構,包括: 所述控制器向第一路由器發送第一拓撲發現請求,所述第一拓撲發現請求用以請求所述第一路由器與第二路由器之間的第一拓撲結構,所述第一路由器與所述第二路由器之間物理連接并間隔為I跳,所述第一路由器與所述控制器之間物理連接并間隔為I跳; 所述控制器接收所述第一路由器發送的第一拓撲發現響應,所述第一拓撲發現響應中攜帶有所述第一路由器與所述第二路由器之間的所述第一拓撲結構。
3.根據權利要求2所述的方法,其特征在于,所述控制器接收所述第一路由器發送的第一拓撲發現響應之后,還包括: 所述控制器向第M路由器發送第M拓撲發現請求,所述第M拓撲發現請求用以請求所述第M路由器與第M+1路由器之間的第M拓撲結構,所述第M路由器與所述第M+1路由器之間物理連接并間隔為I跳,所述第M路由器與所述控制器間隔為M跳,M為整數,M大于或等于2,并且M小于或等于N; 所述控制器接收所述第M路由器發送的第M拓撲發現響應,所述第M拓撲發現響應中攜帶有所述第M路由器與所述第M+1路由器之間的所述第M拓撲結構。
4.根據權利要求1所述的方法,其特征在于,所述控制器獲取N個路由器之間的拓撲結構,包括: 所述控制器接收所述路由器通過廣播方式發送的拓撲信息上報請求,所述拓撲信息上報請求中攜帶有所述路由器與相鄰路由器之間的相鄰拓撲結構,所述相鄰路由器與所述路由器物理連接并間隔為I跳。
5.根據權利要求4所述的方法,其特征在于,所述控制器根據所述拓撲結構,獲得每個所述路由器對應的路由表,并分別向每個所述路由器發送對應的路由表,包括: 所述控制器根據所述路由器與所述相鄰路由器之間的所述相鄰拓撲結構和預設策略,獲得所述路由器與所述相鄰路由器對應的路由表; 所述控制器將所述路由表發送給與所述路由表對應的所述路由器。
6.根據權利要求2-5任一項所述的方法,其特征在于,所述控制器根據所述拓撲結構,獲得每個所述路由器對應的路由表,并分別向每個所述路由器發送對應的路由表之后,還包括: 所述控制器獲取路由器變更信息,所述路由器變更信息為新增路由器、新增與所述路由器相連的鏈路、所述路由器失效、或者與所述路由器相連的鏈路失效: 所述控制器根據所述路由器變更信息獲取新路由表,并向與所述新路由表對應的所述路由器發送所述新路由表。
7.根據權利要求6所述的方法,其特征在于,所述控制器獲取路由器的變更信息,包括: 所述控制器向所述第一路由器或與所述第一路由器間隔為K跳的第K路由器發送拓撲信息變更查詢請求,所述拓撲信息變更查詢請求用以請求查詢所述第一路由器的所述變更信息,所述第K路由器與所述控制器之間直接連接或間接連接,K為大于I的整數; 所述控制器接收所述第一路由器或所述第K路由器發送的拓撲信息變更查詢響應,以獲取所述第一路由器的所述變更信息。
8.根據權利要求6所述的方法,其特征在于,所述控制器獲取路由器的變更信息,包括: 所述控制器接收所述第一路由器或第K路由器發送的拓撲信息上報請求,以獲取所述第一路由器的所述變更信息,所述第K路由器與所述第一路由器間隔為K跳,所述第K路由器與所述控制器之間直接連接或間接連接,K為大于I的整數。
9.根據權利要求1-8任一項所述的方法,其特征在于,所述控制器獲取N個路由器之間的拓撲結構之前,還包括: 所述控制器向第一路由器發送鄰居發現請求,所述鄰居發現請求用以請求所述第一路由器的標識;或者 所述控制器根據接收到所述第一路由器發送的所述鄰居發現請求,向所述第一路由器發送鄰居發現響應,所述鄰居發現請求用以請求與所述第一路由器相鄰的所述控制器標識或所述路由器標識,所述鄰居發現響應攜帶有所述控制器的所述控制器標識。
10.根據權利要求2或3所述的方法,其特征在于,所述第一拓撲發現請求與所述第一拓撲發現響應均攜帶有相同的內容名和所述控制器的標識和所述第一路由器的標識中的至少一種。
11.根據權利要求3所述的方法,其特征在于,所述第N拓撲發現請求與所述第N拓撲發現響應均攜帶有相同的內容名、所述控制器的標識和所述第M路由器的標識中的至少一種。
12.根據權利要求9所述的方法,其特征在于,所述鄰居發現請求和所述鄰居發現響應的關鍵字均為NeighborDiscovery。
13.根據權利要求2或3所述的方法,其特征在于,所述第一拓撲發現請求、所述第一拓撲發現響應的關鍵字均為CTL和RouteTo。
14.根據權利要求3所述的方法,其特征在于,所述第M拓撲發現請求和所述第M拓撲發現響應的關鍵字均為CTL和RouteTo。
15.根據權利要求4或5所述的方法,其特征在于,所述拓撲信息上報請求的關鍵字均為 TopologyDiscovery。
16.根據權利要求7所述的方法,其特征在于,所述拓撲信息變更查詢請求和所述拓撲信息變更查詢響應的關鍵字均為CTL和NeighborlnfoUpdate。
17.一種拓撲結構發現方法,其特征在于,包括: 第一路由器向控制器發送網絡中網絡節點之間的拓撲結構,所述網絡包括N個路由器,所述第一路由器為所述N個路由器中的一個,N為大于或等于I的整數; 所述第一路由器接收所述控制器發送的路由表,所述路由表為所述控制器根據所述拓撲結構生成的。
18.根據權利要求17所述的方法,其特征在于,所述第一路由器向控制器發送網絡中網絡節點之間的拓撲結構,包括: 所述第一路由器接收所述控制器發送的第一拓撲發現請求,所述第一拓撲發現請求用以請求所述第一路由器與第二路由器之間的第一拓撲結構,所述第一路由器與所述第二路由器之間物理連接并間隔為I跳; 所述第一路由器向所述控制器發送第一拓撲發現響應,所述第一拓撲發現響應中攜帶有所述第一路由器與第二路由器之間的所述第一拓撲結構。
19.根據權利要求17所述的方法,其特征在于,所述第一路由器向控制器發送網絡中網絡節點之間的拓撲結構,包括: 所述第一路由器通過廣播方式向所述控制器發送拓撲信息上報請求,所述拓撲信息上報請求中攜帶有所述第一路由器與第二路由器之間的相鄰拓撲結構,所述第一路由器與所述第二路由器之間直接物理連接并間隔為I跳; 所述第一路由器接收所述控制器發送的拓撲信息上報響應,所述拓撲信息上報響應中攜帶有從所述控制器到所述第一路由器的跳數,所述第一路由器根據所述跳數確定到所述控制器的路由,并將所述路由存儲在所述第一路由器上設置的所述路由表中。
20.根據權利要求17-19任一項所述的方法,其特征在于,所述第一路由器向控制器發送網絡中網絡節點之間的拓撲結構之前,還包括: 所述第一路由器接收所述控制器發送的鄰居發現請求,所述鄰居發現請求用以請求所述第一路由器物理的標識;或者 所述第一路由器向所述控制器發送所述鄰居發現請求之后,所述第一路由器接收所述控制器發送的鄰居發現響應,所述鄰居發現請求用以請求與所述第一路由器相鄰的所述控制器標識或所述路由器標識,所述鄰居發現響應攜帶有所述控制器標識。
21.根據權利要求17-20任一項所述的方法,其特征在于,所述第一路由器接收所述控制器路由表之后,還包括: 所述第一路由器向所述控制器發送網絡中的變更信息,所述變更信息為所述網絡中新增與所述第一路由器相連的鏈路、所述第一路由器失效、或者與所述第一路由器相連的鏈路失效; 所述第一路由器接收所述控制器發送的路由表。
22.根據權利要求21所述的方法,其特征在于,所述第一路由器向所述控制器發送網絡中的變更信息,包括: 所述第一路由器接收所述控制器發送的拓撲信息變更查詢請求,所述拓撲信息變更查詢請求用以請求查詢所述第一路由器的所述變更信息; 所述第一路由器向所述控制器發送拓撲信息變更查詢響應,所述拓撲信息變更查詢響應中攜帶有所述第一路由器的所述變更信息。
23.根據權利要求21所述的方法,其特征在于,所述第一路由器向所述控制器發送網絡中的變更信息,包括: 所述第一路由器向所述控制器發送拓撲信息上報請求,以告知所述第一路由器的所述變更信息,所述拓撲信息上報請求中攜帶有所述第一路由器的所述變更信息。
24.根據權利要求18所述的方法,其特征在于,所述第一拓撲發現請求與所述第一拓撲發現響應均攜帶有相同的內容名、所述控制器的標識和所述第一路由器的標識中的至少一種。
25.根據權利要求19所述的方法,其特征在于,所述拓撲信息上報請求、所述拓撲信息上報響應均攜帶有相同的內容名、所述控制器的標識和所述第一路由器的標識中的至少一種。
26.根據權利要求20所述的方法,其特征在于所述鄰居發現請求和所述鄰居發現響應均攜帶有相同的內容名、所述控制器的標識和所述第一路由器的標識中的至少一種;和/或 所述鄰居發現請求和所述鄰居發現響應的關鍵字均為NeighborDiscovery。
27.根據權利要求18所述的方法,其特征在于,所述第一拓撲發現請求和所述第一拓撲發現響應的關鍵字均為CTL和RouteTo。
28.根據權利要求19所述的方法,其特征在于,所述拓撲信息上報請求、所述拓撲信息上報響應的關鍵字均為CTL和TopologyDiscovery。
29.根據權利要求22所述的方法,其特征在于,所述拓撲信息變更查詢請求和所述拓撲信息變更查詢響應的關鍵字均為CTL和NeighborlnfoUpdate。
30.一種拓撲結構發現裝置,其特征在于,包括: 獲取模塊,用于獲取N個路由器之間的拓撲結構,N為大于或等于I的整數; 處理模塊,用于根據所述拓撲結構,獲得每個所述路由器對應的路由表,并分別向每個所述路由器發送對應的路由表,所述路由表包括所述路由器與其他N-1個路由器之間的路由信息,和所述路由器與所述控制器之間的路由信息中的至少一種。
31.根據權利要求30所述的裝置,其特征在于,所述獲取模塊,具體用于向所述第一路由器發送第一拓撲發現請求,所述第一拓撲發現請求用以請求所述第一路由器與第二路由器之間的第一拓撲結構,所述第一路由器與所述第二路由器之間物理連接并間隔為I跳,所述第一路由器與所述控制器之間物理連接并間隔為I跳;并接收所述第一路由器發送的第一拓撲發現響應,所述第一拓撲發現響應中攜帶有所述第一路由器與第二路由器之間的所述第一拓撲結構。
32.根據權利要求31所述的裝置,其特征在于,所述獲取模塊,還用于向所述第M路由器發送第M拓撲發現請求,所述第M拓撲發現請求用以請求所述第M路由器與所述第N路由器之間的第M拓撲結構,所述第M路由器與所述第M+1路由器之間物理連接并間隔為I跳,所述第M路由器與所述控制器間隔為M跳,M為整數,M大于或等于2,并且M小于或等于N ;并接收所述第M路由器發送的第M拓撲發現響應,所述第M拓撲發現響應中攜帶有所述第M路由器與所述第M+1路由器之間的所述第M拓撲結構。
33.根據權利要求30所述的裝置,其特征在于,所述獲取模塊,具體用于接收所述路由器通過廣播方式發送的拓撲信息上報請求,所述拓撲信息上報請求中攜帶有所述路由器與相鄰路由器之間的相鄰拓撲結構,所述相鄰路由器與所述路由器物理連接并間隔為I跳。
34.根據權利要求33所述的裝置,其特征在于,所述獲取模塊,具體用于根據所述路由器與所述相鄰路由器之間的所述相鄰拓撲結構和預設策略,獲取所述路由器與所述相鄰路由器對應的路由表; 所述處理模塊,具體用于將所述路由表發送給與所述路由表對應的路由器。
35.根據權利要求31-34任一項所述的裝置,其特征在于,所述獲取模塊,還用于獲取所述路由器變更信息,所述路由器變更信息為新增路由器、新增與所述路由器相連的鏈路、所述路由器失效、或者與所述路由器相連的鏈路失效: 所述處理模塊,還用于根據所述路由器變更信息獲取新路由表,并向與所述新路由表對應的所述路由器發送所述新路由表。
36.根據權利要求35所述的裝置,其特征在于,所述獲取模塊,具體用于向所述第一路由器或與所述第一路由器間隔為K跳的第K路由器發送拓撲信息變更查詢請求,所述拓撲信息變更查詢請求用以請求查詢所述第一路由器的所述變更信息,所述第K路由器與所述控制器之間直接連接或間接連接,K為大于I的整數;并接收所述第一路由器或所述第K路由器發送的拓撲信息變更查詢響應,以獲取所述第一路由器的所述變更信息。
37.根據權利要求35所述的裝置,其特征在于,所述獲取模塊,具體用于接收所述第一路由器或第K路由器發送的拓撲信息上報請求,以獲取所述第一路由器的所述變更信息,所述第K路由器與所述第一路由器間隔為K跳,K為大于I的整數。
38.根據權利要求30-37任一項所述的裝置,其特征在于,還包括,發送模塊,用于向第一路由器發送鄰居發現請求,所述鄰居發現請求用以請求所述第一路由器的標識;或者 所述發送模塊,用于根據接收到所述第一路由器發送的所述鄰居發現請求,向所述第一路由器發送鄰居發現響應,所述鄰居發現請求用以請求與所述第一路由器相鄰的所述控制器標識或所述路由器標識,所述鄰居發現響應攜帶有所述控制器的所述控制器標識。
39.根據權利要求31或32所述的裝置,其特征在于,所述第一拓撲發現請求與所述第一拓撲發現響應均攜帶有相同的內容名、所述控制器的標識和所述第一路由器的標識中的至少一種。
40.根據權利要求32所述的裝置,其特征在于,所述第N拓撲發現請求與所述第N拓撲發現響應均攜帶有相同的內容名、所述控制器的標識和所述第M路由器的標識的至少一種。
41.根據權利要求38所述的裝置,其特征在于,所述鄰居發現請求和所述鄰居發現響應的關鍵字均為NeighborDiscovery。
42.根據權利要求31或32所述的裝置,其特征在于,所述第一拓撲發現請求、所述第一拓撲發現響應的關鍵字均為CTL和RouteTo。
43.根據權利要求32所述的裝置,其特征在于,所述第M拓撲發現請求和所述第M拓撲發現響應的關鍵字均為CTL和RouteTo。
44.根據權利要求33或34所述的裝置,其特征在于,所述拓撲信息上報請求的關鍵字均為 TopologyDiscovery。
45.根據權利要求36所述的裝置,其特征在于,所述拓撲信息變更查詢請求和所述拓撲信息變更查詢響應的關鍵字均為CTL和NeighborlnfoUpdate。
46.一種拓撲結構發現裝置,其特征在于,包括: 發送模塊,用于向控制器發送網絡中網絡節點之間的拓撲結構,所述網絡包括N個路由器,所述路由器為所述N個路由器中的一個,N為大于或等于I的整數; 接收模塊,用于接收所述控制器發送的路由表,所述路由表為所述控制器根據所述拓撲結構生成的。
47.根據權利要求46所述的裝置,其特征在于,所述接收模塊,用于接收所述控制器發送的第一拓撲發現請求,所述第一拓撲發現請求用以請求所述第一路由器與第二路由器之間的第一拓撲結構,所述第一路由器與所述第二路由器之間物理連接并間隔為I跳;并向所述控制器發送第一拓撲發現響應,所述第一拓撲發現響應中攜帶有所述第一路由器與第二路由器之間的所述第一拓撲結構。
48.根據權利要求46所述的裝置,其特征在于,所述發送模塊,具體用于通過廣播方式向所述控制器發送拓撲信息上報請求,所述拓撲信息上報請求中攜帶有所述第一路由器與所述第二路由器之間的相鄰拓撲結構,所述第一路由器與所述第二路由器之間直接物理連接并間隔為I跳; 所述接收模塊,具體用于第一路由器接收所述控制器發送的拓撲信息上報響應,所述拓撲信息上報響應中攜帶有從所述控制器到所述第一路由器的跳數,所述第一路由器根據所述跳數確定到所述控制器的路由,并將所述路由存儲在所述第一路由器上設置的所述路由表中。
49.根據權利要求46-48任一項所述的裝置,其特征在于,所述接收模塊,還用于接收所述控制器發送的鄰居發現請求,所述鄰居發現請求用以請求所述第一路由器物理的標識;或者 所述接收模塊,還用于向所述控制器發送所述鄰居發現請求之后,所述第一路由器接收所述控制器發送的鄰居發現響應,所述鄰居發現請求用以請求與所述第一路由器相鄰的所述控制器標識或所述路由器標識,所述鄰居發現響應攜帶有所述控制器標識。
50.根據權利要求46-49任一項所述的裝置,其特征在于,所述發送模塊,還用于向所述控制器發送網絡中的變更信息,所述變更信息為所述網絡中新增與所述第一路由器相連的鏈路、所述第一路由器失效、或者與所述第一路由器相連的鏈路失效; 所述接收模塊,還用于接收所述控制器發送的路由表。
51.根據權利要求50所述的裝置,其特征在于,所述接收模塊,具體用于接收所述控制器發送的拓撲信息變更查詢請求,所述拓撲信息變更查詢請求用以請求查詢所述第一路由器的所述變更信息; 所述發送模塊,具體用于向所述控制器發送拓撲信息變更查詢響應,所述拓撲信息變更查詢響應中攜帶有所述第一路由器的所述變更信息。
52.根據權利要求50所述的裝置,其特征在于,所述發送模塊,具體用于向所述控制器發送拓撲信息上報請求,以告知所述第一路由器的所述變更信息,所述拓撲信息上報請求中攜帶有所述第一路由器的所述變更信息。
53.根據權利要求47所述的裝置,其特征在于,所述第一拓撲發現請求與所述第一拓撲發現響應均至少攜帶有相同的內容名和所述控制器的標識和所述第一路由器的標識中的至少一種。
54.根據權利要求48所述的裝置,其特征在于,所述拓撲信息上報請求、所述拓撲信息上報響應均攜帶有相同的內容名、所述控制器的標識和所述第一路由器的標識中的至少一種。
55.根據權利要求49所述的裝置,其特征在于,所述鄰居發現請求和所述鄰居發現響應均攜帶有相同的內容名、所述控制器的標識和所述第一路由器的標識中的至少一種;和/或 所述鄰居發現請求和所述鄰居發現響應的關鍵字均為NeighborDiscovery。
56.根據權利要求47所述的裝置,其特征在于,所述第一拓撲發現請求和所述第一拓撲發現響應的關鍵字均為CTL和RouteTo。
57.根據權利要求48所述的裝置,其特征在于,所述拓撲信息上報請求、所述拓撲信息上報響應的關鍵字均為CTL和TopologyDiscovery。
58.根據權利要求51所述的裝置,其特征在于,所述拓撲信息變更查詢請求和所述拓撲信息變更查詢響應的關鍵字均為CTL和NeighborlnfoUpdate。
【文檔編號】H04L12/751GK104348732SQ201310318048
【公開日】2015年2月11日 申請日期:2013年7月25日 優先權日:2013年7月25日
【發明者】軒轅哲, 王戎, 嚴哲峰 申請人:華為技術有限公司