国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      協(xié)議識別的方法和裝置的制作方法

      文檔序號:7554171閱讀:202來源:國知局
      專利名稱:協(xié)議識別的方法和裝置的制作方法
      技術領域
      本發(fā)明涉及通信領域,并且更具體地,涉及協(xié)議識別的方法和裝置。
      背景技術
      協(xié)議承載識別,也稱為L7+識別,是基礎L7 (7層)協(xié)議之上的進一步細分。隨著深度包檢測(Deep Packet Inspection,DPI)業(yè)務的發(fā)展,產品要求能夠對一些協(xié)議進行更細致的識別,如超文本傳輸協(xié)議(Hypertext Transfer Protocol,Http)。Http協(xié)議能夠承載其他應用,如用戶通過Http協(xié)議訪問Skype網站等等。產品希望能區(qū)分出這些信息,利用這些信息進行業(yè)務優(yōu)化,如針對制定套餐的用戶,提升其使用體驗。網絡運營商希望能夠實現(xiàn)對網絡用戶更加精細的控制,如實現(xiàn)根據(jù)內容計費、多種套餐服務制作,反病毒等。因此,需要給運營商提供數(shù)據(jù),以便于制定更好的管理策略。為了能夠識別這些應用,需要對一些基礎協(xié)議再進行深度識別,即為L7協(xié)議之上的L7+協(xié)議識別?,F(xiàn)有的L7+協(xié)議識別技術不能支持所有基礎協(xié)議的L7+識別,L7+識別性能無法得到保證。

      發(fā)明內容
      本發(fā)明實施例提供了一種協(xié)議識別的方法和裝置,能夠提升協(xié)議識別的性能。第一方面,提供了一種協(xié)議識別的方法,包括:確定數(shù)據(jù)包的協(xié)議的格式信息;根據(jù)該數(shù)據(jù)包的協(xié)議的格式信息,將該數(shù)據(jù)包分為多個部分;根據(jù)協(xié)議承載識別的規(guī)則對該數(shù)據(jù)包的多個部分進行協(xié)議承載識別。在第一種可能的實現(xiàn)方式中,根據(jù)協(xié)議承載識別的規(guī)則對該數(shù)據(jù)包的多個部分進行協(xié)議承載識別,包括:確定該規(guī)則對應的該數(shù)據(jù)包的部分;根據(jù)該規(guī)則和該規(guī)則對應的該數(shù)據(jù)包的部分,對該數(shù)據(jù)包的多個部分進行協(xié)議承載識別。結合第一方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,確定該規(guī)則對應的該數(shù)據(jù)包的部分,包括:根據(jù)配置的該規(guī)則的對應信息,確定該規(guī)則對應的該數(shù)據(jù)包的部分。結合第一方面的第一種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,確定該規(guī)則對應的該數(shù)據(jù)包的部分,包括:根據(jù)已有的識別結果,確定該規(guī)則對應的該數(shù)據(jù)包的部分。結合第一方面或第一方面的第一至三種可能的實現(xiàn)方式中的任一種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,確定數(shù)據(jù)包的協(xié)議的格式信息,包括:根據(jù)配置的各種協(xié)議的格式信息和該數(shù)據(jù)包的協(xié)議,確定該數(shù)據(jù)包的協(xié)議的格式信息。結合第一方面的第四種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,該配置的各種協(xié)議的格式信息包括按照字符串、長度或者邏輯區(qū)分不同部分的方式。結合第一方面的第四種可能的實現(xiàn)方式或第五種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,根據(jù)配置的各種協(xié)議的格式信息和該數(shù)據(jù)包的協(xié)議,確定該數(shù)據(jù)包的協(xié)議的格式信息,包括:解析用戶配置的各種協(xié)議的格式信息,根據(jù)各種協(xié)議的格式信息和該數(shù)據(jù)包的協(xié)議,確定該數(shù)據(jù)包的協(xié)議的格式信息。第二方面,提供了一種協(xié)議識別的裝置,包括:確定模塊,用于確定數(shù)據(jù)包的協(xié)議的格式信息;定界模塊,用于根據(jù)該數(shù)據(jù)包的協(xié)議的格式信息,將該數(shù)據(jù)包分為多個部分;識別模塊,用于根據(jù)協(xié)議承載識別的規(guī)則對該數(shù)據(jù)包的多個部分進行協(xié)議承載識別。在第一種可能的實現(xiàn)方式中,該識別模塊包括:確定單元,用于確定該規(guī)則對應的該數(shù)據(jù)包的部分;識別單元,用于根據(jù)該規(guī)則和該規(guī)則對應的該數(shù)據(jù)包的部分,對該數(shù)據(jù)包的多個部分進行協(xié)議承載識別。結合第二方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,該確定單元包括:第一確定子單元,用于根據(jù)配置的該規(guī)則的對應信息,確定該規(guī)則對應的該數(shù)據(jù)包的部分。結合第二方面的第一種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,該確定單元包括:第二確定子單元,用于根據(jù)已有的識別結果,確定該規(guī)則對應的該數(shù)據(jù)包的部分。結合第二方面或第二方面的第一至三種可能的實現(xiàn)方式中的任一種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,該確定模塊具體用于,根據(jù)配置的各種協(xié)議的格式信息和該數(shù)據(jù)包的協(xié)議,確定該數(shù)據(jù)包的協(xié)議的格式信息。結合第二方面的第四種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,該配置的各種協(xié)議的格式信息包括按照字符串、長度或者邏輯區(qū)分不同部分的方式。結合第二方面的第四種可能的實現(xiàn)方式或第五種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,該確定模塊具體用于,解析用戶配置的各種協(xié)議的格式信息,根據(jù)各種協(xié)議的格式信息和該數(shù)據(jù)包的協(xié)議,確定該數(shù)據(jù)包的協(xié)議的格式信息?;谏鲜黾夹g方案,本發(fā)明實施例的協(xié)議識別的方法和裝置,根據(jù)數(shù)據(jù)包的協(xié)議的格式信息將數(shù)據(jù)包分為多個部分,并根據(jù)協(xié)議承載識別的規(guī)則對數(shù)據(jù)包的多個部分進行識別,可以支持多種協(xié)議的數(shù)據(jù)包的分部分識別,從而能夠提升協(xié)議識別的性能。


      為了更清楚地說明本發(fā)明實施例的技術方案,下面將對本發(fā)明實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是根據(jù)本發(fā)明實施例的協(xié)議識別的方法的示意性流程圖。圖2根據(jù)本發(fā)明實施例的按照邏輯劃分方式的例子的示意圖。圖3根據(jù)本發(fā)明實施例的按照字符串劃分方式的例子的示意圖。圖4是根據(jù)本發(fā)明另一實施例的協(xié)議識別的方法的示意性流程圖。圖5是根據(jù)本發(fā)明實施例的協(xié)議識別的方法的例子的示意圖。圖6是根據(jù)本發(fā)明實施例的格式定界的例子的示意圖。圖7是根據(jù)本發(fā)明實施例的規(guī)則重組的例子的示意圖。圖8是根據(jù)本發(fā)明實施例的L7+識別的例子的示意圖。圖9是根據(jù)本發(fā)明另一實施例的協(xié)議識別的方法的例子的示意圖。
      圖10是根據(jù)本發(fā)明實施例的協(xié)議識別的裝置的示意性框圖。圖11是根據(jù)本發(fā)明實施例的協(xié)議識別的裝置的結構圖。
      具體實施例方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明的一部分實施例,而不是全部實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都應屬于本發(fā)明保護的范圍。圖1示出了根據(jù)本發(fā)明實施例的協(xié)議識別的方法100的示意性流程圖。該方法100由協(xié)議識別的裝置執(zhí)行,如圖1所示,該方法100包括:S110,確定數(shù)據(jù)包的協(xié)議的格式信息;S120,根據(jù)該數(shù)據(jù)包的協(xié)議的格式信息,將該數(shù)據(jù)包分為多個部分;S130,根據(jù)協(xié)議承載識別的規(guī)則對該數(shù)據(jù)包的多個部分進行協(xié)議承載識別。為了能夠識別出基礎協(xié)議之上的應用,需要在對數(shù)據(jù)包進行L7基礎協(xié)議識別后,進行再次識別查找應用的特征,也就是進行協(xié)議承載識別(即L7+識別)。在本發(fā)明實施例中,為了提升L7+識別的性能,在L7基礎協(xié)議識別后,協(xié)議識別的裝置首先確定數(shù)據(jù)包的協(xié)議的格式信息,再根據(jù)該數(shù)據(jù)包的協(xié)議的格式信息,將該數(shù)據(jù)包分為多個部分,然后,協(xié)議識別的裝置根據(jù)協(xié)議承載識別的規(guī)則對該數(shù)據(jù)包的多個部分進行協(xié)議承載識別。這樣,通過協(xié)議格式信息將數(shù)據(jù)包分為多個部分,再根據(jù)協(xié)議承載識別的規(guī)則對數(shù)據(jù)包的多個部分進行識別,可以對多種協(xié)議的數(shù)據(jù)包進行分部分的識別,提高了識別的效率。因此,本發(fā)明實施例的協(xié)議識別的方法,根據(jù)數(shù)據(jù)包的協(xié)議的格式信息將數(shù)據(jù)包分為多個部分,并根據(jù)協(xié)議承載識別的規(guī)則對數(shù)據(jù)包的多個部分進行識別,可以支持多種協(xié)議的數(shù)據(jù)包的分部分識別,從而能夠提升協(xié)議識別的性能。在本發(fā)明實施例中,一個協(xié)議承載識別的規(guī)則可以是多個特征的組合與應用的匹配信息,也可以是一個特征與應用的匹配信息,換句話說,一個規(guī)則可以包括多個特征的信息,也可以僅包括一個特征的信息。在SllO中,協(xié)議識別的裝置確定數(shù)據(jù)包的協(xié)議的格式信息。 在本發(fā)明實施例中,協(xié)議的格式信息包括區(qū)分該協(xié)議的數(shù)據(jù)包的不同部分的方式。為了提高協(xié)議承載識別的效率,本發(fā)明實施例先將數(shù)據(jù)包分為多個部分再對每一個部分進行識別。為了能對任意協(xié)議的數(shù)據(jù)包進行劃分,本發(fā)明實施例通過協(xié)議的格式信息表示劃分的方式。也就是說,本發(fā)明實施例的格式信息能夠適應任意協(xié)議,對于每一種協(xié)議,預先配置好其格式信息,這樣,在對該協(xié)議的數(shù)據(jù)包進行協(xié)議承載識別時,就可以根據(jù)該協(xié)議的格式信息將數(shù)據(jù)包分為多個部分。協(xié)議的格式信息包括的區(qū)分該協(xié)議的數(shù)據(jù)包的不同部分的方式(即對數(shù)據(jù)包的劃分方式)可以有多種。例如,可以按照字符串劃分,即用特定的字符串將數(shù)據(jù)包分段,到特定字符串出現(xiàn)時為一個部分;或者,可以按照長度劃分;或者,還可以按照邏輯劃分,即每一部分按照對該部分的邏輯描述確定??蛇x地,協(xié)議的格式信息還包括協(xié)議名稱,分為哪幾個部分等。例如,采用字符串劃分方式的會話起始協(xié)議(Session Initiation Protocol, SIP)的格式信息可以為:
      -PROTO SIP-SIP_FIRSTLINE:STR: “\r\n”-SIP_HEAD:STR: “\r\n\r\n,,-SIP_BODY:NA(只關心當前包的識別,剩下的部分是Body不需要關心)按照邏輯劃分的方式可以用于分界比較復雜的情況。例如,采用常見的數(shù)據(jù)段表示方法TLV格式,T (Type)表示數(shù)據(jù)段的類型,L (Length)表示數(shù)據(jù)段長度,V (variable)表示數(shù)據(jù)段內容。如圖2所示,該方式中,每個TLV表示一個部分。應理解,上述示例只是為了幫助本領域技術人員更好地理解本發(fā)明實施例的協(xié)議的格式信息,而非限制本發(fā)明實施例的范圍。在本發(fā)明實施例中,可選地,各種協(xié)議的格式信息可以預先配置好,還可以不斷更新。例如,可以在每添加一種協(xié)議時,配置該協(xié)議的格式信息。因此,可選地,SllO包括:根據(jù)配置的各種協(xié)議的格式信息和該數(shù)據(jù)包的協(xié)議,確定該數(shù)據(jù)包的協(xié)議的格式信息。也就是說,協(xié)議識別的裝置根據(jù)數(shù)據(jù)包的協(xié)議,在配置的各種協(xié)議的格式信息中查找該數(shù)據(jù)包的協(xié)議的格式信息,從而確定該數(shù)據(jù)包的協(xié)議的格式信息。如前所述,該配置的各種協(xié)議的格式信息可以包括按照字符串、長度或者邏輯區(qū)分不同部分的方式,協(xié)議識別的裝置根據(jù)數(shù)據(jù)包的協(xié)議,選擇該協(xié)議的格式信息中的區(qū)分方式對該數(shù)據(jù)包進行劃分。在具體實現(xiàn)方面,上述各種協(xié)議的格式信息能夠通過統(tǒng)一的語法配置,因而能夠適合各種協(xié)議,并且能夠被協(xié)議識別的裝置理解。這樣,可選地,根據(jù)配置的各種協(xié)議的格式信息和該數(shù)據(jù)包的協(xié)議,確定該數(shù)據(jù)包的協(xié)議的格式信息,包括:解析用戶配置的各種協(xié)議的格式信息,根據(jù)各種協(xié)議的格式信息和該數(shù)據(jù)包的協(xié)議,確定該數(shù)據(jù)包的協(xié)議的格式信息。在S120中,協(xié)議識別的裝置根據(jù)該數(shù)據(jù)包的協(xié)議的格式信息,將該數(shù)據(jù)包分為多個部分。在確定了數(shù)據(jù)包的協(xié)議的格式信息后,協(xié)議識別的裝置根據(jù)該數(shù)據(jù)包的協(xié)議的格式信息,將該數(shù)據(jù)包分段。例如,若該數(shù)據(jù)包的協(xié)議的格式信息表示的是按照字符串劃分的方式,則將數(shù)據(jù)包按格式信息中的字符串分為多個部分。如圖3所示,按照前述采用字符串劃分方式的SIP協(xié)議的格式信息,將SIP協(xié)議的數(shù)據(jù)包分為首行FirstLine、頭域Head和數(shù)據(jù)Body三部分。在S130中,協(xié)議識別的裝置根據(jù)協(xié)議承載識別的規(guī)則對該數(shù)據(jù)包的多個部分進行協(xié)議承載識別。在將數(shù)據(jù)包分為多個部分后,協(xié)議識別的裝置根據(jù)協(xié)議承載識別的規(guī)則對數(shù)據(jù)包進行分部分的協(xié)議承載識別。對數(shù)據(jù)包的協(xié)議承載識別需要查找應用的特征。在應用的相應特征或特征組合匹配時,確定數(shù)據(jù)包承載該應用。特征或特征組合的信息構成協(xié)議承載識別的規(guī)則。協(xié)議識別的裝置在對數(shù)據(jù)包進行協(xié)議承載識別時,首先要獲取協(xié)議承載識別的規(guī)則。協(xié)議承載識別的規(guī)則可以通過學習調整的方式獲得。例如,可以對已有的協(xié)議識別結果進行命中統(tǒng)計來獲取協(xié)議承載識別的規(guī)則?;蛘?,可選地,協(xié)議承載識別的規(guī)則可以預先配置好,還可以不斷更新。例如,可以通過設立知識庫的方式配置各種規(guī)則,在需要更新規(guī)則時更新知識庫。協(xié)議識別的裝置從知識庫中獲取協(xié)議承載識別的規(guī)則,然后,協(xié)議識別的裝置根據(jù)該規(guī)則對數(shù)據(jù)包的每個部分進行協(xié)議承載識別。在本發(fā)明實施例中,如圖4所示,可選地,S130包括:S131,確定該規(guī)則對應的該數(shù)據(jù)包的部分;S132,根據(jù)該規(guī)則和該規(guī)則對應的該數(shù)據(jù)包的部分,對該數(shù)據(jù)包的多個部分進行協(xié)議承載識別。具體而言,為了能對數(shù)據(jù)包進行分部分的協(xié)議承載識別,協(xié)議識別的裝置首先要確定協(xié)議承載識別的規(guī)則對應的數(shù)據(jù)包的哪個部分,然后再根據(jù)該規(guī)則對其對應的數(shù)據(jù)包的部分進行識別,即每個協(xié)議承載識別的規(guī)則僅對其對應的數(shù)據(jù)包的那個部分進行識別,而對其他部分不進行識別。這樣,對于每個規(guī)則,只需對數(shù)據(jù)包的部分內容進行查找,而不必查找整個數(shù)據(jù)包的內容,從而能夠提高協(xié)議識別的效率??蛇x地,S131包括:根據(jù)配置的該規(guī)則的對應信息,確定該規(guī)則對應的該數(shù)據(jù)包的部分。具體而言,在本實施例中,協(xié)議承載識別的規(guī)則的對應信息表示規(guī)則與數(shù)據(jù)包的各部分的對應關系。協(xié)議識別的裝置通過該對應信息確定規(guī)則對應的數(shù)據(jù)包的部分。協(xié)議承載識別的規(guī)則的對應信息可以預先配置好,還可以不斷更新。例如,可以在知識庫中配置該對應信息,在需要更新該對應信息時更新知識庫。協(xié)議識別的裝置從知識庫中獲取配置的該規(guī)則的對應信息??蛇x地,S131包括:根據(jù)已有的識別結果,確定該規(guī)則對應的該數(shù)據(jù)包的部分。具體而言,在本實施例中,不預先配置協(xié)議承載識別的規(guī)則與數(shù)據(jù)包的各部分的對應關系,而是在識別過程中,根據(jù)已有的識別結果,確定規(guī)則與數(shù)據(jù)包的各部分的對應關系,進而確定規(guī)則對應的數(shù)據(jù)包的部分。例如,在剛開始識別時,每個規(guī)則都查找整個數(shù)據(jù)包;根據(jù)識別結果,統(tǒng)計規(guī)則與數(shù)據(jù)包各部分的匹配情況;當一個規(guī)則與一個部分匹配的統(tǒng)計值達到一定的值時,確定該規(guī)則與該部分對應;在后續(xù)的識別過程中,該規(guī)則就對應該部分,該規(guī)則只需查找該部分的內容。這樣,在識別過程中建立規(guī)則與數(shù)據(jù)包的各部分的對應關系,后續(xù)識別根據(jù)該對應關系,確定協(xié)議承載識別的規(guī)則對應的數(shù)據(jù)包的部分,然后對該部分進行識別,能夠提升協(xié)議識別的效率。下面將結合具體的例子詳細描述本發(fā)明實施例。應注意,這些例子只是為了幫助本領域技術人員更好地理解本發(fā)明實施例,而非限制本發(fā)明實施例的范圍。在圖5所示的實施例中,配置協(xié)議承載識別的規(guī)則的對應信息,具體流程如下。501,配置各種協(xié)議的格式信息。該格式信息中包括對數(shù)據(jù)包劃分的方式。例如,SIP協(xié)議的格式信息可以為:-PROTO SIP-SIP_FIRSTLINE:STR: “\r\n”-SIP_HEAD:STR: “\r\n\r\n,,-SIP_B0DY:NA502,配置知識庫。該知識庫中包括協(xié)議承載識別的規(guī)則以及協(xié)議承載識別的規(guī)則的對應信息。例如,與上述SIP協(xié)議相應的協(xié)議承載識別的規(guī)則的對應信息可以為:
      ...
      Signaturel:SIP_FIRSTLINESignature2:SIP_HEADSignature3:SIP_B0DY...
      503,格式解析器解析協(xié)議格式信息,將解析得到的信息傳遞給格式定界模塊。504,數(shù)據(jù)包經過L7基礎協(xié)議識別后,若需要進行L7+識別,且該數(shù)據(jù)包的協(xié)議已經配置協(xié)議格式信息,則格式定界模塊根據(jù)該數(shù)據(jù)包的協(xié)議的格式信息將該數(shù)據(jù)包分為多個部分(即,將數(shù)據(jù)包定界),并將已經定界的數(shù)據(jù)包交給L7+識別模塊。例如,如圖6所示,格式定界模塊根據(jù)上述SIP協(xié)議的格式信息,將數(shù)據(jù)包分為SIP_FIRSTLINE,SIP_HEAD,SIP.B0DY三部分,然后將數(shù)據(jù)包交給L7+識別模塊。505,知識庫解析加載模塊解析知識庫,將解析得到的信息傳遞給學習調整模塊。506,學習調整模塊將得到規(guī)則的對應信息交給規(guī)則重組模塊。507,規(guī)則重組模塊根據(jù)從學習調整模塊得到的信息,重新組織特征,將整理好的識別特征交給L7+識別模塊用于L7+識別。例如,如圖7所示,在識別SIP協(xié)議的數(shù)據(jù)包時,將SIP_FIRSTLINE特征,SIP_HEAD特征,SIP_B0DY特征交給L7+識別模塊。508,L7+識別模塊結合規(guī)則重組模塊以及格式定界模塊給出的信息進行識別,即在數(shù)據(jù)包的每個部分中查找該部分的特征。例如,如圖8所示,分別在SIP_FIRSTLINE數(shù)據(jù)包內容,SIP_HEAD數(shù)據(jù)包內容,SIP_B0DY數(shù)據(jù)包內容中查找SIP_FIRSTLINE特征,SIP_HEAD特征,SIP_B0DY特征。這樣,在其中一部分數(shù)據(jù)包內容中不需要查找另外兩部分對應的特征,從而能夠提升協(xié)議識別的性能。在圖9所示的實施例中,沒有配置協(xié)議承載識別的規(guī)則的對應信息,具體流程如下。901,配置各種協(xié)議的格式信息。該格式信息中包括對數(shù)據(jù)包劃分的方式。例如,SIP協(xié)議的格式信息可以為:-PROTO SIP-SIP_FIRSTLINE:STR: “\r\n”-SIP_HEAD:STR: “\r\n\r\n”-SIP_B0DY:NA902,格式解析器解析協(xié)議格式信息,將解析得到的信息傳遞給格式定界模塊。903,數(shù)據(jù)包經過L7基礎協(xié)議識別后,若需要進行L7+識別,且該數(shù)據(jù)包的協(xié)議已經配置協(xié)議格式信息,則格式定界模塊根據(jù)該數(shù)據(jù)包的協(xié)議的格式信息將該數(shù)據(jù)包分為多個部分(即,將數(shù)據(jù)包定界),并將已經定界的數(shù)據(jù)包交給L7+識別模塊。例如,如圖6所示,格式定界模塊根據(jù)上述SIP協(xié)議的格式信息,將數(shù)據(jù)包分為SIP_FIRSTLINE,SIP_HEAD,SIP.B0DY三部分,然后將數(shù)據(jù)包交給L7+識別模塊。904,學習調整模塊根據(jù)識別結果確定當前識別的規(guī)則是屬于哪個部分。在有識別結果后,根據(jù)識別結果,統(tǒng)計規(guī)則與數(shù)據(jù)包各部分的匹配情況;當一個規(guī)則與一個部分匹配的統(tǒng)計值達到一定的值時,確定該規(guī)則與該部分對應,然后將得到的規(guī)則的對應信息交給規(guī)則重組模塊。
      905,規(guī)則重組模塊根據(jù)從學習調整模塊得到的信息,重新組織特征,將整理好的識別特征交給L7+識別模塊用于L7+識別。例如,如圖7所示,在識別SIP協(xié)議的數(shù)據(jù)包時,將SIP_FIRSTLINE特征,SIP_HEAD特征,SIP_B0DY特征交給L7+識別模塊。906,L7+識別模塊結合規(guī)則重組模塊以及格式定界模塊給出的信息進行識別。在剛開始識別時,規(guī)則重組模塊沒有給出信息,因此,在整個數(shù)據(jù)包中查找特征。當規(guī)則重組模塊給出信息后,只在數(shù)據(jù)包的各個部分中查找該部分的特征。例如,如圖8所示,分別在SIP_FIRSTLINE數(shù)據(jù)包內容,SIP_HEAD數(shù)據(jù)包內容,SIP_B0DY數(shù)據(jù)包內容中查找SIP_FIRSTLINE特征,SIP_HEAD特征,SIP_B0DY特征。這樣,在其中一部分數(shù)據(jù)包內容中不需要查找另外兩部分對應的特征,從而能夠提升協(xié)議識別的性能。因此,本發(fā)明實施例的協(xié)議識別的方法,根據(jù)數(shù)據(jù)包的協(xié)議的格式信息將數(shù)據(jù)包分為多個部分,并根據(jù)協(xié)議承載識別的規(guī)則對數(shù)據(jù)包的多個部分進行識別,每個部分只查找該部分對應的特征,可以支持多種協(xié)議的數(shù)據(jù)包的分部分識別,從而能夠提升協(xié)議識別的性能。應理解,在本發(fā)明的各種實施例中,上述各過程的序號的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應以其功能和內在邏輯確定,而不應對本發(fā)明實施例的實施過程構成任何限定。上文中結合圖1至圖9,詳細描述了根據(jù)本發(fā)明實施例的協(xié)議識別的方法,下面將結合圖10和圖11,描述根據(jù)本發(fā)明實施例的協(xié)議識別的裝置。圖10示出了根據(jù)本發(fā)明實施例的協(xié)議識別的裝置200的示意性框圖。如圖10所示,該協(xié)議識別的裝置200包括:確定模塊210,用于確定數(shù)據(jù)包的協(xié)議的格式信息;定界模塊220,用于根據(jù)該數(shù)據(jù)包的協(xié)議的格式信息,將該數(shù)據(jù)包分為多個部分;識別模塊230,用于根據(jù)協(xié)議承載識別的規(guī)則對該數(shù)據(jù)包的多個部分進行協(xié)議承載識別。在本發(fā)明實施例中,為了提升L7+識別的性能,在L7基礎協(xié)議識別后,協(xié)議識別的裝置200的確定模塊210首先確定數(shù)據(jù)包的協(xié)議的格式信息,定界模塊220再根據(jù)該數(shù)據(jù)包的協(xié)議的格式信息,將該數(shù)據(jù)包分為多個部分,然后,識別模塊230根據(jù)協(xié)議承載識別的規(guī)則對該數(shù)據(jù)包的多個部分進行協(xié)議承載識別。這樣,通過協(xié)議格式信息將數(shù)據(jù)包分為多個部分,再根據(jù)協(xié)議承載識別的規(guī)則對數(shù)據(jù)包的多個部分進行識別,可以對多種協(xié)議的數(shù)據(jù)包進行分部分的識別,提高了識別的效率。因此,本發(fā)明實施例的協(xié)議識別的裝置,根據(jù)數(shù)據(jù)包的協(xié)議的格式信息將數(shù)據(jù)包分為多個部分,并根據(jù)協(xié)議承載識別的規(guī)則對數(shù)據(jù)包的多個部分進行識別,可以支持多種協(xié)議的數(shù)據(jù)包的分部分識別,從而能夠提升協(xié)議識別的性能。在本發(fā)明實施例中,可選地,該識別模塊230包括:確定單元,用于確定該規(guī)則對應的該數(shù)據(jù)包的部分;識別單元,用于根據(jù)該規(guī)則和該規(guī)則對應的該數(shù)據(jù)包的部分,對該數(shù)據(jù)包的多個部分進行協(xié)議承載識別。具體而言,為了能對數(shù)據(jù)包進行分部分的協(xié)議承載識別,協(xié)議識別的裝置首先要確定協(xié)議承載識別的規(guī)則對應的數(shù)據(jù)包的哪個部分,然后再根據(jù)該規(guī)則對其對應的數(shù)據(jù)包的部分進行識別,即每個協(xié)議承載識別的規(guī)則僅對其對應的數(shù)據(jù)包的那個部分進行識別,而對其他部分不進行識別。這樣,對于每個規(guī)則,只需對數(shù)據(jù)包的部分內容進行查找,而不必查找整個數(shù)據(jù)包的內容,從而能夠提高協(xié)議識別的效率??蛇x地,該確定單元包括:第一確定子單元,用于根據(jù)配置的該規(guī)則的對應信息,確定該規(guī)則對應的該數(shù)據(jù)包的部分。在本實施例中,協(xié)議承載識別的規(guī)則的對應信息表示規(guī)則與數(shù)據(jù)包的各部分的對應關系。協(xié)議識別的裝置通過該對應信息確定規(guī)則對應的數(shù)據(jù)包的部分。協(xié)議承載識別的規(guī)則的對應信息可以預先配置好,還可以不斷更新。例如,可以在知識庫中配置該對應信息,在需要更新該對應信息時更新知識庫。協(xié)議識別的裝置從知識庫中獲取配置的該規(guī)則的對應信息。可選地,該確定單元包括:第二確定子單元,用于根據(jù)已有的識別結果,確定該規(guī)則對應的該數(shù)據(jù)包的部分。在本實施例中,不預先配置協(xié)議承載識別的規(guī)則與數(shù)據(jù)包的各部分的對應關系,而是在識別過程中,根據(jù)已有的識別結果,確定規(guī)則與數(shù)據(jù)包的各部分的對應關系,進而確定規(guī)則對應的數(shù)據(jù)包的部分。例如,在剛開始識別時,每個規(guī)則都查找整個數(shù)據(jù)包;根據(jù)識別結果,統(tǒng)計規(guī)則與數(shù)據(jù)包各部分的匹配情況;當一個規(guī)則與一個部分匹配的統(tǒng)計值達到一定的值時,確定該規(guī)則與該部分對應;在后續(xù)的識別過程中,該規(guī)則就對應該部分,該規(guī)則只需查找該部分的內容。這樣,在識別過程中建立規(guī)則與數(shù)據(jù)包的各部分的對應關系,后續(xù)識別根據(jù)該對應關系,確定協(xié)議承載識別的規(guī)則對應的數(shù)據(jù)包的部分,然后對該部分進行識別,能夠提升協(xié)議識別的效率。在本發(fā)明實施例中,可選地,該確定模塊210具體用于,根據(jù)配置的各種協(xié)議的格式信息和該數(shù)據(jù)包的協(xié)議,確定該數(shù)據(jù)包的協(xié)議的格式信息??蛇x地,該配置的各種協(xié)議的格式信息包括按照字符串、長度或者邏輯區(qū)分不同部分的方式??蛇x地,該確定模塊210具體用于,解析用戶配置的各種協(xié)議的格式信息,根據(jù)各種協(xié)議的格式信息和該數(shù)據(jù)包的協(xié)議,確定該數(shù)據(jù)包的協(xié)議的格式信息。根據(jù)本發(fā)明實施例的協(xié)議識別的裝置200可對應于根據(jù)本發(fā)明實施例的協(xié)議識別的方法中的協(xié)議識別的裝置,并且協(xié)議識別的裝置200中的各個模塊的上述和其它操作和/或功能分別為了實現(xiàn)圖1至圖9中的各個方法的相應流程,為了簡潔,在此不再贅述。本發(fā)明實施例的協(xié)議識別的裝置,根據(jù)數(shù)據(jù)包的協(xié)議的格式信息將數(shù)據(jù)包分為多個部分,并根據(jù)協(xié)議承載識別的規(guī)則對數(shù)據(jù)包的多個部分進行識別,每個部分只查找該部分對應的特征,可以支持多種協(xié)議的數(shù)據(jù)包的分部分識別,從而能夠提升協(xié)議識別的性能。圖11示出了本發(fā)明的另一實施例提供的協(xié)議識別的裝置的結構,包括至少一個處理器1102 (例如CPU),至少一個網絡接口 1105或者其他通信接口,存儲器1106,和至少一個通信總線1103,用于實現(xiàn)這些裝置之間的連接通信。處理器1102用于執(zhí)行存儲器1106中存儲的可執(zhí)行模塊,例如計算機程序。存儲器1106可能包含高速隨機存取存儲器(RAM:Random Access Memory),也可能還包括非不穩(wěn)定的存儲器(non-volatile memory),例如至少一個磁盤存儲器。通過至少一個網絡接口 1105 (可以是有線或者無線)實現(xiàn)該系統(tǒng)網關與至少一個其他網元之間的通信連接,可以使用互聯(lián)網,廣域網,本地網,城域網等。在一些實施方式中,存儲器1106存儲了程序11061,程序11061可以被處理器1102執(zhí)行,這個程序包括:確定數(shù)據(jù)包的協(xié)議的格式信息;根據(jù)該數(shù)據(jù)包的協(xié)議的格式信息,將該數(shù)據(jù)包分為多個部分;根據(jù)協(xié)議承載識別的規(guī)則對該數(shù)據(jù)包的多個部分進行協(xié)議承載識別??蛇x地,根據(jù)協(xié)議承載識別的規(guī)則對該數(shù)據(jù)包的多個部分進行協(xié)議承載識別,包括:確定該規(guī)則對應的該數(shù)據(jù)包的部分;根據(jù)該規(guī)則和該規(guī)則對應的該數(shù)據(jù)包的部分,對該數(shù)據(jù)包的多個部分進行協(xié)議承載識別??蛇x地,確定該規(guī)則對應的該數(shù)據(jù)包的部分,包括:根據(jù)配置的該規(guī)則的對應信息,確定該規(guī)則對應的該數(shù)據(jù)包的部分??蛇x地,確定該規(guī)則對應的該數(shù)據(jù)包的部分,包括:根據(jù)已有的識別結果,確定該規(guī)則對應的該數(shù)據(jù)包的部分。可選地,確定數(shù)據(jù)包的協(xié)議的格式信息,包括:根據(jù)配置的各種協(xié)議的格式信息和該數(shù)據(jù)包的協(xié)議,確定該數(shù)據(jù)包的協(xié)議的格式信息。可選地,該配置的各種協(xié)議的格式信息包括按照字符串、長度或者邏輯區(qū)分不同部分的方式??蛇x地,根據(jù)配置的各種協(xié)議的格式信息和該數(shù)據(jù)包的協(xié)議,確定該數(shù)據(jù)包的協(xié)議的格式信息,包括:解析用戶配置的各種協(xié)議的格式信息,根據(jù)各種協(xié)議的格式信息和該數(shù)據(jù)包的協(xié)議,確定該數(shù)據(jù)包的協(xié)議的格式信息。從本發(fā)明實施例提供的以上技術方案可以看出,本發(fā)明實施例根據(jù)數(shù)據(jù)包的協(xié)議的格式信息將數(shù)據(jù)包分為多個部分,并根據(jù)協(xié)議承載識別的規(guī)則對數(shù)據(jù)包的多個部分進行識別,可以支持多種協(xié)議的數(shù)據(jù)包的分部分識別,從而能夠提升協(xié)議識別的性能。應理解,在本發(fā)明實施例中,術語“和/或”僅僅是一種描述關聯(lián)對象的關聯(lián)關系,表示可以存在三種關系。例如,A和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B這三種情況。另外,本文中字符“/”,一般表示前后關聯(lián)對象是一種“或”的關系。本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。所屬領域的技術人員可以清楚地了解到,為了描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。在本申請所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口、裝置或單元的間接耦合或通信連接,也可以是電的,機械的或其它的形式連接。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本發(fā)明實施例方案的目的。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以是兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分,或者該技術方案的全部或部分可以以軟件產品的形式體現(xiàn)出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機存取存儲器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。以上所述,僅為本發(fā)明的具體實施方式
      ,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到各種等效的修改或替換,這些修改或替換都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應以權利要求的保護范圍為準。
      權利要求
      1.一種協(xié)議識別的方法,其特征在于,包括: 確定數(shù)據(jù)包的協(xié)議的格式信息; 根據(jù)所述數(shù)據(jù)包的協(xié)議的格式信息,將所述數(shù)據(jù)包分為多個部分; 根據(jù)協(xié)議承載識別的規(guī)則對所述數(shù)據(jù)包的多個部分進行協(xié)議承載識別。
      2.根據(jù)權利要求1所述的方法,其特征在于,所述根據(jù)協(xié)議承載識別的規(guī)則對所述數(shù)據(jù)包的多個部分進行協(xié)議承載識別,包括: 確定所述規(guī)則對應的所述數(shù)據(jù)包的部分; 根據(jù)所述規(guī)則和所述規(guī)則對應的所述數(shù)據(jù)包的部分,對所述數(shù)據(jù)包的多個部分進行協(xié)議承載識別。
      3.根據(jù)權利要求2所述的方法,其特征在于,所述確定所述規(guī)則對應的所述數(shù)據(jù)包的部分,包括: 根據(jù)配置的所述規(guī)則的對應信息,確定所述規(guī)則對應的所述數(shù)據(jù)包的部分。
      4.根據(jù)權利要求2所述的方法,其特征在于,所述確定所述規(guī)則對應的所述數(shù)據(jù)包的部分,包括: 根據(jù)已有的識別結果,確定所述規(guī)則對應的所述數(shù)據(jù)包的部分。
      5.根據(jù)權利要求1至4中任一項所述的方法,其特征在于,所述確定數(shù)據(jù)包的協(xié)議的格式信息,包括: 根據(jù)配置的各種協(xié)議的格式信息和所述數(shù)據(jù)包的協(xié)議,確定所述數(shù)據(jù)包的協(xié)議的格式信息。
      6.根據(jù)權利要求5所述的方法,其特征在于,所述配置的各種協(xié)議的格式信息包括按照字符串、長度或者邏輯區(qū)分不同部分的方式。
      7.根據(jù)權利要求5或6所述的方法,其特征在于,所述根據(jù)配置的各種協(xié)議的格式信息和所述數(shù)據(jù)包的協(xié)議,確定所述數(shù)據(jù)包的協(xié)議的格式信息,包括: 解析用戶配置的各種協(xié)議的格式信息,根據(jù)各種協(xié)議的格式信息和所述數(shù)據(jù)包的協(xié)議,確定所述數(shù)據(jù)包的協(xié)議的格式信息。
      8.一種協(xié)議識別的裝置,其特征在于,包括: 確定模塊,用于確定數(shù)據(jù)包的協(xié)議的格式信息; 定界模塊,用于根據(jù)所述數(shù)據(jù)包的協(xié)議的格式信息,將所述數(shù)據(jù)包分為多個部分; 識別模塊,用于根據(jù)協(xié)議承載識別的規(guī)則對所述數(shù)據(jù)包的多個部分進行協(xié)議承載識別。
      9.根據(jù)權利要求8所述的裝置,其特征在于,所述識別模塊包括: 確定單元,用于確定所述規(guī)則對應的所述數(shù)據(jù)包的部分; 識別單元,用于根據(jù)所述規(guī)則和所述規(guī)則對應的所述數(shù)據(jù)包的部分,對所述數(shù)據(jù)包的多個部分進行協(xié)議承載識別。
      10.根據(jù)權利要求9所述的裝置,其特征在于,所述確定單元包括: 第一確定子單元,用于根據(jù)配置的所述規(guī)則的對應信息,確定所述規(guī)則對應的所述數(shù)據(jù)包的部分。
      11.根據(jù)權利要求9所述的裝置,其特征在于,所述確定單元包括: 第二確定子單元,用于根據(jù)已有的識別結果,確定所述規(guī)則對應的所述數(shù)據(jù)包的部分。
      12.根據(jù)權利要求8至11中任一項所述的裝置,其特征在于,所述確定模塊具體用于,根據(jù)配置的各種協(xié)議的格式信息和所述數(shù)據(jù)包的協(xié)議,確定所述數(shù)據(jù)包的協(xié)議的格式信息。
      13.根據(jù)權利要求12所述的裝置,其特征在于,所述配置的各種協(xié)議的格式信息包括按照字符串、長度或者邏輯區(qū)分不同部分的方式。
      14.根據(jù)權利要求12或13所述的裝置,其特征在于,所述確定模塊具體用于,解析用戶配置的各種協(xié)議的格式信息,根據(jù)各種協(xié)議的格式信息和所述數(shù)據(jù)包的協(xié)議,確定所述數(shù)據(jù)包的協(xié)議的格式信息。
      全文摘要
      本發(fā)明公開了一種協(xié)議識別的方法和裝置。該方法包括確定數(shù)據(jù)包的協(xié)議的格式信息;根據(jù)該數(shù)據(jù)包的協(xié)議的格式信息,將該數(shù)據(jù)包分為多個部分;根據(jù)協(xié)議承載識別的規(guī)則對該數(shù)據(jù)包的多個部分進行協(xié)議承載識別。本發(fā)明實施例的協(xié)議識別的方法和裝置,可以支持多種協(xié)議的數(shù)據(jù)包的分部分識別,從而能夠提升協(xié)議識別的性能。
      文檔編號H04L29/06GK103166973SQ20131010128
      公開日2013年6月19日 申請日期2013年3月27日 優(yōu)先權日2013年3月27日
      發(fā)明者梁明 申請人:華為技術有限公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1