SIP應(yīng)用層網(wǎng)關(guān)技術(shù)
引言
SIP (Session Initiation Protocol)稱為會(huì)話初始協(xié)議[1][4],是一個(gè)與HTTP和SMTP類似的、基于文本的協(xié)議,SIP獨(dú)立于傳輸層協(xié)議和其它會(huì)話控制協(xié)議,可以與其他協(xié)議(如RSVP,RTSP等)一起構(gòu)建多媒體通信系統(tǒng)如智能家居網(wǎng)絡(luò)、視頻會(huì)議[2]等。
NAT/防火墻(FW)為私網(wǎng)提供統(tǒng)一的對外出口,從而隱藏內(nèi)部網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),提高了私網(wǎng)的安全性[3]。但這也給私網(wǎng)的遠(yuǎn)程控制應(yīng)用帶來很大的麻煩。對于NAT,其功能是在公網(wǎng)IP地址及端口和私網(wǎng)IP地址及端口間進(jìn)行映射,工作在傳輸層,它只對TCP/UDP包頭中的地址、端口進(jìn)行修改,而SIP協(xié)議需要在信令消息中內(nèi)嵌IP地址和端口號[5],這些地址、端口在應(yīng)用層上才可見,因此NAT不會(huì)對其中的地址信息進(jìn)行修改,導(dǎo)致信令消息中的IP地址和端口不能指向正確的地址,因而通信也不能正常進(jìn)行;對于FW,對公網(wǎng)打開的端口通常是固定的(Fw不會(huì)在運(yùn)行過程中動(dòng)態(tài)的打開或者關(guān)閉這些端口),且數(shù)目有限。而基于SIP構(gòu)建的私網(wǎng)的遠(yuǎn)程控制應(yīng)用要求FW不但能夠提供對信令協(xié)議的代理功能,而且要求FW能夠在通信過程中動(dòng)態(tài)的打開一些端口進(jìn)行媒體流數(shù)據(jù)的交流,現(xiàn)有的FW難以滿足這個(gè)要求。
鑒于上述原因,本文提出了“SIP應(yīng)用層網(wǎng)關(guān)”技術(shù),并將其應(yīng)用于網(wǎng)絡(luò)通信中來建立相對合理、完善的SIP網(wǎng)絡(luò),以解決SIP私網(wǎng)遠(yuǎn)程控制中穿越NAT/FireWall的難題。
SIP私網(wǎng)穿越NAT/防火墻方法分析
由于所有NAT和Firewall都是對于TCP/IP層以下進(jìn)行處理和過濾的,而SIP是應(yīng)用層控制信令協(xié)議,SIP與下面的傳輸層和網(wǎng)絡(luò)層協(xié)議無關(guān)。所以必須采用其他的途徑來解決基于SIP的私網(wǎng)穿越NAT/防火墻這一問題,主要有以下不同的解決方案:1.UpnP(通用即插即用);2.TURN(Traversal Using Relay NAT);3.STUN(Simple Traversal of UDP Through network Address Translators);4.ALG(Application Layer Gateway,應(yīng)用層網(wǎng)關(guān))。
其中前3種都是由SIP Client(包括UA和Proxy)通過某種手段或協(xié)議在INVITE之前獲取自己的公網(wǎng)地址和端口。需要SIP Client提供額外支持,并且也不適應(yīng)所有的NAT方式。ALG(Application Layer Gateway)[2]適應(yīng)所有NAT方式,并不需要SIP Client做任何額外的支持。它對Application層的SIP信令進(jìn)行處理和修改,從而做到透明轉(zhuǎn)換地址。該思想的基本思路是通過在NAT/FW中加入?yún)f(xié)議認(rèn)知(Protocol Awareness)能力,使NAT/FW能夠在SIP信令消息通過時(shí)修改其內(nèi)容中的地址信息,ALG修改SIP消息里面的SIP地址和端口,并為分配給呼叫雙方的地址和端口進(jìn)行綁定,這樣,以后的媒體流數(shù)據(jù)能夠通過NAT/FW指定的端口穿過。本文主要討論的是基于SIP的應(yīng)用層網(wǎng)關(guān)方法。
SIP應(yīng)用層網(wǎng)關(guān)原理分析
“SIP應(yīng)用層網(wǎng)關(guān)”是為解決基于SIP的私網(wǎng)控制應(yīng)用穿越NAT/FW的問題,實(shí)現(xiàn)私網(wǎng)內(nèi)的SIP用戶代理與公網(wǎng)上的SIP用戶代理之間的互連而提出的解決方案,從功能上來說,SIP應(yīng)用層網(wǎng)關(guān)是一種為私網(wǎng)內(nèi)的SIP終端提供連接到公網(wǎng)的代理功能的SIP設(shè)備或軟件。下文中提及的“應(yīng)用層網(wǎng)關(guān)”和ALG(Application Level Gateway)都是指SIP應(yīng)用層網(wǎng)關(guān)。
為了實(shí)現(xiàn)SIP應(yīng)用層網(wǎng)關(guān)的功能,同時(shí)保持與已有SIP應(yīng)用的兼容性,必須把ALG設(shè)計(jì)成一個(gè)SIP兼容的應(yīng)用。但是對于私網(wǎng)上和公網(wǎng)上的SIP應(yīng)用而言,ALG提供的功能并不完全相同:對于私網(wǎng)的SIP終端,SIP應(yīng)用層網(wǎng)關(guān)的角色是一個(gè)SIP意義上的代理服務(wù)器(Proxy),它不但需要為通往公網(wǎng)上的呼叫提供代理,同時(shí)還需要為私網(wǎng)內(nèi)部不同SIP終端之間的呼叫提供代理;另一方面ALG必須允許私網(wǎng)內(nèi)部SIP終端進(jìn)行注冊,因?yàn)橹挥型ㄟ^注冊才能使SIP終端明白ALG是它們的代理服務(wù)器,因此,SIP應(yīng)用層網(wǎng)關(guān)同時(shí)也是私網(wǎng)上的SIP注冊服務(wù)器。而對于公網(wǎng)上的SIP終端而言,私網(wǎng)內(nèi)部是不可見的,唯一可見的是處于公網(wǎng)上的SIP應(yīng)用層網(wǎng)關(guān),因此對它而言,ALG只是一個(gè)SIP終端,公網(wǎng)上的SIP設(shè)備就能夠直接對它進(jìn)行呼叫或者接收它的呼叫。
綜上所述,SIP應(yīng)用層網(wǎng)關(guān)功能在私網(wǎng)和公網(wǎng)上是非對稱的,可劃分為:1.對內(nèi)功能:SIP應(yīng)用層網(wǎng)關(guān)是私網(wǎng)上的SIP注冊服務(wù)器和代理服務(wù)器,同時(shí),對于跨網(wǎng)呼叫的情況,SIP應(yīng)用層網(wǎng)關(guān)除需為私網(wǎng)終端提供SIP消息的代理,還須提供媒體流數(shù)據(jù)的代理,這種媒體數(shù)據(jù)的代理功能對通信雙方是透明的;對外功能:在公網(wǎng)上,SIP應(yīng)用層網(wǎng)關(guān)作為一個(gè)普通的SIP終端而存在,它能夠與公網(wǎng)上的其它SIP應(yīng)用建立互連關(guān)系,并隱藏ALG與私網(wǎng)內(nèi)部SIP應(yīng)用之間的關(guān)系。
- 第 1 頁:SIP應(yīng)用層網(wǎng)關(guān)技術(shù)
- 第 2 頁:SIP應(yīng)用層網(wǎng)關(guān)的實(shí)現(xiàn)
本文導(dǎo)航
非常好我支持^.^
(2) 100%
不好我反對
(0) 0%
相關(guān)閱讀:
- [電子說] EtherCAT從站轉(zhuǎn)modbus RTU協(xié)議轉(zhuǎn)換網(wǎng)關(guān)用modbus slave測試的方法 2023-10-24
- [電子說] 工業(yè) CPE 雙頻網(wǎng)關(guān)在工業(yè)物聯(lián)網(wǎng)中的應(yīng)用優(yōu)勢 2023-10-24
- [電子說] 5G RedCap工業(yè)智能網(wǎng)關(guān) 2023-10-24
- [電子說] DLT698轉(zhuǎn)modbus協(xié)議網(wǎng)關(guān)把電能數(shù)據(jù)接到wincc的方法 2023-10-24
- [處理器/DSP] Codasip發(fā)布適用于定制計(jì)算的新一代RISC-V處理器系列產(chǎn)品 2023-10-24
- [電子說] 物通博聯(lián)工業(yè)采集網(wǎng)關(guān)實(shí)現(xiàn)水處理除臭設(shè)備運(yùn)行狀態(tài)監(jiān)控 2023-10-24
- [電子說] 工業(yè)物聯(lián)網(wǎng)解決方案:卷繞機(jī)數(shù)據(jù)采集管理系統(tǒng) 2023-10-24
- [電子說] 快速了解電力IEC104協(xié)議規(guī)約 2023-10-24
( 發(fā)表人:Spring )