3是本發(fā)明實施例提供的另一種報文傳輸節(jié)點的結構示意圖;
[0050]圖14是本發(fā)明實施例提供的另一種報文傳輸節(jié)點的結構示意圖。
【具體實施方式】
[0051]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0052]在本發(fā)明實施例中,業(yè)務報文具體可以是兩節(jié)點(例如:當前節(jié)點和下一節(jié)點)之間傳輸協(xié)議封裝的原始報文,例如:業(yè)務報文可以是因特網(wǎng)協(xié)議(英文=InternetProtocol,縮寫:IP)報文,或者業(yè)務報文可以是以太網(wǎng)(英文:Ethernet)報文。另外,當兩節(jié)點之間通過隧道傳輸報文時,上述業(yè)務報文具體可以是對上述原始報文添加隧道封裝后的報文,例如:多協(xié)議標簽交換(英文:Mult1-protocol Label Switch,縮寫:MPLS)隧道封裝報文或者IP隧道封裝報文或者虛擬可擴展VLAN (英文:Virtual Extensible VLAN,縮寫:VXLAN)隧道封裝報文。
[0053]本發(fā)明實施例中,對節(jié)點不作限定,該節(jié)點具體可以是虛擬的節(jié)點,也可以是物理硬件節(jié)點。另外,節(jié)點具體可以是增值業(yè)務設備或者流分發(fā)節(jié)點等。
[0054]請參閱圖1,圖1是本發(fā)明實施例提供的一種報文傳輸方法的流程示意圖,如圖1所示,包括以下步驟:
[0055]101、當前節(jié)點獲得包括UDP頭和上下文tag的添加報文,其中,所述添加報文是在業(yè)務報文上添加所述UDP和上下文tag所得到的報文;所述添加報文的報文頭中的協(xié)議類型為UDP,所述UDP頭中的目的端口號用于標識所述上下文tag ;所述上下文tag包括路徑信息和協(xié)議類型,所述路徑信息用于表示所述添加報文的傳輸路徑,所述上下文tag包括的協(xié)議類型為所述業(yè)務報文的載荷的協(xié)議類型。
[0056]可選的,上述添加報文具體可以是在業(yè)務報文中除報文頭和載荷之外的任意位置中添加上述UDP頭和上下文tag得到的報文。例如:在報文頭和載荷之間添加上述UDP頭和上下文tag。
[0057]可選的,當前節(jié)點獲取上述添加報文具體可以是當前節(jié)點在上述業(yè)務報文上添加上述UDP頭和上下文tag得到所述添加報文,或者可以是當前節(jié)點接收上述傳輸路徑中的當前節(jié)點的上一跳發(fā)送的上述添加報文。
[0058]可選的,上述傳輸路徑具體可以是根據(jù)上述業(yè)務報文需要經(jīng)過的業(yè)務處理類型和業(yè)務處理順序而設置的傳輸路徑,例如,上述業(yè)務報文需要經(jīng)過過濾處理、入侵檢測和負載均衡處理,那么上述傳輸路徑可以包括:流分發(fā)節(jié)點、防火墻、IDS和負載均衡器。另外,上述傳輸路徑還可以是根據(jù)業(yè)務報文要求的業(yè)務處理性能規(guī)格設置的,例如:業(yè)務報文所在的系統(tǒng)中包括多個防火墻,且這多個防火墻的性能規(guī)格不同,這樣就可以根據(jù)業(yè)務報文要求的業(yè)務處理性能規(guī)格,從這多個防火墻中選擇一個性能規(guī)格滿足業(yè)務報文要求的業(yè)務處理性能規(guī)格的防火墻。上述業(yè)務報文需要經(jīng)過的業(yè)務處理類型和業(yè)務處理順序以及業(yè)務報文要求的業(yè)務處理性能規(guī)格可以統(tǒng)稱為業(yè)務需求。所述業(yè)務需求具體可以是用戶通過操作設定的。例如,管理節(jié)點或者流分發(fā)節(jié)點接收用戶輸入的業(yè)務需求生成上述傳輸路徑,其中,上述管理節(jié)點為用于管理特定網(wǎng)絡系統(tǒng)中所有增值業(yè)務設備和流分發(fā)節(jié)點的設備。
[0059]可選的,上述UDP頭和上下文tag在上述添加報文中的位置具體可以是上下文tag位于UDP頭之后。由于上下文tag加在UDP頭后,可以避免地址不是上述業(yè)務報文的目的地址的當前節(jié)點將所述業(yè)務報文捕獲并上送CPU處理。
[0060]可選的,上述添加報文的報文頭中的協(xié)議類型為UDP,這樣通過該報文頭就可以知道添加的UDP頭的協(xié)議類型,以根據(jù)該協(xié)議類型(即UDP協(xié)議)讀取該UDP頭。上述上下文tag包括的協(xié)議類型為所述業(yè)務報文的載荷的協(xié)議,這樣當當前節(jié)點需要處理所述業(yè)務報文的載荷時,就可以根據(jù)該協(xié)議類型字段的內(nèi)容解析業(yè)務報文的載荷。
[0061]102、當前節(jié)點從所述上下文tag中獲取所述路徑信息,并根據(jù)所述路徑信息處理所述添加報文。
[0062]可選的,當前節(jié)點獲取到上述添加報文后,就可以對該添加報文進行解封裝,以得至IJ上述目的端口號,由于該目的端口是用于標識上述上下文tag的(例如:該目的端口標識上述上下文tag在添加報文的位置)。這樣當前節(jié)點就可以根據(jù)該目標端口號,讀取到上述上下文tag,再從該上下文tag中獲取到上述路徑信息。這樣當前節(jié)點就可以根據(jù)該路徑信息處理上述添加報文。其中,當前節(jié)點具體可以是將上述添加報文傳輸至下一節(jié)點;或者對上述業(yè)務報文的載荷進行增值業(yè)務處理(例如:過濾處理、入侵檢測和負載均衡處理),再將增值業(yè)務處理后的添加報文傳輸至下一節(jié)點;或者對上述業(yè)務報文的載荷進行增值業(yè)務處理(例如:過濾處理、入侵檢測和負載均衡處理),再去掉UDP頭和上下文tag,得到處理后的業(yè)務報文,然后再正常轉發(fā)。其中,當前節(jié)點與下一節(jié)點之間具體可以是通過隧道進行傳輸報文。由于添加報文與業(yè)務報文相比,載荷部分并沒有發(fā)生變化,因此,對業(yè)務報文的載荷進行增值業(yè)務處理,相當于對添加報文的載荷進行增值業(yè)務處理。
[0063]可選的,上述方法具體可以應用于流分發(fā)節(jié)點和增值業(yè)務處理設備。
[0064]上述技術方案中,當前節(jié)點獲取包括用戶UDP頭和上下文tag的添加報文,其中,所述添加報文是在業(yè)務報文上添加所述UDP和上下文tag所得到的報文;所述添加報文的報文頭中的協(xié)議類型為UDP,所述UDP頭包括目的端口號,所述目的端口號用于標識所述上下文tag ;所述上下文tag包括路徑信息和協(xié)議類型,所述路徑信息用于表示所述添加報文的傳輸路徑,所述上下文tag包括的協(xié)議類型為所述業(yè)務報文的載荷的協(xié)議類型;當前節(jié)點從所述上下文tag中獲取所述路徑信息,并根據(jù)所述路徑信息處理所述添加報文。這樣可以實現(xiàn)當前節(jié)點根據(jù)該傳輸路徑處理業(yè)務報文,這樣業(yè)務報文就不會傳輸至該業(yè)務報文不相關的設備,從而可以提高設備資源的利用率。
[0065]請參閱圖2,圖2是本發(fā)明實施例提供的另一種報文傳輸方法的流程示意圖,如圖2所示,包括以下步驟:
[0066]201、當前節(jié)點獲得包括UDP頭和上下文標簽tag的添加報文,其中,所述添加報文是在業(yè)務報文上添加所述UDP和上下文tag所得到的報文;所述添加報文的報文頭中的協(xié)議類型為UDP,所述UDP頭包括目的端口號,所述目的端口號用于標識所述上下文tag ;所述上下文tag包括路徑信息和協(xié)議類型,所述路徑信息用于表示所述添加報文的傳輸路徑,所述上下文tag包括的協(xié)議類型為所述業(yè)務報文的載荷的協(xié)議類型。
[0067]可選的,上述UDP頭中的源端口號可以為影響當前節(jié)點選擇到下一節(jié)點的路徑的因子之一;其中,所述源端口號為所述業(yè)務報文的載荷的協(xié)議頭通過特定運算得到的端口號,或者所述源端口號為預先設定的端口號。例如,上述業(yè)務報文為IP報文,上述源端口號就可以是IP報文的載荷的傳輸控制協(xié)議(英文!Transmiss1n Control Protocol,縮寫:TCP)頭或者用戶數(shù)據(jù)包協(xié)議(英文:User Datagram Protocol,縮寫:UDP)頭經(jīng)過哈希運算得到的端口號。上述載荷的協(xié)議為非TCP或者UDP時,上述源端口就可以采用一個固定的UDP端口號。
[0068]可選的,所述業(yè)務報文可以為非隧道封裝報文,所述添加報文具體可以為在所述業(yè)務報文的報文頭與載荷之間添加所述UDP頭和所述上下文tag的報文;另外,所述添加報文的報文頭中的協(xié)議類型為UDP,其中,該添加報文的報文頭為該業(yè)務報文的報文頭。例如:上述業(yè)務報文為IP報文,那么添加報文就是在該IP報文的IP頭和載荷之間添加上述UDP頭和上下文tag,該IP報文的IP頭中的協(xié)議類型為UDP,如圖3-1所示,在該IP報文的IP頭和載荷之間添加上述UDP頭和上下文tag。當上述業(yè)務報文為IP報文時,該報文的IP頭協(xié)議類型為UDP,而上述上下文tag包括的協(xié)議類型為該IP報文的載荷的協(xié)議。
[0069]可選的,上述業(yè)務報文可以為隧道封裝報文,且所述業(yè)務報文包括隧道頭和原始報文(例如:IP報文或者Ethernet報文),其中,所述隧道頭包含IP頭,所述添加報文具體可以為在所述隧道頭和原始報文之間添加所述UDP頭和所述上下文tag的報文;另外,所述添加報文的報文頭中的協(xié)議類型為UDP,其中,該添加報文的報文頭為該業(yè)務報文的隧道頭。例如:當前節(jié)點和上述下一節(jié)點之間通過IP隧道或者VXLAN隧道進行傳輸報文,即上述業(yè)務報文可以是IP隧道或者VXLAN隧道封裝報文。那么可以如圖3-2所示,在該隧道封裝報文的隧道頭和原始報文(例如:IP報文或者Ethernet報文)之間添加上述UDP頭和上下文tag。其中,當業(yè)務報文為IP隧道封裝報文時,該報文的隧道頭中的協(xié)議類型為UDP,上述上下文tag包括的協(xié)議類型為所述原始報文的協(xié)議(例如:IP或者Ethernet協(xié)議)。需要說明的是,包括IP隧道頭的隧道封裝報文并不等于IP隧道封裝,例如:包括IP隧道頭的隧道封裝報文可以是IP隧道封裝報文或者VXLAN隧道封裝報文。
[0070]可選的,上述業(yè)務報文可以為隧道封裝報文,且所述業(yè)務報文包括隧道頭和原始報文(例如:IP報文或者Ethernet報文),其中,所述隧道頭不包含IP頭,上述添加報文具體可以是在該業(yè)務報文包括的原始報文的報文頭與載荷之間添加所述UDP頭和所述上下文tag得到的報文。另外,所述添加報文的報文頭中的協(xié)議類型為UDP,其中,該添加報文的報文頭為該原始報文的報文頭。例如:當前節(jié)點和上述下一節(jié)點之間可以通過隧道(例如:MPLS隧道)進行傳輸報文,即上述業(yè)務報文就為隧道封裝報文(例如:MPLS隧道封裝報文),那么,所述添加報文可以為在原始報文的報文頭與載荷之間添加所述UDP頭和所述上下文tag的報文。其中,MPLS封裝報文的原始報文的報文頭的協(xié)議類型為UDP,上述上下文tag包括的協(xié)議類型為所述原始報文的載荷的協(xié)議類型。
[0071]可選的,上述上下文tag的結構可以如圖4所示,第O-第15位為長度(Length)字段、第16-第31位為協(xié)議類型(Protocol Type)字段,另外,上下文tag還包括至少一個選項(Opt1n)字段。例如??第32-第63位為Opt1n字段1,第64-第95位為Opt1n字段2等。其中,Length字段用于表示上下文tag的總長度,Protocol Type字段用于表示業(yè)務報文的載荷的協(xié)議類型。上述Opt1n字段的結構可以如圖5所示,其中,第16-23位為Opt1n Length字段,第24-31位為Opt1n Type字段,另外,Opt1n字段還包括Opt1n值(Value)字段,Opt1n Value字段的內(nèi)容隨Opt1n type不同而不同。其中,上述Opt1nLength字段用于表示Opt1n字段的總長度,Opt1n Type字段用于表示Opt1n字段的類型,Opt1n Value字段的結構可以如圖6-1所示,第O-第3位為路徑(Path) TTL,第4-第15位為保留字段,另外,Opt1n Value字段還包括Path ID字段,其中,Path TTL用于控制報文經(jīng)過的業(yè)務增值設備的數(shù)量,該Path TTL在流分發(fā)節(jié)點設置,每經(jīng)過一個增值業(yè)務設備則減1,如果減到0,則添加報文中的UDP頭和上下文tag被刪除,Path ID字段用于唯一標識一條傳輸路徑),Path ID字段具體可以是傳輸路徑的局部唯一的