專利名稱:一種策略路由方法
技術領域:
本發明涉及網絡通信路由器技術領域,尤其涉及一種策略路由的方法。
背景技術:
在IP網絡組網設計中,經常遇到兩個網絡之間需要互通的問題,常見的解 決方式就是在網關設備(如路由器、交換機等)上做中繼,但這就需要在網關設 備上做很多設置——首先網關的設置需要了解互通網絡內部的細節,比如IP地 址配置、端口配置之類的;其次,互通的網絡之間必須是統一規劃的,比如兩個 同為192.168.0.0/16的網絡是無法通過路由器來互通的。前一個要求在一般情況 下還能夠接受,實際的路由器上也就是做了這樣的配置才使得網絡能夠連通的, 但對于運營商來說,這個要求也很難接受。第二個要求卻無法滿足, 一則因為國 際上IP地址管理規則允許諸如10.0.0.0/24、 196.168.0.0/16這樣的私有網絡存在; 二則不可能統一規劃全球IP地址在各種網絡中的部署。
面對上述問題,通常的做法是再增加一個網關設備,在兩個網關設備上各自 做地址轉換(NAT/NAPT或類似技術),使得網關"看到"的對端網關使用的 是合法的IP地址。這個方法在技術上是可行的,負面影響是網絡變得復雜,而 且NAT/NAPT本身也存在"面向應用不夠友好"的缺點,限制了組網的應用, 這將使一些特殊應用的互聯互通出現問題。通過兩個網關設備進行地址轉換的方 法也提高了組網設備成本和管理成本。
另外還有一種做法就是在網關上設置ARP代理,使用戶A和用戶B"感覺"
對方和自己在同一個網絡內。這個技術一般只適用于小型的簡單網絡,對于運營 商級的龐大網絡顯然并不適合,此外這個技術的硬傷是兩個運營商的IP地址必 須統一規劃,不能出現沖突,否則仍然會出現路由錯誤。因為該應用中是要在網 關設備上做隧道封裝,再查路由——因此從運營商乙發往運營商甲的報文可能會 被封裝上不可預知的外層隧道封裝,此時ARP代理的請求報文可能無法正確處 理。另一種ARP代理無法解決的情況就是運營商甲、乙使用了相同的IP地址段 甚至IP主機地址,此時ARP代理將會出錯。換一個說法就是ARP代理要求對接的運營商的網絡必須是統一規劃的。
一般的路由器中,報文的尋址僅僅根據報文的目的IP地址來查找路由表, 而策略路由則不僅僅通過目的IP地址來查找路由表,還能通過報文中的其他字 段(比如源IP地址、端口號等)來輔助査找路由。多路由表技術則是在一個路 由器上存在多張路由表,根據不同的報文特征,查找不同的路由表。多路由表技 術通常和策略路由技術配合使用報文先經過策略路由,以確定查找哪一張路由 表,然后在該路由表上查找到出端口。但多路由表的基本要求仍與單路由表相同, 即不能在兩個端口上綁定相同的網段,否則路由協議將出錯。
發明內容
本發明的目的是提供一種策略路由方法,使得當路由器連接的兩個網絡各 自都有獨立的IP地址管理體系時,路由器同樣能夠配置和轉發上述報文。 本發明的技術方案是這樣的, 一種策略路由方法,包括以下步驟 接收報文;
獲取所述報文的附加特征信息; 根據所述報文的附加特征信息確定對應的路由表; 根據所述對應的路由表獲得出端口號; 對所述報文轉發。
所述附加特征信息是VLAN號或者入端口號。 所述對應的路由表的數量是2個或者超過2個。 所述對應的路由表的IP地址體系是獨立的。 所述報文由外層和內層組成。 所述報文的附加特征信息處在外層。
這里,附加特征信息是指VLAN號或者如端口號這樣的特征信息。 對于綁定了相同IP地址段的兩個路由器端口來說,報文本身的內容無法"申 明"自己是來自哪個端口,因此可以使用報文之外的信息來確定該報文是來自哪 個運營商的IP地址體系,從而確定應査找哪個路由表。但這個改進并不是必須 的,實際上有些特殊的報文仍然含有足夠的信息來表明自己是來自哪個端口,進 而根據這些信息就能夠策略選擇相應的路由表。
既然同一張路由表中不能有兩個端口處在同一個網段中,那么解決問題的唯一方法就是使用多張路由表,而且這些路由表中所見的端口配置情況不一樣,簡 單的說就是將存在沖突關系的路由項放置在不同的路由表中,也就是每個獨立的 IP地址管理體系都有自己獨立的路由表項,這樣就符合了路由協議的要求,報 文得以正確轉發。
總之,通常的策略路由僅根據報文本身的內容進行策略路由,本發明則對策 略路由的選項進行了擴充,使路由器能夠根據報文的入端口號、VLAN號進行策 略路由。
采用本發明的技術方案具有如下優點-1,降低組網設備成本;
2,適應多種網絡情景,對于ARP代理無法解決的組網問題也能解決; 3,對現有的策略路由和多路由表技術進行了重大改進,尤其是允許各個各 路由表的端口配置情況不一樣、出端口和入端口處在不同的路由表中, 從而避免了"同一張路由表的不同端口配置了相同的IP地址段"的問題。
圖1是本發明的流程示意框圖
圖2是本發明實施例一的原理示意圖
圖3是本發明實施例二的原理示意圖
具體實施例方式
下面結合附圖和實施例詳細說明本發明的技術方案。 實施例一,如圖2
報文1:源IP地址為10.0.0.5,目的IP地址為10.0.0.6, VLAN號為100。在 本發明所述路由器上轉發時,通過VLAN號查策略項,得知該報文應查運營商 A的路由表,查表得到出端口為2;
報文2:源IP地址為10.0.0.5,目的IP地址為10.0.0.7, VLAN號為200。在 本發明所述路由器上轉發時,通過VLAN號查策略項,得知該報文應査運營商B 的路由表,查表得到出端口為3;
實施例二,如圖3
實際設計中,報文的轉發可能存在接續轉發的情況,也即是報文中存在兩層IP地址(以IP over IP的形式封裝,具體的封裝協議有多種,這里不列舉),在 路由轉發的時候可以先根據外層IP地址進行策略選擇相應的路由表。對于這樣 的設計,我們認為它是本發明的一種擴展設計,其設計思想并無兩樣,應視為本 發明的一種特例表現形式。
關于上述擴展設計的轉發過程描述-
路由轉發步驟(擴展設計)
1,端口 l接收到報文;
2,通過報文的封裝形式和協議號,判斷該報文是屬于運營商B的報文; 3,查詢策略項列表,根據報文的IP封裝形式和協議號選擇路由表(也就是 只通過報文本身的信息,而不必使用報文的入端口號/VLAN號等策略項); 4,在運營商B的路由表中査詢路由; 5、轉發到端口 5。
然而還有另外一種情況,即路由轉發步驟如下(未擴展的設計,與上面 的擴展設計作對比)
1,端口6接收到報文;
2,查多路由表的策略項列表,根據報文的入端口號(端口 6)判斷該報文
是屬于運營商A的報文;
3,在運營商A的路由表中査詢路由;
4,轉發到端口2。
從上述描述中可以看出,各路由表之間并不存在直接相關性,因此它們的邏 輯端口配置情況可以不一樣,舉例說明即在某路由表中可能只存在邏輯端口 1、
3、 5、 6,而另一張路由表中則可能只有邏輯端口 1、 2、 4、 6。這是本發明的顯 而易見的擴展,應納入本發明的保護范圍。 由本發明具體實施方式
可以得出
策略路由的選擇項中增加端口、 VLAN選項,或者通過擴展設計的方式獲得 足夠的額外信息進行策略路由;
每個IP地址管理體系都有自己獨立的路由表,因此存在沖突關系的路由項自 然而然地處在不同的路由表中,從而避免了"同一張路由表的不同端口配置了相 同IP地址段"的問題。 各路由表中的邏輯端口配置情況可以不一樣。
權利要求
1、一種策略路由方法,其特征在于,包括以下步驟接收報文;獲取所述報文的附加特征信息;根據所述報文的附加特征信息確定對應的路由表;根據所述對應的路由表獲得出端口號;對所述報文轉發。
2、 如權利要求1所述策略路由方法,其特征在于,所述附加特征信息是VLAN 號或者入端口號。
3、 如權利要求1所述策略路由方法,其特征在于,所述對應的路由表的數量是 2個或者超過2個。
4、 如權利要求3所述策略路由方法,其特征在于,所述對應的路由表的IP地址 體系是獨立的。
5、 如權利要求1所述策略路由方法,其特征在于,所述報文由外層和內層組成。
6、 如權利要求5所述策略路由方法,其特征在于,所述報文的附加特征信息處 在外層。
全文摘要
本發明涉及網絡通信路由器技術領域中一種策略路由的方法。策略路由的選擇項中增加端口、VLAN選項,或者通過擴展設計的方式獲得足夠的額外信息進行策略路由;每個IP地址管理體系都有自己獨立的路由表,因此存在沖突關系的路由項自然而然地處在不同的路由表中,從而避免了“同一張路由表的不同端口配置了相同IP地址段”的問題。本發明解決了路由器連接的兩個網絡各自都有獨立的IP地址管理體系的情況下,傳統的路由器可能無法配置和轉發這樣的報文的缺點。
文檔編號H04L12/56GK101626340SQ20081004048
公開日2010年1月13日 申請日期2008年7月11日 優先權日2008年7月11日
發明者藍建棟 申請人:上海頂竹通訊技術有限公司