一種數(shù)據(jù)發(fā)送系統(tǒng)及數(shù)據(jù)發(fā)送方法
【專利摘要】本發(fā)明實施例提供了一種數(shù)據(jù)發(fā)送系統(tǒng)和方法,以解決現(xiàn)有內部網絡發(fā)送數(shù)據(jù)時存在的問題。數(shù)據(jù)發(fā)送系統(tǒng)包括中央管理服務器和隧道節(jié)點,中央管理服務器用于對隧道網絡進行配置和管理,可依據(jù)配置的拓撲信息在建立于不同地理位置的同一內部網絡的各子網上配置隧道節(jié)點建立所述隧道網絡,并配置該隧道網絡的路由信息表和服務質量信息,從而隧道節(jié)點在接收到子網傳輸?shù)腎P報文后,且可查找服務質量信息匹配流量控制信息,確定報文在隧道網絡中傳輸?shù)牧骺夭呗?,以減少鏈路中的延時等問題,再將IP報文封裝成隧道報文并查找路由信息表按照流量控制信息的配置對隧道報文進行發(fā)送,通過確保數(shù)據(jù)準確、快速的發(fā)送的目的網絡地址中。
【專利說明】一種數(shù)據(jù)發(fā)送系統(tǒng)及數(shù)據(jù)發(fā)送方法
【技術領域】
[0001]本發(fā)明涉及網絡【技術領域】,特別是涉及一種數(shù)據(jù)發(fā)送系統(tǒng)和一種數(shù)據(jù)發(fā)送方法。
【背景技術】
[0002]在大型企業(yè)尤其是互聯(lián)網公司,內部網絡非常龐大,而且大多橫跨幾個城市的多個運營商機房。雖然這些不同運營商機房內的網絡設備構成了一個可以互連的內部網絡,但是不同城市之間的鏈路、同一個城市不同運營商機房之間的鏈路,其帶寬、延時等網絡參數(shù)都是不一致的。
[0003]企業(yè)尤其是互聯(lián)網公司的內部網絡常常承載多種不同的網絡流量需求,例如,某些數(shù)據(jù)流量與線上服務密切相關,需要在極低延時內通過,而其他數(shù)據(jù)流量則優(yōu)先級較低,對延時不敏感。
[0004]但是,現(xiàn)有的企業(yè)內部網絡并未對鏈路之間傳輸?shù)臄?shù)據(jù)流量進行區(qū)分,例如在不同城市之間的鏈路中發(fā)送數(shù)據(jù)時,往往會占滿鏈路的整個帶寬,導致后續(xù)數(shù)據(jù)的發(fā)送延時。
【發(fā)明內容】
[0005]本發(fā)明實施例所要解決的技術問題是提供一種數(shù)據(jù)發(fā)送方法,以解決現(xiàn)有內部網絡發(fā)送數(shù)據(jù)時存在的問題。
[0006]相應的,本發(fā)明實施例還提供了一種數(shù)據(jù)發(fā)送系統(tǒng),用以保證上述方法的實現(xiàn)及應用。
[0007]為了解決上述問題,本發(fā)明公開了一種數(shù)據(jù)發(fā)送系統(tǒng),其特征在于,包括:中央管理服務器和隧道節(jié)點,其中:所述中央管理服務器,包括:建立模塊,用于配置隧道網絡的拓撲信息,并依據(jù)所述拓撲信息在建立于不同地理位置的同一內部網絡的各子網上配置隧道節(jié)點,建立所述隧道網絡;路由配置模塊,用于配置所述隧道網絡的路由信息表;服務質量配置模塊,用于配置所述隧道網絡中各隧道節(jié)點的服務質量信息;所述隧道節(jié)點,包括:隧道關口模塊,用于從所屬子網中接收網絡互連協(xié)議IP報文和所述IP報文的端口信息,并將解析出的IP報文下發(fā)到所屬子網中;流控信息匹配模塊,用于依據(jù)所述IP報文的端口信息查找所述服務質量信息,匹配所述IP報文的流量控制信息,其中,所述流量控制信息包括以下至少一項:壓縮率、帶寬配額信息、優(yōu)先路由信息;封裝及解封模塊,用于對所述IP報文進行封裝,生成在隧道網絡中傳輸?shù)乃淼缊笪?;以及對接收的隧道報文進行解析獲取對應的IP報文;節(jié)點轉發(fā)模塊,用于依據(jù)所述流量控制信息對所述隧道報文進行配置,并依據(jù)路由信息表對所述隧道報文進行發(fā)送;以及接收其他隧道節(jié)點發(fā)送的隧道報文。
[0008]可選的,所述節(jié)點轉發(fā)模塊,還用于對所述IP報文進行封裝之前,當所述流量控制信息包括壓縮率時,按照所述壓縮率對所述IP報文進行壓縮。
[0009]可選的,所述節(jié)點轉發(fā)模塊,用于依據(jù)所述優(yōu)先路由信息選擇所述隧道報文在所述隧道網絡中的發(fā)送鏈路;和/或,依據(jù)所述帶寬配額信息配置所述隧道報文在發(fā)送鏈路中發(fā)送時占用的帶寬信息,以及依據(jù)所述帶寬配額信息確定所述隧道報文是否需要限流,其中,在確定所述隧道報文需要限流時將所述隧道報文加入到等待隊列中,在確定所述隧道報文不需要限流時,對所述隧道報文進行發(fā)送。
[0010]可選的,所述節(jié)點轉發(fā)模塊,用于按照所述隧道報文的發(fā)送鏈路查找路由信息表,將所述隧道報文轉發(fā)給所述發(fā)送鏈路中所述隧道節(jié)點的下一跳隧道結點。
[0011]可選的,所述節(jié)點轉發(fā)模塊,用于接收其他隧道節(jié)點發(fā)送的隧道報文,并檢測所述隧道節(jié)點是否為所述隧道報文的目的隧道節(jié)點;當所述隧道節(jié)點不是所述隧道報文的目的隧道節(jié)點時,查找路由信息表將所述隧道報文轉發(fā)給所述發(fā)送鏈路中所述隧道節(jié)點的下一跳隧道結點;當所述隧道節(jié)點是所述隧道報文的目的隧道節(jié)點時,觸發(fā)所述封裝及解封模塊以對所述隧道節(jié)點進行解析。
[0012]本發(fā)明還公開了一種數(shù)據(jù)發(fā)送方法,應用于基于中央管理服務器配置的隧道網絡的拓撲信息,在建立于不同地理位置的同一內部網絡的各子網上配置隧道節(jié)點所建立的所述隧道網絡中,所述的方法包括:所述隧道節(jié)點從所屬子網中接收IP報文,并獲取所述IP報文的端口信息;依據(jù)所述IP報文的端口信息查找服務質量信息,獲取所述IP報文的流量控制信息,其中,所述流量控制信息包括以下至少一項:壓縮率、帶寬配額信息、優(yōu)先路由信息;對所述IP報文進行封裝,生成在隧道網絡中傳輸?shù)乃淼缊笪?;依?jù)所述流量控制信息對所述隧道報文進行配置,并依據(jù)路由信息表對所述隧道報文進行發(fā)送。
[0013]可選的,對所述IP報文進行封裝之前,還包括:當所述流量控制信息包括壓縮率時,按照所述壓縮率對所述IP報文進行壓縮。
[0014]可選的,依據(jù)所述流量控制信息對所述隧道報文進行配置,包括:依據(jù)所述優(yōu)先路由信息選擇所述隧道報文在所述隧道網絡中的發(fā)送鏈路;和/或,依據(jù)所述帶寬配額信息配置所述隧道報文在發(fā)送鏈路中發(fā)送時占用的帶寬信息,以及依據(jù)所述帶寬配額信息確定所述隧道文是否需要限流,其中,在確定所述隧道報文需要限流時將所述隧道報文加入到等待隊列中,在確定所述隧道報文不需要限流時,對所述隧道報文進行發(fā)送。
[0015]可選的,所述依據(jù)路由信息表對所述隧道報文進行發(fā)送,包括:按照所述隧道報文的發(fā)送鏈路查找路由信息表,將所述隧道報文轉發(fā)給所述發(fā)送鏈路中所述隧道節(jié)點的下一跳隧道結點。
[0016]可選的,還包括:接收其他隧道節(jié)點發(fā)送的隧道報文,并檢測所述隧道節(jié)點是否為所述隧道報文的目的隧道節(jié)點;當所述隧道節(jié)點不是所述隧道報文的目的隧道節(jié)點時,查找路由信息表將所述隧道報文轉發(fā)給所述發(fā)送鏈路中所述隧道節(jié)點的下一跳隧道結點;當所述隧道節(jié)點是所述隧道報文的目的隧道節(jié)點時,對所述隧道節(jié)點進行解析獲取對應的IP報文,并將解析出的IP報文下發(fā)到所述隧道節(jié)點所屬的子網中。
[0017]與現(xiàn)有技術相比,本發(fā)明實施例包括以下優(yōu)點:
[0018]數(shù)據(jù)發(fā)送系統(tǒng)包括中央管理服務器和隧道節(jié)點,中央管理服務器用于對隧道網絡進行配置和管理,可以依據(jù)配置的拓撲信息在建立于不同地理位置的同一內部網絡的各子網上配置隧道節(jié)點建立所述隧道網絡,并配置該隧道網絡的路由信息表和服務質量信息,從而隧道節(jié)點在接收到子網傳輸?shù)腎P報文后,報文采用隧道網絡傳輸而非IP網絡,因此可以查找服務質量信息匹配流量控制信息,確定報文在隧道網絡中傳輸?shù)牧骺夭呗?,如占用帶寬、鏈路選擇、發(fā)送優(yōu)先級等,從而后續(xù)發(fā)送中減少鏈路中的延時等問題再將IP報文封裝成隧道報文,然后查找路由信息表按照流量控制信息的配置對隧道報文進行發(fā)送,通過確保數(shù)據(jù)準確、快速的發(fā)送的目的網絡地址中。
【專利附圖】
【附圖說明】
[0019]圖1是本發(fā)明的一種隧道網絡的連接示意圖;
[0020]圖2是本發(fā)明的一種數(shù)據(jù)發(fā)送系統(tǒng)的結構框圖;
[0021]圖3是本發(fā)明的一種數(shù)據(jù)發(fā)送方法的步驟流程圖;
[0022]圖4是本發(fā)明實施例中隧道報文轉發(fā)示意圖;
[0023]圖5是本發(fā)明的一種數(shù)據(jù)發(fā)送方法的可選步驟流程圖;
[0024]圖6是本發(fā)明實施例二提供的隧道網絡示意圖。
【具體實施方式】
[0025]為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖和【具體實施方式】對本發(fā)明作進一步詳細的說明。
[0026]本發(fā)明實施例的核心構思之一在于,提出一種數(shù)據(jù)發(fā)送系統(tǒng),以解決現(xiàn)有內部網絡發(fā)送數(shù)據(jù)時存在的問題。該數(shù)據(jù)發(fā)送系統(tǒng)包括中央管理服務器和隧道節(jié)點,中央管理服務器用于對隧道網絡進行配置和管理,可以依據(jù)配置的拓撲信息在建立于不同地理位置的同一內部網絡的各子網上配置隧道節(jié)點建立所述隧道網絡,并配置該隧道網絡的路由信息表和服務質量信息,從而隧道節(jié)點在接收到子網傳輸?shù)腎P報文后,報文采用隧道網絡傳輸而非IP網絡,因此可以查找服務質量信息匹配流量控制信息,確定報文在隧道網絡中傳輸?shù)牧骺夭呗?,如占用帶寬、鏈路選擇、發(fā)送優(yōu)先級等,從而后續(xù)發(fā)送中減少鏈路中的延時等問題再將IP報文封裝成隧道報文,然后查找路由信息表按照流量控制信息的配置對隧道報文進行發(fā)送,通過確保數(shù)據(jù)準確、快速的發(fā)送的目的網絡地址中。
[0027]實施例一
[0028]參照圖1,示出了本發(fā)明的一種隧道網絡的連接示意圖。
[0029]本發(fā)明實施例中,隧道網絡的數(shù)據(jù)發(fā)送系統(tǒng)包括:一個中央管理服務器10和多于兩個隧道節(jié)點20。中央管理服務器10與各隧道節(jié)點20分別相連,以對隧道節(jié)點20進行配置,并且各隧道節(jié)點20直接彼此相連,從而構成互通的鏈路,可以彼此傳輸隧道報文。
[0030]其中,隧道指的是兩臺服務器等硬件設備在現(xiàn)有的IP網絡之上建立的如TCP/UDP等鏈路,雙方將這條鏈路表示成一個點對點(Point To Point)的網絡鏈路,并向雙方提供一個虛擬的網絡接口?;诖?,隧道網絡可以是若干臺服務器等硬件設備在現(xiàn)有IP網絡之上相互建立如TCP或UDP等鏈路,并將這些鏈路表示為一個邏輯上的網絡,并且向每臺服務器提供一個虛擬的網絡接口。
[0031]參照圖2,示出了本發(fā)明的一種數(shù)據(jù)發(fā)送系統(tǒng)的結構框圖,具體可以包括如下模塊:
[0032]中央管理服務器10用于建立數(shù)據(jù)發(fā)送系統(tǒng)的隧道網絡,配置隧道網絡的拓撲信息、網絡路由表以及服務質量信息等,對隧道網絡進行配置、管理。
[0033]中央管理服務器10包括:建立模塊1002、路由配置模塊1004和服務質量配置模塊1006,其中:
[0034]建立模塊1002,用于配置隧道網絡的拓撲信息,并依據(jù)所述拓撲信息在建立于不同地理位置的同一內部網絡的各子網上配置隧道節(jié)點,建立所述隧道網絡。
[0035]本發(fā)明實施例中,企業(yè)內部網絡可以是跨域不同地域的大型網絡,因此該內部網絡包括在不同的地理位置中建立的多個子網,子網內也具有互通的局域網,數(shù)據(jù)可以在各子網內傳輸,也可以在子網之間傳輸。為了對子網間傳輸?shù)臄?shù)據(jù)進行控制,可以在各子網上配置隧道節(jié)點,通過隧道節(jié)點之間的鏈路實現(xiàn)子網間數(shù)據(jù)的傳輸。
[0036]因此,建立模塊1002可以配置隧道網絡的拓撲信息,該拓撲信息指的是隧道網絡中各子網的隧道節(jié)點相互連接的形式。進而可以按照配置的拓撲信息在子網上配置隧道節(jié)點,建立由隧道節(jié)點互相連接構成的隧道網絡,因此該隧道節(jié)點也實現(xiàn)了隧道網絡的拓撲結構。
[0037]路由配置模塊1004,用于配置所述隧道網絡的路由信息表。
[0038]其中,路由信息表建立的主要目標是為了實現(xiàn)路由協(xié)議和路由選擇。路由信息表存儲著指向內部網絡中特定網絡地址(如子網的網絡地址)的路徑,當然,路由信息表中也可以記錄路徑的路由度量值等信息,并含有網絡的拓撲信息。基于該路由信息表可以將隧道報文從源隧道節(jié)點發(fā)送到目的隧道節(jié)點。
[0039]服務質量配置模塊1006,用于配置所述隧道網絡中各隧道節(jié)點的服務質量信息。
[0040]本發(fā)明實施例中,在子網中傳輸數(shù)據(jù)時采用IP報文,在子網間的隧道網絡中傳輸數(shù)據(jù)時采用隧道報文,因此當數(shù)據(jù)要從一個子網傳輸?shù)絻蓚€子網時,可以將IP報文封裝成隧道報文。
[0041]其中,服務質量信息用于配置隧道網絡中傳輸?shù)乃淼缊笪牡膫鬏斮|量,例如隧道報文占用帶寬、發(fā)送優(yōu)先級,選擇的鏈路等,因此通過服務質量信息包括隧道報文的流量控制信息,所述流量控制信息包括以下至少一項:壓縮率、帶寬配額信息、優(yōu)先路由信息。
[0042]其中,壓縮率用于確定對IP報文進行壓縮的比率,即IP報文壓縮后的大小與壓縮前的大小之比。
[0043]帶寬配額信息用于為隧道報文分配的帶寬信息,如分配隧道報文占用5M帶寬;并且,帶寬配額信息還依據(jù)隧道報文的流量情況決定是立即發(fā)送還是緩存后發(fā)送等。當報文流量超過配置的帶寬配額,則緩存后發(fā)送,否則立即發(fā)送,因此帶寬配額信息可以作為隧道報文發(fā)送的優(yōu)先級判斷信息之一。
[0044]優(yōu)先路由信息用于確定隧道報文的發(fā)送鏈路,如可以分為常用鏈路和備用鏈路,或者分為高速鏈路和普通鏈路等,依據(jù)報文的不同優(yōu)先級選擇不同的鏈路發(fā)送隧道報文。
[0045]因此,中央管理服務器10用于對整個隧道網絡,以及隧道網絡的數(shù)據(jù)發(fā)送等進行配置、管理,從而保證隧道網絡正常工作。隧道節(jié)點指的是隧道網絡中可以和其他設備連接,具有獨立地址和具有傳送或接收數(shù)據(jù)功能的網絡連接點。因此隧道節(jié)點可以將子網內的IP報文封裝成隧道報文后在隧道網絡間傳輸,也可以將隧道報文解封后發(fā)送到隧道節(jié)點所屬子網內,實現(xiàn)不同子網間數(shù)據(jù)的傳輸。所述隧道節(jié)點20包括:隧道關口模塊2002、流控信息匹配模塊2004、封裝及解封模塊2006和節(jié)點轉發(fā)模塊2008。
[0046]隧道關口模塊2002,用于從所屬子網中接收網絡互連協(xié)議IP報文和所述IP報文的端口信息,并將解析出的IP報文下發(fā)到所屬子網中。其中,該端口信息包括傳輸層協(xié)議以及傳輸層端口的相關信息。
[0047]流控信息匹配模塊2004,用于依據(jù)所述IP報文的端口信息查找所述服務質量信息,匹配所述IP報文的流量控制信息。其中,所述流量控制信息包括以下至少一項:壓縮率、帶寬配額信息、優(yōu)先路由信息;
[0048]封裝及解封模塊2006,用于對所述IP報文進行封裝,生成在隧道網絡中傳輸?shù)乃淼缊笪?;以及對接收的隧道報文進行解析獲取對應的IP報文。
[0049]節(jié)點轉發(fā)模塊2008,用于依據(jù)所述流量控制信息對所述隧道報文進行配置,并依據(jù)路由信息表對所述隧道報文進行發(fā)送;以及接收其他隧道節(jié)點發(fā)送的隧道報文。
[0050]因此基于上述數(shù)據(jù)發(fā)送系統(tǒng),本實施例還提供了一種基于隧道節(jié)點的數(shù)據(jù)發(fā)送方法。
[0051]參照圖3,示出了本發(fā)明的一種數(shù)據(jù)發(fā)送方法的步驟流程圖,具體可以包括如下步驟:
[0052]步驟302,所述隧道節(jié)點從所屬子網中接收IP報文,并獲取所述IP報文的端口信肩、Ο
[0053]步驟304,依據(jù)所述IP報文的端口信息查找服務質量信息,獲取所述IP報文的流量控制信息。
[0054]其中,所述流量控制信息包括以下至少一項:壓縮率、帶寬配額信息、優(yōu)先路由信肩、Ο
[0055]步驟306,對所述IP報文進行封裝,生成在隧道網絡中傳輸?shù)乃淼缊笪摹?br>
[0056]步驟308,依據(jù)所述流量控制信息對所述隧道報文進行配置,并依據(jù)路由信息表對所述隧道報文進行發(fā)送。
[0057]當子網中存在IP報文要發(fā)送其他子網時,如IP報文要從位于北京的子網1發(fā)送到位于上海的子網2(如圖4所示),在子網1先將要發(fā)送的IP報文傳輸?shù)阶泳W1的隧道節(jié)點A上,并且發(fā)送該隧道節(jié)點的端口信息,端口信息包括:傳輸層協(xié)議,源端口、目的端口、源IP地址、目的IP地址等,其中“源”指的是IP報文所在的子網中網絡節(jié)點,“目的”指的是IP報文要發(fā)送到的子網的網絡節(jié)點。
[0058]然后隧道節(jié)點依據(jù)所述IP報文的端口信息查找服務質量信息,獲取與所述IP報文匹配的流量控制信息,用于在傳輸隧道報文時執(zhí)行相應的流控操作。然后該隧道節(jié)點A對IP報文進行封裝生成隧道報文。
[0059]本實施例中,隧道網絡可以采用傳輸控制協(xié)議(Transmiss1n ControlProtocol, TCP),或用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol, UDP)等協(xié)議,因此可以按照該使用的傳輸協(xié)議進行IP報文的封裝。其中,TCP是一種面向連接(連接導向)的、可靠的、基于IP的傳輸層協(xié)議,TCP在IP報文的協(xié)議號是6。UDP是開放式系統(tǒng)互聯(lián)(OpenSystem Interconnect1n, 0SI)參考模型中一種無連接的傳輸層協(xié)議,提供面向事務的簡單不可靠信息傳送服務,UDP在IP報文的協(xié)議號是17。
[0060]然后可以按照流量控制信息配置隧道報文的帶寬信息、發(fā)送的鏈路等,從而依據(jù)路由信息表確定該隨隧道報文在發(fā)送鏈路中的下一個隧道節(jié)點,將該隧道報文發(fā)送到下一個隧道節(jié)點中。
[0061]本實施例中,數(shù)據(jù)發(fā)送系統(tǒng)包括中央管理服務器和隧道節(jié)點,中央管理服務器用于對隧道網絡進行配置和管理,可以依據(jù)配置的拓撲信息在建立于不同地理位置的同一內部網絡的各子網上配置隧道節(jié)點建立所述隧道網絡,并配置該隧道網絡的路由信息表和服務質量信息,從而隧道節(jié)點在接收到子網傳輸?shù)腎P報文后,報文采用隧道網絡傳輸而非IP網絡,因此可以查找服務質量信息匹配流量控制信息,確定報文在隧道網絡中傳輸?shù)牧骺夭呗?,如占用帶寬、鏈路選擇、發(fā)送優(yōu)先級等,從而后續(xù)發(fā)送中減少鏈路中的延時等問題再將IP報文封裝成隧道報文,然后查找路由信息表按照流量控制信息的配置對隧道報文進行發(fā)送,通過確保數(shù)據(jù)準確、快速的發(fā)送的目的網絡地址中。
[0062]實施例二
[0063]在上述實施例的基礎上,本實施例進一步論述該數(shù)據(jù)發(fā)送系統(tǒng),以及基于該數(shù)據(jù)發(fā)送系統(tǒng)的數(shù)據(jù)發(fā)送方法。
[0064]本實施例中,數(shù)據(jù)發(fā)送系統(tǒng)包括:中央管理服務器10和隧道節(jié)點20。中央管理服務器10包括:建立模塊1002、路由配置模塊1004和服務質量配置模塊1006。所述隧道節(jié)點20包括:隧道關口模塊2002、流控信息匹配模塊2004、封裝及解封模塊2006和節(jié)點轉發(fā)模塊2008。
[0065]本發(fā)明實施例在現(xiàn)有網絡之上提供一個對用戶透明的隧道網,并使用隧道網代替?zhèn)鹘y(tǒng)網絡對IP報文進行轉發(fā)。因此可以在現(xiàn)有內部網絡的每個子網中增加一個或多個Linux服務器,例如將服務器配置為在現(xiàn)有內部網絡上通過UDP協(xié)議相互通信,這些通信鏈路的集合構成隧道網絡,因此可以將這些服務器作為隧道網絡的隧道節(jié)點,且隧道節(jié)點可以看作是隧道網絡的虛擬路由器。在現(xiàn)有網絡上直接建立隧道網絡,可以減少對現(xiàn)有網絡的改造開銷,減少對服務器配置修改的開銷等。
[0066]隧道網絡包括中央管理服務器,可以通過中央管理服務器對各個隧道網絡進行配置,至少包括如下配置:
[0067](1)拓撲配置。
[0068]即配置隧道網絡中隧道節(jié)點(即虛擬路由器)之間的拓撲信息。隧道網絡與傳統(tǒng)網絡(如IP網絡)不同,傳統(tǒng)網絡的路由器是通過路由協(xié)議進行相互通信的,比如開放式最短路徑優(yōu)先(Open Shortest Path First, 0SPF)協(xié)議,或路由信息協(xié)議(RoutingInformat1n Protocol,RIP)等,這些協(xié)議又都是基于廣播來實現(xiàn),即傳統(tǒng)網絡的網絡拓撲信息通過廣播傳送到其他路由器。
[0069]本實施例中隧道網絡構建在傳統(tǒng)IP網絡之上,隧道網絡的隧道節(jié)點通常位于不同的子網上,隧道節(jié)點之間只有單播鏈路,無法通過廣播自動獲取隧道網絡的拓撲信息。因此可以預先配置隧道網絡的拓撲信息,如手工配置或按照傳統(tǒng)網絡的子網拓撲等配置,并且每個隧道節(jié)點還可以配置一些下游鏈路的信息,下游鏈路是隧道節(jié)點轉發(fā)報文的目的隧道節(jié)點的集合,因此隧道網絡的拓撲信息可以呈現(xiàn)為一個有向圖。當然,對于某一隧道節(jié)點而言其要發(fā)送到的目的隧道節(jié)點是下游節(jié)點,而其接收其他隧道節(jié)點的報文時,其他隧道節(jié)點是它的上游節(jié)點,因此隧道網絡的鏈路可以是雙向通信的。
[0070](2)路由信息表配置。
[0071]路由信息表可以描述每個虛擬路由器(即隧道節(jié)點)負責的出口 IP范圍。隧道報文在隧道網絡中轉發(fā)時,必然要路由到一個出口節(jié)點(目的隧道節(jié)點),這個出口節(jié)點會將報文還原成原始的IP報文發(fā)送到其所在子網的傳統(tǒng)網絡上。每個虛擬路由器收到隧道報文后會檢查其目的IP,如果在出口 IP范圍里則執(zhí)行上述還原、轉發(fā)到子網的步驟。
[0072](3)服務質量配置。
[0073]服務質量配置信息可以看作是隧道網絡針對不同需求的數(shù)據(jù)報文的流量控制策略的集合,流量的需求是用{源IP,源IP掩碼,源端口,目標IP,目標IP掩碼,目標端口,傳輸層協(xié)議}等信息來描述的,策略即流量控制信息{帶寬配額,優(yōu)先路由,數(shù)據(jù)壓縮率}等信息來描述。上述流量控制信息會被虛擬路由器應用在隧道報文轉發(fā)的過程中。
[0074]中央管理服務器通過配置上述信息建立并管理隧道網絡??梢愿鶕?jù)配置的拓撲信息配置服務器,采用子網上的隧道節(jié)點建立隧道網絡,如基于UDP鏈路的隧道網絡,并配置在隧道網絡層面使用的路由信息表和服務質量信息等內容。
[0075]本實施例中,隧道網絡構成一個抽象的網絡,隧道網絡的虛擬路由器(即隧道節(jié)點)既是IP報文出入隧道網絡的關口,也是負責在隧道網絡內部進行報文路由的節(jié)點。因此,網絡中的服務器可以以自身子網內的虛擬路由器作為默認網關來透明的使用隧道網服務,即隧道節(jié)點時子網與隧道網絡連通的關口,也是隧道網絡的隧道節(jié)點間傳輸數(shù)據(jù)的節(jié)點,實現(xiàn)子網間數(shù)據(jù)的透明傳輸。因此隧道節(jié)點主要執(zhí)行以下操作步驟:
[0076](1)報文轉發(fā)
[0077]虛擬路由器在接收到傳統(tǒng)網絡(如子網)發(fā)來的IP報文后,會對IP報文進行一定處理(例如壓縮),然后在處理后的報文前增加隧道網報文頭等封裝操作將IP報文封裝成隧道報文,再將隧道網報文進行路由轉發(fā),其中路由轉發(fā)過程中會根據(jù)服務質量信息進行流控等處理操作。
[0078](2)隧道網絡的關口
[0079]虛擬路由器在報文進/出隧道網絡是可以對IP報文進行壓縮封裝等處理,以及對隧道報文進行解壓縮和解封等處理,例如在接收到隧道報文后,會根據(jù)路由信息表對隧道報文進行路由轉發(fā),即通過路由信息表確定將該隧道報文轉發(fā)到發(fā)送鏈路的下一跳虛擬路由器,還是將其還原成原始的IP報文并轉通過關口發(fā)到傳統(tǒng)網絡。
[0080]因此,隧道節(jié)點可以作為傳統(tǒng)網絡(子網)的IP報文出入隧道網絡的關口,即負責IP報文在傳統(tǒng)網絡與隧道網絡之間的出入。并且,對于根據(jù)拓撲配置在服務器之間建立的隧道網絡,可以在隧道網絡層面實現(xiàn)報文的路由轉發(fā)以及確保報文在轉發(fā)過程中的質量,使進入隧道網絡的IP報文能夠在隧道網內通過最優(yōu)路徑被路由到最優(yōu)的出口節(jié)點,并且能夠按照中央管理服務器中的服務質量信息進行轉發(fā)。
[0081]基于上述論述,本發(fā)明一個可選實施例中,節(jié)點轉發(fā)模塊2008,還用于對所述IP報文進行封裝之前,當所述流量控制信息包括壓縮率時,按照所述壓縮率對所述IP報文進行壓縮。即在確定子網上傳的IP報文需要轉發(fā)時可以先按照壓縮率對IP報文進行壓縮,然后對壓縮后的IP報文進行封裝,生成相應的隧道報文,如可以在IP報文上添加報文頭并配置相應的傳輸協(xié)議等信息封裝成基于該傳輸協(xié)議的隧道報文。
[0082]所述節(jié)點轉發(fā)模塊2008,用于依據(jù)所述優(yōu)先路由信息選擇所述隧道報文在所述隧道網絡中的發(fā)送鏈路;和/或,依據(jù)所述帶寬配額信息配置所述隧道報文在發(fā)送鏈路中發(fā)送時占用的帶寬信息,以及依據(jù)所述帶寬配額信息確定所述隧道報文是否需要限流,其中,在確定所述隧道報文需要限流時將所述隧道報文加入到等待隊列中,在確定所述隧道報文不需要限流時,對所述隧道報文進行發(fā)送。
[0083]在生成隧道報文之后,可以依據(jù)流量控制信息配置隧道報文,如按照優(yōu)先路由信息選擇隧道報文的發(fā)送鏈路,又如按照帶寬配額信息配置隧道報文占用的帶寬信息以及確定隧道報文是否需要限流等,實際處理中可以執(zhí)行上述任一種流控操作,或其任一組合的流控操作。
[0084]如某一隧道報文優(yōu)先級較高,可以按照優(yōu)先路由信息選擇高速鏈路發(fā)送。當然若某一隧道報文的優(yōu)先級較低,則可以選擇優(yōu)先級同樣較低的普通鏈路轉發(fā)。如果高優(yōu)先級報文和低優(yōu)先級報文試圖同時通過某一鏈路轉發(fā),則有限轉發(fā)高優(yōu)先級報文,而低優(yōu)先級報文則根據(jù)鏈路的閑忙程度選擇加入到等待隊列中,按照隊列順序發(fā)送。
[0085]所述節(jié)點轉發(fā)模塊,用于按照所述隧道報文的發(fā)送鏈路查找路由信息表,將所述隧道報文轉發(fā)給所述發(fā)送鏈路中所述隧道節(jié)點的下一跳隧道結點。
[0086]所述節(jié)點轉發(fā)模塊,用于接收其他隧道節(jié)點發(fā)送的隧道報文,并檢測所述隧道節(jié)點是否為所述隧道報文的目的隧道節(jié)點;當所述隧道節(jié)點不是所述隧道報文的目的隧道節(jié)點時,查找路由信息表將所述隧道報文轉發(fā)給所述發(fā)送鏈路中所述隧道節(jié)點的下一跳隧道結點;當所述隧道節(jié)點不是所述隧道報文的目的隧道節(jié)點時,觸發(fā)所述封裝及解封模塊以對所述隧道節(jié)點進行解析。
[0087]在上述實施例的基礎上,采用具體的例子論述基于該數(shù)據(jù)發(fā)送系統(tǒng)的數(shù)據(jù)發(fā)送方法。
[0088]參照圖5,示出了本發(fā)明的一種數(shù)據(jù)發(fā)送方法的可選步驟流程圖,具體可以包括如下步驟:
[0089]步驟502,所述隧道節(jié)點從所屬子網中接收IP報文,并獲取所述IP報文的端口信肩、Ο
[0090]步驟504,依據(jù)所述IP報文的端口信息查找服務質量信息,獲取所述IP報文的流量控制信息。其中,所述流量控制信息包括以下至少一項:壓縮率、帶寬配額信息、優(yōu)先路由信息。
[0091]步驟506,依據(jù)所述流量控制信息確定是否需要對所述IP報文進行壓縮。
[0092]當所述流量控制信息中包括壓縮率時,執(zhí)行步驟508 ;否則,執(zhí)行步驟510。
[0093]步驟508,按照所述壓縮率對所述IP報文進行壓縮。
[0094]步驟510,對IP報文進行封裝,生成在隧道網絡中傳輸?shù)乃淼缊笪摹?br>
[0095]步驟512,依據(jù)所述流量控制信息對所述隧道報文進行配置。
[0096]其中:依據(jù)所述優(yōu)先路由信息選擇所述隧道報文在所述隧道網絡中的發(fā)送鏈路;和/或,依據(jù)所述帶寬配額信息配置所述隧道報文在發(fā)送鏈路中發(fā)送時占用的帶寬信息,以及依據(jù)所述帶寬配額信息確定所述隧道報文是否需要限流,其中,在確定所述隧道報文需要限流時將所述隧道報文加入到等待隊列中,在確定所述隧道報文不需要限流時,對所述隧道報文進行發(fā)送。
[0097]步驟514,按照所述隧道報文的發(fā)送鏈路查找路由信息表,將所述隧道報文轉發(fā)給所述發(fā)送鏈路中所述隧道節(jié)點的下一跳隧道結點。
[0098]從而通過上述操作步驟可以將子網中的IP報文轉發(fā)到隧道網絡中,當然若某一隧道節(jié)點接收到接收其他隧道節(jié)點發(fā)送的隧道報文,可以按照路由信息表對該隧道報文進行檢測,確定自身是否為該隧道報文的目的隧道節(jié)點。若不是所述隧道報文的目的隧道節(jié)點,則查找路由信息表將所述隧道報文轉發(fā)給所述發(fā)送鏈路中所述隧道節(jié)點的下一跳隧道結點;若是所述隧道報文的目的隧道節(jié)點時,則對所述隧道節(jié)點進行解析獲取對應的IP報文,并將解析出的IP報文下發(fā)到所述隧道節(jié)點所屬的子網中。
[0099]參照圖6,示出了本發(fā)明實施例二提供的隧道網絡示意圖。
[0100]在圖6中主要示出了 3個隧道節(jié)點,實際上該隧道網絡中還存在其他未示出的隧道節(jié)點,即每個隧道節(jié)點可以至少兩個其他隧道節(jié)點相連。其中,隧道節(jié)點A負責192.168.0.0/24的轉出;隧道節(jié)點B負責192.168.1.0/24的轉出,隧道節(jié)點C負責192.168.2.0/24 的轉出。
[0101]若隧道網客戶A要給隧道網客戶B發(fā)送一個192.168.0.10 = >192.168.1.10的報文PACKET_A。隧道節(jié)點A收到報文PACKET_A后,采用報文PACKET_A的端口信息匹配服務質量信息確定流量控制信息,依據(jù)該流量控制信息確定是否需要對報文PACKET_A執(zhí)行壓縮等流控處理操作,然后在對報文PACKET_A進行封裝生成隧道報文TPACKET_A。
[0102]此后,隧道節(jié)點A再次檢測流量控制信息,確定該隧道報文TPACKET_A進行其他限流操作,如確定隧道報文TPACKET_A的發(fā)送鏈路、占用帶寬等,如需要限流還可以將隧道報文TPACKET_A放入等待隊列中等待,如不需要限流則可以直接根據(jù)路由表轉發(fā)到下一跳隧道節(jié)點,如圖4中的隧道節(jié)點B。
[0103]隧道節(jié)點B在接收到隧道節(jié)點A發(fā)送的隧道報文TPACKET_A后,可以檢測目的IP地址是否在自身的出口 IP范圍內,若在自身的出口 IP范圍內,則將隧道報文TPACKET_A還原為IP報文PACKET_A,然后從關口轉發(fā)到子網中。
[0104]當然,若某一隧道報文不在自身的出口 IP范圍內,則根據(jù)路由信息表將隧道報文轉發(fā)給下一跳隧道節(jié)點。
[0105]在現(xiàn)有網絡之上提供一個對用戶透明的隧道網,并使用隧道網代替?zhèn)鹘y(tǒng)網絡對IP報文進行轉發(fā),可以減少對現(xiàn)有網絡的改造開銷,減少對服務器配置修改的開銷等。
[0106]需要說明的是,對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明實施例并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明實施例,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作并不一定是本發(fā)明實施例所必須的。
[0107]本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
[0108]本領域內的技術人員應明白,本發(fā)明實施例的實施例可提供為方法、裝置、或計算機程序產品。因此,本發(fā)明實施例可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發(fā)明實施例可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。
[0109]本發(fā)明實施例是參照根據(jù)本發(fā)明實施例的方法、終端設備(系統(tǒng))、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理終端設備的處理器以產生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理終端設備的處理器執(zhí)行的指令產生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0110]這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理終端設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0111]這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理終端設備上,使得在計算機或其他可編程終端設備上執(zhí)行一系列操作步驟以產生計算機實現(xiàn)的處理,從而在計算機或其他可編程終端設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0112]盡管已描述了本發(fā)明實施例的優(yōu)選實施例,但本領域內的技術人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明實施例范圍的所有變更和修改。
[0113]最后,還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設備中還存在另外的相同要素。
[0114]以上對本發(fā)明所提供的一種數(shù)據(jù)發(fā)送系統(tǒng)和一種數(shù)據(jù)發(fā)送方法,進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據(jù)本發(fā)明的思想,在【具體實施方式】及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。
【權利要求】
1.一種數(shù)據(jù)發(fā)送系統(tǒng),其特征在于,包括:中央管理服務器和隧道節(jié)點,其中: 所述中央管理服務器,包括: 建立模塊,用于配置隧道網絡的拓撲信息,并依據(jù)所述拓撲信息在建立于不同地理位置的同一內部網絡的各子網上配置隧道節(jié)點,建立所述隧道網絡; 路由配置模塊,用于配置所述隧道網絡的路由信息表; 服務質量配置模塊,用于配置所述隧道網絡中各隧道節(jié)點的服務質量信息; 所述隧道節(jié)點,包括: 隧道關口模塊,用于從所屬子網中接收網絡互連協(xié)議IP報文和所述IP報文的端口信息,并將解析出的IP報文下發(fā)到所屬子網中; 流控信息匹配模塊,用于依據(jù)所述IP報文的端口信息查找所述服務質量信息,匹配所述IP報文的流量控制信息,其中,所述流量控制信息包括以下至少一項:壓縮率、帶寬配額信息、優(yōu)先路由信息; 封裝及解封模塊,用于對所述IP報文進行封裝,生成在隧道網絡中傳輸?shù)乃淼缊笪?;以及對接收的隧道報文進行解析獲取對應的IP報文; 節(jié)點轉發(fā)模塊,用于依據(jù)所述流量控制信息對所述隧道報文進行配置,并依據(jù)路由信息表對所述隧道報文進行發(fā)送;以及接收其他隧道節(jié)點發(fā)送的隧道報文。
2.根據(jù)權利要求1所述的系統(tǒng),其特征在于: 所述節(jié)點轉發(fā)模塊,還用于對所述IP報文進行封裝之前,當所述流量控制信息包括壓縮率時,按照所述壓縮率對所述IP報文進行壓縮。
3.根據(jù)權利要求1所述的系統(tǒng),其特征在于: 所述節(jié)點轉發(fā)模塊,用于依據(jù)所述優(yōu)先路由信息選擇所述隧道報文在所述隧道網絡中的發(fā)送鏈路;和/或,依據(jù)所述帶寬配額信息配置所述隧道報文在發(fā)送鏈路中發(fā)送時占用的帶寬信息,以及依據(jù)所述帶寬配額信息確定所述隧道報文是否需要限流,其中,在確定所述隧道報文需要限流時將所述隧道報文加入到等待隊列中,在確定所述隧道報文不需要限流時,對所述隧道報文進行發(fā)送。
4.根據(jù)權利要求1或3所述的系統(tǒng),其特征在于: 所述節(jié)點轉發(fā)模塊,用于按照所述隧道報文的發(fā)送鏈路查找路由信息表,將所述隧道報文轉發(fā)給所述發(fā)送鏈路中所述隧道節(jié)點的下一跳隧道結點。
5.根據(jù)權利要求1所述的系統(tǒng),其特征在于, 所述節(jié)點轉發(fā)模塊,用于接收其他隧道節(jié)點發(fā)送的隧道報文,并檢測所述隧道節(jié)點是否為所述隧道報文的目的隧道節(jié)點;當所述隧道節(jié)點不是所述隧道報文的目的隧道節(jié)點時,查找路由信息表將所述隧道報文轉發(fā)給所述發(fā)送鏈路中所述隧道節(jié)點的下一跳隧道結點;當所述隧道節(jié)點是所述隧道報文的目的隧道節(jié)點時,觸發(fā)所述封裝及解封模塊以對所述隧道節(jié)點進行解析。
6.一種數(shù)據(jù)發(fā)送方法,其特征在于,應用于基于中央管理服務器配置的隧道網絡的拓撲信息,在建立于不同地理位置的同一內部網絡的各子網上配置隧道節(jié)點所建立的所述隧道網絡中,所述的方法包括: 所述隧道節(jié)點從所屬子網中接收IP報文,并獲取所述IP報文的端口信息; 依據(jù)所述IP報文的端口信息查找服務質量信息,獲取所述IP報文的流量控制信息,其中,所述流量控制信息包括以下至少一項:壓縮率、帶寬配額信息、優(yōu)先路由信息; 對所述IP報文進行封裝,生成在隧道網絡中傳輸?shù)乃淼缊笪模? 依據(jù)所述流量控制信息對所述隧道報文進行配置,并依據(jù)路由信息表對所述隧道報文進行發(fā)送。
7.根據(jù)權利要求6所述的方法,其特征在于,對所述IP報文進行封裝之前,還包括: 當所述流量控制信息包括壓縮率時,按照所述壓縮率對所述IP報文進行壓縮。
8.根據(jù)權利要求6所述的方法,其特征在于,依據(jù)所述流量控制信息對所述隧道報文進行配置,包括: 依據(jù)所述優(yōu)先路由信息選擇所述隧道報文在所述隧道網絡中的發(fā)送鏈路;和/或 依據(jù)所述帶寬配額信息配置所述隧道報文在發(fā)送鏈路中發(fā)送時占用的帶寬信息,以及依據(jù)所述帶寬配額信息確定所述隧道文是否需要限流,其中,在確定所述隧道報文需要限流時將所述隧道報文加入到等待隊列中,在確定所述隧道報文不需要限流時,對所述隧道報文進行發(fā)送。
9.根據(jù)權利要求6或8所述的方法,其特征在于,所述依據(jù)路由信息表對所述隧道報文進行發(fā)送,包括: 按照所述隧道報文的發(fā)送鏈路查找路由信息表,將所述隧道報文轉發(fā)給所述發(fā)送鏈路中所述隧道節(jié)點的下一跳隧道結點。
10.根據(jù)權利要求6所述的方法,其特征在于,還包括: 接收其他隧道節(jié)點發(fā)送的隧道報文,并檢測所述隧道節(jié)點是否為所述隧道報文的目的隧道節(jié)點; 當所述隧道節(jié)點不是所述隧道報文的目的隧道節(jié)點時,查找路由信息表將所述隧道報文轉發(fā)給所述發(fā)送鏈路中所述隧道節(jié)點的下一跳隧道結點; 當所述隧道節(jié)點是所述隧道報文的目的隧道節(jié)點時,對所述隧道節(jié)點進行解析獲取對應的IP報文,并將解析出的IP報文下發(fā)到所述隧道節(jié)點所屬的子網中。
【文檔編號】H04L12/851GK104301252SQ201410504528
【公開日】2015年1月21日 申請日期:2014年9月26日 優(yōu)先權日:2014年9月26日
【發(fā)明者】董嵬, 周逸勛, 劉俊暉 申請人:北京奇藝世紀科技有限公司