一種基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開(kāi)了一種基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)方法和系統(tǒng),用以解決基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)需要?jiǎng)h除和添加報(bào)文的VLAN頭的問(wèn)題。所述方法為:第一VLAN子接口接收?qǐng)?bào)文,并直接向網(wǎng)橋發(fā)送報(bào)文;網(wǎng)橋?qū)?bào)文的出接口信息更新為第二VLAN子接口,而后向第二VLAN子接口發(fā)送更新后的報(bào)文;第二VLAN子接口接收?qǐng)?bào)文;判斷報(bào)文的VLAN?ID是否與第二VLAN子接口的VLAN?ID相同,根據(jù)判斷結(jié)果決定是否對(duì)VLAN?ID重新賦值,并對(duì)報(bào)文進(jìn)行相應(yīng)處理和轉(zhuǎn)發(fā)。通過(guò)判斷并對(duì)VLAN?ID賦值,省去了基于網(wǎng)橋轉(zhuǎn)發(fā)報(bào)文時(shí)對(duì)報(bào)文VLAN頭的刪除和添加,減少了系統(tǒng)內(nèi)存的操作,節(jié)省成本,提高報(bào)文的轉(zhuǎn)發(fā)效率,進(jìn)而提高了數(shù)據(jù)的傳輸效率。
【專利說(shuō)明】一種基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)的飛速發(fā)展,數(shù)據(jù)中心網(wǎng)絡(luò)規(guī)模也不斷擴(kuò)張,業(yè)務(wù)種類不斷豐富,對(duì)業(yè)務(wù)的隔離、安全性、可靠性等網(wǎng)絡(luò)屬性提出的要求也越來(lái)越高,單單依靠硬件設(shè)備已無(wú)法滿足用戶的需求。
[0003]虛擬局域網(wǎng)(Virtual Local Area Network, VLAN), 一種將局域網(wǎng)設(shè)備從邏輯上劃分成一個(gè)個(gè)網(wǎng)段,從而實(shí)現(xiàn)虛擬工作組的數(shù)據(jù)交換技術(shù)。虛擬局域中交換機(jī)上的每個(gè)接口分別屬于不同的網(wǎng)段,一個(gè)網(wǎng)段對(duì)應(yīng)著一個(gè)接口,在交換機(jī)中,使用VLAN ID區(qū)分網(wǎng)段。
[0004]網(wǎng)橋是操作系統(tǒng)中用于連接兩個(gè)VLAN的網(wǎng)絡(luò)設(shè)備,通過(guò)綁定兩個(gè)VLAN的子接口將兩個(gè)VLAN連接在一起,實(shí)現(xiàn)兩個(gè)VLAN之間的報(bào)文轉(zhuǎn)發(fā)。
[0005]現(xiàn)有技術(shù)的網(wǎng)橋下skb報(bào)文轉(zhuǎn)發(fā)過(guò)程中,第一 VLAN子接口接收skb報(bào)文后,刪除skb報(bào)文的VLAN頭,經(jīng)過(guò)網(wǎng)橋的轉(zhuǎn)發(fā)模塊查找轉(zhuǎn)發(fā)表確認(rèn)第二 VLAN子接口后進(jìn)行發(fā)送,第二 VLAN子接口接收到報(bào)文后,向skb報(bào)文內(nèi)添加VLAN頭,再將skb報(bào)文轉(zhuǎn)發(fā)出去。在skb報(bào)文轉(zhuǎn)發(fā)過(guò)程中,需要對(duì)skb報(bào)文的VLAN頭進(jìn)行刪除和添加處理,大量skb報(bào)文的轉(zhuǎn)發(fā)會(huì)導(dǎo)致系統(tǒng)的內(nèi)存操作過(guò)于頻繁,從而導(dǎo)致系統(tǒng)運(yùn)行效率低,成本高,影響轉(zhuǎn)發(fā)性能。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的是提供一種基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)方法及系統(tǒng),在報(bào)文轉(zhuǎn)發(fā)過(guò)程中不需要對(duì)報(bào)文的VLAN頭進(jìn)行刪除和添加處理,提高轉(zhuǎn)發(fā)效率。
[0007]根據(jù)本發(fā)明一個(gè)方面,提供了一種基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)方法,所述方法包括:
[0008]第一 VLAN子接口接收?qǐng)?bào)文,并向網(wǎng)橋發(fā)送所述報(bào)文;
[0009]網(wǎng)橋?qū)⑺鰣?bào)文的出接口信息更新為第二 VLAN子接口,而后向所述第二 VLAN子接口發(fā)送更新后的所述報(bào)文;
[0010]第二 VLAN子接口接收所述報(bào)文;
[0011]判斷所述報(bào)文的VLAN ID是否與所述第二 VLAN子接口的VLAN ID相同,根據(jù)判斷結(jié)果對(duì)所述報(bào)文進(jìn)行相應(yīng)的處理和轉(zhuǎn)發(fā)。
[0012]上述方案中,網(wǎng)橋?qū)⑺鰣?bào)文的出接口信息更新為第二 VLAN子接口之前,所述方法還包括:網(wǎng)橋根據(jù)所述報(bào)文查找報(bào)文轉(zhuǎn)發(fā)表,并通過(guò)報(bào)文轉(zhuǎn)發(fā)表確認(rèn)報(bào)文的出接口為第二 VLAN 子接口。
[0013]上述方案中,所述根據(jù)判斷結(jié)果對(duì)所述報(bào)文進(jìn)行相應(yīng)的處理和轉(zhuǎn)發(fā),具體包括:
[0014]當(dāng)所述報(bào)文的VLAN ID與第二 VLAN子接口的VLAN ID相同時(shí),第二 VLAN子接口更新所述報(bào)文的出接口信息,并轉(zhuǎn)發(fā)所述報(bào)文;
[0015]當(dāng)所述報(bào)文的VLAN ID與第二 VLAN子接口的VLAN ID不相同時(shí),將第二 VLAN子接口的VLAN ID賦值給所述報(bào)文的VLAN ID,而后第二 VLAN子接口更新所述報(bào)文的出接口信息,,并轉(zhuǎn)發(fā)所述報(bào)文。
[0016]上述方案中,所述報(bào)文為帶有VLAN頭的skb報(bào)文。
[0017]上述方案中,所述出接口信息為skb-Mev變量,所述網(wǎng)橋?yàn)橥该骶W(wǎng)橋。
[0018]根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)系統(tǒng),所述系統(tǒng)包括:第一 VLAN子接口、網(wǎng)橋、第二 VLAN子接口、判斷模塊;其中,
[0019]所述第一 VLAN子接口用于接收?qǐng)?bào)文并向網(wǎng)橋發(fā)送所述報(bào)文;
[0020]所述網(wǎng)橋用于將所述報(bào)文的出接口信息更新為第二 VLAN子接口,而后向所述第二 VLAN子接口發(fā)送更新后的所述報(bào)文;
[0021]所述第二 VLAN子接口用于接收所述報(bào)文;
[0022]所述判斷模塊用于判斷所述報(bào)文的VLAN ID是否與所述第二 VLAN子接口的VLANID相同;
[0023]所述第二 VLAN子接口還用于根據(jù)判斷結(jié)果對(duì)所述報(bào)文進(jìn)行相應(yīng)的處理和轉(zhuǎn)發(fā)。
[0024]上述方案中,所述網(wǎng)橋包括轉(zhuǎn)發(fā)表查找模塊、轉(zhuǎn)發(fā)模塊,所述轉(zhuǎn)發(fā)表查找模塊用于根據(jù)所述報(bào)文查找報(bào)文轉(zhuǎn)發(fā)表,并通過(guò)報(bào)文轉(zhuǎn)發(fā)表確認(rèn)報(bào)文的出接口為第二 VLAN子接口,所述轉(zhuǎn)發(fā)模塊用于將所述報(bào)文的出接口信息更新為第二 VLAN子接口,而后向所述第二VLAN子接口發(fā)送更新后的所述報(bào)文.
[0025]上述方案中,所述系統(tǒng)還包括VLAN ID賦值模塊;
[0026]所述VLAN ID賦值模塊用于當(dāng)所述判斷模塊判斷所述報(bào)文的VLAN ID與第二 VLAN子接口的VLAN ID不相同時(shí),將第二 VLAN子接口的VLAN ID賦值給所述報(bào)文的VLAN ID ;
[0027]所述第二 VLAN子接口進(jìn)一步用于,
[0028]當(dāng)所述判斷模塊判斷所述報(bào)文的VLAN ID與第二 VLAN子接口的VLAN ID相同時(shí),直接更新所述報(bào)文的出接口信息,并轉(zhuǎn)發(fā)所述報(bào)文;
[0029]當(dāng)所述判斷模塊判斷所述報(bào)文的VLAN ID與第二 VLAN子接口的VLAN ID不相同時(shí),所述VLAN ID賦值模塊將第二 VLAN子接口的VLAN ID賦值給所述報(bào)文的VLAN ID后,更新所述報(bào)文的出接口信息,并轉(zhuǎn)發(fā)所述報(bào)文。
[0030]上述方案中,所述報(bào)文為帶有VLAN頭的skb報(bào)文。
[0031]上述方案中,所述出接口信息為skb-Mev變量,所述網(wǎng)橋?yàn)橥该骶W(wǎng)橋。
[0032]本發(fā)明提供的基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)方法,通過(guò)第一 VLAN子接口接收?qǐng)?bào)文,并直接向網(wǎng)橋發(fā)送報(bào)文;網(wǎng)橋?qū)⑺鰣?bào)文的出接口信息更新為第二 VLAN子接口,而后向所述第二VLAN子接口發(fā)送更新后的所述報(bào)文;第二VLAN子接口接收所述報(bào)文;判斷所述報(bào)文的VLANID是否與所述第二 VLAN子接口的VLAN ID相同:當(dāng)所述報(bào)文的VLAN ID與第二 VLAN子接口的VLAN ID相同時(shí),第二 VLAN子接口更新所述報(bào)文的出接口信息,并轉(zhuǎn)發(fā)所述報(bào)文;當(dāng)所述報(bào)文的VLAN ID與第二 VLAN子接口的VLAN ID不相同時(shí),將第二 VLAN子接口的VLANID賦值給所述報(bào)文的VLAN ID,而后第二 VLAN子接口更新所述報(bào)文的出接口信息,并轉(zhuǎn)發(fā)所述報(bào)文。通過(guò)判斷并對(duì)VLAN ID賦值的方式,省去了基于網(wǎng)橋轉(zhuǎn)發(fā)報(bào)文時(shí),對(duì)報(bào)文的VLAN頭的刪除和添加,減少了系統(tǒng)內(nèi)存的操作,節(jié)省成本,提高報(bào)文的轉(zhuǎn)發(fā)效率,進(jìn)而提高了數(shù)據(jù)的傳輸效率。
【專利附圖】
【附圖說(shuō)明】
[0033]圖1是現(xiàn)有技術(shù)中基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)原理示意圖;
[0034]圖2是現(xiàn)有技術(shù)中基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)的流程示意圖;
[0035]圖3是根據(jù)本發(fā)明第一實(shí)施例的基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)方法的流程示意圖;
[0036]圖4是根據(jù)本發(fā)明第二實(shí)施例的基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0037]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明了,下面結(jié)合【具體實(shí)施方式】并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。應(yīng)該理解,這些描述只是示例性的,而并非要限制本發(fā)明的范圍。此外,在以下說(shuō)明中,省略了對(duì)公知結(jié)構(gòu)和技術(shù)的描述,以避免不必要地混淆本發(fā)明的概念。
[0038]圖1是現(xiàn)有技術(shù)中基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)的原理示意圖。
[0039]如圖1所示,現(xiàn)有技術(shù)中的基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)原理是:
[0040]在步驟SlOl中,第一 VLAN子接口接收?qǐng)?bào)文,將所述報(bào)文的VLAN頭刪除,并向網(wǎng)橋發(fā)送刪除了 VLAN頭的報(bào)文;
[0041]在步驟S102中,網(wǎng)橋查找轉(zhuǎn)發(fā)表,根據(jù)所述報(bào)文和轉(zhuǎn)發(fā)表查找到的第二 VLAN子接口,將所述報(bào)文的出接口信息更新為第二 VLAN子接口,并將所述報(bào)文轉(zhuǎn)發(fā)給第二 VLAN子接Π ;
[0042]在步驟S103中,第二 VLAN子接口接收到刪除后的所述報(bào)文,再根據(jù)自身的信息向報(bào)文內(nèi)添加VLAN頭,這里所說(shuō)自身的信息,包括第二 VLAN子接口的VLAN ID信息,并再次更新所述報(bào)文的出接口信息,轉(zhuǎn)發(fā)報(bào)文。
[0043]通過(guò)報(bào)文的VLAN頭的刪除和添加對(duì)報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
[0044]圖2是現(xiàn)有技術(shù)中基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)的流程示意圖。
[0045]如圖2所示,第一 VLAN子接口為eth0.10,網(wǎng)橋?yàn)閎ridge,第二 VLAN子接口為eth2.20。當(dāng)報(bào)文經(jīng)過(guò)正常的轉(zhuǎn)發(fā)流程被發(fā)送到eth0.10后,eth0.10刪除報(bào)文的VLAN頭,同時(shí)將報(bào)文的出接口信息skb->dev變量由收到報(bào)文時(shí)的ethO變更為eth0.10,而后將報(bào)文發(fā)送至網(wǎng)橋;網(wǎng)橋收到報(bào)文后,查找轉(zhuǎn)發(fā)表,通過(guò)轉(zhuǎn)發(fā)表查找到報(bào)文的目的接口為第二VLAN子接口即eth2.20,將報(bào)文的出接口信息skb_>dev變量由eth0.10變更為eth2.20,并將報(bào)文轉(zhuǎn)發(fā)至第二 VLAN子接口 eth2.20 ;eth2.20收到報(bào)文后,根據(jù)自身的信息向報(bào)文內(nèi)添加VLAN頭,同時(shí)將skb->deV變量由eth2.20變更為eth2,將報(bào)文轉(zhuǎn)發(fā)出去。
[0046]由圖1和圖2可以看出,現(xiàn)有技術(shù)在報(bào)文轉(zhuǎn)發(fā)過(guò)程中,對(duì)報(bào)文的VLAN頭進(jìn)行刪除和添加處理,對(duì)應(yīng)于報(bào)文的memmove操作,大量的報(bào)文需要大量的VLAN頭的刪除和添加操作即大量的memmove操作,由于系統(tǒng)的內(nèi)存操作過(guò)于頻繁,導(dǎo)致系統(tǒng)運(yùn)行效率低,成本高,影響轉(zhuǎn)發(fā)效率。
[0047]圖3是根據(jù)本發(fā)明第一實(shí)施例的基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)方法的流程示意圖。本實(shí)施例提供的基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)方法,減少了系統(tǒng)內(nèi)存的操作,節(jié)省成本,提高報(bào)文的轉(zhuǎn)發(fā)效率,進(jìn)而提高了數(shù)據(jù)的傳輸效率。
[0048]如圖3所示,本實(shí)施例的基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)方法包括以下步驟:
[0049]S301,第一 VLAN子接口接收?qǐng)?bào)文,并向網(wǎng)橋發(fā)送所述報(bào)文。
[0050]S302,網(wǎng)橋?qū)⑺鰣?bào)文的出接口信息更新為第二 VLAN子接口,而后向所述第二VLAN子接口發(fā)送更新后的所述報(bào)文。
[0051]S303,第二 VLAN子接口接收所述報(bào)文。
[0052]S304,判斷所述報(bào)文的VLAN ID是否與所述第二 VLAN子接口的VLAN ID相同,根據(jù)判斷結(jié)果對(duì)所述報(bào)文進(jìn)行相應(yīng)的處理和轉(zhuǎn)發(fā)。
[0053]這里的報(bào)文轉(zhuǎn)發(fā),可以是Linux操作系統(tǒng)下,兩個(gè)VLAN之間通過(guò)透明網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)。所述報(bào)文可以為帶有VLAN頭的skb報(bào)文,即進(jìn)入VLAN流程的skb報(bào)文,包含VLAN頭,所述VLAN頭包括VLAN ID等內(nèi)容。所述出接口信息可以為skb->dev變量。
[0054]其中,步驟S301中,不需要?jiǎng)h除報(bào)文的VLAN頭,即不需要進(jìn)行memmove操作,而只保留原有操作中的出接口信息變量的更新或變更,以完成報(bào)文的轉(zhuǎn)發(fā)。
[0055]步驟S302中,網(wǎng)橋?qū)⑺鰣?bào)文的出接口信息更新為第二 VLAN子接口之前,還可以包括:網(wǎng)橋根據(jù)所述報(bào)文查找報(bào)文轉(zhuǎn)發(fā)表,并通過(guò)報(bào)文轉(zhuǎn)發(fā)表確認(rèn)報(bào)文的出接口為第二VLAN子接口。查找報(bào)文轉(zhuǎn)發(fā)表及通過(guò)所查找的轉(zhuǎn)發(fā)表確認(rèn)報(bào)文的目的接口為現(xiàn)有技術(shù),在此不再贅述。
[0056]這里,由于網(wǎng)橋下對(duì)報(bào)文的轉(zhuǎn)發(fā)前的尋址,不是根據(jù)IP地址進(jìn)行,而是根據(jù)轉(zhuǎn)發(fā)表來(lái)進(jìn)行的,因此,可以不讀取VLAN頭的字節(jié)后封裝的IP層信息,也就是說(shuō),不必為了露出IP層信息而刪除報(bào)文的VLAN頭,也可以決定轉(zhuǎn)發(fā)地址。轉(zhuǎn)發(fā)地址通過(guò)轉(zhuǎn)發(fā)表確定后,僅需更新或變更出接口信息,即可將報(bào)文發(fā)送至所確定的第二 VLAN子接口,而避免了報(bào)文的VLAN頭的刪除操作,即省去了 memmove操作,同時(shí)也不會(huì)改變報(bào)文的結(jié)構(gòu)。
[0057]步驟S304中,所述根據(jù)判斷結(jié)果對(duì)所述報(bào)文進(jìn)行相應(yīng)的處理和轉(zhuǎn)發(fā),具體包括:
[0058]當(dāng)所述報(bào)文的VLAN ID與第二 VLAN子接口的VLAN ID相同時(shí),第二 VLAN子接口更新所述報(bào)文的出接口信息,并轉(zhuǎn)發(fā)所述報(bào)文;
[0059]當(dāng)所述報(bào)文的VLAN ID與第二 VLAN子接口的VLAN ID不相同時(shí),將第二 VLAN子接口的VLAN ID賦值給所述報(bào)文的VLAN ID,而后第二 VLAN子接口更新所述報(bào)文的出接口信息,并轉(zhuǎn)發(fā)所述報(bào)文。
[0060]因此,本發(fā)明提供的基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)方法,優(yōu)化了報(bào)文的轉(zhuǎn)發(fā)流程,通過(guò)判斷并對(duì)決定是否對(duì)VLAN ID進(jìn)行賦值的方式,省去了現(xiàn)有技術(shù)中對(duì)報(bào)文的VLAN頭的刪除和添力口,不需要改變報(bào)文的結(jié)構(gòu),同時(shí)省去了大量的memmove操作,僅通過(guò)更新出接口信息,SP完成對(duì)報(bào)文的轉(zhuǎn)發(fā),減少了系統(tǒng)內(nèi)存的操作,減少了對(duì)內(nèi)存資源的消耗,節(jié)省了成本,提高了報(bào)文的轉(zhuǎn)發(fā)效率,進(jìn)而提高了數(shù)據(jù)的傳輸效率。
[0061]圖4是根據(jù)本發(fā)明第二實(shí)施例的基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)系統(tǒng)的結(jié)構(gòu)示意圖。
[0062]如圖4所示,基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)系統(tǒng)包括:第一 VLAN子接口 401、網(wǎng)橋402、第二VLAN子接口 403、判斷模塊404 ;其中,
[0063]所述第一 VLAN子接口 401用于接收?qǐng)?bào)文并向網(wǎng)橋發(fā)送所述報(bào)文;
[0064]所述網(wǎng)橋402用于將所述報(bào)文的出接口信息更新為第二 VLAN子接口,而后向所述第二 VLAN子接口發(fā)送更新后的所述報(bào)文;
[0065]所述第二 VLAN子接口 403用于接收所述報(bào)文;
[0066]所述判斷模塊404用于判斷所述報(bào)文的VLAN ID是否與所述第二 VLAN子接口的VLAN ID 相同;
[0067]所述第二 VLAN子接口 403還用于根據(jù)判斷結(jié)果對(duì)所述報(bào)文進(jìn)行相應(yīng)的處理和轉(zhuǎn)發(fā)。
[0068]這里的報(bào)文轉(zhuǎn)發(fā),可以是Linux操作系統(tǒng)下,兩個(gè)VLAN之間通過(guò)透明網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)。所述報(bào)文可以為帶有VLAN頭的skb報(bào)文,即進(jìn)入VLAN流程的skb報(bào)文,包含VLAN頭,所述VLAN頭包括VLAN ID等內(nèi)容。所述出接口信息可以為skb->dev變量,所述網(wǎng)橋402可以為透明網(wǎng)橋。
[0069]優(yōu)選地,所述網(wǎng)橋402包括轉(zhuǎn)發(fā)表查找模塊、轉(zhuǎn)發(fā)模塊,所述轉(zhuǎn)發(fā)表查找模塊用于根據(jù)所述報(bào)文查找報(bào)文轉(zhuǎn)發(fā)表,并通過(guò)報(bào)文轉(zhuǎn)發(fā)表確認(rèn)報(bào)文的出接口為第二 VLAN子接口,所述轉(zhuǎn)發(fā)模塊用于將所述報(bào)文的出接口信息更新為第二VLAN子接口,而后向所述第二VLAN子接口發(fā)送更新后的所述報(bào)文。
[0070]優(yōu)選地,所述系統(tǒng)還可以包括VLAN ID賦值模塊405。
[0071]所述VLAN ID賦值模塊405用于當(dāng)所述判斷模塊404判斷所述報(bào)文的VLAN ID與第二 VLAN子接口 403的VLAN ID不相同時(shí),將第二 VLAN子接口 403的VLAN ID賦值給所述報(bào)文的VLAN ID ;
[0072]所述第二 VLAN子接口 403進(jìn)一步用于,當(dāng)所述判斷模塊404判斷所述報(bào)文的VLANID與第二 VLAN子接口 403的VLAN ID相同時(shí),直接更新所述報(bào)文的出接口信息,并轉(zhuǎn)發(fā)所述報(bào)文;
[0073]當(dāng)所述判斷模塊404判斷所述報(bào)文的VLAN ID與第二 VLAN子接口 403的VLAN ID不相同時(shí),所述VLAN ID賦值模塊405將第二 VLAN子接口 403的VLAN ID賦值給所述報(bào)文的VLAN ID后,更新所述報(bào)文的出接口信息,并轉(zhuǎn)發(fā)所述報(bào)文。
[0074]本發(fā)明第二實(shí)施例的基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)系統(tǒng),可以實(shí)現(xiàn)本發(fā)明第一實(shí)施例的基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)方法。本發(fā)明基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)系統(tǒng)各單元可以執(zhí)行上述方法實(shí)施例中的各步驟。
[0075]本發(fā)明提供的基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)方法及系統(tǒng),通過(guò)判斷并對(duì)VLAN ID賦值的方式,省去了基于網(wǎng)橋轉(zhuǎn)發(fā)報(bào)文時(shí),對(duì)報(bào)文的VLAN頭的刪除和添加,減少了系統(tǒng)內(nèi)存的操作,節(jié)省成本,提高報(bào)文的轉(zhuǎn)發(fā)效率,進(jìn)而提高了數(shù)據(jù)的傳輸效率。
[0076]應(yīng)當(dāng)理解的是,本發(fā)明的上述【具體實(shí)施方式】?jī)H僅用于示例性說(shuō)明或解釋本發(fā)明的原理,而不構(gòu)成對(duì)本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。
【權(quán)利要求】
1.一種基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)方法,其特征在于,所述方法包括: 第一 VLAN子接口接收?qǐng)?bào)文,并向網(wǎng)橋發(fā)送所述報(bào)文; 網(wǎng)橋?qū)⑺鰣?bào)文的出接口信息更新為第二 VLAN子接口,而后向所述第二 VLAN子接口發(fā)送更新后的所述報(bào)文; 第二 VLAN子接口接收所述報(bào)文; 判斷所述報(bào)文的VLAN ID是否與所述第二 VLAN子接口的VLAN ID相同,根據(jù)判斷結(jié)果對(duì)所述報(bào)文進(jìn)行相應(yīng)的處理和轉(zhuǎn)發(fā)。
2.根據(jù)權(quán)利要求1所述的報(bào)文轉(zhuǎn)發(fā)方法,其特征在于,網(wǎng)橋?qū)⑺鰣?bào)文的出接口信息更新為第二 VLAN子接口之前,所述方法還包括:網(wǎng)橋根據(jù)所述報(bào)文查找報(bào)文轉(zhuǎn)發(fā)表,并通過(guò)報(bào)文轉(zhuǎn)發(fā)表確認(rèn)報(bào)文的出接口為第二 VLAN子接口。
3.根據(jù)權(quán)利要求1或2所述的報(bào)文轉(zhuǎn)發(fā)方法,其特征在于,所述根據(jù)判斷結(jié)果對(duì)所述報(bào)文進(jìn)行相應(yīng)的處理和轉(zhuǎn)發(fā),具體包括: 當(dāng)所述報(bào)文的VLAN ID與第二 VLAN子接口的VLAN ID相同時(shí),第二 VLAN子接口更新所述報(bào)文的出接口信息,并轉(zhuǎn)發(fā)所述報(bào)文; 當(dāng)所述報(bào)文的VLAN ID與第二 VLAN子接口的VLAN ID不相同時(shí),將第二 VLAN子接口的VLAN ID賦值給所述報(bào)文的VLAN ID,而后第二VLAN子接口更新所述報(bào)文的出接口信息,并轉(zhuǎn)發(fā)所述報(bào)文。
4.根據(jù)權(quán)利要求3所述的報(bào)文轉(zhuǎn)發(fā)方法,其特征在于,所述報(bào)文為帶有VLAN頭的skb報(bào)文。
5.根據(jù)權(quán)利要求4所述的報(bào)文轉(zhuǎn)發(fā)方法,其特征在于,所述出接口信息為skb->deV變量,所述網(wǎng)橋?yàn)橥该骶W(wǎng)橋。
6.一種基于網(wǎng)橋的報(bào)文轉(zhuǎn)發(fā)系統(tǒng),其特征在于,所述系統(tǒng)包括:第一 VLAN子接口、網(wǎng)橋、第二 VLAN子接口、判斷模塊;其中, 所述第一 VLAN子接口用于接收?qǐng)?bào)文并向網(wǎng)橋發(fā)送所述報(bào)文; 所述網(wǎng)橋用于將所述報(bào)文的出接口信息更新為第二 VLAN子接口,而后向所述第二VLAN子接口發(fā)送更新后的所述報(bào)文; 所述第二 VLAN子接口用于接收所述報(bào)文; 所述判斷模塊用于判斷所述報(bào)文的VLAN ID是否與所述第二 VLAN子接口的VLAN ID相同; 所述第二 VLAN子接口還用于根據(jù)判斷結(jié)果對(duì)所述報(bào)文進(jìn)行相應(yīng)的處理和轉(zhuǎn)發(fā)。
7.根據(jù)權(quán)利要求6所述的報(bào)文轉(zhuǎn)發(fā)系統(tǒng),其特征在于,所述網(wǎng)橋包括轉(zhuǎn)發(fā)表查找模塊、轉(zhuǎn)發(fā)模塊,所述轉(zhuǎn)發(fā)表查找模塊用于根據(jù)所述報(bào)文查找報(bào)文轉(zhuǎn)發(fā)表,并通過(guò)報(bào)文轉(zhuǎn)發(fā)表確認(rèn)報(bào)文的出接口為第二 VLAN子接口,所述轉(zhuǎn)發(fā)模塊用于將所述報(bào)文的出接口信息更新為第二 VLAN子接口,而后向所述第二 VLAN子接口發(fā)送更新后的所述報(bào)文.
8.根據(jù)權(quán)利要求6或7所述的報(bào)文轉(zhuǎn)發(fā)系統(tǒng),其特征在于,所述系統(tǒng)還包括VLANID賦值模塊; 所述VLAN ID賦值模塊用于當(dāng)所述判斷模塊判斷所述報(bào)文的VLAN ID與第二 VLAN子接口的VLAN ID不相同時(shí),將第二 VLAN子接口的VLAN ID賦值給所述報(bào)文的VLAN ID ; 所述第二 VLAN子接口進(jìn)一步用于, 當(dāng)所述判斷模塊判斷所述報(bào)文的VLAN ID與第二 VLAN子接口的VLAN ID相同時(shí),直接更新所述報(bào)文的出接口信息,并轉(zhuǎn)發(fā)所述報(bào)文; 當(dāng)所述判斷模塊判斷所述報(bào)文的VLAN ID與第二 VLAN子接口的VLAN ID不相同時(shí),所述VLAN ID賦值模塊將第二 VLAN子接口的VLAN ID賦值給所述報(bào)文的VLAN ID后,更新所述報(bào)文的出接口信息,并轉(zhuǎn)發(fā)所述報(bào)文。
9.根據(jù)權(quán)利要求8所述的報(bào)文轉(zhuǎn)發(fā)系統(tǒng),其特征在于,所述報(bào)文為帶有VLAN頭的skb報(bào)文。
10.根據(jù)權(quán)利要求9所述的報(bào)文轉(zhuǎn)發(fā)系統(tǒng),其特征在于,所述出接口信息為skb->deV變量,所述網(wǎng)橋?yàn)橥该骶W(wǎng)橋。
【文檔編號(hào)】H04L12/701GK104168186SQ201410312374
【公開(kāi)日】2014年11月26日 申請(qǐng)日期:2014年7月1日 優(yōu)先權(quán)日:2014年7月1日
【發(fā)明者】陳海濤 申請(qǐng)人:漢柏科技有限公司