手机看片福利永久国产日韩-手机看片369-手机精品在线-手机国产乱子伦精品视频-国产精品嫩草影院在线观看免费-国产精品嫩草影院在线播放

首頁 新聞 > 科技 > 正文

SIP應用層網關技術

引言

SIP(Session Initiation Protocol)稱為會話初始協議[1][4],是一個與HTTP和SMTP類似的、基于文本的協議,SIP獨立于傳輸層協議和其它會話控制協議,可以與其他協議(如RSVP,RTSP等)一起構建多媒體通信系統如智能家居網絡、視頻會議[2]等。

NAT/防火墻(FW)為私網提供統一的對外出口,從而隱藏內部網絡的拓撲結構,提高了私網的安全性[3]。但這也給私網的遠程控制應用帶來很大的麻煩。對于NAT,其功能是在公網IP地址及端口和私網IP地址及端口間進行映射,工作在傳輸層,它只對TCP/UDP包頭中的地址、端口進行修改,而SIP協議需要在信令消息中內嵌IP地址和端口號[5],這些地址、端口在應用層上才可見,因此NAT不會對其中的地址信息進行修改,導致信令消息中的IP地址和端口不能指向正確的地址,因而通信也不能正常進行;對于FW,對公網打開的端口通常是固定的(Fw不會在運行過程中動態的打開或者關閉這些端口),且數目有限。而基于SIP構建的私網的遠程控制應用要求FW不但能夠提供對信令協議的代理功能,而且要求FW能夠在通信過程中動態的打開一些端口進行媒體流數據的交流,現有的FW難以滿足這個要求。

鑒于上述原因,本文提出了“SIP應用層網關”技術,并將其應用于網絡通信中來建立相對合理、完善的SIP網絡,以解決SIP私網遠程控制中穿越NAT/FireWall的難題。

SIP私網穿越NAT/防火墻方法分析

由于所有NAT和Firewall都是對于TCP/IP層以下進行處理和過濾的,而SIP是應用層控制信令協議,SIP與下面的傳輸層和網絡層協議無關。所以必須采用其他的途徑來解決基于SIP的私網穿越NAT/防火墻這一問題,主要有以下不同的解決方案:1.UpnP(通用即插即用);2.TURN(Traversal Using Relay NAT);3.STUN(Simple Traversal of UDP Through network Address Translators);4.ALG(Application Layer Gateway,應用層網關)。

其中前3種都是由SIP Client(包括UA和Proxy)通過某種手段或協議在INVITE之前獲取自己的公網地址和端口。需要SIP Client提供額外支持,并且也不適應所有的NAT方式。ALG(Application Layer Gateway)[2]適應所有NAT方式,并不需要SIP Client做任何額外的支持。它對Application層的SIP信令進行處理和修改,從而做到透明轉換地址。該思想的基本思路是通過在NAT/FW中加入協議認知(Protocol Awareness)能力,使NAT/FW能夠在SIP信令消息通過時修改其內容中的地址信息,ALG修改SIP消息里面的SIP地址和端口,并為分配給呼叫雙方的地址和端口進行綁定,這樣,以后的媒體流數據能夠通過NAT/FW指定的端口穿過。本文主要討論的是基于SIP的應用層網關方法。

SIP應用層網關原理分析

“SIP應用層網關”是為解決基于SIP的私網控制應用穿越NAT/FW的問題,實現私網內的SIP用戶代理與公網上的SIP用戶代理之間的互連而提出的解決方案,從功能上來說,SIP應用層網關是一種為私網內的SIP終端提供連接到公網的代理功能的SIP設備或軟件。下文中提及的“應用層網關”和ALG(Application Level Gateway)都是指SIP應用層網關。

為了實現SIP應用層網關的功能,同時保持與已有SIP應用的兼容性,必須把ALG設計成一個SIP兼容的應用。但是對于私網上和公網上的SIP應用而言,ALG提供的功能并不完全相同:對于私網的SIP終端,SIP應用層網關的角色是一個SIP意義上的代理服務器(Proxy),它不但需要為通往公網上的呼叫提供代理,同時還需要為私網內部不同SIP終端之間的呼叫提供代理;另一方面ALG必須允許私網內部SIP終端進行注冊,因為只有通過注冊才能使SIP終端明白ALG是它們的代理服務器,因此,SIP應用層網關同時也是私網上的SIP注冊服務器。而對于公網上的SIP終端而言,私網內部是不可見的,唯一可見的是處于公網上的SIP應用層網關,因此對它而言,ALG只是一個SIP終端,公網上的SIP設備就能夠直接對它進行呼叫或者接收它的呼叫。

綜上所述,SIP應用層網關功能在私網和公網上是非對稱的,可劃分為:1.對內功能:SIP應用層網關是私網上的SIP注冊服務器和代理服務器,同時,對于跨網呼叫的情況,SIP應用層網關除需為私網終端提供SIP消息的代理,還須提供媒體流數據的代理,這種媒體數據的代理功能對通信雙方是透明的;對外功能:在公網上,SIP應用層網關作為一個普通的SIP終端而存在,它能夠與公網上的其它SIP應用建立互連關系,并隱藏ALG與私網內部SIP應用之間的關系。

SIP應用層網關的實現

本節前面部分詳細的介紹了SIP應用層網關實現的理論基礎,本節介紹ALG的軟件實現方式,軟件開發平臺是Windows2000,開發工具是Visua1C++ 6.0,采用的是OSIP協議棧,開發的語言主要是C。

結構及工作流程

這里ALG被分成兩個部分:ALG主體部分和SIP URI信息管理系統部分,這兩部分被設計成是兩個相互獨立的程序。ALG主體部分的功能是處理各種流向上的SIP消息、管理呼叫環境以及跨網絡呼叫時,在通信雙方之間進行RTP數據包的轉發;SIP URI信息管理系統部分的功能是負責私網內部SIP URI及其綁定信息的管理和維護,該系統及其維護的數據庫放置在私網內部的其它主機上運行。兩部分之間通過UDP/TCP進行通信,這樣可以減小來自外網上攻擊的風險,從而提高數據信息的安全性。 由于ALG主體無法直接對SIPURI的數據信息進行訪問,因此必須在這兩部分之間提供訪問的接口,“信息數據庫接口”模塊就是為 ALG訪問SIP URI信息管理系統的接口。

SIP應用層網關的主要工作由一個SIP消息的監聽線程、一個與SIP URI信息管理系統進行通信的線程、一個SIP消息處理線程(包括對話的管理和維護)和數量不定的RTP數據包轉發線程完成。RTP數據包轉發線程能夠根據需要而動態的生成和釋放,因此數量不定。

SIP應用層網關的基本工作流程如下:

應用程序初始化完畢以后,啟動SIP消息監聽線程、URI信息數據庫訪問線程和SIP消息處理線程。SIP消息監聽線程對ALG的所有SIP端口(包括私網和公網)進行監聽,如果收到SIP消息,它把消息連同其源IP地址和端口以及消息本身的長度封裝成一個簡單的數據結構放入一個先入先出的隊列(FIFO)當中,然后繼續監聽,它不對消息進行進一步的處理。

一旦FIFO中有了SIP消息,SIP消息處理線程就被喚醒,并投入運行,它從FIFO中取走消息,然后開始對這個消息進行處理:首先它對消息進行解析以及例行的語法檢查,然后根據SIP消息的源地址和目的地址將其分成四類:

(1)內部消息,其源地址和目的地址都在私網內部。

(2)對外消息,其源地址是私網地址,目的地址是公網地址。

(3)對內消息,其源地址是公網地址,目的地址是ALG的公網地址。

(4)外部消息,其源地址和目的地址都是公網地址。

SIP消息被分成以上四類后,ALG對它們進行不同的處理。第(1)類消息稱為“內部消息”,第(2)類和第(3)類消息統稱為“跨網絡消息”;第(4)類消息稱為“外部消息”,它會被無條件丟棄,ALG不對其作進一步的處理。SIP消息處理線程在對“跨網絡消息”消息進行處理的同時,對呼叫的上下文環境進行管理和維護,并在必要的時候,啟動新的RTP數據包轉發線程,使其完成對跨網絡通信的RTP數據包的轉發工作。

基于SOCKET消息接收與應答功能模塊

由于UDP包的接收是異步的,ALG無法預測何時會有SIP消息到來,因此在SIP應用層網關的設計中,用單獨的線程對SIP端口進行監聽。由于SIP應用層網關處在兩個網絡的邊界上,并在兩網之間轉發數據,因此ALG的SIP端口也相應的分為私網和公網兩部分,在任何一邊的網絡上,都可以打開一個或者多個與套節字(SOCKET)相聯系的SIP端口。并且每隔一定時間試圖從所有監聽的SIP端口相關聯的SOCKET上讀取數據,如果讀到了數據,就對數據做簡單的封裝,然后把它放入應用層網關的SIP消息FIFO當中。

關鍵詞:

最近更新

關于本站 管理團隊 版權申明 網站地圖 聯系合作 招聘信息

Copyright © 2005-2018 創投網 - www.extremexp.net All rights reserved
聯系我們:33 92 950@qq.com
豫ICP備2020035879號-12

 

主站蜘蛛池模板: 收集最新中文国产中文字幕| 日本中文字幕第一页| 亚洲人成网站在线播放2019| 日本漂亮继坶中文字幕| 日本手机看片| 嫩草影院在线免费观看| 啊灬老师灬老师灬别停灬用力| 日本动漫打扑克动画片樱花动漫 | 第一福利官方导航| 日本一本高清视频| 美女一级一级毛片| 多人乱p欧美在线观看| 国产伦理一区二区三区| 欧美亚洲一二三区| 国产精品9999久久久久| 久久国产精品一国产精品| 污网站在线观看| 把英语课代表按在地上c网站| 日日夜夜摸| 在线播放a1| 在线www| 国产成人av在线影院| 乱亲乱族| 日本哺乳期网站xxxx| 欧美美女一区| 精品一区二区三区在线观看视频| 欧美人与物videos另类xxxxx| 老子影院午夜伦手机电影| 色妞色妞| www.夜夜操.com| 国产中文字幕电影| 再深点灬舒服灬在快点视频| 久久久久亚洲精品中文字幕| 村上里沙在线播放| 尹人香蕉网在线观看视频| 99在线精品免费视频| 日本漂亮继坶中文字幕| 国产男女无遮挡猛进猛出| 美妇又紧又嫩又多水好爽| 精品无码久久久久久久动漫| 男乱女|