Sip伺服器過載保護系統及方法
2023-09-19 15:24:05 3
專利名稱:Sip伺服器過載保護系統及方法
技術領域:
本發明涉及IP語音(VOIP)通信技術領域,尤其涉及VOIP通信中對SIP (會話初始協議)伺服器的過載保護技術。
背景技術:
隨著統一通信技術的發展,VOIP應用的需求日益增多,其提供的服務也豐富多樣,包括了語音、視頻、即時消息、群組會話和個人呈現狀態等等;這些應用帶來了溝通上的方便,然而也面臨一個潛在的問題,目前VOIP應用中最常用的實現技術是採用SIP協議。在VOIP應用中,一般包括SIP終端和SIP伺服器,一般一個SIP伺服器可連接多的SIP終端,當某一 SIP終端發起關於某一應用業務的SIP請求後,SIP伺服器進行處理並響應。當SIP終端並發訪問量較大時,SIP伺服器由於處理繁忙,響應會變得緩慢;同時若SIP終端再發出重傳響應的請求,則又進一步加重SIP伺服器的負擔,響應變得更慢,此時整個系統雖然仍然處於繁忙工作,然而對外可能已經呈現出無響應狀態,從而對用戶的使用和用戶體驗造成嚴重影響。
發明內容
本發明所要解決的技術問題是提出一種SIP伺服器過載保護系統及方法,通過分析SIP伺服器可能出現的過載情況,通過採取相應的保護措施,避免SIP伺服器出現不可用的情況。本發明解決上述技術問題所採用的方案是SIP伺服器過載保護系統,包括過載保護裝置,所述過載保護裝置用於分別與至少一個SIP終端和至少一個SIP伺服器相連,用於配置與各類SIP業務的SIP請求消息進行匹配的保護策略,當接收到SIP請求消息時,將該SIP請求消息與配置的 保護策略進行匹配,根據匹配結果再對SIP伺服器的過載情況進行判斷後,根據判斷結果決定是否執行相應處理機制。進一步,所述過載保護裝置包括策略管理模塊,用於提供策略配置界面,供用戶配置對各類SIP請求消息進行匹配的保護策略,生成包含多項保護策略的策略表;連接跟蹤模塊,用於創建對接收到的SIP請求消息進行跟蹤的跟蹤表將該SIP請求消息與策略表中的保護策略進行匹配,建立SIP請求消息和SIP響應消息的對應關係;過載保護模塊,用於根據SIP請求匹配的保護策略,對SIP伺服器當前是否過載進行判斷,根據判斷結果決定是否對本次SIP請求執行相應處理機制。進一步,所述過載保護裝置還包括緩存加速模塊,用於對SIP伺服器返回的SIP響應消息進行緩存,在判斷出當前SIP請求消息為與該SIP響應消息對應的SIP重傳請求時,直接向SIP終端返回該SIP響應消息。進一步,所述保護策略的內容包括
業務匹配項,用於根據設定的業務匹配參數與不同SIP業務的SIP請求消息進行匹配;業務優先級項,用於標識與本項保護策略匹配的SIP業務的優先級;業務過載檢測項,用於為過載保護模塊提供識別SIP伺服器當前是否過載的檢測參數。具體的,所述業務匹配參數包括SIP請求源IP位址和/或SIP請求目的IP位址和/或SIP請求目的埠和/或SIP請求消息中的請求方和/或接收方和/或業務類型。所述用於為過載保護模塊提供識別SIP伺服器當前是否過載的檢測參數包括額定最大處理時間Tmax和檢測延時時間Twin,額定最大處理時間Tmax和檢測延時時間Twin, Tmax表示與本項保護策略相匹配的所有SIP請求消息在正常情況下,經過SIP伺服器處理到返迴響應信息需要花費的最大處理時間;Twin表示與本項保護策略相匹配的所有SIP請求消息對應的SIP響應時間持續超過Tmax的最長允許時間。進一步,所述過載保護模塊還用於,為每一項保護策略相匹配的所有SIP請求消息建立一個接收時間表,並在所述接收時間表中記錄對應的SIP響應消息的接收時間,當判斷一項保護策略所匹配的所有SIP消息在持續的Twin內超過Tmax未收到對應的SIP響應消息,則為該項保護策略設置過載標誌,將低於設置過載標誌的保護策略的業務優先級的SIP請求消息丟棄。此外,本發明的另一目的還在於提出一種SIP伺服器過載保護方法,應用於包括過載保護裝置的SIP伺服器過載保護系統中,該方法包括以下步驟a、利用過載保護裝置中的策略管理模塊配置用於對各類SIP業務的SIP請求消息進行匹配的保護策略,形成 包含多項保護策略的策略表;b、當過載保護裝置接收到SIP消息時,連接跟蹤模塊利用跟蹤表項對該SIP消息進行跟蹤;C、連接跟蹤模塊判斷該SIP消息是否為SIP請求,如果是,則進入步驟d,否則進入步驟e ;d、連接跟蹤模塊觸發緩存加速模塊判斷是否已經緩存與該SIP請求相應的響應信息,如果已經緩存,則直接向SIP終端返迴響應信息,結束流程,如果未緩存,則進入步驟e ;e、連接跟蹤模塊查找策略表,判斷策略表中是否有與該SIP請求消息匹配的策略,如果有與該SIP請求消息匹配的策略,則觸發過載保護模塊對SIP伺服器當前是否過載進行判斷,根據判斷結果決定是否執行相應處理機制;如果沒有與該SIP請求消息匹配的策略,則直接放行或丟棄該SIP請求消息。進一步,步驟e中,所述觸發過載保護模塊對SIP伺服器當前是否過載進行判斷,根據判斷結果決定是否執行相應處理機制的具體方法是所述過載保護模塊利用策略表,為每一項保護策略相匹配的所有SIP請求消息建立一個接收時間表,並在所述接收時間表中記錄對應的SIP響應消息的接收時間,當判斷一項保護策略所匹配的所有SIP消息在持續的檢測延時時間Twin內超過額定最大處理時間Tmax未收到對應的SIP響應消息,則為該項保護策略設置過載標誌,將低於設置過載標誌的保護策略的業務優先級的SIP請求消息丟棄,直至檢測延時時間Twin內的所有SIP請求的響應時間都未超出額定最大處理時間Tmax,則取消該保護策略的過載標誌,恢復低優先級的SIP請求消息的放行。進一步,所述步驟b中,連接跟蹤模塊利用跟蹤表項對該SIP請求消息進行跟蹤的具體方法是,連接跟蹤模塊接收SIP終端某一 SIP事務的SIP請求消息後,為該SIP請求消息創建跟蹤表,通過分析SIP事務層的ID,在跟蹤表中建立SIP請求消息和SIP響應消息的對應關係。本發明的有益效果是通過在SIP終端與SIP伺服器之間增設過載保護裝置,配置與各類SIP請求消息對應的保護策略,當接收到SIP請求消息時,對該SIP請求消息進行跟蹤並匹配到相應的保護策略,再對SIP伺服器的過載情況進行判斷,從而根據判斷結果決定是否執行相應處理機制,避免SIP伺服器處理不了大量的請求導致無法提供服務的情況出現。
圖1為本發明的SIP伺服器過載保護裝置在實際應用中的網絡拓撲圖;圖2為本發明實施例的SIP伺服器過載保護裝置的實施例的結構示意圖;圖3為本發明實施例的SIP伺服器過載保護方法的實施例流程圖。
具體實施例方式本發明公開一種SIP伺服器過載保護系統及方法,通過分析SIP伺服器可能出現的過載情況,通過採取相應的保護措施,避免SIP伺服器出現不可用的情況。該SIP伺服器過載保護系統在實際應用中如圖1所述,其與至少一個SIP終端和至少一個SIP伺服器相連,可以對I個或多個SIP伺服器提供過載保護,避免SIP伺服器處理不了大量的請求導致無法提供服務的情況。 該SIP伺服器過載保護系統,包括過載保護裝置,所述過載保護裝置與至少一個SIP終端和至少一個SIP伺服器相連,用於配置與各類SIP業務的SIP請求消息進行匹配的保護策略,當接收到SIP終端發送的SIP請求消息時,將該SIP請求消息與配置的保護策略進行匹配,根據匹配結果再對SIP伺服器的過載情況進行判斷,根據判斷結果決定是否執行相應處理機制。圖2給出了本發明實施例的過載保護裝置的一種實施例,其包括策略管理模塊201、連接跟蹤模塊202、緩存加速模塊203和過載保護模塊204 ;其中策略管理模塊201 :用於完成保護策略的配置功能。提供用戶配置界面,將用戶配置的保護策略設置到系統的策略表中。所述保護策略的內容包括業務匹配項,用於根據設定的業務匹配參數與不同SIP業務的SIP請求消息進行匹配;業務優先級項,用於標識與本項保護策略匹配的SIP業務的優先級;業務過載檢測項,用於為過載保護模塊提供識別SIP伺服器當前是否過載的檢測參數。(I)業務匹配項用於用於根據設定的業務匹配參數與不同SIP業務的SIP請求消息進行匹配,匹配的條件可以有多種,常用的業務匹配參數包括SIP請求源IP位址和/或SIP請求目的IP位址和/或SIP請求目的埠,如果需要進行更加細緻的匹配,可以對SIP請求的發起方和/或SIP請求的接收方和/或SIP業務類型(即Method)等進行匹配。業務匹配參數靈活組合使用,以滿足不同的場景需求。(2)業務優先級項用於標識與本項保護策略匹配的SIP業務的優先級,當檢測到SIP伺服器業務處理繁忙即過載時,系統總是丟棄優先級低的業務,保障高優先級業務的服
務質量。(3)業務過載檢測項用於識別SIP伺服器業務是否過載,通常由2個配置來設定。額定最大處理時間Tmax (毫秒)和檢測延時時間Twin (毫秒)。Tmax表示當前策略所匹配的SIP業務,在正常情況下,經過SIP伺服器處理直到返迴響應消息,需要花費的最大處理時間(通常該值應該小於SIP業務的第一次重傳間隔時間)。如果在實際環境中,檢測到處理時間大於Tmax時,即認為此次業務請求出現了過載的情況額定最大處理時間Tmax表示本項策略所關聯的SIP請求消息在正常情況下,經過SIP伺服器處理到返迴響應信息需要花費的最大處理時間;當某個SIP業務報文的處理響應時間超過了 Tmax時,則認為這個SIP業務報文發生了過載,然而僅僅發生了一次過載並不能斷定伺服器出現了真正的過載,需要結合Twin參數進行檢測;Twin表示檢測延時時間,當檢測到該檢測延時時間內的SIP請求都出現過載時候,則判斷為當前SIP伺服器過載了,相關過載保護機制就會被啟動。策略表是一個順序列表結構,按照SIP業務優先級的優先級從高到低的順序排列。一個策略列表構成一個保護單元,系統中可以存在多個策略列表,以實現對多個SIP伺服器的保護,其中,策略的優先級只在當前策略表中有效,不同策略列表之間的優先級一般沒有可比性。連接跟蹤模塊202 :用於創建對接收到的SIP請求消息進行跟蹤的跟蹤表將該SIP請求消息與策略表中的保護策略進行匹配,建立SIP請求消息和SIP響應消息的對應關係。其工作在IP層,用於跟蹤每一個SIP事務,一個SIP事務由SIP請求消息和SIP響應消息組成。連接跟蹤模塊為每一個SIP請求消息在跟蹤表中建立一個表項進行跟蹤,用於後繼的處理。同時連接跟蹤模塊也維護這個表項,刪除已經過期的表項,釋放內存,提升處理效率。連接跟蹤模塊根 據預先配置的SIP保護策略,建立SIP請求消息與保護策略的對應關係;同時通過分析SIP事務層的ID,建立其SIP請求消息和SIP響應消息的對應關係。對於無法匹配任何策略的報文,連接跟蹤模塊根據預設策略管理直接放行或則丟棄,對於匹配策略的報文,將交給緩存加速模塊進行後繼的處理。連接跟蹤模塊在具體實現上可以利用linux netfiIter框架來實現,在FORWARD鏈上進行報文的截獲、分析、處理。為了加快SIP請求消息(請求/響應)與連接跟蹤表項的匹配,實現中需要採用hash表的結構加快查找速度。緩存加速模塊203 :用於對SIP伺服器返回的SIP響應消息進行緩存,在判斷出當前SIP請求消息為與該SIP響應消息對應的SIP重傳請求時,直接向SIP終端返回該SIP響應消息。藉助連接跟蹤模塊,將SIP請求的響應消息緩存下來,並記錄在連接跟蹤表項的cache成員中,用於處理後繼的重傳請求。對於有對應的響應消息的SIP請求,則直接向SIP終端返迴響應信息,結束流程,如果未緩存,則將SIP請求消息交給過載保護模塊。過載保護模塊204 :用於根據SIP請求匹配的保護策略,對SIP伺服器當前的是否過載進行判斷,根據判斷結果決定是否對本次SIP請求執行相應處理機制。過載保護模塊為每一條保護策略,建立一張以「SIP請求」接收時間順序排列的鍊表,並在所述接收時間表中記錄對應的SIP響應消息的接收時間,通過分析最近檢測延時時間「Twin」內的所有SIP請求,如果該時間延時內的所有SIP請求響應時間都超過了額定響應時間「Tmax」,那麼認為該SIP伺服器過載了,則為該項保護策略設置過載標誌,將低於設置過載標誌的保護策略的業務優先級的SIP請求消息丟棄。則取消該保護策略的過載標誌,恢復低優先級的SIP 請求消息的放行。
如圖3所示,本發明實施例中的SIP伺服器過載保護方法,應用於上述圖2中所示的過載保護裝置中,採用以下步驟實現
步驟301,利用過載保護裝置中的策略管理模塊配置用於對各類SIP業務的SIP請求消息進行匹配的保護策略,形成包含多項保護策略的策略表。
步驟302、當過載保護裝置接收到SIP消息時,連接跟蹤模塊利用跟蹤表項對該 SIP消息進行跟蹤。本步驟中,連接跟蹤模塊利用跟蹤表項對該SIP請求消息進行跟蹤的具體方法是,連接跟蹤模塊接收SIP終端某一 SIP事務的SIP請求消息後,為該SIP請求消息創建跟蹤表,通過分析SIP事務層的ID,在跟蹤表中建立SIP請求消息和SIP響應消息的對應關係。
步驟303,連接跟蹤模塊判斷該SIP消息是否為SIP請求,如果是,則進入步驟 304,否則進入步驟305。
步驟304,連接跟蹤模塊觸發緩存加速模塊判斷是否已經緩存與該SIP請求對應的響應信息,如果已經緩存,則直接向SIP終端返迴響應信息,結束流程,如果未緩存,則進入步驟305。
步驟305、連接跟蹤模塊查找策略表,判斷策略表中是否有與該SIP請求消息匹配的策略,如果有與該SIP請求消息匹配的策略,則觸發過載保護模塊對SIP伺服器當前是否過載進行判斷,根據判斷結果決定是否執行相應處理機制;如果沒有與該SIP請求消息匹配的策略,則直接放行或丟棄該SIP請求消息。本步驟中,所述觸發過載保護模塊對SIP伺服器當前是否過載進行判斷,根據判斷結果決定是否執行相應處理機制的具體方法是所述過載保護模塊利用策略表,為每一項保護策略相匹配的所有SIP請求消息建立一個接收時間表,並在所述接收時間表中記錄對應的SIP響應消息的接收時間,當判斷一項保護策略所匹配的所有SIP消息在持續的檢測延時時間Twin內超過額定最大處理時間Tmax未收到對應的SIP響應消息,則為該項保護策略設置過載標誌,將低於設置過載標誌的保護策略的業務優先級的SIP請求消息丟棄,直至檢測延時時間Twin內的所有SIP請求的響應時間都未超出額定最大處理時間Tmax,則取消該保護策略的過載標誌,恢復低優先級的SIP 請求消息的放行。
權利要求
1.SIP伺服器過載保護系統,其特徵在於,包括過載保護裝置,所述過載保護裝置與至少一個SIP終端和至少一個SIP伺服器相連,用於配置與各類SIP業務的SIP請求消息進行匹配的保護策略,當接收到SIP終端發送的SIP請求消息時,將該SIP請求消息與配置的保護策略進行匹配,根據匹配結果再對SIP伺服器的過載情況進行判斷,根據判斷結果決定是否執行相應處理機制。
2.如權利要求1所述的SIP伺服器過載保護系統,其特徵在於,所述過載保護裝置包括策略管理模塊,用於提供策略配置界面,供用戶配置對各類SIP請求消息進行匹配的保護策略,生成包含多項保護策略的策略表;連接跟蹤模塊,用於創建對接收到的SIP請求消息進行跟蹤的跟蹤表將該SIP請求消息與策略表中的保護策略進行匹配,建立SIP請求消息和SIP響應消息的對應關係;過載保護模塊,用於根據SIP請求匹配的保護策略,對SIP伺服器當前的是否過載進行判斷,根據判斷結果決定是否對本次SIP請求執行相應處理機制。
3.如權利要求2所述的SIP伺服器過載保護系統,其特徵在於,所述過載保護裝置還包括緩存加速模塊,用於對SIP伺服器返回的SIP響應消息進行緩存,在判斷出當前SIP請求消息為與該SIP響應消息對應的SIP重傳請求時,直接向SIP終端返回該SIP響應消息。
4.如權利要求1-3任一項所述的SIP伺服器過載保護系統,其特徵在於,所述保護策略的內容包括業務匹配項,用於根據設定的業務匹配參數與不同SIP業務的SIP請求消息進行匹配;業務優先級項,用於標識與本項保護策略匹配的SIP業務的優先級;業務過載檢測項,用於為過載保護模塊提供識別SIP伺服器當前是否過載的檢測參數。
5.如權利要求4所述的SIP伺服器過載保護系統,其特徵在於,所述業務匹配參數包括SIP請求源IP位址和/或SIP請求目的IP位址和/或SIP請求目的埠和/或SIP請求消息中的請求方和/或接收方和/或業務類型。
6.如權利要求5所述的SIP伺服器過載保護系統,其特徵在於,所述用於為過載保護模塊提供識別SIP伺服器當前是否過載的檢測參數包括額定最大處理時間Tmax和檢測延時時間Twin,Tmax表示與本項保護策略相匹配的所有SIP請求消息在正常情況下,經過 SIP伺服器處理到返迴響應信息需要花費的最大處理時間;Twin表示與本項保護策略相匹配的所有SIP請求消息對應的SIP響應時間持續超過Tmax的最長允許時間。
7.如權利要求6所述的SIP伺服器過載保護系統,其特徵在於,所述過載保護模塊還用於,為每一項保護策略相匹配的所有SIP請求消息建立一個接收時間表,並在所述接收時間表中記錄對應的SIP響應消息的接收時間,當判斷一項保護策略所匹配的所有SIP消息在持續的Twin內超過Tmax未收到對應的SIP響應消息,則為該項保護策略設置過載標誌, 將低於設置過載標誌的保護策略的業務優先級的SIP請求消息丟棄。
8.SIP伺服器過載保護方法,應用於包括過載保護裝置的SIP伺服器過載保護系統中, 其特徵在於,該方法包括以下步驟a、利用過載保護裝置中的策略管理模塊配置用於對各類SIP業務的SIP請求消息進行匹配的保護策略,形成包含多項保護策略的策略表;b、當過載保護裝置接收到SIP消息時,連接跟蹤模塊利用跟蹤表項對該SIP消息進行跟蹤;C、連接跟蹤模塊判斷該SIP消息是否為SIP請求,如果是,則進入步驟d,否則進入步驟e ;d、連接跟蹤模塊觸發緩存加速模塊判斷是否已經緩存與該SIP請求對應的響應信息, 如果已經緩存,則直接向SIP終端返迴響應信息,結束流程,如果未緩存,則進入步驟e ;e、連接跟蹤模塊查找策略表,判斷策略表中是否有與該SIP請求消息匹配的策略,如果有與該SIP請求消息匹配的策略,則觸發過載保護模塊對SIP伺服器當前是否過載進行判斷,根據判斷結果決定是否執行相應處理機制;如果沒有與該SIP請求消息匹配的策略, 則直接放行或丟棄該SIP請求消息。
9.如權利要求8所述的SIP伺服器過載保護方法,其特徵在於,步驟e中,所述觸發過載保護模塊對SIP伺服器當前是否過載進行判斷,根據判斷結果決定是否執行相應處理機制的具體方法是所述過載保護模塊利用策略表,為每一項保護策略相匹配的所有SIP請求消息建立一個接收時間表,並在所述接收時間表中記錄對應的SIP響應消息的接收時間,當判斷一項保護策略所匹配的所有SIP消息在持續的檢測延時時間Twin內超過額定最大處理時間 Tmax未收到對應的SIP響應消息,則為該項保護策略設置過載標誌,將低於設置過載標誌的保護策略的業務優先級的SIP請求消息丟棄,直至檢測延時時間Twin內的所有SIP請求的響應時間都未超出額定最大處理時間Tmax,則取消該保護策略的過載標誌,恢復低優先級的SIP請求消息的放行。
10.如權利要求8或9所述的SIP伺服器過載保護方法,其特徵在於,所述步驟b中, 連接跟蹤模塊利用跟蹤表項對該SIP請求消息進行跟蹤的具體方法是,連接跟蹤模塊接收 SIP終端某一 SIP事務的SIP請求消息後,為該SIP請求消息創建跟蹤表,通過分析SIP事務層的ID,在跟蹤表中建立SIP請求消息和SIP響應消息的對應關係。
全文摘要
本發明涉及網絡通信領域中的對SIP伺服器的過載保護技術,其公開了一種SIP伺服器過載保護系統,該系統,包括過載保護裝置,過載保護裝置,所述過載保護裝置用於分別與至少一個SIP終端和至少一個SIP伺服器相連,用於配置與各類SIP業務的SIP請求消息進行匹配的保護策略,當接收到SIP請求消息時,將該SIP請求消息與配置的保護策略進行匹配,根據匹配結果再對SIP伺服器的過載情況進行判斷後,根據判斷結果決定是否執行相應處理機制。此外,本發明還公開了相應的SIP伺服器過載保護方法,適用於對SIP伺服器的過載保護。
文檔編號H04L29/08GK103036885SQ20121055174
公開日2013年4月10日 申請日期2012年12月18日 優先權日2012年12月18日
發明者權吉歡 申請人:邁普通信技術股份有限公司