專利名稱:在安全網絡和非安全網絡之間連接分組電話呼叫的方法和裝置的制作方法
技術領域:
本發明一般涉及電話通信領域,更具體地說,涉及一種在安全網絡和非安全網絡 之間連接分組電話呼叫的方法和裝置。
背景技術:
隨著計算設備的普及,經常需要通過數據網絡將這些設備連網在一起,即將這些 設備以通訊的方式耦合起來,從而有助于在這些設備之間進行信息交換。然而,在企業數 據網絡中,經常關注的一個問題是,要確保駐留在企業網絡內的信息免受外部第三方的入 侵和/或攻擊,即那些通過因特網連接對企業內部網發起的攻擊。由此,已開發出過濾技術 來控制基于分組的數據流量在網絡間的通行,這種過濾技術可以基于每個數據分組的頭部
(header)來區分數據分組。在商用防火墻出現之前,網絡管理員就開始制定可以用來靜態 地濾除不想要的和惡意的流量的規則。但是,這種靜態分組過濾有很多不利之處,包括允許 外部客戶端直接連接到內部主機。 一個不友好的用戶可能占用一個受信的外部主機,并通 過直接連接,相對容易地獲得對整個內部網絡的惡意訪問。 已開發出的動態分組過濾就是為了解決靜態分組過濾中的某些問題。基于分組頭 部信息,動態分組過濾器在防火墻中允許一個臨時"窗口"。在一系列的分組已到達它們的
目的地后,防火墻中的這個臨時窗口就會被關閉。由于防火墻中的窗口打開的時間量相比 于靜態分組過濾器而言要短得多,因此許多類型的可有效對抗靜態分組過濾器的攻擊要想 針對動態分組過濾器展開部署,會更難一些。然而,動態分組過濾器仍然有可能允許在內部 主機和外部客戶端之間進行直接的IP連接。 —種一般不被傳統的企業防火墻支持的新興應用被通俗地稱為"因特網電話", "因特網協議(IP)電話"或者"分組電話",即使用IP數據分組的網絡間電話。 一種用于分 組電話的示范協議被正式發布在命名為"H. 323v4草案(DraftH. 323v4)"的國際電信同盟 電信標準化部門(ITU-T)標準中。作為分組電話標準的一個例子,化323規定了在分組網 絡(包括基于IP的網絡)上提供電話服務(即,實時音頻、視頻和數據通信)的組件、協議 和過程。H. 323所規定的協議是音頻編解碼器;視頻編解碼器;諸如H. 225的子協議,H. 225 基于包括注冊、許可和狀態(RAS)在內的Q. 931操作,定義了呼叫建立順序;H. 245控制信 令;實時傳輸協議(RTP);和實時控制協議(RTCP)。然而,H. 323與它運行所基于的傳輸協 議以及分組網絡無關,并且沒有具體規定它們。 用于IP網絡間電話流量的H. 323網關是已知的。在這方面,這些傳統網關提供了 呼叫建立和釋放協議的翻譯、不同網絡間的媒體格式轉換、以及H. 323網絡和非H. 323網絡之間的信息傳輸。在IP電話中,H. 323網關可以連接IP網絡和電路交換網絡,所述電路交 換網絡可以是模擬或數字公共交換電話網絡(PSTN)或綜合業務數字網(ISDN)。
然而,在網絡間分組電話的情況下,眾所公知的一個問題就是標準分組協議防火 墻和H. 323網關不能可靠地提供分組電話交換的安全性。電話數據分組可能不請自來地出 現在防火墻或網關面前,它們是從一個未被內部網客戶端當作目標的IP地址上流動過來 的,因此該電話交換可能被拒絕。或者,可允許該電話交換,這將導致潛在有惡意的外部實 體和內部網客戶端之間的直接連接。于是,潛在有惡意的外部實體就具有了對內部網客戶 端的直接訪問權,并且通常是對整個內部網的直接訪問權。
在附圖中,以示例而非限制的方式對本發明進行了說明,其中用相同的標號來表 示相似的元件,其中 圖1是根據本發明一個示例性實施方案且體現本發明教導的一個示例性計算設 備的框圖; 圖2是根據本發明一個示例性實施方案且體現本發明教導的一個示例性網絡配 置的框圖; 圖3是本發明第一實施例的框圖
圖4是本發明第二實施例的框圖
圖5是本發明第三實施例的框圖
圖6是根據本發明的一個示例性實施方案,更詳細地示出圖3和圖4中的示例性 控制器元件的框圖; 圖7是根據本發明的一個示例性實施方案,更詳細地示出圖6中的示例性流轉換 器的框圖; 圖8是根據本發明的一個示例性實施方案,更詳細地示出圖6中的示例性協議翻 譯器的框圖; 圖9是根據本發明的一個示例性實施方案,更詳細地示出圖6中的示例性AT的框 圖; 圖10是根據本發明一個方面,示出流轉換的一種示例性方法的流程圖;
圖11是根據本發明一個方面,示出協議翻譯的一種示例性方法的流程圖;
圖12是根據本發明一個方面,示出地址轉換的一種示例性方法的流程圖;
圖13是根據本發明的一個深分組檢查(de印packet inspecting)方面,示出轉 換分組電話流的一種示例性方法的流程圖;并且 圖14是根據本發明的一個可替換實施例的一件產品的框圖,該產品中包括具有 多條可執行指令的示例性存儲介質,這些指令在被執行時使得正在訪問的機器能夠實現本 發明的分組電話轉換器(PTT)的一方面或多方面。
具體實施例方式
在此將描述一種用于在安全網絡和非安全網絡之間連接分組電話呼叫的方法和 裝置。
6
根據本發明的教導,引入一種分組電話轉換器(PTT),它不會受到通常與傳統的用 于多媒體通信的分組過濾器和網關相關聯的固有限制的妨礙。正如下面所詳細展開的,PTT 為任意組合的安全通信網絡和非安全通信網絡之間的電話信息內容提供了安全的通信接 口。也就是說,PTT協助大范圍的電話業務中的任何一種穿過類似于防火墻的安全基礎設 施的業務,以維護一個受保護網絡的安全完整性。例如,PTT可以允許公眾獲得穿過防火墻 對管制和/或安全服務器的電話訪問權,并且在不損害管制和/或安全服務器的安全性的 情況下獲得服務。 根據一個示例性實施方案,PTT具有一種"流轉換器"安全特性雙宿網絡隔離代 理(dual-homed network-insulating proxy),在一個實施例中,該代理起到IP應用層的作 用,例如用于數據通信的開放式系統互連(OSI)標準中的應用層。流轉換器在受保護網絡 的邊界處終止一個進入的電話流("流"或"呼叫")的"第一段(first leg)",并且在受保 護的網絡內發起(initiate) —個新的、獨立的、安全的"第二段"流。在網絡邊界處終止第 一呼叫,并在該邊界的另一側發起第二呼叫(第二呼叫僅僅復制第一呼叫的"含意"或"信 息內容")的過程在這里被稱為"流轉換"。 雖然發送網絡通過向PTT發送流,可以(或可以不)導致PTT在受保護網絡內發 起一段類似和/或對應的流,但是發送網絡沒有對受保護網絡的物理層和/或協議層的訪 問權,后面將對這一問題進行更詳細的描述。相反,受保護網絡內的客戶端可以發起一個從 受保護網絡內出發,由PTT延伸到不受保護網絡和/或外部世界中的電話連接,而不會暴露 受保護網絡中的端點的身份以及受保護網絡的拓撲結構。 雖然PTT具有耦合到兩個或更多個彼此隔離的網絡上的網絡接口 (即,該PTT是 雙宿的或多宿的),但是流轉換器通過在電話流之間僅僅傳送電話通信的數據內容("信息 內容"),而將網絡完全相互隔離開來。信息內容是電話流所攜帶的"呼叫內容","數據結構" 和/或"電話信息有效載荷",即"含意"。因此,通過制作一個電話流所攜帶的信息的復制 品,并將該復制品添加到另一個電話流上,就可以傳輸所述數據內容。換言之,所傳輸的是 數據的形式,而不是物理數據流本身。在某些變動方案中,呼叫"有效載荷"的全部或部分 (即,攜帶電話信息內容的數據分組有效載荷)可以在PTT的控制下,通過媒體路由器或深 分組檢查引擎在網絡間傳遞。由于只有信息內容在電話流之間傳輸,所以一個網絡上的電 話客戶端不具有對使用一個或多個PTT的其他網絡的客戶端、拓撲結構和網絡管理的直接 (例如,物理的、電的、管理的)訪問權。 另外,根據本發明的另一方面,PTT可以配備有便攜式協議翻譯器。如上所述,流轉 換器是雙宿的或多宿的,在兩個或更多個網絡中的每一個中具有一個網絡接口。發送到第 一網絡(例如一個受保護網絡(即,經由PTT發送的))的第一段流可以是任意格式和/或 協議的。由于流轉換器所發起的第二段流是獨立并完全隔離于第一段流的,因此第二段流 同樣也可以是任意格式和/或協議的(即,進行選擇以最佳地適合于正在接收的客戶端)。 根據本發明的這個方面,流轉換器根據與第一段流相關聯的第一段通信協議來接收第一段 流,并將第一段通信協議翻譯為被動態選擇的第二段通信協議。由于在流轉換器的每一側 都可以使用任意的流協議,因此流轉換器可被配備為在任意兩種協議之間進行自動翻譯。
根據某些實施方案,PTT還配備有根據本發明另一方面的地址轉換器(AT)。受保 護網絡內的受信客戶端可以向PTT注冊一個私有和/或受信地址。AT將客戶端的私有和/
7或受信地址的公共版本("別名")指定給受信客戶端。AT可以在一個或多個安全或非安 全網絡上將所述別名公開化,并可以授權PTT的流轉換器在所述受信客戶端和受信網絡之 外請求連接到所述別名的非受信客戶端之間執行隔離的流轉換。根據本發明的一個方面, 所述非受信客戶端與流轉換器的第一側進行通信,非受信客戶端將流轉換器的第一側看作 具有所述別名的端點。流轉換器的第二側在它自己和受信客戶端之間發起一個獨立的第二 段流。第二段流與第一段流完全隔離,并且如上所述,可能在格式和/或協議方面不同于第 一段流。受信客戶端將流轉換器的第二側看作非受信客戶端的端點。因此,在一個實施方 案中,AT可以使流轉換器成為IP電話網絡之間的雙端點管道。 在整篇說明書中,"一個實施例"或者"實施例"指的是關于該實施例而描述的特定 特點、結構或特性被包括在本發明的至少一個實施例中。因此,短語"在一個實施例中"或 "在實施例中"在整篇說明書不同地方的出現不一定都指同一個實施例。此外,特定的特點、 結構或特性可以在一個或多個實施例中,以任何適當的方式組合起來。
現在參考圖l,根據本發明一個示例性的實施方案,描述了示例性計算設備101的 框圖,其中包括示例性的PTT 100。除了包括和/或可訪問包含本發明一個或多個方面的 PTT 100之外,計算設備101可以包含由一條或多條總線124耦合在一起的處理器116、存 儲器118和盤控制器120中的一個或多個。盤控制器120可以控制一個數據存儲設備122 或者幾個數據存儲設備。處理器116對數據進行訪問,包括可存儲在存儲設備122上的計 算機程序。另外,處理器116將計算機程序傳送到存儲器118,并在程序駐留于存儲器之后 執行這些程序。視頻接口 126可以將監視器128耦合到系統,且鍵盤接口 130可以將鍵盤 耦合到系統。本領域的普通技術人員將會理解適于實現本發明一個或多個方面的計算設 備101可以包含附加的或不同的組件。 根據本發明的一個實施方案,PTT 100可以連接到第一網絡102和第二網絡104。 在其他變動方案中,PTT 100可以連接到兩個以上的網絡,和/或一個以上的PTT 100可以 連接到任何數量的網絡。 PTT 100可以擁有它自己的一個或多個處理器和/或控制邏輯,或者可以使用主 機計算設備101的處理器116或多個處理器。PTT 100還可以擁有它自己的存儲器,用于實 施本發明的一個或多個方面,和/或可以利用計算設備101的存儲器118。同樣,PTT 100 可配備為包含它自己的應用,這些應用例如是軟件和/或指令形式的,和/或PTT 100可以 使用由盤控制器120訪問的、存儲在計算設備101的存儲設備122上的應用。使用視頻接 口 126、監視器128、鍵盤接口 130、鍵盤132和/或等同的輸入設備,可對PTT IOO進行防問 和/或編程,但是在其他變動方案中,計算設備101或容宿PTT 100的計算環境可能不具有 這些元件,這是本領域的普通技術人員所能理解的。 雖然所圖示的示例性PTT 100是以代表硬件模塊的方框形式進行描述的,但是應 當注意到,PTT 100也可以包括軟件,或者軟件、硬件、對象、規程、組件、子組件、模塊、例程
和/或子例程的任意組合。 圖2是為實現本發明示例性的PTT 204而提供環境的網絡200的示例性配置的圖 形表示。PTT 204、受信網絡202、非受信網絡208以及受信網絡202和非受信網絡208之間 的邊界206的相互關系如圖所示。邊界206還可以包括防火墻。私有、受保護和/或安全 ("受信")的網絡202在受信網絡202和非安全的外部世界之間的邊界206處采用了 PTT
8204,在圖示的示例性配置中,所述非安全的外部世界中包括了示例性的公共、不受保護和/ 或非安全("非受信")的網絡208。雖然非受信網絡208被用來描述受信網絡202的安全 邊界206以外的任何示例性網絡,但是應當注意到,本發明的一個或多個實施方案可被用 在兩個受信網絡之間,或者受信和非受信網絡的任意組合之間。 根據本發明的一個方面,受信網絡202中的受信客戶端210向PTT 204注冊一個 私有地址212。 PTT 204為受信客戶端210的私有地址指定一個別名,并可以公開化,廣告, 和/或以其他方式授予對該別名的訪問權。非受信客戶端216可以向PTT 204請求連接到 代表受信客戶端210的公共地址。PTT 204的控制器220的一個或多個元件可以根據本發 明的一個方面,基于內建到或編程到特定的控制器220中的通信許可策略來準許或否定所 述的連接請求。如果所請求的連接被控制器220授權,那么來自非受信客戶端216的第一 流222就被PTT 204接收,并被第一協議堆棧224的不同層接收,但是終止在控制器220。 換言之,非受信客戶端216和受信客戶端210之間的通信的第一段230終止在PTT 204處。
PTT 204的控制器220發起第二流228,所述第二流包括非受信客戶端216和受信 客戶端210之間的通信的第二段232。第二流228從控制器220中發送出去,并穿過第二 協議堆棧226,該堆棧226可以實現與第一協議堆棧224不同或部分不同的協議。第一流 222和第二流228是獨立的通信段230、232,它們完全相互隔離,并且在格式、協議或介質方 面可能完全不同。因此,受信網絡202不會受到非受信網絡208的直接物理訪問。控制器 220將信息內容和/或呼叫有效載荷從第一流222傳送到第二流228。
受信客戶端210也可以發起連接,在這種情況下, 一個流將從受信客戶端210前進 到第二協議堆棧226,并被控制器220終止。然后,控制器220將會發起第二流,該第二流從 第一協議堆棧224前進到非受信客戶端216。 在其他實施方案中,控制器220可以將有效載荷的傳輸任務委派給其他機制,這 些機制保持著網絡間的隔離。本領域的普通技術人員將會理解,以上說明描繪出這樣一種 PTT 204的控制器220,該控制器隔離網絡,在流之間傳輸數據內容,翻譯私有和公共地址, 并且翻譯網絡間的協議,同時將所述流相互隔離并且將所述網絡相互隔離。本領域的普通 技術人員還會理解,第一和第二協議堆棧224、226及它們的網絡接口可以具有多種形式和 配置,這取決于耦合到PTT 204每一側的網絡的類型。 PTT 204可以起到防火墻206的狀態檢查代理的作用。例如,一個示例性的受信 "網絡地址翻譯(NAT)"使能網絡上的H. 323客戶端可以與一個非受信網絡,例如因特網,中 的11.323客戶端相連。PTT 204可以認證用戶,為呼叫信息寫日志,并指揮所指定端口范圍 的使用。在一個變動方案中,在受信網絡202的防火墻206之外的第二 PTT可以注冊非受 信客戶端216。這種情況下,所述連接可以前進通過受信PTT 204和外部PTT。兩個PTT都 可以準許或拒絕受信客戶端210和非受信客戶端216之間的連接。因此,本發明具有以下 優點任何PTT(包括實現了可存在于PTT —側或兩側的流管理功能的PTT)都可以是完全 獨立的。當一個流必須連接通過多個網絡時,很可能各種防火墻、網關和PTT都包括在這條 路徑中。若干PTT建立一個安全的邊界,使得所使用的每一個PTT都可以在自身的域中沒 有干擾的情況下運行,并可以向其他網絡提供安全的分組電話流橋,而不會與其它網絡合 并拓撲結構,也不會超出網絡邊界206它的一側而進行不安全的通信。
本領域的普通技術人員將會理解,本發明所提供的網絡隔離具有以下優點例如在服務提供者網絡和用戶側(customer premise)網絡中實現了協議使用的靈活性。第一 PTT可以允許示例性的基于媒體網關控制協議(MGCP)的用戶加入到服務提供者網絡中。第 二PTT可以允許示例性的基于會話發起協議(SIP)的用戶加入到相同的服務提供者網絡 中。因此,用戶側可以使用與服務提供者骨干中所使用的協議不同的協議。這可以幫助保 護服務提供者的網絡投資。服務提供者可以部署特定協議的網絡,例如H. 323,并且后面可 以使用本發明的協議翻譯方面來增加其它協議的支持,例如SIP、MGCP和/或私有協議。
圖3示出了具有協議堆棧組315、317的示例性結構的第一示例性PTT 300。如圖 所示,協議堆棧組315、317、控制器322、第一通信接口板318、第二通信接口板320、第一分 組電話流網絡302("流網絡")和第二流網絡304耦合在一起。在這個實施方案中,第一流 網絡302和第二流網絡304各自分配有完整并且獨立的組,這些組存在于獨立的通信接口 板318、 320上,分別具有物理網絡接口 306、 308,分組網絡協議堆棧310、 312,以及協議堆棧 (本情形下為H. 323協議堆棧314、316)。每個通信接口板318、320都耦合到PTT 300的控 制器322。這兩個獨立的協議堆棧組315、317的動作由控制器322進行協調和控制,控制 器322決定哪些流可由PTT 300來轉換,并可以實現信息內容和/或有效載荷在協議堆棧 315、317之間的傳輸。 根據一個示例性的實施方案,流有效載荷可以經由時分復用(TDM)總線324,或者 通過其它方式在兩個堆棧組315、317之間傳輸,只要這種方式能夠在物理網絡接口層306、 308,分組網絡協議層310、 312,以及分組電話流協議層314、 316上保持協議堆棧組315、 317 之間的分隔。例如,控制器322內包含流有效載荷的數字化段的數據結構能夠在網絡302、 304之間傳輸,同時保持協議堆棧組315、317之間的安全分隔。 雖然圖3中所圖示的示例性實施例示出了本發明中在兩個示例性的H. 323分組電 話流網絡302、304之間轉換流的PTT 300,但是也可以有許多其它變動方案。不同的物理網 絡接口 306、308(例如用異步傳輸模式(ATM)取代以太網)可被用在協議堆棧組315、317之 一或兩者中。不同的分組網絡協議310、312(例如用支持多個服務等級的私有傳輸控制協 議/因特網協議(TCP/IP)取代標準的TCP/IP)可被用在協議堆棧組315、317之一或兩者 中。不同的電話流314, 316 (例如SIP或者MGCP)可被用在協議堆棧組315、317之一或兩者 中。在其它的變動方案中,兩個協議堆棧組315、317都可被部分或者全部地實現在主機處 理器中,而不是在獨立的專用通信接口板318、320中。通過傳輸數據結構中的數字化有效 載荷段來傳輸流有效載荷的方法可由實現兩個協議堆棧組315、317的主機處理器來執行。 本發明還可以被實現為單個控制器322對象,該對象創建了 PTT 300中的其它必要對象。
當PTT 300用在示例性的IP電話實施方案中時,它實現了分組電話呼叫在兩個 TCP/IP網絡302、304之間的安全連接,而不會合并兩個網絡302、304的拓撲結構,并且也不 會引起與TCP/IP流量有關的任何安全性問題。PTT 300使得一個電話網絡不可能確定另一 個網絡的物理拓撲、分組網絡拓撲和分組電話拓撲。因此,正如上面所討論的那樣,兩個電 話網絡302、304在物理層、分組網絡層和分組電話層上保持著相互隔離。
用于電話業務的PTT 300的某些實施例并不限于分組電話,而是可被用在分組電 話網絡和電路交換電話網絡(例如PSTN)之間。無論使用在PTT 300每一側的電話網絡 和協議是什么類型,PTT 300的各種電話實施方案都可以管理呼叫策略,執行別名到私有地 址的翻譯,支持路由呼叫模型,并且指引呼叫模型,存儲注冊端點信息,支持呼叫轉移服務,
10支持快速連接和H. 245隧道方式,支持對網絡工程的全事件記錄,并且支持事件日志(例如 嚴重錯誤的日志)。在一些實施例中,可以發信號通知PTT 300來終止受控端點間的連接, 為高層應用提供呼叫轉發,為直接路由請求服務提供選項,提供轉向(deflect)服務,提供 發起呼叫服務,為RAS和Q. 931消息提供回呼指示,并且提供用于管理策略和用戶信息的接 口 ,這都是電話相關領域中的普通技術人員所能理解的。PTT 300還可以成為通過計算機操 作系統注冊表而完全可配置的,并為基于萬維網(Web)的管理支持提供支持。PTT 300的其 它變動方案可以提供到達呼叫和發出呼叫的自動檢測,可以打開或關閉到達呼叫和發出呼 叫,并且可以路由RTP和RTCP分組音頻流和分組視頻流。 圖4示出了第二示例性PTT 400,所述PTT 400具有控制器402,示例性第一電話 協議堆棧(例如H. 323協議堆棧404),示例性第二電話堆棧(例如SIP協議堆棧406),媒體 路由器408,RTP堆棧410、412,端口管理器413、網絡接口板414、416,第一網絡418和第二 網絡420,所有這些都如圖所示以通信的方式耦合在一起。在PTT 400的這個示例性實施方 案中,根據本發明的另一方面,控制器402將第一電話流和第二電話流之間的有效載荷內 容傳輸委托給媒體平面408、410、412,該平面可以包括各種媒體傳輸模態(modality)。保 留在控制器402中的信令平面處置連接請求,應用許可策略,并做出連接決定("信令")。所 述媒體平面在隔離的電話流之間傳輸數據信息內容。在所圖示的實施例中,示例性的H. 323 協議堆棧404(耦合到第一網絡418所使用的第一網絡接口 414)和SIP協議堆棧406(耦 合到第二網絡420所使用的第二網絡接口416)中的每一個都與控制器402交換信號,以建 立對"連接"的授權,借助該授權流轉換才可以發生。 控制器402將媒體傳輸委托給媒體路由器408,該路由器在耦合到第一網絡接口 414的第一 RTP堆棧410和耦合到第二網絡接口 416的第二 RTP堆棧412之間傳遞有效載 荷。在這個實施例中,端口管理器413為整個系統中的網絡接口存儲/管理自由和已用端 口信息。在建立會話之前,媒體路由器408與端口管理器413通信,以確定將要用于地址翻 譯的自由端口 ,用內部地址來替換外部地址,和/或反之亦然。 一旦關閉了通信會話,媒體 路由器408將它已經使用的端口回收到端口管理器413,以供再次利用。
其它實施例也是可能的,包括例如用媒體網關控制協議(MGCP)(征求意見稿 2805,"媒體網關控制協議體系結構和要求",2000年4月)或者媒體網關控制(Megaco)(征 求意見稿3015,"Megaco協議版本1. 0",2000年11月;和征求意見稿3054,"Megaco IP電 話媒體網關應用概況",2001年1月)來替代11.323和31 協議。應當注意到,在媒體傳輸 的第一段414、410、408和媒體傳輸的第二段408、412、416兩者上使用同樣的媒體編解碼 器,這可以產生以下優點避免媒體代碼轉換,從而提高媒體路由器408的效率。
在上面所討論的媒體平面的其它實施方案中,使用硬件加速可以提高媒體路由速 度。例如,線路速度(wire speed)的路由硬件可被用于分組路由。例如,路由硬件可以使 用網絡處理器和/或基于數字信號處理器(DSP)的硬件。所圖示的媒體路由器408和RTP 堆棧410、412可以被用戶報文協議-因特網協議(UDP/IP)路由器替換。因此,本發明中處 理器密集型的(processor-intensive)信令部分可由PTT 400中的主機處理器來執行,而 線路速度的分組路由可由網絡處理器和/或基于DSP的硬件來執行。如果用媒體管理器來 取代媒體路由器408,則媒體管理器就可以使用動態鏈接庫(DLL)的服務來傳遞音頻和/或 視頻分組。DLL可以提供通常的端口映射(即,對于UDP)、端點間的分組傳遞、會話跟蹤和過濾服務。 圖5示出了第三示例性PTT 500的實施例,其中包括了深分組檢查引擎509,用于
以線路速度進行的超高性能分組電話流轉換。示例性的PTT 500可以進入數據分組有效載
荷的內部進行讀取,并且如果必要的話,將在轉發前修改這些有效載荷。 示例性PTT 500可以包含控制器502、第一協議引擎504、第二協議引擎506、分組
檢查器508、分組拆分器/重組合器(PDR)510、第一網絡接口 512和第二網絡接口 514,如圖
所示,它們全都以通信方式耦合在一起。第一網絡接口 512耦合到第一網絡516,且第二網
絡接口 514耦合到第二網絡518。 在這個實施例中,協議引擎504、506處理呼叫建立,并且不僅可以處理(信令 分組)電話連接協議(例如,H,323、SIP),還可以處理(呼叫有效載荷分組)會談路徑 (talk-path)傳輸協議(例如,RTP)。協議引擎504、506可以支持用在它們各自連接中的 所有協議,并且在某些變動方案中可以包括各種協議子引擎,每一個子引擎處理一個或多 個不同的協議,并且共同工作以支持單個連接。 硬件加速可被用在分組檢查器508、 PDR 510、第一網絡接口 512和第二網絡接口 514中的部分或全部中,以使得PTT 500能夠有效率地檢查總網絡流量(例如,在第一網絡 接口 512和第二網絡接口 514之間傳遞的網絡流量),以發現代表分組電話呼叫的數據分 組的存在。當識別出電話分組時,它們被分組檢查器508從網絡流中移除,并被傳遞到PDR 510。在某個實施例中可能有多個PDR 510,選擇PDR 510的適當數量,以匹配特定的分組 負載和/或連接負載的處理需求。PDR 510檢查從分組檢查器508接收的每個分組的(多 個)頭部,以確定每個分組與哪個連接,即與哪個協議引擎504、506相關聯。 一個分組(和 /或它等效的解碼后信息內容)被傳遞給協議引擎504、506中處理該連接的那一個引擎。 協議引擎504、506遵照來自控制器502的指令,相互之間交換信息內容和/或呼叫有效載 荷。 協議引擎504、506邏輯的全部或者至少其中一部分可以用硬件來實現。例如,可 用硬件來實現RTP有效載荷協議以及信息內容和/或呼叫有效載荷的交換,同時可用運行 在主機計算系統中的軟件來實現呼叫建立協議。 圖6示出了根據本發明一個實施方案的PTT的示例性控制器600元件。示例性控 制器600包括至少一個處理器604、應用602、流轉換器608、協議翻譯器610、 AT 606和策 略數據庫607,它們如圖所示由一條或多條總線601耦合在一起。在一些實施例中,處理器 604可以協調控制器600的所有其它元件的活動,或者可被縮小為僅控制其中某些元件。在 其它實施例中,控制器600可能缺少處理器604,反而依賴宿主計算設備和/或宿主系統中 的外部處理器。流轉換器608被連接到兩個或更多個獨立的網絡,并且通常可被耦合到用 于第一網絡612的第一組協議堆棧以及用于第二網絡614的第二組協議堆棧。簡單地說, 流轉換器608從一個網絡中接收到第一流,終止該流,并且為另一個網絡發起第二流,該第 二流具有第一流的數據內容。結合以下附圖將更詳細地描述流轉換器608。
根據本發明的另一個方面,控制器600可以包括耦合到流轉換器608的協議翻譯 器610,如圖所示。協議翻譯器610可被靜態地編程,以在用于第一網絡的第一協議和用于 第二網絡的第二協議之間進行翻譯,或者可替換地,協議翻譯器610可被編程為在附接到 PTT的任何網絡上所使用的任意協議之間進行自適應地翻譯。在一個實施方案中,協議翻譯
12器610檢測用在附接于PTT的兩個或更多個網絡上的協議,并且動態地選擇匹配的協議,以 與每個網絡進行通信并在網絡間進行協議翻譯。協議翻譯器610可被耦合到流轉換器中終 止并發起流的元件,從而檢測使用中的一個或多個協議,并且開始流翻譯所需的一個或多 個協議。將會參考后面的附圖進一步更詳細地描述協議翻譯器610。 根據本發明的另一方面,如圖所示,AT 606和策略數據庫607可以相互耦合,并可 耦合到流轉換器608。 AT 606根據策略數據庫607中的規則,將受信網絡上的客戶端的受 信地址翻譯成公共地址,以在公共和/或非受信網絡上進行公布和/或訪問。策略數據庫 607也可以取得并存儲有關注冊端點的信息,并響應于來自遠程端點的RAS請求而做出基 于策略的決定。AT 606可以為流轉換器608而在私有地址和公共地址之間進行動態地翻 譯。AT 606還可以執行兩個網絡間的連接授權,因此可被耦合到流轉換器608中用于控制 流轉換器608活動的轉換許可元件。結合以下附圖,將更加詳細地描述AT 606。
雖然控制器600被描述為若干相互耦合的模塊,但是應當注意,這些模塊可以是 一個或多個軟件程序中的若干部分。控制器600可以完全由軟件組成,或者可以包括軟件、 硬件、對象、過程、組件、子組件、模塊、例程和/或子例程的任意組合。 現在參考圖7,其中更詳細地示出了圖6中的示例性流轉換器700。第一收發器 702被描述為包括第一終止器714和第一發起器718,第二收發器704被描述為包括第二終 止器716和第二發起器720。第一和第二收發器702、704在物理和協議層上相互絕緣和/ 或隔離。第一收發器702耦合到第一組協議堆棧706,第一組協議堆棧706接下來又耦合到 第一網絡710,第二收發器704耦合到第二組協議堆棧708,第二組協議堆棧接下來又耦合 到第二網絡712 。在所示的實施例中,來自每個網絡710、 712的流在各自的終止器702、 704 處終止,而所述終止器可將所述流的數據內容中繼到內容傳輸器722元件。內容傳輸器722 可以以多種模態實現,它在收發器702、704之間傳輸有效載荷。例如,內容傳輸器722可以 將來自包括在第一收發器702中的第一終止器714中的內容傳輸給包括在第二收發器704 中的第二發起器720,或者,將來自包括在第二收發器704中的第二終止器716中的內容傳 輸給包括在第一收發器702中的第一發起器718。這樣,有效載荷就很典型地從第一流的終 止點被傳輸到第二流的發起點。如上所述,有效載荷傳輸可以使用物理TDM總線而發生,或 者可替換地,可以使用包括在PTT中的處理器和/或PTT之外的處理器內的數據結構交換 而發生。內容傳輸器722將有效載荷的傳輸不僅可以委托給流轉換器700的外部(但仍然 在控制器和/或PTT的內部,如圖4所示),甚至還可以委托給PTT的外部,例如委托給外部 的媒體管理器和/或網絡分組路由器。 耦合到內容傳輸器722上的傳輸許可器724可以掌管有效載荷的傳輸,因此在某 些實施例中,可以確定在接收到第一段流之后是否準許發起第二段流。傳輸許可器724可 以執行簡單的開關功能,使得內容傳輸器722或者完整地傳輸有效載荷,或者根本不傳輸 有效載荷,或者傳輸許可器724可以基于內容做出傳輸決定,來過濾有效載荷內容,和/或 基于內容傳輸部分有效載荷內容。根據本發明的另一方面,傳輸許可器724可被耦合到AT, 該AT可以基于地址、信令和/或安全性策略和協議來授權有效載荷傳輸。
圖8更詳細地示出了圖6中的示例性協議翻譯器800,所述翻譯器耦合到圖7中 的流轉換器的元件。在協議翻譯器800的實施方案中可以包括一個或多個協議檢測器804 以及一個或多個動態協議選擇器802。所圖示的協議檢測器804被耦合到流轉換器元件的
13終止器854、856。協議檢測器804發現網絡正在使用的協議。協議檢測器804可被耦合到 動態協議選擇器802,簡單地說,該選擇器802可以將正發送給某一網絡的通信協議與正從 該網絡接收的協議相匹配。動態協議選擇器可被耦合到流轉換器的收發器850、852的發起 器858、860,以實現發起器858、860在發送流時所需的協議。本領域的普通技術人員將會 理解,所圖示的協議翻譯器800僅僅是一個例子,本發明范圍內的各種協議翻譯器都是可 以的。協議翻譯器800可能被構造和/或編程為在僅有的兩種不變協議之間進行不變的翻 譯。與網絡所使用的不變協議相關的協議翻譯硬件和/或軟件可用來替換協議檢測器804 和動態協議選擇器802。 圖9更詳細地示出了圖6中的示例性AT 900,所述AT 900耦合到圖7中所示的 示例性流轉換器的元件。公共地址寄存器902、翻譯器904和私有地址寄存器906如圖所 示地耦合在一起。私有地址寄存器906可以從流轉換器的受信網絡側的收發器910接收私 有地址,例如,從受信客戶端接收私有地址。私有地址以及對應的客戶端可被注冊在一張表 中,和/或被分配給一個哈希表(hash),并被傳遞到翻譯器904,而在一個實施例中,翻譯器 904可以向每一個私有地址分配一個別名,例如公共地址或者偽裝名(disguise)。
公共地址寄存器902可以使得所述別名對流轉換器的非受信網絡側的收發器908 可用。可向受信網絡的邊界以外的任何安全、非安全、公共和/或私有網絡廣告所述別名, 或者使得所述別名對這些網絡可用。翻譯器904可以隨著流在流轉換器的收發器908、910 處被終上或者發起,而在別名和私有地址之間來回翻譯。本領域的普通技術人員將會理解, 私有地址和別名可以采用網絡上所使用的協議可以接受的任何形式,例如IP地址、電話號 碼、硬件地址以及借助其可與網絡上的客戶端進行通信的任何其它地址或向量。
AT 900的元件(例如私有地址寄存器906和公共地址寄存器902)可以耦合到流 轉換器的傳輸許可器914上,以加入對內容傳輸器912的活動的控制。例如,包括在進入流 中的別名目的地地址與注冊在私有地址寄存器906中的受信地址的匹配,可以是傳輸許可 器914準許內容傳輸繼續進行而采用的一種標準。因此,根據本發明的一個方面,除了通過 流轉換器和協議翻譯器的網絡隔離特性和協議翻譯特性而提供的安全性措施之外,AT 900 也提供了一種安全性措施。本領域的普通技術人員將會理解,所描繪的AT 900僅僅是AT 在本發明范圍內的多種可能配置當中的一個例子。 圖10中給出了根據本發明的一個方面、用于轉換電話流的示例性方法的流程圖。 從第一網絡上的第一客戶端接收到具有信息內容的第一電話流1000。該第一電話流在第一 網絡和第二網絡之間的邊界處被終止1002。雖然第一電話流可能是不安全的,但是通過終 止第一流,并且發起一個完全獨立并且安全的用于第二網絡的第二電話流就可以確保安全 性。具有所述信息內容的第二電話流被發送到第二網絡上的第二客戶端1004。由于第一流 和第二流是相互分隔的,所以它們可以使用不同的協議。因此,本發明的方法可以同時起到 提供安全性和協議翻譯的作用。 本方法在物理和協議層上分隔兩個或更多個網絡,使得這些網絡無法相互訪問, 除非本方法允許它們在電話流之間交換信息內容。例如通過將用于第一網絡的第一物理網
絡接口、第一分組網絡協議堆棧和第一分組電話協議堆棧與用于第二網絡的第二物理網絡 接口、第二分組網絡協議堆棧和第二分組電話協議堆棧隔絕開來,可以相互隔離所述兩個 或更多個網絡。使用連接到第一分組電話協議堆棧和第二分組電話協議堆棧的應用層控制器,可以將來自第一 電話流的內容傳輸到第二電話流。在第一分組電話協議堆棧和第二分 組電話協議堆棧之間保持隔離的同時,所述控制器在網絡間的邊界處終止第一電話流,并 發起第二電話流。 圖11是根據本發明一個方面的、用于協議翻譯的示例性方法的流程圖。接收到示 例性的第一電話流,例如攜帶有信息內容且根據第一網絡所使用的第一協議進行格式化的 非安全第一電話流1100。所述第一電話流在第一網絡和第二網絡間的邊界處被終止1102。 動態地選擇第二協議,以匹配第二網絡所使用的協議1104。第二電話流例如是能夠(根據 本方法的所述實施例,在某個點上)攜帶所述信息內容的安全第二電話流,該第二電話流 根據第二協議進行格式化,并被發送到第二網絡1106。 本方法還可以包括檢測第一網絡所使用的第一協議,并且動態地選擇用于接收所 述第一電話流的接收協議,檢測第二網絡所使用的第二協議,并且動態地選擇用于發送所 述第二電話流的發送協議,和/或將所述內容從第一電話流傳輸到第二電話流,同時隔離 第一網絡和第二網絡。 在圖12中,給出了根據本發明一個方面的、用于地址轉換的示例性方法的流程 圖。從第一網絡上的受信客戶端接收到一個私有地址1200。向該私有地址分配一個公共地 址1202。接收到具有信息內容的示例性非安全第一電話流,并遞送到所述公共地址1204。 在第一網絡和第二網絡之間的邊界處終止所述非安全第一電話流1206。具有所述內容的示 例性安全第二電話流被發送到所述私有地址1208。來自受信客戶端的多個私有地址可被注 冊在私有網絡上。分配給私有地址的公共地址可在公共網絡上被公開化,并且當接收到將 公共地址之一作為目的地的通信流時,將所述目的地公共地址匹配到在所述私有網絡上發 現的私有地址的能力就可以成為地址轉換的標準之一。 圖13是根據本發明的深分組檢查方面的、用于轉換分組電話流的示例性方法的 流程圖。首先,對數據分組流進行檢查,以發現電話數據分組的存在1300。從數據分組的流 中移除所述電話數據分組1302。可由深分組檢查引擎509中的分組檢查器508組件來執行 電話數據分組的檢查和移除工作。 讀取電話數據分組頭部和/或電話數據分組有效載荷,以將每一個電話數據分組 引導到與所述頭部和/或有效載荷相對應的電話流中1304。換言之,讀取所述頭部和/或 有效載荷,以確定地址和/或將電話數據分組與其電話流關聯起來的其它標識數據。讀取 頭部和/或有效載荷,以及將電話數據分組引導到對應的電話流中,這些工作都可由深分 組檢查引擎510中的分組拆分器/重組合器(PDR)510組件來完成。 信息內容在電話流之間(例如,第一電話流和第二電話流之間)傳輸,同時相互隔 絕所述電話流1306。在兩個電話流的情況下,第一協議引擎504可被用于第一電話流,而第 二協議引擎506可被用于第二電話流。控制器502可被耦合到第一和第二協議引擎504、 506,以執行所述信息內容在電話流之間的傳輸。 圖14是本發明一個替換實施例中的一件產品1400的圖形表示,該產品中包括具 有內容1402的機器可讀介質,所述內容1402使得機器可以實現本發明的PTT或者相關方 法。可部分或者完全地以計算機程序產品的形式來提供本發明的所述方法和裝置,該產品 可以包括機器可讀介質。所述機器可讀介質可以包括但不限于軟盤、光盤、CD-ROM、磁光盤、 ROM、RAM、EPROM、EEPROM、磁卡或光卡、閃存或者適于存儲電指令的其他類型的介質。此外,本發明的實施例還可以作為計算機程序產品被下載,其中所述程序可以經由通信鏈路(例 如,調制解調器或網絡連接),以數據信號的形式從一臺遠程計算機傳輸到發出請求的計算 機,所述數據信號可以包含在載波中或者其它傳播介質中。 上面以最基本的形式描述了所述方法和裝置,但是在不偏離本發明的基本范圍的 情況下,可以做出各種修改。本領域的普通技術人員將會清楚,在不背離本發明的精神和范 圍的情況下,可以做出進一步的修改和調整。所提供的具體實施例不是要限制本發明,而是 要解釋本發明。本發明的范圍不是由上面所提供的特定例子來決定的,而是由所附的權利
要求書來決定的。
權利要求
一種方法,包括接收第一電話流,所述第一電話流包括信息內容并發送到第一地址,所述第一電話流是根據第一網絡所使用的第一通信協議來格式化的;在所述第一網絡和第二網絡之間的安全邊界處終止所述第一電話流;標識與所述第一地址相關的第二地址,所述第二地址包括在所述第二網絡中;以及為所述第二網絡建立第二電話流,所述第二電話流包括所述信息內容,所述第二電話流是根據第二通信協議來格式化的,并且被發送到所述第二地址。
2. 如權利要求1所述的方法,其中,還包括 動態地選擇所述第二通信協議以所述第二網絡所使用的協議。
3. 如權利要求1所述的方法,其中,還包括檢測所述第一網絡所使用的所述第一通信協議,并動態地選擇用于接收所述第一電話 流的接收協議;檢測所述第二網絡所使用的所述第二通信協議,并動態地選擇用于發送所述第二電話 流的發送協議;以及將來自所述第一電話流的所述信息內容傳輸到所述第二電話流,同時使所述第一網絡 與所述第二網絡相隔離。
4. 如權利要求1所述的方法,其中,所述安全邊界使第一電話流、第一客戶端、第一網 絡與第二電話流、第二客戶端、第二網絡相隔離。
5. 如權利要求4所述的方法,其中,所述第一電話流和第二電話流中的至少一個是IP 電話通信,所述隔離包括將第一網絡的第一物理網絡接口、第一分組網絡協議堆棧和/或 第一分組電話協議堆棧與第二網絡的第二物理網絡接口、第二分組網絡協議堆棧和/或第 二分組電話協議堆棧相隔離。
6. 如權利要求5所述的方法,還包括使用連接到所述第一分組電話協議堆棧和所述第二分組電話協議堆棧的控制器將來 自第一電話通信的信息內容傳輸到第二電話通信,其中所述控制器維持所述第一分組電話 協議堆棧與所述第二分組電話協議堆棧之間的隔離。
7. —種工業制品,包括機器可讀介質,包括內容,在執行該內容時導致機器執行接收第一電話流,所述第一電話流包括信息內容并發送到第一地址,所述第一電話流是根據第一網絡所使用的第一通信協議來格式化的;在所述第一網絡和第二網絡之間的安全邊界處終止所述第一電話流; 標識與所述第一地址相關的第二地址,所述第二地址包括在所述第二網絡中;以及 為所述第二網絡建立第二電話流,所述第二電話流包括所述信息內容,所述第二電話流是根據第二通信協議來格式化的,并且被發送到所述第二地址。
8. 如權利要求7所述的工業制品,其中,還包括內容,在執行該內容時導致機器執行 動態地選擇所述第二通信協議以所述第二網絡所使用的協議。
9. 如權利要求7所述的工業制品,其中,還包括內容,在執行該內容時導致機器執行 檢測所述第一網絡所使用的所述第一通信協議,并動態地選擇用于接收所述第一電話流的接收協議;檢測所述第二網絡所使用的所述第二通信協議,并動態地選擇用于發送所述第二電話 流的發送協議;以及將來自所述第一 電話流的所述信息內容傳輸到所述第二電話流,同時使所述第一網絡 與所述第二網絡相隔離。
10. 如權利要求7所述的工業制品,其中,所述安全邊界使第一電話流、第一客戶端、第 一網絡與第二電話流、第二客戶端、第二網絡相隔離。
11. 如權利要求io所述的工業制品,其中,所述第一電話流和第二電話流中的至少一個是IP電話通信,所述隔離包括將第一網絡的第一物理網絡接口、第一分組網絡協議堆棧 和/或第一分組電話協議堆棧與第二網絡的第二物理網絡接口、第二分組網絡協議堆棧和 /或第二分組電話協議堆棧相隔離。
12. 如權利要求ll所述的工業制品,其中,還包括內容,在執行該內容時導致機器執行使用連接到所述第一分組電話協議堆棧和所述第二分組電話協議堆棧的控制器將來 自第一電話通信的信息內容傳輸到第二電話通信,其中所述控制器維持所述第一分組電話 協議堆棧與所述第二分組電話協議堆棧之間的隔離。
13. —種設備,包括用于接收第一電話流的裝置,所述第一電話流包括信息內容并發送到第一地址,所述第一電話流是根據第一網絡所使用的第一通信協議來格式化的;用于在所述第一網絡和第二網絡之間的安全邊界處終止所述第一電話流的裝置; 用于標識與所述第一地址相關的第二地址的裝置,所述第二地址包括在所述第二網絡中;以及用于為所述第二網絡建立第二電話流的裝置,所述第二電話流包括所述信息內容,所 述第二電話流是根據第二通信協議來格式化的,并且被發送到所述第二地址。
14. 如權利要求13所述的設備,其中,還包括用于動態地選擇所述第二通信協議以所述第二網絡所使用的協議的裝置。
15. 如權利要求13所述的設備,其中,還包括用于檢測所述第一網絡所使用的所述第一通信協議,并動態地選擇用于接收所述第一 電話流的接收協議的裝置;用于檢測所述第二網絡所使用的所述第二通信協議,并動態地選擇用于發送所述第二 電話流的發送協議的裝置;以及用于將來自所述第一電話流的所述信息內容傳輸到所述第二電話流,同時使所述第一 網絡與所述第二網絡相隔離的裝置。
16. 如權利要求13所述的設備,其中,所述安全邊界包括用于使第一電話流、第一客 戶端、第一網絡與第二電話流、第二客戶端、第二網絡相隔離的裝置。
17. 如權利要求16所述的設備,其中,所述第一電話流和第二電話流中的至少一個是 IP電話通信,并且所述用于隔離的裝置包括用于將第一網絡的第一物理網絡接口、第一 分組網絡協議堆棧和/或第一分組電話協議堆棧與第二網絡的第二物理網絡接口、第二分 組網絡協議堆棧和/或第二分組電話協議堆棧相隔離的裝置。
18. 如權利要求17所述的設備,還包括用于使用連接到所述第一分組電話協議堆棧和所述第二分組電話協議堆棧的控制器 將來自第一電話通信的信息內容傳輸到第二電話通信的裝置,其中所述控制器維持所述第 一分組電話協議堆棧與所述第二分組電話協議堆棧之間的隔離。
全文摘要
這里描述的方法和裝置用于在安全(202)網絡和非安全網絡(208)之間連接分組電話呼叫。
文檔編號H04L29/06GK101707609SQ200910225818
公開日2010年5月12日 申請日期2003年3月4日 優先權日2002年3月8日
發明者休·默瑟, 卡爾·斯特拉斯邁耶, 唐納德·芬尼, 拉梅什庫馬·伊利卡爾, 邦薩維文·馮默索法 申請人:英特爾公司