摘 要:ENUM(Telephone Number Mapping,電話號碼映射)是一種網絡資源尋址方式,在IP數據網與PSTN電話網的融合中起著重要作用,它解決了不同通信方式之間的尋址問題。將因特網中的DNS技術用于電話網中的通信,有很多需要克服的難題,而性能和安全是最為關鍵的兩大方面。ENUM的更新和查詢是ENUM性能的主要問題,可以從網絡的性能、使用的協議以及系統的配置等方面進行提高,負載均衡和選播是提高ENUM性能的新技術。對當前的ENUM實驗系統進行了一系列的性能測試,測試結果說明其性能可以滿足一般通信的需求。
關鍵詞:DNS; ENUM; ENUM的性能; 電話號碼; 負載均衡; 選播
中圖法分類號:TP393.03 文獻標識碼:A 文章編號:1001-3695(2006)10-0244-04
Research on ENUM and Its Performance
WEN Hongguan,MAO Wei
(Computer Network Information Center, Chinese Academy of Sciences, Beijing 100080, China)
Abstract:ENUM is one of the network resource addressing technologies. It plays an important role in the interinfiltration of Internet and PSTN(Public Switched Telephone Network), for carrying out the addressing between different communication protocols. It has many problems to resolve while using DNS technology on PSTN, because DNS is usually used on the Internet. The performance and security are two serious aspects of ENUM. The ENUM’s update and query are primary problems of the performance. It is influenced by networks, protocols and configurations of system. Load balance and anycast are the new techniques that can impove the performance. The ENUM system can sustain many normal communications.
Key words: DNS; ENUM; Performance of ENUM; Telephone Number; Load Balance; Anycast
1 引言
ENUM技術是近年來網絡資源尋址定位方式研究的熱點。在三大網絡逐漸融合的趨勢下,ENUM有著廣闊的應用前景。ENUM的深入研究和使用推廣對下一步網絡通信業務的發展有著重要的意義,特別是對傳統電話網和基于IP數據通信網間的語音多媒體業務等有很大的影響。ENUM的推廣和使用將有利于服務提供商和運營商以較低的成本為終端用戶提供新的服務,開展新的業務。
ENUM作為一項比較新的技術,有著很多優勢吸引各大研究所、廠商和服務商來研究,但同時人們也關心ENUM技術的使用會不會帶來其他的負面作用。對比以前的IP電話與普通電話的通話質量,人們關注的焦點就集中在使用ENUM技術后其性能,如通信質量會不會有明顯降低,對系統的安全特別是通信系統的安全和個人隱私會不會帶來威脅。
ENUM號碼的解析是以DNS為基礎的,ENUM的性能和安全性在很大程度上依賴于DNS的性能和安全性。另外其號碼的分配注冊管理等對ENUM的性能和安全也有不可忽視的影響。
2 ENUM技術
2.1 ENUM簡介
ENUM(Telephone Number Mapping,電話號碼映射)技術是將標準的E.164電話號碼(ITU的電話號碼標準)通過變換與一些相關服務信息存儲到DNS系統中,這樣各種通信終端就可以通過互聯網上普遍使用的尋址技術DNS域名服務,來查找最合適的通信服務方式。
舉一個例子來說,有一個E.164電話號碼“861062619750”,先將數字前后顛倒變成“057916260168”,再在每個數字之間加上“.”變成“0.5.7.9.1.6.2.6.0.1.6.8”,最后加上ENUM的實驗用頂級域“.e164.arpa”變成一個域名“0.5.7.9.1.6.2.6.0.1.6.8.e164.arpa”。在DNS中存有下面的信息:
0.5.7.9.1.6.2.6.0.1.6.8.e164.arpa.
IN NAPTR 10 10 \"u\" \"http+E2U\"
\"!^.*S!http://www.enum.cn!\" .
IN NAPTR 10 20 \"u\" \"mailto+E2U\"
\"!^.*S!mailto:enum@cnnic.cn!\" .
IN NAPTR 10 50 \"u\" \"sip+E2U\"
\"!^.*S!sip:108@sip.asrc.cn!\" .
IN NAPTR 10 80 \"u\" \"tel+E2U\"
\"!^.*S!tel:+861058813146!\" .
這樣只需要通過一個電話號碼861062619750,Web終端就可以訪問網站http://www.enum.cn,郵件終端可以給enum@cnnic.cn發送電子郵件,SIP終端可向108@sip.asrc.cn發起呼叫,即ENUM可為這些不同的通信方式提供不同的地址,保證用戶能得到所請求的正確信息?,F在ENUM支持的協議有:HTTP,FTP,Email,SIP,H323,Msg,Tel,Fax,LDAP等。
2.2 ENUM的DNS結構
DNS是一種樹型的分層尋址方式。其結構主要分為三層,如圖1所示。
第一層是ENUM的頂級域。在國際上,對使用哪種頂級域,以及是否需要為ENUM建立新的頂級域存在比較大的分歧,但大多數國家均已在使用e164.arpa來進行ENUM實驗。
第二層是ENUM的國家碼。由于電話號碼都是每個國家自行管理的,所以ENUM國家碼下的域也是由各個國家自己來管理。每個國家對自己域下的E164號碼有完全的分配和管理權利。
第三層嚴格說來可能不只一層,根據每個國家不同的管理方案,可能會有很多層。通常有幾種方案:①由一個國家授權機構對ENUM號碼記錄進行統一管理,好處是可以方便地實現各種號碼攜帶功能,但這對一個比較大的國家來說難度較大;②根據每個國家自己的區號等進行分層分級的分配和管理,這種方案的好處是可以仿照現行的電話號碼管理方法來管理ENUM號碼,缺點是不具備號碼地區的可攜性;③按照運營商來分,這樣每個運營商可以方便地管理自己的ENUM號碼,但對用戶來說號碼相對于運營商不具備可攜性。
2.3 ENUM的注冊流程
由于E.164電話號碼是受國家管制的電信資源,因此當用戶申請注冊一個ENUM號碼時,需要進行相應的審核。同時用戶為已經申請的ENUM號碼注冊新的服務時也要驗證用戶的注冊信息是否已經授權。注冊流程如下:
(1)用戶向注冊機構提出ENUM注冊或修改請求;
(2)注冊機構向驗證機構確認用戶是否有權注冊ENUM號碼或服務;
(3)驗證機構通過驗證返回結果是否允許用戶注冊;
(4)如允許注冊,注冊機構向運營機構的DNS系統提交注冊數據;
(5)運營機構通知注冊機構DNS數據更新成功;
(6)注冊機構通知用戶注冊成功。
2.4 ENUM的解析過程
ENUM的解析過程實質就是DNS的解析過程。用戶將ENUM號碼轉換成域名,然后進行查詢,DNS服務器返回相應的NAPTR記錄,用戶根據不同的需要選擇合適的URI進行通信。例如:在VoIP 應用中,用戶需要與ENUM號碼為861062619750的另一用戶進行通信,首先轉換成域名0.5.7.9.1.6.2.6.0.1.6.8.e164.arpa.進行DNS查詢,服務器的返回有http://www.enum.cn,mailto:enum@cnnic.cn,sip:108@sip.asrc.cn和tel:+861058813146,用戶根據當前的條件選擇對方的地址進行通信。其解析過程如圖2所示。
①SIP客戶端發出呼叫,呼叫被發送到SIP服務器
②SIP服務器向ENUM解析系統發出ENUM查詢請求
③ENUM解析系統返回ENUM號碼對應的服務URI
④SIP服務器選擇相應的URL返回SIP客戶端
⑤SIP客戶端通過相應的網關與普通電話建立連接
圖2 VoIP應用中ENUM的解析過程
3 ENUM的性能問題
3.1 數據更新方面的性能
ENUM的DNS系統要能承受大量用戶信息數據不斷更新。用戶可能會隨時更改其注冊的服務信息,如聯系方式或優先級的變更,并希望別人使用ENUM號碼與其聯系時能盡快知道??梢圆捎眉磿r更新和定時更新的方法,即時更新是用戶修改信息后立即更新到ENUM服務系統中;定時更新則是暫時將修改緩存起來,過一段時間后再批量更新到ENUM服務系統中。
一般來說,幾秒或每秒一次的定時更新是可以滿足絕大多數通常用戶的需求,同時DNS系統也能承受一定頻度的更新,但是頻繁的數據更新對DNS的查詢響應有很大影響。因此兩者之間需要根據實際情況選取一個平衡點,同時采用其他方法來改進ENUM的查詢性能。
經過實踐中多次的試驗與修正,現在運行的系統采用的方法是:用戶增加或修改的數據先存放在臨時數據庫中,定時任務每五秒將數據庫中這段時間內變動的記錄更新到DNS系統中。這種方案在實際運行中獲得了比較好的用戶體驗與系統性能。
3.2 解析查詢方面的性能
ENUM的DNS系統要能承受并響應大量的用戶查詢。由于每次使用ENUM號碼進行通信時均需要查詢DNS,所以頻繁的通信會引起大量的DNS查詢,這就要求DNS能及時響應這些查詢。前面提到,頻繁的ENUM動態更新也會影響其查詢響應能力。
一臺DNS服務器的查詢響應能力有限,當某時刻查詢數量超過服務器的響應極限時,便會產生嚴重的丟包現象,并且查詢響應時間增長。為了避免服務器到達極限,可以使用多臺DNS來分擔查詢壓力,通常使用的技術有添加輔DNS、建立鏡像DNS服務器,還可以使用網絡負載均衡技術。
3.3 服務響應速度方面的性能
作為實時通信的一個重要環節,我們希望ENUM地址解析能在盡可能短的時間內完成。在局域網這樣的近距離情況下,一般可以滿足此要求,但當DNS訪問廣域網下遠距離服務器時,由于網絡上各種原因造成的延時,其響應速度不能確定,在某些情況下就無法滿足通信的要求。
使用Anycast技術可以允許用戶訪問距離最近、服務性能最好的服務器,這樣合理地分配DNS服務器在網絡中的位置,使用戶解析ENUM號碼的時間受網絡距離的影響減小到最小。
3.4 連續服務方面的性能
ENUM的DNS系統要能保證其解析服務在任何情況下都不能中斷。因為ENUM是一種尋址技術,作為各種通信方式的基礎,如果DNS系統不能提供相應的ENUM解析服務,那么依賴于ENUM的通信就無法建立。
要保證服務不中斷首先要保證網絡連接和物理設備無故障,可以設置應急備份系統,當運行系統出現故障時啟用備份系統;也可以使用負載均衡技術,使多臺DNS服務器組成一個系統,當一臺DNS服務器產生故障不能工作時,負載均衡系統中的分發器會自動調整并讓其他服務器分擔故障服務器的工作,從而保證整個系統的穩定持續運行。同時連續服務也受安全方面的影響,DDoS拒絕服務等攻擊均可能導致服務中斷。
4 提高ENUM解析性能的幾個方向
ENUM的DNS系統要能保證ENUM號碼解析的穩定和高效性。在IP網絡特別是廣域網中,網絡傳輸的性能很不穩定,并且在IPv4網絡中的包均是平等的,當網絡擁擠時,ENUM解析的數據可能要等很長時間甚至被丟棄,從而嚴重影響通信連接的建立,在這種情況下是不能滿足實時通信要求的。因此這一問題能否妥善解決將會影響到ENUM技術的推廣。
解決ENUM的解析性能問題可以從以下幾方面來考慮:
(1)使用專用線路或獨享帶寬進行連接
現在互聯網的網絡性能對一般要求不是很高的通信來說已經足夠了,在現行互聯網中建立通信連接既方便,費用也較低,但對一些重要部門在通信實時性要求較高的情況下,在互聯網上進行通信就難以實現,這就需要采用專用線路或者提供獨享的帶寬,才能提供有保障的實時通信。ENUM系統的建設也可以根據不同需求而選擇使用普通線路或專用線路,使用專用線路避免了網絡的不穩定影響到ENUM的地址解析,但使用專用線路成本較高,只有比較重要的通信才采用,因此還是需要尋求普通線路以及共享帶寬情況下的解決方案。
(2)優化DNS的配置
當現有的服務器不能滿足需要時,可以在一些訪問量大的網段增加DNS輔服務器或DNS鏡像服務器來分擔訪問量。在硬件條件和軟件條件既定的情況下,還可以通過優化DNS的配置來提高DNS服務器的工作效率。經過測試DNS使用緩存時的性能要遠遠高于不使用緩存(或者緩存時間非常短)的情況,而且緩存時間越長,其性能越好。但緩存時間太長會帶來不能即時更新已經變動的數據;緩存時間過短則會造成大量不必要的重復性查詢,因此需要根據系統的實際情況選取一個合適的緩存時間。DNS記錄的生存期TTL的設置也會影響到其緩存的性能,因為記錄的生存期到時,該記錄就會從緩存中清除。
(3)采用負載均衡技術
DNS的負載均衡(圖3)是由多臺DNS服務器以對稱的方式組成一個服務器群來實現的,每臺DNS服務器均是完全等價的,均可以單獨對外提供相同的服務,而不受其他服務器的影響。通過某種分擔負載技術,將外部發送來的請求均勻分配(也可按其他指標如服務器性能等來進行加權分配)到對稱結構中的某一臺服務器上,而接收到請求的服務器獨立地回應客戶的請求。
在現有網絡結構之上負載均衡技術提供了一種廉價有效的方法來增強服務處理能力,加大服務的吞吐量,加強網絡數據處理能力,提高網絡的靈活性、可用性和可靠性。使用負載均衡技術服務器可以處理更多的用戶請求,為用戶提供更好的訪問質量,同時還提高了服務器及其他資源的利用效率,并且避免了因一臺服務器失效導致部分用戶不能使用該服務的情況。
使用了負載均衡技術后,ENUM服務器在相同的時間內能夠響應更多的查詢請求,并且在一定范圍內隨著服務器數量的增多,其性能也會增強。而當其中一臺服務器發生故障不能提供服務時,分發器會將它的任務分配到其他服務還未達到飽和的服務器。采用負載均衡技術使得在提高服務器處理ENUM查詢能力同時,也提高了ENUM系統服務的穩定性。
(4)采用選播技術(Anycast)
Anycast選播技術是一種新型的網絡服務。它由一系列支持Anycast技術的路由器和服務器等組成,提供相同服務的服務器位于網絡的不同地點,具有相同的Anycast地址。當某一用戶向這個Anycast地址請求服務時,路由器會根據網絡狀況將請求轉到離用戶最近或性能最好的一臺服務器上,從而使用戶得到速度最快或性能最優的服務,如圖4所示。
將Anycast技術用于ENUM服務器:①多臺DNS服務器可以分擔查詢的壓力;②每個客戶端發出的DNS查詢都是發送到距離最近的服務器,縮短了因為網絡遠距離傳輸造成的延時,或者發送到性能最好、響應速度最快的服務器,得到性能盡可能好、響應速度盡可能快的服務;③因為是就近服務,大大減輕了遠距離網絡傳輸的負擔;④如果有一臺DNS服務器停止服務,路由器會將用戶的請求轉給其他服務器,從而保證了無間斷的服務,并且只對這一部分的用戶性能稍有影響。
負載均衡與Anycast技術可以結合起來使用,在廣域網中使用Anycast技術,而在局域網中使用負載均衡,這樣就能把兩者的優點,即廣域網上的就近服務和單個服務節點的負載均衡結合起來,為ENUM解析提供最佳的解決方案。
5 ENUM的解析性能測試
在CNNIC的ENUM實驗平臺上,我們對ENUM的查詢性能進行了一系列的測試。這項測試主要是希望了解在使用ENUM之后,對用戶的呼叫連接延時的影響。由于服務器的位置不同和有無緩存對用戶的影響可能不同,為了考慮到盡可能多的情況,對服務器在本地和異地,以及是否沒有任何緩存結果不同的情況分別進行了測試。測試的數據為查詢時間、響應率、查詢時間的統計信息、服務器平均在完成每次用戶請求需要遞歸查詢的次數和在查詢過程中號碼信息可能到達的服務器。
本地ENUM查詢測試用戶的DNS Server 與被查詢的ENUM服務器在同一地域(網絡),而遠程ENUM查詢測試用戶的DNS Server 與被查詢的ENUM服務器不在同一地域(網絡)。本地和遠程這兩種測試又分別按DNS Server 缺省配置和不使用DNS Server 緩存信息兩種情況進行了測試。其拓撲結構如圖5所示。
實驗測得的結果如表1所示,當DNS服務器采用缺省配置時,本地ENUM查詢平均應答時間為59.8ms(95%的查詢在47ms內得到應答);異地ENUM查詢平均應答時間為407.2ms(95%的查詢在1 109ms內得到應答)。
表1 ENUM查詢測試結果
測 試 類 型查詢
總數回應
總數回應率
(%)平均查詢
時間(ms)平均遞歸
查找次數有緩存的本地查詢12 95612 94799.9359.82.1無緩存的本地查詢15 83615 48397.77880.143.7有緩存的遠程查詢18 71918 61099.42407.23.1無緩存的遠程查詢18 71317 36092.772 266.750.3從這些數字看,在沒有緩存的情況下,平均遞歸查找次數太多,平均查詢時間就很長,但一般在使用緩存的情況下平均遞歸查找次數只有兩三次,ENUM查詢所用的時間也就比較短。特別是當ENUM的DNS服務器在本地時(即在同一網絡中),其查詢所需要的時間甚至只需要幾十毫秒,這對于通信連接建立的延時影響很小,所以ENUM的解析性能應該是能夠滿足一般通信的要求。
6 結論
ENUM作為通信的一種基礎尋址技術,其服務性能是非常重要的方面。當前ENUM實驗系統的解析性能經測試是能夠滿足一般通信的要求。ENUM技術的發展需要提高其解析性能,即在很大程度上要提高DNS服務的性能,在性能得到保障的情況下來進行ENUM應用開發才是有意義的。考慮到實際運營情況下,龐大的用戶數量和使用頻度造成大量的ENUM查詢以及用戶在網絡中的分散分布造成的遠距離網絡傳輸延遲等,優化網絡配置、使用負載均衡、Anycast等相關技術是解決ENUM性能問題的主要方法。
參考文獻:
[1]李曉東,閻保平.基于DNS的ENUM技術及其應用研究[J].微電子學與計算機,2003,20(1):46-49,53.
[2]王峰,錢華林.ENUM系統以及解析服務器的研究[J].計算機應用研究,2003,20(7):41-45.
[3]毛偉,王艷峰,王峰.新一代互聯網資源標志與尋址技術[J].計算機應用研究,2004,21(4):233-235,250.
[4]Paul Albitz, Cricket Liu.DNS and BIND[M].American:O’Reilly Associates, Inc.,2001.
[5]A M Mealling, R Daniel.The Naming Authority Pointer (NAPTR) DNS Resource Record[S].IETF,RFC2915, 2002.
[6]P Faltstrom.E.164 Number and DNS[S].IETF,RFC2916, 2000.
[7]P Faltstrom, M Mealling.The E.164 to Uniform Resource Identifiers(URI) Dynamic Delegation Discovery System(DDDS) Application(ENUM)[S].IETF,RFC3761,2004.
[8]J Peterson.ENUMservice Registration for Session Initiation Protocol(SIP) AddressesofRecord[S].IETF,RFC3764,2004.
[9]R Brandner, L Conroy, R Stastny.IANA Registration for ENUMservice Web and FT[S].IETF,RFC4002,2005.
作者簡介:
聞宏觀(1977-),男,湖北英山人,碩士,主要研究方向為計算機網絡系統、互聯網尋址技術;毛偉(1968-),男,中國互聯網絡信息中心主任,中國科學院網絡信息中心研究員,碩士生導師,主要研究方向為計算機網絡系統、互聯網尋址技術。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文