專利名稱:一種互聯網性能測量系統中的探針注冊方法
技術領域:
本發明涉及互聯網技術領域,特別涉及一種互聯網性能測量系統中的探針注冊方法。
背景技術:
互聯網是目前信息網絡重要基礎設施之一,然而互聯網的端到端性能問題一直是網絡管理者的一大難題。隨著hternet技術和網絡業務的飛速發展,用戶對網絡資源的需求空前增長,網絡也變得越來越復雜。不斷增加的網絡用戶和應用,導致網絡負擔沉重,網絡設備超負荷運轉,從而引起網絡性能下降。這就需要對網絡的性能指標進行提取與分析,對網絡性能進行改善和提高。因此網絡性能測量便應運而生。發現網絡瓶頸,優化網絡配置,并進一步發現網絡中可能存在的潛在危險,更加有效地進行網絡性能管理,提供網絡服務質量的驗證和控制,對服務提供商的服務質量指標進行量化、比較和驗證,是網絡性能測量的主要目的。互聯網是一種分組化的網絡,以TCP/IP技術為基礎,在網絡層上對數據報文進行逐跳的尋址與轉發。由于每一跳的網絡節點只負責本節點的數據轉發,節點之間彼此相互獨立,而當前的網絡管理系統都是以單個節點為管理對象,因此網絡管理者很難獲得網絡性能的全貌。在這種背景下,需要網絡測量系統以互聯網用戶的身份將網絡作為黑盒來對網絡性能進行主動測量。在國際上進行網絡主動測量研究的項目很多,如IEPM、NIMI、NLANR AMP、Surveyor 等,其中 IETF 所開發的 TWAMP (Two Way ActiveMeasurement Protocol)協議(RFC5!357)是其中比較有影響的方法之一。TffAMP協議基于端到端的測量方式,即測量實體都是主機,網絡設備不參與測量。 TffAMP包括了兩個相互獨立的協議· TffAMP-Control 用于建立測量會話,協商會話的參數(如包長、起始時間、中止時間、發包的分布參數等),開始、終止測量會話,以及獲取測量結果(采用TCP協議);· TffAMP-Test 規定了測量報文的格式等,用于在測量節點間進行測量報文的交互(采用UDP協議)。為了提高其開放性,TffAMP采用了控制協議與測量協議分離的思想,也就是說實際的TWAMP系統的控制協議不一定采用TWAMP-Contro 1,但底層的測量協議要采用 TWAMP-Test,這樣可以既保證了測量過程的互通性,又使得采用不同控制協議的測量節點都可以參與到測量中來,體現了測量的開放性。TWAMP協議包括五個功能實體· Session-Sender =TffAMP-Test會話中發送測量報文的測量節點;· Session-Receiver =TffAMP-Test會話中接收測量報文的測量節點;· Server 一個服務器,管理著一個或多個TWAMPIest會話,可以在每個測量節點上為每個TWAMP-Test會話進行配置,可以返回每個TWAMP-Test會話的測量結果;
· Control-Client 一個主機,用于發起建立TWAMP-kst會話的請求,以及控制會話的開始和終止;· Fetch-Client 一個主機,用于發起獲取TWAMPIest會話測量結果的請求;五個功能實體間的關系如圖1所示TWAMP協議首先假定參加測量的節點Gessionlendei^nkssion-Receiver)在不同控制者的控制之下,Session-Sender 由 Control-Client 控制,Session-Receiver 由 Server 控制,因此 Session-Sender 與 Control-Client 之間,以及 Session-Receiver 與 Server之間可以是控制者自己定義的控制協議,但Control-Client與krver之間,以及 Fetch-Client與krver之間可以使用公開的TWAMP-Control協議,這樣就使得在不同控制者的主機之間進行網絡性能測量,并通過一個開放接口獲取數據成為可能。目前一些研究機構,如Aveiro大學,已經對TWAMP協議系統進行了實現,在他們的系統中,圖中未定協議也采用了 TWAMP-Control協議。TffAMP協議由于基于端到端的測量方式,采用普通UDP報文,因此測量過程不易被感知和監測,能夠反映用戶的真實業務情況;同時在設計時就考慮了安全問題,協議內容包括了 Client與krver間以及knder與Receiver間的認證與加密機制;另外TWAMP還支持小包測量,不加密時最小報文達到42字節,加密時為60字節。但TWAMP協議也存在一些缺點,首先測量結果反映的是只是網絡邊緣主機間的性能,不利于網絡的Troubleshooting ; 其次,協議本身具有很大的開放性,一方面使協議的適應性增強,另一方面也引入了安全問題,如中間人攻擊等。因此,綜上所述,TWAMP協議是一個比較適合由用戶進行的網絡性能測量協議。TWAMP本身只是一個探針與探針、探針與服務器之間對于測量類型、測量控制參數的通信協議,如果將TWAMP協議用于實際的測量系統,必然要考慮整個系統的安全問題,最重要的是要保證探針的真實性,即探針應該是系統使用者所認可的“真實”的探針,而不是虛假或假冒的測量節點。目前,通過網絡搜索發現,仍沒有相關機構或個人提出類似思路在支持TWAMP協議的互聯網性能測量系統中實現探針與控制服務器之間的注冊機制。
發明內容
本發明的目的是在TWAMP協議系統之上,在控制服務器與探針Gession-knder 和Session-Receiver)建立一種探針注冊方法,使得整套系統能夠滿足現網使用中對安全、可靠性的要求。為了滿足上述目的,本發明采用以下技術方案一種互聯網性能測量系統中的探針注冊方法,應用于包括服務器和至少一個探針的系統中,所述探針注冊方法具體包括步驟1,在服務器數據庫中創建探針信息,并將注冊信息寫入探針端本地文件;步驟2,向服務器發送注冊連接請求;步驟3,接收來自所述探針發送的注冊連接請求,獲取連接標識符;步驟4,根據所述連接標識符開啟所述探針的注冊線程,并在指定TCP端口接收所述探針發送的注冊報文;
步驟5,提取所述探針發送的注冊報文中的探針名稱和密碼;步驟6,判斷探針名稱和密碼與服務器數據庫中信息是否匹配,若是,則進入步驟 7;若否,則進入步驟8;步驟7,將所述報文探針的基本信息保存到數據庫;步驟8,向所述探針發送注冊回復報文,若注冊成功,則回復“成功注冊報文”,若注冊不成功,則回復“注冊不成功報文”;步驟9,接收并讀取服務器發送的注冊回復報文;步驟10,關閉連接。進一步地,所述步驟2中的探針發送的注冊連接請求,具體為步驟10,創建注冊所使用的TCP端口 ;步驟20,通過該TCP端口向服務器端發送連接請求;步驟30,連接請求接受后,根據注冊信息文件生成注冊報文,向服務器發送注冊請求。進一步地,所述步驟10后還包括步驟11,根據步驟9中讀到的注冊回復報文,取出其中的Acc印t字段,此字段代表注冊是否成功。根據Accept值返回本次注冊結果。進一步地,所述步驟10具體為步驟10,調用公共模塊關閉連接。進一步地,將所述注冊報文各字段含義設定為報文長度,報文類型,探針能力,探針名稱,密碼、探針IP地址以及探針網關IP地址。進一步地,在探針成功注冊之后還包括步驟310,啟動Ke印alive處理線程之后,清空服務器內存表;步驟320,接收探針發送的Ke印alive數據;步驟330,讀取接收到的所述探針發送的Ke印alive數據中的探針名稱信息,并判斷是否與內存表中的探針名稱相一致,若一致,則回到步驟320,繼續等待接收數據;若不一致,將探針名稱存儲至內存表中,并回到步驟320,繼續等待接收數據。進一步地,所述步驟320中的探針發送的Ke印alive數據,具體為步驟3201,讀取ke印alive相關信息,具體地,從內存中讀取出服務器的IP地址、 keepalive定時時間間隔的信息;步驟3202,設定timer時間為配置時間間隔,通過固定時間調用Ke印alive發送代碼,達到報到在線狀態的目的,當定時時間到時便會自動開啟線程處理轉至步驟3203處處理;步驟3203,創建Ke印alive報告的UDP端口 ;步驟3204,封裝Ke印alive數據包,根據已定義的Ke印alive報文,填入相應信息;步驟3205,發送Ke印al ive數據包,通過調用發送函數將數據包通過UDP端口發送給服務器;步驟3206,關閉 Ke印alive UDP 端口。進一步地,將所述Ke印alive數據包報文各字段的含義設定為
報文長度,報文類型,探針名稱。本發明提供的一種互聯網性能測量系統中的探針注冊方法,使服務器能夠與探針進行相互認證,并實現服務器對探針權限的鑒定和分配。在本發明中,需要在探針與服務器上增加注冊流程的處理機制,在探針啟動時,根據配置信息向服務器注冊,由服務器對注冊信息進行鑒權,確定探針的合法性,在通過注冊之后,探針仍將定期向服務器發送 Keepalive信息,以維護狀態。
圖1為現有技術中的TWAMP協議功能實體的關系的示意圖;圖2為本發明的服務器端注冊流程示意圖;圖3為本發明的注冊回復報文格式示意圖;圖4為本發明的服務器Ke印alive處理流程示意圖;圖5為本發明的探針端注冊流程示意圖;圖6為本發明的探針注冊請求報文格式示意圖;圖7為本發明的Ke印alive報文格式示意圖;圖8為本發明的探針端Ke印alive線程的處理流程示意圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚,下面結合附圖及實施例,對本發明進行進一步詳細說明。此處所描述的具體實施例僅用以解釋本發明,但并不用于限定本發明。本發明中的注冊方法包括服務器和探針兩方面的處理流程。如圖2所示,服務器端處理流程包括以下步驟步驟1,在服務器數據庫中創建探針信息,其內容包括探針名稱,注冊密碼,探針 IP地址,探針下一跳網關地址,探針能力說明。步驟2,服務器啟動,接受探針注冊連接請求,獲得連接標識符FD。步驟3,開啟探針注冊線程,在指定TCP Socket端口等待探針注冊報文。步驟4,如有探針發送注冊請求,則接收注冊數據。步驟5,對注冊報文中的探針名稱和密碼進行提取。步驟6,將探針名稱與密碼與數據庫中信息進行比對。若匹配,則進入步驟7 ;若不匹配,則進入步驟8。步驟7,將報文探針的IP地址,探針能力等探針基本信息保存到數據庫相應位置。步驟8,向探針發送注冊回復報文,若注冊成功,則回復“成功注冊報文”,若注冊不成功,則回復“注冊不成功報文”。步驟9,關閉連接。如圖2所示,注冊請求回復報文格式如下 報文長度4字節。 報文類型2字節。3代表探針注冊回復。 注冊回復2字節。0代表注冊成功,1代表該探針不存在,2代表探針名稱與密碼不符,3代表IP地址或探針能力描述錯誤,4代表該探針已注冊。
探針注冊成功后,將定期向服務器發送Ke印alive報文(UDP),服務器需要創建 UDP Socket接收這些Ke印alive報文。如圖4所示,服務器對于Ke印alive報文的處理流程如下 步驟310,啟動Ke印al ive處理線程之后,清空服務器內存表1 (內存表1存儲著探針的狀態信息)。步驟320,接收Ke印alive數據。步驟330,讀取接收到的Ke印alive數據中的探針名稱信息,并與內存表1中的探針名稱匹配。若匹配,則回到步驟320,繼續等待接收數據;若不匹配,將探針名稱存儲至內存表1,并回到步驟320,繼續等待接收數據。在探針端,首先需要由管理人員將注冊信息寫入探針端本地文件,在探針啟動后, 自動啟動注冊流程。如圖5所示,處理流程包括以下步驟步驟10,創建注冊所使用的TCP Socket。步驟20,通過該TCP Socket向服務器端發送連接請求。步驟30,連接請求接受后,根據注冊信息文件生成注冊報文,向服務器端發送注冊請求。步驟40,接收并讀取服務器端返回的注冊回復報文。步驟50,調用公共模塊關閉連接。步驟60,根據步驟40中讀到的注冊回復報文,取出其中的Ac^pt字段,此字段代表注冊是否成功。根據Accept值返回本次注冊結果。如圖6所示,探針注冊請求報文如下 報文長度4字節。 報文類型2字節,1代表探針注冊命令,2代表定時在線命令。 探針能力4字節,Mbit。 探針名稱32字節,用戶為探針所配置的名稱。 密碼32字節,用戶為探針所配置的注冊密碼。 探針IP地址256字節,探針的IP地址。 探針網關IP地址256字節,探針的網關地址。在探針成功注冊之后,將啟動Keepal ive線程,定期維護服務器上的探針狀態。如圖8所示,探針端Ke印alive線程的處理流程如下步驟10,讀ke印alive相關信息,需要從內存中讀取出控制服務器的IP地址、 keepalive定時時間間隔等信息。步驟20,設定timer時間為配置時間間隔,通過固定時間調用Ke印alive發送代碼,達到報到在線狀態的目的。當定時時間到時便會自動開啟線程處理轉至步驟21處處理。步驟21,創建 Ke印alive 報告的 UDP Socket。步驟22,封裝Ke印alive數據包,根據已定義的Ke印alive報文,填入相應信息。步驟23,發送Ke印al ive數據包,通過調用發送函數將數據報通過UDP端口發送給控制服務器。步驟24,關閉 Ke印alive UDP Socket。
探針端發送ke印alive數據包使用UDP端口。如圖7所示,Ke印alive報文各字段含義如下 報文長度4字節。 報文類型2字節,2代表定時在線命令,1代表探針注冊命令。 探針名稱32字節,用戶為探針所配置的名稱。雖然,本發明已通過以上實施例及其附圖而清楚說明,然而在不背離本發明精神及其實質的情況下,所屬技術領域的技術人員當可根據本發明作出各種相應的變化和修正,但這些相應的變化和修正都應屬于本發明的權利要求的保護范圍。
權利要求
1.一種互聯網性能測量系統中的探針注冊方法,應用于包括服務器和至少一個探針的系統中,其特征在于,所述探針注冊方法具體包括步驟1,在服務器數據庫中創建探針信息,并將注冊信息寫入探針端本地文件; 步驟2,向服務器發送注冊連接請求;步驟3,接收來自所述探針發送的注冊連接請求,獲取連接標識符; 步驟4,根據所述連接標識符開啟所述探針的注冊線程,并在指定TCP端口接收所述探針發送的注冊報文;步驟5,提取所述探針發送的注冊報文中的探針名稱和密碼;步驟6,判斷探針名稱和密碼與服務器數據庫中信息是否匹配,若是,則進入步驟7 ;若否,則進入步驟8;步驟7,將所述報文探針的基本信息保存到數據庫;步驟8,向所述探針發送注冊回復報文,若注冊成功,則回復“成功注冊報文”,若注冊不成功,則回復“注冊不成功報文”;步驟9,接收并讀取服務器發送的注冊回復報文; 步驟10,關閉連接。
2.根據權利要求1所述的一種互聯網性能測量系統中的探針注冊方法,其特征在于, 所述步驟2中的探針發送的注冊連接請求,具體為步驟10,創建注冊所使用的TCP端口 ;步驟20,通過該TCP端口向服務器端發送連接請求;步驟30,連接請求接受后,根據注冊信息文件生成注冊報文,向服務器發送注冊請求。
3.根據權利要求1所述的一種互聯網性能測量系統中的探針注冊方法,其特征在于, 所述步驟10后還包括步驟11,根據步驟9中讀到的注冊回復報文,取出其中的Accept字段,此字段代表注冊是否成功。根據Accept值返回本次注冊結果。
4.根據權利要求1所述的一種互聯網性能測量系統中的探針注冊方法,其特征在于, 所述步驟10具體為步驟10,調用公共模塊關閉連接。
5.根據權利要求1-4中任意一項所述的一種互聯網性能測量系統中的探針注冊方法, 其特征在于,將所述注冊報文各字段含義設定為報文長度,報文類型,探針能力,探針名稱,密碼、探針IP地址以及探針網關IP地址。
6.根據權利要求1所述的一種互聯網性能測量系統中的探針注冊方法,其特征在于, 在探針成功注冊之后還包括步驟310,啟動Ke印alive處理線程之后,清空服務器內存表; 步驟320,接收探針發送的Ke印alive數據;步驟330,讀取接收到的所述探針發送的Ke印alive數據中的探針名稱信息,并判斷是否與內存表中的探針名稱相一致,若一致,則回到步驟320,繼續等待接收數據;若不一致, 將探針名稱存儲至內存表中,并回到步驟320,繼續等待接收數據。
7.根據權利要求6所述的一種互聯網性能測量系統中的探針注冊方法,其特征在于, 所述步驟320中的探針發送的Ke印alive數據,具體為步驟3201,讀取ke印alive相關信息,具體地,從內存中讀取出服務器的IP地址、 keepalive定時時間間隔的信息;步驟3202,設定timer時間為配置時間間隔,通過固定時間調用Ke印alive發送代碼, 達到報到在線狀態的目的,當定時時間到時便會自動開啟線程處理轉至步驟3203處處理; 步驟3203,創建Ke印alive報告的UDP端口 ;步驟3204,封裝Ke印alive數據包,根據已定義的Ke印alive報文,填入相應信息; 步驟3205,發送Ke印al ive數據包,通過調用發送函數將數據包通過UDP端口發送給服務器;步驟3206,關閉Ke印alive UDP端口。
8.根據權利要求6或7中所述的一種互聯網性能測量系統中的探針注冊方法,其特征在于,將所述Keepalive數據包報文各字段的含義設定為報文長度,報文類型,探針名稱。
全文摘要
本發明公開了一種互聯網性能測量系統中的探針注冊方法。本發明的目的是在TWAMP協議系統之上,在控制服務器與探針(Session-Sender和Session-Receiver)之間建立一種探針注冊方法,以保證探針的真實性,即探針應該是系統使用者所認可的“真實”的探針,而不是虛假或假冒的測量節點,并通過Keepalive信息來維護探針的狀態,從而保證整個測量系統的安全。
文檔編號H04L29/06GK102299923SQ20111023846
公開日2011年12月28日 申請日期2011年8月18日 優先權日2011年8月18日
發明者何寶宏, 劉述, 徐貴寶, 郭亮, 馬軍鋒, 馬科, 高巍 申請人:工業和信息化部電信傳輸研究所