用以減少集中的第二層網絡的無線網絡包的方法和系統的製作方法
2024-02-19 20:25:15 2
用以減少集中的第二層網絡的無線網絡包的方法和系統的製作方法
【專利摘要】一種操作通信系統的方法,包括以下步驟:從第一網絡接口中接收第一OSI第二層包;確定所述第一OSI第二層包的傳輸類型;根據所述第一OSI第二層包的所述傳輸類型、起源和目的地確定是否發送第二OSI第二層包;當確定發送所述第二OSI第二層包時,確定所述第二OSI第二層包的目標地址和傳輸類型;並且當確定發送所述第二OSI第二層包時,通過第二網絡接口發送所述第二OSI第二層包;其中當所述第一OSI第二層包被封裝在至少一個第三層包中時,所述第二OSI第二層包未被封裝在任何OSI第三層包中;並且其中當所述第一OSI第二層包未被封裝在任何開放系統互連(OSI)第三層包中時,所述第二OSI第二層包被封裝在至少一個OSI第三層包中。
【專利說明】用以減少集中的第二層網絡的無線網絡包的方法和系統
[0001]發明概沭
[0002]能夠建立和終止至少一個第二層隧道(例如,通過使用第二層隧道協議(L2TP)建立的VPN)的通信系統通過將第一個第二層包從廣播或組播轉換成單播第二層包而減少廣播或組播包並且將單播第二層包轉換成廣播或組播包。所述通信系統根據傳輸類型、第一個第二層包的起源或第一個第二層包的目的地確定是否進行所述轉換。根據本發明各實施例中的一者,通信系統可以確定不發送廣播或組播第二層包。
[0003]根據本發明各實施例中的一者,通信系統通過在預定埠號處交換用戶數據協議(UDP)包而了解單播第二層包的目標地址。通信系統攔截到達特定UDP埠處的任何UDP包並且檢查這些UDP包的有效負載。如果有效負載匹配預定格式或內容,則通信系統能夠將UDP包的發送器的第二層和第三層地址識別為用於第二層單播目標地址的地址。
【背景技術】
[0004]使主機能夠經由光纜、銅纜或無線電鏈路通信的無線網絡通信系統的使用已廣泛普及。主機被嵌入到無線通信電子設備中,以與其他主機通信,並且還經由接入點連接到核心網絡上,例如,區域網(LAN)以及網際網路。接入點轉送主機與核心網絡之間以及主機之間的網絡包。
[0005]主機和基站使用開放系統互連(OSI)第二層技術(例如,乙太網)與核心網絡通信,並且在處理廣播和組播網絡包時彼此效率較低。網際網路協議(IP)網絡上的一種類型的廣播網絡包屬於地址解析協議(ARP)協議網絡包。對於組播網絡包,網際網路組管理協議(IGMP)是由主機和相鄰路由器使用以建立組播組成員的多個通信協議中的一者。
[0006]由於歷史技術的發展,屬於相同第二層網絡的主機通常是靠近的並且分享相同的通信信道或彼此通信的成本較低。因此,第二層網絡中的廣播和組播包尚未成為重要的關注問題。當第二層網絡通過第三層網絡形成時,隨著包的數量增加,第二層網絡中的廣播和組播包會成為關注的問題。ARP代理、代理伺服器、LAN分段、高速緩存是減少第二層廣播和組播包的常用方法。
[0007]當第二層包通過例如第二層隧道協議(L2TP)和虛擬專用網絡(VPN)封裝在第三層包中時,廣播和組播包的數量會對第三層網絡性能產生嚴重的負面影響。此外,當無線電頻譜用於傳輸第三層包時,可能不具有轉變廣播和組播包的足夠能力。
[0008]現有技術ARP代理、代理伺服器、LAN分段、高速緩存以及其他廣播和多播包減少技術不允許選擇性地傳輸廣播和多播包,且尤其是源自行動網路裝置的廣播和多播包通過第三層網絡的傳輸。
[0009]美國專利7,356,032揭示了一種用於通過使用高速緩衝存儲器來將乙太網/IP位址對存儲在每個基站中而減少移動單元之間的廣播包的系統和方法。然而,如果移動單元使用OSI第二層協議通過第三層網絡連接到核心網絡上,則美國專利7,356,032無法減少廣播包。此外,美國專利7,356,032依靠無線接入點來管理ARP包。這也會增加無線接入點的設計的複雜性。
[0010]圖1圖示了網絡環境,其中通信系統和主機,例如,客戶端計算機111、112、113和114直接聯接到廣域網(WAN)或網際網路。在此特定的網絡環境中,所屬領域的技術人員將理解,當客戶端計算機111通過以下步驟將OSI第三層包發送到網際網路:第一,客戶端計算機111通過無線電鏈路121將OSI第三層包發送到無線接入點(AP) 101 (計算機第二層包),其中第二層包封裝來自計算機111的第三層包(計算機第三層包);第二,APlOl通過互連網絡(例如,網際網路103)通過使用第三層包(AP第三層包)與隧道終止網關104通信,以封裝計算機第二層包;第三,隧道終止網關104去封裝AP第三層包,以重新得到計算機第二層包並且通過專用網絡105將計算機第二層包發送到網際網路網關106 ;最後,網際網路網關106去封裝計算機第二層包,以重新得到計算機第三層包並且將計算機第三層包發送到網際網路103。
[0011]當存在來自網際網路103的客戶端計算機111的OSI第三層包時:第一,網際網路網關106從網際網路103接收第三層包(網際網路包)並且通過將網際網路包封裝在第二層包(網關第二層包)中而將網際網路包發送到隧道終止網關104 ;第二,隧道終止網關104將網關第二層包封裝在第三層包中(隧道第三層包)並且通過網際網路103將隧道第三層包發送到APlOl ;第三,APlOl去封裝隧道第三層包,以重新得到網關第二層包並且通過無線電鏈路121將網關第二層包發送到客戶端計算機111 ;最後,客戶端計算機111通過從網關第二層包中去封裝網際網路包而重新得到網際網路包。
[0012]APlOl和隧道終止網關104通過使用第三層包通過第二層隧道連接。第二層隧道可以通過使用L2TP或其他隧道協議來實施。本發明的普通技術人員將理解如何使用第三層包在兩個通信系統之間建立第二層隧道的多種其他組合和排列。
[0013]通過客戶端計算機112與網際網路103通信的步驟類似於通過客戶端計算機111與網際網路103通信的步驟。相同的步驟應用於計算裝置113和114,然而替代APlOl而使用AP102。與網際網路103通信的步驟同樣如何通過無線接入點、隧道終止網關104、專用網絡105和網際網路網關106應用於主機、客戶端計算機、計算裝置和通信系統對所屬領域的技術人員而言是明了的。
[0014]可以注意到,伺服器115和客戶端計算機111、112、113和114都屬於相同的第二層網絡,因為它們通過APlOl與隧道終止網關104之間以及AP102與隧道終止網關104之間的第三層網絡連接。因此,當伺服器115發送第二層廣播或組播包時,廣播或組播包隨後由隧道終止網關104、APlOl和AP102複製,並且被發送到客戶端計算機111、112、113和114。這種類型的廣播或組播網絡包可以容易地消耗APlOl與網際網路103之間、AP102與網際網路103之間、隧道終止網關104與網際網路103之間的網絡資源、APlOl的無線電頻譜以及AP102的無線電頻譜的重要部分。本發明旨在減少剛剛描述的網絡環境中的廣播和組播網絡包。
【具體實施方式】
[0015]隨後的說明僅提供優選的示例性實施例,並且並不意圖限制本發明的範圍、適用性或配置。相反,優選的示例性實施例的隨後說明將為所屬領域的技術人員提供用於實施本發明的優選示例性實施例的授權說明。應了解,在不脫離所附權利要求書所闡釋的本發明的精神和範圍的前提下,可以在元件的功能和布置上對本發明作各種變化。
[0016]在以下描述中,給出具體的細節以提供對各實施例的徹底了解。然而,所屬領域的技術人員將了解,可以在沒有這些特定細節的情況下實踐各實施例。例如,電路可以以框圖示出,以便不以不必要的細節混淆實施例。在其他情況下,已經示出了眾所周知的電路、過程、算法、結構和技術而沒有提供不必要的細節,從而避免混淆實施例。
[0017]還應注意,各實例可以被描述為一個過程,所述過程被描繪為流程圖、流程圖表、數據流程圖表、結構圖,或框圖。雖然流程圖可以將操作描述為順序過程,但是許多操作可以並行地或同時地執行。另外,操作順序可以被重新布置。當完成其操作時過程被終止,但是所述過程可以具有不包括在圖中的額外步驟。過程可以指代方法、函數、步驟、子例程、子程序等。當過程對應於函數時,其終止對應於所述函數到調用函數或主函數的返回。
[0018]此外,如本文中所揭示,術語「計算機存儲媒體」可以表示用於存儲數據的一個或多個裝置,包括只讀存儲器(ROM)、隨機存取存儲器(RAM)、磁性RAM、核心存儲器、磁碟存儲媒體、光學存儲媒體、快閃記憶體裝置和/或用於存儲信息的其他機器可讀媒體。術語「機器可讀媒體」包括但不限於,可攜式的或固定的存儲裝置、光學存儲裝置、無線信道以及能夠存儲、含有或傳送指令和/或數據的各種其他媒體。
[0019]此外,實施例可以由硬體、軟體、固件、中間軟體、微代碼、硬體描述語言,或其任意組合來實施。當在軟體、固件、中間軟體或微代碼中實施時,將要執行必要任務的程序代碼或代碼區段可以儲存在機器可讀媒體中,例如,計算機存儲媒體。處理單元可以執行必要的任務。代碼區段可以表示過程、函數、子例程、程序、例程、子例程、模塊、軟體包、類別或指令、數據結構或程序語句的任意組合。代碼區段可以通過傳遞和/或接收信息、數據、論據、參數或存儲器內容而耦合到另一代碼區段或硬體電路上。信息、論據、參數、數據等可以經由任何合適的構件進行傳遞、轉發或傳輸,所述構件包括存儲器共享、消息傳遞、記號傳遞、網絡傳輸等。
[0020]可以由通信系統(CS)提供的網絡接口,例如,LAN接口和WAN接口是乙太網接口、幀中繼接口、天線接口、光纖接口、電纜接口、DSL接口、令牌環接口、串行總線接口、通用串行總線(USB)接口、防火牆接口、外部組件互連(PCI)接口等。在一個變體中,網絡接口處於處理單元中,並且因此用於與光纖、電纜或天線連接的介質可以直接與處理單元連接。在一個變體中,網絡接口可以連接到用於W1-Fi網絡連接的W1-Fi適配器上。在一個變體中,網絡接口可以連接到USB埠上並且所述USB埠可以連接到用於無線WAN連接的外部數據機上,例如,USB3G數據機、USB LTE數據機、USB WiMAX數據機、USBW1-Fi數據機,或用於無線通信的其他數據機。本發明的普通技術人員將理解前述內容的多種其他組合和排列。
[0021]為了提高可讀性,開放系統互連(OSI)第二層在本發明中與第二層是可互換的,並且類似地OSI第三層與第二層是可互換的。
[0022]在本發明中與接入點可互換的基站是無線電接收器/發射器,所述無線電接收器/發射器用作本地無線網絡的網絡集線器,並且還可以是有線網絡與無線網絡之間的網關。所述基站可以由發射器和無線路由器組成。
[0023]主機是連接到計算機網絡上的電子裝置,例如,行動電話、計算機、伺服器、路由器、轉換器、傳感器等等。主機可以向用戶或網絡上的其他節點提供信息資源、服務以及應用程式。主機是分配有網絡層主機地址的網絡節點。主機可以具有被分配到它們的網絡接口上的一個或多個網際網路協議(IP)地址。這些地址由管理者在啟動時自動地藉助於動態主機配置協議(DHCP)或由無狀態地址自動配置方法手動地進行配置。
[0024]預定的第二層廣播目標地址是由CS稱作廣播地址的地址,包括十六進位的乙太網廣播地址FF: FF: FF: FF: FF: FF、由用於專有廣播的CS製造商使用的地址,以及由用於專有廣播的CS製造商的管理者配置的地址。組播目標地址是由CS稱作組播地址的地址,包括由CS通過IGMP 了解的組播地址。
[0025]CS是能夠建立和終止至少一個第二層隧道的主機,例如,通過使用L2TP、接收第二層包以及發送第二層包建立的VPN。由於CS必須能夠建立和終止至少一個第二層隧道,因此CS必須能夠接收和發送第三層包。CS可以通過無線和/或有線網絡傳送到其他主機。CS可以是能夠處理IEEE802.11協議的802.11接入點。CS可以是網際網路協議(IP)路由器。CS可以是具有乙太網轉換功能的IP路由器。CS可以是通過使用一個或多個OSI第二層協議能夠與其他主機通信的主機,例如,乙太網、高速分組接入(HSPA)、HSPA+、長期演進(LTE)、WiMax、GPRS、EDGE、GSM、CDMA、WiF1、CDMA2000、WCDMA、TD-SCDMA、BLUET00TH 以及WiBRO0
[0026]圖2是圖示了根據本發明一實施例中的通信系統減少廣播和組播包的方法的流程圖。當通信系統(CS)在步驟200通過網絡連接接收第二層包(接收到的L2包)(這可以通過不同網絡連接技術實施,包括無線、有線和光學纖維)時,在步驟201CS確定接收到的L2包的傳輸類型是廣播的、組播的還是單播的。根據本發明各實施例中的一者,CS通過檢查接收到的L2包的目標地址來確定傳輸類型。在乙太網網絡中,介質訪問控制地址(MAC地址),即,組播和廣播地址是十六進位FF: FF: FF: FF: FF: FF。由於接收到的L2包可以被封裝在一個或多個第三層包(接收到的L3包)中,因此CS可能需要在步驟201去封裝接收到的L3包,以重新得到接收到的L2包。通過使用IP來彼此通信的主機可以使用IGMP,以確定組播地址。
[0027]在步驟202CS確定是否發送另一第二層包(CSL2包)。根據本發明各實施例中的一者,如果接收到的L2包的傳輸類型是單播的,則CS發送CSL2包。根據本發明各實施例中的一者,如果接收到的L2包的傳輸類型是廣播的或組播的,則CS不發送CSL2包。根據本發明各實施例中的一者,如果接收到的L2包的傳輸類型是單播的且接收到的L2包的目標地址是預先確定的地址,則CS發送廣播或組播CSL2包。根據本發明各實施例中的一者,如果接收到的L2包的傳輸類型是單播的且接收到的L3包在預定埠處接收,則CS發送廣播CSL2包。根據本發明各實施例中的一者,是否發送CSL2包的決定是基於一個或多個預定規則(簡稱預定規則)確定的。
[0028]CSL2包是基於接收到的L2包確定的。由CSL2包傳送的內容來自由接收到的L2包傳送的內容。
[0029]CSL2包的目標地址在步驟204確定。根據本發明各實施例中的一者,當CSL2包的傳輸類型是廣播的時,目標地址是廣播地址,例如乙太網中使用的FF: FF: FF: FF: FF: FF。當CSL2包的傳輸類型是單播的時,目標地址是CSL2包的接收器的第二層地址,例如,乙太網協議中的CSL2包的接收器的介質訪問控制(MAC)地址。根據本發明各實施例中的一者,根據預定規則確定目標地址。
[0030]預定規則的組合的數目可以是無數的。網絡管理者和/或通信系統製造商可以根據它們的需要和網絡環境配置預定規則。
[0031]預定規則可以由CS管理者手動地輸入到CS、本地地或遠程地從伺服器中重新得到或由CS的製造商預先確定。預定規則被存儲在可以在CS或另一裝置中實施的機器可讀媒體中。
[0032]情形
[0033]實施方案考慮至少以下八種情形。前四種情形與實施本發明的CS相關聯,本發明為連接到專用網絡105和網際網路103上的隧道終止網關104。隧道終止網關104可以通過使用路由器、伺服器、交換機或能夠終止第二層隧道的任何通信系統來實施。隧道終止網關104決定是否發送CSL2包,並且確定根據以下四種情形的目標地址且可以以預定規則實施。
[0034]後四種情形與實施例本發明的CS相關聯,本發明為AP,例如APlOl和AP102且連接到主機上,例如,計算裝置111、112、113和114以及網際網路103。APlOl和AP102也可以通過使用路由器、伺服器、交換機或能夠無線地通信並且終止第二層隧道的任何通信系統來實施。APlOl或AP102決定是否發送CSL2包,並且確定根據接下來四種情形的目標地址且可以根據一組預定規則實施。
[0035]第一情形是接收到的L2包由隧道終止網關104通過具有預定的第二層廣播目標地址或組播目標地址的網際網路103接收。根據本發明各實施例中的一者,由於接收到的L2包的目標地址是預定的廣播或組播目標地址;因此隧道終止網關104確定接收到的L2包是否意圖用於廣播或組播到專用網絡105。因此,隧道終止網關104決定在步驟202,CSL2包將利用廣播傳輸類型或組播傳輸類型發送到專用網絡,並且在步驟204,目標地址為廣播或組播第二層地址。接收到的L2包的預定的第二層廣播目標或組播地址可以是任何第二層地址,例如,乙太網的FF:FF:FF:FF:FF:FF,只要隧道終止網關104能夠識別出具體第二層地址的使用是出於廣播或組播目的。當接收到的L2包源自計算裝置111-114中的一者時,接收到的L2包與先前提及的計算機第二層包相同。
[0036]圖3A圖示了當接收到的L2包301通過AP發送且通過隧道終止網關104接收時,通過隧道終止網關104接收和發送的2級和3級包之間的關係。此處,接收到的L2包301是計算機第二層包,所述計算機第二層包封裝計算機第三層包且被封裝在AP第三層包303中。計算機第三層包是由計算裝置,即,計算裝置111-114中的一者發送的第三層包。隧道終止網關104去封裝AP第三層包303,以重新得到計算機第二層包,所述計算機第二層包現在變成CSL2包,因為隧道終止網關104將CSL2包302發送到專用網絡104。計算機第三層包保持封裝在CSL2包中。
[0037]根據本發明各實施例中的一者,當預定的第二層廣播或組播目標地址是隧道終止網關104的第二層地址時,隧道終止網關104檢查計算機第三層包的埠數,所述計算機第三層包被封裝在接收到的L2包中,以確定接收到的L2包是用於廣播目的還是組播目的。
[0038]第二情形是接收到的L2包由隧道終止網關104通過具有非預定的第二層廣播或組播目標地址的網際網路103接收。根據本發明各實施例中的一者,由於接收到的L2包的目標地址不是預定的廣播或組播目標地址,因此隧道終止網關104可以確定接收到的L2包是否意圖用於單播到專用網絡105中的具體第二層地址。因此,隧道終止網關104決定在步驟202,CSL2包將通過專用網絡利用單播傳輸類型發送到裝置,例如,網關106和伺服器115,並且在步驟204,目標地址是單播第二層地址。當接收到的L2包源自計算裝置111-114中的一者時,接收到的L2包與先前提及的計算機第二層包相同。
[0039]應注意,當隧道終止網關104通過網際網路103接收接收到的L2包時,接收到的L2包被封裝在AP第三層包中。隧道終止網關104可以去封裝AP第三層包,以重新得到接收到的L2包。根據本發明各實施例中的一者,去封裝過程由終止建立有APlOl和AP102的第二層隧道的另一通信系統傳導。在此種情況下,接收到的L2包從該通信系統中接收。
[0040]不管CSL2包的傳輸類型如何,當隧道終止網關104通過專用網絡105發送CSL2包時,在步驟205,隧道終止網關104不需要將CSL2包封裝在一個或多個第三層包中,因為專用網絡105是第二層網絡。因此,隨後執行步驟206,而不是步驟207。
[0041]第三情形是接收到的L2包由隧道終止網關104通過具有預定的第二層廣播或組播目標地址的專用網絡105接收。根據本發明各實施例中的一者,由於接收到的L2包的目標地址是預定的廣播或組播目標地址,因此隧道終止網關104可以確定接收到的L2包意圖用於通過網際網路103廣播或組播到AP101-102以及計算裝置111-114。因此,隧道終止網關104決定在步驟202,不發送CSL2包,以便減少網絡包和/或保存無線頻譜。操作在步驟203停止。
[0042]圖3B圖示了當接收到的L2包301通過專用網絡104接收時,通過隧道終止網關104接收和發送的2級和3級包之間的關係。由隧道終止網關104接收的接收到的L2包301是網關第二層包,所述網關第二層包封裝網際網路包。網際網路包是由網關106接收的且意圖發送到計算裝置111-114中的一者上或所有計算裝置上的第三層包。CSL2包302被封裝在隧道第三層包304中並且與網關第二層包相同。如果傳輸類型是單播的,則隧道終止網關104將隧道第三層包304發送到AP中的一者上,或者如果傳輸類型是廣播的或組播的,則隧道終止網關104將隧道第三層包304發送到所有AP上。
[0043]第四情形是接收到的L2包通過具有非預定的第二層廣播或組播目標的專用網絡105接收。根據本發明各實施例中的一者,由於接收到的L2包的目標地址不是預定的第二層廣播或組播目標,因此隧道終止網關104確定接收到的L2包意圖用於單播到屬於通過網際網路103可獲得的計算裝置111-114中的一者的特定第二層地址。因此,隧道終止網關決定在步驟202,CSL2包將通過網際網路103利用單播傳輸類型發送,並且在步驟204,目標地址是計算裝置111-114以及AP101-102中的一者的特定第二層地址。在步驟205,CSL2包經確定以被封裝在一個或多個第三層包中,並且在步驟207,與隧道第三層包相同的一個或多個第三層包被發送。
[0044]應注意,當從網關104中接收接收到的L2包時,接收到的L2包可以已被封裝在網際網路包中。在此種情況下,接收到的L2包與網關第二層包相同並且隧道第三層包封裝CSL2包。
[0045]第五情形是接收到的L2包由APlOl從具有預定的第二層廣播或組播目標地址的直接連接的主機中接收,例如,計算裝置113。根據本發明各實施例中的一者,由於接收到的L2包的目標地址是預定的廣播或組播目標地址,因此APlOl能夠分別確定接收到的L2包意圖用於廣播或組播。因此,在步驟202決定CSL2包利用廣播或組播傳輸類型被發送到隧道終止網關104,並且在步驟204,目標地址可以是隧道終止網關104的廣播第二層地址或第二層地址。由於隧道終止網關104僅通過網際網路103是可獲得的,因此AP102必須通過網際網路103發送CSL2包。在步驟205和步驟207,AP102通過使用隧道終止網關104的第三層地址經由網際網路103將CSL2包封裝在為AP第三層包的一個或多個第三層包中且將CSL2包發送到隧道終止網關104。
[0046]圖3C圖示了當接收到的L2包301從計算裝置111-114中的一者接收時,通過AP接收和發送的2級和3級包之間的關係。由AP接收的接收到的L2包301是計算機第三層包。AP從接收到的L2包301中重新得到計算機第三層包,並且將計算機第三層包封裝在CSL2包302中,所述CSL2包被封裝在AP第三層包303中。隨後,AP將AP第三層包303發送到隧道終止網關104。
[0047]AP第三層包的埠數可以被設置到預定的埠數,以通知隧道終止網關104:AP第三層包封裝意圖用於廣播的CSL2包。取決於APlOl的製造商和/或管理者的偏好,APlOl可以或不可以將接收到的L2包廣播到直接連接的其他主機。如果APlOl未將CSL2包廣播到直接連接的其他主機,則可以減少網絡包。如果在步驟205,APlOl決定將CSL2包廣播到直接連接的其他主機,則在步驟207,CSL2包隨後被發送到主機。
[0048]第六情形是接收到的L2包由APlOl從具有非預定的第二層廣播或組播目標地址的直接連接的主機中接收,例如,計算裝置111。根據本發明各實施例中的一者,由於接收到的L2包的目標地址不是預定的廣播目標地址,因此APlOl可以確定接收到的L2包意圖用於單播到特定第二層地址,所述第二層地址可以屬於直接連接到APlOl上的另一裝置,例如計算裝置112或通過網際網路103可獲得的相同第二層網絡中的另一裝置。因此,APlOl決定在步驟202,CSL2包將被發送且還決定在步驟204,傳輸類型是單播的。CSL2包的第二層目標地址是接收到的L2包的目標地址。如果APlOl可以在不穿過網際網路103(例如,計算裝置112)的情況下發送CSL2包的目標地址,則APlOl可以將CSL2包發送到具有第三層封裝的計算裝置112。如果APlOl必須通過網際網路103發送CSL2包,則在步驟205和步驟207,APlOl通過使用隧道終止網關104的第三層地址經由網際網路103將CSL2包封裝在為AP第三層包的一個或多個第三層包中且將CSL2包發送到隧道終止網關104。
[0049]第七情形是接收到的L2包由APlOl通過具有預定的第二層廣播目標地址的網際網路103接收。出於說明的目的使用圖1,當接收到的L2包的目標地址是預定的廣播目標地址時,接收到的L2包意圖用於廣播到計算裝置111和112。取決於APlOl的製造商和/或管理者的偏好,在步驟202,APlOl可以或不可以將接收到的L2包廣播到其他計算裝置111和112。如果APlOl未將CSL2包廣播到直接連接的主機,則可以減少網絡包並且在步驟203過程停止。如果在步驟202,APlOl決定將CSL2包廣播到直接連接的其他主機,則在步驟204,CSL2包的目標地址是預定的第二層廣播目標,例如,乙太網中的MAC地址FF:FF:FF:FF:FF:FF。由於計算裝置111和112處於相同的第二層網絡中,因此在步驟205不存在第三層封裝且在步驟206發送CSL2包。
[0050]圖3D圖示了當接收到的L2包301通過隧道終止網關104發送且通過APlOl或102中的一者接收時,通過AP接收和發送的2級和3級包之間的關係。此處,接收到的L2包301是網關第二層包,所述網關第二層包封裝網際網路包並且被封裝在隧道第三層包304中。AP去封裝隧道第三層包304,以重新得到網關第二層包。出於說明的目的使用圖1,如果傳輸類型是單播的,則AP將作為網關第二層包的CSL2包302發送到計算裝置111-114中的一者,或者如果傳輸類型是廣播的,則AP將所述CSL2包發送到所有計算裝置111-114。
[0051]第八情形是接收到的L2包由APlOl通過具有非預定的第二層廣播目標地址的網際網路103接收。根據本發明各實施例中的一者,由於接收到的L2包的目標地址不是預定的廣播目標地址,因此接收到的L2包意圖用於單播到直接連接的特定計算裝置,例如,計算裝置111和112中的一者。因此,APlOl決定在步驟202,CSL2包將被發送且還決定在步驟204,傳輸類型是單播的。CSL2包的第二層目標地址是接收到的L2包的目標地址。在步驟205不具有第三層封裝的情況下,在步驟206,APlOl將CSL2包發送到計算裝置111或112。由於接收到的L2包通過網際網路103接收,因此所述接收到的L2包被封裝在一個或多個第三層包中,所述第三層包是源自隧道終止網關104的隧道第三層包。APlOl必須去封裝隧道第三層包,以便重新得到接收到的L2包。
[0052]應注意,包含在接收到的L2包中的有效負載應該與包含在CSL2包中的有效負載相同,但是接收到的L2包的第二層目標地址可以不同於CSL2包的第二層目標地址。這是因為可以是AP或隧道終止網關的CS可以改變第二層目標地址,以便將第二層廣播或組播目標地址轉換成第二層單播目標地址。
[0053]根據本發明各實施例中的一者,代替依靠接收到的L2包的第二層目標地址或依靠第三層包的埠數,封裝接收到的L2包,以確定接收到的L2包是否意圖用於廣播或組播,CS檢驗存儲在接收到的L2包中的有效負載中的信息,以便作出決定。
[0054]根據本發明各實施例中的一者,接收到的L2包封裝IP位址解析協議(ARP)包,所述IP位址解析協議包可以是探測、通知或回復包。如果ARP包是探測或通知包,則接收到的L2包的傳輸類型是廣播的或組播的。隨後取決於接收到的L2包的起源,例如,來自專用網絡105或來自計算裝置111-114中的一者,CS(例如,AP101、AP102)或隧道終止網關104可以確定是廣播還是組播對應的CSL2包。如何識別接收到的L2包是否封裝IP ARP包和ARP包的類型對所屬領域的技術人員是明了的。
[0055]根據本發明各實施例中的一者,當接收到的L2包是ARP回復包時,CS(例如,AP10UAP102)或隧道終止網關104高速緩存ARP回復包的IP位址和MAC地址對。接收到的L2包的傳輸類型可以是單播的或廣播的。當CS接收另一接收到的L2包(所述另一接收到的L2包可以是單播的、廣播的或組播的,隨後含有ARP探測包)時,CS隨後通過發送具有高速緩存的IP位址和MAC地址對的CSL2包而對應於ARP探測包的發送器。因此,CS就像ARP高速緩衝存儲器。如何實施ARP高速緩衝存儲器對所屬領域的技術人員是明了的。計算機存儲媒體可以用作用於存儲高速緩存的IP位址和MAC地址對的高速緩衝存儲器。
[0056]根據本發明各實施例中的一者,接收到的L2包封裝IP動態主機配置協議(DHCP)包,所述IP動態主機配置協議包可以是發現、提供、請求、確認、信息或釋放包。如果DHCP包是發現或請求包,則包的傳輸類型是廣播的。隨後,取決於接收到的L2包的起源,例如,來自專用網絡105或來自計算裝置111-114中的一者,CS(例如,隧道終止網關104、AP101或AP102)隨後確定是廣播還是組播對應的CSL2包。如何識別接收到的L2包是否封裝IPDHCP包和DHCP包的類型對所屬領域的技術人員是明了的。
[0057]根據本發明各實施例中的一者,當接收到的L2包的傳輸類型是廣播的或組播的並且CSL2包的傳輸類型是單播的時,在乙太網情況下第二層目標地址從廣播地址FF:FF:FF:FF:FF:FF或組播地址變化到第二層單播地址。然而,如果CS是AP,例如,AP101-102中的一者,則AP需要了解第二層目標地址,所述第二層目標地址是隧道終止網關104的第二層地址。隧道終止網關104的第二層地址可以由網絡管理者輸入、通過詢問地址進行預先配置的另一通信系統或通過在發送預定的第三層包之後從響應中學習而接收。如果使用預定的第三層包,則AP隨後可以從預定的第三層包的回覆中了解目標地址。
[0058]根據本發明各實施例中的一者,當接收到的L2包的傳輸類型是廣播的或組播的時,在隧道終止網關104與AP之間變化的第三層包用於確定CSL2包的目標地址。AP和隧道終止網關104都接受相同的特定用戶數據協議(UDP)埠。AP首先將UDP包發送到隧道終止網關104的特定UDP埠,所述隧道終止網關的IP位址由AP從DHCP包或預先確定的配置中了解到。隧道終止網關104攔截到達特定UDP埠處的任何UDP包並且檢查這些UDP包的有效負載。如果有效負載匹配預定格式或內容,則隧道終止網關104隨後能夠識別AP的第二層地址,並且可以將第二 UDP包發送到AP的同一特定UDP埠,用於確認。當AP接收第二 UDP包時,AP還驗證第二 UDP包的有效負載是否匹配預定格式或內容,並且如果匹配,則AP存儲第二 UDP包的第二層源地址,例如,第二 UDP包的MAC地址。從那以後,直到網絡條件的進一步重新安排或變化,否則當接收到的L2包的傳輸類型是廣播的或組播的時,AP將CSL2包的目標地址設置成第二 UDP包的第二層源地址。
[0059]根據本發明各實施例中的一者,通信系統(例如,APlOU AP102)以及隧道終止網關104可以由兩個通信系統組成。第一通信系統負責通過使用第三層通信技術,例如,L2TP網絡伺服器建立第二層隧道。第二通信系統負責確定是否發送CSL2包、CSL2包的傳輸類型以及CSL2包的目標地址。
[0060]通信系統
[0061]圖4圖示了根據所述本發明的通信系統的本發明各實施例中的一者。通信系統401包括處理器單元402、數據存儲器405、至少一個LAN接口 402以及至少一個WAN接口403,用於與其他網絡設備一起使用,例如,WiMAX路由器、乙太網交換機、IP路由器以及其他分組網絡裝置、網絡管理和供給系統、本地PC等。處理器單元402分別耦合到數據存儲器405、LAN接口 402以及WAN接口 403上。可以用於網絡裝置401中的其他組件包括放大器、板級電子組件以及媒體處理器和其他專業化SoC或ASIC裝置。也可以按要求提供用於多種處理層和協議(例如,802.3,DOCSIS MAC、DHCP、SNMP、H.323/RTP/RTCP、VoIP、SIP 等)的支持。
[0062]通信系統401可以採用任何數目的物理形式,例如包括較大網絡邊緣內的多個離散模塊或卡中的一者或所屬領域中已知類型的網絡集線器裝置,並且還可以包括單獨的固件或與其他硬體/軟體組件組合的固件。或者,通信系統401可以是獨立的裝置或設置在其他計算裝置或網絡裝置處的模塊,並且甚至可以包括其自身的RF前端(例如,調製器、力口密器等)或光接口,以便直接與計算裝置和網絡裝置接合。可以使用多種其他配置。通信系統401還可以與其他類型的組件(例如,移動基站、衛星收發器、視頻機頂盒、編碼器/解碼器等)整合併且如果有需要形成要素。
[0063]處理單元404可以通過使用一個或多個中央處理單元、網絡處理器、微處理器、微控制器、FPGA、ASIC或能夠執行指令的任何裝置來實施,以執行系統的基本算術、邏輯和輸A /輸出操作。
[0064]計算機存儲媒體405可以通過使用DRAM、SDRAM、快閃記憶體RAM、光學存儲器、磁性存儲器、硬碟和/或能夠提供存儲能力的任何計算機可讀媒體中的至少一者來實施。計算機存儲媒體405可以用於向處理單元402提供指令並且提供數據存儲器,以存儲高速緩衝存儲器、標識符、條件、閾值、網絡性能數據、網頁、消息和其他數據,以便於通信系統401的操作。
[0065]當通信系統401通過在LAN接口 402或WAN接口 403中的網絡連接接收接收到的L2包時,處理單元404確定接收到的L2包的傳輸類型是廣播的、組播的還是單播的。網絡連接可以通過不同網絡連接技術(包括無線、有線以及光學纖維)來實施。根據本發明各實施例中的一者,處理單元404通過檢查接收到的L2包的目標地址確定傳輸類型。由於接收到的L2包可以被封裝在一個或多個接收到的L3包中,因此處理單元404可能需要去封裝接收到的L3包,以重新得到接收到的L2包。通過使用IP通信的主機可以使用IGMP,以確定組播地址。
[0066]處理單元404確定是否發送CSL2包。如果處理單元404確定發送CSL2包,則在接收到的L2包從LAN接口 402接收的情況下CSL2包通過WAN接口 403發送。另一方面,如果處理單元404確定發送CSL2包,則在接收到的L2包從WAN接口 403接收的情況下CSL2包通過LAN接口 402發送。根據本發明各實施例中的一者,如果接收到的L2包的傳輸類型是單播的,則處理單元404決定發送CSL2包。根據本發明各實施例中的一者,如果接收到的L2包的傳輸類型是廣播的或組播的,則處理單元404決定不發送CSL2包。根據本發明各實施例中的一者,如果接收到的L2包的傳輸類型是單播的且接收到的L2包的目標地址是預先確定的地址,則處理單元404決定發送廣播或組播CSL2包。根據本發明各實施例中的一者,如果接收到的L2包的傳輸類型是單播的且接收到的L3包在預定埠處接收,則處理單元404決定發送廣播CSL2包。根據本發明各實施例中的一者,是否發送CSL2包的決定是基於一個或多個預定規則確定的。
[0067]計算機存儲媒體405可以用於存儲由接收到的L2包傳送的內容。在一個變體中,在發送對應的CSL2包之後,由存儲在計算機存儲媒體405中的接收到的L2包傳送的內容隨後被移除,以便釋放數據存儲空間。
[0068]CSL2包的目標地址由處理單元404確定。根據本發明各實施例中的一者,處理單元404根據預定規則確定目標地址。預定規則被存儲在計算機存儲媒體405中。
[0069]參考先前所述的八種情形,通信系統的處理單元404(例如,隧道終止網關104、APlOl和AP102)執行以下功能:確定接收到的L2包是否意圖用於廣播、組播或單播;確定CSL2包的傳輸類型、CSL2包的目標地址;建立VPN ;終止VPN ;將第二層包封裝在至少一個第三層包中;從至少一個第三層包中去封裝第二層包;以及其他處理功能。
[0070]根據本發明各實施例中的一者,通信系統(例如,APlOU AP102)以及隧道終止網關104可以由至少一個第三層路由器和至少一個第二層交換機組成。至少一個第三層路由器負責通過使用第三層通信技術,例如,L2TP網絡伺服器來建立第二層隧道。至少一個第二層交換機負責確定是否發送CSL2包、CSL2包的傳輸類型以及CSL2包的目標地址。第三層路由器和第二層交換機中的每一者具有其自身的處理單元、計算機存儲媒體、LAN接口、WAN接口,以執行通信系統401的功能。至少一個第三層路由器用於連接到外部網絡上,例如,互連網絡或網際網路。至少一個第三層路由器的LAN接口連接到至少一個第二層交換機的埠中的一者上。至少一個第二層交換機的埠中的另一這連接到專用網絡上。如何實施至少一個第三層路由器和至少一個第二層交換機,用於執行通信系統401的功能對所屬領域的技術人員是明了的。
[0071]根據本發明各實施例中的一者,通信系統401的至少一個LAN接口是使主機能夠通過使用IEEE802.11協議而連接到通信系統上的802.11接口,包括802.1la,802.lib、802.Hg,802.1ln,802.1lac和802.1lad ;至少一個WAN接口是使通信系統401能夠經由IEEE802.16協議而連接到網絡間或網際網路上的802.16接口。在一個變體中,WiMAX數據機被嵌在通信系統401內側,並且因此WAN接口可以直接與天線連接。在一個變體中,IEEE802.11數據機被嵌在通信系統401內側,並且因此LAN接口可以直接與至少一個天線連接。在一個變體中,IEEE802.16數據機被嵌在通信系統401內側,並且因此WAN接口可以直接與至少一個天線連接。
【專利附圖】
【附圖說明】
[0072]圖1圖示了網絡環境,其中通信系統和主機,例如,客戶端計算機111、112、113和114直接傳送到廣域網(WAN)或網際網路。
[0073]圖2是圖示了根據本發明各實施例中一者的通信系統減少廣播和組播包的方法的流程圖。
[0074]圖3A圖示了當接收到的L2包301通過AP發送且通過隧道終止網關104接收時,通過隧道終止網關104接收和發送的2級和3級包之間的關係。
[0075]圖3B圖示了當接收到的L2包301通過專用網絡104接收時,通過隧道終止網關104接收和發送的2級和3級包之間的關係。
[0076]圖3C圖示了當接收到的L2包301從計算裝置111-114中的一者接收時,通過AP接收和發送的2級和3級包之間的關係。
[0077]圖3D圖示了當接收到的L2包301通過隧道終止網關104發送且通過APlOl或102中的一者接收時,通過AP接收和發送的2級和3級包之間的關係。
[0078]圖4圖示了根據所述本發明的通信系統的本發明各實施例中的一者。
【權利要求】
1.一種操作通信系統的方法,包括以下步驟:從第一網絡接口中接收第一開放系統互連(OSI)第二層包;確定所述第一 OSI第二層包的傳輸類型;根據所述第一 OSI第二層包的所述傳輸類型、起源和目的地確定是否發送第二 OSI第二層包,其中所述第二 OSI第二層包的內容是基於所述第一 OSI第二層包的內容確定的;當確定發送所述第二 OSI第二層包時,確定所述第二 OSI第二層包的目標地址和傳輸類型;並且當確定發送所述第二 OSI第二層包時,通過第二網絡接口發送所述第二 OSI第二層包;其中當所述第一 OSI第二層包被封裝在至少一個第三層包中時,所述第二 OSI第二層包未被封裝在任何OSI第三層包中;並且其中當所述第一 OSI第二層包未被封裝在任何開放系統互連(OSI)第三層包中時,所述第二OSI第二層包被封裝在至少一個OSI第三層包中。
2.根據權利要求1所述的方法,其中所述第二OSI第二層包的內容從計算機存儲媒體中重新得到。
3.根據權利要求1所述的方法,其中第一第二層包封裝網際網路協議(IP)地址解析協議(ARP)包。
4.根據權利要求3所述的方法,其進一步包括存儲包含在所述第一OSI第二層包中的所述IP ARP包,其中所述第一 OSI第二層包的傳輸類型是單播的並且其中所述第一 OSI第二層包是ARP回復。
5.根據權利要求1所述的方法,其中所述第一第二層包封裝IP動態主機配置協議(DHCP)包。
6.根據權利要求1所述的方法,其中所述第一第二層包和所述第二OSI第二層包包括以下通信標準中的 一者或多者:乙太網、高速分組接入(HSPA)、HSPA+、長期演進(LTE)、WiMax, GPRS, EDGE、GSM、CDMA、WiF1、CDMA2000、WCDMA、TD-SCDMA, BLUETOOTH 以及 WiBRO。
7.根據權利要求1所述的方法,其中所述通信系統是無線接入點。
8.根據權利要求1所述的方法,其中所述任何第三層包和所述至少一個OSI第三層包是IP包。
9.根據權利要求8所述的方法,其中所述第二OSI第二層包的所述目標地址通過在預定埠數處用戶數據協議(UDP)包的交換來確定。
10.根據權利要求8所述的方法,其中當所述第二OSI第二層包的傳輸類型經確定以進行廣播或組播並且第二 OSI第二層包被封裝在至少一個IP包中時,所述至少一個IP包的埠數被設置到預定值,用於識別所述第二 OSI第二層包的所述傳輸類型是廣播的還是組播的。
11.根據權利要求1所述的方法,其中當所述第一OSI第二層包被封裝在至少一個OSI第三層包中時,所述第一 OSI第二層包從虛擬專用網絡(VPN)中接收到,並且其中當所述第二 OSI第二層包被封裝在至少一個OSI第三層包中時,所述第二 OSI第二層包通過VPN發送。
12.一種通信系統,其包括至少兩個網絡接口、至少一個處理單元以及包括由所述至少一個處理單元可執行的程序指令的計算機存儲媒體,以執行以下操作:從第一網絡接口中接收第一 OSI第二層包;確定所述第一 OSI第二層包的傳輸類型;根據所述第一 OSI第二層包的所述傳輸類型、起源和目的地確定是否發送第二 OSI第二層包,其中所述第二 OSI第二層包的內容是基於所述第一 OSI第二層包的內容確定的;當確定發送所述第二 OSI第二層包時,確定所述第二 OSI第二層包的目標地址和傳輸類型;並且當確定發送所述第二 OSI第二層包時,通過第二網絡接口發送所述第二 OSI第二層包;其中當所述第一 OSI第二層包被封裝在至少一個OSI第三層包中時,所述第二 OSI第二層包未被封裝在任何OSI第三層包中;並且其中當所述第一 OSI第二層包未被封裝在任何OSI第三層包中時,所述第二 OSI第二層包被封裝在至少一個OSI第三層包中;其中所述至少一個處理單元耦合到所述至少兩個網絡接口和所述計算機存儲媒體上。
13.根據權利要求12所述的通信系統,其中所述第二OSI第二層包的內容從所述計算機存儲媒體中重新得到。
14.根據權利要求12所述的通信系統,其中所述第一OSI第二層包封裝IP ARP包。
15.根據權利要求14所述的通信系統,其中程序指令由所述至少一個處理單元可執行,以進一步執行以下操作:存儲包含在所述第一OSI第二層包中的所述IP ARP包,其中所述第一 OSI第二層包的傳輸類型是單播的並且其中所述第一 OSI第二層包是ARP回復。
16.根據權利要求12所述的通信系統,其中所述第一OSI第二層包封裝IP DHCP包。
17.根據權利要求12所述的通信系統,其中所述第一OSI第二層包和所述第二 OSI第二層包包括以下通信標準中的一者或多者:乙太網、高速分組接入(HSPA)、HSPA+、長期演進(LTE)、WiMax, GPRS, EDGE、GSM、CDMA、WiF1、CDMA2000、WCDMA、TDSCDMA、BLUETOOTH 以及WiBRO0
18.根據權利要求12所述的通信系統,其中所述通信系統是無線接入點。
19.根據權利要求12所述的通信系統,其中所述任何OSI第三層包和所述至少一個OSI第三層包是IP包。
20.根據權利要求19所述的通信系統,其中所述第二OSI第二層包的所述目標地址通過在預定埠數處m)P包的交換來確定。
21.根據權利要求19所述的通信系統,其中當所述第二OSI第二層包的傳輸類型經確定以進行廣播或組播並且第二 OSI第二層包被封裝在至少一個IP包中時,所述至少一個IP包的埠數被設置到預定值,用於識別所述第二 OSI第二層包的所述傳輸類型是廣播的還是組播的。
22.根據權利要求12所述的通信系統,其中當所述第一OSI第二層包被封裝在至少一個OSI第三層包中時,所述第一 OSI第二層包從虛擬專用網絡(VPN)中接收到,並且其中當所述第二 OSI第二層包被封裝在至少一個OSI第三層包中時,所述第二 OSI第二層包通過VPN發送。
23.根據權利要求22所述的通信系統,其中所述通信系統包括能夠終止VPN的至少一個OSI第三層路由器以及能夠接收和轉發第二層包的至少一個OSI第二層交換機。
24.根據權利要求22所述的通信系統,其中所述至少兩個網絡接口中的一者進一步包括802.11接口並且所述至少兩個網絡接口中的另一者進一步包括802.16接口。
【文檔編號】H04L29/06GK104081740SQ201280067636
【公開日】2014年10月1日 申請日期:2012年12月12日 優先權日:2012年12月12日
【發明者】吳錦超, 楊瑜, 廖家祺 申請人:柏思科技有限公司