專利名稱:一種劃分pid的方法、裝置及alto服務器的制作方法
技術領域:
本發(fā)明涉及通信領域,具體涉及一種劃分PID(Provider-defined Network Locationidentifier,供應商定義的網絡位置標識)的方法及裝置、ALTO (AppIication-Layer TrafficOptimization,應用層傳輸優(yōu)化)服務器及BGP(Border Gateway Protocol,邊界網關協(xié)議)模塊。
背景技術:
目前有大量應用需要從一個或是多個候選的主機中選擇合適的節(jié)點來獲取需要的資源,比如 P2P (Peer-to-Peer,點對點)應用、Q)N(Content Delivery Network,內容分發(fā)網絡)選擇、鏡像選擇等。ALTO的目的就是給這些應用提供網絡相關的信息支撐,以指導應用對候選節(jié)點進行更合理的選擇。
ALTO服務主要是根據網絡區(qū)域把終端劃分為多個PID,得到網絡映射,然后根據運營商的策略或是路由信息等指定PID之間的代價信息,得到代價映射,ALTO服務器上保存這些映射信息。ALTO客戶端根據需要向ALTO服務器請求相應的指導信息。ALTO客戶端獲取到指導信息比如終端之間的代價,然后根據代價信息對候選點進行優(yōu)先選擇。可見PID的劃分是ALTO技術實現(xiàn)的基礎。但從目前的技術實現(xiàn)來看,ALTO協(xié)議中提到的PID劃分,基本上還是靠運營商或實驗人員自己根據終端的位置主動規(guī)劃并手動配置完成的,將一些位置靠近的終端劃在一起,起名為PID。這樣的運營方式顯然不夠智能,而且消耗較大的人力,配置過程中容易出錯。
發(fā)明內容
本發(fā)明需要解決的技術問題是提供一種劃分PID的方法及裝置、ALTO服務器及BGP模塊,能夠實現(xiàn)PID的自動劃分,節(jié)省人力,減少出錯,簡單易行。為了解決上述技術問題,本發(fā)明提供了一種劃分PID的方法,應用于應用層傳輸優(yōu)化ALTO服務器側,包括所述ALTO服務器向邊界網關協(xié)議BGP模塊發(fā)送路由請求,在收到所述BGP模塊返回的路由信息后,根據所述路由信息中攜帶的終端的路由以及源自治系統(tǒng)AS編號按照預設的供應商定義的網絡位置標識PID劃分策略將所述終端劃分為多個PID。進一步地,所述預設的PID劃分策略包括把源AS編號相同的路由指示的終端劃分到一個PID中,并為所述PID編號;每個源AS對應一個PID ;或者,根據用戶配置將多個源AS對應的路由指示的終端劃分到一個PID中,并為所述PID編號;建立所述多個源AS與PID的對應關系。進一步地,所述方法還包括在根據所述路由信息中攜帶的終端的路由以及源AS編號按照預設的PID劃分策略將所述終端劃分為多個PID后,將每個PID中包含的終端的路由按照自然掩碼進行聚合。
進一步地,所述根據所述路由信息中攜帶的終端的路由以及源AS編號按照預設的PID劃分策略將所述終端劃分為多個PID,包括如果所述路由信息中攜帶的終端的路由為聚合路由,則所述ALTO服務器在收到所述BGP模塊返回的聚合路由后,將所述聚合路由指示的終端劃分為多個PID,每個源AS對應一個PID;或者,根據用戶配置將多個源AS對應的所述聚合路由指示的終端劃分到一個PID中,并建立所述多個源AS與PID的對應關系;其中,所述聚合路由是已經把具有相同源AS的路由劃分在一起,然后再把劃分后的具有相同源AS的路由按照自然掩碼進行聚合的路由。進一步地,所述BGP模塊返回的路由信息包括更新的路由信息;所述方法還包括所述ALTO服務器在收到所述BGP模塊返回的所述更新的路由信息后,根據所述更新的路由信息中攜帶的終端的路由以及源AS編號對PID劃分進行更新,具體包括若所述源AS為新的源AS,則根據所述終端的路由以及所述新的源AS編號按照預設的PID劃分策略將所述終端劃分為多個PID,作為新增的PID ;
若所述源AS為已有的源AS,只是所述源AS編號對應的路由發(fā)生改變,則對相應PID中源AS編號對應的路由進行更新。進一步地,所述更新的路由信息指示了新增源AS以及已有源AS添加路由、刪除路由還是更改路由;所述若所述源AS為已有的源AS,只是源AS編號對應的路由發(fā)生改變,則對相應PID中源AS編號對應的路由進行更新,包括如果某一源AS添加了新路由,則把該新路由指示的終端添加到所述某一源AS對應的PID中;如果某一源AS刪除了路由,則把該路由指示的終端從所述某一源AS對應的PID中刪除;如果某一源AS對應的原有路由發(fā)生改變,則將所述某一源AS對應的PID中上述原有路由指示的終端修改為改變后的路由指示的終端。為了解決上述技術問題,本發(fā)明提供了一種劃分PID的方法,應用于邊界網關協(xié)議BGP模塊側,包括所述BGP模塊在收到應用層傳輸優(yōu)化ALTO服務器發(fā)送的路由請求后,向所述ALTO服務器返回路由信息,所述路由信息攜帶有終端的路由以及源自治系統(tǒng)AS編號,以使ALTO服務器按照預設的供應商定義的網絡位置標識PID劃分策略將所述終端劃分為多個PID。進一步地,所述BGP模塊向所述ALTO服務器返回的終端的路由包括原始的BGP路由和聚合路由;所述BGP模塊向所述ALTO服務器返回攜帶有聚合路由的路由信息,包括所述BGP模塊在收到ALTO服務器發(fā)送的路由請求后,把具有相同源AS編號的路由劃分在一起,然后再把劃分在一起的路由按照自然掩碼進行聚合,將聚合后的路由攜帶在所述路由信息中發(fā)送至所述ALTO服務器。進一步地,所述方法還包括所述BGP模塊在收到所述ALTO服務器發(fā)送的路由請求后,開啟對ALTO服務的支持,監(jiān)測是否有新增的源AS,或者已有的源AS對應的路由信息是否發(fā)生變化,如果有新增的源AS或者所述路由信息發(fā)生變化,則向所述ALTO服務器發(fā)送更新的路由信息,所述更新的路由信息指示了新增源AS以及所述已有的源AS添加路由、刪除路由還是更改路由。為了解決上述技術問題,本發(fā)明還提供了一種應用層傳輸優(yōu)化ALTO服務器,包括路由請求模塊,用于向邊界網關協(xié)議BGP模塊發(fā)送路由請求;路由接收模塊,用于接收所述BGP模塊返回的路由信息;PID劃分模塊,用于在收到所述BGP模塊返回的路由信息后,根據所述路由信息中攜帶的終端的路由以及源自治系統(tǒng)AS編號按照預設的供應商定義的網絡位置標識PID劃分策略將所述終端劃分為多個PID。進一步地,所述預設的PID劃分策略包括把源AS編號相同的路由指示的終端劃分到一個PID中,并為所述PID編號;每個源AS對應一個PID ;或者,根據用戶配置將多個源AS對應的路由指示的終端劃分到一個PID中,并為所述PID編號;建立所述多個源AS與PID的對應關系。進一步地,所述PID劃分模塊,還用于在根據所述路由信息中攜帶的終端的路由以及源AS編號按照預設的PID劃分策略將所述終端劃分為多個PID后,將每個PID中包含的終端的路由按照自然掩碼進行聚合。進一步地,所述PID劃分模塊,用于所述根據所述路由信息中攜帶的終端的路由以及源AS編號按照預設的PID劃分策略將所述終端劃分為多個PID,包括如果所述路由信息中攜帶的終端的路由為聚合路由,則所述PID劃分模塊將所述聚合路由指示的終端劃分為多個PID,每個源AS對應一個PID ;或者,根據用戶配置將多個源AS對應的所述聚合路由指示的終端劃分到一個PID中,并建立所述多個源AS與PID的對應關系;其中,所述聚合路由是已經把具有相同源AS的路由劃分在一起,然后再把劃分后 的具有相同源AS的路由按照自然掩碼進行聚合的路由。進一步地,所述BGP模塊返回的路由信息包括更新的路由信息;所述PID劃分模塊,還用于根據所述更新的路由信息中攜帶的終端的路由以及源AS編號對PID劃分進行更新,具體包括若所述源AS為新的源AS,則根據所述終端的路由以及所述新的源AS編號按照預設的PID劃分策略將所述終端劃分為多個PID,作為新增的PID ;若所述源AS為已有的源AS,只是所述源AS編號對應的路由發(fā)生改變,則對相應PID中源AS編號對應的路由進行更新。進一步地,所述更新的路由信息指示了新增源AS以及已有源AS添加路由、刪除路由還是更改路由;所述PID劃分模塊,還用于對相應PID中源AS編號對應的路由進行更新,包括如果某一源AS添加了新路由,則把該新路由指示的終端添加到所述某一源AS對應的PID中;如果某一源AS刪除了路由,則把該路由指示的終端從所述某一源AS對應的PID中刪除;如果某一源AS對應的原有路由發(fā)生改變,則將所述某一源AS對應的PID中上述原有路由指示的終端修改為改變后的路由指示的終端。為了解決上述技術問題,本發(fā)明還提供了一種邊界網關協(xié)議BGP模塊,包括
接收模塊,用于接收應用層傳輸優(yōu)化ALTO服務器發(fā)送的路由請求;路由信息發(fā)送模塊,用于在收到所述ALTO服務器發(fā)送的路由請求后,向所述ALTO服務器返回路由信息,所述路由信息攜帶有終端的路由以及源自治系統(tǒng)AS編號,以使ALTO服務器按照預設的供應商定義的網絡位置標識PID劃分策略將所述終端劃分為多個PID。進一步地,所述路由信息攜帶的終端的路由包括原始的BGP路由和聚合路由;所述路由信息發(fā)送模塊,用于向所述ALTO服務器返回攜帶有聚合路由的路由信息,包括所述路由信息發(fā)送模塊把具有相同源AS編號的路由劃分在一起,然后再把劃分在一起的路由按照自然掩碼進行聚合,將聚合后的路由攜帶在所述路由信息中發(fā)送至所述ALTO服務器。進一步地,所述BGP模塊還包括監(jiān)測模塊,用于在收到所述ALTO服務器發(fā)送的路由請求后,開啟對ALTO服務的支持,監(jiān)測是否有新增的源AS,或者已有的源AS對應的路由信息是否發(fā)生變化,如果有新增的源AS或者所述路由信息發(fā)生變化,則通知所述路由信息發(fā)送模塊向所述ALTO服務器返回更新的路由信息;所述路由信息發(fā)送模塊,還用于在收到所述監(jiān)測模塊的通知后,向所述ALTO服務器發(fā)送更新的路由信息,所述更新的路由信息指示了新增源AS以及所述已有的源AS添加路由、刪除路由還是更改路由。為了解決上述技術問題,本發(fā)明還提供了一種劃分供應商定義的網絡位置標識PID的裝置,包括如上所述的應用層傳輸優(yōu)化ALTO服務器和如上所述的邊界網關協(xié)議BGP模塊。與現(xiàn)有技術相比,本發(fā)明提供的劃分PID的方法及裝置、ALTO服務器及BGP模塊,借助BGP的路由信息和源AS (Autonomous System,自治系統(tǒng))信息能夠實現(xiàn)PID的自動劃分,節(jié)省人力,智能且出錯少,簡單易行,而且由BGP模塊感知路由變化,可以快速把這種路由變化反應到PID劃分中。
圖I是實施例中ALTO服務器的結構圖;圖2是實施例中BGP模塊的結構圖;圖3是實施例中PID劃分方法的流程圖;圖4是一個應用示例中PID劃分方法的流程圖;圖5是另一個應用示例中PID劃分方法的流程圖。
具體實施例方式為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,下文中將結合附圖對本發(fā)明的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。實施例由于在實際網絡部署中AS (Autonomous System,自治系統(tǒng))基本上反應了網絡的區(qū)域屬性,而且該區(qū)域和PID的區(qū)域范圍基本重合,所以根據BGP(Border GatewayProtocol,邊界網關協(xié)議)的AS來自動劃分PID具有合理性。如圖I所示,本實施例提供了一種ALTO服務器,包括 路由請求模塊,用于向BGP模塊發(fā)送路由請求;其中,路由請求模塊在向BGP模塊發(fā)送路由請求時,可以指明請求的是原始的BGP路由還是聚合路由。路由接收模塊,用于接收所述BGP模塊返回的路由信息; PID劃分模塊,用于在收到所述BGP模塊返回的路由信息后,根據所述路由信息中攜帶的終端的路由以及源AS編號按照預設的PID劃分策略將所述終端劃分為多個PID。其中,所述預設的PID劃分策略包括把源AS編號相同的路由指示的終端劃分到一個PID中,并為所述PID編號;每個源AS對應一個PID ;或者,根據用戶配置將多個源AS對應的路由指示的終端劃分到一個PID中,并為所述PID編號;建立所述多個源AS與PID的對應關系。如果所述路由信息中攜帶的終端的路由為原始的BGP路由,則所述PID劃分模塊,還用于在根據所述路由信息中攜帶的終端的路由以及源AS編號按照預設的PID劃分策略將所述終端劃分為多個PID后,將每個PID中包含的終端的路由按照自然掩碼進行聚合。此外,如果所述路由信息中攜帶的終端的路由為聚合路由,則所述PID劃分模塊將所述聚合路由指示的終端劃分為多個PID,每個源AS對應一個PID ;或者,根據用戶配置將多個源AS對應的所述聚合路由指示的終端劃分到一個PID中,并建立所述多個源AS與PID的對應關系;其中,所述聚合路由是已經把具有相同源AS的路由劃分在一起,然后再把劃分后的具有相同源AS的路由按照自然掩碼進行聚合的路由。其中,所述BGP模塊返回的路由信息包括更新的路由信息;所述PID劃分模塊,還用于根據所述更新的路由信息中攜帶的終端的路由以及源AS編號對PID劃分進行更新,具體包括若所述源AS為新的源AS,則根據所述終端的路由以及所述新的源AS編號按照預設的PID劃分策略將所述終端劃分為多個PID,作為新增的PID ;若所述源AS為已有的源AS,只是所述源AS編號對應的路由發(fā)生改變,則對相應PID中源AS編號對應的路由進行更新。其中,所述更新的路由信息指示了新增源AS以及已有源AS添加路由、刪除路由還是更改路由;若所述源AS為已有的源AS,只是所述源AS編號對應的路由發(fā)生改變,所述PID劃分模塊,還用于對相應PID中源AS編號對應的路由進行更新,包括如果某一源AS添加了新路由,則把該新路由指示的終端添加到所述某一源AS對應的PID中;如果某一源AS刪除了路由,則把該路由指示的終端從所述某一源AS對應的PID中刪除;如果某一源AS對應的原有路由發(fā)生改變,則將所述某一源AS對應的PID中上述原有路由指示的終端修改為改變后的路由指示的終端。如圖2所示,本實施例提供了一種BGP模塊,包括接收模塊,用于接收ALTO服務器發(fā)送的路由請求;其中,ALTO服務器發(fā)送的路由請求中可能指明了請求的是原始的BGP路由還是聚 合路由。路由信息發(fā)送模塊,用于在收到所述ALTO服務器發(fā)送的路由請求后,向所述ALTO服務器返回路由信息,所述路由信息攜帶有終端的路由以及源AS編號,以使ALTO服務器按照預設的PID劃分策略將所述終端劃分為多個PID。其中,所述路由信息發(fā)送模塊向所述ALTO服務器發(fā)送的路由信息攜帶的終端的路由包括原始的BGP路由和聚合路由;所述路由信息發(fā)送模塊,用于向所述ALTO服務器返回攜帶有聚合路由的路由信息,包括所述路由信息發(fā)送模塊把具有相同源AS編號的路由劃分在一起,然后再把劃分在一起的路由按照自然掩碼進行聚合,將聚合后的路由攜帶在所述路由信息中發(fā)送至所述ALTO服務器。此外,所述BGP模塊還包括監(jiān)測模塊;所述監(jiān)測模塊,用于在收到所述ALTO服務器發(fā)送的路由請求后,開啟對ALTO服務的支持,監(jiān)測是否有新增的源AS,或者已有的源AS對應的路由信息是否發(fā)生變化,如果有新增的源AS或者所述路由信息發(fā)生變化,則通知所述路由信息發(fā)送模塊向所述ALTO服務器返回更新的路由信息;所述路由信息發(fā)送模塊,還用于在收到所述監(jiān)測模塊的通知后,向所述ALTO服務器發(fā)送更新的路由信息,所述更新的路由信息指示了新增源AS以及所述已有的源AS添加路由、刪除路由還是更改路由。此外,本實施例還提供了一種劃分PID的裝置,包括如上所述的ALTO服務器和BGP模塊。另夕卜,在本實施例中,BGP模塊可以置于ALTO服務器上,也可以外置于ALTO服務器。如圖3所示,本實施例提供了為ALTO技術現(xiàn)網應用提供了一種簡單易行的PID劃分方法,根據BGP的源AS和路由信息來自動進行PID劃分,把源AS相同的路由劃分到一起,然后這些路由所涵蓋的終端就是一個PID,也可以按照預置策略把多個源AS相同的路由劃分在一起,這些路由所涵蓋的終端就是劃分為一個PID,包括以下步驟SlOl =ALTO服務器向BGP模塊發(fā)送路由請求;這里發(fā)送的路由請求有2個作用一是請求BGP模塊發(fā)送ALTO所需的路由給ALTO服務器;二是告知BGP模塊,ALTO服務器需要BGP模塊啟動對ALTO服務的支持。此外,ALTO服務器向BGP模塊發(fā)送路由請求時,還可以指明請求的是原始的BGP路
由還是聚合路由。
S102 =ALTO服務器接收到所述BGP模塊返回的路由信息;BGP模塊在接收到ALTO服務器發(fā)送路由請求之后,開啟對ALTO服務的支持,按照請求發(fā)送路由信息給ALTO服務器。所述BGP模塊返回的路由信息中攜帶有終端的路由和源AS編號,終端的路由是前綴化的目的地址,BGP模塊將該前綴化的目的地址和源AS編號綁定在一起發(fā)送至ALTO服務器。在ALTO協(xié)議中,前綴化目的地址是指IP地址+掩碼,掩碼最長為32,掩碼長度不確定,因此該前綴化目的地址可能涵蓋了多個終端,比如BGP模塊返回的路由信息中的一組路由為10. 10. 10. 0/24和源AS號10,其中,掩碼長度是24,涵蓋了 IP地址10. 10. 10. O 10. 10. 10. 255的254個終端,而這254個終端具有相同的源AS編號10。每個BGP路由的源AS號是唯一的,但是每個AS里面可以包含多條路由,同樣每個PID里面也可以包含多個類似路由的終端組。比如路由{10. 10. 10. 0/24,AS-path 2 3 5},這里面源AS號就是5,另外一條路由是{20. 20. 20. 0/24,AS-path 6 4 5},源AS號也是5。S103:ALT0服務器收到BGP模塊返回的路由信息后,根據所述路由信息中攜帶的終端的路由以及源AS編號按照預設的PID劃分策略將所述終端劃分為多個PID。其中,所述預設的PID劃分策略包括把源AS編號相同的路由指示的終端劃分到一個PID中,并為所述PID編號;每個源AS編號對應一個PID ;或者,根據用戶配置將多個源AS對應的路由指示的終端劃分到一個PID中,并為所述PID編號;建立多個源AS與PID的對應關系。例如,ALTO服務器從BGP模塊得到的路由為10. 10. 10. 14/32源AS號10、
10.10. 10. 15/32 源 AS 號 10,20. 20. 20. 14/32 源 AS 號 20 和 20. 20. 20. 15/32 源 AS 號20,則根據源AS編號可以劃分為2個PID;具有相同源AS編號10的10. 10. 10. 14/32和10. 10. 10. 15/32指示的終端可以對應劃分到PIDl,PIDl包含終端信息為{10. 10. 10. 14/32,10. 10. 10. 15/32},源 AS 編號 10 對應 PIDl ;具有相同源 AS 編號 20 的
20.20. 20. 14/32和20. 20. 20. 15/32指示的終端可以對應劃分到PID2,PID2包含終端信息為{20. 20. 20. 14/32,20. 20. 20. 15/32},源 AS 編號 20 對應 PID2 ;或者,在收到的路由信息中,如果根據用戶的配置可以把多個源AS,例如,源ASl和源AS2對應的BGP路由劃分在一起,則將源ASl和源AS2當作一個源AS來進行處理,那么這2個AS對應的BGP路由指示的終端可以劃分到一個PID中,具體PID號可自行分配,這個PID中包含的終端信息為源ASl和源AS2對應的全部路由。如上面所舉的例子,假設ALTO服務器從BGP模塊得到的路由還包括30. 30. 30. 14/32源AS號30,30. 30. 30. 15/32源AS號30,如果根據用戶的配置可以把源AS號10和源AS號30對應的BGP路由劃分在一起,則將具有源AS編號10和源AS號30的路由指示的終端對應劃分到PID1,PIDl包含終端信息為{10. 10. 10. 14/32、10. 10. 10. 15/32,30. 30. 30. 14/32 和 30. 30. 30. 15/32},源 AS編號10和源AS號30對應PIDl ;源AS編號20的路由指示的終端還對應劃分到PID2中,這樣就劃分好了 2個PID。另外,在步驟S102中,BGP模塊返回的終端路由有可能是原始的BGP路由也可能
是聚合路由。如果所述路由信息中攜帶的終端的路由為原始的BGP路由提取目的地址,包含的路由數(shù)量會比較多,則在步驟S103中,作為一種優(yōu)選的方式,ALTO服務器先將按照預設的PID劃分策略將所述終端劃分為多個PID,然后將每個PID中包含的終端的路由按照自然掩碼進行聚合,這樣可以減少保存在PID內部終端的條目數(shù)量。如果所述路由信息中攜帶的終端的路由為聚合路由,該聚合路由是BGP模塊已經把具有相同源AS的路由劃分在一起,然后再把劃分后的相同源AS的路由按照自然掩碼進行聚合的路由,所以,在步驟S103中,ALTO服務器可以直接利用接收到的信息來進行PID劃分即可,g卩,所述ALTO服務器在收到所述BGP模塊返回的聚合路由后,將所述聚合路由指示的終端劃分為多個PID,每個源AS編號對應一個PID ;或者,根據用戶配置把多個源AS對應的所述聚合指示的終端劃分到一個PID中,并建立所述多個源AS與PID的對應關系;其中,所述聚合路由是已經把具有相同源AS的路由劃分在一起,然后再把劃分后的相同源AS的路由按照自然掩碼進行聚合的路由。另外,在步驟S102中,如果BGP模塊發(fā)現(xiàn)路由發(fā)生改變,還會向ALTO服務器主動發(fā)送后續(xù)更新的路由信息,如果路由有改變,BGP會明確將這一條路由發(fā)給服務器,所述更·新的路由信息指示了新增源AS以及已有源AS添加路由、刪除路由還是更改路由;在步驟S103中,ALTO服務器在收到所述BGP模塊返回的更新的路由信息后,根據所述更新的路由信息中攜帶的終端的路由以及源AS編號對PID劃分進行更新,具體包括若所述源AS為新的源AS,則根據所述終端的路由以及所述新的源AS編號按照預設的PID劃分策略將所述終端劃分為多個PID,作為新增的PID ;若所述源AS為已有的源AS,只是所述源AS編號對應的路由發(fā)生改變,則對相應PID中源AS編號對應的路由進行更新;其中如果某一源AS添加了新路由,則把該路由指示的終端添加到所述某一源AS對應的PID中;如果某一源AS刪除了路由,則把該路由指示的終端從所述某一源AS對應的PID中刪除;如果某一源AS對應的原有路由發(fā)生改變,則將所述某一源AS對應的PID中上述原有路由指示的終端修改為改變后的路由指示的終端。在一個應用示例中,如圖4所示,劃分PID的方法,包括以下步驟S201 =ALTO服務器向BGP模塊發(fā)送指明了請求原始的BGP路由的路由請求;S202 :所述BGP模塊向ALTO服務器返回未經聚合的路由信息;該路由信息包括前綴化的目的地址和源AS編號,如10. 10. 10. 14/32源AS號10、
10.10. 10. 15/32 源 AS 號 10,20. 20. 20. 14/32 源 AS 號 20 和 20. 20. 20. 15/32 源 AS 號 20,而該前綴化的目的地址是原始的BGP路由提取目的地址。S203:ALT0服務器接收到BGP模塊返回的路由信息后,根據所述路由信息中攜帶的終端的路由以及源AS編號按照預設的PID劃分策略將所述終端劃分為多個PID。所述預設的PID劃分策略包括把源AS編號相同的路由指示的終端劃分到一個PID中,并為所述PID編號;每個源AS編號對應一個PID ;或者,根據用戶配置將多個源AS對應的路由指示的終端劃分到一個PID中,并為所述PID編號;并建立所述多個源AS與PID的對應關系。在本應用示例中,把源AS編號相同的路由指示的終端劃分到一個PID中,將上述路由劃分為2個PID,源AS編號10對應PIDl,源AS編號20對應PID2,則PID包含的終端信息為PID1 {10. 10. 10. 14/32,10. 10. 10. 15/32},PID2 {20. 20. 20. 14/32,20. 20. 20. 15/32}。S204 :將每個PID中包含的終端的路由按照自然掩碼進行聚合。進行聚合后可以減少保存在PID內部終端的條目數(shù)量,聚合后PID的終端信息為PIDl {10. 10. 10. 14/31},PID2 {20. 20. 20. 14/31}。在另外一個應用示例中,如圖5所示,劃分PID的方法,包括以下步驟S301 =ALTO服務器向BGP模塊發(fā)送指明了請求聚合路由的路由請求;S302 :BGP模塊收到來自ALTO服務器的路由請求后,則按照源AS進行路由聚合;BGP模塊在接收到ALTO服務器發(fā)送路由請求之后,開啟對ALTO服務的支持。首先是按照源AS將路由進行劃分,就是把具有相同源AS編號的路由劃分在一起,然后再把劃分 在一起的路由按照自然掩碼進行聚合。這樣的聚合操作可以減少BGP模塊向ALTO模塊傳送的數(shù)據量,由于已經按照源AS進行了劃分并且把源AS相同的路由按照自然掩碼進行了聚合,所以可以減化ALTO服務器的這部分操作。S303 =BGP模塊向ALTO服務器返回聚合后的路由信息;該聚合后的路由信息也必須包括前綴化的目的地址和源AS編號,這些路由是經過步驟202處理后的結果,其他BGP路由屬性等是否攜帶可由具體實現(xiàn)來選擇。S304 =ALTO服務器接收到BGP模塊返回的路由信息后,根據源AS編號按照預設的PID劃分策略將所述終端劃分為多個PID。這里預設的PID劃分策略與上面的應用示例相同,即把源AS編號相同的路由指示的終端劃分到一個PID中,并為所述PID編號;每個源AS對應一個PID ;或者,根據用戶配置將多個源AS對應的路由指示的終端劃分到一個PID中,并為所述PID編號;建立所述多個源AS與PID的對應關系。不過,由于BGP傳送過來的路由已經是經過按源AS編號劃分和自然掩碼聚合后的結果,所以ALTO服務器可以直接利用接收到的信息來進行PID劃分即可。例如,ALTO服務器從BGP得到的聚合路由為10. 10. 10. 14/31源AS號10和20. 20. 20. 14/31源AS號20,則可以直接劃分兩個PID,源AS編號10對應PIDl,源AS編號20對應PID2,則PIDl {10. 10. 10. 14/31},PID2 {20. 20. 20. 14/31}。可選的,根據用戶配置將多個源AS對應的路由指示的終端劃分到一個PID后,還可以選擇再次按照自然掩碼進行路由聚合來減少記錄數(shù)量。在上面兩個應用示例中,BGP模塊在接收到ALTO服務器發(fā)送路由請求之后,就開啟了對ALTO服務的支持,如果BGP模塊發(fā)現(xiàn)路由發(fā)生改變,還會向ALTO服務器主動發(fā)送后續(xù)更新的路由信息,但是此時發(fā)送的信息可以為路由變化信息,而不需要再次發(fā)送全部路由信息。這種路由改變有可能是因為新增了源AS而對應的增加路由,也有可能是向ALTO服務器發(fā)送過的已有源AS對應的路由有所改變,所以,BGP模塊箱ALTO服務器發(fā)送的更新的路由信息指示了新增源AS以及已有源AS添加路由、刪除路由還是更改路由。在步驟S202中將更新的路由信息發(fā)送至ALTO服務器,而在步驟S302中也要把后續(xù)發(fā)生變化的路由信息重新進行按照源AS劃分和路由聚合的操作,并在步驟S303中把聚合后的更新的路由信息發(fā)送給ALTO服務器。
ALTO服務器在收到所述BGP模塊返回的更新的路由信息后,根據所述更新的路由信息中攜帶的終端的路由以及源AS編號對PID劃分進行更新。針對上述2個應用示例,在ALTO服務器向BGP請求路由的時候,還可以指明請求的是原始的BGP路由還是聚合路由。如果指明請求的是原始路由,那么按照圖4的流程進行處理;如果指明請求的是聚合后的路由,則按照圖5的流程進行處理。這樣可以滿足不同的場景需要。從上述實施例可以看出,相對于現(xiàn)有技術,上述實施例中提供的劃分PID的方法及裝置、ALTO服務器及BGP模塊,借助BGP的路由信息和源AS信息能夠實現(xiàn)PID的自動劃分,節(jié)省人力,智能且出錯少,簡單易行,而且由BGP模塊感知路由變化,可以快速把這種路由變化反應到PID劃分中。本領域普通技術人員可以理解上述方法中的全部或部分步驟可通過程序來指令 相關硬件完成,所述程序可以存儲于計算機可讀存儲介質中,如只讀存儲器、磁盤或光盤等??蛇x地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現(xiàn)。相應地,上述實施例中的各模塊/單元可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結合。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并非用于限定本發(fā)明的保護范圍。根據本發(fā)明的發(fā)明內容,還可有其他多種實施例,在不背離本發(fā)明精神及其實質的情況下,熟悉本領域的技術人員當可根據本發(fā)明作出各種相應的改變和變形,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種劃分PID的方法,應用于應用層傳輸優(yōu)化ALTO服務器側,包括 所述ALTO服務器向邊界網關協(xié)議BGP模塊發(fā)送路由請求,在收到所述BGP模塊返回的路由信息后,根據所述路由信息中攜帶的終端的路由以及源自治系統(tǒng)AS編號按照預設的供應商定義的網絡位置標識PID劃分策略將所述終端劃分為多個PID。
2.如權利要求I所述的方法,其特征在于 所述預設的PID劃分策略包括 把源AS編號相同的路由指示的終端劃分到一個PID中,并為所述PID編號;每個源AS對應一個PID ; 或者,根據用戶配置將多個源AS對應的路由指示的終端劃分到一個PID中,并為所述PID編號;建立所述多個源AS與PID的對應關系。
3.如權利要求2所述的方法,其特征在于所述方法還包括 在根據所述路由信息中攜帶的終端的路由以及源AS編號按照預設的PID劃分策略將所述終端劃分為多個PID后,將每個PID中包含的終端的路由按照自然掩碼進行聚合。
4.如權利要求2所述的方法,其特征在于 所述根據所述路由信息中攜帶的終端的路由以及源AS編號按照預設的PID劃分策略將所述終端劃分為多個PID,包括 如果所述路由信息中攜帶的終端的路由為聚合路由,則所述ALTO服務器在收到所述BGP模塊返回的聚合路由后,將所述聚合路由指示的終端劃分為多個PID,每個源AS對應一個PID ;或者,根據用戶配置將多個源AS對應的所述聚合路由指示的終端劃分到一個PID中,并建立所述多個源AS與PID的對應關系; 其中,所述聚合路由是已經把具有相同源AS的路由劃分在一起,然后再把劃分后的具有相同源AS的路由按照自然掩碼進行聚合的路由。
5.如權利要求2所述的方法,其特征在于 所述BGP模塊返回的路由信息包括更新的路由信息;所述方法還包括 所述ALTO服務器在收到所述BGP模塊返回的所述更新的路由信息后,根據所述更新的路由信息中攜帶的終端的路由以及源AS編號對PID劃分進行更新,具體包括 若所述源AS為新的源AS,則根據所述終端的路由以及所述新的源AS編號按照預設的PID劃分策略將所述終端劃分為多個PID,作為新增的PID ; 若所述源AS為已有的源AS,只是所述源AS編號對應的路由發(fā)生改變,則對相應PID中源AS編號對應的路由進行更新。
6.如權利要求5所述的方法,其特征在于 所述更新的路由信息指示了新增源AS以及已有源AS添加路由、刪除路由還是更改路由; 所述若所述源AS為已有的源AS,只是源AS編號對應的路由發(fā)生改變,則對相應PID中源AS編號對應的路由進行更新,包括 如果某一源AS添加了新路由,則把該新路由指示的終端添加到所述某一源AS對應的PID 中; 如果某一源AS刪除了路由,則把該路由指示的終端從所述某一源AS對應的PID中刪除;如果某一源AS對應的原有路由發(fā)生改變,則將所述某一源AS對應的PID中上述原有路由指示的終端修改為改變后的路由指示的終端。
7.一種劃分PID的方法,應用于邊界網關協(xié)議BGP模塊側,包括 所述BGP模塊在收到應用層傳輸優(yōu)化ALTO服務器發(fā)送的路由請求后,向所述ALTO服務器返回路由信息,所述路由信息攜帶有終端的路由以及源自治系統(tǒng)AS編號,以使ALTO服務器按照預設的供應商定義的網絡位置標識PID劃分策略將所述終端劃分為多個PID。
8.如權利要求7所述的方法,其特征在于 所述BGP模塊向所述ALTO服務器返回的終端的路由包括原始的BGP路由和聚合路由; 所述BGP模塊向所述ALTO服務器返回攜帶有聚合路由的路由信息,包括 所述BGP模塊在收到ALTO服務器發(fā)送的路由請求后,把具有相同源AS編號的路由劃分在一起,然后再把劃分在一起的路由按照自然掩碼進行聚合,將聚合后的路由攜帶在所述路由信息中發(fā)送至所述ALTO服務器。
9.如權利要求7所述的方法,其特征在于所述方法還包括 所述BGP模塊在收到所述ALTO服務器發(fā)送的路由請求后,開啟對ALTO服務的支持,監(jiān)測是否有新增的源AS,或者已有的源AS對應的路由信息是否發(fā)生變化,如果有新增的源AS或者所述路由信息發(fā)生變化,則向所述ALTO服務器發(fā)送更新的路由信息,所述更新的路由信息指示了新增源AS以及所述已有的源AS添加路由、刪除路由還是更改路由。
10.一種應用層傳輸優(yōu)化ALTO服務器,包括 路由請求模塊,用于向邊界網關協(xié)議BGP模塊發(fā)送路由請求; 路由接收模塊,用于接收所述BGP模塊返回的路由信息; PID劃分模塊,用于在收到所述BGP模塊返回的路由信息后,根據所述路由信息中攜帶的終端的路由以及源自治系統(tǒng)AS編號按照預設的供應商定義的網絡位置標識PID劃分策略將所述終端劃分為多個PID。
11.如權利要求10所述的ALTO服務器,其特征在于 所述預設的PID劃分策略包括 把源AS編號相同的路由指示的終端劃分到一個PID中,并為所述PID編號;每個源AS對應一個PID ; 或者,根據用戶配置將多個源AS對應的路由指示的終端劃分到一個PID中,并為所述PID編號;建立所述多個源AS與PID的對應關系。
12.如權利要求11所述的ALTO服務器,其特征在于 所述PID劃分模塊,還用于在根據所述路由信息中攜帶的終端的路由以及源AS編號按照預設的PID劃分策略將所述終端劃分為多個PID后,將每個PID中包含的終端的路由按照自然掩碼進行聚合。
13.如權利要求11所述的ALTO服務器,其特征在于 所述PID劃分模塊,用于所述根據所述路由信息中攜帶的終端的路由以及源AS編號按照預設的PID劃分策略將所述終端劃分為多個PID,包括 如果所述路由信息中攜帶的終端的路由為聚合路由,則所述PID劃分模塊將所述聚合路由指示的終端劃分為多個PID,每個源AS對應一個PID ;或者,根據用戶配置將多個源AS對應的所述聚合路由指示的終端劃分到一個PID中,并建立所述多個源AS與PID的對應關系; 其中,所述聚合路由是已經把具有相同源AS的路由劃分在一起,然后再把劃分后的具有相同源AS的路由按照自然掩碼進行聚合的路由。
14.如權利要求11所述的ALTO服務器,其特征在于 所述BGP模塊返回的路由信息包括更新的路由信息; 所述PID劃分模塊,還用于根據所述更新的路由信息中攜帶的終端的路由以及源AS編號對PID劃分進行更新,具體包括 若所述源AS為新的源AS,則根據所述終端的路由以及所述新的源AS編號按照預設的PID劃分策略將所述終端劃分為多個PID,作為新增的PID ; 若所述源AS為已有的源AS,只是所述源AS編號對應的路由發(fā)生改變,則對相應PID中源AS編號對應的路由進行更新。
15.如權利要求14所述的ALTO服務器,其特征在于 所述更新的路由信息指示了新增源AS以及已有源AS添加路由、刪除路由還是更改路由; 所述PID劃分模塊,還用于對相應PID中源AS編號對應的路由進行更新,包括 如果某一源AS添加了新路由,則把該新路由指示的終端添加到所述某一源AS對應的PID 中; 如果某一源AS刪除了路由,則把該路由指示的終端從所述某一源AS對應的PID中刪除; 如果某一源AS對應的原有路由發(fā)生改變,則將所述某一源AS對應的PID中上述原有路由指示的終端修改為改變后的路由指示的終端。
16.一種邊界網關協(xié)議BGP模塊,包括 接收模塊,用于接收應用層傳輸優(yōu)化ALTO服務器發(fā)送的路由請求; 路由信息發(fā)送模塊,用于在收到所述ALTO服務器發(fā)送的路由請求后,向所述ALTO服務器返回路由信息,所述路由信息攜帶有終端的路由以及源自治系統(tǒng)AS編號,以使ALTO服務器按照預設的供應商定義的網絡位置標識PID劃分策略將所述終端劃分為多個PID。
17.如權利要求16所述的BGP模塊,其特征在于 所述路由息攜帶的終端的路由包括原始的BGP路由和聚合路由; 所述路由信息發(fā)送模塊,用于向所述ALTO服務器返回攜帶有聚合路由的路由信息,包括 所述路由信息發(fā)送模塊把具有相同源AS編號的路由劃分在一起,然后再把劃分在一起的路由按照自然掩碼進行聚合,將聚合后的路由攜帶在所述路由信息中發(fā)送至所述ALTO服務器。
18.如權利要求16所述的BGP模塊,其特征在于所述BGP模塊還包括 監(jiān)測模塊,用于在收到所述ALTO服務器發(fā)送的路由請求后,開啟對ALTO服務的支持,監(jiān)測是否有新增的源AS,或者已有的源AS對應的路由信息是否發(fā)生變化,如果有新增的源AS或者所述路由信息發(fā)生變化,則通知所述路由信息發(fā)送模塊向所述ALTO服務器返回更新的路由信息;所述路由信息發(fā)送模塊,還用于在收到所述監(jiān)測模塊的通知后,向所述ALTO服務器發(fā)送更新的路由信息,所述更新的路由信息指示了新增源AS以及所述已有的源AS添加路由、刪除路由還是更改路由。
19.一種劃分供應商定義的網絡位置標識PID的裝置,包括如權利要求10 15所述的應用層傳輸優(yōu)化ALTO服務器和如權利要求16 18所述的邊界網關協(xié)議BGP模塊。
全文摘要
本發(fā)明公開了一種劃分PID的方法及裝置、ALTO服務器及BGP模塊,該方法包括應用層傳輸優(yōu)化ALTO服務器向邊界網關協(xié)議BGP模塊發(fā)送路由請求,所述BGP模塊在收到ALTO服務器發(fā)送的路由請求后,向所述ALTO服務器返回路由信息,所述路由信息攜帶有終端的路由以及源自治系統(tǒng)AS編號,ALTO服務器在收到所述BGP模塊返回的路由信息后,根據所述路由信息中攜帶的終端的路由以及源AS編號按照預設的PID劃分策略將所述終端劃分為多個PID。本發(fā)明提供的方法及裝置、ALTO服務器及BGP模塊,借助BGP的路由信息和源AS信息能夠實現(xiàn)PID的自動劃分,節(jié)省人力,智能且出錯少,簡單易行。
文檔編號H04L29/08GK102780617SQ20121025255
公開日2012年11月14日 申請日期2012年7月20日 優(yōu)先權日2012年7月20日
發(fā)明者曹亞林, 黎定軍 申請人:中興通訊股份有限公司