欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>網(wǎng)絡(luò)>防火墻>

SIP防火墻基礎(chǔ)知識(shí)及穿越的匯總

2010年09月10日 12:41 www.delux-kingway.cn 作者:本站 用戶評(píng)論(0
關(guān)鍵字:防火墻(35297)
SIP防火墻穿越的匯總

術(shù)語(yǔ)和基礎(chǔ)知識(shí)

防火墻
  一個(gè)防火墻限制私人內(nèi)網(wǎng)和公眾因特網(wǎng)之間的通訊,典型地防火墻就是丟棄那些它認(rèn)為未經(jīng)許可的數(shù)據(jù)包。在數(shù)據(jù)包穿越一個(gè)防火墻時(shí),它檢查但是不修改包里的 IP地址和TCP/ UDP 端口信息。

網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)
  當(dāng)數(shù)據(jù)包穿過(guò)NAT時(shí),NAT不僅檢查同時(shí)也修改數(shù)據(jù)的包頭信息,并且允許更多的在NAT后的主機(jī)分享少數(shù)公網(wǎng)IP地址(通常只有1個(gè))。

NAT的類型和說(shuō)明

NAT通常有2種主要類型

  • Basic Nat
      一個(gè)Basic NAT映射一個(gè)內(nèi)在的私有IP地址到一個(gè)公網(wǎng)IP地址,但當(dāng)數(shù)據(jù)包穿過(guò)NAT時(shí),不更換它的TCP/UDP端口號(hào)。Basic Nat通常是只用在一些具備公共IP地址池的NAT上,通過(guò)它可以地址綁定,即代表一臺(tái)內(nèi)部主機(jī)。
  • Network Address/Port Translator (NAPT)
      但是最通常的,當(dāng)數(shù)據(jù)包穿過(guò)NAT時(shí),一個(gè)NAPT檢查并修改它的TCP/UDP端口,那么就可以允許多臺(tái)內(nèi)網(wǎng)主機(jī)同時(shí)共享一個(gè)單獨(dú)的公網(wǎng)IP地址了。

  關(guān)于 NAT 的分類和術(shù)語(yǔ),[NAT-TRAD] 和 [NAT-TERM]中有更多的信息。那些將來(lái)分類的NAPT的附加術(shù)語(yǔ)在較近的工作[STUN]中被定義。當(dāng)一個(gè)內(nèi)網(wǎng)的主機(jī)經(jīng)過(guò)一個(gè)NAT和外部進(jìn)行TCP或者UDP連接的期間,NAPT分配一個(gè)公網(wǎng)IP 住址和端口,以便來(lái)自外部終端響應(yīng)的數(shù)據(jù)包能被NAPT接收,解釋,并轉(zhuǎn)發(fā)給內(nèi)網(wǎng)的主機(jī)。這個(gè)結(jié)果是由 NAPT 建立一個(gè)(私有IP地址,私有端口)和(公網(wǎng)IP地址,公網(wǎng)端口)之間的端口綁定實(shí)現(xiàn)的。在這個(gè)期間NAPT將為綁定的端口執(zhí)行地址翻譯。一個(gè)關(guān)于P2P應(yīng)用的問(wèn)題是,當(dāng)一個(gè)內(nèi)部主機(jī)從一個(gè)私有IP,私有端口同時(shí)與外網(wǎng)上的多臺(tái)不同的主機(jī)建立多個(gè)連接時(shí),NAT是如何運(yùn)作的。

Cone NAT
  建立一個(gè)端口,把一個(gè)(私有IP,私有端口)和(公用IP,公用端口)綁定后,對(duì)于以后來(lái)自同一私有IP和端口號(hào)的應(yīng)用連接,cone NAT將重復(fù)使用這個(gè)綁定的端口,只要有一個(gè)連接會(huì)話,這個(gè)綁定端口就會(huì)保持激活狀態(tài)。

  例如,下面圖表中,推想一下客戶端A通過(guò)一個(gè)cone NAT同時(shí)建立2個(gè)外部會(huì)話,從同樣的內(nèi)部網(wǎng)絡(luò)終端(10.0.0.1:1234)到2個(gè)不同的外部服務(wù)器,S1和S2。cone NAT只會(huì)分配一個(gè)公用的終端,155.99.25.11:62000,都會(huì)到兩個(gè)會(huì)話,并在地址轉(zhuǎn)換期間確??蛻舳硕丝诘囊恢?。Basic NAT和防火墻不修改通過(guò)的數(shù)據(jù)包中的端口號(hào),這些類型可以被認(rèn)為是一種特殊的Cone Nat。
?


Symmetric NAT
??? 對(duì)稱的NAT(Symmetric NAT),與Cone NAT有明顯差別,在所有會(huì)話期間中不會(huì)保持綁定(私有IP,私有端口)和(公共IP,公共端口)的端口不變。相反,它會(huì)為每個(gè)新對(duì)話重新分配一個(gè)新的公共端口。
  
??? 舉例來(lái)說(shuō),設(shè)想客戶A從同樣端口上要發(fā)起兩個(gè)外部對(duì)話,一個(gè)和S1連接,另一個(gè)和S2連接。Symmetric NAT可能會(huì)為第一個(gè)會(huì)話分配一個(gè)公共的端點(diǎn) 155.99.25.11:62000,而為第二個(gè)會(huì)話分配一個(gè)不同的公共端點(diǎn)155.99.25.11:62001。為了地址轉(zhuǎn)換,NAT可以區(qū)分這兩個(gè)會(huì)話傳輸?shù)哪康模驗(yàn)楹瓦@些會(huì)話有關(guān)的外部端點(diǎn)(就是S1、S2)是不同的,甚至在通過(guò)地址轉(zhuǎn)換時(shí)丟失了客戶端的目的標(biāo)示。(即丟了S1、S2的IP地址NAT也知道如何區(qū)分,我是這么理解的,可能有誤)。


  Cone NAT和Symmetric NAT之間的比較與TCP/UDP之間的比較有些類似。(TCP需要綁定,UDP不需要,Cone NAT需要綁定,Symmetric NAT不需要)

  按照NAT從已知的公共IP,公共端口接收的數(shù)據(jù)限制,Cone NAT可以更進(jìn)一步的進(jìn)行分類。這種分類通常都是UDP連接的,因?yàn)镹AT和防火墻會(huì)拒絕任何無(wú)條件的TCP連接,除非明確地以別的方式配置。

Full Cone NAT
??? 在給一個(gè)新的外部會(huì)話建立了一個(gè)公共/私有的端口綁定后,一個(gè)full cone NAT就可以通過(guò)這個(gè)公共端口從公網(wǎng)上的任何外部端點(diǎn)接收數(shù)據(jù)通訊了。Full cone NAT也常常叫做"混合"NAT。

Restricted Cone NAT

??? 當(dāng)網(wǎng)絡(luò)主機(jī)發(fā)一個(gè)或者幾個(gè)數(shù)據(jù)包給外部主機(jī)后,一個(gè)受限的cone NAT(Restricted Cone NAT)才會(huì)接受來(lái)自這個(gè)外部(源)IP地址的數(shù)據(jù)包。受限的cone NAT有效的運(yùn)用了防火墻的原理,拒絕沒(méi)有要求的數(shù)據(jù),只接收已知道的外部IP地址傳來(lái)的數(shù)據(jù)。(偏開(kāi)原文,大意就是網(wǎng)絡(luò)主機(jī)需要發(fā)一個(gè)請(qǐng)求給外部IP地址要求要數(shù)據(jù),NAT才會(huì)接收這個(gè)外部IP地址傳來(lái)的數(shù)據(jù),不然不接收。)

Port-Restricted Cone NAT

??? 一個(gè)端口受限的cone NAT(Port-Restricted Cone NAT),也是這樣,只接收那些網(wǎng)絡(luò)主機(jī)曾經(jīng)發(fā)給一個(gè)外部IP地址和端口相匹配的數(shù)據(jù)。一個(gè)Port-Restricted cone NAT可以和對(duì)稱 NAT一樣(symmetric NAT),保護(hù)內(nèi)部節(jié)點(diǎn)不接收未被請(qǐng)求的數(shù)據(jù)包,但是保持一個(gè)私有端口在連接過(guò)程中不變。(即不僅請(qǐng)求的IP和外部發(fā)來(lái)數(shù)據(jù)的IP是一樣的,PORT也要是一樣,這樣才接收數(shù)據(jù)。對(duì)稱NAT也有這個(gè)效果,但這種cone NAT保持端口不變,而對(duì)稱NAT要變端口號(hào)的)。由此可見(jiàn),Symmetric Cone條件最嚴(yán)格,Partial/Restricted Cone次之,F(xiàn)ull Cone條件最寬松。

Firewall的基本策略:?
?? ?Firewall會(huì)判斷所有的包是來(lái)自內(nèi)部(Inside)還是外部(Outside)。?
?? ?允許所有來(lái)自inside的包發(fā)出去。?
?? ?允許來(lái)自O(shè)utside的包發(fā)進(jìn)來(lái),但這個(gè)連接必須是由Inside發(fā)起的。?
?? ?禁止所有連接由Outside發(fā)起的包發(fā)進(jìn)來(lái)。?
?? ?firewall會(huì)允許幾個(gè)信任的outside主機(jī),他們可以發(fā)起建立連接,并發(fā)包進(jìn)來(lái)。

  所有NAT和Firewall都是對(duì)于TCP/IP層以下進(jìn)行處理和過(guò)濾的,而SIP應(yīng)用的地址是在應(yīng)用層。所以必須采用其他的途徑來(lái)解決這一問(wèn)題。

解決方案
針對(duì)不同的NAT類型,可以有不同的解決方案。

1.客戶端解決方案
  客戶端解決方案主要包括:STUN(simpletraversalof UDP through NAT)、TURN(Traversal Using Relay NAT)、ICE(Interactive Connectivity Establishment)。

  STUN是一個(gè)輕量級(jí)的協(xié)議,允許應(yīng)用程序探測(cè)當(dāng)前在它們與公網(wǎng)之間是否存在NAT、防火墻以及它們的類型,并且具備能夠探測(cè)到NAT所分配的公網(wǎng)地址和端口的能力。STUN協(xié)議中定義了兩個(gè)實(shí)體:STUNClient和STUNServer。STUNClient嵌入在終端系統(tǒng)的應(yīng)用程序中,比如SIP UA,它向STUN Server發(fā)送請(qǐng)求;STUN Server接收請(qǐng)求并產(chǎn)生STUN響應(yīng),它是無(wú)狀態(tài)的。SIP終端在建立呼叫之前,通過(guò)向處在公網(wǎng)上的STUN服務(wù)器發(fā)送STUN請(qǐng)求,得到信令和媒體流在NAT上的映射地址,并且將這些地址填寫(xiě)到SIP消息中的Via、Contact字段以及SDP中的媒體流傳輸?shù)刂?,替代原有的私有地址。但是,STUN只能工作在全通NAT、地址限制NAT以及端口限制NAT的網(wǎng)絡(luò)環(huán)境下,在對(duì)稱性NAT的情況下,SIP UA通過(guò)STUN請(qǐng)求得到的映射地址是無(wú)效的。

  TURN協(xié)議在語(yǔ)法和操作上均與STUN相似,其優(yōu)點(diǎn)是提供了對(duì)對(duì)稱性NAT的穿越。處在公網(wǎng)的TURN服務(wù)器為客戶端提供本身的一個(gè)外部IP地址和端口,并且負(fù)責(zé)中轉(zhuǎn)通信雙方的媒體流。TURN協(xié)議雖然支持所有類型的NAT穿越,但是它需要中轉(zhuǎn)通信雙方的媒體流,使得媒體流在傳輸過(guò)程中增加了一跳,不可避免地增加了包的延遲和丟包的可能性,而且完全使用TURN方式需要大量的TURN服務(wù)器,在有大量用戶時(shí),TURN服務(wù)器會(huì)成為系統(tǒng)瓶頸,因此我們應(yīng)該盡量避免使用這種方法。目前,TURN的使用越來(lái)越少。

  ICE目前已經(jīng)被推認(rèn)為在非對(duì)稱性NAT環(huán)境下首選的客戶端解決方案。ICE本身是一種方法,它利用STUN,TURN等任何符合UNSAF的協(xié)議來(lái)提供一個(gè)通用的解決方案。

2.路由邊界解決方案
  路由邊界解決方案主要包括:應(yīng)用層網(wǎng)關(guān)ALG、通用即插即用UPnP、中間盒通信MIDCOM。

  應(yīng)用層網(wǎng)關(guān)可以設(shè)計(jì)成能夠識(shí)別指定IP協(xié)議(比如H.323和SIP協(xié)議)的防火墻,也被叫做ALGFirewall。它不是簡(jiǎn)單地察看包頭信息來(lái)決定數(shù)據(jù)包是否可以通過(guò),而是更深層的分析數(shù)據(jù)包負(fù)載內(nèi)的數(shù)據(jù),也就是應(yīng)用層的數(shù)據(jù)。H.323和SIP協(xié)議都在負(fù)載中放了重要的控制信息,例如語(yǔ)音和視頻終端使用哪一個(gè)數(shù)據(jù)端口來(lái)接收對(duì)方終端的語(yǔ)音和視頻數(shù)據(jù)。通過(guò)分析哪一個(gè)端口需要打開(kāi),防火墻動(dòng)態(tài)地打開(kāi)那些被應(yīng)用的端口,而所有別的端口依然安全地保持關(guān)閉狀態(tài)。如果網(wǎng)絡(luò)中有多層防火墻和NAT,則在呼叫路徑上的每個(gè)防火墻都必須被升級(jí)以支持ALG功能。

  UPnP是為了在電腦、智能設(shè)備和智能家電之間建立無(wú)所不在的網(wǎng)絡(luò)連接而提出的協(xié)議體系。由微軟公司發(fā)起,在1999年成立了一個(gè)開(kāi)放的產(chǎn)業(yè)聯(lián)盟UPnPForum,制訂了一系列標(biāo)準(zhǔn)。其中的IGD(internetgatewaydevice)工作委員會(huì)提出了穿透NAT的解決方案,很多NAT設(shè)備制造商已經(jīng)在新產(chǎn)品中支持這個(gè)協(xié)議。它以Internet 標(biāo)準(zhǔn)和技術(shù)(例如,TCP/IP、HTTP和XML)為基礎(chǔ),使這樣的設(shè)備彼此可自動(dòng)連接和協(xié)同工作,從而使網(wǎng)絡(luò)(尤其是家庭網(wǎng)絡(luò))對(duì)更多的人成為可能。

  MIDCOM是一種新出現(xiàn)的概念,其目的是使用第三方應(yīng)用程序(包括硬件設(shè)備)來(lái)控制FireWall/NAT設(shè)備動(dòng)態(tài)地決定安全策略,以適應(yīng)VoIP業(yè)務(wù)。第三方的應(yīng)用程序使用MIDCOM定義的協(xié)議(或私有協(xié)議)控制FireWall/NAT設(shè)備,根據(jù)“MultiMediaoverIP”的需要?jiǎng)討B(tài)地打開(kāi)呼叫信令、媒體流互通的IP地址和端口號(hào),這樣Firewall/NAT系統(tǒng)就無(wú)須嵌入過(guò)多的對(duì)“MultiMediaover IP”協(xié)議分析、解析的功能,而只需要維持已經(jīng)存在的安全策略及轉(zhuǎn)發(fā)機(jī)制,從而實(shí)現(xiàn)Firewall/NAT設(shè)備的穿透。

3.服務(wù)器端解決方案
  服務(wù)器端解決方案主要包括:B2BUA(Back-to-BackUserAgent)、服務(wù)器端RTP中繼。

  B2BUA是一個(gè)接收請(qǐng)求并充當(dāng)UAS處理請(qǐng)求的邏輯實(shí)體,主要是通過(guò)兩個(gè)UA以Back-to-Back的工作模式控制經(jīng)過(guò)它的呼叫。B2BUA與SIP代理服務(wù)器不同,B2BUA可以接收呼叫,并能對(duì)其進(jìn)行修改,以其它形式代表發(fā)起呼叫的UA向終端目標(biāo)發(fā)起呼叫,并能充當(dāng)呼叫雙方的媒體協(xié)商代表或?qū)ζ溥M(jìn)行監(jiān)控管理。B2BUA可以對(duì)經(jīng)過(guò)它的來(lái)自于私網(wǎng)的呼叫進(jìn)行處理完成NAT的穿越。為適應(yīng)所有類型NAT的環(huán)境,B2BUA也需要做媒體流的中介,因此,對(duì)于通信雙方來(lái)說(shuō),呼叫控制信令和媒體流在傳輸過(guò)程中均增加了一跳,隨著用戶的增加,B2BUA將成為系統(tǒng)瓶頸。

  服務(wù)器端RTP中繼的方式相對(duì)B2BUA有所改進(jìn),它將B2BUA所完成的功能集成到了SIP代理服務(wù)器上,由SIP系統(tǒng)中的代理服務(wù)器完成信令部分的NAT處理修改,另外增設(shè)獨(dú)立運(yùn)行的媒體中繼服務(wù)器來(lái)完成媒體流的中繼。也就是說(shuō),將信令部分的NAT穿越和媒體流部分的NAT穿越分離開(kāi)來(lái),由不同的功能組件完成。服務(wù)器端RTP中繼方式相對(duì)B2BUA來(lái)說(shuō),具有更好的可擴(kuò)展性,但由于在發(fā)展期,對(duì)于軟硬件支持方面來(lái)說(shuō),不是很成熟。

結(jié)論:
?? ?客戶端解決方案,雖然無(wú)需對(duì)現(xiàn)有NAT做任何改動(dòng),但對(duì)SIPUA的要求較高,需要支持相應(yīng)的協(xié)議,而且到目前為止還無(wú)法解決通信雙方均處在對(duì)稱性NAT的情況;

?? ?路由邊界的各種解決方案,均需要對(duì)NAT設(shè)備升級(jí),但目前網(wǎng)絡(luò)實(shí)際已部署了大量的不支持相關(guān)特性的NAT設(shè)備,因而這種方式可行性較差;

?? ?服務(wù)器端解決方案,通過(guò)中繼RTP數(shù)據(jù)包來(lái)解決所有類型NAT的穿越,缺點(diǎn)就是增加了包的時(shí)延和丟包的可能性。

  具體采用哪種方式解決SIP 防火墻問(wèn)題需要從以下角度進(jìn)行綜合考慮:
???? (1)升級(jí)要求:我們只能接受小規(guī)模的改造,所以只考慮對(duì)服務(wù)器端的改造,在極小一部分用戶這邊考慮一些客戶端改造,不考慮更換邊緣設(shè)備的解決方案;
???? (2)網(wǎng)絡(luò)業(yè)務(wù)量:我們的網(wǎng)絡(luò)業(yè)務(wù)量很大,所以要考慮好大業(yè)務(wù)量下的問(wèn)題;
???? (3)語(yǔ)音質(zhì)量:此解決方案是否影響語(yǔ)音質(zhì)量,增加時(shí)延或丟包率;
???? (4)運(yùn)營(yíng)投資:運(yùn)營(yíng)是否隨著規(guī)模增大,需要做大量投資;
???? (5)客戶投資:客戶是否需要做投資;
???? (6)兼容性:此解決方案是否只能在特定環(huán)境下生效,是否可以支持各種應(yīng)用方案,是否可以穿越各種NAT和防火墻;
???? (7)擴(kuò)展性:此方案是否支持大規(guī)模應(yīng)用。

接觸到的所有產(chǎn)品情況
?? ?PortaSIP內(nèi)置B2BUA,可以滿足我們的要求;
?? ?Cisco SIP Proxy Server無(wú)支持,需要自己架設(shè)STUN以及Outbound Proxy服務(wù)器,是否能夠滿足需要調(diào)研;
?? ?Nortel需要加Nortel專有的RTP proxy(使用RTP中繼方式實(shí)現(xiàn)),滿足我們的要求;
?? ?華為的解決方案是使用ALG防火墻,滿足我們的要求,但需要做一些邊緣設(shè)備的升級(jí);
?? ?我們自己的試驗(yàn)平臺(tái),只能使用STUN或者Outbound Proxy。
?? ?SER,可以在PortaOne網(wǎng)站免費(fèi)下載PortaOne nathelper RTP proxy來(lái)解決這個(gè)問(wèn)題(使用RTP中繼方式實(shí)現(xiàn))。

非常好我支持^.^

(1) 100%

不好我反對(duì)

(0) 0%

( 發(fā)表人:admin )

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?