專利名稱::一種業(yè)務數(shù)據(jù)報文的傳輸方法及裝置的制作方法
技術領域:
:本發(fā)明涉及通信
技術領域:
,尤其涉及一種業(yè)務數(shù)據(jù)報文的傳輸方法及裝置。
背景技術:
:Linux系統(tǒng)標準內核已經(jīng)實現(xiàn)了虛擬局域網(wǎng)(VLAN,VirtualLocalAreaNetwork)協(xié)議,可通過標識虛擬局域網(wǎng)標識(VLANID,VirtualLocalAreaNetworkIdentity)實現(xiàn)VLAN功能?,F(xiàn)有技術中,用戶只需借助開源工具vconfig創(chuàng)建相應的VLANID的VLAN設備便可以輕松實現(xiàn)VLAN功能。但是上述現(xiàn)有技術只能實現(xiàn)簡單的VLAN功能,只能實現(xiàn)對稱型VLAN業(yè)務,接收業(yè)務數(shù)據(jù)報文時只接收VLANID為X的業(yè)務數(shù)據(jù)報文,發(fā)送業(yè)務數(shù)據(jù)報文時也只能發(fā)送VLANID為X的業(yè)務數(shù)據(jù)報文。對于非對稱型VLAN業(yè)務則無法實現(xiàn),非對稱型VLAN業(yè)務是指接收的業(yè)務數(shù)據(jù)報文和發(fā)送的業(yè)務數(shù)據(jù)報文的VLANID不同,例如接收業(yè)務數(shù)據(jù)報文時只接收VLANID為X的業(yè)務數(shù)據(jù)報文,發(fā)送業(yè)務數(shù)據(jù)報文時被要求發(fā)送VLANID為y的業(yè)務數(shù)據(jù)報文。
發(fā)明內容本發(fā)明實施例提供了一種業(yè)務數(shù)據(jù)報文的傳輸方法及裝置,用以傳輸非對稱型VLAN業(yè)務數(shù)據(jù)報文。本發(fā)明實施例中的業(yè)務數(shù)據(jù)報文的傳輸方法,包括第一鉤子點去除接收的業(yè)務數(shù)據(jù)報文中攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文的VLAN頭部,所述接收的業(yè)務數(shù)據(jù)報文包括攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文,及不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文;將去除VLAN頭部的業(yè)務數(shù)據(jù)報文中及所述不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文中,匹配預置的定向發(fā)送條件的業(yè)務數(shù)據(jù)報文定向發(fā)送到對應的出接口,所述定向發(fā)送條件至少包括業(yè)務數(shù)據(jù)報文的源端口、VLANID、MAC地址及IP地址中的一個;第二鉤子點將所述發(fā)送到對應的出接口的業(yè)務數(shù)據(jù)報文中,需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文,添加新的VLAN頭部并進行轉發(fā)。本發(fā)明實施例中的業(yè)務數(shù)據(jù)報文的傳輸裝置,包括去除單元,用于去除接收的業(yè)務數(shù)據(jù)報文中攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文的VLAN頭部,所述接收的業(yè)務數(shù)據(jù)報文包括攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文,及不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文;發(fā)送單元,用于將去除VLAN頭部的業(yè)務數(shù)據(jù)報文中及所述不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文中,匹配預置的定向發(fā)送條件的業(yè)務數(shù)據(jù)報文定向發(fā)送到對應的出接口,所述定向發(fā)送條件至少包括業(yè)務數(shù)據(jù)報文的源端口、VLANID、MAC地址及IP地址中的一個;添加單元,用于將所述發(fā)送到對應的出接口的業(yè)務數(shù)據(jù)報文中,需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文,添加新的VLAN頭部;所述發(fā)送單元,還用于將添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文進行轉發(fā)。從以上技術方案可以看出,本發(fā)明實施例具有以下優(yōu)點第一鉤子點去除接收的業(yè)務數(shù)據(jù)報文中攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文的VLAN頭部,將其中匹配預置的定向發(fā)送條件的業(yè)務數(shù)據(jù)報文定向發(fā)送到對應的出接口,第二鉤子點將需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文,添加新的VLAN頭部后進行轉發(fā),由于將業(yè)務數(shù)據(jù)報文去除VLAN頭部,去除了源VLAN的網(wǎng)絡身份標識,又將去除了VLAN頭部的業(yè)務數(shù)據(jù)報文添加新的VLAN頭部,以便添加后的業(yè)務數(shù)據(jù)報文順利在相應的新的VLAN中進行傳輸,從而實現(xiàn)對稱型VLAN業(yè)務。圖I為本發(fā)明實施例中系統(tǒng)內核的框架示意圖;圖2為本發(fā)明實施例中實現(xiàn)業(yè)務報文傳輸?shù)母餮b置的連接結構及數(shù)據(jù)傳輸方向示意圖;圖3為本發(fā)明實施例中的業(yè)務數(shù)據(jù)報文的傳輸方法的一個實施例示意圖;圖4為本發(fā)明實施例中各組件結構示意圖;圖5為本發(fā)明實施例中的業(yè)務數(shù)據(jù)報文的傳輸方法的另一個實施例示意圖;圖6為本發(fā)明實施例中的業(yè)務數(shù)據(jù)報文的傳輸裝置的一個實施例示意圖;圖7為本發(fā)明實施例中的業(yè)務數(shù)據(jù)報文的傳輸裝置的另一個實施例示意圖。具體實施例方式下面結合附圖和具體實施例進一步說明本發(fā)明實施例的技術方案,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。本發(fā)明實施例提供了一種業(yè)務數(shù)據(jù)報文的傳輸方法及裝置,用于通過為業(yè)務數(shù)據(jù)報文添加新的VLANID的方式,傳輸非對稱型VLAN業(yè)務數(shù)據(jù)報文。本發(fā)明實施例中,以視頻和電話類業(yè)務為例,其他具有類似傳輸方式的業(yè)務數(shù)據(jù)報文的傳輸方法實現(xiàn)方式類似于此兩種業(yè)務。首先介紹本發(fā)明實施例中的各組件結構及功能虛擬網(wǎng)絡接口(Vnet,Virtualnetinterface)組件用于派生出真實接口的虛擬接口,類似于使用VLAN接口配置開源工具Vconfig創(chuàng)建的VLAN接口。Vnet組件由Vnet內核模塊和虛擬網(wǎng)絡接口配置工具Vnetconfig組成,Vnetconfig通過ioctl函數(shù)與Vnet內核模塊交互,Vnet內核模塊收到應用層創(chuàng)建Vnet接口的ioctl請求后,在內核空間創(chuàng)建網(wǎng)絡設備net_device對象,并初始其接收和發(fā)送數(shù)據(jù)包函數(shù)等。例如,倉Il建LAN側虛設備vnet_Ll的具體指令為Vnetconfigaddvnet_LlethO;創(chuàng)建WAN側虛設備vnet_Wl的具體指令為Vnetconfigaddvnet_fflwan;橋設備Bridge組件每創(chuàng)建一個VLAN業(yè)務數(shù)據(jù)報文的定向關系便創(chuàng)建一個Bridge設備,為局域網(wǎng)(LAN,LocalAreaNetwork)接口和廣域網(wǎng)(WAN,WideAreaNetwork)接口各創(chuàng)建一個Vnet接口,然后將這兩個Vnet接口加入到Bridge設備中。例如,創(chuàng)建橋設備BRl的具體指令可以為BrctladdbrBRl;將虛設備vnet_Ll加入到橋BRl中的具體指令為BrctladdifBRlvnet_Ll;將虛設備vnet_Wl加入到橋BRl中的具體指令為BrctladdifBRlvnet_ffl;分類器Filter組件實現(xiàn)上為一系列防火墻ebtables的規(guī)則,負責篩選符合條件的包并重定向到相應的Vnet接口上,篩選條件包括介質訪問控制(MAC,MediaAccessControl)地址,Vnet接口或Vport業(yè)務接口,VlanID,網(wǎng)絡協(xié)議(IP,InternetProtocol)地址,傳輸控制協(xié)議(TCP,TransmissionControlProtocol)或用戶數(shù)據(jù)報協(xié)議(UDP,UserDatagramProtocol)端口等,從而可以實現(xiàn)策略VLAN。Filter分2個方向,一個為LAN到WAN,一個為WAN到LAN;標記Marking組件實現(xiàn)上也為一系列的ebtables的規(guī)則,負責根據(jù)用戶配置將從相應Vnet接口發(fā)出的數(shù)據(jù)包添加VlanID標記,也可以不添加VlanID標記,如LAN到WAN的數(shù)據(jù)包一般不帶VlanID。Marking也分2個方向,一個為LAN到WAN,一個為WAN到LAN。進一步地,為實現(xiàn)Filter和Marking組件,需要在Linux內核架構中添加兩個鉤子點(hook),分別是第一鉤子點BR_PR0UTING和第二鉤子點BR_AR0UTING。請參閱圖1,圖I為內核架構的結構圖,其中,除以上兩個鉤子點外,還有其他各鉤子點,例如,BR_BR0UTING、BR_PRE_R0UTING、BR_L0CAL_IN、IP_L0CAL_0UT等,此處不——描述,各鉤子點位置如圖,可分列于以太網(wǎng)絡(Ethernet)層或網(wǎng)絡協(xié)議(IP)層各鉤子點的使用為現(xiàn)有技術,此處不再贅述,圖中的兩個圓形表示數(shù)據(jù)報文到此處的路徑選擇,若該數(shù)據(jù)報文是發(fā)送到本層的則選擇進入上一層協(xié)議處理,否則轉發(fā)到本層的下一個鉤子點。第一鉤子點BR_PR0UTING及第二鉤子點BR_AR0UTING在內核架構中的位置如圖I所示,位于以太網(wǎng)側,其他鉤子點的分布為現(xiàn)有技術,此處不作贅述。其中第一鉤子點BR_PR0UTING用于接收處理數(shù)據(jù)報文,它掛載在netif_receive_skb函數(shù)中,當?shù)谝汇^子點從驅動接收到數(shù)據(jù)報文,在netif_reCeiVe_Skb函數(shù)中進行橋處理和協(xié)議處理,因為需要在第一鉤子點同時處理橋和路由的報文,同時還要去掉一些其它的二層協(xié)議,所以第一鉤子點BR_PR0UTING的位置需要放在在橋處理和協(xié)議處理的鉤子點之前。在數(shù)據(jù)報文到達BR_PR0UTING時,需去除VLAN頭部,因為在VLAN頭部中的VlanID標識數(shù)據(jù)報文來自的VLAN,可能無法繼續(xù)在另一個VLAN中傳輸,這里需要擴展一個vlanuntag的目標標簽target來去除VLAN頭部,并將VLANID記錄在skbuff中,并新增一個redirect_devtarget用于根據(jù)規(guī)則指定數(shù)據(jù)報文進入的接口。第二鉤子點BR_AR0UTING用于處理發(fā)送數(shù)據(jù)報文,它同樣也需要處理橋和路由的報文,因此需要將它掛載在公共發(fā)送函數(shù)中,例如,可以將它掛載在dev_qUeUe_xmit或dev_hard_start_xmit函數(shù)里。在數(shù)據(jù)報文到達BR_AR0UTING時,為發(fā)送出去的數(shù)據(jù)報文添加VLAN頭部,所以需要擴展一個Vlan頭部的target來根據(jù)skbuff中的VLANID為數(shù)據(jù)報文添加VLAN頭部。本實施例中實現(xiàn)業(yè)務報文傳輸?shù)母餮b置的連接結構及數(shù)據(jù)傳輸方向,請見圖2,其中,第一鉤子點接收來自EthO的業(yè)務數(shù)據(jù)報文,EthO為LAN側接口,對應著一個物理網(wǎng)卡或者是交換機。下面分別詳細介紹本發(fā)明實施例中的業(yè)務數(shù)據(jù)報文的傳輸方法,請參閱圖3。本發(fā)明實施例中的業(yè)務數(shù)據(jù)報文的傳輸方法的一個實施例包括101、第一鉤子點去除接收的業(yè)務數(shù)據(jù)報文中,攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文的VLAN頭部,所述接收的業(yè)務數(shù)據(jù)報文包括攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文,及不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文;第一鉤子點接收業(yè)務數(shù)據(jù)報文,去除其中攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文的VLAN頭部,去除VLAN頭部的業(yè)務數(shù)據(jù)報文不含源虛擬局域網(wǎng)標識VLANID,接收的業(yè)務數(shù)據(jù)報文包括攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文,及不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文。在Linux內核中,添加第一鉤子點BR_PR0UTING及第二鉤子點BR_AR0UTING處理業(yè)務數(shù)據(jù)報文,通過在該第一鉤子點掛載第一鉤子鉤子函數(shù)及在第二鉤子點掛載第二鉤子函數(shù),對業(yè)務數(shù)據(jù)報文進行處理。第一鉤子點接收來自各業(yè)務端口的業(yè)務數(shù)據(jù)報文,將其中攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文的VLANT頭部去除,并將VLAN信息記錄在sk_buff中。為便于理解,請參閱圖4,本實施例中的各組件結構如圖4所示,首先,利用橋接口配置開源工具brctl創(chuàng)建一個fcidge接口BR2,利用Vnetconfig工具為LAN側的VLAN業(yè)務接口Vport2創(chuàng)建一個Vnet虛擬接口Lan_vnet2,需要說明的是,在LAN側有多個VLAN業(yè)務接口,按照業(yè)務類型分為不同業(yè)務接口,例如,視頻業(yè)務、語音業(yè)務、數(shù)據(jù)業(yè)務等。進一步地,利用Vnetconfig工具為WAN側VLAN業(yè)務基于WAN接口創(chuàng)建一個Vnet虛擬接口Wan_vnet2,利用brctl工具上述創(chuàng)建的Vnet虛擬接口Lan_vnet2和Wan_vnet2加入到Bridge接口BR2中。在LAN側或WAN側的分類器組件中加入ebtables規(guī)則以掛載相應的鉤子函數(shù),將滿足定向發(fā)送條件的數(shù)據(jù)包定向到相應的LAN虛擬接口或WAN虛擬接口,定向發(fā)送條件還可以是MAC地址,IP地址等,在LAN側或WAN側的Marking組件中加入ebtables規(guī)則以掛載相應的鉤子函數(shù),將出接口發(fā)出的數(shù)據(jù)包打上VLANID的VLANTag。102、將去除VLAN頭部的業(yè)務數(shù)據(jù)報文及不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文中,匹配預置的定向發(fā)送條件的業(yè)務數(shù)據(jù)報文定向發(fā)送到對應的出接口;將步驟101中去除VLAN頭部的業(yè)務數(shù)據(jù)報文中,以及接收的業(yè)務數(shù)據(jù)報文中不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文中匹配預置的定向發(fā)送條件的業(yè)務數(shù)據(jù)報文,定向發(fā)送到對應的出接口,該定向發(fā)送條件至少包括業(yè)務數(shù)據(jù)報文的源端口、VLANID、MAC地址及IP地址中的一個。具體地,在設備中預置的定向發(fā)送條件可以限定業(yè)務數(shù)據(jù)報文的來源端口,端口不同,業(yè)務種類不同,也可以是VLANID,表示業(yè)務數(shù)據(jù)報文的源VLAN,也可以是MAC地址或IP地址,可以理解的,定向發(fā)送條件也可以是上述各參數(shù)的組合。接收的業(yè)務數(shù)據(jù)報文匹配定向發(fā)送條件,則將該業(yè)務數(shù)據(jù)報文定向到對應的虛擬接口,如前述LAN側或WAN側的Vent接口。103、第二鉤子點將發(fā)送到對應的出接口的業(yè)務數(shù)據(jù)報文中需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文,添加新的VLAN頭部后進行轉發(fā)。本發(fā)明實施例中,第一鉤子點去除接收的業(yè)務數(shù)據(jù)報文中攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文的VLAN頭部,將其中匹配預置的定向發(fā)送條件的,以及不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文中匹配預置的定向發(fā)送條件的數(shù)據(jù)報文,定向發(fā)送到對應的出接口,第二鉤子點將發(fā)送到對應的出接口的業(yè)務數(shù)據(jù)報文中需要轉發(fā),并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文,添加新的VLAN頭部后進行轉發(fā),由于將業(yè)務數(shù)據(jù)報文去除VLAN頭部,去除了源VLAN的網(wǎng)絡身份標識,又將去除了VLAN頭部的業(yè)務數(shù)據(jù)報文添加新的VLAN頭部,以便添加后的業(yè)務數(shù)據(jù)報文順利在相應的新的VLAN中進行傳輸,從而實現(xiàn)對稱型VLAN業(yè)務。為便于理解,請參閱圖5,本發(fā)明實施例中的業(yè)務數(shù)據(jù)報文的傳輸方法的另一個實施例包括201、第一鉤子點通過第一鉤子函數(shù),去除接收的業(yè)務數(shù)據(jù)報文中攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文的VLAN頭部;需要說明的是,在第一鉤子點掛載第一鉤子函數(shù),通過該第一鉤子函數(shù)對業(yè)務數(shù)據(jù)報文進行過濾、分類,以及判斷業(yè)務數(shù)據(jù)報文是否匹配預置的定向發(fā)送條件。第一鉤子點接收業(yè)務數(shù)據(jù)報文,判斷其是否攜帶VLAN頭部,有些業(yè)務數(shù)據(jù)報文攜帶,有些業(yè)務數(shù)據(jù)報文不攜帶,當判斷業(yè)務報文攜帶VLAN頭部時,第一鉤子點通過第一鉤子函數(shù)去除接收的業(yè)務數(shù)據(jù)報文中攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文的VLAN頭部,去除VLAN頭部的業(yè)務數(shù)據(jù)報文不含源虛擬局域網(wǎng)標識VLANID,其中,接收的業(yè)務數(shù)據(jù)報文包括攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文,及不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文。202、判斷去除VLAN頭部的業(yè)務數(shù)據(jù)報文及所述不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文,是否匹配預置的定向發(fā)送條件;判斷去除VLAN頭部的業(yè)務數(shù)據(jù)報文,及所接收的業(yè)務數(shù)據(jù)報文中不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文中,是否已匹配預置的定向發(fā)送條件。所述定向發(fā)送條件至少包括業(yè)務數(shù)據(jù)報文的源端口、VLANID、MAC地址及IP地址中的一個,需要說明的是,預置的定向發(fā)送條件可以限定業(yè)務數(shù)據(jù)報文的來源端口,端口不同,業(yè)務種類不同,也可以是VLANID,表示業(yè)務數(shù)據(jù)報文的源VLAN,也可以是MAC地址或IP地址,可以理解的,定向發(fā)送條件也可以是上述各參數(shù)的組合。接收的業(yè)務數(shù)據(jù)報文匹配定向發(fā)送條件,則將該業(yè)務數(shù)據(jù)報文定向到對應的虛擬接口,如前述LAN側或WAN側的Vent接口。若是,則執(zhí)行步驟203,若否,則執(zhí)行步驟204。203、將匹配該預置的定向發(fā)送條件的業(yè)務數(shù)據(jù)報文,定向發(fā)送到對應的出接口;定向發(fā)送條件的數(shù)量為多個,不同的定向條件對應不同的WAN側Vent接口或LAN側Vent接口,例如,定向發(fā)送條件為“從LAN側接口ethO進來且VLANID為y”,則將匹配該定向條件的業(yè)務數(shù)據(jù)報文定向發(fā)送到vnet_Ll接口,具體指令可以為Ebtables-tproute-APROUTING-iethO-vlan-idy-jvlan-vlan-untag-redirect-devvnet_Ll;定向發(fā)送條件為“WAN側接口wan進來且VLANID為z”,則將匹配該定向條件的業(yè)務數(shù)據(jù)報文定向發(fā)送到vnet_Wl接口,具體指令可以為Ebtables_tproute-APROUTING-iwan-vlan-idz-jvlan-vlan-untag-redirect-devvnet_Wl。204、丟棄不匹配該預置的定向發(fā)送條件的業(yè)務數(shù)據(jù)報文;若去除VLAN頭部的業(yè)務數(shù)據(jù)報文及不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文,不匹配該預置的定向發(fā)送條件,則丟棄。205、判斷定向發(fā)送到對應的出接口的業(yè)務數(shù)據(jù)報文是否需要轉發(fā);如果該業(yè)務數(shù)據(jù)報文是發(fā)送到設備本身的,則發(fā)送給上層協(xié)議處理,不發(fā)送到設備本身的報文則進行轉發(fā)。若是,則執(zhí)行步驟206,若否,則執(zhí)行步驟207。206、判斷需要轉發(fā)的業(yè)務數(shù)據(jù)報文是否需要添加新的VLAN頭部;一般地,發(fā)向LAN側的業(yè)務數(shù)據(jù)報文需要添加VLAN頭部,發(fā)向WAN側的業(yè)務數(shù)據(jù)報文不需要添加VLAN頭部。若需要添加,則執(zhí)行步驟208,若不需要添加,則將業(yè)務數(shù)據(jù)報文直接發(fā)送出去。207、將定向發(fā)送到對應的出接口的業(yè)務數(shù)據(jù)報文發(fā)送給上層協(xié)議棧處理;如果業(yè)務數(shù)據(jù)報文是發(fā)送到設備本身的,則發(fā)送給上層協(xié)議處理,具體處理方式與業(yè)務數(shù)據(jù)報文的協(xié)議種類相關,進入到具體的協(xié)議函數(shù)處理。208、根據(jù)需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文的出接口,通過第二鉤子函數(shù)將所述需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文,添加新的VLAN頭部并進行轉發(fā)。定向發(fā)送條件決定業(yè)務數(shù)據(jù)報文發(fā)送到哪個出接口,根據(jù)該出接口,可知業(yè)務數(shù)據(jù)報文將發(fā)送的VLAN,便可知新VLAN頭部信息,添加新VLAN頭部后轉發(fā)該業(yè)務數(shù)據(jù)報文。業(yè)務數(shù)據(jù)報文定向發(fā)送到LAN側或WAN側的Vent接口,經(jīng)過橋設備從另一側的出接口發(fā)出,根據(jù)所述業(yè)務數(shù)據(jù)報文的出接口,通過第二鉤子點將所述業(yè)務數(shù)據(jù)報文添加新的VLAN頭部,并進行轉發(fā)。具體地,命令Ebtables-taroute-AAROUTING-ovnet_ffl-jvlan-vlan-setz-vlan-targetCONTIUNE,表示從虛擬接口vnet_Wl發(fā)出的業(yè)務數(shù)據(jù)報文,且VLANID為z;命令Ebtables-taroute-AAR0UTING-ovnet_Ll-jvlan-vlan-sety-vlan-targetCONTINUE,表示從虛擬接口vne_Ll發(fā)出的業(yè)務數(shù)據(jù)報文,且VLANIDSy;命令Ebtables-taroute-AAROUTING-ovnet_ffl-jvlan-vlan-header,表示從虛擬接口vnet_Wl發(fā)出的數(shù)據(jù)報文打上VLAN頭,VLANID為j;命令Ebtables-taroute-AAROUTING-ovnet_L4-jvlan-vlan-header,表示從虛擬接口vnet_Wl發(fā)出的報文打上VLAN頭,VLANID為j。本發(fā)明實施例中,在設備中設置兩個鉤子點,第一鉤子點通過掛載的第一鉤子函數(shù)去除業(yè)務數(shù)據(jù)報文的VLAN頭部,將經(jīng)過上述處理后且匹配預置的定向發(fā)送條件的業(yè)務數(shù)據(jù)報文定向發(fā)送到對應的出接口,第二鉤子點通過第二鉤子函數(shù)將需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文添加新的VLAN頭部,以便添加后的業(yè)務數(shù)據(jù)報文順利在相應的新的VLAN中進行傳輸,從而實現(xiàn)對稱型VLAN業(yè)務。下面介紹本發(fā)明實施例中的業(yè)務數(shù)據(jù)報文的傳輸裝置,請參閱圖6,本發(fā)明實施例中的業(yè)務數(shù)據(jù)報文的傳輸裝置的一個實施例包括去除單元301,用于去除接收的業(yè)務數(shù)據(jù)報文中攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文的VLAN頭部,所述接收的業(yè)務數(shù)據(jù)報文包括攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文,及不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文;發(fā)送單元302,用于將去除VLAN頭部的業(yè)務數(shù)據(jù)報文中及所述不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文中,匹配預置的定向發(fā)送條件的業(yè)務數(shù)據(jù)報文定向發(fā)送到對應的出接口,所述定向發(fā)送條件至少包括業(yè)務數(shù)據(jù)報文的源端口、VLANID、MAC地址及IP地址中的一個;添加單元303,用于將所述發(fā)送到對應的出接口的業(yè)務數(shù)據(jù)報文中,需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文,添加新的VLAN頭部;發(fā)送單元302,還用于將添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文進行轉發(fā)。本發(fā)明實施例中的裝置中各單元實現(xiàn)業(yè)務數(shù)據(jù)報文的傳輸方法的具體過程,請參閱前述圖3所示實施例,此處不再贅述。本發(fā)明實施例中,去除單元301去除接收的業(yè)務數(shù)據(jù)報文中攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文的VLAN頭部,發(fā)送單元302將去除VLAN頭部的業(yè)務數(shù)據(jù)報文中及所述不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文中,匹配預置的定向發(fā)送條件的業(yè)務數(shù)據(jù)報文定向發(fā)送到對應的出接口,添加單元303將發(fā)送到對應的出接口的業(yè)務數(shù)據(jù)報文中,需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文,添加新的VLAN頭部,發(fā)送單元302將添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文進行轉發(fā),由于將業(yè)務數(shù)據(jù)報文去除VLAN頭部,去除了源VLAN的網(wǎng)絡身份標識,又將去除了VLAN頭部的業(yè)務數(shù)據(jù)報文添加新的VLAN頭部,以便添加后的業(yè)務數(shù)據(jù)報文順利在相應的新的VLAN中進行傳輸,從而實現(xiàn)對稱型VLAN業(yè)務。下面詳細介紹本發(fā)明實施例中的業(yè)務數(shù)據(jù)報文的傳輸裝置的另一個實施例,請參閱圖7,本發(fā)明實施例中的業(yè)務數(shù)據(jù)報文的傳輸裝置的另一個實施例包括去除單元401,具體用于通過第一鉤子函數(shù),去除所述接收的業(yè)務數(shù)據(jù)報文中攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文的VLAN頭部;發(fā)送單元402,用于將去除VLAN頭部的業(yè)務數(shù)據(jù)報文中及不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文中,匹配預置的定向發(fā)送條件的業(yè)務數(shù)據(jù)報文定向發(fā)送到對應的出接口,所述定向發(fā)送條件至少包括業(yè)務數(shù)據(jù)報文的源端口、VLANID,MAC地址及IP地址中的一個;添加單元403,具體用于根據(jù)需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文的出接口,通過第二鉤子函數(shù)將所述需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文,添加新的VLAN頭部;所述發(fā)送單元402,還用于將添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文進行轉發(fā)。需要說明的是,本發(fā)明實施例中的業(yè)務數(shù)據(jù)報文的傳輸裝置還可以進一步包括判斷單元404,用于判斷去除VLAN頭部的業(yè)務數(shù)據(jù)報文及所述不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文,是否匹配預置的定向發(fā)送條件;丟棄單元405,用于若所述去除VLAN頭部的業(yè)務數(shù)據(jù)報文及所述不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文,不匹配所述預置的定向發(fā)送條件,則丟棄不匹配所述預置的定向發(fā)送條件的業(yè)務數(shù)據(jù)報文。進一步地,發(fā)送單元402,還用于若所述去除VLAN頭部的業(yè)務數(shù)據(jù)報文及所述不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文,匹配所述預置的定向發(fā)送條件,則將匹配所述預置的定向發(fā)送條件的的業(yè)務數(shù)據(jù)報文定向發(fā)送到對應的出接口;判斷單元404,還用于判斷定向發(fā)送到對應的出接口的業(yè)務數(shù)據(jù)報文是否需要轉發(fā),若需要轉發(fā),則判斷需要轉發(fā)的業(yè)務數(shù)據(jù)報文是否需要添加新的VLAN頭部;更進一步地,發(fā)送單元402,還用于若不需要轉發(fā),則將所述定向發(fā)送到對應的出接口的業(yè)務數(shù)據(jù)報文發(fā)送給上層協(xié)議棧處理。本發(fā)明實施例中的裝置中各單元實現(xiàn)業(yè)務數(shù)據(jù)報文的傳輸方法的具體過程,請參閱前述圖5所示實施例,此處不再贅述。本發(fā)明實施例中,去除單元401具體通過第一鉤子函數(shù),去除所述接收的業(yè)務數(shù)據(jù)報文中攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文的VLAN頭部,判斷單元404判斷去除VLAN頭部的業(yè)務數(shù)據(jù)報文及不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文,是否匹配預置的定向發(fā)送條件,若匹配,則發(fā)送單元402將匹配預置的定向條件發(fā)送的業(yè)務數(shù)據(jù)報文定向發(fā)送到對應的出接口,若不匹配,則丟棄單元405將其丟棄,進而,判斷單元404判斷定向發(fā)送到對應的出接口的業(yè)務數(shù)據(jù)報文是否需要轉發(fā),若需要轉發(fā),則判斷單元404判斷需要轉發(fā)的業(yè)務數(shù)據(jù)報文是否需要添加新的VLAN頭部,若不需要轉發(fā),發(fā)送單元402則將所述數(shù)據(jù)報文發(fā)送給上層協(xié)議棧處理,若需要添加新的VLAN頭部,則添加單元403根據(jù)需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文的出接口,通過第二鉤子函數(shù)將所述需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文,添加新的VLAN頭部,發(fā)送單元402將添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文進行轉發(fā),由此,通過在設備中設置兩個鉤子點,第一鉤子點通過掛載的第一鉤子函數(shù)去除業(yè)務數(shù)據(jù)報文的VLAN頭部,將經(jīng)過上述處理后且匹配預置的定向發(fā)送條件的業(yè)務數(shù)據(jù)報文定向發(fā)送到對應的出接口,第二鉤子點通過第二鉤子函數(shù)將需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文添加新的VLAN頭部,以便添加后的業(yè)務數(shù)據(jù)報文順利在相應的新的VLAN中進行傳輸,從而實現(xiàn)對稱型VLAN業(yè)務。本領域技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。以上對本發(fā)明所提供的一種業(yè)務數(shù)據(jù)報文的傳輸方法及裝置進行了詳細介紹,對于本領域的技術人員,依據(jù)本發(fā)明實施例的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。權利要求1.一種業(yè)務數(shù)據(jù)報文的傳輸方法,其特征在于,包括第一鉤子點去除接收的業(yè)務數(shù)據(jù)報文中攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文的VLAN頭部,所述接收的業(yè)務數(shù)據(jù)報文包括攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文,及不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文;將去除VLAN頭部的業(yè)務數(shù)據(jù)報文中及所述不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文中,匹配預置的定向發(fā)送條件的業(yè)務數(shù)據(jù)報文定向發(fā)送到對應的出接口,所述定向發(fā)送條件至少包括業(yè)務數(shù)據(jù)報文的源端口、VLANID、MAC地址及IP地址中的一個;第二鉤子點將所述發(fā)送到對應的出接口的業(yè)務數(shù)據(jù)報文中,需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文,添加新的VLAN頭部并進行轉發(fā)。2.根據(jù)權利要求I所述的方法,其特征在于,所述將去除VLAN頭部的業(yè)務數(shù)據(jù)報文及所述不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文中,匹配預置的定向發(fā)送條件的業(yè)務數(shù)據(jù)報文定向發(fā)送到對應的出接口包括判斷所述去除VLAN頭部的業(yè)務數(shù)據(jù)報文及所述不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文,是否匹配預置的定向發(fā)送條件;若是,則將匹配所述預置的定向發(fā)送條件的業(yè)務數(shù)據(jù)報文定向發(fā)送到對應的出接口,若否,則丟棄不匹配所述預置的定向發(fā)送條件的業(yè)務數(shù)據(jù)報文。3.根據(jù)權利要求I所述的方法,其特征在于,所述將所述發(fā)送到對應的出接口的業(yè)務數(shù)據(jù)報文中的需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文,添加新的VLAN頭部后進行轉發(fā)之前包括判斷所述定向發(fā)送到對應的出接口的業(yè)務數(shù)據(jù)報文是否需要轉發(fā);若需要轉發(fā),則判斷需要轉發(fā)的業(yè)務數(shù)據(jù)報文是否需要添加新的VLAN頭部,若不需要轉發(fā),則將所述定向發(fā)送到對應的出接口的業(yè)務數(shù)據(jù)報文發(fā)送給上層協(xié)議棧處理;若需要添加,則執(zhí)行將所述發(fā)送到對應的出接口的業(yè)務數(shù)據(jù)報文中的需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文,添加新的VLAN頭部并進行轉發(fā)的步驟。4.根據(jù)權利要求I至3任意一項所述的方法,其特征在于,所述去除接收的業(yè)務數(shù)據(jù)報文中攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文的VLAN頭部包括通過第一鉤子函數(shù),去除所述接收的業(yè)務數(shù)據(jù)報文中攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文的VLAN頭部。5.根據(jù)權利要求4所述的方法,其特征在于,所述將所述發(fā)送到對應的出接口的業(yè)務數(shù)據(jù)報文中的需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文,添加新的VLAN頭部并進行轉發(fā)包括根據(jù)需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文的出接口,通過第二鉤子函數(shù)將所述需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文,添加新的VLAN頭部并進行轉發(fā)。6.一種業(yè)務數(shù)據(jù)報文的傳輸裝置,其特征在于,包括去除單元,用于去除接收的業(yè)務數(shù)據(jù)報文中攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文的VLAN頭部,所述接收的業(yè)務數(shù)據(jù)報文包括攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文,及不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文;發(fā)送單元,用于將去除VLAN頭部的業(yè)務數(shù)據(jù)報文中及所述不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文中,匹配預置的定向發(fā)送條件的業(yè)務數(shù)據(jù)報文定向發(fā)送到對應的出接口,所述定向發(fā)送條件至少包括業(yè)務數(shù)據(jù)報文的源端口、VLANID、MAC地址及IP地址中的一個;添加單元,用于將所述發(fā)送到對應的出接口的業(yè)務數(shù)據(jù)報文中,需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文,添加新的VLAN頭部;所述發(fā)送單元,還用于將添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文進行轉發(fā)。7.根據(jù)權利要求6所述的裝置,其特征在于,所述裝置還包括判斷單元,用于判斷去除VLAN頭部的業(yè)務數(shù)據(jù)報文及所述不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文,是否匹配預置的定向發(fā)送條件;丟棄單元,用于若所述去除VLAN頭部的業(yè)務數(shù)據(jù)報文及所述不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文,不匹配所述預置的定向發(fā)送條件,則丟棄不匹配所述預置的定向發(fā)送條件的業(yè)務數(shù)據(jù)報文;所述發(fā)送單元,還用于若所述去除VLAN頭部的業(yè)務數(shù)據(jù)報文及所述不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文,匹配所述預置的定向發(fā)送條件,則將匹配所述預置的定向發(fā)送條件的的業(yè)務數(shù)據(jù)報文定向發(fā)送到對應的出接口。8.根據(jù)權利要求7所述的裝置,其特征在于,所述判斷單元,還用于判斷所述定向發(fā)送到對應的出接口的業(yè)務數(shù)據(jù)報文是否需要轉發(fā);所述判斷單元,還用于若需要轉發(fā),則判斷需要轉發(fā)的業(yè)務數(shù)據(jù)報文是否需要添加新的VLAN頭部;所述發(fā)送單元,還用于若不需要轉發(fā),則將所述定向發(fā)送到對應的出接口的業(yè)務數(shù)據(jù)報文發(fā)送給上層協(xié)議棧處理。9.根據(jù)權利要求6至8任一項所述的裝置,其特征在于,所述去除單元,具體用于通過第一鉤子函數(shù),去除所述接收的業(yè)務數(shù)據(jù)報文中攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文的VLAN頭部。10.根據(jù)權利要求9所述的裝置,其特征在于,所述添加單元,具體用于根據(jù)需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文的出接口,通過第二鉤子函數(shù)將所述需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文,添加新的VLAN頭部。全文摘要本發(fā)明實施例公開了一種業(yè)務數(shù)據(jù)報文的傳輸方法及裝置,用于傳輸非對稱型VLAN業(yè)務數(shù)據(jù)報文。本發(fā)明實施例方法包括第一鉤子點去除接收的業(yè)務數(shù)據(jù)報文中攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文的VLAN頭部,將去除VLAN頭部的業(yè)務數(shù)據(jù)報文中及不攜帶VLAN頭部的業(yè)務數(shù)據(jù)報文中,匹配預置的定向發(fā)送條件的業(yè)務數(shù)據(jù)報文定向發(fā)送到對應的出接口,第二鉤子點將發(fā)送到對應的出接口的業(yè)務數(shù)據(jù)報文中的需要轉發(fā)并且需要添加新的VLAN頭部的業(yè)務數(shù)據(jù)報文,添加新的VLAN頭部并進行轉發(fā)。文檔編號H04L12/46GK102769557SQ20121028226公開日2012年11月7日申請日期2012年8月9日優(yōu)先權日2012年8月9日發(fā)明者伍國祥,黃楚恩申請人:深圳市共進電子股份有限公司