中文字幕无码日韩视频无码三区

識別原始ip地址以及客戶端端口連接的制作方法

文檔(dang)序號:9355677閱讀(du):600來(lai)源(yuan):國知(zhi)局
識別原始ip地址以及客戶端端口連接的制作方法
【技術領域】
[0001]本公開一般涉及經由代理服務器將客戶端連接至網絡服務器,并且更具體地,涉及用于識別原始IP地址以及經由代理服務器連接至網絡服務器的客戶端的端口連接的技術。
【背景技術】
[0002]負載平衡器或代理服務器通常用在基于網絡的服務的客戶端與用于提供服務的多個網絡服務器之間,以便平衡服務器之間的工作負載。在一個示例中,負載平衡器可監聽外部客戶端為訪問服務而連接的位置處的端口。負載平衡器然后可向一個后臺服務器轉發請求,后臺服務器可直接應答負載平衡器,從而允許負載平衡器在客戶端甚至不知道后端服務器的存在的情況下應答客戶端。
[0003]使用代理服務器/負載平衡器的另一個效果在于:網絡服務器看不到實際客戶端地址;代理服務器/負載平衡器的IP地址作為原始地址被提供給網絡服務器,從而有效地使得代理服務器/負載平衡器成為匿名服務。這使得對檢測和防止濫用客戶端訪問比在客戶端的IP地址被提供給網絡服務器作為原始地址情況下更加困難。目前,X-Forwarded-For ( “XFF”) HTTP頭部字段可用于識別通過HTTP代理服務器或負載平衡器連接至網絡服務器的客戶端的原始IP地址。XFF的可用性取決于代理服務器真實報告原始主機的IP地址。因此,有效使用XFF要求知道代理服務器的可信度,例如,如其保持器可受到信任的服務器的白名單所指示。此外,因為XFF是HTTP頭部字段,所以它僅在與HTTP代理服務器/負載平衡器有關時有用。
【附圖說明】
[0004]為提供對本公開及其特征和優點的更完整理解,結合附圖參照以下說明,在附圖中,類似參考數字表示類似部分,其中:
[0005]圖1是數據通信環境的框圖,在數據通信環境中,可實現用于向網絡服務器識別原始IP地址以及經由代理服務器連接至網絡服務器的客戶端的端口連接的實施例;
[0006]圖2根據實施例示出包括X-Forwarded Source ( “XFS”)元素的傳輸控制協議(“TCP”)片段,所述元素用于向網絡服務器識別原始IP地址以及經由代理服務器連接至網絡服務器的客戶端的端口連接;
[0007]圖3根據實施例示出在用于發起TCP連接的三方握手期間交換的消息,三方握手結合向網絡服務器識別原始IP地址以及經由代理服務器連接至網絡服務器的客戶端的端口連接使用;
[0008]圖4根據實施例示出由代理服務器實現的用于執行TCP三方握手的技術的流程圖,TCP三方握手結合向網絡服務器識別原始IP地址以及經由代理服務器連接至網絡服務器的客戶端的端口連接使用;
[0009]圖5根據實施例示出由網絡服務器實現的用于執行TCP三方握手的技術,TCP三方握手結合向網絡服務器識別原始IP地址以及經由代理服務器連接至網絡服務器的客戶端的端口連接使用;并且
[0010]圖6是根據實施例在向網絡服務器識別原始IP地址以及經由代理服務器連接至網絡服務器的客戶端的端口連接時使用的代理服務器和網絡服務器的更詳細框圖。
[0011]示例性實施例的詳細說明
[0012]臟
[0013]在一個示例性實施例中提供了一種方法,所述方法包括接收來自客戶端、目的地為服務器的消息;將識別所述客戶端的X-Forwarded Source (“XFS”)值嵌入在所接收的消息中;并且將包括所嵌入的XFS值的所接收的消息轉發至所述服務器。在一個實施例中,所述消息是傳輸控制協議(“TCP”)三方握手的確認(“ACK”)消息。所述XFS值可包括所述客戶端的源IP地址和與所述客戶端相關聯的源端口標志符中的至少一者。所接收的消息可響應于由所述客戶端從所述服務器接收的傳輸控制協議(“TCP”)同步確認(“SYN-ACK”)消息而被發送。此外,所述XFS值可嵌入在所述消息的傳輸控制協議(“TCP”)頭部中。
[0014]示例件實施例
[0015]以下說明參考各種實施例。然而,應當理解,本公開不限于具體描述的實施例。相反,不論是否涉及不同實施例,設想以下特征和元件的任何組合以實施和實踐本公開。此夕卜,盡管實施例可實現優于其他可能解決方案和/或優于現有技術的優點,但是給定實施例是否實現特定優點并不對本公開進行限制。因此,以下方面、特征、實施例和優點僅是說明性的,并且不被認為是所附權利要求書的要素或限制,除非在權利要求中明確敘述。同樣地,對“本公開”的參考不應解釋為概括本文公開的任何主題并且不應被認為是所附權利要求書的要素或限制,除非在權利要求中明確敘述。
[0016]如將了解,本公開的各方面可具體體現為系統、方法或計算機程序產品。因此,本公開的各方面可采取以下形式:在本文中一般可稱為“模塊”或“系統”的完全硬件實施例、完全軟件實施例(包括固件、常駐軟件、微碼等)或組合軟件和硬件方面的實施例。另外,本公開的各方面可采取計算機程序產品的形式,計算機程序產品具體體現在具有計算機可讀程序代碼編碼在其上的一個或多個非暫態計算機可讀介質中。
[0017]可利用一個或多個非暫態計算機可讀介質的任何組合。計算機可讀介質可以是計算機可讀信號介質或計算機可讀存儲介質。計算機可讀存儲介質可以是例如(但不限于)電子、磁的、光的、電磁、紅外或半導體系統、裝置或設備,或前述各項的任何合適組合)。計算機可讀存儲介質的更具體示例(非窮盡清單)將包括以下各項:具有一根或多根電線的電連接、便攜式計算機磁盤、硬盤、隨機存取存儲器(“RAM”)、只讀存儲器(“R0M”)、可擦除可編程只讀存儲器(“EPR0M”或“閃存”)、光纖、便攜式光盤只讀存儲器(“⑶-R0M”)、光存儲裝置、磁存儲裝置、或前述各項的任何合適組合。在本文件的上下文中,計算機可讀存儲介質可以是能夠包含或存儲供指令執行系統、裝置或設備使用或結合指令執行系統、裝置或設備使用的程序的任何有形介質。
[0018]用于執行用于本公開各方面的操作的計算機程序代碼可以一種或多種編程語言的任何組合來寫入,所述編程語言包括如Java?、Smalltalk?或C++等面向對象的編程語言、以及如"C"編程語言或類似編程語言的常規程序化編程語言。
[0019]以下參考根據本公開實施例的方法、裝置(系統)和計算機程序產品的流程圖圖示和/或框圖描述本公開的各方面。將理解,流程圖圖示和/或框圖中的每個方框以及流程圖圖示和/或框圖中的方框的組合可由計算機程序指令實現。這些計算機程序指令可提供給通用計算機、專用計算機或其他可編程數據處理裝置的處理器以產生機器,使得經由計算機或其他可編程數據處理裝置的處理器執行的指令創建用于實現流程圖和/或框圖的一個或多個方框中所指定的功能/動作的裝置。
[0020]這些計算機程序指令還可以存儲在計算機可讀介質中,計算機可讀介質可引導計算機、其他可編程數據處理裝置或其他設備以特定方式運行,使得存儲在計算機可讀介質中的指令產生包括實現流程圖和/或框圖的一個或多個方框中所指定的功能/動作的指令的制品。
[0021]計算機程序指令還可以被加載到計算機、其他可編程數據處理裝置或其他設備上,以引起在計算機、其他可編程處理裝置或其他設備上執行一系列操作步驟以產生計算機實現的過程,使得在計算機或其他可編程處理裝置上執行的指令提供用于流程圖和/或框圖的一個或多個方框中所指定的功能/動作的過程。附圖中的流程圖和框圖示出根據本公開各個實施例的系統、方法和計算機程序產品的可能實現方式的體系架構、功能性和操作。
[0022]在此方面,流程圖或框圖中的每個方框可以表示代碼的模塊、片段或部分,其包括用于實現所指明的邏輯功能的一個或多個可執行指令。應注意,在一些
當前第1頁1 2 3 4 
網友詢問(wen)留言(yan) 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1