基于wfp框架的數據傳輸方法及裝置制造方法
【專利摘要】本發明提供一種基于WFP框架的數據傳輸方法及裝置。本發明實施例通過在終端的操作系統上運行的WFP框架的轉發層,接收來自局域網設備的第一數據包,進而根據所述第一數據包,創建所述第一數據包對應的NAT表項信息,使得能夠根據所述NAT表項信息,在所述WFP框架的轉發層,向外網設備發送所述第一數據包,能夠實現在一臺普通的終端上實現NAT表項信息的創建,從而提高了數據包傳輸的可靠性。
【專利說明】基于WFP框架的數據傳輸方法及裝置 【【技術領域】】
[0001] 本發明涉及數據處理技術,尤其涉及一種基于WFP框架的數據傳輸方法及裝置。 【【背景技術】】
[0002] 隨著互聯網絡技術的普及,終端設備的數量飛速增長,每個終端在與互聯網絡通 信時都需要獲得一個合法互聯網協議(Internet Protocol,IP)地址例如,IPv4地址,因此 合法IP地址成為稀缺資源。為了解決合法IP地址的不足,可以利用網關設備上內置或外 置的網絡地址轉換(Network Address Translation,NAT)設備,創建NAT表項信息,用以將 一組IP地址信息轉換到另一組IP地址信息,例如:將一組局域網的私有IP地址和私網端 口號轉換到互聯網絡的合法IP地址和公網端口號。
[0003] 然而,目前只能在網關設備上實現NAT表項信息的創建,而無法在一臺普通的終 端上實現NAT表項信息的創建,使得在沒有網關設備的情況下,終端無法傳輸局域網設備 的數據包,從而導致了數據包傳輸的可靠性。 【
【發明內容】
】
[0004] 本發明的多個方面提供一種基于WFP框架的數據傳輸方法及裝置,用以提高數據 包傳輸的可靠性。
[0005] 本發明的一方面,提供一種基于WFP框架的數據傳輸方法,所述WFP框架運行在終 端的操作系統上,所述方法包括:
[0006] 在所述WFP框架的轉發層,接收來自局域網設備的第一數據包;
[0007] 根據所述第一數據包,創建所述第一數據包對應的NAT表項信息;
[0008] 根據所述NAT表項信息,在所述WFP框架的轉發層,向外網設備發送所述第一數據 包。
[0009] 如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述根據所 述第一數據包,創建所述第一數據包對應的NAT表項信息,包括 :
[0010] 根據所述第一數據包,獲得轉換之前的源地址、轉換之前的源端口號和協議類 型;
[0011] 根據所述WFP框架的資源分配層為所述終端已經分配的端口號,獲得轉換之后的 源端口號,所述轉換之后的源端口號與所述WFP框架的資源分配層已經分配的端口號中的 任一端口號不相同;
[0012] 根據所述終端上設置的網卡的IP地址,獲得轉換之后的源IP地址;
[0013] 利用所述轉換之前的源地址、所述轉換之前的源端口號、所述轉換之后的源地址、 所述轉換之后的源端口號和所述協議類型,創建所述NAT表項信息。
[0014] 如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述方法還 包括:
[0015] 監控所述WFP框架的資源分配層為所述終端分配的端口號;
[0016] 若所述WFP框架的資源分配層為所述終端分配的端口號,與所述NAT設備表項中 的所述轉換之后的源端口號,相同,向所述WFP框架的資源分配層發送指示信息,用以指示 端口沖突,以使得所述WFP框架的資源分配層為所述終端重新分配新的端口號。
[0017] 如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述方法還 包括:
[0018] 接收通知事件,所述通知事件為所述操作系統根據所述終端上設置的網卡的轉發 屬性的狀態信息發送;其中,
[0019] 所述通知事件,用于指示所述終端上設置的網卡的轉發屬性是否開啟。
[0020] 如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述根據所 述NAT表項信息,在所述WFP框架的轉發層,向外網設備發送所述第一數據包之后,還包 括:
[0021] 在所述WFP框架的接收層,接收來自所述外網設備的第二數據包;
[0022] 根據所述第二數據包,獲得所述第二數據包對應的所述NAT表項信息;
[0023] 根據所述NAT表項信息,在所述WFP框架的接收層,將所述第二數據包發送給所述 局域網設備。
[0024] 本發明的一方面,提供一種基于WFP框架的數據傳輸裝置,所述WFP框架運行在終 端的操作系統上,所述裝置包括:
[0025] 接收單元,用于在所述WFP框架的轉發層,接收來自局域網設備的第一數據包;
[0026] 表項單元,用于根據所述第一數據包,創建所述第一數據包對應的NAT表項信息;
[0027] 發送單元,用于根據所述NAT表項信息,在所述WFP框架的轉發層,向外網設備發 送所述第一數據包。
[0028] 如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述表項單 元,具體用于
[0029] 根據所述第一數據包,獲得轉換之前的源地址、轉換之前的源端口號和協議類 型;
[0030] 根據所述WFP框架的資源分配層為所述終端已經分配的端口號,獲得轉換之后的 源端口號,所述轉換之后的源端口號與所述WFP框架的資源分配層已經分配的端口號中的 任一端口號不相同;
[0031] 根據所述終端上設置的網卡的IP地址,獲得轉換之后的源IP地址;以及
[0032] 利用所述轉換之前的源地址、所述轉換之前的源端口號、所述轉換之后的源地址、 所述轉換之后的源端口號和所述協議類型,創建所述NAT表項信息。
[0033] 如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述裝置還 包括監控單元,用于監控所述WFP框架的資源分配層為所述終端分配的端口號;
[0034] 所述發送單元,還用于若所述WFP框架的資源分配層為所述終端分配的端口號, 與所述NAT設備表項中的所述轉換之后的源端口號,相同,向所述WFP框架的資源分配層發 送指示信息,用以指示端口沖突,以使得所述WFP框架的資源分配層為所述終端重新分配 新的端口號。
[0035] 如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述裝置還 包括事件單元,用于接收通知事件,所述通知事件為所述操作系統根據所述終端上設置的 網卡的轉發屬性的狀態信息發送;其中,
[0036] 所述通知事件,用于指示所述終端上設置的網卡的轉發屬性是否開啟。
[0037] 如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,
[0038] 所述接收單元,還用于
[0039] 在所述WFP框架的接收層,接收來自所述外網設備的第二數據包;
[0040] 所述表項單元,還用于
[0041] 根據所述第二數據包,獲得所述第二數據包對應的所述NAT表項信息;
[0042] 發送單元,還用于
[0043] 根據所述NAT表項信息,在所述WFP框架的接收層,將所述第二數據包發送給所述 局域網設備。
[0044] 由上述技術方案可知,本發明實施例通過在終端的操作系統上運行的WFP框架的 轉發層,接收來自局域網設備的第一數據包,進而根據所述第一數據包,創建所述第一數據 包對應的NAT表項信息,使得能夠根據所述NAT表項信息,在所述WFP框架的轉發層,向外 網設備發送所述第一數據包,能夠實現在一臺普通的終端上實現NAT表項信息的創建,從 而提高了數據包傳輸的可靠性。
[0045] 另外,采用本發明提供的技術方案,通過根據WFP框架的資源分配層為終端已經 分配的端口號,獲得轉換之后的源端口號,能夠有效避免NAT表項信息中的轉換之后的源 端口號與WFP框架的資源分配層為終端已經分配的端口號發生端口沖突的問題,從而保證 了 WFP框架的資源分配層為終端分配的端口號,以及NAT表項信息中轉換之后的源端口號 的唯一性。
[0046] 另外,采用本發明提供的技術方案,通過監控WFP框架的資源分配層為所述終端 分配的端口號,若所述WFP框架的資源分配層為所述終端分配的端口號,與所述NAT設備表 項中的所述轉換之后的源端口號,相同,則向所述WFP框架的資源分配層發送指示信息,用 以指示端口沖突,以使得所述WFP框架的資源分配層為所述終端重新分配新的端口號,能 夠有效避免WFP框架的資源分配層為終端分配的端口號與NAT表項信息中的轉換之后的源 端口號發生端口沖突的問題,從而保證了 WFP框架的資源分配層為終端分配的端口號,以 及NAT表項信息中轉換之后的源端口號的唯一性。
[0047] 另外,采用本發明提供的技術方案,通過接收通知事件,進而獲知終端上設置的網 卡的轉發屬性是否開啟,使得能夠執行修復操作,例如,在終端上設置的網卡的轉發屬性關 閉的情況下,重新開啟終端上設置的網卡的轉發屬性,以保證WFP框架的轉發層能夠正常 接收來自局域網設備的第一數據包,進而創建NAT表項信息,從而能夠進一步提高數據包 傳輸的可靠性。 【【專利附圖】
【附圖說明】】
[0048] 為了更清楚地說明本發明實施例中的技術方案,下面將對實施例或現有技術描述 中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實 施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附 圖獲得其他的附圖。
[0049] 圖1為本發明一實施例提供的基于WFP框架的數據傳輸方法的流程示意圖;
[0050] 圖2為本發明另一實施例提供的基于WFP框架的數據傳輸裝置的結構示意圖;
[0051] 圖3為本發明另一實施例提供的基于WFP框架的數據傳輸裝置的結構示意圖;
[0052] 圖4為本發明另一實施例提供的基于WFP框架的數據傳輸裝置的結構示意圖。 【【具體實施方式】】
[0053] 為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例 中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是 本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員 在沒有作出創造性勞動前提下所獲得的全部其他實施例,都屬于本發明保護的范圍。
[0054] 需要說明的是,本申請實施例中所涉及的終端可以包括但不限于手機、個人數字 助理(Personal Digital Assistant, PDA)、無線手持裝置、無線上網本、個人電腦、便攜電 腦、平板電腦、MP3播放器、MP4播放器、可穿戴設備(例如,智能眼鏡、智能手表、智能手環 等)等。
[0055] 另外,本文中術語"和/或",僅僅是一種描述關聯對象的關聯關系,表示可以存在 三種關系,例如,A和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B這三種情 況。另外,本文中字符"/",一般表示前后關聯對象是一種"或"的關系。
[0056] 圖1為本發明一實施例提供的基于WFP框架的數據傳輸方法的流程示意圖,所述 WFP框架運行在終端的操作系統上。如圖1所示。
[0057] 101、在所述WFP框架的轉發層,接收來自局域網設備的第一數據包。
[0058] 102、根據所述第一數據包,創建所述第一數據包對應的NAT表項信息。
[0059] 103、根據所述NAT表項信息,在所述WFP框架的轉發層,向外網設備發送所述第一 數據包。
[0060] 需要說明的是,101?103的執行主體可以為NAT設備,可以通過指定接口與終 端實現連接。所述接口可以為硬件接口,例如,通用串行總線(Universal Serial Bus, USB)接口等,或者還可以為軟件接口,例如,應用程序接口(Application Programming Interface, API)等,本實施例對此不進行特別限定。
[0061] 其中,局域網可以為有線局域網,或者還可以為無線局域網,例如,無線相容性認 證(Wireless Fidelity,簡稱WIFI)網絡等,本實施例對此不進行特別限定。
[0062] 需要說明的是,所述終端,就是一臺普通的設備,其上可以設置至少兩個網卡,一 個網卡用于通過有線方式或無線方式連接所述外網設備,另一個網卡用于通過有線方式或 無線方式連接所述局域網設備,以實現有線局域網或無線局域網。
[0063] 還需要說明的是,所述終端,其上還可以只設置一個網卡,用于通過有線方式或無 線方式連接所述外網設備。那么,所述NAT設備中則需要設置一個網卡,用于通過無線方式 連接所述局域網設備,以實現無線局域網。
[0064] 此外,NAT設備還可以進一步指示終端上運行的操作系統,例如,Wind〇ws7操作系 統,利用所述終端上設置的網卡,虛擬出一個虛擬網卡,用于通過無線方式連接所述局域網 設備,以實現無線局域網。這樣,所述NAT設備中就無需額外再設置網卡,能夠有效減小NAT 設備的體積和成本。
[0065] 這樣,通過在終端的操作系統上運行的WFP框架的轉發層,接收來自局域網設備 的第一數據包,進而根據所述第一數據包,創建所述第一數據包對應的NAT表項信息,使得 能夠根據所述NAT表項信息,在所述WFP框架的轉發層,向外網設備發送所述第一數據包, 能夠實現在一臺普通的終端上實現NAT表項信息的創建,從而導致了數據包傳輸的可靠 性。
[0066] Windows過濾驅動(Windows Filter Driver,WFP)框架,具體可以包括若干個標 注(Callout)層,通過向每個標注層注冊對應的過濾條件,以實現每個標注層的特定功能。 具體的注冊過濾條件的方法,可以參見現有技術中的相關內容,此處不再贅述。
[0067] 本實施例,為了區分不同標注層,可以為其定義不同的名稱。
[0068] 接收(Inbound)層,用于接收目的IP地址為WFP框架所運行的操作系統所在終端 的IP地址的數據包;
[0069] 轉發(Forward)層,用于接收目的IP地址不為WFP框架所運行的操作系統所在終 端的IP地址的數據包。
[0070] 資源分配(Resource Assignment)層,用于為WFP框架所運行的操作系統所在終 端分配端口。
[0071] 所述終端上設置的網卡,有一個轉發(forwardingEnable)屬性。只有開啟轉發屬 性,該網卡才可以接收目的IP地址不為WFP框架所運行的操作系統所在終端的IP地址的 數據包,以使得該數據包能夠進入WFP框架的轉發層。否則,該網卡則不能接收目的IP地 址不為WFP框架所運行的操作系統所在終端的IP地址的數據包,例如,直接丟棄該數據包 或對該數據包不進行任何處理等,以使得該數據包不能進入WFP框架的轉發層。
[0072] 可選地,在本實施例的一個可能的實現方式中,NAT設備還可以進一步接收通知 事件,所述通知事件為所述操作系統根據所述終端上設置的網卡的轉發屬性的狀態信息發 送;其中,所述通知事件,用于指示所述終端上設置的網卡的轉發屬性是否開啟。例如,操作 系統的IP幫助(IP Helper)模塊可以監控網卡的轉發屬性的狀態信息,例如,轉發屬性由 開啟變為關閉等狀態變化,進而根據網卡的轉發屬性的狀態信息,生成相應的通知事件,并 發送給NAT設備,以指示所述終端上設置的網卡的轉發屬性是否開啟。
[0073] 具體地,如果NAT設備所接收的通知事件,指示所述終端上設置的網卡的轉發屬 性沒有開啟,例如,一些惡意軟件將網卡的轉發屬性關閉等,那么,NAT設備則可以執行安全 操作,例如,告警操作、開啟網卡的轉發屬性的操作等。這樣,可以有效防止網卡的轉發屬性 沒有開啟或異常關閉,保證了 NAT設備的正常工作,從而能夠進一步提高數據包傳輸的可 靠性。
[0074] 這樣,通過接收通知事件,進而獲知終端上設置的網卡的轉發屬性是否開啟,使得 能夠執行修復操作,例如,在終端上設置的網卡的轉發屬性關閉的情況下,重新開啟終端上 設置的網卡的轉發屬性,以保證WFP框架的轉發層能夠正常接收來自局域網設備的第一數 據包,進而創建NAT表項信息,從而能夠進一步提高數據包傳輸的可靠性。
[0075] 可選地,在本實施例的一個可能的實現方式中,在102中,NAT設備具體可以根據 所述第一數據包,獲得轉換之前的源地址、轉換之前的源端口號和協議類型,進而根據所述 WFP框架的資源分配層為所述終端已經分配的端口號,獲得轉換之后的源端口號,所述轉換 之后的源端口號與所述WFP框架的資源分配層已經分配的端口號中的任一端口號不相同, 以及根據所述終端上設置的網卡的IP地址,獲得轉換之后的源IP地址。然后,所述NAT設 備則可以利用所述轉換之前的源地址、所述轉換之前的源端口號、所述轉換之后的源地址、 所述轉換之后的源端口號和所述協議類型,創建所述NAT表項信息。
[0076] 這樣,通過根據WFP框架的資源分配層為終端已經分配的端口號,獲得轉換之后 的源端口號,能夠有效避免NAT表項信息中的轉換之后的源端口號與WFP框架的資源分配 層為終端已經分配的端口號發生端口沖突的問題,從而保證了 WFP框架的資源分配層為終 端分配的端口號,以及NAT表項信息中轉換之后的源端口號的唯一性。
[0077] 進一步地,NAT設備還可以進一步監控所述WFP框架的資源分配層為所述終端分 配的端口號。若所述WFP框架的資源分配層為所述終端分配的端口號,與所述NAT設備表 項中的所述轉換之后的源端口號,相同,所述NAT設備則可以向所述WFP框架的資源分配層 發送指示信息,用以指示端口沖突,以使得所述WFP框架的資源分配層為所述終端重新分 配新的端口號。
[0078] 這樣,通過監控WFP框架的資源分配層為所述終端分配的端口號,若所述WFP框架 的資源分配層為所述終端分配的端口號,與所述NAT設備表項中的所述轉換之后的源端口 號,相同,則向所述WFP框架的資源分配層發送指示信息,用以指示端口沖突,以使得所述 WFP框架的資源分配層為所述終端重新分配新的端口號,能夠有效避免WFP框架的資源分 配層為終端分配的端口號與NAT表項信息中的轉換之后的源端口號發生端口沖突的問題, 從而保證了 WFP框架的資源分配層為終端分配的端口號,以及NAT表項信息中轉換之后的 源端口號的唯一性。
[0079] 可選地,在本實施例的一個可能的實現方式中,在103之后,NAT設備還可以進一 步在所述WFP框架的接收層,接收來自所述外網設備的第二數據包,進而根據所述第二數 據包,獲得所述第二數據包對應的所述NAT表項信息。然后,所述NAT設備則可以根據所述 NAT表項信息,在所述WFP框架的接收層,將所述第二數據包發送給所述局域網設備。
[0080] 本實施例中,通過在終端的操作系統上運行的WFP框架的轉發層,接收來自局域 網設備的第一數據包,進而根據所述第一數據包,創建所述第一數據包對應的NAT表項信 息,使得能夠根據所述NAT表項信息,在所述WFP框架的轉發層,向外網設備發送所述第一 數據包,能夠實現在一臺普通的終端上實現NAT表項信息的創建,從而提高了數據包傳輸 的可靠性。
[0081] 另外,采用本發明提供的技術方案,通過根據WFP框架的資源分配層為終端已經 分配的端口號,獲得轉換之后的源端口號,能夠有效避免NAT表項信息中的轉換之后的源 端口號與WFP框架的資源分配層為終端已經分配的端口號發生端口沖突的問題,從而保證 了 WFP框架的資源分配層為終端分配的端口號,以及NAT表項信息中轉換之后的源端口號 的唯一性。
[0082] 另外,采用本發明提供的技術方案,通過監控WFP框架的資源分配層為所述終端 分配的端口號,若所述WFP框架的資源分配層為所述終端分配的端口號,與所述NAT設備表 項中的所述轉換之后的源端口號,相同,則向所述WFP框架的資源分配層發送指示信息,用 以指示端口沖突,以使得所述WFP框架的資源分配層為所述終端重新分配新的端口號,能 夠有效避免WFP框架的資源分配層為終端分配的端口號與NAT表項信息中的轉換之后的源 端口號發生端口沖突的問題,從而保證了 WFP框架的資源分配層為終端分配的端口號,以 及NAT表項信息中轉換之后的源端口號的唯一性。
[0083] 另外,采用本發明提供的技術方案,通過接收通知事件,進而獲知終端上設置的網 卡的轉發屬性是否開啟,使得能夠執行修復操作,例如,在終端上設置的網卡的轉發屬性關 閉的情況下,重新開啟終端上設置的網卡的轉發屬性,以保證WFP框架的轉發層能夠正常 接收來自局域網設備的第一數據包,進而創建NAT表項信息,從而能夠進一步提高數據包 傳輸的可靠性。
[0084] 需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列 的動作組合,但是本領域技術人員應該知悉,本發明并不受所描述的動作順序的限制,因為 依據本發明,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知 悉,說明書中所描述的實施例均屬于優選實施例,所涉及的動作和模塊并不一定是本發明 所必須的。
[0085] 在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部 分,可以參見其他實施例的相關描述。
[0086] 圖2為本發明另一實施例提供的基于WFP框架的數據傳輸裝置的結構示意圖,所 述WFP框架運行在終端的操作系統上。如圖2所示。本實施例的基于WFP框架的數據傳 輸裝置可以包括接收單元21、表項單元22和發送單元23。其中,接收單元21,用于在所述 WFP框架的轉發層,接收來自局域網設備的第一數據包;表項單元22,用于根據所述第一數 據包,創建所述第一數據包對應的NAT表項信息;發送單元23,用于根據所述NAT表項信 息,在所述WFP框架的轉發層,向外網設備發送所述第一數據包。
[0087] 需要說明的是,本實施例所提供的基于WFP框架的數據傳輸裝置可以為NAT設 備,可以通過指定接口與終端實現連接。所述接口可以為硬件接口,例如,通用串行總 線(Universal Serial Bus, USB)接口等,或者還可以為軟件接口,例如,應用程序接口 (Application Programming Interface, API)等,本實施例對此不進行特別限定。
[0088] 其中,局域網可以為有線局域網,或者還可以為無線局域網,例如,無線相容性認 證(Wireless Fidelity,簡稱WIFI)網絡等,本實施例對此不進行特別限定。
[0089] 需要說明的是,所述終端,就是一臺普通的設備,其上可以設置至少兩個網卡,一 個網卡用于通過有線方式或無線方式連接所述外網設備,另一個網卡用于通過有線方式或 無線方式連接所述局域網設備,以實現有線局域網或無線局域網。
[0090] 還需要說明的是,所述終端,其上還可以只設置一個網卡,用于通過有線方式或無 線方式連接所述外網設備。那么,所述NAT設備中則需要設置一個網卡,用于通過無線方式 連接所述局域網設備,以實現無線局域網。
[0091] 此外,NAT設備還可以進一步指示終端上運行的操作系統,例如,Wind〇ws7操作系 統,利用所述終端上設置的網卡,虛擬出一個虛擬網卡,用于通過無線方式連接所述局域網 設備,以實現無線局域網。這樣,所述NAT設備中就無需額外再設置網卡,能夠有效減小NAT 設備的體積和成本。
[0092] 這樣,通過在終端的操作系統上運行的WFP框架的轉發層,接收來自局域網設備 的第一數據包,進而根據所述第一數據包,創建所述第一數據包對應的NAT表項信息,使得 能夠根據所述NAT表項信息,在所述WFP框架的轉發層,向外網設備發送所述第一數據包, 能夠實現在一臺普通的終端上實現NAT表項信息的創建,從而導致了數據包傳輸的可靠 性。
[0093] WFP框架,具體可以包括若干個標注(Callout)層,通過向每個標注層注冊對應的 過濾條件,以實現每個標注層的特定功能。具體的注冊過濾條件的方法,可以參見現有技術 中的相關內容,此處不再贅述。
[0094] 本實施例,為了區分不同標注層,可以為其定義不同的名稱。
[0095] 接收(Inbound)層,用于接收目的IP地址為WFP框架所運行的操作系統所在終端 的IP地址的數據包;
[0096] 轉發(Forward)層,用于接收目的IP地址不為WFP框架所運行的操作系統所在終 端的IP地址的數據包。
[0097] 資源分配(Resource Assignment)層,用于為WFP框架所運行的操作系統所在終 端分配端口。
[0098] 所述終端上設置的網卡,有一個轉發(forwardingEnable)屬性。只有開啟轉發屬 性,該網卡才可以接收目的IP地址不為WFP框架所運行的操作系統所在終端的IP地址的 數據包,以使得該數據包能夠進入WFP框架的轉發層。否則,該網卡則不能接收目的IP地 址不為WFP框架所運行的操作系統所在終端的IP地址的數據包,例如,直接丟棄該數據包 或對該數據包不進行任何處理等,以使得該數據包不能進入WFP框架的轉發層。
[0099] 可選地,在本實施例的一個可能的實現方式中,所述表項單元22,具體可以用于 根據所述第一數據包,獲得轉換之前的源地址、轉換之前的源端口號和協議類型;根據所述 WFP框架的資源分配層為所述終端已經分配的端口號,獲得轉換之后的源端口號,所述轉換 之后的源端口號與所述WFP框架的資源分配層已經分配的端口號中的任一端口號不相同; 根據所述終端上設置的網卡的IP地址,獲得轉換之后的源IP地址;以及利用所述轉換之前 的源地址、所述轉換之前的源端口號、所述轉換之后的源地址、所述轉換之后的源端口號和 所述協議類型,創建所述NAT表項信息。
[0100] 這樣,通過表項單元根據WFP框架的資源分配層為終端已經分配的端口號,獲得 轉換之后的源端口號,能夠有效避免NAT表項信息中的轉換之后的源端口號與WFP框架的 資源分配層為終端已經分配的端口號發生端口沖突的問題,從而保證了 WFP框架的資源分 配層為終端分配的端口號,以及NAT表項信息中轉換之后的源端口號的唯一性。
[0101] 進一步地,如圖3所示,本實施例所提供的基于WFP框架的數據傳輸裝置還可以進 一步包括監控單元31,用于監控所述WFP框架的資源分配層為所述終端分配的端口號;相 應地,所述發送單元23,還可以進一步用于若所述WFP框架的資源分配層為所述終端分配 的端口號,與所述NAT設備表項中的所述轉換之后的源端口號,相同,則向所述WFP框架的 資源分配層發送指示信息,用以指示端口沖突,以使得所述WFP框架的資源分配層為所述 終端重新分配新的端口號。
[0102] 這樣,通過監控單元監控WFP框架的資源分配層為所述終端分配的端口號,若所 述WFP框架的資源分配層為所述終端分配的端口號,與所述NAT設備表項中的所述轉換之 后的源端口號,相同,發送單元則向所述WFP框架的資源分配層發送指示信息,用以指示端 口沖突,以使得所述WFP框架的資源分配層為所述終端重新分配新的端口號,能夠有效避 免WFP框架的資源分配層為終端分配的端口號與NAT表項信息中的轉換之后的源端口號發 生端口沖突的問題,從而保證了 WFP框架的資源分配層為終端分配的端口號,以及NAT表項 信息中轉換之后的源端口號的唯一性。
[0103] 可選地,在本實施例的一個可能的實現方式中,如圖4所示,本實施例所提供的基 于WFP框架的數據傳輸裝置還可以進一步包括事件單元41,用于接收通知事件,所述通知 事件為所述操作系統根據所述終端上設置的網卡的轉發屬性的狀態信息發送;其中,所述 通知事件,用于指示所述終端上設置的網卡的轉發屬性是否開啟。例如,操作系統的IP幫 助(IP Helper)模塊可以監控網卡的轉發屬性的狀態信息,例如,轉發屬性由開啟變為關閉 等狀態變化,進而根據網卡的轉發屬性的狀態信息,生成相應的通知事件,并發送,以指示 所述終端上設置的網卡的轉發屬性是否開啟。
[0104] 具體地,事件單元41所接收的通知事件,指示所述終端上設置的網卡的轉發屬性 沒有開啟,例如,一些惡意軟件將網卡的轉發屬性關閉等,那么,事件單元41則可以執行安 全操作,例如,告警操作、開啟網卡的轉發屬性的操作等。這樣,可以有效防止網卡的轉發屬 性沒有開啟或異常關閉,保證了 NAT設備的正常工作,從而能夠進一步提高數據包傳輸的 可靠性。
[0105] 這樣,通過接收通知事件,進而獲知終端上設置的網卡的轉發屬性是否開啟,使得 能夠執行修復操作,例如,在終端上設置的網卡的轉發屬性關閉的情況下,重新開啟終端上 設置的網卡的轉發屬性,以保證WFP框架的轉發層能夠正常接收來自局域網設備的第一數 據包,進而創建NAT表項信息,從而能夠進一步提高數據包傳輸的可靠性。
[0106] 可選地,在本實施例的一個可能的實現方式中,所述接收單元21,還可以進一步用 于在所述WFP框架的接收層,接收來自所述外網設備的第二數據包;所述表項單元22,進而 可以進一步用于根據所述第二數據包,獲得所述第二數據包對應的所述NAT表項信息;發 送單元23,則可以進一步用于根據所述NAT表項信息,在所述WFP框架的接收層,將所述第 二數據包發送給所述局域網設備。
[0107] 本實施例中,通過在終端的操作系統上運行的WFP框架的轉發層,接收來自局域 網設備的第一數據包,進而根據所述第一數據包,創建所述第一數據包對應的NAT表項信 息,使得能夠根據所述NAT表項信息,在所述WFP框架的轉發層,向外網設備發送所述第一 數據包,能夠實現在一臺普通的終端上實現NAT表項信息的創建,從而導致了數據包傳輸 的可靠性。
[0108] 另外,采用本發明提供的技術方案,通過根據WFP框架的資源分配層為終端已經 分配的端口號,獲得轉換之后的源端口號,能夠有效避免NAT表項信息中的轉換之后的源 端口號與WFP框架的資源分配層為終端已經分配的端口號發生端口沖突的問題,從而保證 了 WFP框架的資源分配層為終端分配的端口號,以及NAT表項信息中轉換之后的源端口號 的唯一性。
[0109] 另外,采用本發明提供的技術方案,通過監控WFP框架的資源分配層為所述終端 分配的端口號,若所述WFP框架的資源分配層為所述終端分配的端口號,與所述NAT設備表 項中的所述轉換之后的源端口號,相同,則向所述WFP框架的資源分配層發送指示信息,用 以指示端口沖突,以使得所述WFP框架的資源分配層為所述終端重新分配新的端口號,能 夠有效避免WFP框架的資源分配層為終端分配的端口號與NAT表項信息中的轉換之后的源 端口號發生端口沖突的問題,從而保證了 WFP框架的資源分配層為終端分配的端口號,以 及NAT表項信息中轉換之后的源端口號的唯一性。
[0110] 另外,采用本發明提供的技術方案,通過接收通知事件,進而獲知終端上設置的網 卡的轉發屬性是否開啟,使得能夠執行修復操作,例如,在終端上設置的網卡的轉發屬性關 閉的情況下,重新開啟終端上設置的網卡的轉發屬性,以保證WFP框架的轉發層能夠正常 接收來自局域網設備的第一數據包,進而創建NAT表項信息,從而能夠進一步提高數據包 傳輸的可靠性。
[0111] 所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統, 裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
[0112] 在本發明所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以 通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的 劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件 可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或 討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦 合或通信連接,可以是電性,機械或其它的形式。
[0113] 所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯 示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個 網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目 的。
[0114] 另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以 是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單 元既可以采用硬件的形式實現,也可以采用硬件加軟件功能單元的形式實現。
[0115] 上述以軟件功能單元的形式實現的集成的單元,可以存儲在一個計算機可讀取存 儲介質中。上述軟件功能單元存儲在一個存儲介質中,包括若干指令用以使得一臺計算機 裝置(可以是個人計算機,音頻處理引擎,或者網絡裝置等)或處理器(processor)執行本 發明各個實施例所述方法的部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲 器(Read-Only Memory,ROM)、隨機存取存儲器(Random Access Memory,RAM)、磁碟或者光 盤等各種可以存儲程序代碼的介質。
[0116] 最后應說明的是:以上實施例僅用以說明本發明的技術方案,而非對其限制;盡 管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然 可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替 換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的精 神和范圍。
【權利要求】
1. 一種基于WFP框架的數據傳輸方法,所述WFP框架運行在終端的操作系統上,其特征 在于,所述方法包括: 在所述WFP框架的轉發層,接收來自局域網設備的第一數據包; 根據所述第一數據包,創建所述第一數據包對應的NAT表項信息; 根據所述NAT表項信息,在所述WFP框架的轉發層,向外網設備發送所述第一數據包。
2. 根據權利要求1所述的方法,其特征在于,所述根據所述第一數據包,創建所述第一 數據包對應的NAT表項信息,包括: 根據所述第一數據包,獲得轉換之前的源地址、轉換之前的源端口號和協議類型; 根據所述WFP框架的資源分配層為所述終端已經分配的端口號,獲得轉換之后的源端 口號,所述轉換之后的源端口號與所述WFP框架的資源分配層已經分配的端口號中的任一 端口號不相同; 根據所述終端上設置的網卡的IP地址,獲得轉換之后的源IP地址; 利用所述轉換之前的源地址、所述轉換之前的源端口號、所述轉換之后的源地址、所述 轉換之后的源端口號和所述協議類型,創建所述NAT表項信息。
3. 根據權利要求2所述的方法,其特征在于,所述方法還包括: 監控所述WFP框架的資源分配層為所述終端分配的端口號; 若所述WFP框架的資源分配層為所述終端分配的端口號,與所述NAT設備表項中的所 述轉換之后的源端口號,相同,向所述WFP框架的資源分配層發送指示信息,用以指示端口 沖突,以使得所述WFP框架的資源分配層為所述終端重新分配新的端口號。
4. 根據權利要求1所述的方法,其特征在于,所述方法還包括: 接收通知事件,所述通知事件為所述操作系統根據所述終端上設置的網卡的轉發屬性 的狀態信息發送;其中, 所述通知事件,用于指示所述終端上設置的網卡的轉發屬性是否開啟。
5. 根據權利要求1?4任一權利要求所述的方法,其特征在于,所述根據所述NAT表項 信息,在所述WFP框架的轉發層,向外網設備發送所述第一數據包之后,還包括: 在所述WFP框架的接收層,接收來自所述外網設備的第二數據包; 根據所述第二數據包,獲得所述第二數據包對應的所述NAT表項信息; 根據所述NAT表項信息,在所述WFP框架的接收層,將所述第二數據包發送給所述局域 網設備。
6. -種基于WFP框架的數據傳輸裝置,所述WFP框架運行在終端的操作系統上,其特征 在于,所述裝置包括: 接收單元,用于在所述WFP框架的轉發層,接收來自局域網設備的第一數據包; 表項單元,用于根據所述第一數據包,創建所述第一數據包對應的NAT表項信息; 發送單元,用于根據所述NAT表項信息,在所述WFP框架的轉發層,向外網設備發送所 述第一數據包。
7. 根據權利要求6所述的裝置,其特征在于,所述表項單元,具體用于 根據所述第一數據包,獲得轉換之前的源地址、轉換之前的源端口號和協議類型; 根據所述WFP框架的資源分配層為所述終端已經分配的端口號,獲得轉換之后的源端 口號,所述轉換之后的源端口號與所述WFP框架的資源分配層已經分配的端口號中的任一 端口號不相同; 根據所述終端上設置的網卡的IP地址,獲得轉換之后的源IP地址;以及 利用所述轉換之前的源地址、所述轉換之前的源端口號、所述轉換之后的源地址、所述 轉換之后的源端口號和所述協議類型,創建所述NAT表項信息。
8. 根據權利要求7所述的裝置,其特征在于,所述裝置還包括監控單元,用于監控所述 WFP框架的資源分配層為所述終端分配的端口號; 所述發送單元,還用于若所述WFP框架的資源分配層為所述終端分配的端口號,與所 述NAT設備表項中的所述轉換之后的源端口號,相同,向所述WFP框架的資源分配層發送指 示信息,用以指示端口沖突,以使得所述WFP框架的資源分配層為所述終端重新分配新的 端口號。
9. 根據權利要求6所述的裝置,其特征在于,所述裝置還包括事件單元,用于接收通知 事件,所述通知事件為所述操作系統根據所述終端上設置的網卡的轉發屬性的狀態信息發 送;其中, 所述通知事件,用于指示所述終端上設置的網卡的轉發屬性是否開啟。
10. 根據權利要求6?9任一權利要求所述的裝置,其特征在于, 所述接收單元,還用于 在所述WFP框架的接收層,接收來自所述外網設備的第二數據包; 所述表項單元,還用于 根據所述第二數據包,獲得所述第二數據包對應的所述NAT表項信息; 發送單元,還用于 根據所述NAT表項信息,在所述WFP框架的接收層,將所述第二數據包發送給所述局域 網設備。
【文檔編號】H04L29/12GK104125311SQ201410272639
【公開日】2014年10月29日 申請日期:2014年6月18日 優先權日:2014年6月18日
【發明者】葉愛平, 蔣嘉琦, 位廣軍, 秦皓, 桂敬文, 韓龍, 馬家智, 王博通, 張凱, 王嬋娟, 彭立志 申請人:安一恒通(北京)科技有限公司