一種網絡設備數(shù)據轉發(fā)方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種網絡設備數(shù)據轉發(fā)的方法,該方法包括:接收數(shù)據報文,并根據接收的數(shù)據報文生成IP報文;在所述IP報文的連接信息位于預設的連接跟蹤表時,對所述IP報文進行地址轉換,然后將轉換后的IP報文轉發(fā)出去;在所述IP報文的連接信息不在所述預設的連接跟蹤表時,將所述IP報文發(fā)送給CPU以進行TCP/IP協(xié)議棧處理,并轉發(fā)經TCP/IP協(xié)議棧處理后的IP報文。本發(fā)明還公開了相應的裝置。采用本發(fā)明的方案,不需要將所有接收到的數(shù)據報文都經CPU調度再轉發(fā),可避免不必要的CPU中斷,降低CPU負荷,可提高數(shù)據的轉發(fā)速度。
【專利說明】一種網絡設備數(shù)據轉發(fā)方法及裝置
【技術領域】
[0001]本發(fā)明涉及到通信【技術領域】,特別涉及到一種網絡設備數(shù)據轉發(fā)方法及裝置。
【背景技術】
[0002]在實際應用中,網絡設備需要處理大量的報文數(shù)據,如將數(shù)據上傳和下載。每一次無線通信網絡的演進以及升級換代,都伴隨著終端下載速率的倍數(shù)甚至指數(shù)級增長,從早期以Kbps為單位來測量速率,到現(xiàn)在以Mbps為單位,相信不久的將來Gbps也會成為我們常用的速率單位。隨著LTE (Long Term Evolut1n,長期演進技術)網絡時代的來臨,再加上WiFi技術的發(fā)展,家用LTE無線路由產品也已經面市。以FDD (Frequency Divis1nDuplexing,頻分雙工,也稱全雙工)LTE網絡加支持802.11η2*2的LTE無線路由器為例,LTE至WiFi方向的速率可以達到100Mbps。如此高的速率,對路由產品的硬件配置也提出了較高的要求。理論上,只要相應地提升產品硬件配置,速率也自然能夠提升。但作為面向家庭用戶的LTE無線路由設備,都是中低端嵌入式產品,主板CPU不會太高;過高的硬件配置,意味著成本的增加,不利于產品的普及。
[0003]如何在不提升硬件配置的前提下,滿足LTE至WiFi的極限速率,則只能依賴軟件系統(tǒng)的優(yōu)化。路由設備作為數(shù)據通道產品,最主要的作用就是進行數(shù)據轉發(fā),將LTE空口(空口是指空中接口,空中接口是一個形象化的術語,是相對于有線通信中的“線路接口 ”概念而言的)網絡過來的數(shù)據包,經過一系列處理后,轉發(fā)給WiFi驅動,最后通過WiFi空口到達WiFi終端。大部分路由產品都采用嵌入式Linux操作系統(tǒng)的NAT (Network AddressTranslat1n,網絡地址轉換)方案,一個數(shù)據包的大致處理流程為:
[0004]1.LTE空口數(shù)據到達網卡驅動;
[0005]2.經CPU調度,進入TCP/IP協(xié)議棧處理,涉及防火墻的過濾,IP地址轉換,流量控制等操作;
[0006]3.對于目的地非本機的數(shù)據包,轉發(fā)至相應的網卡設備,進入驅動層處理。
[0007]這上述三步中,步驟2將會產生大量的CPU中斷,每個數(shù)據包都要經過TCP/IP協(xié)議棧的層層處理,極大地加重了 CPU的負荷;降低了數(shù)據轉發(fā)速率,影響網絡設備(如路由設備)的數(shù)據傳輸效率。
【發(fā)明內容】
[0008]本發(fā)明的主要目的為提供一種網絡設備數(shù)據轉發(fā)方法及裝置,旨在避免不必要的CPU中斷,降低CPU負荷,及提高數(shù)據的轉發(fā)速度,提高設備的數(shù)據傳輸效率。
[0009]本發(fā)明提供一種網絡設備數(shù)據轉發(fā)方法,該方法包括:
[0010]接收數(shù)據報文,并根據接收的數(shù)據報文生成IP報文;
[0011]在所述IP報文的連接信息位于預設的連接跟蹤表時,對所述IP報文進行地址轉換,然后將轉換后的IP報文轉發(fā)出去;
[0012]在所述IP報文的連接信息不在所述預設的連接跟蹤表時,將所述IP報文發(fā)送給CPU以進行TCP/IP協(xié)議棧處理,并轉發(fā)經TCP/IP協(xié)議棧處理后的IP報文。
[0013]優(yōu)選地,所述轉發(fā)經TCP/IP協(xié)議棧處理后的IP報文的步驟包括:
[0014]判斷經TCP/IP協(xié)議棧處理后的IP報文是否符合預設的快速轉發(fā)條件;
[0015]在經TCP/IP協(xié)議棧處理后的IP報文符合預設的快速轉發(fā)條件時,將所述經TCP/IP協(xié)議棧處理后的IP報文轉發(fā)出去,并將所述經TCP/IP協(xié)議棧處理后的IP報文的連接信息加入到所述預設的連接跟蹤表;
[0016]在經TCP/IP協(xié)議棧處理后的IP報文不符合預設的快速轉發(fā)條件時,將所述經TCP/IP協(xié)議棧處理后的IP報文轉發(fā)出去。
[0017]優(yōu)選地,所述判斷經TCP/IP協(xié)議棧處理后的IP報文是否符合預設的快速轉發(fā)條件的步驟包括:
[0018]根據預設的特定端口列表,判斷所述經TCP/IP協(xié)議棧處理后的IP報文是否屬于預設種類的報文;
[0019]在所述經TCP/IP協(xié)議棧處理后的IP報文屬于預設種類的報文時,確定所述經TCP/IP協(xié)議棧處理后的IP報文不符合所述預設的快速轉發(fā)條件。
[0020]優(yōu)選地,所述判斷所述經TCP/IP協(xié)議棧處理后的IP報文是否屬于預設種類的報文的步驟之后,該方法還包括:
[0021]在所述經TCP/IP協(xié)議棧處理后的IP報文不屬于預設種類的報文時,判斷所述經TCP/IP協(xié)議棧處理后的IP報文是否是ALG報文;
[0022]在所述經TCP/IP協(xié)議棧處理后的IP報文不是ALG報文時,確定所述經TCP/IP協(xié)議棧處理后的IP報文符合所述預設的快速轉發(fā)條件。
[0023]優(yōu)選地,所述判斷所述經TCP/IP協(xié)議棧處理后的IP報文是否是ALG報文的步驟之后,該方法還包括:
[0024]在所述經TCP/IP協(xié)議棧處理后的IP報文是ALG報文時,判斷所述經TCP/IP協(xié)議棧處理后的IP報文是否是FTP-DATA報文;
[0025]在所述經TCP/IP協(xié)議棧處理后的IP報文是FTP-DATA報文時,確定所述經TCP/IP協(xié)議棧處理后的IP報文符合預設的快速轉發(fā)條件;
[0026]在所述經TCP/IP協(xié)議棧處理后的IP報文不是FTP-DATA報文時,確定所述經TCP/IP協(xié)議棧處理后的IP報文不符合預設的快速轉發(fā)條件。
[0027]本發(fā)明還提供一種網絡設備數(shù)據轉發(fā)裝置,包括:
[0028]接收模塊,用于接收數(shù)據報文,并根據接收的數(shù)據報文生成IP報文;
[0029]轉發(fā)模塊,用于在所述IP報文的連接信息位于預設的連接跟蹤表時,對所述IP報文進行地址轉換,然后將轉換后的IP報文轉發(fā)出去;及用于在所述IP報文的連接信息不在所述預設的連接跟蹤表時,將所述IP報文發(fā)送給CPU以進行TCP/IP協(xié)議棧處理,并轉發(fā)經TCP/IP協(xié)議棧處理后的IP報文。
[0030]優(yōu)選地,所述轉發(fā)模塊包括:
[0031]第一判斷單元,用于判斷所述IP報文的連接信息是否位于預設的連接跟蹤表;
[0032]收發(fā)單元,用于在所述第一判斷單元的判斷結果為所述IP報文的連接信息不在所述預設的連接跟蹤表時,將所述IP報文發(fā)送給CPU以進行TCP/IP協(xié)議棧處理;及用于接收經TCP/IP協(xié)議棧處理后的IP報文;
[0033]第二判斷單元,用于判斷經TCP/IP協(xié)議棧處理后的IP報文是否符合預設的快速轉發(fā)條件;
[0034]轉發(fā)單元,用于在第一判斷單元的判斷結果為所述IP報文的連接信息位于預設的連接跟蹤表時,對所述IP報文進行地址轉換,然后將轉換后的IP報文發(fā)送出去;及用于在所述第二判斷單元判斷結果為所述經TCP/IP協(xié)議棧處理后的IP報文符合預設的快速轉發(fā)條件時,將所述經TCP/IP協(xié)議棧處理后的IP報文轉發(fā)出去并將所述經TCP/IP協(xié)議棧處理后的IP報文的連接信息加入到預設的連接跟蹤表;及用于在所述第二判斷單元的判斷結果為所述經TCP/IP協(xié)議棧處理后的IP報文不符合預設的快速轉發(fā)條件時,將所述經TCP/IP協(xié)議棧處理后的IP報文轉發(fā)出去。
[0035]優(yōu)選地,所述第二判斷單元包括:
[0036]第一判斷子單元,用于根據預設的特定端口列表,判斷所述經TCP/IP協(xié)議棧處理后的IP報文是否屬于預設種類的報文,在所述經TCP/IP協(xié)議棧處理后的IP報文屬于預設種類的報文時,確定所述經TCP/IP協(xié)議棧處理后的IP報文不符合預設的快速轉發(fā)條件。
[0037]優(yōu)選地,所述第二判斷單元還包括:
[0038]第二判斷子單元,用于在所述第一判斷子單元的判斷結果為所述經TCP/IP協(xié)議棧處理后的IP報文不屬于預設種類的報文時,判斷所述經TCP/IP協(xié)議棧處理后的IP報文是否是ALG報文,在所述經TCP/IP協(xié)議棧處理后的IP報文不是ALG報文時,確定所述經TCP/IP協(xié)議棧處理后的IP報文符合預設的快速轉發(fā)條件。
[0039]優(yōu)選地,所述第二判斷單元還包括:
[0040]第三判斷子單元,用于在所述第二判斷子單元的判斷結果為所述經TCP/IP協(xié)議棧處理后的IP報文是ALG報文時,判斷所述經TCP/IP協(xié)議棧處理后的IP報文是否是FTP-DATA報文,在所述經TCP/IP協(xié)議棧處理后的IP報文是FTP-DATA報文時,確定所述經TCP/IP協(xié)議棧處理后的IP報文符合預設的快速轉發(fā)條件,在所述經TCP/IP協(xié)議棧處理后的IP報文不是FTP-DATA報文時,確定所述經TCP/IP協(xié)議棧處理后的IP報文不符合預設的快速轉發(fā)條件。
[0041]采用本發(fā)明的技術方案,不需要將所有接收到的數(shù)據報文都經CPU調度以進入TCP/IP協(xié)議棧處理,而是先將接收到的數(shù)據報文生成IP報文,再將IP報文與預設的連接跟蹤表比較,如果該IP報文位于預設的連接跟蹤表,則直接對IP報文進行地址轉換,然后將轉換后的IP報文轉發(fā)出去;采用本發(fā)明的方案,可避免不必要的CPU中斷,降低CPU負荷,及提高數(shù)據的轉發(fā)速度,提高設備的數(shù)據傳輸效率。
【專利附圖】
【附圖說明】
[0042]圖1為本發(fā)明的網絡設備數(shù)據轉發(fā)方法的流程示意圖;
[0043]圖2為圖1中步驟S40的詳細流程示意圖;
[0044]圖3是圖2中步驟S41的詳細流程示意圖‘
[0045]圖4為本發(fā)明的網絡設備數(shù)據轉發(fā)裝置的結構示意圖;
[0046]圖5為圖4中第二判斷單元的具體結構示意圖。
[0047]本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結合實施例,參照附圖做進一步說明。
【具體實施方式】
[0048]應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0049]參照圖1,圖1為本發(fā)明的網絡設備數(shù)據轉發(fā)方法的流程示意圖,該方法包括:
[0050]S10、接收數(shù)據報文,并根據該接收的數(shù)據報文生成IP報文;
[0051 ] 該接收的數(shù)據報文,可以是接收的通過LTE空口網絡或其他空口網絡將數(shù)據報文發(fā)送到網卡的數(shù)據報文,在該步驟S10中,接收數(shù)據報文,對該數(shù)據報文進行相應更改,根據該接收的數(shù)據報文生成IP報文。
[0052]S20、判斷該IP報文的連接信息是否位于預設的連接跟蹤表,如果是,則執(zhí)行步驟S30,如果否,則執(zhí)行步驟S40 ;
[0053]該預設的連接跟蹤表可預先設置,也可根據使用情況在不斷更新。該預設的連接跟蹤表包括源地址、目標地址、源端口、目標端口、協(xié)議號。該IP報文的連接信息包括源地址、目標地址、源端口、目標端口、協(xié)議號。
[0054]S30、對該IP報文進行地址轉換,然后將轉換后的IP報文轉發(fā)出去;
[0055]在該步驟S30中,在該IP報文的連接信息位于預設的連接跟蹤表時,則說明該IP報文不需要發(fā)送給CPU進行TCP/IP協(xié)議棧處理,可直接對該IP報文進行地址轉換,然后將轉換后的IP報文轉發(fā)出去,例如,可將該轉換后的IP報文轉發(fā)到WiFi驅動,再由該WiFi驅動將IP報文發(fā)送給WiFi終端。在該步驟中,不需要將該IP報文發(fā)送給CPU,不需由CPU對該IP報文進行TCP/IP協(xié)議棧處理(涉及防火墻的過濾、IP地址轉換、流量控制等),可減少CPU中斷,降低CPU的負荷。
[0056]S40、將該IP報文發(fā)送給CPU以進行TCP/IP協(xié)議棧處理,并轉發(fā)經TCP/IP協(xié)議棧處理后的IP報文。
[0057]在該步驟中,在該IP報文的連接信息不在預設的連接跟蹤表時,需要將該IP報文發(fā)送給CPU以使CPU產生中斷,對該IP報文進行TCP/IP協(xié)議棧處理;再轉發(fā)經TCP/IP協(xié)議棧處理后的IP報文。
[0058]進一步的,在步驟S40中的轉發(fā)經TCP/IP協(xié)議棧處理后的IP報文的步驟包括(如圖2所示):
[0059]S41、判斷經TCP/IP協(xié)議棧處理后的IP報文是否符合預設的快速轉發(fā)條件;如果是,則執(zhí)行步驟S42,如果否,則執(zhí)行步驟S43 ;
[0060]S42、將該經TCP/IP協(xié)議棧處理后的IP報文轉發(fā)出去并將該經TCP/IP協(xié)議棧處理后的IP報文的連接信息加入到預設的連接跟蹤表;
[0061]在該步驟中,對符合預設的快速轉發(fā)條件的經TCP/IP協(xié)議棧處理后的IP報文,可將該經TCP/IP協(xié)議棧處理后的IP報文轉發(fā)出去,例如,可將該經TCP/IP協(xié)議棧處理后的IP報文轉發(fā)到WiFi驅動,再由該WiFi驅動將經TCP/IP協(xié)議棧處理后的IP報文發(fā)送給WiFi終端。對符合預設的快速轉發(fā)條件的經TCP/IP協(xié)議棧處理后的IP報文,還將該經TCP/IP協(xié)議棧處理后的IP報文的連接信息加入到預設的連接跟蹤表,對預設的連接跟蹤表進行更新。通過對該預設的連接跟蹤表不斷更新,對下次接收的同樣的IP報文時,可在該預設的連接跟蹤表中找到該IP報文的連接信息,進而可以直接將該IP報文轉發(fā),不需要再將該IP報文發(fā)送到CPU進行處理,可降低CPU負荷,提高數(shù)據轉發(fā)速率。
[0062]將該經TCP/IP協(xié)議棧處理后的IP報文的連接信息加入到預設的連接跟蹤表,包括:將該經TCP/IP協(xié)議棧處理后的IP報文的連接信息的五元組加入到預設的連接跟蹤表,該五元組為:源地址、目的地址、源端口、目的端口、協(xié)議號。
[0063]S43、將該經TCP/IP協(xié)議棧處理后的IP報文轉發(fā)出去。
[0064]在該步驟中,如果經TCP/IP協(xié)議棧處理后的IP報文不符合預設的快速轉發(fā)條件的,則直接將該經TCP/IP協(xié)議棧處理后的IP報文轉發(fā)出去,不需將該經TCP/IP協(xié)議棧處理后的IP報文的連接信息進行保存。
[0065]進一步的,該步驟S41判斷經TCP/IP協(xié)議棧處理后的IP報文是否符合預設的快速轉發(fā)條件包括以下步驟(如圖3所示):
[0066]S411、根據預設的特定端口列表,判斷該經TCP/IP協(xié)議棧處理后的IP報文是否屬于預設種類的報文,在該經TCP/IP協(xié)議棧處理后的IP報文屬于預設種類的報文時,確定該經TCP/IP協(xié)議棧處理后的IP報文不符合預設的快速轉發(fā)條件,然后執(zhí)行步驟S43,在該經TCP/IP協(xié)議棧處理后的IP報文不屬于預設種類的報文時,則執(zhí)行步驟S412 ;
[0067]該預設的特定端口列表,可由用戶根據實際需要設定,可將用戶不想進行快速轉發(fā)的IP報文,需要由CPU進行TCP/IP協(xié)議棧處理的報文的連接信息中的端口設定為特定端口,如特定端口列表可以設定包括:ftp21、http80等。
[0068]S412、判斷該經TCP/IP協(xié)議棧處理后的IP報文是否是ALG報文,在該經TCP/IP協(xié)議棧處理后的IP報文不是ALG報文時,確定該經TCP/IP協(xié)議棧處理后的IP報文符合預設的快速轉發(fā)條件,然后執(zhí)行步驟S42,在該經TCP/IP協(xié)議棧處理后的IP報文是ALG報文時,則執(zhí)行步驟S413 ;
[0069]S413、判斷該經TCP/IP協(xié)議棧處理后的IP報文是否是FTP-DATA報文,在該經TCP/IP協(xié)議棧處理后的IP報文是FTP-DATA報文時,確定該經TCP/IP協(xié)議棧處理后的IP報文符合預設的快速轉發(fā)條件,然后執(zhí)行步驟S42 ;在該經TCP/IP協(xié)議棧處理后的IP報文不是FTP-DATA報文時,確定該經TCP/IP協(xié)議棧處理后的IP報文不符合預設的快速轉發(fā)條件,然后執(zhí)行步驟S43。
[0070]上述步驟S411、S412和S413判斷經TCP/IP協(xié)議棧處理后的IP報文是否符合預設的快速轉發(fā)條件,通過對特定端口、ALG報文和FTP-DATA報文的判斷,可以只針對目標連接進行處理,減少誤加速,比如對于VPN報文就不需要加速轉發(fā)。
[0071]參照圖4,圖4為本發(fā)明的網絡設備數(shù)據轉發(fā)裝置的結構示意圖,該裝置100包括:
[0072]接收模塊10,用于接收數(shù)據報文,并根據接收的數(shù)據報文生成IP報文;
[0073]轉發(fā)模塊20,用于在該IP報文的連接信息位于預設的連接跟蹤表時,對該IP報文進行地址轉換,然后將轉換后的IP報文轉發(fā)出去;及用于在該IP報文的連接信息不在該預設的連接跟蹤表時,將該IP報文發(fā)送給CPU200以進行TCP/IP協(xié)議棧處理,并轉發(fā)經TCP/IP協(xié)議棧處理后的IP報文。
[0074]接收模塊10接收的數(shù)據報文,可以是接收的通過LTE空口網絡或其他空口網絡將數(shù)據報文發(fā)送到網卡的數(shù)據報文;接收模塊10接收數(shù)據報文,對該數(shù)據報文進行相應更改,根據該接收的數(shù)據報文生成IP報文。
[0075]該預設的連接跟蹤表可預先設置,也可根據使用情況在不斷更新。該預設的連接跟蹤表包括源地址、目標地址、源端口、目標端口、協(xié)議號。該IP報文的連接信息包括源地址、目標地址、源端口、目標端口、協(xié)議號。
[0076]在該IP報文的連接信息位于預設的連接跟蹤表時,則說明該IP報文不需要發(fā)送給CPU200進行TCP/IP協(xié)議棧處理,轉發(fā)模塊20可直接對該IP報文進行地址轉換,然后將轉換后的IP報文轉發(fā)出去,例如,可將該轉換后的IP報文轉發(fā)到WiFi驅動,再由該WiFi驅動將IP報文發(fā)送給WiFi終端;不需要將該IP報文發(fā)送給CPU200,不需由CPU200對該IP報文進行TCP/IP協(xié)議棧處理(涉及防火墻的過濾、IP地址轉換、流量控制等),可減少CPU中斷,降低CPU的負荷。
[0077]在該IP報文的連接信息不在預設的連接跟蹤表時,轉發(fā)模塊20需要將該IP報文發(fā)送給CPU以使CPU產生中斷,對該IP報文進行TCP/IP協(xié)議棧處理;再轉發(fā)經TCP/IP協(xié)議棧處理后的IP報文。
[0078]進一步的,該轉發(fā)模塊20包括:
[0079]第一判斷單元21,用于判斷該IP報文的連接信息是否位于預設的連接跟蹤表;
[0080]收發(fā)單元22,用于在該第一判斷單元21的判斷結果為該IP報文的連接信息不在預設的連接跟蹤表時,將該IP報文發(fā)送給CPU200以使該CPU200對IP報文進行TCP/IP協(xié)議棧處理;及用于接收經TCP/IP協(xié)議棧處理后的IP報文;
[0081]第二判斷單元23,用于判斷經TCP/IP協(xié)議棧處理后的IP報文是否符合預設的快速轉發(fā)條件;
[0082]轉發(fā)單元24,用于在第一判斷單元21的判斷結果為該IP報文的連接信息位于預設的連接跟蹤表時,對該IP報文進行地址轉換,然后將轉換后的IP報文發(fā)送出去;及用于在該第二判斷單元23判斷結果為該經TCP/IP協(xié)議棧處理后的IP報文符合預設的快速轉發(fā)條件時,將該經TCP/IP協(xié)議棧處理后的IP報文轉發(fā)出去并將該經TCP/IP協(xié)議棧處理后的IP報文的連接信息加入到預設的連接跟蹤表;及用于在該第二判斷單元23的判斷結果為該經TCP/IP協(xié)議棧處理后的IP報文不符合預設的快速轉發(fā)條件時,將該經TCP/IP協(xié)議棧處理后的IP報文轉發(fā)出去。
[0083]第一判斷單元21用于判斷該IP報文的連接信息是否位于預設的連接跟蹤表;如果IP報文的連接信息位于預設的連接跟蹤表,則說明該IP報文不需要發(fā)送給CPU進行TCP/IP協(xié)議棧處理,可直接通過轉發(fā)單元24對該IP報文進行地址轉換,然后將轉換后的IP報文轉發(fā)出去,例如,可將該轉換后的IP報文轉發(fā)到WiFi驅動,再由該WiFi驅動將IP報文發(fā)送給WiFi終端;如果IP報文的連接信息位于預設的連接跟蹤表,就不需要將該IP報文發(fā)送給CPU,不需由CPU對該IP報文進行TCP/IP協(xié)議棧處理(涉及防火墻的過濾、IP地址轉換、流量控制等),可減少CPU中斷,降低CPU的負荷;如果IP報文的連接信息不位于預設的連接跟蹤表,則需要通過收發(fā)單元22將該IP報文發(fā)送給CPU200,CPU200產生中斷,對該IP報文進行TCP/IP協(xié)議棧處理;該CPU200還將經TCP/IP協(xié)議棧處理后的IP報文發(fā)送給收發(fā)單元22。
[0084]轉發(fā)單元24將符合預設的快速轉發(fā)條件的經TCP/IP協(xié)議棧處理后的IP報文轉發(fā)出去,例如,可將該經TCP/IP協(xié)議棧處理后的IP報文轉發(fā)到WiFi驅動,再由該WiFi驅動將經TCP/IP協(xié)議棧處理后的IP報文發(fā)送給WiFi終端。對符合預設的快速轉發(fā)條件的經TCP/IP協(xié)議棧處理后的IP報文,該轉發(fā)單元還將該經TCP/IP協(xié)議棧處理后的IP報文的連接信息加入到預設的連接跟蹤表,對預設的連接跟蹤表進行更新。通過對該預設的連接跟蹤表不斷更新,對下次接收的同樣的IP報文時,可在該預設的連接跟蹤表中找到該IP報文的連接信息,進而可以直接將該IP報文轉發(fā),不需要再將該IP報文發(fā)送到CPU進行處理,可降低CPU負荷,提高數(shù)據轉發(fā)速率。
[0085]將該經TCP/IP協(xié)議棧處理后的IP報文的連接信息加入到預設的連接跟蹤表,包括:將該經TCP/IP協(xié)議棧處理后的IP報文的連接信息的五元組加入到預設的連接跟蹤表,該五元組為:源地址、目的地址、源端口、目的端口、協(xié)議號。
[0086]進一步的,如圖5所示,該第二判斷單元23包括:第一判斷子單元25、第二判斷子單元26和第三判斷子單元27。
[0087]第一判斷子單元25,用于根據預設的特定端口列表,判斷該經TCP/IP協(xié)議棧處理后的IP報文是否屬于預設種類的報文,在該經TCP/IP協(xié)議棧處理后的IP報文屬于預設種類的報文時,確定該經TCP/IP協(xié)議棧處理后的IP報文不符合預設的快速轉發(fā)條件。
[0088]該預設的特定端口列表,可由用戶根據實際需要設定,可將用戶不想進行快速轉發(fā)的IP報文,需要由CPU進行TCP/IP協(xié)議棧處理的報文的連接信息中的端口設定為特定端口,如特定端口列表可以設定包括:ftp21、http80等。
[0089]第二判斷子單元26,用于在該第一判斷子單元25的判斷結果為該經TCP/IP協(xié)議棧處理后的IP報文屬于預設種類的報文時,判斷該經TCP/IP協(xié)議棧處理后的IP報文是否是ALG報文,在該經TCP/IP協(xié)議棧處理后的IP報文不是ALG報文時,確定該經TCP/IP協(xié)議棧處理后的IP報文符合預設的快速轉發(fā)條件。
[0090]第三判斷子單元27,用于在該第二判斷子單元26的判斷結果為該經TCP/IP協(xié)議棧處理后的IP報文是ALG報文時,判斷該經TCP/IP協(xié)議棧處理后的IP報文是否是FTP-DATA報文,在該經TCP/IP協(xié)議棧處理后的IP報文是FTP-DATA報文時,確定該經TCP/IP協(xié)議棧處理后的IP報文符合預設的快速轉發(fā)條件,在該經TCP/IP協(xié)議棧處理后的IP報文不是FTP-DATA報文時,確定該經TCP/IP協(xié)議棧處理后的IP報文不符合預設的快速轉發(fā)條件,
[0091]通過第二判斷單元23中的第一判斷子單元25、第二判斷子單元26和第三判斷子單元27判斷經TCP/IP協(xié)議棧處理后的IP報文是否符合預設的快速轉發(fā)條件,通過對特定端口、ALG報文和FTP-DATA報文的判斷,可以只針對目標連接進行處理,減少誤加速,比如對于VPN報文就不需要加速轉發(fā)。
[0092]以上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的【技術領域】,均同理包括在本發(fā)明的專利保護范圍。
【權利要求】
1.一種網絡設備數(shù)據轉發(fā)方法,其特征在于,該方法包括: 接收數(shù)據報文,并根據接收的數(shù)據報文生成IP報文; 在所述IP報文的連接信息位于預設的連接跟蹤表時,對所述IP報文進行地址轉換,然后將轉換后的IP報文轉發(fā)出去; 在所述IP報文的連接信息不在所述預設的連接跟蹤表時,將所述IP報文發(fā)送給CPU以進行TCP/IP協(xié)議棧處理,并轉發(fā)經TCP/IP協(xié)議棧處理后的IP報文。
2.根據權利要求1所述的方法,其特征在于,所述轉發(fā)經TCP/IP協(xié)議棧處理后的IP報文的步驟包括: 判斷經TCP/IP協(xié)議棧處理后的IP報文是否符合預設的快速轉發(fā)條件; 在經TCP/IP協(xié)議棧處理后的IP報文符合預設的快速轉發(fā)條件時,將所述經TCP/IP協(xié)議棧處理后的IP報文轉發(fā)出去,并將所述經TCP/IP協(xié)議棧處理后的IP報文的連接信息加入到所述預設的連接跟蹤表; 在經TCP/IP協(xié)議棧處理后的IP報文不符合預設的快速轉發(fā)條件時,將所述經TCP/IP協(xié)議棧處理后的IP報文轉發(fā)出去。
3.根據權利要求2所述的方法,其特征在于,所述判斷經TCP/IP協(xié)議棧處理后的IP報文是否符合預設的快速轉發(fā)條件的步驟包括: 根據預設的特定端口列表,判斷所述經TCP/IP協(xié)議棧處理后的IP報文是否屬于預設種類的報文; 在所述經TCP/IP協(xié)議棧處理后的IP報文屬于預設種類的報文時,確定所述經TCP/IP協(xié)議棧處理后的IP報文不符合所述預設的快速轉發(fā)條件。
4.根據權利要求3所述的方法,其特征在于,所述判斷所述經TCP/IP協(xié)議棧處理后的IP報文是否屬于預設種類的報文的步驟之后,該方法還包括: 在所述經TCP/IP協(xié)議棧處理后的IP報文不屬于預設種類的報文時,判斷所述經TCP/IP協(xié)議棧處理后的IP報文是否是ALG報文; 在所述經TCP/IP協(xié)議棧處理后的IP報文不是ALG報文時,確定所述經TCP/IP協(xié)議棧處理后的IP報文符合所述預設的快速轉發(fā)條件。
5.根據權利要求4所述的方法,其特征在于,所述判斷所述經TCP/IP協(xié)議棧處理后的IP報文是否是ALG報文的步驟之后,該方法還包括: 在所述經TCP/IP協(xié)議棧處理后的IP報文是ALG報文時,判斷所述經TCP/IP協(xié)議棧處理后的IP報文是否是FTP-DATA報文; 在所述經TCP/IP協(xié)議棧處理后的IP報文是FTP-DATA報文時,確定所述經TCP/IP協(xié)議棧處理后的IP報文符合預設的快速轉發(fā)條件; 在所述經TCP/IP協(xié)議棧處理后的IP報文不是FTP-DATA報文時,確定所述經TCP/IP協(xié)議棧處理后的IP報文不符合預設的快速轉發(fā)條件。
6.一種網絡設備數(shù)據轉發(fā)裝置,其特征在于,包括: 接收模塊,用于接收數(shù)據報文,并根據接收的數(shù)據報文生成IP報文; 轉發(fā)模塊,用于在所述IP報文的連接信息位于預設的連接跟蹤表時,對所述IP報文進行地址轉換,然后將轉換后的IP報文轉發(fā)出去;及用于在所述IP報文的連接信息不在所述預設的連接跟蹤表時,將所述IP報文發(fā)送給CPU以進行TCP/IP協(xié)議棧處理,并轉發(fā)經TCP/IP協(xié)議棧處理后的IP報文。
7.根據權利要求6所述的裝置,其特征在于,所述轉發(fā)模塊包括: 第一判斷單元,用于判斷所述IP報文的連接信息是否位于預設的連接跟蹤表; 收發(fā)單元,用于在所述第一判斷單元的判斷結果為所述IP報文的連接信息不在所述預設的連接跟蹤表時,將所述IP報文發(fā)送給CPU以進行TCP/IP協(xié)議棧處理;及用于接收經TCP/IP協(xié)議棧處理后的IP報文; 第二判斷單元,用于判斷經TCP/IP協(xié)議棧處理后的IP報文是否符合預設的快速轉發(fā)條件; 轉發(fā)單元,用于在第一判斷單元的判斷結果為所述IP報文的連接信息位于預設的連接跟蹤表時,對所述IP報文進行地址轉換,然后將轉換后的IP報文發(fā)送出去;及用于在所述第二判斷單元判斷結果為所述經TCP/IP協(xié)議棧處理后的IP報文符合預設的快速轉發(fā)條件時,將所述經TCP/IP協(xié)議棧處理后的IP報文轉發(fā)出去并將所述經TCP/IP協(xié)議棧處理后的IP報文的連接信息加入到預設的連接跟蹤表;及用于在所述第二判斷單元的判斷結果為所述經TCP/IP協(xié)議棧處理后的IP報文不符合預設的快速轉發(fā)條件時,將所述經TCP/IP協(xié)議棧處理后的IP報文轉發(fā)出去。
8.根據權利要求7所述的裝置,其特征在于,所述第二判斷單元包括: 第一判斷子單元,用于根據預設的特定端口列表,判斷所述經TCP/IP協(xié)議棧處理后的IP報文是否屬于預設種類的報文,在所述經TCP/IP協(xié)議棧處理后的IP報文屬于預設種類的報文時,確定所述經TCP/IP協(xié)議棧處理后的IP報文不符合預設的快速轉發(fā)條件。
9.根據權利要求8所述的裝置,其特征在于,所述第二判斷單元還包括: 第二判斷子單元,用于在所述第一判斷子單元的判斷結果為所述經TCP/IP協(xié)議棧處理后的IP報文不屬于預設種類的報文時,判斷所述經TCP/IP協(xié)議棧處理后的IP報文是否是ALG報文,在所述經TCP/IP協(xié)議棧處理后的IP報文不是ALG報文時,確定所述經TCP/IP協(xié)議棧處理后的IP報文符合預設的快速轉發(fā)條件。
10.根據權利要求9所述的裝置,其特征在于,所述第二判斷單元還包括: 第三判斷子單元,用于在所述第二判斷子單元的判斷結果為所述經TCP/IP協(xié)議棧處理后的IP報文是ALG報文時,判斷所述經TCP/IP協(xié)議棧處理后的IP報文是否是FTP-DATA報文,在所述經TCP/IP協(xié)議棧處理后的IP報文是FTP-DATA報文時,確定所述經TCP/IP協(xié)議棧處理后的IP報文符合預設的快速轉發(fā)條件,在所述經TCP/IP協(xié)議棧處理后的IP報文不是FTP-DATA報文時,確定所述經TCP/IP協(xié)議棧處理后的IP報文不符合預設的快速轉發(fā)條件。
【文檔編號】H04L29/08GK104283923SQ201310284742
【公開日】2015年1月14日 申請日期:2013年7月8日 優(yōu)先權日:2013年7月8日
【發(fā)明者】劉威 申請人:中興通訊股份有限公司