亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

實(shí)現(xiàn)網(wǎng)卡卸載功能的方法、網(wǎng)卡、主機(jī)系統(tǒng)及網(wǎng)絡(luò)設(shè)備的制作方法

文檔序號(hào):7994304閱讀:305來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):實(shí)現(xiàn)網(wǎng)卡卸載功能的方法、網(wǎng)卡、主機(jī)系統(tǒng)及網(wǎng)絡(luò)設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于通信技術(shù)領(lǐng)域,尤其涉及一種實(shí)現(xiàn)網(wǎng)卡卸載功能的方法、網(wǎng)卡、主機(jī)系統(tǒng)及網(wǎng)絡(luò)設(shè)備。
背景技術(shù)
隨著互聯(lián)網(wǎng)業(yè)務(wù)的快速發(fā)展,網(wǎng)絡(luò)視頻流量急劇增加,為了實(shí)現(xiàn)對(duì)硬件資源的充分利用,服務(wù)器虛擬化技術(shù)在數(shù)據(jù)中心得到越來(lái)越廣泛的應(yīng)用。在這種情形下,TCP/IP網(wǎng)絡(luò)協(xié)議棧處理對(duì)CPU資源的占用率越來(lái)越高,甚至可能成為整個(gè)服務(wù)器系統(tǒng)的瓶頸。為了降低CPU的負(fù)載,進(jìn)而提高整個(gè)服務(wù)器系統(tǒng)的性能,網(wǎng)絡(luò)適配器(網(wǎng)卡)廠商紛紛推出帶卸載功能的網(wǎng)卡,通過(guò)將原本TCP/IP網(wǎng)絡(luò)協(xié)議棧負(fù)責(zé)的部分工作(如計(jì)算TCP/IP校驗(yàn)和、TCP/UDP報(bào)文切片等)卸載給網(wǎng)卡處理,從而降低TCP/IP協(xié)議棧處理對(duì)CPU資源的占用率。目前,網(wǎng)卡具有的卸載功能通常包括計(jì)算TCP/IP校驗(yàn)和、TCP/UDP分片報(bào)文重組、TCP切片卸載等,這些卸載功能都依賴(lài)于網(wǎng)卡能否正確解析所要處理的報(bào)文。通常,網(wǎng)卡可以支持標(biāo)準(zhǔn)數(shù)據(jù)報(bào)文,例如標(biāo)準(zhǔn)IP報(bào)文、帶虛擬局域網(wǎng)Virtual (Local Area Network,VLAN)標(biāo)識(shí)的IP報(bào)文的處理。但是,在服務(wù)器虛擬化情形下,為了隔離網(wǎng)絡(luò)流量,通常在報(bào)文中封裝私有協(xié)議標(biāo)簽Tag,對(duì)于含有私有協(xié)議Tag的IP報(bào)文,因網(wǎng)卡無(wú)法正確解析該類(lèi)IP報(bào)文,造成各種卸載處理誤操作,從而導(dǎo)致網(wǎng)絡(luò)大量丟包,影響網(wǎng)絡(luò)傳輸性能?,F(xiàn)有技術(shù)通過(guò)定制的網(wǎng)卡,提供對(duì)特定私有協(xié)議的網(wǎng)卡卸載功能。但是,定制網(wǎng)卡的方案,可擴(kuò)展性差,同時(shí)對(duì)于未知協(xié)議IP報(bào)文的處理,仍然需要占用大量的CPU資源。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種實(shí)現(xiàn)網(wǎng)卡卸載功能的方法、網(wǎng)卡、主機(jī)系統(tǒng)及網(wǎng)絡(luò)設(shè)備,旨在解決現(xiàn)有技術(shù)中網(wǎng)卡卸載功能擴(kuò)展性差的問(wèn)題。一方面,提供一種實(shí)現(xiàn)網(wǎng)卡卸載功能的方法,包括:根據(jù)網(wǎng)卡中存儲(chǔ)的網(wǎng)卡策略表或者主機(jī)系統(tǒng)中存儲(chǔ)的主機(jī)策略表判斷接收到的數(shù)據(jù)報(bào)文為網(wǎng)卡已知數(shù)據(jù)報(bào)文還是網(wǎng)卡未知數(shù)據(jù)報(bào)文;當(dāng)所述數(shù)據(jù)報(bào)文為網(wǎng)卡已知數(shù)據(jù)報(bào)文時(shí),由網(wǎng)卡根據(jù)所述網(wǎng)卡策略表中的策略條目對(duì)所述網(wǎng)卡已知數(shù)據(jù)報(bào)文進(jìn)行相應(yīng)的協(xié)議棧卸載操作;當(dāng)所述數(shù)據(jù)報(bào)文為網(wǎng)卡未知數(shù)據(jù)報(bào)文時(shí),則對(duì)所述網(wǎng)卡未知數(shù)據(jù)報(bào)文進(jìn)行解析,生成新的策略條目,并將所述新的策略條目更新到所述主機(jī)策略表和所述網(wǎng)卡策略表中。另一方面,提供一種網(wǎng)卡,所述網(wǎng)卡包括:所述網(wǎng)卡包括:第一判斷模塊,用于依據(jù)網(wǎng)卡策略表判斷接收到的數(shù)據(jù)報(bào)文是網(wǎng)卡已知數(shù)據(jù)報(bào)文還是網(wǎng)卡未知數(shù)據(jù)報(bào)文;第一卸載模塊,用于當(dāng)所述數(shù)據(jù)報(bào)文是網(wǎng)卡已知數(shù)據(jù)報(bào)文時(shí),根據(jù)網(wǎng)卡策略表對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行相應(yīng)的協(xié)議棧卸載操作;上行報(bào)文發(fā)送模塊,用于當(dāng)所述數(shù)據(jù)報(bào)文是網(wǎng)卡未知數(shù)據(jù)報(bào)文時(shí),將所述數(shù)據(jù)報(bào)文發(fā)送給主機(jī)系統(tǒng),以使主機(jī)系統(tǒng)對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行解析,生成新的策略條目;第一策略更新模塊,用于接收所述新的策略條目,并更新到所述網(wǎng)卡策略表中。再一方面,提供一種主機(jī)系統(tǒng),包括:第二判斷模塊,用于根據(jù)主機(jī)策略表判斷接收到的數(shù)據(jù)報(bào)文為網(wǎng)卡已知數(shù)據(jù)報(bào)文還是網(wǎng)卡未知數(shù)據(jù)報(bào)文;下行報(bào)文發(fā)送模塊,用于當(dāng)所述數(shù)據(jù)報(bào)文是網(wǎng)卡已知數(shù)據(jù)報(bào)文時(shí),則發(fā)送所述數(shù)據(jù)報(bào)文至網(wǎng)卡,以使所述網(wǎng)卡根據(jù)網(wǎng)卡策略表中的策略條目對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行相應(yīng)的協(xié)議棧卸載操作;包解析模塊,用于當(dāng)接收到的數(shù)據(jù)報(bào)文為網(wǎng)卡未知數(shù)據(jù)報(bào)文時(shí),對(duì)所述網(wǎng)卡未知數(shù)據(jù)報(bào)文進(jìn)行解析,生成新的策略條目;第二策略更新模塊,用于將所述新的策略條目更新到主機(jī)策略表中,并發(fā)送給所述網(wǎng)卡。又一方面,提供一種實(shí)現(xiàn)網(wǎng)卡卸載功能的網(wǎng)絡(luò)設(shè)備,所述網(wǎng)絡(luò)設(shè)備包括如上所述的網(wǎng)卡和如上所述的主機(jī)系統(tǒng)。在本發(fā)明實(shí)施例中,先判斷接收到的數(shù)據(jù)報(bào)文是網(wǎng)卡已知數(shù)據(jù)報(bào)文還是網(wǎng)卡未知數(shù)據(jù)報(bào)文,當(dāng)所述數(shù)據(jù)報(bào)文為網(wǎng)卡已知數(shù)據(jù)報(bào)文時(shí),由網(wǎng)卡根據(jù)網(wǎng)卡策略表中的策略條目對(duì)所述網(wǎng)卡已知數(shù)據(jù)報(bào)文進(jìn)行相應(yīng)的協(xié)議棧卸載操作,當(dāng)所述數(shù)據(jù)報(bào)文為網(wǎng)卡未知數(shù)據(jù)報(bào)文時(shí),則對(duì)所述對(duì)接收到的網(wǎng)卡未知數(shù)據(jù)報(bào)文進(jìn)行解析,生成新的策略條目,再將所述新的策略條目同時(shí)更新到主機(jī)策略表和網(wǎng)卡策略表中,以使網(wǎng)卡能根據(jù)所述新的策略條目對(duì)后續(xù)接收到的數(shù)據(jù)報(bào)文進(jìn)行相應(yīng)的協(xié)議棧卸載操作,其中,所述數(shù)據(jù)報(bào)文的協(xié)議關(guān)鍵字與所述網(wǎng)卡未知數(shù)據(jù)報(bào)文的協(xié)議關(guān)鍵字相同。本發(fā)明對(duì)含新的私有或標(biāo)準(zhǔn)協(xié)議頭Tag的數(shù)據(jù)報(bào)文,只需更新對(duì)所述報(bào)文進(jìn)行解析的功能模塊,使其能夠處理該類(lèi)數(shù)據(jù)報(bào)文并下發(fā)新的策略條目至主機(jī)策略表及網(wǎng)卡策略表中,而網(wǎng)卡無(wú)需變動(dòng),從而實(shí)現(xiàn)了網(wǎng)卡卸載功能的動(dòng)態(tài)擴(kuò)展。


圖1是本發(fā)明實(shí)施例提供的一種實(shí)現(xiàn)網(wǎng)卡卸載功能的方法流程圖;圖2是本發(fā)明實(shí)施例提供的主機(jī)策略表和網(wǎng)卡策略表的結(jié)構(gòu)示意圖;圖3是本發(fā)明實(shí)施例提供的協(xié)議解析表的結(jié)構(gòu)示意圖;圖4是本發(fā)明實(shí)施例提供的當(dāng)接收到報(bào)文是上行報(bào)文時(shí),實(shí)現(xiàn)網(wǎng)卡卸載功能的方法流程圖;圖5是本發(fā)明實(shí)施例提供的當(dāng)接收到報(bào)文是下行報(bào)文時(shí),實(shí)現(xiàn)網(wǎng)卡卸載功能的方法流程圖;圖6是本發(fā)明實(shí)施例提供的實(shí)現(xiàn)網(wǎng)卡卸載功能的網(wǎng)絡(luò)設(shè)備框圖;圖7是本發(fā)明實(shí)施例提供的實(shí)現(xiàn)網(wǎng)卡卸載功能的系統(tǒng)框圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。在本發(fā)明實(shí)施例中,先判斷接收到的數(shù)據(jù)報(bào)文是網(wǎng)卡已知數(shù)據(jù)報(bào)文還是網(wǎng)卡未知數(shù)據(jù)報(bào)文,當(dāng)所述數(shù)據(jù)報(bào)文為網(wǎng)卡已知數(shù)據(jù)報(bào)文時(shí),由網(wǎng)卡根據(jù)網(wǎng)卡策略表中的策略條目對(duì)所述網(wǎng)卡已知數(shù)據(jù)報(bào)文進(jìn)行相應(yīng)的協(xié)議棧卸載操作,當(dāng)所述數(shù)據(jù)報(bào)文為網(wǎng)卡未知數(shù)據(jù)報(bào)文時(shí),則對(duì)所述網(wǎng)卡未知數(shù)據(jù)報(bào)文進(jìn)行解析,生成新的策略條目,再將所述新的策略條目同時(shí)更新到主機(jī)策略表和網(wǎng)卡策略表中,以使網(wǎng)卡能根據(jù)所述新的策略條目對(duì)后續(xù)接收到的數(shù)據(jù)報(bào)文進(jìn)行相應(yīng)的協(xié)議棧卸載操作,其中,所述數(shù)據(jù)報(bào)文的協(xié)議關(guān)鍵字與所述網(wǎng)卡未知數(shù)據(jù)報(bào)文的協(xié)議關(guān)鍵字相同。本發(fā)明對(duì)含新的私有或標(biāo)準(zhǔn)協(xié)議頭Tag的數(shù)據(jù)報(bào)文,只需更新對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行解析的功能模塊,使其能夠處理該類(lèi)數(shù)據(jù)報(bào)文并下發(fā)新的策略條目至主機(jī)策略表或者網(wǎng)卡策略表中,而網(wǎng)卡無(wú)需變動(dòng),從而實(shí)現(xiàn)了網(wǎng)卡卸載功能的動(dòng)態(tài)擴(kuò)展。圖1示出了本發(fā)明實(shí)施例提供的實(shí)現(xiàn)網(wǎng)卡卸載功能的方法,該方法可以應(yīng)用于包括主機(jī)系統(tǒng)和網(wǎng)卡的網(wǎng)絡(luò)設(shè)備。所述方法具體包括:101、根據(jù)網(wǎng)卡中存儲(chǔ)的網(wǎng)卡策略表或者主機(jī)系統(tǒng)中存儲(chǔ)的主機(jī)策略表判斷接收到的數(shù)據(jù)報(bào)文為網(wǎng)卡已知數(shù)據(jù)報(bào)文還是網(wǎng)卡未知數(shù)據(jù)報(bào)文。在本發(fā)明實(shí)施例中,數(shù)據(jù)報(bào)文可以是入向包報(bào)文,也稱(chēng)為上行報(bào)文;或者出向包報(bào)文也稱(chēng)為下行報(bào)文。其中,當(dāng)接收到的數(shù)據(jù)報(bào)文是上行報(bào)文時(shí),即網(wǎng)卡先接收到所述數(shù)據(jù)報(bào)文時(shí),則由網(wǎng)卡根據(jù)網(wǎng)卡中存儲(chǔ)的網(wǎng)卡策略表判斷接收到的數(shù)據(jù)報(bào)文為網(wǎng)卡已知數(shù)據(jù)報(bào)文還是網(wǎng)卡未知數(shù)據(jù)報(bào)文,否則,當(dāng)接收到的數(shù)據(jù)報(bào)文是下行報(bào)文時(shí),即主機(jī)系統(tǒng)先接收到所述數(shù)據(jù)報(bào)文時(shí),則由主機(jī)系統(tǒng)根據(jù)主機(jī)系統(tǒng)中存儲(chǔ)的主機(jī)策略表判斷接收到的數(shù)據(jù)報(bào)文為網(wǎng)卡已知數(shù)據(jù)報(bào)文還是網(wǎng)卡未知數(shù)據(jù)報(bào)文。其中,網(wǎng)卡或者主機(jī)系統(tǒng)判斷接收到的數(shù)據(jù)報(bào)文為網(wǎng)卡已知數(shù)據(jù)報(bào)文還是網(wǎng)卡未知數(shù)據(jù)報(bào)文,具體包括:101a、網(wǎng)卡或者主機(jī)系統(tǒng)提取數(shù)據(jù)報(bào)文的協(xié)議關(guān)鍵字;101b、根據(jù)所述協(xié)議關(guān)鍵字查找所述網(wǎng)卡策略表或所述主機(jī)策略表,所述主機(jī)策略表和所述網(wǎng)卡策略表中包括策略條目,所述策略條目中包括策略類(lèi)型和動(dòng)作;101c、當(dāng)所述協(xié)議關(guān)鍵字與所述主機(jī)策略表或所述網(wǎng)卡策略表中一條已有策略條目的策略類(lèi)型匹配時(shí),則所述數(shù)據(jù)報(bào)文是網(wǎng)卡已知數(shù)據(jù)報(bào)文,否則所述數(shù)據(jù)報(bào)文是網(wǎng)卡未知數(shù)據(jù)報(bào)文。102、當(dāng)所述數(shù)據(jù)報(bào)文為網(wǎng)卡已知數(shù)據(jù)報(bào)文時(shí),由網(wǎng)卡根據(jù)所述網(wǎng)卡策略表中的策略條目對(duì)所述網(wǎng)卡已知數(shù)據(jù)報(bào)文進(jìn)行相應(yīng)的協(xié)議棧卸載操作。其中,當(dāng)所述數(shù)據(jù)報(bào)文是上行報(bào)文時(shí),使所述網(wǎng)卡根據(jù)與所述協(xié)議關(guān)鍵字對(duì)應(yīng)的策略條目中的動(dòng)作對(duì)所述上行報(bào)文進(jìn)行相應(yīng)的協(xié)議棧卸載操作,并將處理后的數(shù)據(jù)報(bào)文發(fā)送給主機(jī)協(xié)議?;蛱摂M化平臺(tái)中的虛擬交換機(jī)(vSwitch)處理。當(dāng)所述數(shù)據(jù)報(bào)文是下行報(bào)文時(shí),則主機(jī)系統(tǒng)發(fā)送所述數(shù)據(jù)報(bào)文至網(wǎng)卡,以使網(wǎng)卡根據(jù)網(wǎng)卡策略表中的相應(yīng)策略條目對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行相應(yīng)的協(xié)議棧卸載操作并外發(fā)所述數(shù)據(jù)報(bào)文。103、當(dāng)所述數(shù)據(jù)報(bào)文為網(wǎng)卡未知數(shù)據(jù)報(bào)文時(shí),則對(duì)所述網(wǎng)卡未知數(shù)據(jù)報(bào)文進(jìn)行解析,生成新的策略條目,并將所述新的策略條目更新到所述主機(jī)策略表和所述網(wǎng)卡策略表中。
其中,所述網(wǎng)卡中包括內(nèi)存,內(nèi)存中存儲(chǔ)有網(wǎng)卡策略表,網(wǎng)卡策略表中包括策略條目,策略條目中包括策略類(lèi)型和動(dòng)作。所述主機(jī)系統(tǒng)中存儲(chǔ)有主機(jī)策略表,所述主機(jī)策略表與所述網(wǎng)卡策略表結(jié)構(gòu)相同。具體的主機(jī)策略表和網(wǎng)卡策略表的結(jié)構(gòu)如圖2所示。具體的103中,可以由主機(jī)系統(tǒng)對(duì)接收到的網(wǎng)卡未知數(shù)據(jù)報(bào)文進(jìn)行解析,生成新的策略條目;所述主機(jī)系統(tǒng)中存儲(chǔ)有協(xié)議解析表?;蛘?,由主機(jī)系統(tǒng)將接收到的網(wǎng)卡未知數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)給遠(yuǎn)端服務(wù)器,以使所述遠(yuǎn)端服務(wù)器對(duì)所述網(wǎng)卡未知數(shù)據(jù)報(bào)文進(jìn)行解析,生成新的策略條目,所述主機(jī)系統(tǒng)接收所述遠(yuǎn)端服務(wù)器返回的所述新的策略條目;所述遠(yuǎn)端服務(wù)器中存儲(chǔ)有協(xié)議解析表,所述協(xié)議解析表中包含協(xié)議關(guān)鍵字和協(xié)議解析函數(shù)句柄,具體的協(xié)議解析表的結(jié)構(gòu)如圖3所示。所述主機(jī)系統(tǒng)將所述新的策略條目更新到所述主機(jī)策略表和所述網(wǎng)卡策略表中,以使網(wǎng)卡根據(jù)所述新的策略條目對(duì)后續(xù)接收到的同類(lèi)數(shù)據(jù)報(bào)文進(jìn)行相應(yīng)的協(xié)議棧卸載操作,所述同類(lèi)數(shù)據(jù)報(bào)文是指其協(xié)議關(guān)鍵字與所述網(wǎng)卡未知數(shù)據(jù)報(bào)文的協(xié)議關(guān)鍵字相同的數(shù)據(jù)報(bào)文。其中,對(duì)所述網(wǎng)卡未知數(shù)據(jù)報(bào)文進(jìn)行解析具體包括:103a、提取所述網(wǎng)卡未知數(shù)據(jù)報(bào)文的協(xié)議關(guān)鍵字;103b、根據(jù)所述協(xié)議關(guān)鍵字查找協(xié)議解析表,所述協(xié)議解析表中包含協(xié)議關(guān)鍵字和協(xié)議解析函數(shù)句柄;103c、當(dāng)所述協(xié)議關(guān)鍵字與所述協(xié)議解析表中一條已有協(xié)議解析信息的協(xié)議關(guān)鍵字匹配時(shí),獲取所述已有協(xié)議解析信息中的協(xié)議解析函數(shù)句柄,并調(diào)用所述協(xié)議解析函數(shù)對(duì)所述網(wǎng)卡未知數(shù)據(jù)報(bào)文進(jìn)行解析。需要說(shuō)明的是,主機(jī)系統(tǒng)和網(wǎng)卡中的策略表初始可以為空,即沒(méi)有任何策略條目,隨著網(wǎng)卡不斷接收到各種協(xié)議類(lèi)型的流量報(bào)文,本地包解析模塊或者遠(yuǎn)端包解析模塊動(dòng)態(tài)擴(kuò)展主機(jī)系統(tǒng)及網(wǎng)卡中的策略表的策略條目,策略表維護(hù)可以采用被動(dòng)老化機(jī)制,即策略條目數(shù)超過(guò)上限時(shí)覆蓋最近最少用(LRU, Least Recent Used)的策略條目,從而節(jié)省網(wǎng)卡的存儲(chǔ)資源。在本實(shí)施例中,對(duì)含新的私有或標(biāo)準(zhǔn)協(xié)議頭Tag的報(bào)文,只需更新本地包解析模塊或者遠(yuǎn)端包解析模塊使其能處理該類(lèi)報(bào)文并下發(fā)新的策略條目至本地策略表及網(wǎng)卡策略表,而網(wǎng)卡無(wú)需變動(dòng),從而實(shí)現(xiàn)了網(wǎng)卡卸載功能動(dòng)態(tài)擴(kuò)展??蛇x的,為了使主機(jī)系統(tǒng)或者遠(yuǎn)端服務(wù)器能夠?qū)邮盏降木W(wǎng)卡未知數(shù)據(jù)報(bào)文進(jìn)行解析,在步驟101之前,所述方法還包括:主機(jī)系統(tǒng)或者遠(yuǎn)端服務(wù)器接收輸入的新協(xié)議注冊(cè)命令,所述新協(xié)議注冊(cè)命令中包括關(guān)鍵字和指向與所述關(guān)鍵字對(duì)應(yīng)的解析函數(shù)句柄的表項(xiàng);所述主機(jī)系統(tǒng)或者所述遠(yuǎn)端服務(wù)器,根據(jù)所述新協(xié)議注冊(cè)命令更新協(xié)議解析表。圖3示出了新協(xié)議注冊(cè)前的協(xié)議解析表和新協(xié)議注冊(cè)后的協(xié)議解析表。舉例來(lái)說(shuō),圖4示出了本發(fā)明實(shí)施例提供的當(dāng)接收到數(shù)據(jù)報(bào)文是上行報(bào)文時(shí),實(shí)現(xiàn)網(wǎng)卡卸載功能的方法,所述方法包括:401,網(wǎng)卡接收到上行報(bào)文后,提取所述上行報(bào)文的協(xié)議關(guān)鍵字。其中,上行報(bào)文的協(xié)議關(guān)鍵字可以是協(xié)議類(lèi)型。402,所述網(wǎng)卡根據(jù)所述協(xié)議關(guān)鍵字查找所述網(wǎng)卡策略表,所述網(wǎng)卡策略表中包括策略條目,所述策略條目中包括策略類(lèi)型,當(dāng)所述協(xié)議關(guān)鍵字與所述網(wǎng)卡策略表中一條已有策略條目的策略類(lèi)型匹配時(shí),則所述數(shù)據(jù)報(bào)文是網(wǎng)卡已知數(shù)據(jù)報(bào)文,執(zhí)行403,否則所述數(shù)據(jù)報(bào)文是網(wǎng)卡未知數(shù)據(jù)報(bào)文,執(zhí)行404。網(wǎng)卡提取到上行報(bào)文的協(xié)議關(guān)鍵字后,根據(jù)該關(guān)鍵字查找網(wǎng)卡策略表,當(dāng)所述協(xié)議關(guān)鍵字與所述網(wǎng)卡策略表中一條已有策略條目的策略類(lèi)型匹配時(shí),則執(zhí)行步驟403,否則執(zhí)行步驟404。具體的匹配規(guī)則是查找策略條目中的策略類(lèi)型,當(dāng)網(wǎng)卡策略表中存在與該關(guān)鍵字相同的策略類(lèi)型時(shí),則認(rèn)為網(wǎng)卡策略表中存在與該關(guān)鍵字匹配的策略條目。403,所述網(wǎng)卡根據(jù)所述策略條目對(duì)所述報(bào)文進(jìn)行相應(yīng)的協(xié)議棧卸載操作。當(dāng)所述協(xié)議關(guān)鍵字與所述網(wǎng)卡策略表中一條已有策略條目的策略類(lèi)型匹配時(shí),所述網(wǎng)卡根據(jù)與所述關(guān)鍵字對(duì)應(yīng)的策略條目中的動(dòng)作對(duì)上行報(bào)文進(jìn)行相應(yīng)的協(xié)議棧卸載操作,比如計(jì)算TCP校驗(yàn)和、GRO處理等,最后,將上行報(bào)文送交主機(jī)系統(tǒng)的協(xié)議棧或虛擬化平臺(tái)中的虛擬交換機(jī)(vSwitch)處理。404中,所述網(wǎng)卡發(fā)送所述上行報(bào)文至主機(jī)系統(tǒng),以使主機(jī)系統(tǒng)對(duì)接收到的所述上行報(bào)文進(jìn)行解析,生成新的策略條目,并將所述新的策略條目更新到主機(jī)策略表和所述網(wǎng)卡策略表中。當(dāng)所述協(xié)議關(guān)鍵字與所述網(wǎng)卡策略表中任一條已有策略條目的策略類(lèi)型都不匹配時(shí),網(wǎng)卡將該上行報(bào)文交給主機(jī)系統(tǒng)。主機(jī)系統(tǒng)接收到的網(wǎng)卡發(fā)送的上行報(bào)文后,首先通過(guò)主機(jī)系統(tǒng)的本地包解析模塊提取所述上行報(bào)文的協(xié)議關(guān)鍵字,再根據(jù)所述協(xié)議關(guān)鍵字查找協(xié)議解析表,所述協(xié)議解析表中包含協(xié)議關(guān)鍵字和協(xié)議解析函數(shù)句柄,當(dāng)所述協(xié)議關(guān)鍵字與所述協(xié)議解析表中一條已有協(xié)議解析信息的協(xié)議關(guān)鍵字匹配時(shí),獲取所述已有協(xié)議解析信息中的協(xié)議解析函數(shù)句柄,并調(diào)用所述協(xié)議解析函數(shù)對(duì)所述網(wǎng)卡未知數(shù)據(jù)報(bào)文進(jìn)行解析,生成新的策略條目,然后將該新的策略條目更新到主機(jī)系統(tǒng)中的主機(jī)策略表中,同時(shí)將該新的策略條目下發(fā)到網(wǎng)卡中的網(wǎng)卡策略表。這時(shí)主機(jī)策略表和網(wǎng)卡策略表中都包括了與所述上行報(bào)文的協(xié)議關(guān)鍵字匹配的策略條目,后續(xù)網(wǎng)卡接收到與所述上行報(bào)文的協(xié)議關(guān)鍵字相同的數(shù)據(jù)報(bào)文后,就可按照網(wǎng)卡策略表或者主機(jī)策略表中新增加的策略條目中的動(dòng)作對(duì)接收到的數(shù)據(jù)報(bào)文執(zhí)行相應(yīng)的協(xié)議棧操作。另一方面,通過(guò)主機(jī)系統(tǒng)對(duì)網(wǎng)卡和主機(jī)策略表進(jìn)行更新后,可以利用主機(jī)系統(tǒng)的CPU對(duì)該上行報(bào)文進(jìn)行相應(yīng)處理(如計(jì)算TCP校驗(yàn)和、GRO處理等),處理完后,CPU將該上行報(bào)文轉(zhuǎn)給協(xié)議?;騰Switch處理。又例如,圖5示出了本發(fā)明實(shí)施例提供的當(dāng)接收到報(bào)文是下行報(bào)文時(shí),實(shí)現(xiàn)網(wǎng)卡卸載功能的方法,所述方法包括:501,主機(jī)系統(tǒng)提取接收到的數(shù)據(jù)報(bào)文的協(xié)議關(guān)鍵字。當(dāng)主機(jī)系統(tǒng)接收到從vSwitch或協(xié)議棧下發(fā)的TX方向的下行報(bào)文后,通過(guò)本地包解析模塊提取所述下行報(bào)文的協(xié)議關(guān)鍵字。502,主機(jī)系統(tǒng)根據(jù)所述協(xié)議關(guān)鍵字查找所述主機(jī)策略表,所述主機(jī)策略表中包括策略條目,所述策略條目中包括策略類(lèi)型,當(dāng)所述協(xié)議關(guān)鍵字與所述主機(jī)策略表中一條已有策略條目的策略類(lèi)型匹配時(shí),則所述數(shù)據(jù)報(bào)文是網(wǎng)卡已知數(shù)據(jù)報(bào)文,執(zhí)行503 ;否則所述數(shù)據(jù)報(bào)文是網(wǎng)卡未知數(shù)據(jù)報(bào)文,執(zhí)行S504。503,主機(jī)系統(tǒng)發(fā)送所述報(bào)文至網(wǎng)卡,以使網(wǎng)卡根據(jù)網(wǎng)卡策略表中的策略條目對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行相應(yīng)的協(xié)議棧卸載操作。當(dāng)數(shù)據(jù)報(bào)文的協(xié)議關(guān)鍵字與主機(jī)策略表中一條已有策略條目的策略類(lèi)型匹配時(shí),由于主機(jī)策略表和網(wǎng)卡策略表是同時(shí)更新的,因此可以得出,網(wǎng)卡策略表中也存在與所述關(guān)鍵字匹配的策略條目,則主機(jī)系統(tǒng)發(fā)送接收到的數(shù)據(jù)報(bào)文至網(wǎng)卡,使網(wǎng)卡根據(jù)所述策略條目中的動(dòng)作對(duì)所述數(shù)據(jù)報(bào)文執(zhí)行相應(yīng)的協(xié)議棧卸載操作。504,主機(jī)系統(tǒng)對(duì)所述報(bào)文進(jìn)行解析,生成新的策略條目,并將所述策略條目更新到所述主機(jī)策略表和網(wǎng)卡策略表中。當(dāng)數(shù)據(jù)報(bào)文的協(xié)議關(guān)鍵字與主機(jī)策略表中任意一條已有策略條目的策略類(lèi)型都不匹配時(shí),則通過(guò)主機(jī)系統(tǒng)的本的包解析模塊對(duì)接收到的數(shù)據(jù)報(bào)文進(jìn)行解析,生成與解析結(jié)果對(duì)應(yīng)的新的策略條目,主機(jī)系統(tǒng)的本地包解析模塊將生成的新的策略條目更新到主機(jī)策略表中,同時(shí)將該策略條目下發(fā)到網(wǎng)卡策略表中,以實(shí)現(xiàn)主機(jī)策略表和網(wǎng)卡策略表的同步更新。具體步驟可以參見(jiàn)103a至103c,在此不再贅述。505,主機(jī)系統(tǒng)發(fā)送接收到的下行報(bào)文至網(wǎng)卡,以使所述網(wǎng)卡根據(jù)所述策略條目對(duì)所述下行報(bào)文執(zhí)行相應(yīng)的協(xié)議棧卸載操作。主機(jī)系統(tǒng)發(fā)送接收到的下行報(bào)文至網(wǎng)卡,由于網(wǎng)卡中的策略表已經(jīng)添加了所述新的策略條目,因此網(wǎng)卡可以根據(jù)所述新的策略條目中的動(dòng)作對(duì)所述下行報(bào)文執(zhí)行相應(yīng)的協(xié)議棧卸載操作并外發(fā)到網(wǎng)絡(luò)中。圖6示出了本發(fā)明實(shí)施例提供的實(shí)現(xiàn)網(wǎng)卡卸載功能的網(wǎng)絡(luò)設(shè)備框圖,用于實(shí)現(xiàn)本發(fā)明中圖1、圖4和圖5所示的方法。所述網(wǎng)絡(luò)設(shè)備包括網(wǎng)卡61和主機(jī)系統(tǒng)62。所述網(wǎng)卡61包括:內(nèi)存,所述內(nèi)存中存儲(chǔ)有網(wǎng)卡策略表,所述網(wǎng)卡策略表包括策略條目,所述策略條目包括策略類(lèi)型和動(dòng)作,所述網(wǎng)卡61可以與所述主機(jī)系統(tǒng)62連接,所述網(wǎng)卡61還包括:第一判斷模塊611、第一卸載模塊612、上行報(bào)文發(fā)送模塊613和第一策略更新模塊614。其中,第一判斷模塊611用于依據(jù)網(wǎng)卡策略表判斷接收到的數(shù)據(jù)報(bào)文是網(wǎng)卡已知數(shù)據(jù)報(bào)文還是網(wǎng)卡未知數(shù)據(jù)報(bào)文;第一卸載模塊612用于當(dāng)所述數(shù)據(jù)報(bào)文是網(wǎng)卡已知數(shù)據(jù)報(bào)文時(shí),根據(jù)網(wǎng)卡策略表對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行相應(yīng)的協(xié)議棧卸載操作;上行報(bào)文發(fā)送模塊613用于當(dāng)所述數(shù)據(jù)報(bào)文是網(wǎng)卡未知數(shù)據(jù)報(bào)文時(shí),將所述數(shù)據(jù)報(bào)文發(fā)送給主機(jī)系統(tǒng)以使主機(jī)系統(tǒng)對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行解析,生成新的策略條目;第一策略更新模塊614用于接收所述新的策略條目,并更新到所述網(wǎng)卡策略表中。其中,第一判斷模塊611包括:關(guān)鍵字提取單元和查表單元。關(guān)鍵字提取單元用于提取所述數(shù)據(jù)報(bào)文的協(xié)議關(guān)鍵字;查表單元用于根據(jù)所述關(guān)鍵字提取單元提取的協(xié)議關(guān)鍵字查找網(wǎng)卡策略表,所述網(wǎng)卡策略表中包括策略條目,所述策略條目中包括策略類(lèi)型,當(dāng)所述協(xié)議關(guān)鍵字與所述網(wǎng)卡策略表中一條已有策略條目的策略類(lèi)型匹配時(shí),則所述數(shù)據(jù)報(bào)文是網(wǎng)卡已知數(shù)據(jù)報(bào)文,否則所述數(shù)據(jù)報(bào)文是網(wǎng)卡未知數(shù)據(jù)報(bào)文。所述主機(jī)系統(tǒng)62中存儲(chǔ)有主機(jī)策略表,所述主機(jī)策略表包括策略條目,所述策略條目包括策略類(lèi)型和動(dòng)作,所述主機(jī)系統(tǒng)62包括:第二判斷模塊621、下行報(bào)文發(fā)送模塊622、包解析模塊623和第二策略更新模塊624。其中,第二判斷模塊621用于根據(jù)主機(jī)策略表判斷接收到的數(shù)據(jù)報(bào)文為網(wǎng)卡已知數(shù)據(jù)報(bào)文還是網(wǎng)卡未知數(shù)據(jù)報(bào)文;下行報(bào)文發(fā)送模塊622用于當(dāng)所述數(shù)據(jù)報(bào)文是網(wǎng)卡已知數(shù)據(jù)報(bào)文時(shí),則發(fā)送所述數(shù)據(jù)報(bào)文至網(wǎng)卡,以使所述網(wǎng)卡根據(jù)網(wǎng)卡策略表中的策略條目對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行相應(yīng)的協(xié)議棧卸載操作;包解析模塊623用于當(dāng)接收到的數(shù)據(jù)報(bào)文為網(wǎng)卡未知數(shù)據(jù)報(bào)文時(shí),對(duì)所述網(wǎng)卡未知數(shù)據(jù)報(bào)文進(jìn)行解析,生成新的策略條目;第二策略更新模塊624用于將所述新的策略條目更新到所述主機(jī)策略表中,并發(fā)送給所述網(wǎng)卡。其中,所述包解析模塊623可以包括:關(guān)鍵字段提取單元、關(guān)鍵字段匹配單元和策略條目生成單元?;蛘撸梢园?報(bào)文轉(zhuǎn)發(fā)單元和策略條目接收單元。所述關(guān)鍵字段提取單元用于提取所述網(wǎng)卡未知數(shù)據(jù)報(bào)文的協(xié)議關(guān)鍵字;所述關(guān)鍵字段匹配單元用于根據(jù)所述關(guān)鍵字段提取單元提取的所述協(xié)議關(guān)鍵字,查找協(xié)議解析表,所述協(xié)議解析表中包含協(xié)議關(guān)鍵字和協(xié)議解析函數(shù)句柄;所述策略條目生成單元,用于當(dāng)所述協(xié)議關(guān)鍵字與所述協(xié)議解析表中一條已有協(xié)議解析信息的協(xié)議關(guān)鍵字匹配時(shí),獲取所述已有協(xié)議解析信息中的協(xié)議解析函數(shù)句柄,并調(diào)用所述協(xié)議解析函數(shù)對(duì)所述報(bào)文進(jìn)行解析,生成所述新的策略條目。所述報(bào)文轉(zhuǎn)發(fā)單元,用于將接收到的網(wǎng)卡未知數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)給遠(yuǎn)端服務(wù)器,以由所述遠(yuǎn)端服務(wù)器對(duì)所述報(bào)文進(jìn)行解析,生成所述新的策略條目;所述策略條目接收單元,用于接收所述新的策略條目。需要說(shuō)明的是,主機(jī)系統(tǒng)和網(wǎng)卡中的策略表初始可以為空,即沒(méi)有任何策略條目,隨著網(wǎng)卡不斷接收到各種協(xié)議類(lèi)型的流量報(bào)文,本地包解析模塊或者遠(yuǎn)端包解析模塊動(dòng)態(tài)擴(kuò)展主機(jī)系統(tǒng)及網(wǎng)卡中的策略表的策略條目,策略表維護(hù)可以采用被動(dòng)老化機(jī)制,即策略條目數(shù)超過(guò)上限時(shí)覆蓋最近最少用(LRU, Least Recent Used)的策略條目,從而節(jié)省網(wǎng)卡的存儲(chǔ)資源。圖7示出了本發(fā)明實(shí)施例提供的實(shí)現(xiàn)網(wǎng)卡卸載功能的系統(tǒng)框圖,為了便于說(shuō)明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分。所述系統(tǒng)包括網(wǎng)卡71、主機(jī)系統(tǒng)72和遠(yuǎn)端服務(wù)器73。所述網(wǎng)卡71包括:內(nèi)存711,所述內(nèi)存711中存儲(chǔ)有網(wǎng)卡策略表,所述網(wǎng)卡策略表包括策略條目,所述策略條目包括策略類(lèi)型和動(dòng)作,所述網(wǎng)卡71與主機(jī)系統(tǒng)72連接,所述網(wǎng)卡71還包括:第一判斷模塊712、第一卸載模塊713、上行報(bào)文發(fā)送模塊714和第一策略更新模塊15。其中,第一判斷模塊712用于依據(jù)網(wǎng)卡策略表判斷接收到的數(shù)據(jù)報(bào)文是網(wǎng)卡已知數(shù)據(jù)報(bào)文還是網(wǎng)卡未知數(shù)據(jù)報(bào)文;第一卸載模塊713用于當(dāng)所述數(shù)據(jù)報(bào)文是網(wǎng)卡已知數(shù)據(jù)報(bào)文時(shí),根據(jù)網(wǎng)卡策略表對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行相應(yīng)的協(xié)議棧卸載操作;上行報(bào)文發(fā)送模塊714用于當(dāng)所述數(shù)據(jù)報(bào)文是網(wǎng)卡未知數(shù)據(jù)報(bào)文時(shí),將所述數(shù)據(jù)報(bào)文發(fā)送給主機(jī)系統(tǒng),以使主機(jī)系統(tǒng)對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行解析,生成新的策略條目;第一策略更新模塊715用于接收所述新的策略條目,并更新到所述網(wǎng)卡策略表中。其中,第一判斷模塊712包括:關(guān)鍵字提取單元和查表單元。關(guān)鍵字提取單元用于提取所述數(shù)據(jù)報(bào)文的協(xié)議關(guān)鍵字;查表單元用于根據(jù)所述關(guān)鍵字提取單元提取的協(xié)議關(guān)鍵字查找網(wǎng)卡策略表或主機(jī)策略表,所述主機(jī)策略表和所述網(wǎng)卡策略表中包括策略條目,所述策略條目中包括策略類(lèi)型,當(dāng)所述協(xié)議關(guān)鍵字與所述網(wǎng)卡策略表中一條已有策略條目的策略類(lèi)型匹配時(shí),則所述數(shù)據(jù)報(bào)文是網(wǎng)卡已知數(shù)據(jù)報(bào)文,否則所述數(shù)據(jù)報(bào)文是網(wǎng)卡未知數(shù)據(jù)報(bào)文。所述主機(jī)系統(tǒng)72中存儲(chǔ)有主機(jī)策略表,所述主機(jī)策略表包括策略條目,所述策略條目包括策略類(lèi)型和動(dòng)作,所述主機(jī)系統(tǒng)72包括:第二判斷模塊721、下行報(bào)文發(fā)送模塊722、報(bào)文轉(zhuǎn)發(fā)模塊723、策略條目接收模塊724和第二策略更新模塊725。其中,第二判斷模塊721用于根據(jù)主機(jī)策略表判斷接收到的數(shù)據(jù)報(bào)文為網(wǎng)卡已知數(shù)據(jù)報(bào)文還是網(wǎng)卡未知數(shù)據(jù)報(bào)文;下行報(bào)文發(fā)送模塊722用于當(dāng)所述數(shù)據(jù)報(bào)文是網(wǎng)卡已知數(shù)據(jù)報(bào)文時(shí),則發(fā)送所述數(shù)據(jù)報(bào)文至網(wǎng)卡,以使網(wǎng)卡根據(jù)網(wǎng)卡策略表中的已有策略條目對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行相應(yīng)的協(xié)議棧卸載操作;報(bào)文轉(zhuǎn)發(fā)模塊723用于將接收到的網(wǎng)卡未知數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)給遠(yuǎn)端服務(wù)器,以由所述遠(yuǎn)端服務(wù)器對(duì)所述報(bào)文進(jìn)行解析,生成新的策略條目;策略條目接收模塊724用于接收所述新的策略條目;第二策略更新模塊725用于將所述新的策略條目更新到主機(jī)策略表,并發(fā)送給所述網(wǎng)卡。所述遠(yuǎn)端服務(wù)器73中存儲(chǔ)有協(xié)議解析表,所述協(xié)議解析表包括協(xié)議頭關(guān)鍵字和指向與所述協(xié)議頭關(guān)鍵字對(duì)應(yīng)的解析函數(shù)句柄的表項(xiàng),所述協(xié)議頭關(guān)鍵字是所述協(xié)議解析表的索引,所述遠(yuǎn)端服務(wù)器73還包括報(bào)文接收模塊731、遠(yuǎn)端包解析模塊732、策略條目發(fā)送模塊733、注冊(cè)命令接收模塊734和協(xié)議解析表更新模塊735。報(bào)文接收模塊731用于接收主機(jī)系統(tǒng)2發(fā)送的網(wǎng)卡未知數(shù)據(jù)報(bào)文;遠(yuǎn)端包解析模塊732用于對(duì)所述報(bào)文接收模塊731接收到的網(wǎng)卡未知數(shù)據(jù)報(bào)文進(jìn)行解析,生成新的策略條目;策略條目發(fā)送模塊733用于發(fā)送所述新的策略條目至主機(jī)系統(tǒng)72,以由所述主機(jī)系統(tǒng)72將所述策略條目發(fā)送單元733發(fā)送的新的策略條目同時(shí)更新到主機(jī)系統(tǒng)72的主機(jī)策略表和網(wǎng)卡策略表中。其中,所述遠(yuǎn)端包解析模塊732包括:關(guān)鍵字段提取單元、關(guān)鍵字段匹配單元和策略條目生成單元。關(guān)鍵字段提取單元用于提取所述網(wǎng)卡未知數(shù)據(jù)報(bào)文協(xié)議關(guān)鍵字;關(guān)鍵字段匹配單元用于根據(jù)所述關(guān)鍵字段提取單元提取的關(guān)鍵字,查找協(xié)議解析表,所述協(xié)議解析表中包含協(xié)議關(guān)鍵字和協(xié)議解析函數(shù)句柄;
策略條目生成單元,用于當(dāng)所述協(xié)議關(guān)鍵字與所述協(xié)議解析表中一條已有協(xié)議解析信息的協(xié)議關(guān)鍵字匹配時(shí),獲取所述已有協(xié)議解析信息中的協(xié)議解析函數(shù)句柄,并調(diào)用所述協(xié)議解析函數(shù)對(duì)所述報(bào)文進(jìn)行解析,生成與解析結(jié)果對(duì)應(yīng)的策略條目。注冊(cè)命令接收模塊734用于接收輸入的新協(xié)議注冊(cè)命令,所述新協(xié)議注冊(cè)命令中包括關(guān)鍵字和指向與所述關(guān)鍵字對(duì)應(yīng)的解析函數(shù)句柄的表項(xiàng);協(xié)議解析表更新模塊735用于根據(jù)所述注冊(cè)命令接收模塊34接收到的新協(xié)議注冊(cè)命令更新遠(yuǎn)端服務(wù)器3中的協(xié)議解析表。在本發(fā)明實(shí)施例中,一方面先對(duì)接收到的網(wǎng)卡未知數(shù)據(jù)報(bào)文進(jìn)行解析,生成與解析結(jié)果對(duì)應(yīng)的策略條目,再將所述策略條目同時(shí)更新到主機(jī)策略表和網(wǎng)卡策略表中,以使網(wǎng)卡根據(jù)所述策略條目對(duì)后續(xù)接收到的同類(lèi)數(shù)據(jù)報(bào)文進(jìn)行相應(yīng)的協(xié)議棧卸載操作。對(duì)含新的私有或標(biāo)準(zhǔn)協(xié)議頭Tag的報(bào)文,只需更新對(duì)所述報(bào)文進(jìn)行解析的功能模塊,使其能夠處理該類(lèi)報(bào)文并下發(fā)新的策略條目至主機(jī)策略表或者網(wǎng)卡策略表中,而網(wǎng)卡無(wú)需變動(dòng),從而實(shí)現(xiàn)了網(wǎng)卡卸載功能的動(dòng)態(tài)擴(kuò)展。另一方面,主機(jī)系統(tǒng)和網(wǎng)卡中的策略表的維護(hù)可以采用被動(dòng)老化機(jī)制,即策略條目數(shù)超過(guò)上限時(shí)覆蓋最近最少用(LRU7Least Recent Used)的策略條目,從而節(jié)省網(wǎng)卡的存儲(chǔ)資源。又一方面,本發(fā)明實(shí)施例將包解析模塊分成本地包解析模塊和遠(yuǎn)端包解析模塊兩部分。遠(yuǎn)端包解析模塊對(duì)外開(kāi)放新協(xié)議注冊(cè)功能,負(fù)責(zé)解析報(bào)文、生成策略條目并發(fā)送給本地包解析模塊,形成一對(duì)多的服務(wù)模式,解決了大范圍部署同類(lèi)網(wǎng)卡時(shí),由于需要在每臺(tái)服務(wù)器的包解析模塊上注冊(cè)新協(xié)議,并進(jìn)行協(xié)議解析,增加處理開(kāi)銷(xiāo)和不利于管理的問(wèn)題。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種實(shí)現(xiàn)網(wǎng)卡卸載功能的方法,其特征在于,包括: 根據(jù)網(wǎng)卡中存儲(chǔ)的網(wǎng)卡策略表或者主機(jī)系統(tǒng)中存儲(chǔ)的主機(jī)策略表判斷接收到的數(shù)據(jù)報(bào)文為網(wǎng)卡已知數(shù)據(jù)報(bào)文還是網(wǎng)卡未知數(shù)據(jù)報(bào)文; 當(dāng)所述數(shù)據(jù)報(bào)文為網(wǎng)卡已知數(shù)據(jù)報(bào)文時(shí),由網(wǎng)卡根據(jù)所述網(wǎng)卡策略表中的策略條目對(duì)所述網(wǎng)卡已知數(shù)據(jù)報(bào)文進(jìn)行相應(yīng)的協(xié)議棧卸載操作; 當(dāng)所述數(shù)據(jù)報(bào)文為網(wǎng)卡未知數(shù)據(jù)報(bào)文時(shí),則對(duì)所述網(wǎng)卡未知數(shù)據(jù)報(bào)文進(jìn)行解析,生成新的策略條目,并將所述新的策略條目更新到所述主機(jī)策略表和所述網(wǎng)卡策略表中。
2.如權(quán)利要求1所述的方法,其特征在于,所述當(dāng)所述數(shù)據(jù)報(bào)文為網(wǎng)卡未知數(shù)據(jù)報(bào)文時(shí),則對(duì)所述網(wǎng)卡未知數(shù)據(jù)報(bào)文進(jìn)行解析,生成新的策略條目具體包括: 主機(jī)系統(tǒng)對(duì)接收到的網(wǎng)卡未知數(shù)據(jù)報(bào)文進(jìn)行解析,生成新的策略條目;或者, 主機(jī)系統(tǒng)將接收到的網(wǎng)卡未知數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)給遠(yuǎn)端服務(wù)器,以使所述遠(yuǎn)端服務(wù)器對(duì)所述網(wǎng)卡未知數(shù)據(jù)報(bào)文進(jìn)行解析并生成新的策略條目,所述主機(jī)系統(tǒng)接收所述遠(yuǎn)端服務(wù)器返回的所述新的策略條目。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述對(duì)所述網(wǎng)卡未知數(shù)據(jù)報(bào)文進(jìn)行解析具體包括: 提取所述網(wǎng)卡未知數(shù)據(jù)報(bào)文的協(xié)議關(guān)鍵字; 根據(jù)所述協(xié)議關(guān)鍵字查找協(xié)議解析表,所述協(xié)議解析表中包含協(xié)議關(guān)鍵字和協(xié)議解析函數(shù)句柄; 當(dāng)所述協(xié)議關(guān)鍵字與所述 協(xié)議解析表中一條已有協(xié)議解析信息的協(xié)議關(guān)鍵字匹配時(shí),獲取所述已有協(xié)議解析信息中的協(xié)議解析函數(shù)句柄,并調(diào)用所述協(xié)議解析函數(shù)對(duì)所述網(wǎng)卡未知數(shù)據(jù)報(bào)文進(jìn)行解析。
4.如權(quán)利要求1至3任一項(xiàng)所述的方法,其特征在于,所述根據(jù)網(wǎng)卡中存儲(chǔ)的網(wǎng)卡策略表或者主機(jī)系統(tǒng)中存儲(chǔ)的主機(jī)策略表判斷接收到的數(shù)據(jù)報(bào)文為網(wǎng)卡已知數(shù)據(jù)報(bào)文還是網(wǎng)卡未知數(shù)據(jù)報(bào)文具體包括: 所述網(wǎng)卡或者所述主機(jī)系統(tǒng)提取所述數(shù)據(jù)報(bào)文的協(xié)議關(guān)鍵字; 根據(jù)所述協(xié)議關(guān)鍵字查找所述網(wǎng)卡策略表或所述主機(jī)策略表,所述主機(jī)策略表和所述網(wǎng)卡策略表中包括策略條目,所述策略條目中包括策略類(lèi)型; 當(dāng)所述協(xié)議關(guān)鍵字與所述主機(jī)策略表或所述網(wǎng)卡策略表中一條已有策略條目的策略類(lèi)型匹配時(shí),則所述數(shù)據(jù)報(bào)文是網(wǎng)卡已知數(shù)據(jù)報(bào)文,否則所述數(shù)據(jù)報(bào)文是網(wǎng)卡未知數(shù)據(jù)報(bào)文。
5.一種網(wǎng)卡,其特征在于,所述網(wǎng)卡包括: 第一判斷模塊,用于依據(jù)網(wǎng)卡策略表判斷接收到的數(shù)據(jù)報(bào)文是網(wǎng)卡已知數(shù)據(jù)報(bào)文還是網(wǎng)卡未知數(shù)據(jù)報(bào)文; 第一卸載模塊,用于當(dāng)所述數(shù)據(jù)報(bào)文是網(wǎng)卡已知數(shù)據(jù)報(bào)文時(shí),根據(jù)網(wǎng)卡策略表對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行相應(yīng)的協(xié)議棧卸載操作; 上行報(bào)文發(fā)送模塊,用于當(dāng)所述數(shù)據(jù)報(bào)文是網(wǎng)卡未知數(shù)據(jù)報(bào)文時(shí),將所述數(shù)據(jù)報(bào)文發(fā)送給主機(jī)系統(tǒng),以使主機(jī)系統(tǒng)對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行解析并生成新的策略條目; 第一策略更新模塊,用于接收所述新的策略條目,并更新到所述網(wǎng)卡策略表中。
6.如權(quán)利要求5所述的網(wǎng)卡,其特征在于,所述第一判斷模塊具體包括:關(guān)鍵字提取單元,用于提取所述數(shù)據(jù)報(bào)文的協(xié)議關(guān)鍵字; 查表單元,用于根據(jù)所述關(guān)鍵字提取單元提取的協(xié)議關(guān)鍵字查找網(wǎng)卡策略表,所述網(wǎng)卡策略表中包括策略條目,所述策略條目中包括策略類(lèi)型;當(dāng)所述協(xié)議關(guān)鍵字與所述網(wǎng)卡策略表中一條已有策略條目的策略類(lèi)型匹配時(shí),則所述數(shù)據(jù)報(bào)文是網(wǎng)卡已知數(shù)據(jù)報(bào)文,否則所述數(shù)據(jù)報(bào)文是網(wǎng)卡未知數(shù)據(jù)報(bào)文。
7.一種主機(jī)系統(tǒng),其特征在于,所述主機(jī)系統(tǒng)包括: 第二判斷模塊,用于根據(jù)主機(jī)策略表判斷接收到的數(shù)據(jù)報(bào)文為網(wǎng)卡已知數(shù)據(jù)報(bào)文還是網(wǎng)卡未知數(shù)據(jù)報(bào)文; 下行報(bào)文發(fā)送模塊,用于當(dāng)所述數(shù)據(jù)報(bào)文是網(wǎng)卡已知數(shù)據(jù)報(bào)文時(shí),則發(fā)送所述數(shù)據(jù)報(bào)文至網(wǎng)卡,以使所述網(wǎng)卡根據(jù)網(wǎng)卡策略表中的策略條目對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行相應(yīng)的協(xié)議棧卸載操作; 包解析模塊,用于當(dāng)接收到的數(shù)據(jù)報(bào)文為網(wǎng)卡未知數(shù)據(jù)報(bào)文時(shí),對(duì)所述網(wǎng)卡未知數(shù)據(jù)報(bào)文進(jìn)行解析,生成新的策略條目; 第二策略更新模塊,用于將所述新的策略條目更新到所述主機(jī)策略表中,并發(fā)送給所述網(wǎng)卡。
8.如權(quán)利要求7所述的主機(jī)系統(tǒng),其特征在于,所述包解析模塊具體包括: 關(guān)鍵字段提取單元,用于提取所述網(wǎng)卡未知數(shù)據(jù)報(bào)文的協(xié)議關(guān)鍵字; 關(guān)鍵字段匹配單元,用于根據(jù)所述關(guān)鍵字段提取單元提取的所述協(xié)議關(guān)鍵字,查找協(xié)議解析表,所述協(xié)議解析表中包含協(xié)議關(guān)鍵字和協(xié)議解析函數(shù)句柄; 策略條目生成單元,用于當(dāng)所述協(xié)議關(guān)鍵字與所述協(xié)議解析表中一條已有協(xié)議解析信息的協(xié)議關(guān)鍵字匹配時(shí),獲取所述已有協(xié)議解析信息中的協(xié)議解析函數(shù)句柄,并調(diào)用所述協(xié)議解析函數(shù)對(duì)所述報(bào)文進(jìn)行解析,生成所述新的策略條目。
9.如權(quán)利要求7所述的主機(jī)系統(tǒng),其特征在于,所述包解析模塊具體包括: 報(bào)文轉(zhuǎn)發(fā)單元,用于將接收到的網(wǎng)卡未知數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)給遠(yuǎn)端服務(wù)器,以使所述遠(yuǎn)端服務(wù)器對(duì)所述報(bào)文進(jìn)行解析,生成所述新的策略條目; 策略條目接收單元,用于接收所述新的策略條目。
10.一種實(shí)現(xiàn)網(wǎng)卡卸載功能的網(wǎng)絡(luò)設(shè)備,其特征在于,包括如權(quán)利要求5至6任一項(xiàng)所述的網(wǎng)卡和如權(quán)利要求7至9任一項(xiàng)所述的主機(jī)系統(tǒng)。
全文摘要
本發(fā)明適用于通信技術(shù)領(lǐng)域,提供了一種實(shí)現(xiàn)網(wǎng)卡卸載功能的方法、網(wǎng)卡、主機(jī)系統(tǒng)及網(wǎng)絡(luò)設(shè)備。當(dāng)網(wǎng)卡或者主機(jī)系統(tǒng)接收到的數(shù)據(jù)報(bào)文為網(wǎng)卡未知數(shù)據(jù)報(bào)文時(shí),對(duì)所述網(wǎng)卡未知數(shù)據(jù)報(bào)文進(jìn)行解析,生成新的策略條目,并將所述新的策略條目更新到所述主機(jī)策略表和所述網(wǎng)卡策略表中。本發(fā)明對(duì)含新的私有或標(biāo)準(zhǔn)協(xié)議頭Tag的報(bào)文,只需更新對(duì)所述報(bào)文進(jìn)行解析的功能模塊,使其能夠處理該類(lèi)報(bào)文并下發(fā)新的策略條目至主機(jī)策略表及網(wǎng)卡策略表中,而網(wǎng)卡無(wú)需變動(dòng),從而實(shí)現(xiàn)了網(wǎng)卡卸載功能的動(dòng)態(tài)擴(kuò)展。
文檔編號(hào)H04L29/08GK103139253SQ20111038926
公開(kāi)日2013年6月5日 申請(qǐng)日期2011年11月30日 優(yōu)先權(quán)日2011年11月30日
發(fā)明者楊小華, 孫福清, 王云貴 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1