SIP伺服器

SIP(Session Initiation Protocol,會話初始協定)的開發目的是用來幫助提供跨越網際網路的高級電話業務。網際網路電話(IP電話)正在向一種正式的商業電話模式演進,SIP就是用來確保這種演進實現而需要的NGN(下一代網路)系列協定中重要的一員。支持H.264協定。

概念

SIP是IETF標準 進程的一部分,它是在諸如SMTP(簡單郵件傳送協定)和HTTP(超文本傳送協定)基礎之上建立起來的。它用來建立,改變和終止基於IP網路的用戶間的呼叫。為了提供電話業務它還需要結合不同的標準和協定:特別是需要確保傳輸(RTP),與當前電話網路的信令互連,能夠確保語音質量(RSVP),能夠提供目錄(LDAP),能夠鑒權用戶(RADIUS)等等。

SIP被描述為用來生成,修改和終結一個或多個參與者之間的會話。這些會話包括網際網路多媒體會議,網際網路(或任何IP網路)電話呼叫和多媒體發布。會話中的成員能夠通過多播或單播聯繫的網路來通信。SIP支持會話描述,它允許參與者在一組兼容媒體類型上達成一致。它同時通過代理和重定向請求到用戶當前位置來支持用戶移動性。SIP不與任何特定的會議控制協定捆綁。

原理

SIP伺服器是IP PBX的主要組件,負責建立網路中所有的SIP電話通話。SIP伺服器也叫SIP代理伺服器或註冊伺服器。

通常情況下,SIP伺服器不參與媒體處理過程。在SIP網路中,媒體一般總是採用端到端協商的處理方式。在某些特殊情況或者業務處理中,例如Music On Hold,SIP伺服器也會主動參與媒體協商。

簡單的SIP伺服器只負責會話的建立、維護和清除,不過多干涉呼叫。而相對比較複雜的SIP伺服器,一般又稱為SIP PBX,則不僅僅提供對基本呼叫、基本會話的支持,還提供豐富的業務,例如Presence、Find-me、Music On Hold等等。

大部分SIP伺服器都是基於linux平台,典型代表為:Kamailio、OpenSER、sipXecx等。

也有部分SIP伺服器是基於windows 平台,典型代表為:miniSipServer、Brekeke等。

服務

SIP是一個分層結構的協定,這意味著它的行為根據一組平等獨立的處理階段來描述,每一階段之間只是奇偶合。協定分層描述是為了表達,從而允許功能的描述可在一個部分跨越幾個元素。它不指定任何方式的實現。當我們說某元素包含某層,我們是指它順從該層定義的規則集。

不是協定規定的每個元素都包含各層。而且,由SIP規定的元素是邏輯元素,不是物理元素。一個物理實現可以選擇作為不同的邏輯元素,甚至可能在一個個事務的基礎上。

SIP的最底層是語法和編碼。它的編碼使用增強Backus-Nayr形式語法(BNF)來規定。

第二層是傳輸層。它定義了網路上一個客戶機如何傳送請求和接收回響以及一個伺服器如何接收請求和傳送回響。所有的SIP元素包含傳輸層。

第三層是事務層。事務是SIP的基本元素。一個事務是由客戶機事務傳送給伺服器事務的請求(使用傳輸層),以及對應該請求的從伺服器事務傳送回客戶機的所有回響組成。事務層處理套用層重傳,匹配回響到請求,以及套用層逾時。任何用戶代理客戶機(UAC)完成的任務使用一組事務產生。用戶代理包含一個事務層,有狀態的代理也有。無狀態的代理不包含事務層。事務層具有客戶機組成部分(稱為客戶機事務)和伺服器組成部分(稱為伺服器事務),每個代表有限的狀態機,它被構造來處理特定的請求。

事務層之上的層稱為事務用戶(TU)。每個SIP實體,除了無狀態代理,都是事務用戶。當一個TU希望傳送請求,它生成一個客戶機事務實例並且向它傳遞請求和IP位址,連線埠,和用來傳送請求的傳輸機制。一個TU生成客戶機事務也能夠刪除它。當客戶機取消一個事務時,它請求伺服器停止進一步的處理,將狀態恢復到事務初始化之前,並且生成特定的錯誤回響到該事務。這由CANCEL請求完成,它構成自己的事務,但涉及要取消的事務。

SIP通過EMAIL形式的地址來標明用戶地址。每一用戶通過一等級化的URL來標識,它通過諸如用戶電話號碼或主機名等元素來構造(例如:SIP:user at company dot com)。因為它與EMAIL地址的相似性,SIP URLs容易與用戶的EMAIL地址關聯。

SIP提供它自己的可靠性機制從而獨立於分組層,並且只需不可靠的數據包服務即可。SIP可典型地用於UDP或TCP之上。

SIP提供必要的協定機制以保證終端系統和代理伺服器提供以下業務:

● 用戶定位

● 用戶能力

● 用戶可用性

● 呼叫建立

● 呼叫處理

● 呼叫前轉,包括:⑴等效800類型的呼叫,⑵無應答呼叫前轉,⑶遇忙呼叫前轉,⑷無條件呼叫前轉

●呼叫號碼傳遞,該號碼可以是任何命名機制。

● 個人移動性,例如通過一個單一的、位置無關的地址來到達被呼叫方,即使被呼叫方改變了終端。

●終端類型的協商和選擇:呼叫者可以給出選擇如何到達對方,例如通過網際網路電話,行動電話或應答業務等。

● 終端能力協商

● 呼叫者和被呼叫者鑒權

● 不知情和指導式的呼叫轉移

● 多播會議的邀請

當一用戶希望呼叫另一用戶,呼叫者用INⅥTE請求初始呼叫,請求包含足夠的信息用以被呼叫方參與會話。如果客戶機知道另一方的位置它能夠直接將請求傳送到另一方的IP位址。如果不知道,客戶機將請求傳送到本地配置的SIP網路伺服器。如果伺服器是代理伺服器它將解析被呼叫用戶的位置並且將請求傳送給它們。有很多方法完成上步,例如搜尋DNS或訪問資料庫。伺服器也可以是重定向伺服器,它可以返回被呼叫用戶的位置到呼叫客戶機用以它直接與用戶聯繫。在定位用戶的過程中,SIP網路伺服器當然能夠代理或重定向呼叫到其它的伺服器,直到到達一個明確地知道被呼叫用戶IP位址的伺服器。

一旦發現用戶地址,請求就傳送給該用戶,此時將產生幾種選擇。在最簡單的情況,用戶電話客戶機接收請求——也就是,用戶的電話振鈴。如果用戶接受呼叫,客戶機用客戶機軟體的指定能力回響請求並且建立連線。如果用戶拒絕呼叫,會話將被重定向到語音信箱伺服器或另一用戶。“指定能力”參照用戶想啟用的功能。例如,客戶機軟體可以支持視頻會議,但用戶只想使用音頻會議,那則只會啟用音頻功能。

SIP還具有另外兩個有重要意義的特徵。第一個是有狀態SIP代理伺服器具有分割入呼叫或複製入呼叫的能力,從而可以同時運行幾個擴展分支。第一個應答的分支接受呼叫。該特徵在用戶工作在兩位置之間(例如實驗室和辦公室)或者同時對經理和其秘書振鈴時是非常便利的。

第二個特徵是SIP獨特的返回不同媒體類型的能力。舉個用戶聯繫公司的例子。當SIP伺服器接收到客戶機的連線請求,它能夠通過WEB互動式語音回響頁面來返回到顧客的客戶機,該頁面具有可獲得的部門分支或提供在列表上的用戶。點擊適當的連結後將傳送一請求到所點擊選擇的用戶從而建立起呼叫。

解析

伺服器作為網路的節點,存儲、處理網路上80%的數據、信息,因此也被稱為網路的靈魂。做一個形象的比喻:伺服器就像是郵局的交換機,而微機、筆記本、PDA、手機等固定或移動的網路終端,就如散落在家庭、各種辦公場所、公共場所等處的電話機。我們與外界日常的生活、工作中的電話交流、溝通,必須經過交換機,才能到達目標電話;同樣如此,網路終端設備如家庭、企業中的微機上網,獲取資訊,與外界溝通、娛樂等,也必須經過伺服器,因此也可以說是伺服器在“組織”和“領導”這些設備。

它是網路上一種為客戶端計算機提供各種服務的高可用性計算機,它在網路作業系統的控制下,將與其相連的硬碟、磁帶、印表機、Modem及各種專用通訊設備提供給網路上的客戶站點共享,也能為網路用戶提供集中計算、信息發表及數據管理等服務。它的高性能主要體現在高速度的運算能力、長時間的可靠運行、強大的外部數據吞吐能力等方面。

伺服器的構成與微機基本相似,有處理器、硬碟、記憶體、系統匯流排等,它們是針對具體的網路套用特別制定的,因而伺服器與微機在處理能力、穩定性、可靠性、安全性、可擴展性、可管理性等方面存在差異很大。尤其是隨著信息技術的進步,網路的作用越來越明顯,對自己信息系統的數據處理能力、安全性等的要求也越來越高,如果您在進行電子商務的過程中被黑客竊走密碼、損失關鍵商業數據;如果您在自動取款機上不能正常的存取,您應該考慮在這些設備系統的幕後指揮者————伺服器,而不是埋怨工作人員的素質和其他客觀條件的限制。

硬體

其實說起來伺服器系統的硬體構成與我們平常所接觸的電腦有眾多的相似之處,主要的硬體構成仍然包含如下幾個主要部分:中央處理器、記憶體、晶片組、I/O匯流排、I/O設備、電源、機箱和相關軟體。這也成了我們選購一台伺服器時所主要關注的指標。

整個伺服器系統就像一個人,處理器就是伺服器的大腦,而各種匯流排就像是分布於全身肌肉中的神經,晶片組就像是骨架,而I/O設備就像是通過神經系統支配的人的手、眼睛、耳朵和嘴;而電源系統就像是血液循環系統,它將能量輸送到身體的所有地方。

對於一台伺服器來講,伺服器的性能設計目標是如何平衡各部分的性能,使整個系統的性能達到最優。如果一台伺服器有每秒處理1000個服務請求的能力,但網卡只能接受200個請求,而硬碟只能負擔150個,而各種匯流排的負載能力僅能承擔100個請求的話,那這台伺服器得處理能力只能是100個請求/秒,有超過80%的處理器計算能力浪費了。

所以設計一個好伺服器的最終目的就是通過平衡各方面的性能,使得各部分配合得當,並能夠充分發揮能力。我們可以從這幾個方面來衡量伺服器是否達到了其設計目的;R:Reliability——可靠性;A:Availability——可用性;S:Scalability——可擴展性;U:Usability——易用性;M:Manageability——可管理性,即伺服器的RASUM衡量標準。

由於伺服器在網路中提供服務,那么這個服務的質量對承擔多種套用的網路計算環境是非常重要的,承擔這個服務的計算機硬體必須有能力保障服務質量。這個服務首先要有一定的容量,能回響單位時間內合理數量的伺服器請求,同時這個服務對單個服務請求的回響時間要儘量快,還有這個服務要在要求的時間範圍內一直存在。

如果一個WEB伺服器只能在1分鐘裡處理1個主頁請求,1個以外的其他請求必須排隊等待,而這一個請求必須要3分鐘才能處理完,同時這個WEB伺服器在1個小時以前可以訪問到,但一個小時以後卻連線不上了,這種WEB伺服器在現在的Internet計算環境裡是無法想像的。

現在的WEB伺服器必須能夠同時處理上千個訪問,同時每個訪問的回響時間要短,而且這個WEB伺服器不能停機,否則這個WEB伺服器就會造成訪問用戶的流失。

為達到上面的要求,作為伺服器硬體必須具備如下的特點:性能,使伺服器能夠在單位時間內處理相當數量的伺服器請求並保證每個服務的回響時間;可靠性,使得伺服器能夠不停機;可擴展性,使伺服器能夠隨著用戶數量的增加不斷提升性能。因此我們說不能把一台普通的PC作為伺服器來使用,因為,PC遠遠達不到上面的要求。這樣我們在伺服器的概念上又加上一點就是伺服器必須具有承擔服務並保障服務質量的能力。這也是區別低價伺服器和PC的差異的主要方面。

在信息系統中,伺服器主要套用於資料庫和Web服務,而PC主要套用於桌面計算和網路終端,設計根本出發點的差異決定了伺服器應該具備比PC更可靠的持續運行能力、更強大的存儲能力和網路通信能力、更快捷的故障恢復功能和更廣闊的擴展空間,同時,對數據相當敏感的套用還要求伺服器提供數據備份功能。而PC機在設計上則更加重視人機接口的易用性、圖像和3D處理能力及其他多媒體性能。

趨勢

最近1年,英特爾、AMD兩家晶片巨頭之間的市場爭奪日趨白熱化,這也讓處理器性能的提升以前所未有的速度進行著。兩家巨頭都在以更低的價位來實現更高的性能,甚至更加致力於軟體套用,以求充分發揮其雙核、四核處理器的最大性能。這樣做的後果不僅是擴大了其自身的市場占有率,對於客戶而言,實惠的擁有了高性能伺服器的同時,卻極大的降低了伺服器採購數量。為了爭奪更高的利潤空間,伺服器廠商急需開闢一片新疆域。

硬體平台為家用伺服器整裝待發

好在晶片巨頭在提供高性能的多核處理器的同時,也在穩步的降低處理器功耗,以最新的英特爾Penryn微架構處理器為例:45nm工藝的採用相對上一代65nm的酷睿微架構在整體性能提升40%的同時,還更好的控制了處理器功耗。

最新的高清晰度電影在網路上已經變得十分常見,而一部“大片”動輒幾十GB的存儲容量也讓用戶的台式機、筆記本力不從心。希捷最新推出的750GB SATA硬碟也許能滿足這類需求。

現代的都市人對於繁雜的網線已經開始厭煩的時候,802.11n無線傳輸協定為我們帶來了300Mbps的最高理論傳輸速度,同時,英特爾也宣布在5月馬上推出的Santa Rosa移動計算平台上即將採用這項技術。

上面的以及一些不為我們所知的新技術,正在為家用伺服器奠定基礎。

微軟Home Server作業系統也做好準備

不僅僅是硬體的整體技術水平已經達到了將伺服器家庭化的地步,作業系統層面微軟也即將推出Windows Home Server 作業系統。

相比傳統的Windows 2000 Server、Windows 2003 Server,針對家庭套用推出的Home Server作業系統對於數據恢復、媒體連線、遠程管理甚至是家庭管理都做了針對性的調整,整體設定將更為簡單、直觀。

相關詞條

相關搜尋

熱門詞條

聯絡我們