欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種處理報文的方法和網(wǎng)絡(luò)設(shè)備的制作方法

文檔序號:7687102閱讀:132來源:國知局

專利名稱::一種處理報文的方法和網(wǎng)絡(luò)設(shè)備的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),特別涉及一種處理報文的方法和網(wǎng)絡(luò)設(shè)備。技術(shù)背景套接口(Socket)是目前進程之間相互訪問的最廣泛的實現(xiàn)方法,其主要功能是將一個進程發(fā)送的與協(xié)議有關(guān)的報文映射到指定的另一個進程中去。例如,網(wǎng)絡(luò)設(shè)備接收到報文后,如果該報文是發(fā)送給該網(wǎng)絡(luò)設(shè)備的,則需要通過與該報文的協(xié)議類型對應(yīng)的Socket將該報文上送給網(wǎng)絡(luò)設(shè)備的應(yīng)用程序。目前Socket主要分為四種傳輸控制協(xié)議(TCP)Socket、用戶數(shù)據(jù)氺艮協(xié)議(UDP)Socket、原始(RAW)IPSocket以及原始鏈接(RAWLink)Socket。其中,TCPSocket和UDPSocket通過才艮文的源地址、目的地址、源端口號和目的端口號進行區(qū)分、RAWIPSocket通過寺艮文的源地址、目的地址以及IP協(xié)議號進行區(qū)分、RAWLinkSocket通過報文的接口索引以及鏈路層目的地址進行區(qū)分。在此,將報文中用于區(qū)分Socket類型的信息稱為協(xié)議相關(guān)信息。每一種Socket根據(jù)具體協(xié)議的不同可以包含多個Socket,例如,對于RawIPSocket可以包含針對開^:式最短^^徑優(yōu)先(OSPF)協(xié)i義的Socket、針對互聯(lián)網(wǎng)控制信息協(xié)議(ICMP)的Socket、針對互聯(lián)網(wǎng)組管理協(xié)議(IGMP)的Socket、和針對獨立組播(PIM)協(xié)議的Socket等。每一種具體的協(xié)議對應(yīng)一個Socket,當網(wǎng)絡(luò)設(shè)備接收到報文后,會根據(jù)該報文的具體協(xié)議選4奪對應(yīng)的Socket,并將該報文送入該Socket的緩存區(qū),由該Socket通知相應(yīng)的應(yīng)用程序來讀取報文。由于現(xiàn)有技術(shù)中,一種具體協(xié)議僅對應(yīng)一個Socket,接收到該具體協(xié)議的報文后,均將該具體協(xié)議的報文送入同一個Socket的緩存區(qū),例如,將接收到的所有OSPF才艮文都送入與OSPF協(xié)議對應(yīng)的Socket的緩存區(qū)。然而,一種具體協(xié)議存在不同子類型的報文,其功能和重要性是不同的,例如OSPF協(xié)議報文分為5種子類型的報文,即?;?hello)報文、數(shù)據(jù)庫描述(DD)報文、請求(Request)報文、更新(Update)報文以及響應(yīng)(Ack)報文,其中,hello報文用于發(fā)現(xiàn)及維持鄰居關(guān)系,其優(yōu)先級遠遠高于其它子類型的報文,但是,由于同一種具體協(xié)議所有子類型的報文都被送至同一Socket緩存區(qū),則Socket緩存區(qū)的溢出可能會導(dǎo)致重要的hello報文丟失,也可能會因為報文通信量很大而導(dǎo)致重要的hello報文無法及時處理,從而造成鄰居關(guān)系中斷、業(yè)務(wù)無法進行等嚴重后果。
發(fā)明內(nèi)容本發(fā)明提供了一種處理報文的方法和網(wǎng)絡(luò)設(shè)備,能夠避免將同一具體協(xié)議的所有報文放入同一Socket緩存區(qū)所造成的重要報文丟失或無法及時處理。一種處理凈艮文的方法,針對同一具體協(xié)-漢創(chuàng)建多個套4^口Socket,將每個Socket與該具體協(xié)議的子類型進行綁定,該方法包括網(wǎng)絡(luò)設(shè)備接收到報文后,根據(jù)該報文攜帶的具體協(xié)議標識和子類型標識,確定與該具體協(xié)-漢的子類型綁定的Socket,并將該凈艮文送入該Socket的緩存區(qū)。一種網(wǎng)絡(luò)設(shè)備,其特征在于,該網(wǎng)絡(luò)設(shè)備包括報文接收單元、Socket確定單元,Socket,各Socket的ll存區(qū);所述報文接收單元,用于接收報文;所述Socket確定單元,用于根據(jù)所述報文攜帶的具體協(xié)議標識和子類型標識,確定與該具體協(xié)議的子類型綁定的Socket,并將該報文提供給所述確定的Socket;所述Socket,用于將所述報文送入自身的緩存區(qū);所述Socket的緩存區(qū),用于緩存所述Socket發(fā)送的報文。由以上技術(shù)方案可以看出,由以上描述可以看出,本發(fā)明提供的處理報文的方法和網(wǎng)絡(luò)設(shè)備,針對同一具體協(xié)議創(chuàng)建多個Socket,將每個Socket與該具體協(xié)議的子類型進行綁定,網(wǎng)絡(luò)設(shè)備接收到報文后,根據(jù)該報文攜帶的具體協(xié)議標識和子類型標識,確定與該具體協(xié)議的子類型綁定的Socket,并將該凈艮文送入該Socket的緩存區(qū)。通過這種方法和網(wǎng)絡(luò)設(shè)備可以將一種具體協(xié)議中重要的子類型的報文送入與該具體協(xié)議子類型綁定的Socket,即將該重要子類型的報文送入單獨的Socket緩存區(qū),而不會因為其它報文的通信量過多而對該重要子類型的報文造成影響,使得應(yīng)用程序可以對該重要子類型的Socket緩存區(qū)進行優(yōu)先讀取,避免了重要子類型報文的丟失或無法及時處理,保證了網(wǎng)絡(luò)系統(tǒng)的穩(wěn)定性。圖1為OSPF協(xié)議的報文頭格式;圖2為本發(fā)明實施例提供的方法流程圖;圖3為本發(fā)明實施例提供的網(wǎng)絡(luò)設(shè)備結(jié)構(gòu)圖。具體實施方式為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述。本發(fā)明提供的方法主要包括同一具體協(xié)議包含多個Socket,每個Socket與該具體協(xié)議的子類型進行綁定;接收到報文后,根據(jù)該報文攜帶的具體協(xié)議標識和子類型標識,確定與該具體協(xié)議的子類型對應(yīng)的Socket,并將該報文送入該Socket的緩存區(qū)。本發(fā)明提供的方法可以預(yù)先根據(jù)實際需要,針對同一具體協(xié)議創(chuàng)建多個Socket,分別和該具體協(xié)議的子類型進行綁定,用于接收該具體協(xié)議的子類型的報文。例如,可以針對OSPF協(xié)議創(chuàng)建5個Socket,分別與hello類型、DD類型、Update類型、Request類型以及Ack類型進行綁定,即分別用于接收hello報文、DD報文、Update報文、Request報文以及Ack報文;如果實際只需要對hello報文進行重點保護,也可以針對OSPF協(xié)議創(chuàng)建2個Socket,其中1個與hello類型進行綁定,用于接收hello報文,另1個與其它子類型進行綁定,用于接收其它子類型的報文;當然,也可以根據(jù)實際需要采用其它的創(chuàng)建方式。由于針對不同的具體協(xié)議,報文攜帶該具體協(xié)議的子類型標識的位置和字段長度可能并不相同,因此,可以預(yù)先針對各Socket設(shè)置其對應(yīng)的具體協(xié)議的子類型在報文中攜帶的位置信息、子類型字段長度信息,以及該子類型標識。以便于在接收到報文時,可以根據(jù)針對該Socket設(shè)置的位置和長度,從該報文的相應(yīng)字段中獲取子類型標識,從而判斷該報文的子類型是否與該Socket綁定的子類型匹配。在選擇與該具體協(xié)議的子類型對應(yīng)的Socket可以包括網(wǎng)絡(luò)設(shè)備根據(jù)該報文的目的地址信息確定該報文是否發(fā)送給自身,如果否,則將該報文轉(zhuǎn)發(fā)給其它網(wǎng)絡(luò)設(shè)備,如果是,則選擇與該具體協(xié)議的子類型對應(yīng)的Socket。選擇與該具體協(xié)議的子類型對應(yīng)的Socket可以包括根據(jù)該報文的協(xié)議相關(guān)信息,確定使用的Socket類型;獲取該報文攜帶的具體協(xié)議標識和子類型標識,在確定的Socket類型中選擇與該具體協(xié)議的子類型綁定的Socket。也可以不對Socket類型進行區(qū)分,對該網(wǎng)絡(luò)設(shè)備中的Socket逐一進行匹配,選擇與該報文的具體協(xié)議的子類型綁定的Socket。在確定的Socket類型中選擇與該具體協(xié)議的子類型綁定的Socket可以采用逐一匹配的方法,即在該Socket類型包括的多個Socket中,從第一個Socket開始,判斷當前Socket是否與該具體協(xié)議的子類型匹配,如果不匹配,則選擇下一個Socket判斷是否與該具體協(xié)議的子類型匹配,直至確定與該具體協(xié)i義的子類型匹配的Socket。下面以O(shè)SPF協(xié)議才艮文為例,舉一個具體的實施例對該處理報文的方法進行詳細描述。在該實施例中,根據(jù)實際需求,需要對hello報文進行重點保護,來防止hello報文溢出和不能及時處理,其它報文不做重點保護,因此,預(yù)先在網(wǎng)絡(luò)設(shè)備中針對OSPF協(xié)議創(chuàng)建了2個Socket,其中1個Socket與OSPF協(xié)議的hello類型進行綁定,另一個Socket與OSPF協(xié)議的其它類型進行綁定,即與DD類型、Update類型、Request類型以及Ack類型進行綁定。并且,針對該OSPF協(xié)議的2個Socket,設(shè)置其對應(yīng)的OSPF的子類型在報文中的位置信息、子類型字段長度信息以及與該Socket綁定的子類型的標識信息。從該寺艮文的IP頭中可以獲取該報文的IP協(xié)議號,例如,OSPF對應(yīng)的IP協(xié)議號為89;該報文對應(yīng)的OSPF協(xié)議的報文頭格式可以如圖1所示,其中,報文頭的第1個字節(jié)開始是IP版本(Version)字段,用于攜帶協(xié)議版本信息。報文頭的第2個字節(jié)開始為子類型(Type)字段,該Type字段用于攜帶該報文的子類型標識,該Type字段的長度為1個字節(jié)。該子類型的標識可以如表1所示,表1為Type字段中的標識與子類型的對應(yīng)關(guān)系。表1<table>tableseeoriginaldocumentpage9</column></row><table>經(jīng)過上述設(shè)置后,網(wǎng)絡(luò)設(shè)備接收到報文時,可以按照圖2所示的流程進行該報文的處理,圖2為本發(fā)明實施例提供的方法流程圖,如圖2所示,該方法可以包括以下步驟步驟201:網(wǎng)絡(luò)設(shè)備接收到報文后,獲取該報文的協(xié)議相關(guān)信息。該報文的協(xié)議相關(guān)信息可以包括源IP地址、目的IP地址、IP協(xié)議號,源端口號、目的端口號、接口索引或者鏈路層目的地址等信息。步驟202:根據(jù)該報文的協(xié)議相關(guān)信息中的目的地址信息,判斷該報文是否是發(fā)送給該網(wǎng)絡(luò)設(shè)備的,如果是,則繼續(xù)執(zhí)行步驟203,否則,轉(zhuǎn)發(fā)該報文。步驟203:根據(jù)該報文的IP協(xié)議號確定該報文使用的Socket類型為RAWIP類型。本步驟中,可以根據(jù)該報文的IP頭攜帶的IP協(xié)議號確定該報文使用的Socket類型,該實施例中,根據(jù)該報文的IP頭攜帶的IP協(xié)議號89可以確定該報文為OSPF協(xié)議報文,使用的Socket類型為RAWIPSocket。步驟204:判斷該網(wǎng)絡(luò)設(shè)備是否存在RAWIP類型的Socket,如果是,執(zhí)行步驟205;否則丟棄該報文。本步驟中,如果該網(wǎng)絡(luò)設(shè)備中并沒有創(chuàng)建RAWIP類型的Socket,則無法對該接收到的報文進行處理,因此,可以直接將該報文丟棄。步驟205:取RAWIP類型中的第1個Socket。在確定與該^艮文的子類型匹配的Socket時,可以在一種類型的Socket中按照一定的順序,采用逐一匹配的方式進行確定。步驟206:判斷該Socket綁定的IP協(xié)議號是否與該報文攜帶的IP協(xié)議號匹配,如果是,則執(zhí)行步驟207;否則執(zhí)行步驟211。步驟207:判斷該Socket是否與OSPF協(xié)議的子類型進行綁定,如果是,執(zhí)行步驟208;否則,執(zhí)行步驟210。由于有些具體協(xié)議可能不需要具體區(qū)分子類型,即有些具體協(xié)議中的Socket并沒有與子類型進行綁定,此時,與現(xiàn)有技術(shù)中選取Socket的方法相同,因此,本步驟中,如果該Socket并沒有與OSPF協(xié)議的子類型進行綁定,則直接選取該Socket,并將報文送至該Socket的緩存區(qū),而無需獲取該報文的子類型標識,從而可以節(jié)約流程。步驟208:根據(jù)針對該Socket設(shè)置的子類型在報文中的位置信息、長度信息,從該報文相應(yīng)的字段中獲取該報文的子類型標識。本實施例中,從報文頭的第2個字節(jié)開始長度為1個字節(jié)的字段中獲取該報文攜帶的子類型標識。步驟209:判斷該報文攜帶的子類型標識與該Socket綁定的子類型標識信息是否匹配,如果是,執(zhí)行步驟210;否則,執(zhí)行步驟211。假設(shè)該接收到的報文的子類型標識為1,即hello報文,如果該Socket綁定的子類型為2、3、4和5,即其它子類型的報文,則該報文攜帶的子類型標識與該Socket綁定的子類型標識信息不匹配,如果該Socket綁定的子類型為也為1,即hello報文,則該報文攜帶的子類型標識與該Socket綁定的子類型標識信息匹配。步驟210:將該報文送入該Socket的緩存區(qū),結(jié)束流程。步驟211:判斷RAWIP類型中是否還有下一個Socket,如果是,執(zhí)行步驟212;否則,丟棄該報文。如果RAWIP類型中沒有下一個Socket,說明網(wǎng)絡(luò)節(jié)點中沒有與該報文子類型匹配的Socket,網(wǎng)絡(luò)節(jié)點無法處理該報文,因此,可以丟棄該報文。步驟212:在RAWIP類型中取下一個Socket,轉(zhuǎn)至4丸行步驟206。采用圖2所示的流程,即可將接收到的OSPF協(xié)議的hello報文放入單獨的一個Socket緩存區(qū),而不會受到其它子類型報文量過多的影響,也可以通知應(yīng)用程序優(yōu)先對該存放hello寺艮文的Socket緩存區(qū)進行讀取,乂人而4吏得hello報文能夠得以優(yōu)先處理。以上為對本發(fā)明實施例提供的方法的描述,下面對本發(fā)明實施例提供的網(wǎng)絡(luò)設(shè)備進行詳細描述。圖3為本發(fā)明實施例提供的網(wǎng)絡(luò)設(shè)備結(jié)構(gòu)圖,如圖3所示,該網(wǎng)絡(luò)設(shè)備包括報文接收單元300、Socket確定單元310,Socket320,各Socket的緩存區(qū)330。報文接收單元300,用于接收報文。Socket確定單元310,用于根據(jù)報文攜帶的具體協(xié)議標識和子類型標識,確定與該具體協(xié)議的子類型綁定的Socket320,并將該報文提供給確定的Socket320。Socket320,用于將報文送入自身的緩存區(qū)330。Socket的緩存區(qū)330,用于緩存Socket320發(fā)送的報文。該網(wǎng)絡(luò)設(shè)備中針對同一具體協(xié)議創(chuàng)建了多個Socket,每個Socket均與該具體協(xié)議的子類型進行綁定。另外,該網(wǎng)絡(luò)設(shè)備還可以包括第一判斷單元340和^^文發(fā)送單元350。第一判斷單元340,用于根據(jù)接收到的報文中攜帶的目的地址信息,判斷該報文是否發(fā)送給該網(wǎng)絡(luò)設(shè)備,如果是,則將該報文發(fā)送給Socket確定單元310;否則,將該報文發(fā)送給報文發(fā)送單元350。報文發(fā)送單元350,用于將報文發(fā)送給其它網(wǎng)絡(luò)設(shè)備。其中,Socket確定單元310可以包括類型確定子單元311和Socket確定子單元312。類型確定子單元311,用于根據(jù)報文的協(xié)議相關(guān)信息,確定使用的Socket類型。Socket確定子單元312,用于根據(jù)報文攜帶的具體協(xié)議標識和子類型標識,在確定的Socket類型中選^^與該具體協(xié)-漢的子類型綁定的Socket320。Socket確定單元還可以包括第二判斷單元313和第一報文丟棄單元314。第二判斷單元313,用于判斷該網(wǎng)絡(luò)設(shè)備中是否存在類型確定子單元311確定的Socket類型,如果是,則觸發(fā)Socket確定子單元312選4,與該具體協(xié)議的子類型綁定的Socket,否則禁止Socket確定子單元312選擇與該具體協(xié)議的子類型綁定的Socket,并向第一報文丟棄單元314發(fā)送丟棄通知。第一報文丟棄單元314,用于接收到丟棄通知后,丟棄報文。其中,Socket確定子單元312包括第一Socket選取模塊315、判斷模塊316、報文提供模塊317和第二Socket選取模塊318。第一Socket選取模塊315,用于在類型確定子單元311確定的Socket類型中選取第一個Socket,并將該選取的Socket的綁定信息提供給判斷模塊316。判斷模塊316,用于根據(jù)接收到的Socket的綁定信息,判斷該Socket是否與報文的具體協(xié)議的子類型匹配,如果是,則向報文提供模塊317發(fā)送提供通知;否則,向第二Socket選取模塊318發(fā)送選取通知。報文提供模塊317,用于接收到提供通知后,將報文提供給當前選取的Socket。第二Socket選取模塊318,用于接收到選取通知后,選取下一個Socket,并將該Socket的綁定信息提供給判斷模塊316。其中,判斷模塊316可以包括第一判斷子模塊3161和第二判斷子模塊3162。第一判斷子模塊3161,用于根據(jù)接收到的Socket的綁定信息,判斷該Socket綁定的具體協(xié)議是否與報文攜帶的具體協(xié)議標識匹配,如果否,向第二Socket選取模塊發(fā)送選取通知;如果是,則將Socket的綁定信息提供給第二判斷子模塊3162。第二判斷子模塊3162,用于根據(jù)Socket的綁定信息,判斷該Socket綁定的具體協(xié)議的子類型是否與該報文攜帶的子類型標識匹配,如果是,則向報文提供模塊317發(fā)送提供通知,否則,向第二Socket選取模塊318發(fā)送選取通知。另外,判斷模塊還可以包括第三判斷子模塊3163,用于判斷第一Socket選取模塊315或第二Socket選取模塊318提供的Socket的綁定信息,判斷該Socket是否綁定了子類型,如果是,則將該Socket的綁定信息提供給第一判斷子模塊3161,否則,向報文提供單元317發(fā)送提供通知。此處,第三判斷子模塊3163的設(shè)置是由于有些具體協(xié)議可能不需要具體區(qū)分子類型,即有些具體協(xié)議中的Socket并沒有與子類型進行綁定,此時,與現(xiàn)有技術(shù)中選取Socket的方法相同,因此,第三判斷子模塊3163在判斷該Socket沒有綁定子類型時,直接向報文提供單元317發(fā)送提供通知;此時報文提供單元317將報文^是供給該Socket。上述的第二Socket選取模塊318包括第四判斷子模塊3181、第二Socket選取子模塊3182和第二報文丟棄子模塊3183。第四判斷子模塊3181,用于接收到選取通知后,判斷該具體類型中是否還存在下一個Socket,如果是,則將選取通知發(fā)送給第二Socket選取子模塊3182,否則,向第二報文丟棄子模塊3183發(fā)送丟棄通知。第二Socket選取子模塊3182,用于接收到選取通知后,選取下一個Socket,并將該Socket的綁定信息提供給判斷模塊316。第二報文丟棄子模塊3183,用于接收到丟棄通知后,丟棄報文。由以上描述可以看出,本發(fā)明實施例提供的處理報文的方法和網(wǎng)絡(luò)設(shè)備,針對同一具體協(xié)議創(chuàng)建多個Socket,將每個Socket與該具體協(xié)議的子類型進行綁定,網(wǎng)絡(luò)設(shè)備接收到報文后,根據(jù)該報文攜帶的具體協(xié)議標識和子類型標識,確定與該具體協(xié)議的子類型綁定的Socket,并將該凈艮文送入該Socket的緩存區(qū)。通過這種方法和網(wǎng)絡(luò)設(shè)備可以將一種具體協(xié)議中重要的子類型的報文送入與該具體協(xié)議子類型綁定的Socket,即將該重要子類型的報文送入單獨的Socket緩存區(qū),而不會因為其它報文的通信量過多而對該重要子類型的報文造成影響,使得應(yīng)用程序可以對該重要子類型的Socket緩存區(qū)進行優(yōu)先讀取,避免了重要子類型報文的丟失或無法及時處理,保證了網(wǎng)絡(luò)系統(tǒng)的穩(wěn)定性。另外,利用本發(fā)明實施例提供的方法和網(wǎng)絡(luò)設(shè)備,可以將同一種具體協(xié)議的不同子類型送入不同的Socket緩存區(qū),并可以通知應(yīng)用程序?qū)υ摬煌琒ocket緩存區(qū)中的報文進行不同的處理,例如,可以設(shè)定不同的優(yōu)先級,對不同Socket緩存區(qū)中的報文按照優(yōu)先級進行處理。本發(fā)明實施例提供的方法和網(wǎng)絡(luò)設(shè)備,并不對具體協(xié)議進行限定,即可以適用TCP、UDP、RAWIP、RAWLink等各種具體協(xié)議,具有很強的可擴展性。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。權(quán)利要求1、一種處理報文的方法,其特征在于,針對同一具體協(xié)議創(chuàng)建多個套接口Socket,將每個Socket與該具體協(xié)議的子類型進行綁定,該方法包括網(wǎng)絡(luò)設(shè)備接收到報文后,根據(jù)該報文攜帶的具體協(xié)議標識和子類型標識,確定與該具體協(xié)議的子類型綁定的Socket,并將該報文送入該Socket的緩存區(qū)。2、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定與該具體協(xié)議的子類型綁定的Socket包括根據(jù)所述報文的協(xié)議相關(guān)信息,確定該報文使用的Socket類型;根據(jù)所述報文攜帶的具體協(xié)議標識和子類型標識,在確定的Socket類型對應(yīng)的Socket中選擇與該具體協(xié)-漢的子類型綁定的Socket。3、根據(jù)權(quán)利要求2所述的方法,其特征在于,在確定的Socket類型對應(yīng)的Socket中選擇與該具體協(xié)議的子類型綁定的Socket包括在所述確定的Socket類型對應(yīng)的Socket中選取第一個Socket;該Socket為與該具體協(xié)i^的子類型綁定的Socket;否則,選:f又下一個Socket,重新執(zhí)行所述判斷該選取的Socket是否與所述具體協(xié)議的子類型匹配的步驟,直至確定與該具體協(xié)議的子類型綁定的Socket。4、根據(jù)權(quán)利要求3所述的方法,其特征在于,所述判斷該選取的Socket是否與所述具體協(xié)議的子類型匹配包括判斷所述選取的Socket綁定的具體協(xié)議是否與該報文攜帶的具體協(xié)議標識匹配,如果否,則執(zhí)行所述選^f又下一個Socket的步驟;如果是,則進一步判斷所述選取的Socket綁定的具體協(xié)議的子類型是否與該報文攜帶的子類型標識匹配,如果是,則確定該選取的Socket與所述具體協(xié)議的子類型匹配,如果否,則執(zhí)行所述選取下一個Socket的步驟。5、根據(jù)權(quán)利要求4所迷的方法,其特征在于,在判斷所述選取的Socket綁定的具體協(xié)議的子類型是否與該才艮文攜帶的子類型標識匹配之前還包括判斷所述選取的Socket是否綁定了子類型,如果是,則執(zhí)行判斷所述選取的Socket綁定的具體協(xié)議的子類型是否與該報文攜帶的子類型標識匹配,如果否,則選取該Socket,并將所述報文送入該Socket的緩存區(qū)。6、根據(jù)權(quán)利要求4所述的方法,其特征在于,判斷所述選取的Socket綁定的具體協(xié)議的子類型是否與該報文攜帶的子類型標識匹配包括根據(jù)預(yù)先針對所述Socket設(shè)置的子類型在報文中的位置信息和長度信息,從所述報文的相應(yīng)字段中獲取所述報文的子類型標識;判斷所述獲取的子類型標識與所述Socket綁定的具體協(xié)議的子類型是否匹配。7、一種網(wǎng)絡(luò)設(shè)備,其特征在于,該網(wǎng)絡(luò)設(shè)備包括報文接收單元、Socket確定單元,Socket,各Socket的緩存區(qū);所述報文接收單元,用于接收報文;所述Socket確定單元,用于根據(jù)所述報文攜帶的具體協(xié)議標識和子類型標識,確定與該具體協(xié)議的子類型綁定的Socket,并將該報文提供給所述確定的Socket;所述Socket,用于將所述報文送入自身的緩存區(qū);所述Socket的緩存區(qū),用于緩存所述Socket發(fā)送的報文。8、根據(jù)權(quán)利要求7所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述Socket確定單元包括類型確定子單元和Socket確定子單元;所述類型確定子單元,用于根據(jù)所述報文的協(xié)議相關(guān)信息,確定該報文使用的Socket類型;所述Socket確定子單元,用于根據(jù)所述報文攜帶的具體協(xié)議標識和子類型標識,在確定的Socket類型對應(yīng)的Socket中選擇與該具體協(xié)議的子類型綁定的Socket。9、根據(jù)權(quán)利要求8所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述Socket確定子單元包括第一Socket選取模塊、判斷模塊、報文提供模塊和第二Socket選取模塊;所述第一Socket選取模塊,用于在所述類型確定子單元確定的Socket類型對應(yīng)的Socket中選取第一個Socket,并將該選耳又的Socket的綁定信息提供給所述判斷模塊;所述判斷模塊,用于根據(jù)接收到的Socket的綁定信息,判斷該Socket是否與所述報文的具體協(xié)議的子類型匹配,如果是,則向所述報文提供模塊發(fā)送提供通知;否則,向所述第二Socket選取模塊發(fā)送選取通知;所述報文提供模塊,用于接收到提供通知后,將所述報文提供給當前選取的Socket;所述第二Socket選取模塊,用于接收到選取通知后,選取下一個Socket,并將該Socket的綁定信息提供給所述判斷模塊。10、根據(jù)權(quán)利要求9所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述判斷模塊包括第一判斷子模塊和第二判斷子模塊;所述第一判斷子;f莫塊,用于根據(jù)接收到的Socket的綁定信息,判斷該Socket綁定的具體協(xié)議是否與所述報文攜帶的具體協(xié)議標識匹配,如果否,向所述第二Socket選取模塊發(fā)送選取通知;如果是,則將所述Socket的綁定信息提供給第二判斷子模塊;所述第二判斷子模塊,用于根據(jù)所述Socket的綁定信息,判斷該Socket綁定的具體協(xié)議的子類型是否與該報文攜帶的子類型標識匹配,如果是,則向所述報文提供模塊發(fā)送提供通知,否則,向所述第二Socket選取模塊發(fā)送選取通知。11、根據(jù)權(quán)利要求10所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述判斷模塊還包括第三判斷子模塊,用于判斷所述第一Socket選取模塊或第二Socket選取模塊提供的Socket的綁定信息,判斷該Socket是否綁定了子類型,如果是,則將該Socket的綁定信息提供給所述第一判斷子模塊,否則,向所迷報文提供單元發(fā)送提供通知。全文摘要本發(fā)明提供了一種處理報文的方法和網(wǎng)絡(luò)設(shè)備,針對同一具體協(xié)議創(chuàng)建多個套接口(Socket),將每個Socket與該具體協(xié)議的子類型進行綁定,網(wǎng)絡(luò)設(shè)備接收到報文后,根據(jù)該報文攜帶的具體協(xié)議標識和子類型標識,確定與該具體協(xié)議的子類型綁定的Socket,并將該報文送入該Socket的緩存區(qū)。本發(fā)明的方法和網(wǎng)絡(luò)設(shè)備可以將一種具體協(xié)議中重要的子類型的報文送入單獨的Socket緩存區(qū),而不會因為其它報文的通信量過多而對該重要子類型的報文造成影響,應(yīng)用程序可以對該重要子類型的Socket緩存區(qū)進行優(yōu)先讀取,避免了重要子類型報文的丟失或無法及時處理,保證了網(wǎng)絡(luò)系統(tǒng)的穩(wěn)定性。文檔編號H04L12/56GK101222443SQ20081005720公開日2008年7月16日申請日期2008年1月30日優(yōu)先權(quán)日2008年1月30日發(fā)明者鋒張,林長望,章海鋒,錢雪彪申請人:杭州華三通信技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
东安县| 寿阳县| 玉屏| 郁南县| 神池县| 大厂| 甘洛县| 洱源县| 资溪县| 汨罗市| 和静县| 永年县| 韶关市| 思南县| 通渭县| 临泉县| 龙川县| 伊川县| 钦州市| 东丽区| 长岛县| 策勒县| 宁陵县| 伊宁市| 南川市| 恩施市| 潮州市| 都昌县| 周至县| 长治县| 寻乌县| 泾川县| 松滋市| 临沧市| 宁河县| 无锡市| 济南市| 盐城市| 咸阳市| 手游| 惠来县|