TWI364967B - Out-of-band keep-alive mechanism for clients associated with network address translation systems - Google Patents

Out-of-band keep-alive mechanism for clients associated with network address translation systems Download PDF

Info

Publication number
TWI364967B
TWI364967B TW097105798A TW97105798A TWI364967B TW I364967 B TWI364967 B TW I364967B TW 097105798 A TW097105798 A TW 097105798A TW 97105798 A TW97105798 A TW 97105798A TW I364967 B TWI364967 B TW I364967B
Authority
TW
Taiwan
Prior art keywords
connection
application
nat
local application
packet
Prior art date
Application number
TW097105798A
Other languages
English (en)
Other versions
TW200843438A (en
Inventor
Shai Herzog
Marie Hagman
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of TW200843438A publication Critical patent/TW200843438A/zh
Application granted granted Critical
Publication of TWI364967B publication Critical patent/TWI364967B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/255Maintenance or indexing of mapping tables
    • H04L61/2553Binding renewal aspects, e.g. using keep-alive messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

1364.967. 第號專繼。。年/1 九、發明說明· 【發明所屬之技術領域】 本發明係關於與網路位址轉譯系統相關之客戶帶外不 斷線機制。 【先前技術】 計算裝置及網路化之技術進展促進存取至各式各樣資 訊及服務,其允許自世界上任何處所虛擬地存取。此外, 隨著電腦及可攜式裝置之數目持續成長,連接性可能要求 當各裝置在網路上時能被唯一地識別。不同於針對各網路 裝置同意獲得分離(或靜態)IP位址(Internet Pr()tc)c()1 address )時之新增費用’一種稱為網路位址轉譯(netw〇rk address translation ’ NAT)技術允許在—路由器後或一網際 網路(或專用網路)上之多IP節點共享一單一公用Ip位址。 換句話說’係提供一標準以允許一組未註冊Ip位址用於内 部網路流置而另 一組I p位址用於外部或公用流量。 典型地,NAT裝置使用一連接逾時計時器,其具有一 在本地應用程式間用於映射連接狀態之可組態逾時期間。 若一特定NAT連接埠映射表項目係未由向内或向外流量使 用達到比逾時期間更長時,則用於該連接之N AT計時器終 了且該項目會從表清除。一旦該項目被清除,NAT後之共 享節點不再能達到此連接且必須初始一新連接(如藉由共 享節點)。 —防止N AT計時器逾時(或終了)之共用機制係稱為 「不斷線(keep-alive,KA)」或「心跳」處理。在不斷線下, 6 1364967 ί娜/月7日修正替換頁 不用之流量係在比N AT逾時期間更短之間隔透過該連接產 生以重設(或更新)計時器,且因而使連接不斷線。當其係 使用電池電力作為主要電源之可攜式裝置(如智慧型電話) 時,習知不斷線技術影響電池壽命及產生明顯無線活動以 使該連接不斷線。 一種用於透過N AT提供長時間連接之解決方案係建立 一不斷線機制作為本地應用程式協定的一部分(一種帶内 (in-band)解決方案)。然而,習知機制之缺點包括以下:必須 修改下方本地應用程式協定以適應KA機制;無法修整一 KA機制用於舊有應用程式,及需求部署一應用程式升級; 及,對於KA機制之每次更新會影響核心應用程式協定且因 此必須據以測試。 此外,由於帶内限制而難以最佳化習知KA機制,其 可包括:迫使KA封包大小不必要地增大,以容納分層本 地應用程式標頭(如大 HTTP(Hyper Text Transfer Protocol, 超文件傳輸協定)-超文字標示語言及SOAP(Simple Object Access Protocol,簡單物件存取協定)-簡單物件存取協定 標頭);應用程式邏輯限制KA邏輯且可能需要額外網路連 接;應用程式層可能不支援失效模式之迅速偵測及回復; 應用程式開發器可能不具有必需資源、時間或專門知識以 專用於使系統層解決方案之基礎完美化;並且,難以適應 及回應於行動漫遊及不同網路化環境。 【發明内容】 下文呈現一簡化之發明内容以提供對於在此描述的新 7 1364967 缺//月7日修正替換頁 此發明内容並非廣泛性概述, 或特徵,或描述其範圍。其唯 些概念’作為後續呈現之更詳 穎具體實施例之基本理解。 且無意於確定關鍵/重要元件 一目的係依簡化形式呈現一 細說明的前序。 所揭示之架構提供一種用於網路位址轉譯(η— address UanSUtiGn ’ NAT)裝置之不斷線連接狀態的解決方 案’其係藉由使用-種可向外部應用程式至本地應用程式 連接而不在下方本地應用程式及/或應用程式協定上施加 任何需求或修改的帶外(out_〇f_band,〇〇B)技術。該技術 提供依刚方式配合本地應用程式操作之分離不斷線 (keep-a丨We’ KA)應用㈣,其藉由將^封包注入本地應 用程式連接以維持該連接,及之後在KA封包達到本地應用 程式之前移除(如中止)KA封包。在—替代實施中,ka封包 未移除而係經本地應用程式處理(如過濾、中止、…)。 該架構平衡共用ΝΑΤ狀態管理機制中之「邏輯洞」。此 等邏輯洞係無「故障…此不被視為安全洞,而是單純 ^於線内網路裝置上之限制的—人工因素。—邏輯洞之本 貝系有關基於連接活動維持Ν ΑΤ狀態。一 Ν 裝置對於各 連接初始逾日^计時器及針對每次該連接經歷流量 (如封包活動)時對於一連接重設逾時(或不活動)計時器。 右在給疋連接上未偵測到流量,逾時計時器對於該連接 係終了且該連接失敗。料,NAT典型地不驗證流量的合 法性(如流量來自哪一端點)。 利用此邏輯洞,且在一範例性客戶/伺服器環境中 8 (Λ月”修正替換頁 在該客戶及/或伺服器上執行之第二網路ΚΑ應用程式,可 用為0〇Β機制以注入表現為來自本地連接之欺騙封包。此 冬. &入封包欺騙NAT裝置,以重設用於該連接之不活動 令十時口 口 °呀器’但不欺騙或混淆本地應用程式,其中該本地應用 I, ^ f该欺騙係不以為意。因此,連接不會由於NAT逾時 故 u ;此’且因此客戶/伺服器協定將無須產生偽活動封包以使 連接不_線。 該架構透過NAT裝置提供持續性至一任意不作用網 路連接,且與例如TCP(傳輸控制協定)之連接導向端對端傳 送協定,及例如UDP(使用者資料報協定)之無連接傳送協 定一起運作》 為了達到前述及相關目的,所揭示新穎架構之某些經 摇述態樣係结合以下說明及附圖在此說明。然而,此等態 樣係僅指示少數其中可使用在此揭示之原理的各種方式, 且旨於包括所有此等態樣及其等效者。當結合圖式考慮 時’將可自以下詳細說明瞭解其他優點及新穎特徵。 【實施方式】 所揭示之·架構提供一種用於使一網路位址轉譯(NAT) 裝置及/或軟體之連接不斷線的解決方案,其藉由使用一種 向外部應用程式至本地應用程式連接而不在本地應用程式 上施加任何需求或修改的帶外(〇〇B)技術。該架構藉由從 一 0 0B來源(如應用程式)注入欺騙(或不斷線封包(其 從N AT裝置之·觀點表現為本地連接之部分),來平衡共用 N AT狀態管理機制中之「邏輯洞」。此等注入封包造成n AT 裝置重設不活動計時器用於該連接,但不愚弄或混淆本地 Γ364967 /相修正替換頁 應用程式,其可對該欺騙係不以為意的。因此,連接(如基 於TCP傳輪控制協定或UDP使用者資料報協定)將不會由於 NAT逾時而終止,且因此一客戶/伺服器協定(例如)將無須 產生偽帶内KA封包以使連接不斷線。 現參考圖式,其中相似參考數字係用來遍及全文指示 相同元件。在以下描述中,為了解釋目的,會提出各種特 定細節由以提供對其的徹底理解。然而,明顯的是,可實 • 行該新穎具體實施例而無須此等特定細節。在其他實例 中,已知結構及裝置係以方塊圖形式顯示以促進其描述。 首先參考圖式,第1圖說明一電腦實施系統1〇〇,其依 據一具體實施例促進連接管理。系統1〇〇包括一連接組件 1〇2(如NAT裝置),用於在軟體實體ι〇4(指示為SOFTWARE ΕΝΉΤΥι及SOFTWARE ΕΝΤΙΤγ2)間提供任意通訊連接。系統1 〇〇 ' 亦包括一不斷線組件106,其與連接組件102建立介面,用 於發送由連接組件102處理以維持連接的〇〇B KA封包(或 訊號)。
Φ 在一貫施中’ KA組件106監視在計算系統上之TCP/IP 堆疊系統表活動’在該系統上係常駐軟體實體1 〇 4。例如, 一新的表項目指示可將KA封包插入哪一新連接^ TCP/IP 表可在軟體貫體常駐於其上之系統中監視。例如,可監視 一客戶系統表。同樣地,當涉及—伺服器時,可對於項目 活動(如移除或新項目)監視伺服器系統T C P /1P表。
在一替代及可選用實施中,軟體實體104中之一或兩者 的連接封包活動可由K A組件1 06監視,且基於該活動,K A 10 1364967 (時>_修正替換頁 封包被插入該連接。KA封包可藉由KA组件1〇6插入連接組 件1〇2之對應連接中,在連接組件1〇2外部及其任一或兩側 上(如經由透過該連接將封包選路之其他網路裝置),以致 所插入KA封包係由連接組件102感知為正常帶内流量。ka 封包接著藉由連接組件102在一封包之各偵測發生(帶内及 /或不斷線)時重設用於該連接之連接計時器。 系統表可藉由ΚΑ組件! 06直接及/或間接地經由連接 組件102監視。例如,若表活動指示應維持連接,ka組件 106將ΚΑ封包注入該連接内,以致ΚΑ封包係藉由連接組件 102處理以重設一連接計時器來維持連接。 在一替代及可選用實例中,如藉由軟體實體1〇4之一或 多數監視的連接封包活動(或缺少其)可與ΚΑ組件1〇6通 訊,以造成ΚΑ組件1〇6發送ΚΑ封包至連接組件102,其接 著將ΚΑ封包插入連接用於自處理及逾時計時器重設。在又 另一實例中’基於連接封包不活動(如藉由ΚΑ組件1〇6直接 監視’而仍需要使連接不斷線),ΚΑ組件1〇6可發訊至軟體 實體104之一或兩者以透過連接產生帶内ka封包來重設用 於該連接之逾時計時器。當軟體實體1〇4係ΚΑ應用程式 時’ ΚΑ組件106可發訊至軟體實體1〇4之一或兩者,以將 ΟΟΒ封包插入該連接來維持連接。應理解可週期性地發送 ΚΑ封包表,不論表中之不活動或帶内封包流量。 系統1 00之一實施包括一 NAT裝置,其作為連接組件 102的部分’以使軟體實體104透過NAT裝置彼此通訊。軟 體實體104(如本地應用程式)經由連接透過naT通訊,因而 11 1364967 藉由帶内(僅在本地應用程式間)封包之規則性通訊而產生 有效連接。NAT裝置(具有逾時計時器)基於自本地應用程 式104接收帶内封包而持續重設計時器。 然而’習知上’若一帶内封包未由NAT裝置在逾時期 間内接收,NAT中止該連接且該應用程式需要透過N AT裝 置重建一連接。該架構解決此問題係藉由提供至少一尺八應 用程式(如成為KA組件106的部分),其用本地應用程式1〇4 中之一或多數發動’以致KA應用程式產生KA封包及將其 插入連接内’造成NAT裝置自動地重設逾時計時器,且因 而維持該連接。當將該表項目從系統表移除時,KA封包 不再插入該連接。 在一實施中,KA組件106回應於在作業系統TCP/IP表 中感測一新項目而發動KA應用程式。因此,可管理透過 N AT裝置操作之多不同連接。在另一實施中,一 KA應用程 式係針對各本地應用程式(或軟體實體丨〇4)發動。在此,本 地應用程式處理帶内封包通訊且KA應用程式藉由將KA封 包插入適當NAT連接以維持連接,直至其決定應使該連接 中斷來進行OOB封包活動。此將在第2圖中更詳細描述。 第2圖說明一系統200’其針對該連接之各本地應用程 式使用一 KA應用程式。在此’ KA組件1 06包含兩KA應用程
式202 : —第一 KA應用程式204(指為KAAPP!)及一第二KA應 用程式206(指為KAAPP2)。第一 KA應用程式204或/及第二KA 應用程式2 0 6之一或兩者監視系統表項目活動。當偵測到一 新表項目時(如在TCP/IP系統表中),KA應用程式(204或/ 12 Γ364967 ♦月吻修正替換負丨 及206)之一或兩者開始將KA封包插入連接内。 在一替代及可選用具體眘竑此丨& f %例中,當連接維護係基於 在封包流量而非表活動時,第_ 7 Λ & ^ 弟艮八應用程式204監視連接 组件102(如NAT裝置)及一第一太 本地應用程式208(指示為 NATIVE APP丨)間之本地封包流量,乃/ +够 τ, ^ 及/或第二ΚΑ應用程式206 監視連接組件102及一第二本地庙田Λ上
斤不地*應用程式210(指示為NATIVE APP2)間之本地封包流量。如本文描奸.^ +又指述’係將本地應用程式
(208及210)稱為帶内通訊,而民八應用程式(2〇4及2〇6)稱為 OOB通訊。藉由監視與第一本地應用程式系統相關之系統 表,可發現第一本地應用程式之網路5元組(如協定號碼' 來源IP位址、來源連接埠、目的IP位址、及ιρ連接槔)。基 於此資訊,第一 KA應用程式204可觀察及基於連接組件1〇2 之觀察到逾時使用所需KA更新期間。ka更新期間係比連 接組件1〇2之逾時期間更短’以致一 KA封包係在用於該連 接之逾時期間終了前發送。例如,若逾時期間係十五分鐘,
該更新可選擇為十分鐘(或小於逾時期間之任何其他適合 值)。 在一替代及可選用操作中,基於該更新期間,第一 κΑ 應用程式2 04在連接組件1〇2之各逾時期間終了前,將一 κ a 封包注入該連接。當然’此係基於第_本地應用程式2〇8 之封包活動。換句話說’若第一本地應用程式2〇8已指示與 第二本地應用程式210之通訊不再需要(例如藉由自第一本 地應用程式208至第一 KA應用程式204的訊號),第一 ka應 用程式204將停止KA封包注入連接内。因此,連接組件I。] 13 1364967 . r押年寧_細 接著將使連接逾時且該連接失敗。 在一具體實施例中,當第一 KA應用程式204正發送KA 封包時’第二KA應用程式206將移除KA封包。因此,第二 本地應用程式21〇將無須不必要地處置KA封包。
依據一類似及可選用操作,藉由在第二本地應用程式 2 1 0及連接組件1 〇2間監視封包流量而非系統表,第二κ a應 用程式2 06發現第二本地應用程式之網路5位元(如協定號 瑪、來源IP位址、來源連接埠、目的IP位址及IP連接埠)。 基於此資訊,第二KA應用程式2 06可觀察及基於連接組件 102之觀察到逾時使用一適合ka更新期間》基於該更新期 間,第二KA應用程式206在各逾時期間終了前,將一 KA封 包注入該連接。當然,此係基於第二本地應用程式210之封 包活動。換句話說,若第二本地應用程式210已指示與第一 本地應用程式208之通訊不再需要,第二KA應用程式206 將停止K A封包注入該連接。因此,連接組件1 02將接著使 連接逾時且該連接失敗。
在另一實施中,當第二KA應用程式206正發送KA封包 時,第一 KA應用程式2〇4將移除KA封包。因此,第一本地 應用程式208將無須處置KA封包。 依據另一操作,藉由在第一及第二本地應用程式兩者 (20 8及210)及連接組件102間監視封包流量,對應第一及第 二KA應用程式(204及206)發現本地應用程式之網路5位 元。基於此資訊,第一及第二KA應用程式(2 04及20 6)可觀 察及基於連接組件1 02之觀察到逾時使用所需KA更新期 14 Γ364967 V月丨扣修正替換頁 間。基於該更新期間,第一及/或第二KA應用程式(204及 2 06)在各逾時期間终了前,將一KA封包注入該連接。當 然,此係基於對應第一及第二本地應用程式(2 08及210)之 封包活動。在又另一實施中,KA應用程式(204及206)兩 者可在N AT逾時終了前在·一些點處~直獨立操作,連接組 件1 0 2之兩側被更新。 換句話說’根據此可選用之實施,若第二本地應用程 式210已指示與第一本地應用程式2〇8之通訊不再需要(例 如藉由自第二本地應用程式210至第二KA應用程式206的 訊號)’第二KA應用程式206將停止KA封包注入連接。同樣 地,若第一本地應用程式208已指示不再需要與第二本地應 用程式210之通訊,第一 KA應用程式204停止將KA封包注 入連接内。因此,連接組件102將接著使連接逾時且該連接 失敗。s第一及第一 KA應用程式兩者(2〇4和206分别)正發 送KA封包時,相對第二及第一 KA應用程式(2〇6及2〇4分别) 可移除所接收KA封包。因此,第一及第二本地應用程式 (208及2 1 0)將無須被組態以處理κA封包。 第3圖說明一將OOB KA封包用於維持一連接之客戶/ 伺服器系統3 0 0。更明確言之,在客戶/伺服器情節中,一 客戶304之客戶本地應用程式3 02透過一 nat裝置3〇6開啟 —長時間UDP或TCP連接至一伺服器31〇的词服器本地應 用程式308。該架構與例如TCp之連接導向端對端傳送協 定,及例如UDP之無連接傳送協定一起運作。客戶3〇4亦可 包括一防火牆、過濾或多工組件3 12(下文大體上稱為防火 15 1364967
f命月ί/日修正替換I 牆31 2)’透過其發生通訊。通訊經由一客戶tcP/ip堆疊及 表3 14通過NAT裝置3 06、一伺服器Tcp/ip堆疊及表3 16、及 伺服器防火牆318之一連接前進至词服器本地應用程式 308。堆疊(314及316)具有相關tcp/ip系統表,其以用於已 建立各新連接316之新表項目更新且中止針對已中止連接 之表項目。
依據一實施’ KA應用程式(統稱為〖A組件1〇6)係在客 戶304及祠服器310兩者上發動。一客戶端〖A應用程式320 在客戶304上發動,而一伺服器〖A應用程式322在伺服器 310上發動。應理解KA组件應用程式(32〇及322)可隨著作 業系統(客戶及伺服器)發動以持續執行成為背景程序。如 以上描述,網路化5元組(如協定號碼、來源Ip位址、來源 連接埠、目的IP位址、及IP連接埠)可由KA組件1〇6(客戶及 伺服器KA應用程式(320或/及322)之一或兩者)經由與 TCP/IP堆疊(314及316)相關之TCP/IP表發現。
KA應用程式(320及322)可一起或獨立地觀察及使用 所需KA更新期間(基於觀察到NAT逾時)。例如,假設NAT 裝置3 0 6後(在專用側上)之客戶端3 〇 4開啟一至飼服器 3 10(在公用側上)之TCP連接’及之後維持靜寂(無封包活 動)。建立此連接造成客戶TCP/IP系統表中之一新項目。缺 乏KA組件106(如在習知實施中)時,NAT裝置306將使連接 狀態逾時且使TCP連接無用。使用依所述oob方式中操作 之KA組件106確保TCP連接不會由於NAT逾時而終止,且因 此’客戶/伺服器協定將無須產生「偽」帶内活動以使連接 16 1364967 如年>細修正鞠 L---—:— 不斷線。若觀察到NAT逾時係十五分鐘,(例如)更新期間(或 值)可少於十五分鐘(如十分鐘)。一般而言,K A更新期間係 使用少於觀察到NAT裝置逾時期間。 在操作中’KA應用程式(320及322)·—起或獨立地(取決 於傳送協定),從客戶304、伺服器310或客戶304及词服器 3 10兩者發送一〖八(或欺騙)連接封包。〖八组件1〇6起作用以 移除在NAT裝置306之接收側上的欺騙封包,因而消除藉由 處理KA封包而在接收本地應用程式中之混清。 在一替代實施中’當本地應用程式(客戶本地應用程式 302或伺服器本地應用程式308)係足夠強健以處理欺編封 包以致不被混淆(或造成錯誤)時,藉由KA組件1〇6移除欺 骗封包並未施行。此可包括辨識及中止一欺騙封包。例如, KA封包可藉由針對唯一定義一欺騙封包之資訊檢查封包 資料而在接收側上過濾及/或移除。K A封包可能係零酬載 封包(僅具有標頭)。亦可使用其他方法。當欺騙封包之各 接收(以及當一本地封包之接收)時,NAT裝置3 06重設NAT 連接逾時。由於TCP/IP協定之本質,欺騙係在原始IP層施 行’因為UDP/TCP協定不允許多應用程式結合相同的5元組 用於發送器及接收器兩者。 K A組件1 〇 6可藉由與個別防火牆(3〗2及3丨8)及/或系統 TCP/IP堆疊及表(3 14及31 6)通訊而發現本地應用程式5元 組。此外,K A封包移除可藉由使用過濾功能之個別接收防 火牆(3 1 2及3 1 8)達成。此外,系統3 〇 〇係不限於客戶/伺服 器情節’而係亦可應用程式於同級布局。 17 1364967 .
/畔>月/,曰修正替換I
第4圖說明一其中ka應用程式操作以針對多連接來處 理連接狀態之替代系統400。系統400包括一第一系統 402(如可攜式電腦),其尋求透過NAT裝置306與一第二系 統404通訊。第一系統4〇2包括兩本地應用程式:一第一本 地應用程式406及一第二本地應用程式408。第一系統402 亦包括第一 KA應用程式410,其與第一及第二本地應用程 式(406及408)建立介面,以經由第一系統402之TCP/IP系統 表項目監視第一系統402的本地應用程式系統間(402及404) 活動。視需要,第一 KA應用程式410亦可經由NAT裝置306 監視該連接的連接狀態。 同樣地’第二系統404(如網頁伺服器)透過NAT裝置 306與第一系統402通訊。在此特定實例中,第二系統404 包括兩本地應用程式:一第三本地應用程式412及一第四本 地應用程式414。第二系統404亦包括一第二KA應用程式 416,其與第三及第四本地應用程式(412及414)建立介面,
以經由第二系統404之TCP/IP系統表項目監視第二系統404 的本地應用程式系統活動。視需要,第二KA應用程式416 亦可經由NAT裝置306監視NAT連接的連接狀態》 在此實例中,第一及第三本地應用程式(406及412)透 過NAT裝置306開啟一第一連接(指示為CON!),且第二及第 四本地應用程式(408及414)透過NAT裝置306開啟一第二 連接(指示為CON2)。基於第一系統402中之新TCP/IP系統 表項目及/或第二系統404中之新TCP/IP系統表項目,第一 及第二KA應用程式(4 10及41 6)提供KA封包進入對應第一 18 1364967 崎^月/¾¾修正替換頁 及第-連接’以維持用於所需第一及/或第二連接的連接狀 態。 初始狀態中,其中任一系統(402或404)中皆無本 地應用程式係你田 … 係作用,KA應用程式(41〇及416)未被發動。當 第一本地應用程式4〇6透過NAT裝置遍開啟第—連接時: 第一 KA應用程式41〇發動且使用第一連接ka封包的更新 期間第—連接(例如)對於第三本地應用程式412係有作
用’然而’若連接係不作用且其需要第一連接不應為不作 用,第一 KA應用程式41〇將自動地將第一連接KA封包插入 第一連接以維持該第一連接D在偵測第三本地應用程式4 1 2 中之活動時’第二尺八應用程式416(現接收ka應用程式)將 從封包流過濾出接收到KA封包。因此,第三本地應用程式 412可接收封包流而未受ka封包處理或過濾妨礙。 若第二本地應用程式408係在此時啟動,及開啟對第四 本地應用程式414之第二連接,第一 KA應用程式410已知悉 NAT裝置306之更新期間,及因此將KA連接維護應用程式
於NAT裝置306,因為第二連接(CON2)需要不活動控制。因 此,第一 KA應用程式410可透過一單一NAT裝置306管理多 連接。在一替代操作中,第一〖八應用程式410管理第一連 接,而第二系統404的第二K A應用程式416管理第二連接。 可見到在具有用於多連接之多連接埠之NAT裝置的典型實 施中,可施行多連接KA管理。 第5圖說明00B KA管理之方法。儘管(為簡單解釋目的) 在此所示之一或多數方法(例如依一流程表或流程圖之形 19 Γ364967 . _>月瓣正替換頁 式)係顯示及描述為一系列動作’應瞭解及理解該等方法不 受限於動作之次序’因為一些行為可(依據其)與在此顯示 與描述之其他動作依一不同次序及/或並行地發生。例如, 熟習此項技術人士將瞭解及理解一方法另可表示為—系列 相關接狀態或事件,例如在一狀態圖中。此外,並非需求 所有已說明之方法的動作用於一新穎實施。
在5 0 0 ’ 一 N AT連接係在不同系統之本地應用程式間開 啟。在502,針對NAT連接決定一更新期間。換句話說,KA 應用程式可包括一 KA封包將在其上傳輸之更新值的表。該 更新值在KA應用程式中可能為硬編碼(如每三十秒)或該 KA應用程式可使用一預計算值。視需要,更新期間可基於 NAT逾時期間藉由一相關KA應用程式自動地計算。在 504 ’連接係基於系統表活動加以監視。在5〇6,KA封包係 基於所選定更新值使用KA應用程式在一發送側上自動地 插入該連接。在508 ’ KA封包視需要在接收側上移除。換 句話說’ KA封包藉由接收KA應用程式在接收側上移除並 非需要。 第6圖說明基於一連接政策之連接管理的方法。在 600,一 NAT連接係在本地應用程式間開啟。在6〇2,一更 新值係基於NAT逾時期間藉由一相關Ka應用程式選擇。在 604,一與該連接相關的政策被取得及處理。在6〇6,KA封 包係基於所選定更新值使用KA應用程式在一發送側上自 動地插入該連接。在608,連接係依據政策用κΑ封包操作。 換句話說,政策可指示該連接保持開啟達到一預定時間期 20 1364967 . _>月胙修正替換頁 間,且當時間终了時關閉連接,不論帶内或00B封包流量 是否已終止。
第7圖說明一基於類型傳送協定管理NAT連接不活動 的方法。在700,一 NAT連接在本地應用程式間開啟。在7〇2 (基於本地應用程式的活動),對應KA應用程式之一或多數 係發動。在704,KA應用程式之一或多數基於NAT逾時期 間選擇一更新期間。在706,KA應用程式基於堆疊表活動 監視對應之本地應用程式連接。在708,基於TCP封包的先 前通訊,KA封包係從各KA應用程式自動地插入該連接。 或者在710,基於UDP封包之先前通訊,KA封包係從KA應 用程式之一或兩者自動地插入該連接。因為TCP係一連接 導向端對端傳送協定,其需求KA應用程式操作兼插入KA 封包及移除KA封包。因為UDP係一無連接傳送協定,在許 多情況下僅K:A應用程式中之一需要操作以將KA封包插入 NAT連接。
第8圖說明一產生KA封包及將其用於連接管理之方 法。在800 ’ 一 NAT連接係藉由一本地應用程式透過一 NAT 裝置對另一本地應用程式開啟。在802,在發動KA應用程 式後,一更新期間係由K A應用程式之一或多數利用》在 804,係初始一發現程序以發現本地應用程式之網路化5元 組。此可經由TCP/IP表。在806,KA封包係使用5元組資訊 結構化用於一特定連接。在808,KA封包被插入連接以基 於更新期間重設NAT逾時計時器。在810,已透過NAT裝置 處理的K A封包係在達到本地應用程式前移除。 21 1364967 知年 >月齡正替換頁 t如此申請案中所用,術語「組件」及「系統」係意欲 指-電腦相關實體、硬體、I體及軟體之一结合、軟體、 或執行中軟體。例如,一組件可為(但不限於)一在處理器 上執仃之程序、一處理器、一硬碟機、多儲存器驅動器(光 學及/或磁性儲存媒體)、一物件 ' —可執行、一執行緒、 一程式、及/或一電腦。藉由說明,在一伺服器上執行之一 應用程式及伺服器兩者可為—組件。__或多數組件可常駐 • 於程序及/或執行緒内,且一組件可在一電腦上局部化及 /或在兩或以上電腦間分布。 現參考第9圖,其說明一可操作以執行所揭示KA架構 之計算系統900的方塊圖。為了針對其各種態樣提供額外脈 絡,第9圖及以下討論係意於提供一適合計算系統9〇〇(其中 可實施該架構之各種態樣)的簡短、一般描述。雖然以上描 • 述係在可於一或多數電腦上執行之電腦可執行指令的一般 脈絡中,熟習此項技術人士將會瞭解該架構亦可結合其他 程式模組及/或成為硬體及軟體之一組合來執行。 • 大體上’程式模組包括常式、程式、物件、組件、資 料結構等,其施行特定任務或實施特定抽象資料類型。再 者,熟習此項技術人士將瞭解本發明方法可用其他電腦系 統組態實打,包括單一處理器或多處理器電腦系統、迷你 電腦、主機電腦、以及個人電腦、手持計算裝置微處: 器為基或可程式消費者電子裝置及類似者, 六分》j彳呆作以 耦合至一或多數相關裝置。 所說明之態樣亦可在分布式計算環境中實行, 共中某 22 1^04^67 月β日修正替換頁 ::務係透過一通訊網路連接藉由遠端處理裝置施行。在 弋t算環境中,程式模組可位於本地及遠端記憶體 儲存裝置中。
一電腦典型地包括各種電腦可讀媒體。電腦可讀媒體 可為能藉由電腦存取的任何可用媒體且包括揮發性及非 揮發性媒體、彳移及不可移媒體。舉例說明且非限制,電 腦可讀媒體可包含電腦儲存媒體及通訊媒體。電腦儲存媒 體包括揮發性及非揮發性、可移與不可移兩者,其係依任 何方法或技術實施用於資訊的儲存,例如電腦可讀指令、 資料結構、裎式模組或其他資料。電腦儲存媒體包括(但不 U ' ROM、EEPR0M、快閃記憶體或其他記憶體技 術、CD-ROM、數位多功能光碟(DVD)或其他光碟儲存器、 磁卡匣、磁帶、磁碟儲存器或其他磁性儲存裝置、或可用 以儲存所需資訊且可由電腦存取之任何其他媒體。
再參考第9圖,用於實施各種態樣之範例性計算系統 9〇〇包括一電腦902 ’電腦9〇2包括一處理單元9〇4、一系統 記憶體906及一系統匯流排9〇8。系統匯流排9〇8提供一用於 系統組件之介面,包括(但不限於)系統記憶體9〇6至處理單 凡904。處理單元9 〇4可為任何各種可商購之處理器。雙重 微處理器及其他多處理器架構亦可用作處理單元9 〇4。 系統匯流排90 8可為若干類型匯流排架構之任一者,其 可進一步互連至一記憶體匯流排(具有或不具記憶體控制 器)、一周邊匯流排、及一使用任何各種可商購之匯流排架 構的區域匯流排。系統記憶體906包括唯讀記憶體 23 1364967 押修正替換頁 (ROM)9lO及隨機存取記憶體(Ram)912。一基本輸入/輪出 系統(BIOS)係儲存在非揮發性記憶趙91〇中,諸如ROM、 EPROM、EEPR0M ’該BIOS含有協助在電腦9〇2内之元件 間轉移資訊的基本常式,如起動期間。RAM 912亦可包括 一高速RAM,如用於快取資料之靜態ram。 電腦902更包括一内部硬碟機(HDD)914(如EIDE、 SATA) ’該内部硬碟機914亦可經組態在一適合底盤(未顯 示)中用於外部使用;一磁性軟碟機(FDD)916(如自一可移 式碟片918讀取或寫至其);及__光碟機92〇(如讀取cd_ R〇M 光碟922或’自如DVD之其他高容量光學媒體918讀取或寫 至其)。硬碟機914、磁碟機916及光碟機920可分別藉由一 硬碟機介面92 4、一磁碟機介面92 6及一光學機介面928連接 至系統匯流排908。用於外部驅動實施之介面924包括通用 串列匯流排(USB)及IEEE 1394介面技術至少之一或兩者》 驅動器及其相關電腦可讀媒體提供資料、資料結構、 電腦可執行指令等等之非揮發性儲存。對於電腦9〇2,驅動 器及媒體容納依適合數位格式之任何資料的儲存。雖然以 上電腦可讀媒體之描述指一 HDD、一可移式磁碟及一可移 式光學媒體(如CD或DVD),熟習此項技術人士應瞭解可由 電腦讀取之其他類型媒體,如壓縮磁碟、磁卡g、快閃記 憶卡、匣及類似者,亦可用於範例性操作環境中,且此外 任何此類媒體可包含電腦可執行指令,用於施行所揭方法。 一些程式模組可儲存在驅動器及RAM 912中,包括一 作業系統930、一或多數應用程式程式932、其他程式模組 24 1364967 第忡。η γ號專雜S广年//哭正 934及程式資料936。作業系統、應用程式、模組及/或資料 之所有或部分亦可在RAM 912中快取。應瞭解該架構可用 各種可商購的作業系統或作業系統之結合實施。應用程式. 932及/或模組934可包括先前描述之本地應用程式、KA應 用程式及/或KA組件。 使用者可透過一或多數有線/無線輸入裝置將命令及 資訊輸入電腦902,例如一鍵盤938及一指向裝置(如滑鼠 940)。其他輸入裝置(未顯示)可包括一麥克風'一 IR遙控 控制、一搖桿、一遊戲板、一尖筆、觸碰螢幕或類似者。 此等與其他輸入裝置係通常透過一耦合至系統匯流排9 0 8 之輸入裝置介面942連接至處理單元9 04,但可藉由其他介 面連接,諸如並列連接埠、IEEE 1 394串列連接埠' 遊戲連 接埠、USB連接埠、IR介面(紅外線介面’Infrared interface) 等等。 一監視器944或其他類型之顯示裝置亦可經由一介面 (譬如視訊配接器 946)連接至系統匯流排 908。除監視器 944之外,電腦典型地包括其他周邊輸出裝置(未顯示), 如揚聲器、印表機等等。 電腦 902可在使用邏輯連接經由有線及/或無線通訊 至一或多數遠端電腦(譬如遠端電腦94 8)之網路化環境中 運作。遠端電腦948可為工作站、伺服器電腦、路由器、 個人電腦、可攜式電腦、基於微處理器之娛樂器具 (microprocessor-based entertainment appliance)、同級敦 置或其他共用網路節點,且典型地包括許多或所有與電腦 25 1364967 月7事替換頁 9〇2相關來描述之元件,雖然為了簡單之目 丨至翔不記憶 體/儲存裝置95〇β所示之邏輯連接包括至—區域網路 (LAN)952及/或較大網路(例如廣域網路(WAN)954)之有線 /無線連接性。此LAN及WAN網路化環境係在辦公室及公 司中的共用場所,且促進泛企業電腦網路(如内部網路), 其所有可連接至一全球通訊網路(例如網際網路)。 當在LAN網路化環境中使用時,電腦902係透過一有 線及/或無線通訊網路介面或配接器956連接至區域網路 952。配接器956可促進有線或無線通訊至LAN 952,其亦 可包括一置於其上之無線存取點’用於與無線配接器956 當在WAN網路化環境中使用時,電腦9〇2可包括一 數據機95 8,或是連接至wan 954上之通訊伺服器,或具 有其他用於透過 WAN ^ .
聞站、休息室)及電話。 、可攜式資料助理 '通訊衛星 '與 之任何件設備或位置(如資訊站、新 其包括至少Wi-Fi及Bluetooth™無線技 26 ^〇4%7 _月/日修正替換頁 L 此該通訊可為預定義結構,如具有一習知網路或 早純在至少兩裝置間之一特定通訊。 現參考第ίο圖,其說明一可使用00B KA處理之範例 拴。十算%境1 〇〇〇的示意性方塊圖。系統丨〇〇〇包括一或多數 客戶10 02。客戶1 002可為硬體及/或軟體(如執行緒程序、 。十舁裝置)。客戶1002可例如容置餅乾(c〇〇kie)及/或相關脈絡 寅訊。 。系統1 000亦包括一或多數伺服器1004。伺服器1〇〇4亦 可為硬體及/或軟體(如執行緒、程序、計算裝置卜伺服器 10〇4可(例如)容置執行緒以藉由使用該架構施行轉換。在 一客戶1002及一伺服器1〇〇4間之可能通訊可依經調適以在 兩或以上電腦程序間傳輸之資料封包形式。資料封包可(例 如)L括餅乾及/或相關脈絡資訊。系統1 〇 〇 〇包括可使用以 促進在客戶1002及伺服器1004間通訊之通訊框架1 006(如 全球通訊網路,例如網際網路)。 通訊可經由一有線(包括光纖)及/或無線技術實行。客 戶1002係可操作以連接至一或多數客戶資料儲存器刪, 其可用以本地儲存客 資訊)。同樣地,伺服 服器資料儲存器1010 訊0 戶10〇2之貢訊(如餅乾及/或相關脈絡 器1 004係可操作以連接至一或多數伺 ,其可用以本地儲存伺服器i 004之資 客戶 1 002及伺服器1〇〇4可皆包括ka應用程式 其監視 網路介面裝置(未顯示),如N AT路由器 前描述’客戶1002可依同級方式互連, 、閘道等等》如先 該連接狀態管理可 27 Γ364967 月7日修正替換頁 藉由使用本地KA應用程式内建於客戶之一或兩者。 以上所述包括已揭示架構之實例。當然不可能描述组 件及/或方法之每種可預想結合,但熟習此項技術人士可認 知可能有許多進一步的結合及置換。因此,該新穎架構係 意欲包含落入附加申請專利範圍.之精神及範圍内的所有此 等變更、修改及變化。此外,對於用於詳細描述或申請專 利範圍之術語「包括」的範圍,如同「包含」一詞在申請 專利範圍中被引用作為一連接詞(transitional word)之解 譯,此術語係意欲包括類似於「包含」一詞之解釋方式。 【圖式簡單說明】 第1圖說明依據一具體實施例促進連接管理之電腦實 施系統。 第2圖說明一將不斷線(KA)應用程式用於連接之各本 地應用程式的系統。 第3圖說明一將帶外(OOB)K A封包用於維持連接之客 戶/伺月艮器系統。 第4圖說明一其中KA應用程式操作以處理用於多連接 之連接狀態的替代系統。 第5圖說明00B KA管理之一方法。 第6圖說明一基於一連接政策之連接管理的方法。 第7圖說明一基.於傳送協定管理N AT連接不活動之方 法。 第8圖說明一產生及將KA封包用於連接管理的方法。 28 1364967 ㈣月/日修正替換頁 第9圖說明一可操作以執行所揭示Κ A架構之計算系統 的方塊圖。 第1 0圖說明一可使用OOB KA處理之範例性計算環 境的示意性方塊圖。 【主要元件符號說明】 100 電 腦 實施系統 102 連 接 组件 104 軟 體 實體 106 不 斷 線組件 / : KA .組件 200 系 統 202 KA應用程式 204 第 — KA應用 程 式 206 第 二 KA應 用 程 式 208 第 一 本地應用 程 式 2 10 第 二 本地應 用 程 式 300 客 戶 /伺服器系統 302 客 戶 本地應 用 程 式 3 04 客 戶 306 NAT 裝置 308 伺 服 器本地應 用 程 式 3 10 祠 服 器 3 12 防 火 牆 3 14 客 戶 TCP/IP堆疊及表 3 16 伺服器TCP/IP堆疊及表 3 18 4司 服 器防火 牆 320 客 戶 端KA應 用 程 式 322 伺 服 器KA 應 用 程式 400 系 統 402 第 — 系統 404 第 二 系統 406 第 — 本地應 用 程 式 408 第 二 本地應用 程 式 410 第 一 KA應 用 程 式 4 12 第 三 本地應用 程 式 414 第 四 本地應 用 程 式 4 16 第 二 KA應用 程 式 900 計 算 系統 902 電 腦 904 處 理 單元 906 系 統 記憶體 908 系 統 匯流排 29 1364967 年f/月/曰修正替換頁 9 10 唯 讀 記 憶 體 /ROM 912 隨 機 存 取 記憶體/RAM 914 内 部 硬 碟 機 916 性 軟 碟 機 /FDD 918 可 移 式 碟 片 920 光 碟 機 922 CD-ROM 光碟 924 硬 碟 機 介 面 926 磁 碟 機 介 面 928 光 學 機 介 面 930 作 業 系 統 932 應 用 程 式 程式 934 程 式 模 組 936 程 式 資 料 938 鍵 盤 940 指 向 裝 置 /滑鼠 942 輸 入 裝 置 介面 944 監 視 器 946 介 面 /視訊配接器 948 遠 端 電 腦 950 記 憶 體 /儲存裝置 952 區 域 網 路 /LAN 954 廣 域 網 路 /WAN 956 配 接 器 958 數 據 機 1000 計 算 環 境 1002 客 戶 1004 伺 服 器 1006 通 訊 框 架 1005 客 戶 資 料 儲存器 1010 4司 服 器 資 料儲存器 30

Claims (1)

1364967 • * (郝月7日修正替換頁 I 十、申請專利範圍: 1 · 一種促進連接管理之電腦實施系統(1 00),該系統包含: 一連接組件(102),其包括具有一不活動計時器 (inactivity timer)的一網路裝置,該連接組件提供在 一第一電腦系統的一第一軟體實體及在一第二電腦系 統的一第二軟體實體之間的一通訊連接,該連接組件經 配置成:若該網路裝置並未在該網路裝置就該通訊連接 所啟用的該不活動計時器之一逾時期間内,接收經由該 第一軟體實體及該第二軟體實體之間的該通訊連接上 傳送的一帶内(in-band )封包,則中止該通訊連接; 及 一不斷線組件(106),其係與該第一軟體實體及該 第二軟體實體不同,而用於發送帶外(〇1^-(^4&11(1,008) 欺编封包(spoofed packet)至該連接組件,以維持在 該第一軟體實體及該第二軟體實體之間的該連接,其中 上述帶外欺騙封包係由該網路裝置感知為在該第一軟 體實體及該第二軟體實體之間的該通訊連接上的帶内 流量,且重設該不活動計時器的該逾時期間, 其中表現為從該第一軟體實體通訊至該第二軟體 實體的該通訊連接上的00B欺騙封包被該不斷線組件 插入介於該第一軟體實體及該網路裝置之間的該通訊 連接,由該網路裝置處理以重設該不活動計時器的該逾 時期間,且在被該網路裝置處理之後及達到該第二軟體 實體之前,被該不斷線組件從該通訊連接中移除,及 31 Γ364967 . 月/日修正替換頁 其中直到從該第一軟體實體及該第二軟體實體之 至少一者接收不再需要該通訊連接的一指示而使得該 逾時期間终了之前,該不斷線組件將00B欺騙封包插入 該通訊連接,而維持在該第一軟體實體及該第二軟體實 體之間的該通訊連接。 2.如申請專利範圍第1項所述之系统,其中該任意通訊連 接容絶一傳送層連接導向端對端協定。 3 ·如申請專利範圍第1項所述之系統,其中該任意通訊連 接容納一傳送層無連接協定。 4. 如申請專利範圍第1項所述之系統,其中該連接組件包 括一網路位址轉譯(network address translation,NAT) 裝置,其促進一專用網路與一公用網路之連接》 5. 如申請專利範圍第1項所述之系統,其中該等〇 0 B欺 騙封包係不斷線封包。 6 ·如申請專利範圍第1項所述之系統,其中該不斷線組件 係一應用程式,該應用程式基於一 TCP/IP (傳輸控制 協定 /網際網路協定 ,Transmission control protocol/Internet Protocol)系統表之表活動而插入該 等00B欺騙封包。 32 1364967 » I ft#//月/日修正替換頁 7. 如申請專利範圍第1項所述之系統,其中該不斷線組件 監視該不活動計時器之該逾時期間,基於該逾時期間使 用一不斷線更新期間,及基於該更新期間,產生及插入 該等00B欺編封包進入該通訊連接。 8. 如申請專利範圍第1項所述之系統,其中該第一電腦系 統包含一客戶及一伺服器之一者。 9. 如申請專利範圍第8項所述之系統,其中該不斷線組件 包含一以伺服器為基礎的不斷線應用程式及一以客戶 為基礎的不斷線應用程式,該以伺服器為基礎的及以客 戶為基礎的不斷線應用程式透過該連接組件發送00B 欺騙封包以維持該連接。 1 0.如申請專利範圍第1項所述之系統,其中藉由該連接組 件處理的該等 00B 欺騙封包係為零酬載封包 (zero-payload packets ) ° 11. 一種管理一連接之電腦實施方法,包含下列步驟: 本地應用程式建立一網路位址轉譯 (network address translation > NAT )連接,用於透過具有一不活 動計時器的一 NAT裝置,在一第一計算系統的一第一本 地應用程式及一第二計算系統的一第二本地應用程式 33 1364.967 · 之間傳送帶内(in-band )封包,其中若該NAT裝置並未 在該NAT裝置就該NAT連接所啟用的該不活動計時器 之一逾時期間内,接收在該第一本地應用程式及該第二 本地應用程式之間的該NAT連接上傳送的一帶内封 包’則由該NAT裝置中止該NAT連接:及 發動與該本地應用程式不同的一不斷線應用程 式’其配置成··自動地將帶外(〇ut-〇f-band,00B)欺 騙封包發送至該NAT裝置,上述帶外欺騙封包被該NAT 裝置感知為在該第一本地應用程式及該第二本地應用 程式之間的該NAT連接上的帶内流量,且重設該不活動 計時器的該逾時期間,以維持介於該第一本地應用程式 及該第二本地應用程式之間的該NAT連接(5〇6), 其中表現為從該第一本地應用程式通訊至該第二 本地應用程式的該NAT連接上的〇〇B欺騙封包,被該不 斷線應用程式插入介於該第一本地應用程式及該NAT 裝置之間的該NAT連接中,被該NAT裝置處理以重設該 不活動計時器的該逾時期間,且在被該NAT裝置處理之 後及達到該第二本地應用程式之前,被該不斷線應用程 式從該連接中移除,及 其中直到從該第一本地應用程式及該第二本 用程式之至少一者接收不再需要該Μ連接的一指示 而使得該逾時期間終了之前 欺騙封包插入該NAT連接中 程式及該第二本地應用程式 ’該不斷線應用程式將00B ’而維持在該第—本地應用 之間的該N AT連接。 34 Γ364967 . Mr/”時正替換頁 12. 如申請專利範圍第n項所述之方法,其更包含以下步 驟:基於一預定連接政策,將該等00B欺騙封包自動 地插入該連接中。 13. 如申請專利範圍第11項所述之方法,其中該NAT連接 係經由一傳輸控制協定(transinission control protocol’ TCP)通訊傳送技術來促進。 1 4.如申請專利範圍第! !項所述之方法,更包含以下步 驟:發動用於該第一本地應用程式及該第二本地應用程 式之相對應不斷線應用程式,該等相對應不斷線應用程 式自動地發送00B欺騙封包,以基於一 TCP/IP系統表 中的一新項目維持該連接。 1 5,如申請專利範圍第1 4項所述之方法,其中該等相對應 不斷線應用程式監視用於連接狀態的相對應系統表,且 操作以處理多重NAT連接的連接狀態。 如申請專利範圍第η項所述之方法,更包含下列步驟: 發現一元組(t u p 1 e) ’其包括下列至少二者:與該等 本地應用程式之至少一者相關的一協定號碼、一來源 ΪΡ 位址(Internet Protocol address)' —來源連接蜂號 碼、一目的IP位址、或一目的連接埠號碼;及 35 1364.967 >年夕月;7曰修正替換頁 基於使用該元組之00B欺騙封包,重設該不活動 計時器。 17. 如申請專利範圍第11項所述之方法,其中藉由該不斷 線應用程式從該NAT裝置及該第二計算系統之間的該 連接中移除的該等0 0B欺騙封包,係使用與該第二本 地應用程式相關的一目的IP位址。 18. 如申請專利範圍第11項所述之方法,其更包含以下步 驟:基於該等本地應用程式之至少一者的帶内活動,自 動地發動該不斷線應用程式。 1 9.如申請專利範圍第1 1項所述之方法,更包含以下步 驟:基於所使用之一類型的傳送協定,自動地發動一或 多個不斷線應用程式,且經由該一或多個不斷線應用程 式,將該等00B欺騙封包插入:。 2 0. —種包括一處理單元及記憶體的電腦實施系統(3 0 0), 該電腦實施系統包含: 電腦實施的自動建立構件,用於自動地建立一網路 位址轉譯(network address translation,NAT )連接, 以用於在一第一電腦系統的一第一本地應用程式及一 第二電腦系統的一第二本地應用程式之間透過具有一 不活動計時器的一 NAT裝置傳送帶内(in-band)封包, 36 1-364.967 . My月;^修正替換頁 其中若該NAT裝置並未在該NAT裝置就該NAT連接所啟 用的該不活動計時器之一逾時期間内,接收在該第一本 地應用程式及該第二本地應用程式之間的該NAT連接 上傳送的一帶内封包,則由該NAT裝置中止該NAT連 接; 電腦實施的自動發動構件,用於自動地發動與該第 一本地應用程式及該第二本地應用程式不同的一或多 個不斷線應用程式; 電腦實施的監視構件’用於基於一系統表監視用於 不活動之該NAT連接;及 電腦實施的自動發送構件,用於回應於該不活動而 自動地將帶外(out-of-band,00B )欺騙封包發送至該 NAT裝置,上述帶外(0ut-0f-band,00B )欺騙封包被 該N AT裝置感知為在第一本地應用程式及該第二本地 應用程式之間的該N AT連接上的帶内流量,且重設該不 活動計時器的該逾時期間,以維持介於該第一本地應用 程式及該第二本地應用程式之間的該NAT連接, 其中表現為從該第一本地應用程式通訊至該第二 本地應用程式的該N AT連接上的00B欺編封包,被一不 斷線應用程式’基於TCP封包及UDP封包(使用者資料 報協定封包 ’ User Datagram Protocol packets)之一者, 插入介於該第一本地應用程式及該NAT裝置之間的該 N AT連接中’被該N AT裝置處理以重設該不活動計時器 的該逾時期間,且在被該NAT裝置處理之後及達到該第 37 1.364967 . 卜申/月/日修正勢換頁 二本地應用程式之前,被一不斷線應用程式從該NAT連 接中移除,及 其中直到從該第一本地應用程式及該第二本地應 用程式之至少一者接收不再需要該NAT連接的一指示 而使得該逾時期間終了之前,該不斷線應用程式將00B 欺騙封包插入該NAT連接,而維持在該第一本地應用程 式及該第二本地應用程式之間的該NAT連接。 38 1364967 第气U號專利案…年 哨修正 A 200
本地封包 第2圖 1364967 ⑼號專獅
500 502 504 506 508 1364967 f命胸修正麵
600 602 604 606 608 第6圖 1364967 . ㈣月(相修正替換I
1364967
800 802 804 806 808 第8圖 810 Γ364967 月/Λ修正替換頁 七、指定代表圖: (一) 、本案指定代表圖為:第(1)圖。 (二) 、本代表圖之元件代表符號簡單說明: 100 電腦實施系統 102 連接組件 104 軟體實體 106 不斷線組件/ ΚΑ組件 八、本案若有化學式時,請揭示最能顯示 發明特徵的化學式:
TW097105798A 2007-02-28 2008-02-19 Out-of-band keep-alive mechanism for clients associated with network address translation systems TWI364967B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/712,123 US7881318B2 (en) 2007-02-28 2007-02-28 Out-of-band keep-alive mechanism for clients associated with network address translation systems

Publications (2)

Publication Number Publication Date
TW200843438A TW200843438A (en) 2008-11-01
TWI364967B true TWI364967B (en) 2012-05-21

Family

ID=39717208

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097105798A TWI364967B (en) 2007-02-28 2008-02-19 Out-of-band keep-alive mechanism for clients associated with network address translation systems

Country Status (7)

Country Link
US (1) US7881318B2 (zh)
EP (1) EP2127250A4 (zh)
JP (1) JP5090472B2 (zh)
KR (1) KR101354727B1 (zh)
CN (1) CN101622834B (zh)
TW (1) TWI364967B (zh)
WO (1) WO2008106355A1 (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7710995B2 (en) * 2005-03-08 2010-05-04 Leaf Networks, Llc Method and system for out-of-band signaling for TCP connection setup
US20100228863A1 (en) * 2007-03-28 2010-09-09 Pioneer Corporation Content distribution system and its control method
US8806601B2 (en) * 2008-02-29 2014-08-12 International Business Machines Corporation Non-interactive entity application proxy method and system
US8930550B2 (en) * 2008-03-11 2015-01-06 International Business Machines Corporation Selectable non-interactive entity application proxy method and system
JP5098820B2 (ja) * 2008-05-30 2012-12-12 富士通株式会社 フレーム中継装置およびフレーム中継方法
GB2478470B8 (en) 2008-11-17 2014-05-21 Sierra Wireless Inc Method and apparatus for network port and netword address translation
US8924486B2 (en) 2009-02-12 2014-12-30 Sierra Wireless, Inc. Method and system for aggregating communications
US9313800B2 (en) * 2009-06-23 2016-04-12 Nokia Technologies Oy Method and apparatus for optimizing energy consumption for wireless connectivity
TWI419513B (zh) * 2010-12-02 2013-12-11 Chunghwa Telecom Co Ltd 網路設備監測方法
EP2673927A4 (en) 2011-02-08 2016-08-24 Sierra Wireless Inc METHOD AND DATA-TRANSFER SYSTEM BETWEEN NETWORK DEVICES
EP2487867B1 (de) 2011-02-09 2014-01-01 Siemens Aktiengesellschaft Lebenszeichenüberwachung
CN110225051A (zh) * 2011-05-03 2019-09-10 诺基亚技术有限公司 用于保持活动信号发送的方法和设备
WO2012151692A1 (en) * 2011-05-06 2012-11-15 Sierra Wireless, Inc. Method and apparatus for management of network communications
US8892710B2 (en) 2011-09-09 2014-11-18 Microsoft Corporation Keep alive management
US8806250B2 (en) 2011-09-09 2014-08-12 Microsoft Corporation Operating system management of network interface devices
US9049660B2 (en) 2011-09-09 2015-06-02 Microsoft Technology Licensing, Llc Wake pattern management
US9251253B2 (en) 2013-01-05 2016-02-02 Qualcomm Incorporated Expeditious citation indexing
US9203906B2 (en) * 2013-06-30 2015-12-01 Vonage Network, Llc Systems and methods for enabling data communications to a telephony device
WO2015171549A2 (en) * 2014-05-05 2015-11-12 Citrix Systems, Inc. Facilitating communication between mobile applications
TWI555357B (zh) * 2014-07-04 2016-10-21 Throughtek Technology Shenzhen Co Ltd Effectively maintain the NAT channel service method
CN104320500B (zh) * 2014-10-13 2017-11-10 中国联合网络通信集团有限公司 一种nat设备的保活方法及装置
US10932192B2 (en) * 2016-01-12 2021-02-23 Qualcomm Incorporated EMTC power saving mode (PSM) enhancements for service outage
US11411915B2 (en) * 2019-01-09 2022-08-09 Cisco Technology, Inc. Leveraging MACsec key agreement (MKA) state events to trigger fast IGP/EGP convergence on MACsec encrypted links
KR102231064B1 (ko) * 2019-11-12 2021-03-23 한국전자기술연구원 NAT를 통해 서버와 연결되는 IoT 기기 및 IoT 통신방법
KR102133139B1 (ko) * 2019-11-20 2020-07-13 전자부품연구원 NAT를 통해 서버와 연결되는 IoT 기기 및 IoT 시스템
US11310265B2 (en) * 2020-02-27 2022-04-19 Hewlett Packard Enterprise Development Lp Detecting MAC/IP spoofing attacks on networks
US11425043B2 (en) * 2020-06-16 2022-08-23 T-Mobile Usa, Inc. Duplex load balancing for massive IoT applications
US11663285B2 (en) * 2021-09-06 2023-05-30 Microsoft Technology Licensing, Llc Webpage management in native application
US11792065B2 (en) * 2022-02-17 2023-10-17 Cisco Technology, Inc. Network controller, failure injection communication protocol, and failure injection module for production network environment

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471564A (en) 1992-07-10 1995-11-28 Microsoft Corporation System and method for dynamic printer timeout
US6405262B1 (en) 1995-07-14 2002-06-11 Microsoft Corporation Efficient inter-process object and interface pinging
US6353614B1 (en) 1998-03-05 2002-03-05 3Com Corporation Method and protocol for distributed network address translation
US6446225B1 (en) 1998-04-23 2002-09-03 Microsoft Corporation Server system with scalable session timeout mechanism
WO2000008821A1 (en) * 1998-08-04 2000-02-17 At & T Corp. A method for exchanging signaling messages in two phases
US6401127B1 (en) 1999-05-04 2002-06-04 Cisco Technology, Inc. Adaptive timer for LLC type 2 reliable transport in a computer network
US6597700B2 (en) 1999-06-30 2003-07-22 Nortel Networks Limited System, device, and method for address management in a distributed communication environment
US6553032B1 (en) 1999-09-01 2003-04-22 Tantivy Communications, Inc. Packeting timeout spoofing in a wireless data communications network
US6563599B1 (en) 1999-10-04 2003-05-13 Conexant Systems, Inc. Method and apparatus for improving performance of facsimile transmissions over IP networks
US7249175B1 (en) 1999-11-23 2007-07-24 Escom Corporation Method and system for blocking e-mail having a nonexistent sender address
US6526433B1 (en) 1999-12-15 2003-02-25 International Business Machines Corporation Adaptive timeout value setting for distributed computing environment (DCE) applications
US6880089B1 (en) 2000-03-31 2005-04-12 Avaya Technology Corp. Firewall clustering for multiple network servers
US6976071B1 (en) * 2000-05-03 2005-12-13 Nortel Networks Limited Detecting if a secure link is alive
US7155740B2 (en) 2000-07-13 2006-12-26 Lucent Technologies Inc. Method and apparatus for robust NAT interoperation with IPSEC'S IKE and ESP tunnel mode
WO2002019132A1 (en) 2000-09-01 2002-03-07 Tut Systems, Inc. A method and system to pre-compile configuration information for a data communications device
US20020042875A1 (en) 2000-10-11 2002-04-11 Jayant Shukla Method and apparatus for end-to-end secure data communication
US6748559B1 (en) 2000-10-19 2004-06-08 International Business Machines Corporation Method and system for reliably defining and determining timeout values in unreliable datagrams
TW532016B (en) 2000-12-18 2003-05-11 Asulab Sa Correlation and demodulation circuit for a receiver for signals modulated by a specific code
US7054304B2 (en) * 2001-01-19 2006-05-30 Terited International , Inc. Method and protocol for managing broadband IP services in a layer two broadcast network
JP2002223230A (ja) 2001-01-26 2002-08-09 Hitachi Ltd 移動データ通信システム、該システム内に設けられるネットワーク・アドレス・トランスファー装置及びフォーリン・エージェント装置
US7068669B2 (en) * 2001-04-20 2006-06-27 Qualcomm, Incorporated Method and apparatus for maintaining IP connectivity with a radio network
US7058054B2 (en) * 2001-08-20 2006-06-06 Skystream Networks Inc. Controlling multiple nodes to execute messages only once
US7676579B2 (en) * 2002-05-13 2010-03-09 Sony Computer Entertainment America Inc. Peer to peer network communication
US7152111B2 (en) * 2002-08-15 2006-12-19 Digi International Inc. Method and apparatus for a client connection manager
US7139828B2 (en) 2002-08-30 2006-11-21 Ip Dynamics, Inc. Accessing an entity inside a private network
JP3445986B1 (ja) * 2002-09-27 2003-09-16 松下電器産業株式会社 インターネットに接続するサーバ、機器および通信システム
US7406087B1 (en) * 2002-11-08 2008-07-29 Juniper Networks, Inc. Systems and methods for accelerating TCP/IP data stream processing
CN100546264C (zh) 2003-05-05 2009-09-30 汤姆森许可贸易公司 通过网络与显示设备通信的方法
US7573867B1 (en) * 2003-07-17 2009-08-11 Sprint Spectrum L.P. Method and system for maintaining a radio link connection during absence of real-time packet data communication
US7483437B1 (en) * 2003-11-20 2009-01-27 Juniper Networks, Inc. Method of communicating packet multimedia to restricted endpoints
US7694127B2 (en) 2003-12-11 2010-04-06 Tandberg Telecom As Communication systems for traversing firewalls and network address translation (NAT) installations
CN1558606A (zh) * 2004-02-10 2004-12-29 Ut斯达康通讯有限公司 网络终端自动配置方法
US7426569B2 (en) * 2004-02-25 2008-09-16 Research In Motion Limited System and method for maintaining a network connection
US8214875B2 (en) * 2004-02-26 2012-07-03 Vmware, Inc. Network security policy enforcement using application session information and object attributes
US7451212B2 (en) 2004-03-17 2008-11-11 At&T Intellectual Property I, L.P. Logical port configuration system
US7050940B2 (en) 2004-03-17 2006-05-23 International Business Machines Corporation Method and system for maintaining and examining timers for network connections
US7308617B2 (en) 2004-06-17 2007-12-11 International Business Machines Corporation Apparatus, system, and method for automatically freeing a server resource locked awaiting a failed acknowledgement from a client
US20060004933A1 (en) * 2004-06-30 2006-01-05 Sujoy Sen Network interface controller signaling of connection event
US7962623B2 (en) * 2004-06-30 2011-06-14 Microsoft Corporation Sustaining session connections
US8949391B2 (en) * 2004-08-04 2015-02-03 Rockstar Consortium Us Lp Network management across a NAT or firewall
US20060072569A1 (en) 2004-10-04 2006-04-06 Wizzysoft Corporation Network address translation protocol for transmission control protocol connections
US8090845B2 (en) 2004-10-18 2012-01-03 Audiocodes Texas, Inc. Apparatus and method for firewall traversal
US20060160562A1 (en) 2004-12-16 2006-07-20 Davis Harvey E Automatic deactivation/activation of cellular phones in restricted areas
US7640490B2 (en) 2004-12-20 2009-12-29 Microsoft Corporation Method, system, and computer-readable medium for controlling the calculation of volatile functions in a spreadsheet
JP3999785B2 (ja) * 2005-01-20 2007-10-31 株式会社フラクタリスト 通信方法
US7471636B2 (en) 2005-02-23 2008-12-30 Cisco Technology, Inc. Methods and apparatus based on message transmission times
US7480837B2 (en) 2005-06-01 2009-01-20 Freescale Semiconductor, Inc. Method of monitoring timeout conditions and device therefor
US20070091907A1 (en) * 2005-10-03 2007-04-26 Varad Seshadri Secured media communication across enterprise gateway
US7907532B2 (en) 2005-11-23 2011-03-15 Jds Uniphase Corporation Pool-based network diagnostic systems and methods
GB0526029D0 (en) * 2005-12-21 2006-02-01 Nokia Corp Managing connections in a wireless communications network
US7672264B2 (en) 2006-06-21 2010-03-02 International Business Machines Corporation Method of pausing keep-alive messages and roaming for virtual private networks on handheld devices to save battery power
US8849961B2 (en) * 2006-09-06 2014-09-30 Nokia Corporation Mobile network optimized method for keeping an application IP connection always on
US20080139222A1 (en) * 2006-12-08 2008-06-12 General Instrument Corporation Presence Detection and Location Update in Premise Gateways

Also Published As

Publication number Publication date
WO2008106355A1 (en) 2008-09-04
JP5090472B2 (ja) 2012-12-05
JP2010520668A (ja) 2010-06-10
US7881318B2 (en) 2011-02-01
KR101354727B1 (ko) 2014-01-22
CN101622834A (zh) 2010-01-06
TW200843438A (en) 2008-11-01
CN101622834B (zh) 2013-03-13
US20080209068A1 (en) 2008-08-28
EP2127250A4 (en) 2014-05-14
EP2127250A1 (en) 2009-12-02
KR20090123867A (ko) 2009-12-02

Similar Documents

Publication Publication Date Title
TWI364967B (en) Out-of-band keep-alive mechanism for clients associated with network address translation systems
JP6569020B2 (ja) ネットワーキング技術
RU2527200C2 (ru) Устройство и способ установления и использования резервных каналов связи
US8862865B2 (en) Rebooting infiniband clusters
US11075980B2 (en) Method for operating a node cluster system in a network and node cluster system
US20150172103A1 (en) Software-defined networking tunneling extensions
JP2008085470A (ja) Ipアプリケーションサービス提供システム
JP2009532944A (ja) コンピューティングノード間通信の管理
JP2009508260A (ja) 複数のプロセスにおけるポートの共有
JP2006115495A (ja) コンピュータネットワークシステム及びコンピュータネットワークの構成方法
WO2020033489A1 (en) Systems and methods for server cluster network communication across the public internet
US20200322242A1 (en) Packet drop detection in local networking stack through packet correlation
CN103457948A (zh) 工业控制系统及其安全装置
US20110213893A1 (en) Methods, systems, and computer program products for detecting an idle tcp connection
WO2015167448A1 (en) Network management using port announcements
US9473451B2 (en) Methods, systems, and computer readable media for providing mapping information associated with port control protocol (PCP) in a test environment
US20240089352A1 (en) Udp message distribution method, udp message distribution apparatus, electronic device and computer readable storage medium
CN109076022A (zh) 网络地址转换装置、设置请求装置、通信系统、通信方法和存储程序的存储介质
CN105991442B (zh) 报文转发方法及装置
JP2003304269A (ja) ネットワークフィルタドライバのためのアーキテクチャおよびランタイム環境
EP3891935B1 (fr) Procédé de configuration d'un noeud d'un réseau
CN110430478B (zh) 组网通信方法、装置、终端设备及存储介质
JP2019519165A (ja) ネットワーク機器のスタッキング
US9083732B2 (en) Establishing communication between entities in a shared network
CN103297532A (zh) 一种用onvif协议进行直存的方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees