專利名稱:一種以太網無編號接口實現數據轉發方法
技術領域:
本發明涉及網絡通信技術,尤其涉及一種以太網通過無編號接口作為中繼模式, 實現報文轉發的方法。
背景技術:
無編號接口就是設備上的一個接口上沒有配置IP地址但是還想使用該接口,就直接利用本地其他接口網絡地址作為該接口的網絡地址以使該接口能夠正常使用。其目的是是為了讓沒有配置IP地址的接口進行正常通訊同時節省寶貴的IP地址資源。但使用無編號接口的功能時候,存在使用限制借用方不能為以太網接口 ;被借用方接口的地址本身不能為借用地址;被借用方的地址可以借給多個接口 ;環回口的地址可被其它接口借用,但本身不能借用其它接口的地址;如果被借用接口有多個IP地址,則只能借用主IP 地址。目前以太網接口都需要配置IP地址,該接口才能正常工作,鑒于目前以太網接口在設備上大量存在,當以太網接口作為中繼鏈路時需要配置同一網段地址,且配置的地址繁多,導致用戶的配置使用復雜,使得設備的易用性不高。發明內容
本發明針對上述借用方不能為以太網接口限制的問題,提供了一種以太網無編號接口作為中繼接口,實現報文轉發方法。為了實現該方法,需要4個模塊,包括配置管理模塊、IP接口管理模塊、鄰居維護模塊和交換網絡驅動模塊。
所述配置管理模塊,負責設置以太網接口的無編號地址功能,能夠進行有編號和無編號切換,將配置信息發送給IP接口管理模塊。
所述IP接口管理模塊,負責創建三層以太網接口,在創建接口時候向IP協議棧注冊的自定義回調函數,向交換網絡驅動模塊發送報文時候,通過該接口函數發送報文。
所述鄰居維護模塊,負責收集對端連接設備的接口號、接口 IP地址和MAC地址。在本地維護對端MAC地址、IP地址、對端接口信息的映射表,該表項供驅動模塊收發數據和維護三層轉發表使用。
所述交換網絡驅動模塊,采用邏輯的三層接口,對以太網頭部進行封裝以及解封裝,完成報文的收發處理。
實現以太網無編號數據轉發功能的方法為1)以太網無編號接口創建,2)鄰居維護模塊進行鄰居的創建和刪除維護,建立鄰居映射表,作為驅動模塊進行報文封裝和維護三層轉發表使用,3)路由表形成,鄰居維護模塊與驅動模塊之間相互配合,協助路由協議建立路由鄰居和維護路由表,將路由信息添加到協議棧和通知驅動模塊更新芯片路由表,4) 當數據需要進行轉發時,交換網絡根據目的IP地址查找三層轉發表,三層轉發表中包含下一跳的IP地址、MAC地址和出接口,根據這些信息查找出接口進行報文轉發。
本發明的有效技術效果是通過增加鄰居維護模塊建立的鄰居信息映射表和驅動模塊對報文進行正確以太網頭部封裝和解封裝,在二層/三層以太交換芯片上實現以太網無編號數據轉發功能,減少IP地址的使用,有效減少用戶的配置接口 IP地址,提高設備的可用性。
圖I、各模塊之間的關系。
圖2、報文發送流程圖。
圖3、報文接收流程圖。
具體實施方式
為了實現本發明的發明目的,本發明提供了一種以太網無編號接口作為中繼接口,包括配置管理模塊、接口管理模塊、鄰居維護模塊和交換網絡驅動模塊。各個模塊之間的關系參見圖I。
以太網無編號接口創建設置以太網接口為無編號接口,配置管理模塊通知IP接口管理模塊,由接口管理模塊創建三層以太網接口,創建的時候不直接使用協議棧提供的接口函數,而是通過自定義接口函數創建。創建的三層以太網接口不支持ARP協議。接口管理接口創建成功后需要通知驅動模塊創建邏輯的三層接口,邏輯三層接口采用VLAN進行報文的隔離。接口創建成功后,通知鄰居維護啟動鄰居管理模塊運行工作。
鄰居模塊鄰居維護鄰居協議采用組播方式發送定時向對端設備發送Hello報文。該報文包括本接口信息、接口 IP地址和MAC地址;接收端接收到Hello報文后,從報文中提取對端接口的接口信息、接口 IP地址、MAC地址,形成本地的鄰居信息映射表,表項內容包括對端接口號、接口 MAC地址、接口 IP地址和本端的端口信息。在鄰居狀態沒有達到雙向通信之前,兩端設備接收到路由協議報文時候,路由協議不處理更新報文。
路由表形成過程如果發送方發送組播報文,驅動模塊對于組播報文根據組播的規則計算目的MAC地址,根據出接口信息填寫源MAC地址,然后從相應的出接口發送報文; 接收方接收到組播報文后,和有編號接口處理一致;對于單播報文,需要根據下一跳IP地址、出接口信息到鄰居管理模塊維護的映射表中查找網關MAC地址,根據出接口信息填寫源MAC地址,然后將報文從相應的出接口發送出去,具體參見圖2。接收方設備從驅動模塊接收組播或者單播報文,檢查以太網幀類型,如果是IP數據同時接口是無編號接口,從以太網幀頭部讀取VLANID信息,將報文送到協議棧對應接口上,路由協議模塊通過Socket接收到協議更新報文后,進行路由更新,然后路由信息添加到協議棧和通知驅動模塊更新芯片路由表,具體參見圖3。
數據轉發過程當報文需要通過以太網設備進行轉發時,交換網絡根據目的IP地址查找三層轉發表,三層轉發表中包含下一跳的IP地址、MAC地址、出接口,根據這些信息查找出接口,交換之后的報文經過以太網封裝。
權利要求
1.本發明提供了一種以太網通過無編號方式作為中繼接口,實現報文轉發方法,其特征在于,實現該方法需要配置管理模塊、IP接口管理模塊、鄰居維護模塊和交換網絡驅動模塊; 所述配置管理模塊,負責設置以太網接口的無編號地址功能,能夠進行有編號和無編號切換,將配置信息發送給IP接口管理模塊; 所述IP接口管理模塊,負責創建三層以太網接口,在創建接口時候向IP協議棧注冊的自定義回調函數,向交換網絡驅動模塊發送報文時候,通過該接口函數發送報文; 所述鄰居維護模塊,負責收集對端連接設備的接口號、接口 IP地址和MAC地址;在本地維護對端MAC地址、IP地址、對端接口信息的映射表,該表項供驅動模塊收發數據和維護三層轉發表使用; 所述交換網絡驅動模塊,采用邏輯的三層接口,對以太網頭部進行封裝以及解封裝,完成報文的收發處理。
2.根據權利要求I所述的方法,其特征在于,報文轉發的方法為1)以太網無編號接口創建,2)鄰居維護模塊進行鄰居的創建和刪除維護,建立鄰居映射表,該表為驅動模塊進行報文封裝和維護三層轉發表使用,3)路由表形成;如果發送方發送組播報文,驅動模塊對于組播報文根據組播的規則計算目的MAC地址,根據出接口信息填寫源MAC地址,然后從相應的出接口發送報文;接收方接收到組播報文后,和有編號接口處理一致;對于單播報文,需要根據下一跳IP地址、出接口信息到鄰居管理模塊維護的映射表中查找網關MAC地址,根據出接口信息填寫源MAC地址,然后將報文從相應的出接口發送出去;接收方設備從驅動模塊接收組播或者單播報文,檢查以太網幀類型,如果是IP數據同時接口是無編號接口,從以太網幀頭部讀取VLAN ID信息,將報文送到協議棧對應接口上,路由協議模塊通過Socket接收到協議更新報文后,進行路由更新,然后路由信息添加到協議棧和通知驅動模塊更新芯片路由表,4)當數據需要進行轉發時,交換網絡根據目的IP地址查找三層轉發表,三層轉發表中包含下一跳的IP地址、MAC地址和出接口,根據這些信息查找出接口進行報文轉發。
全文摘要
本發明公開了一種以太網接口通過無編號方式實現報文轉發的以太網交換方法。該方法包括以太網接口作為無編號接口,增加鄰居維護模塊建立;在本地建立MAC地址和IP地址信息映射表,驅動模塊根據協議報文的特征進行正確地進行以太網幀頭部封裝和解封裝,協助路由協議完成路由交互的過程,最終形成芯片的三層轉發表;當數據轉發時,交換網絡根據目的IP地址查找三層轉發表,三層轉發表中包含下一跳的IP地址、MAC地址、出接口,根據這些信息查找出接口,交換之后的報文進行以太網封裝。本發明的有效技術效果是減少用戶的配置接口IP地址,提高設備的可用性。
文檔編號H04L12/741GK102984070SQ20121053589
公開日2013年3月20日 申請日期2012年12月13日 優先權日2012年12月13日
發明者李世釗, 陳量, 鄭直, 雷文虎, 楊釗, 劉俊 申請人:重慶金美通信有限責任公司