基于移動IP的SIP協(xié)議發(fā)布: 2010-10-19 15:19 | 作者: 李俠宇 | 來源: | 字體: 小 中 大 摘要 移動IP是3G網(wǎng)絡(luò)實現(xiàn)各種移動業(yè)務(wù)的關(guān)鍵技術(shù)。SIP是提供和實現(xiàn)IP業(yè)務(wù)的重要協(xié)議。未來移動IP網(wǎng)絡(luò)由于受到地址空間不足的限制,必然要從IPv4發(fā)展到IPv6,本文主要討論SIP協(xié)議在IPv6中的應(yīng)用,并提出了在IP異構(gòu)網(wǎng)絡(luò)中實現(xiàn)SIP協(xié)議的方式。 關(guān)鍵詞 SIP 移動IP IPv4 IPv6 1、引言 3G網(wǎng)絡(luò)引入移動IP支持各種業(yè)務(wù)的移動性。目前的網(wǎng)絡(luò)都支持IPv4,但是IPv4無法滿足網(wǎng)絡(luò)發(fā)展需要。未來網(wǎng)絡(luò)都將支持IPv6,IPv6在地址數(shù)量、安全性、移動性和服務(wù)質(zhì)量方面具有巨大優(yōu)勢。但IPv6回報周期長、投資巨大、在相當長的一段時間內(nèi)IPv4和IPv6將會共同存在。 會話發(fā)起協(xié)議(SIP)是一個較為靈活、可擴展的開放協(xié)議,它使互聯(lián)網(wǎng)以及固定和移動IP網(wǎng)絡(luò)不斷推出新一代服務(wù)。SIP能夠在多臺PC和電話上完成網(wǎng)絡(luò)消息,模擬互聯(lián)網(wǎng)建立會話。與存在已久的No.7信令和ITU H.323視頻協(xié)議標準不同,SIP獨立工作于底層網(wǎng)絡(luò)傳輸協(xié)議和媒體,正因為如此,它可以在當前的IP異構(gòu)網(wǎng)絡(luò)中加以部署和應(yīng)用。 2、3G網(wǎng)絡(luò)中的移動IP 移動IP是在TCP/IP網(wǎng)絡(luò)中實現(xiàn)IP終端漫游的網(wǎng)絡(luò)協(xié)議。它可以使移動終端從一條鏈路切換到另一條鏈路時,仍然保持與對端的通信。移動IP現(xiàn)在有IPv4和IPv6兩個版本。在移動IP網(wǎng)絡(luò)中,移動用戶歸屬地址的IP保持不變。當用戶漫游到其他網(wǎng)絡(luò)中時,在新網(wǎng)絡(luò)中首先要獲得轉(zhuǎn)接地址。在IPv4中,用戶首先要向外地代理(FA)注冊獲得轉(zhuǎn)接地址,然后更新歸屬代理(HA),使HA能夠截取發(fā)往用戶歸屬地址的數(shù)據(jù)包,并根據(jù)用戶的轉(zhuǎn)接地址,通過隧道把數(shù)據(jù)發(fā)給用戶。在IPv6中,通過路由優(yōu)化實現(xiàn)移動用戶和通信對端的對等通信,不需要通過HA的隧道轉(zhuǎn)發(fā)數(shù)據(jù),因此用戶與通信對端使用歸屬IP地址,而轉(zhuǎn)接地址只是實現(xiàn)路由的目的。移動IP作為網(wǎng)絡(luò)層協(xié)議,轉(zhuǎn)接地址的任何改變對于上層都是透明的,因此用戶的移動不會對業(yè)務(wù)應(yīng)用有任何影響。 在目前的蜂窩網(wǎng)絡(luò)中,廣泛應(yīng)用的是IPv4。但是,隨著3G網(wǎng)絡(luò)與互聯(lián)網(wǎng)的不斷結(jié)合,提供高質(zhì)量的數(shù)據(jù)業(yè)務(wù)需要更多IP地址?紤]到目前IP地址數(shù)量的不足,而IPv6具有巨大的地址空間,可以為設(shè)備分配一個長期或永久的IP地址,因此必然需要從IPv4升級到IPv6。3G網(wǎng)絡(luò)尤其是UMTS系統(tǒng)直接確定采用IPv6,而當前整個互聯(lián)網(wǎng)廣泛配置的還是IPv4,所以3G網(wǎng)絡(luò)仍然需要考慮IPv6和IPv4之間的轉(zhuǎn)換和協(xié)作問題。 3、SIP協(xié)議 會話初始協(xié)議(SIP)是下一代網(wǎng)絡(luò)多媒體通信的信令標準。SIP的一個最重要的功能就是在一個會話中加入一個新的參與者。為實現(xiàn)這一功能,系統(tǒng)包括以下SIP實體: (1)代理:代理服務(wù)器接受SIP請求,并將其轉(zhuǎn)發(fā)到被叫或是被叫所屬的代理服務(wù)器。 (2)重定向:重定向服務(wù)器接受主叫查詢下一跳服務(wù)器的請求,返回下一跳服務(wù)器的地址。 (3)用戶代理:終端的用戶代理實體包括用戶代理客戶端和用戶代理服務(wù)器。 (4)用戶代理客戶端:位于主叫終端,用于發(fā)起呼叫。 (5)用戶代理服務(wù)器:位于被叫終端,用于處理收到的呼叫,決定接受/拒絕這個呼叫并返回主叫。 (6)注冊服務(wù)器:注冊服務(wù)器接受終端的注冊請求,記錄終端的SIP URL和對應(yīng)的IP地址。注冊服務(wù)器通常與代理服務(wù)器或重定向服務(wù)器位于同一物理實體中。基于注冊服務(wù)器的轉(zhuǎn)發(fā)特性是實現(xiàn)號碼移動性服務(wù)的基礎(chǔ)。 在SIP體系中,SIP URL的格式是user@domain,是SIP的用戶地址表示方法,該地址可在該用戶域的SIP代理中解析。每個用戶在啟動時,要到注冊服務(wù)器注冊當前的SIP URL和IP地址。一個主叫用戶發(fā)起請求后,在域內(nèi)的代理服務(wù)器中解析SIP URL,如果不能解析,代理服務(wù)器將請求轉(zhuǎn)發(fā)到重定向服務(wù)器,由重定向服務(wù)器到注冊服務(wù)器數(shù)據(jù)庫去解析這個請求的地址,并向代理服務(wù)器返回查詢結(jié)果。代理服務(wù)器將請求轉(zhuǎn)發(fā)到下一跳的代理服務(wù)器,再將請求轉(zhuǎn)到被叫代理處。建立呼叫連接。呼叫雙方交換是否通信,通信媒體類型等信息。雙方建立連接后就可以離開SIP代理服務(wù)器進行通信。 SIP協(xié)議提出時只考慮了IPv4的網(wǎng)絡(luò)環(huán)境。在IPv6將要逐步代替IPv4的過程中,網(wǎng)絡(luò)環(huán)境的變化必然會對上層的應(yīng)用協(xié)議產(chǎn)生影響。作為一種應(yīng)用層協(xié)議,SIP也要為適應(yīng)這種變化,對自身做一些調(diào)整。 4、基于IPv6的SIP協(xié)議 在IPv6的網(wǎng)絡(luò)上應(yīng)用SIP的一個顯著優(yōu)點就是IPv6擁有巨大的可用IP地址。隨著3G時代的到來,所有應(yīng)用SIP協(xié)議的移動電話都需要一個IP地址。但是移動電話并不是唯一的適于應(yīng)用SIP的IP設(shè)備,基于網(wǎng)絡(luò)的游戲服務(wù)器及應(yīng)用程序都可以應(yīng)用SIP。隨著移動通信、信息家電等的普及,新型寬帶上網(wǎng)終端“永遠在線”的特性導(dǎo)致對IP地址的需求猛增。而IPv6可以提供近乎無限多的128位IP地址,在可以想象的將來,這個數(shù)字將可以充分滿足各種應(yīng)用的需求。除了在SIP應(yīng)用中的顯著優(yōu)點外,IPv6在終端的動態(tài)分配和負載平衡方面的優(yōu)勢也十分明顯。 4.1 動態(tài)配置 IPv6的另一個基本特性是它支持無狀態(tài)和有狀態(tài)兩種地址自動配置的方式。無狀態(tài)地址自動配置方式是獲得地址的關(guān)鍵。在這種方式下,需要配置地址的節(jié)點使用一種鄰居發(fā)現(xiàn)機制獲得一個局部連接地址。一旦得到地址之后,它便使用另一種即插即用的機制,在沒有任何人干預(yù)的情況下獲得一個全球唯一的路由地址。有狀態(tài)配置機制如動態(tài)主機配置協(xié)議(DHCP),需要一個額外的服務(wù)器,因此也需要很多額外的操作和維護。 在SIP應(yīng)用中,用戶代理的開啟除了需要建立一個IP地址外,還需要知道邊界代理、注冊服務(wù)器及本地域名服務(wù)器的地址。隨著用戶代理所處位置的不同,這些信息可能有所不同。這些設(shè)置信息需要根據(jù)用戶代理當前所處網(wǎng)絡(luò)的不同進行動態(tài)配置。 4.2 任意播 用戶代理在開啟通信會話前需要先發(fā)送SIP請求消息到注冊或邊界代理服務(wù)器,然后由實現(xiàn)用戶認證功能的注冊服務(wù)器或?qū)崿F(xiàn)防火墻機制的代理服務(wù)器對請求消息做出響應(yīng)。用戶代理必須在發(fā)送之前得到注冊或代理的地址,它可以通過在發(fā)送前手動設(shè)置來完成。 基于IPv6的任意播機制,將所有具有相同功能的服務(wù)器都設(shè)置成一個一般性的任意播地址。在這種方案下,消息可以直接到達離它最近的服務(wù)器。例如,基于負載平衡的考慮,可能有不只一個注冊服務(wù)器。一個用戶代理通過把注冊請求消息發(fā)向設(shè)定好的所有注冊服務(wù)器的通用地址,利用任意播機制,網(wǎng)絡(luò)上最近的服務(wù)器會對這個請求做出響應(yīng),從而可以有效地解決負載平衡的問題。 5、混合IP網(wǎng)絡(luò)中的通信 IPv4經(jīng)過了多年的發(fā)展,已經(jīng)遍布到了世界的各個角落。如果要將這個龐大的網(wǎng)絡(luò)完全變?yōu)镮Pv6的,需要更換數(shù)量巨大的終端設(shè)備、路由器和服務(wù)器。這一龐大的工程不會在短期內(nèi)完成,IPv4和IPv6的混合環(huán)境必將在相當長的一段時間內(nèi)存在。在這種混合網(wǎng)絡(luò)條件下的通信會有如下幾種結(jié)構(gòu): (1)雙棧:即同時運行IPv4和IPv6兩套協(xié)議棧,同時支持兩套協(xié)議。在網(wǎng)絡(luò)中同時運行IPv4和IPv6兩套路由協(xié)議,終端系統(tǒng)可以接收發(fā)送IPv4/IPv6數(shù)據(jù)包,使用IPv4/IPv6地址。當收到一個帶IPv4地址的數(shù)據(jù)包時,終端系統(tǒng)會將數(shù)據(jù)包回復(fù)到該IPv4地址去。當收到一個IPv6數(shù)據(jù)包時,終端系統(tǒng)會將數(shù)據(jù)包回復(fù)到該IPv6地址去。雙棧主機將從返回結(jié)果列表中選擇最佳地址作為目的地址。當返回的是純IPv6地址時使用IPv6,返回的是IPv4映IPv6地址時使用IPv4,這一過程由雙棧傳輸協(xié)議控制。 (2)隧道:當2個IPv6的“島”通過一個IPv4的網(wǎng)絡(luò)相連接時要用到隧道技術(shù)。在隧道的兩端是運行雙棧的路由器,分別連接IPv4和IPv6網(wǎng)絡(luò)。當IPv6的數(shù)據(jù)包到達隧道一端時會被封裝為IPv4數(shù)據(jù)包通過IPv4網(wǎng)絡(luò)。到達隧道的出口時,該封裝包會被解封裝,還原IPv6數(shù)據(jù)包發(fā)往原目的地址。隧道技術(shù)提高了網(wǎng)絡(luò)的復(fù)雜性,增大了管理難度。 (3)協(xié)議轉(zhuǎn)換:這種結(jié)構(gòu)要求在IPv4和IPv6網(wǎng)絡(luò)之間設(shè)立網(wǎng)關(guān)。網(wǎng)關(guān)的功能就是協(xié)議地址轉(zhuǎn)換。網(wǎng)關(guān)管理一張IPv4和IPv6的地址表,當IPv4接口收到要進入IPv6網(wǎng)絡(luò)的數(shù)據(jù)包,網(wǎng)關(guān)將用IPv6地址頭替換原來的IPv4地址頭。他能較好地解決IPv4和IPv6的互通問題,其最大優(yōu)點是原有的各種協(xié)議不加改動就能與新的協(xié)議互通。但該技術(shù)在應(yīng)用上有一些限制:首先,在拓撲結(jié)構(gòu)上要求一次會話中所有報文的轉(zhuǎn)換都在同一個路由器上,因此地址協(xié)議轉(zhuǎn)換方法較適用于只有一個路由器出口的STUB網(wǎng)絡(luò)(存根網(wǎng)絡(luò));其次,一些協(xié)議字段在轉(zhuǎn)換時不能完全保持原有的含義。 6、混合IP網(wǎng)絡(luò)中的SIP 選擇協(xié)議轉(zhuǎn)換模式作為混合IP網(wǎng)絡(luò)通信的模式,這樣對于終端設(shè)備來說會比較簡單,只需要支持一種網(wǎng)絡(luò)模式。 SIP協(xié)議網(wǎng)關(guān)處于純IPv6和純IPv4網(wǎng)絡(luò)之間,它運行在實現(xiàn)了雙協(xié)議堆棧的機器上,能夠和兩種協(xié)議進行會話和通信。它可以被當作是一個代理服務(wù)器,完成在一個IPv6/IPv4主機上發(fā)出的SIP信息被另一個IPv4/IPv6主機理解的功能。SIP協(xié)議網(wǎng)關(guān)包括以下3個部分: (1)小型SIP代理(MSP) MSP接收SIP消息,經(jīng)過修改以后,為實時傳輸協(xié)議(RTP)通信建立用戶數(shù)據(jù)報協(xié)議(UDP)映射,并將SIP消息轉(zhuǎn)發(fā)到下一個代理處。每個MSP必定有2個相連接的邊界代理:一個位于IPv4網(wǎng),一個位于IPv6網(wǎng)。MSP本身并不具備路由功能。對于一個來自IPv4端口的SIP請求信息只會被簡單的轉(zhuǎn)發(fā)到IPv6端口,反之亦然。SIP的響應(yīng)消息通過第二個請求經(jīng)歷的路徑信息(VIA)頭信息進行路由。SIP消息中的以下幾個部分需要代理更改: ●連接頭(contact-header) 因為中間經(jīng)過代理轉(zhuǎn)發(fā),所以需要修改SIP消息體中包含的初始連接頭地址。替換后的連接頭由SIP協(xié)議網(wǎng)關(guān)的URI再加上一個反映原始連接地址URI的參數(shù)(real_uri)來表示。在修改后的URI響應(yīng)消息中,連接頭也需要遵循這種表示格式。 ●請求的目的地址(RequestURI) 這種修改只在請求URI中有一個實URI參量時使用,real_uri會被原URI代替。 ●會話描述協(xié)議頭(SDPheaders) 消息體中包含的所有IP地址或端口都需要被置換成與目標協(xié)議簇相適應(yīng)的地址表示格式,即:originator(o=);contact(c=);media_description(m=)。這些與IP地址或端口聯(lián)系的字段必須被修改成與目標協(xié)議簇一致。這些地址包括在發(fā)送到UDP前向請求(UFWDD)的映射請求的SDP部分。 ●消息長度(content-length) 當一個消息體(SDP)被修改后,包長也要重新計算。 ●VIA VIA頭會插入到請求消息,從響應(yīng)消息里刪除。 (2)UDP前向進程(UFWDD) 這個功能實體管理IPv4和IPv6地址空間,進行網(wǎng)絡(luò)地址翻譯。它通過從代理上的IPv4/IPv6地址空間中所獲得的信息,可以把從IPv4/IPv6網(wǎng)絡(luò)上得到的數(shù)據(jù)包發(fā)向IPv6/IPv4的主機。這個模塊從一個本地的UDP端口中接收以下格式的映射請求消息:MAP0.0.0.0:0 0.0.0.0:0[::]:O;[3ffe:2ff:1be0:270:3cOe:1bef:09ce:86ab]:100022。 這個格式中包含了5個參數(shù):源地址|端口、輸入地址|端口、輸出地址|端口、目標地址|端口、鄰近端口數(shù)。代理對請求消息的響應(yīng)也符合這個格式,只是前面的標志變?yōu)镸APPED。相應(yīng)消息的格式如下:MAPPED 0.0.0.0:0130.149.31.61:4900;[3ffe:3ff:1be0:270:18e0:6548:aebc:1f]:4902;[3ffe:2ff:1be0:270:3cOe:1bef:09ce:86ab]:100022。 在這個例子中,代理把從IPv4網(wǎng)絡(luò)輸入接口(輸入地址|端口130.149.31.61:4900)獲得的數(shù)據(jù)包通過IPv6網(wǎng)絡(luò)輸出接口(輸出地址|端口[3ffe:3ff:1be0:270:18e0:6548:aebc:1f]:4902)發(fā)向IPv6上的目的網(wǎng)絡(luò)接口[3ffe:2ff:1be0:270:3cOe:1bef:09ce:86ab]:10002。 為了目的主機的響應(yīng)信息能夠返回到發(fā)出請求的主機,這個映射關(guān)系需要在該模塊中保存下來,從而使得代理能夠通過輸出網(wǎng)絡(luò)接口得到響應(yīng)消息,并通過輸入網(wǎng)絡(luò)接口發(fā)回到源主機。需要說明的是,示例中的源地址信息為本機地址消息,因為MSP和這個代理模塊駐留在同一臺機器中。 (3)控制協(xié)議 在請求地址分配及地址轉(zhuǎn)換的映射過程中,MSP和UFWDD都是通過UDP進行通信。這主要是基于減少系統(tǒng)組件中耦合性的考慮,這樣兩個組件不但可以駐留在不同的機器中,而且符合中間件架構(gòu)的要求,便于系統(tǒng)的維護和升級。 除了由MSP和UFWDD組成的網(wǎng)關(guān)外,還有兩個SIP代理,代表異構(gòu)IP網(wǎng)絡(luò)中每個獨立的IP網(wǎng)絡(luò)中的SIP提供者。當然,代理的功能完全可以集成到網(wǎng)關(guān)模塊中。然而,這會增加網(wǎng)關(guān)設(shè)計的復(fù)雜性,并由于要處理的SIP消息數(shù)量劇增而使網(wǎng)關(guān)負載量大大增加。 7、結(jié)束語 移動IP和SIP是3G網(wǎng)絡(luò)的關(guān)鍵技術(shù),IPv4和IPv6是移動IP中的不同版本。本文描述了在IPv6的情況下SIP的一些更有利的變化,并提出了一種有效的連接IPv4和IPv6網(wǎng)絡(luò)之間的通信方法。SIP的設(shè)計思想借助了互聯(lián)網(wǎng)的標準和協(xié)議,結(jié)構(gòu)簡單,利于擴展。隨著通信網(wǎng)絡(luò)的不斷發(fā)展,相信SIP的應(yīng)用會越來越廣泛。
掃碼關(guān)注5G通信官方公眾號,免費領(lǐng)取以下5G精品資料
|
本周熱點本月熱點
最熱通信招聘
業(yè)界最新資訊最新招聘信息
最新技術(shù)文章最新論壇貼子
|