SIP系列講座-NAT解決方法探討Symmetric RTP-UPnP-ALG

2020-12-01 CTI論壇

  在前面的講座中我們討論了NAT的類型和解決NAT問題所使用的幾種解決方式,STUN, ICE等部署方式和其局限性。今天,我們會介紹更多市場中主流的一些解決方案介紹UPnP,ALG,Symmetric RTP和Media Proxy。在下一期的講座中我們會全面討論SBC的技術解決方案。

  在NAT解決方案中,我們不僅僅需要解決SIP信令的問題,還要解決RTP的問題。為了讓大家能夠繼續跟進我們的講座,筆者多花一點時間回顧一下關於NAT對SIP和RTP的造成的影響(以前的講座中有比較深入的探討)。現在我們舉兩個簡單的例子說明NAT防火牆對SIP相關業務的影響。在以下的RTP 示例中,SIP信令都沒有問題,內網用戶呼叫到外網也沒有問題,但是對端外網用戶可能不能聽到內網用戶的語音,出去的RTP語音可以成功到達目的地終端,但是外網終端則不能進入到內網中。雖然SIP的SDP中已經添加了對RTP語音的描述,但是如果防火牆會過濾這些埠,或者根本沒有開啟這些埠的話,那麼從語音流則會被過濾掉。這就是我們通常所說的單通現象。

  在下面的這個RTP示例中,如果是從防火牆外部用戶發起呼叫的話,防火牆會直接過濾了SIP請求,SIP消息會被拒絕。

  從以上簡單的示例中,讀者可以看到,很多時候我們面對的現實情況是:

  RTP埠是動態變化的,這是一個難題。

  防火牆不知道RTP埠變化。

  讓防火牆開啟更多埠在很多場景中是非常不現實的。

  針對以上的問題,為了解決這些問題,我們依次介紹幾個常見的解決方案。

  1、在網絡中使用UPnP的設置方式。UPnP是一種非常簡單的協議,它可以運行在SIP終端設備中,終端設備開啟這個功能以後,它可以直接查詢公網地址和埠,然後讓SIP INVITE重新寫入新的地址,在SDP中使用公網地址。UPnP的好處是目前大部分的廠家都支持此協議,終端用戶或者一般家庭用戶可以通過簡單設置就可以實現簡單的NAT穿透。

  2、ALG全稱是Application Layer Gateway。RFC2633對ALG有粗略的定義。ALG可以對SIP相關數據進行轉譯(包括呼入請求,響應;呼出請求響應),隱藏內網必要消息,它收集SIP消息中的信息,主要對SIP 頭的Via,Contact,Route和Record-Route進行處理。它和Media Proxy不同。它具有以下幾個方面的特點:

  ALG可以在DMZ中進行設置,由防火牆實現對其控制。

  和Media Proxy類似,所有SIP消息和RTP消息可以通過ALG轉發到目的地地址。

  如果需要,ALG可以配合NAT修改SIP消息的一些值域。

  ALG可以以軟體的形式嵌入到防火牆。

  以下示例演示了一個簡單的註冊流程,通過ALG以後,ALG然後修改地址,繼續對註冊伺服器進行註冊。註冊伺服器返回地址以後,ALG再次修改為內網地址。

  因為SIP的技術越來越普及,有一些防火牆增加了對SIP的部分支持功能。讓我們首先看一個如果是外網的用戶呼叫內網用戶時的流程,外網用戶呼叫內網時,在內網SIP終端返回給外網用戶時,防火牆設置了一個策略,這裡,內網接收到埠是1344,防火牆則重新映射了一個埠1624,並且修改了SDP信息,然後在SDP中攜帶了新的RTP接收埠1624,發送給外網用戶,通知外網用戶,內網終端的RTP接收埠是1624。

  外網終端通過這個指定的埠發送RTP語音流。防火牆知道通過這個埠的映射,然後根據映射規則,映射到內網的1344埠。到這裡,RTP語音流正式開通。雙方通話結束後,防火牆自動刪除這個埠映射策略。

  如果是內網用戶呼叫外網用戶,防火牆的映射機制基本上是相同的。這裡,不同的是,內網用戶對外網用戶發起呼叫時,內網終端通知防火牆此終端準備接收RTP的具體埠,防火牆然後根據這個埠映射一個新埠,並且修改SDP的RTP埠,最後發送給外網的終端。外網終端則根據這個埠發送RTP語音,防火牆接收到這個埠的RTP流返回到原來的終端埠。如果通話結束,最後,防火牆刪除映射埠匹配設置。以下是一個完整的呼出的呼叫流程:

  通過以上示例我們可以看到,事實上,ALG僅對Via, Conatct 這些值域進行了修改,實現一個轉譯,支持了SDP payload。但是ALG目前不支持對多IP位址廣播,加密的SDP,SIP TLS和IP V6等其他功能。所以,嚴格意義來說,ALG仍然很難滿足SIP多種業務的需求。

  3、Symmetric RTP可以幫助解決RTP埠通信不一致的問題。我們首先了解一下它的處理流程。Symmetric RTP 的實現過程需要經過以下幾個步驟:

  首先,用戶需要通過STUN 伺服器, 註冊伺服器進行SIP註冊流程,然後需要每30秒鐘重新註冊,這樣做的目的是保持埠處於存活狀態,避免埠不會被防火牆關閉。注意,這裡的SDP埠是1776。

  然後,UA 2 收到了防火牆返回的埠消息後,如果UA 2 支持Symmetric NAT,則會獲悉通知UA2 從這個埠(13455)返回語音流,而不是從SDP消息中的埠(1776)。這樣就避免了防火牆過濾RTP埠的問題。這裡的SDP中的埠是不會被認為是真正的RTP埠。

  4、Media Proxy的目的是通過一個Proxy的二次轉發機制,重新讓雙方終端通過Media Proxy進行通信。UA 2就可以對UA1 發起呼叫請求。這時的狀態和我們以前介紹的Far End NAT情況類似,這裡,需要Media Proxy處理一些proxy所承擔 的工作:

  Media Proxy需要重寫SDP中的RTP/AVP值域,重新把RTP語音流指向媒體伺服器需要的埠地址。

  當對發起呼叫方SIP終端發送消息時,Media Proxy同時需要發送重寫的RTP/AVP值域,保證RTP埠能夠發送到正確的RTP埠。

  在防火牆的埠策略設置中,所使用的埠需要一直僅對Media proxy開放。 這樣就可以限定部分埠開放給Media Proxy,無需完全開放所有RTP埠。

  5、參考資料:

  https://docs.citrix.com/en-us/netscaler/11/solutions/netscaler-support-for-telecom-service-providers/lsn-introduction/lsn-configuring-alg/sip-protocol-alg.html

  總結,在本章節中我們討論了幾個主要的NAT解決方案,ALG,UPnP,Symmetric RTP和Media Proxy。通過我們的討論,我們可以發現,事實上,這些解決方案都有非常強的針對性,同時也具有非常多的局限性。用戶需要做更多的調研,找到適合自己需求的解決方案。在本章節的討論中,我們僅討論了SIP和RTP的互聯互通,基本上都是實現了SIP對NAT的簡單功能實現,這些技術解決方案事實上並沒有真正解決SIP在公網的業務兼容性問題,安全管理問題,公司網絡和運營商網絡之間的問題。對於這些功能的要求就需要在網絡環境中部署SBC。因為SBC的討論話題非常廣,我們在下一節的講座中專門討論SBC的部署。

  關注我們的公眾微信號:asterisk-cn 獲得有價值的行業技術分享,訪問論壇:www.issabel.cn/forum 下載開源免費融合通信平臺。

相關焦點

  • 工學院「對話全球創新大師」系列講座之三:倫敦、洛杉磯與北京:對...
    3月22日晚,2013年度「北京大學工學院對話全球創新大師系列講座•德稻大師講壇」第三期在北京大學二教109舉行,本場講座由美國工程院院士賀明開(Michael Hoffmann)教授主講。作為環境研究學者,賀明開教授從歷史回望的角度出發,對當下嚴重的空氣汙染問題進行了專業分析,探討了當下北京霧霾困境的解決方法。講座由北京德稻教育機構運營總裁徐林恩主持。
  • NAT地址轉換概念分析與應用設置技巧
    那麼,如何有效解決目前IP位址短缺的問題呢?人們提出了許多解決的方案,NAT(Network Address Translation 網絡地址轉換)技術提供了一種完全將內部網絡和Internet網隔離的方法,讓內部網絡中的計算機通過少數幾個甚至一個IP(已申請的一個公網IP)訪問Internet資源,從而節省了IP位址,並得到廣泛的應用。
  • SIP系列講座-SIP和QoS-3 - 國內 - CTI論壇-中國領先的ICT行業網站
    在前面的講座中,我們介紹了switch,VALN和路由器層面的設置優化QoS。今天,我們繼續介紹關於QoS其他方面的設置,例如,DSCP和AF, 網絡檢測和策略管理,AS-SIP和 MLPP等相關解釋說明。  1、DSCP/Assured Forwarding 設置影響QoS。
  • - 人工智慧系列講座 01
    本系列講座將系統地,深入淺出地解釋,探討人工智慧以及相關問題,為大家提供一個人工智慧基礎知識的學習平臺。要回答這些問題,需要我們一步一步深入探討人工智慧的原理,來解開人工智慧的奧秘。作為系統講座的第一課,我們先來談談人工智慧的起源和發展。02 什麼是人工智慧?
  • SIP系列講座-關於Replaces header和電話駐留
    我們在前面的講座中已經提到了timer的用法,今天我們來介紹一下replaces header的使用場景和控制流程。  根據 RFC3891的定義,Replaces header 簡單來說就是使用新的SIP dialog 替換當前的SIP dialog,通過REFER method來獲得支持。在實際的場景中,它所支持的主要功能包括:電話詢轉功能和電話駐留中的電話重接功能。
  • 北京大學林崇熙老師核磁系列講座:NMR應用--如何靈活應用內標毛細管
    【網絡會議】:NMR應用--如何靈活應用內標毛細管 【講座時間】:2015年06月23日 14:30 【主講人】:林崇熙 (博士後 北京大學化學與分子工程學院副教授、主要研究領域核磁共振的應用、有機合成、氮葉立德化學、有機技術化學。)
  • MPlant在線講座—學科前沿系列(一)Soybean Genomics and Green Revolution
    為促進學術交流、分享植物科學最新進展,Molecular Plant 和 Plant Communications 編輯部聯合組織了「MPlant在線講座—前沿技術系列」,已邀請了10多位知名專家在線講解了最新技術進展、與年輕學者和研究生分享和交流了許多技術細節。
  • MPlant在線講座—前沿技術系列(五)Genomic Analysis Techniques
    為促進學術交流、分享最新技術進展、促進植物科學發展,Molecular Plant 和Plant Communications 聯合啟動MPlant在線講座—前沿技術系列 第五次講座將於6月4日下午3點,通過「騰訊會議」直播的方式邀請
  • Nano Letters | Global Science Lecture在線系列講座
    為慶祝期刊即將創刊20周年,Nano Letters推出了「納米科學全球講堂(Nanoscience Global Lecture)"系列活動
  • 中山大學生命科學學院生態與進化系列講座 · 夏季學期總結
    )是中山大學生命科學學院學術交流講座,現由生態學系一批優秀青年教師牽頭籌辦,下設EES alpha和EES beta兩個系列講座。EES系列講座籌備小組於本學期初正式成立,小組內各位老師負責EES beta的嘉賓邀請、接待和講座主持,小組秘書負責申報講座和外賓機票住宿等事宜,學生們負責EES alpha的嘉賓邀請和講座主持、系列講座的海報製作張貼和公眾號編輯推送。截止今日EES系列講座官方公眾號已有286粉絲,講座預告的穩定閱讀量已達200人以上,本系列講座的受歡迎程度可見一斑。
  • 通知|【世界民族學人類學研究中心系列講座】甘立夫:《印度傳統中的母牛關懷問題研究》
    世界民族學人類學系列講座 (第106講)
  • 論文寫作方法訓練系列講座三:論文的標題、摘要與引言基本要求
    常香雲教授在商學院406教室為研究生作了題為「論文的標題、摘要與引言基本要求」的精彩講座。常香雲教授早期主要從事信息管理與信息系統研究,現主要從事可持續供應鏈研究,包括逆物流和低碳兩方面。
  • NAT網絡地址轉換複習一(思科)
    進入全局配置模式下,命令格式:「ip nat inside source static + 內部IP位址 + 公網IP位址」。3.啟用NAT,進入接口配置模式,命令格式:「ip nat inside/ ip nat outside」。Inside對應內網接口,outside對應公網接口。
  • 陳大可院士做客「院·望」系列講座 講述《海洋與颱風的相互作用》
    11月25日下午,海洋學院第二屆「院·望」系列講座第三場在線舉行。中國科學院院士陳大可作題為《海洋與颱風的相互作用》的學術講座,吸引了來自校內外的300位師生積極參加。
  • ...海洋學院第二屆「院·望」系列講座第二場 講述《地球氣候的...
    11月18日中午,海洋學院第二屆「院·望」系列講座第二場在線舉行。海洋學院講席教授、美國科學院院士Michael Bender教授作題為《The History of Earth’s Climate》的學術講座。來自校內外的200餘位師生參加,本次講座由海洋學院博士生蒙澤主持。
  • 聚焦|「數學的重要性及其應用」系列公益講座正式啟動!
    2020年7月8日上午,由中國工業與應用數學學會、中國知網、高等教育出版社聯合舉辦的「數學的重要性及其應用」系列公益講座正式啟動,來自全國1000餘所院校和科研單位的近2萬名專家學者和老師同學們參加了線上啟動儀式。
  • 活動 | 北大芝大聯合系列講座:有機化學系列報告第四期
    The Haplindole Alkaloids: Comprehensive Strategies for the Total Synthesis of Welwitindolinones and Ambiguines有機化學系列報告第四期:
  • 生命科學學院開展「連線自然科學 感悟學術人生」系列講座
    南開新聞網訊(通訊員 李鵬琳 徐平宜 周瑋婷 鍾賽越)近期,南開大學生命科學學院第三十三期團校開展了「連線自然科學 感悟學術人生」系列講座,邀請生命科學學院副院長陳凌懿教授、生物材料與組織工程系系主任丁丹教授立足生命科學專業,線上線下相結合,面向全校「物質科學與可持續發展」大類學生分享科研經歷。
  • 「聆聽宇宙」系列天文科普講座圓滿成功!
    「聆聽宇宙」系列講座,有趣有深度,還有天文學家與公眾零距離地精彩互動,吸引了大量感興趣的公眾前來參與,其中不乏對天文學抱有熱情的中青年人士,也有對天文充滿好奇心的少年兒童。 相信大家在參與本系列講座之後,對天文學的不同領域又有了深入的了解與學習。
  • 治學.修身系列講座(一) 利用EndNote管理參考文獻
    修身系列講座(一)利用EndNote管理參考文獻4月24日(周三) 14:00-16:00講座地點會議室主講人簡介:毛芸,北京師範大學圖書館中級館員研究領域:信息素養培訓、電子資源宣推、學科分析講座內容