專利名稱:一種訪問服務器群的方法
技術領域:
本發明屬于網絡通信領域,尤其涉及網絡通信中的地址處理和安全保護領域。
背景技術:
當前,網絡正以迅猛的速度得以發展,其應用正在逐漸滲透到社會的各個領域之中。相應的,各個網站針對不同的服務類型和服務對象提供了多種多樣的網絡服務。這些網站多采用超文本傳輸協議(HTTP)、文件傳輸協議(FTP)、簡單郵件傳輸協議(SMTP)以及郵局協議(POP)中的一種或多種來提供服務,用戶則通過IP地址來訪問這些服務。隨著網站所提供的服務種類和數量的增多,越來越多的公網IP地址被占用,使得網絡資源日顯緊張;同時,由于提供以上所述服務的網站服務器均將其自身的IP地址提供給用戶,因此,在沒有安裝防火墻的情況下使得服務器處于完全暴露的狀態,安全性差,極易受到攻擊,從而影響網絡安全。
發明內容
有鑒于此,本發明的主要目的在于提供一種訪問服務器群的方法,該方法實現使用IP地址訪問提供不同服務的服務器群,既減少了公網IP地址資源的消耗,也使得用戶無法得到提供服務的服務器地址,從而減少了用戶攻擊服務器的可能性,增強了網絡安全。
本發明為一種訪問服務器群的方法,其特征在于該方法包括A、用戶通過中間設備提供的IP地址和不同類型服務的端口號訪問中間設備,中間設備根據其預先存儲的信息,分配該用戶訪問的服務器,并建立用戶與所分配服務器之間的報文轉換規則;B、用戶和所分配服務器之間按照該轉換規則,通過中間設備傳送報文。
其中,所述中間設備提供的IP地址為同一IP地址,或者提供的IP地址個數少于提供服務的服務器的個數。
其中,步驟A進一步包括A1、用戶以中間設備提供的IP地址作為目的地址、以中間設備對外提供的服務所對應的端口號作為目的端口號,向中間設備發送服務器連接請求;A2、中間設備收到連接請求,根據預先存儲的服務的關聯信息、該連接請求中的目的地址、目的端口號和報文的協議類型確定用戶訪問的服務類型,然后,中間設備利用預先存儲的服務對應的服務器的關聯信息,為用戶分配確定該服務類型對應的服務器,將服務器連接請求發送到該服務器;A3、服務器收到用戶的連接請求,向中間設備發送連接請求應答,中間設備將該連接請求應答發送給發起連接請求的用戶,中間設備按照固定算法建立用戶與本次為用戶分配的服務器之間的報文轉換規則。
其中,步驟A2中所述的中間設備上預先存儲的服務的關聯信息至少包括該服務的IP地址、端口號以及協議類型。
其中,步驟A2中所述中間設備上預先存儲的服務所對應服務器的關聯信息至少包括該服務對應服務器的IP地址和端口號。
其中,步驟A3中,所述中間設備按照固定算法建立用戶與本次為用戶分配的服務器之間的報文轉換規則包括中間設備將用戶發送連接請求報文中的源地址、源端口號、目的地址、目的端口號以及協議類型作為一個五元組,對此五元組進行hash計算得到一個hash值,將此hash值與本次為用戶分配的服務器的IP地址和端口號成對保存,作為用戶向本次為用戶分配的服務器發送報文的轉換規則;中間設備將本次為用戶分配的服務器向中間設備所發送應答報文的源地址、源端口號、目的地址、目的端口號以及協議類型作為一個五元組,對此五元組進行hash計算得到一個hash值,將此hash值與本次發送服務連接請求的用戶的地址和端口號成對保存,作為本次為用戶分配的服務器向用戶發送報文的轉換規則。
其中,步驟B中所述用戶和所分配服務器之間按照該轉換規則,通過中間設備轉發報文包括中間設備將用戶發送報文中的源地址、源端口號、目的地址、目的端口號和協議類型作為五元組,對此五元組進行hash計算,根據計算得到的hash值得到該hash值對應的服務器IP地址和端口號,將用戶報文中的目的地址和目的端口號轉換為該服務器IP地址和端口號,中間設備將報文按照此地址和端口號發送到服務器;中間設備將服務器應答報文中的源地址、源端口號、目的地址、目的端口號和協議類型作為五元組,對此五元組進行hash計算,根據計算得到的hash值得到該hash值對應的用戶的地址和端口號,將服務器應答報文中的目的地址和目的端口號轉換為該用戶的地址和端口號,中間設備將報文按照此地址和端口號發送到用戶。
其中,該方法進一步包括在中間設備上,預先將中間設備提供的服務所對應的端口號設置為與該服務對應服務器的端口號不同。
其中,當一個服務對應多個服務器時,步驟A所述分配該用戶訪問的服務器進一步包括中間設備根據該類型服務對應的各個服務器的當前流量進行負載均衡,根據負載均衡結果為用戶分配服務器。
其中,所述中間設備為交換設備。
可見,在該方法中,提供服務的各個服務器不再分別占據公網IP地址,用戶通過對外提供IP地址的交換設備訪問服務器,以此方式,減少了公網IP地址資源的消耗,并且,該方法使得用戶難以根據服務器地址攻擊服務器,從而提供了網絡安全性。
圖1為本發明的服務器組網示意圖。
圖2為使用同一網際協議地址訪問服務器群的流程圖。
具體實施例方式
本發明為一種訪問服務器群的方法,在該方法中,用戶通過中間設備對用戶提供的IP地址訪問中間設備,中間設備根據用戶的訪問類型確定服務并為用戶確定服務器,然后建立用戶與分配的服務器之間的報文轉換規則,按照該規則,中間設備轉發服務器和用戶之間的報文,從而實現服務器對用戶所提供的服務。
下面以交換設備作為中間設備,該交換設備對外提供一個IP地址為例,結合附圖對本發明進行詳細描述。
參見圖1所示,本發明實施例中,存在三種服務提供給用戶,分別是FTP服務、HTTP服務以及POP3服務,這三種服務分別只對應一個服務器,分別為FTP服務器、HTTP服務器和POP3服務器,這三個服務器分別具有各自的IP地址以及端口號,其中,FTP服務器的IP地址為192.168.2.101,端口號為21;HTTP服務器的IP地址為192.168.2.102,端口號為80;POP3服務器的IP地址為192.168.2.103,端口號為110。在本發明實施例中,采用多層交換設備(Webswitch)作為交換設備,將上述提供服務的各個服務器連接起來,互聯網(INTERNET)側用戶通過Webswitch訪問提供服務的相應服務器。該Webswitch對INTERNET側用戶提供同一IP地址202.119.5.100,并為FTP服務、HTTP服務和POP3服務分別提供不同的端口號21、80、110。參見表1所示,在該Webswitch上保存有關聯信息表,該表上預先存儲有所提供的FTP服務、HTTP服務和POP3服務的關聯信息以及每種服務對應的服務器的關聯信息,其中,各個服務的關聯信息中包括各個服務的IP地址、端口號以及該服務的協議類型,服務對應的服務器的關聯信息包括該服務器的IP地址和端口號。其中,在本發明其它實施例中,還可進一步提供n種服務,此時,需要將n種服務對應的關聯信息保存在表1所示的關聯信息表中,并且,一種服務還可以進一步對應多個服務器,例如,對于服務n可以對應m個服務器,此時,關聯信息表中服務n的表項中,包括m個服務器的如上所述關聯信息。
表1下面參見圖2所示,對用戶通過Webswitch訪問相應的服務進行詳細介紹以用戶使用互聯網(IE)瀏覽器訪問HTTP服務為例,用戶通過Webswitch訪問HTTP服務具體包括以下步驟步驟201用戶在瀏覽器的地址欄中輸入Webswitch對外提供的IP地址202.119.5.100,通過INTERNET向Webswitch發送服務器連接請求報文,其中,在該報文中包括報文發送的目的地址、目的端口號以及協議類型,其中,該連接請求報文以Webswitch對外提供的IP地址202.119.5.100作為目的地址,以Webswitch對外提供的HTTP服務的端口號80作為目的端口號,協議類型為HTTP;由于本發明實施例中,用戶使用IE瀏覽器訪問HTTP服務,因此,本發明實施例中報文的目的端口號和協議類型分別被自動確定,無需人為輸入,其中,目的端口號為80,協議類型為TCP;步驟202Webswitch根據收到的服務器連接請求報文,分析得到用戶所訪問服務的IP地址為202.119.5.100、端口號為80、協議類型為TCP,Webswitch在表1所示的關聯信息表中,判斷服務對應的關聯信息這一表項中是否保存有與以上IP地址、端口號和協議類型相同的一項,本發明實施例判斷結果為HTTP服務對應的關聯信息與上述IP地址、端口號和協議類型相一致,確定用戶訪問服務類型為HTTP服務,如果在本發明的其它實施例中,判斷得到沒有與用戶訪問服務的目的地址、目的端口號和協議類型相一致的服務對應的關聯信息,則返回錯誤信息;步驟203Webswitch為用戶分配提供HTTP服務的服務器的IP地址192.168.2.102和端口號80,并將服務器連接請求報文中目的地址、目的端口號轉換為所分配的IP地址和端口號,再將轉換后的服務器連接請求報文發送到HTTP服務器;其中,在本發明的其他實施例中,如果用戶所訪問的服務對應多個服務器,則Webswitch獲得各個服務器的流量情況,根據該流量情況對各個服務器進行流量負載均衡,按照流量負載均衡結果為用戶選擇一個服務器,以此方式使得各個服務器之間可以協調工作;步驟204HTTP服務器收到服務器連接請求報文,向Webswitch發送服務器連接請求應答報文,Webswitch收到該應答報文,向發送服務器連接請求的用戶轉發該應答報文,同時,Webswitch建立用戶和所分配的服務器之間的報文轉換規則,本發明實施例中,Webswitch分別建立用戶側和服務器側的報文轉換規則,其中,用戶側報文轉換規則的建立方法為將本次用戶發送連接請求中的源地址、目的地址、源端口號、目的端口號、和協議類型這五個元素構成一個五元組,其中,連接請求中的源地址和源端口號就是用戶的IP地址和端口號,連接請求中的目的地址和端口號就是用戶所訪問的Webswitch的IP地址和端口號;對這個五元組進行hash計算,得到一個hash值,將此hash值與本次為用戶分配確定的HTTP服務器IP地址和端口號成對保存在hash值對應表中,hash值對應表參見表2所示,以上述對五元組的hash算法和hash值對應表中的對應關系作為用戶側報文的轉換規則;
表2服務器側報文轉換規則的建立方法與用戶側報文轉換規則的建立方法原理相同,具體為將服務器所發送的應答報文的源地址、目的地址、源端口號、目的端口號和協議類型這五個元素構成一個五元組,其中,應答報文的源地址和源端口號就是發送應答報文的服務器的IP地址和端口號,應答報文的目的地址和端口號就是應答報文所發送到的Webswitch的IP地址和端口號;對這個五元組進行hash計算,得到一個hash值,將此hash值與應答報文所發送到的用戶的IP地址和端口號成對保存在表2所示的hash值對應表中,以對五元組的hash算法和hash值對應表中的對應關系作為服務器側報文的轉換規則;步驟205Webswitch根據建立的用戶側和服務器側報文轉換規則,建立用戶與該用戶訪問服務所對應的服務器之間的連接,實現服務器對用戶的服務,具體包括對于用戶側發送的報文,Webswitch根據用戶側報文轉換規則,將該報文中的源地址和目的地址、源端口號和目的端口號、以及協議類型構成一個五元組,對此五元組進行hash計算,得到一個hash值,在hash值對應表中,查找與該hash值相同的hash值,根據該相同的hash值查找得到對應的服務器地址和端口號,將用戶側發送的報文中的目的地址和端口號轉換為該服務器地址和端口號,并按照該服務器地址和端口號發送來自用戶側的報文;對于服務器側發送的應答報文,Webswitch根據用戶側報文轉換規則,將該報文中的源地址和目的地址、源端口號和目的端口號、以及協議類型構成一個五元組,對此五元組進行hash計算,得到一個hash值,在hash值對應表中,查找與該hash值相同的hash值,根據該相同的hash值查找得到對應的用戶側的地址和端口號,將服務器側發送的應答報文中的目的地址和端口號轉換為該用戶側的地址和端口號,并按照該用戶側的地址和端口號發送來自服務器側的報文。
在本發明實施例中,當用戶訪問本發明實施例中所提供的其它服務時,其具體步驟與上述訪問HTTP的步驟相類似,此時,Webswitch會在用戶與提供其它服務的服務器之間,通過轉換規則建立連接。
其中,本發明還可進一步應用于提供更多服務的網站中,用戶訪問各個服務的過程與上述實施例所述過程類似;其中,所提供的每個服務可進一步對應多個服務器,此時,交換設備可以根據同一類型的各個服務器中的流量情況進行負載均衡,從而使得服務器協調工作,提高服務器的使用效率。
在以上實施例中,交換設備向用戶提供與各個服務器本身端口號相一致的端口號,在本發明的其它實施例中,還可以預先在交換設備上將對外提供的服務的端口號設置為與該服務的各個服務器自身端口號不同,以此方式實現對服務器端口號的屏蔽,以避免來自用戶側的攻擊,采用此種方式,并不影響本發明的實現。
在本發明的其它實施例中,中間設備可以對外提供多于1個、但少于提供服務的服務器個數的IP地址,在中間設備的關聯信息表中,將這些IP地址分別填入不同服務對應的關聯信息表項中;用戶利用中間設備對外提供的IP地址訪問中間設備、中間設備建立用戶和服務器之間的報文轉換規則、以及用戶和服務器通過中間設備收發報文的具體實現方式與上述實施例相同;以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
可見,本發明采用交換設備將提供不同服務的服務器連接起來,該交換設備對外提供IP地址,并在自身上儲存有提供服務以及服務所對應的服務器的關聯信息;用戶以交換設備提供的IP地址訪問交換設備,交換設備根據關聯信息確定用戶所訪問的服務,并為用戶分配該服務所對應的服務器,然后,交換設備建立用戶與所分配服務器之間的報文轉換規則,利用此規則轉發后續報文,從而實現服務器對用戶提供服務。該方法易于實現,并且簡單可靠。
權利要求
1.一種訪問服務器群的方法,其特征在于該方法包括A、用戶通過中間設備提供的IP地址和不同類型服務的端口號訪問中間設備,中間設備根據其預先存儲的信息,分配該用戶訪問的服務器,并建立用戶與所分配服務器之間的報文轉換規則;B、用戶和所分配服務器之間按照該轉換規則,通過中間設備傳送報文。
2.根據權利要求1所述的方法,其特征在于所述中間設備提供的IP地址為同一IP地址,或者提供的IP地址個數少于提供服務的服務器的個數。
3.根據權利要求1或2所述的方法,其特征在于步驟A進一步包括A1、用戶以中間設備提供的IP地址作為目的地址、以中間設備對外提供的服務所對應的端口號作為目的端口號,向中間設備發送服務器連接請求;A2、中間設備收到連接請求,根據預先存儲的服務的關聯信息、該連接請求中的目的地址、目的端口號和報文的協議類型確定用戶訪問的服務類型,然后,中間設備利用預先存儲的服務對應的服務器的關聯信息,為用戶分配確定該服務類型對應的服務器,將服務器連接請求發送到該服務器;A3、服務器收到用戶的連接請求,向中間設備發送連接請求應答,中間設備將該連接請求應答發送給發起連接請求的用戶,中間設備按照固定算法建立用戶與本次為用戶分配的服務器之間的報文轉換規則。
4.根據權利要求3所述的方法,其特征在于步驟A2中所述的中間設備上預先存儲的服務的關聯信息至少包括該服務的IP地址、端口號以及協議類型。
5.根據權利要求3所述的方法,其特征在于步驟A2中所述中間設備上預先存儲的服務所對應服務器的關聯信息至少包括該服務對應服務器的IP地址和端口號。
6.根據權利要求3所述的方法,其特征在于步驟A3中,所述中間設備按照固定算法建立用戶與本次為用戶分配的服務器之間的報文轉換規則包括中間設備將用戶發送連接請求報文中的源地址、源端口號、目的地址、目的端口號以及協議類型作為一個五元組,對此五元組進行hash計算得到一個hash值,將此hash值與本次為用戶分配的服務器的IP地址和端口號成對保存,作為用戶向本次為用戶分配的服務器發送報文的轉換規則;中間設備將本次為用戶分配的服務器向中間設備所發送應答報文的源地址、源端口號、目的地址、目的端口號以及協議類型作為一個五元組,對此五元組進行hash計算得到一個hash值,將此hash值與本次發送服務連接請求的用戶的地址和端口號成對保存,作為本次為用戶分配的服務器向用戶發送報文的轉換規則。
7.根據權利要求6所述的方法,其特征在于步驟B中所述用戶和所分配服務器之間按照該轉換規則,通過中間設備轉發報文包括中間設備將用戶發送報文中的源地址、源端口號、目的地址、目的端口號和協議類型作為五元組,對此五元組進行hash計算,根據計算得到的hash值得到該hash值對應的服務器IP地址和端口號,將用戶報文中的目的地址和目的端口號轉換為該服務器IP地址和端口號,中間設備將報文按照此地址和端口號發送到服務器;中間設備將服務器應答報文中的源地址、源端口號、目的地址、目的端口號和協議類型作為五元組,對此五元組進行hash計算,根據計算得到的hash值得到該hash值對應的用戶的地址和端口號,將服務器應答報文中的目的地址和目的端口號轉換為該用戶的地址和端口號,中間設備將報文按照此地址和端口號發送到用戶。
8.根據權利要求1所述的方法,其特征在于該方法進一步包括在中間設備上,預先將中間設備提供的服務所對應的端口號設置為與該服務對應服務器的端口號不同。
9.根據權利要求1所述的方法,其特征在于當一個服務對應多個服務器時,步驟A所述分配該用戶訪問的服務器進一步包括中間設備根據該類型服務對應的各個服務器的當前流量進行負載均衡,根據負載均衡結果為用戶分配服務器。
10.根據權利要求1所述的方法,其特征在于所述中間設備為交換設備。
全文摘要
本發明公開了一種訪問服務器群的方法,其特征在于該方法包括A.用戶利用中間設備對外提供的IP地址和不同類型服務的端口號訪問中間設備,中間設備利用自身上預先存儲的信息,為該用戶的訪問分配服務器,并建立用戶與所分配服務器之間的報文轉換規則;B.用戶和所分配服務器之間按照該轉換規則,通過中間設備傳送報文。在該方法中,提供服務的各個服務器不再分別占據公網IP地址,用戶通過對外提供IP地址的中間設備訪問服務器,以此方式,減少了公網IP地址資源的消耗,并且,該方法使得用戶難以根據服務器地址攻擊服務器,從而提供了網絡安全性。
文檔編號H04Q3/00GK1567882SQ0314865
公開日2005年1月19日 申請日期2003年6月12日 優先權日2003年6月12日
發明者張光明, 熊鷹, 肖斌, 張儉鋒, 龔華, 施震宇, 錢劍, 杜建樹, 蘭冰 申請人:華為技術有限公司