日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

具有單獨(dú)控制設(shè)備和轉(zhuǎn)發(fā)設(shè)備的網(wǎng)絡(luò)中的控制設(shè)備發(fā)現(xiàn)的制作方法

文檔序號(hào):10694475閱讀:463來源:國(guó)知局
具有單獨(dú)控制設(shè)備和轉(zhuǎn)發(fā)設(shè)備的網(wǎng)絡(luò)中的控制設(shè)備發(fā)現(xiàn)的制作方法
【專利摘要】軟件定義網(wǎng)絡(luò)(SDN)包括多個(gè)轉(zhuǎn)發(fā)設(shè)備以及與轉(zhuǎn)發(fā)設(shè)備分開布置的路由控制設(shè)備。路由控制設(shè)備建立到網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備的路徑以及從網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備起始的路徑。使用這些路徑,轉(zhuǎn)發(fā)設(shè)備向路由控制設(shè)備發(fā)送反映網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的信息。本文中所公開的實(shí)施例實(shí)現(xiàn)了自動(dòng)發(fā)現(xiàn)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)以及到路由控制設(shè)備的路徑和從路由控制設(shè)備起始的路徑。
【專利說明】
具有單獨(dú)控制設(shè)備和轉(zhuǎn)發(fā)設(shè)備的網(wǎng)絡(luò)中的控制設(shè)備發(fā)現(xiàn)
技術(shù)領(lǐng)域
[0001]本領(lǐng)域總體上涉及網(wǎng)絡(luò)路由。
【背景技術(shù)】
[0002]通信網(wǎng)絡(luò)可以例如提供允許在兩個(gè)地理上的遠(yuǎn)程位置之間傳送數(shù)據(jù)的網(wǎng)絡(luò)連接。網(wǎng)絡(luò)連接可以跨越連接諸如路由器的通信設(shè)備的多個(gè)鏈路。網(wǎng)絡(luò)可以根據(jù)鏈路通過通信設(shè)備如何互連而具有不同拓?fù)浣Y(jié)構(gòu)。在給定特定網(wǎng)絡(luò)拓?fù)涞那闆r下,在源和目的地之間可以存在多條路線。根據(jù)當(dāng)前容量和使用情況,一些路線可能比其他路線更可取。
[0003]傳統(tǒng)的路由算法依賴于每個(gè)路由器從與其鄰近的鏈路和設(shè)備獲得的本地信息來路由數(shù)據(jù)。路由器將這種信息保持在路由表中。并且基于傳入分組的目的地址,路由器使用其路由表將分組轉(zhuǎn)發(fā)至特定鄰近設(shè)備。為了開發(fā)路由表,每個(gè)路由器使用如邊界網(wǎng)關(guān)協(xié)議(BGP)的協(xié)議與本地鄰近路由器交換路由和可達(dá)性信息。以這種方式,每個(gè)路由器既轉(zhuǎn)發(fā)分組,也進(jìn)行控制功能以更新其自身的路由表。
[0004]雖然使用本地信息在一些情況下是所希望的,但是其可能不總是高效地路由數(shù)據(jù)。為了更高效地路由數(shù)據(jù),被稱為軟件定義網(wǎng)絡(luò)(SDN)的另一種技術(shù)將控制功能和轉(zhuǎn)發(fā)功能分為單獨(dú)的設(shè)備??刂圃O(shè)備使用網(wǎng)絡(luò)拓?fù)涞娜种R(shí),以針對(duì)各個(gè)數(shù)據(jù)流確定通過轉(zhuǎn)發(fā)設(shè)備的網(wǎng)絡(luò)的路徑。以這種方式,路由控制設(shè)備可以例如通過網(wǎng)絡(luò)建立使延遲最小化或使帶寬最大化的路徑。

【發(fā)明內(nèi)容】

[0005]在實(shí)施例中,一種計(jì)算機(jī)實(shí)現(xiàn)的方法發(fā)現(xiàn)從網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備至路由控制設(shè)備的路線。該發(fā)現(xiàn)方法包括:在轉(zhuǎn)發(fā)設(shè)備的端口上接收控制分組。然后,所述方法至少部分地基于接收到控制分組的端口,識(shí)別轉(zhuǎn)發(fā)設(shè)備上的哪個(gè)端口將數(shù)據(jù)轉(zhuǎn)發(fā)到達(dá)路由控制設(shè)備。響應(yīng)于在轉(zhuǎn)發(fā)設(shè)備接收到新數(shù)據(jù)流,所述方法在所識(shí)別的端口上將命令發(fā)送到路由控制設(shè)備。所述命令指示路由控制設(shè)備確定通過轉(zhuǎn)發(fā)設(shè)備到目的地的路徑并配置轉(zhuǎn)發(fā)設(shè)備以沿所確定的路徑轉(zhuǎn)發(fā)所述新數(shù)據(jù)流。然后,所述方法根據(jù)路由控制設(shè)備的配置命令,轉(zhuǎn)發(fā)所述新數(shù)據(jù)流。
[0006]還公開了系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品實(shí)施例。
[0007]以下參照附圖詳細(xì)地描述本發(fā)明的其他實(shí)施例、特征和優(yōu)點(diǎn)以及各種實(shí)施例的結(jié)構(gòu)和操作。
【附圖說明】
[0008]并入本文中且形成說明書的一部分的附圖示出了本公開,并且與描述一起進(jìn)一步用于解釋本公開的原理且使相關(guān)領(lǐng)域技術(shù)人員能夠制造和使用本公開。
[0009]圖1A是示出了路由控制設(shè)備將控制分組發(fā)送到轉(zhuǎn)發(fā)設(shè)備的示圖。
[0010]圖1B是示出了轉(zhuǎn)發(fā)設(shè)備在整個(gè)網(wǎng)絡(luò)中分發(fā)(flood)控制分組的示圖。[0011 ]圖1C是示出了控制設(shè)備如何收集反映網(wǎng)絡(luò)拓?fù)涞男畔⒌氖緢D。
[0012]圖2是示出了用于找到從控制設(shè)備至轉(zhuǎn)發(fā)設(shè)備的路徑的方法的流程圖。
[0013]圖3是示出了用于建立從每個(gè)轉(zhuǎn)發(fā)設(shè)備至控制設(shè)備的路徑的方法的流程圖。
[0014]圖4A是示出了使用從轉(zhuǎn)發(fā)設(shè)備至控制設(shè)備的路徑的網(wǎng)絡(luò)連接的示圖。
[00?5]圖4B是示出了路由控制設(shè)備建立快速路徑的示圖。
[0016]圖5是示出了具有多個(gè)控制設(shè)備的網(wǎng)絡(luò)的示圖。
[0017]圖6是示出了控制設(shè)備和轉(zhuǎn)發(fā)設(shè)備的模塊的示圖。
[0018]要素首次出現(xiàn)的附圖通常由相應(yīng)附圖標(biāo)記中的最左邊的一個(gè)或多個(gè)數(shù)字來指示。在附圖中,相似的附圖標(biāo)記可以指示相同或功能相似的要素。
【具體實(shí)施方式】
[0019]如上所述,SDN路由技術(shù)使用網(wǎng)絡(luò)拓?fù)涞娜种R(shí)以高效地路由分組。這些技術(shù)使用彼此分離的路由控制設(shè)備和轉(zhuǎn)發(fā)設(shè)備。當(dāng)轉(zhuǎn)發(fā)設(shè)備通過網(wǎng)絡(luò)接收到新的數(shù)據(jù)流時(shí),轉(zhuǎn)發(fā)設(shè)備聯(lián)系路由控制設(shè)備以確定用于該數(shù)據(jù)流的新路徑。路由控制設(shè)備確定通過網(wǎng)絡(luò)的轉(zhuǎn)發(fā)設(shè)備的新路徑,并相應(yīng)地配置轉(zhuǎn)發(fā)設(shè)備。
[0020]為了運(yùn)行,路由控制設(shè)備和轉(zhuǎn)發(fā)設(shè)備需要配置有網(wǎng)絡(luò)信息。具體地,為了請(qǐng)求通過互連的轉(zhuǎn)發(fā)設(shè)備創(chuàng)建新路徑,轉(zhuǎn)發(fā)設(shè)備需要知曉如何將數(shù)據(jù)路由到路由控制設(shè)備。并且,路由控制設(shè)備需要知曉網(wǎng)絡(luò)拓?fù)湟源_定通過網(wǎng)絡(luò)的路徑。手動(dòng)地配置這種信息會(huì)是耗時(shí)且容易出錯(cuò)的。
[0021]這里公開的實(shí)施例使得拓?fù)湫畔⒛軌虮蛔詣?dòng)地發(fā)現(xiàn)。在實(shí)施例中,路由控制設(shè)備連接到轉(zhuǎn)發(fā)設(shè)備并將控制分組發(fā)送到轉(zhuǎn)發(fā)設(shè)備??刂品纸M在地址字段中包含控制設(shè)備的地址,作為其源地址。控制設(shè)備還將序列號(hào)附著到每個(gè)控制分組。
[0022]轉(zhuǎn)發(fā)設(shè)備附著性能信息,所述性能信息例如指示網(wǎng)絡(luò)需要多長(zhǎng)時(shí)間將信息從轉(zhuǎn)發(fā)設(shè)備發(fā)送到路由控制設(shè)備。然后,轉(zhuǎn)發(fā)設(shè)備在該轉(zhuǎn)發(fā)設(shè)備的連接到其他轉(zhuǎn)發(fā)設(shè)備的其他端口上廣播或分發(fā)(flood)控制分組。并且,如果其他轉(zhuǎn)發(fā)設(shè)備之前沒有轉(zhuǎn)播具有更好性能信息的分組,則這些轉(zhuǎn)發(fā)設(shè)備更新性能信息并轉(zhuǎn)播該分組。
[0023]當(dāng)轉(zhuǎn)發(fā)設(shè)備接收到控制分組時(shí),它們記得在哪個(gè)端口控制分組接收到具有最佳性能信息的分組。轉(zhuǎn)發(fā)設(shè)備知曉的該端口在至路由控制設(shè)備的最快路線上。并且,每個(gè)轉(zhuǎn)發(fā)設(shè)備可以請(qǐng)求在至路由控制設(shè)備的該路線上建立標(biāo)簽交換路徑。
[0024]利用所建立的路徑,轉(zhuǎn)發(fā)設(shè)備將關(guān)于其鄰近網(wǎng)絡(luò)拓?fù)浜途W(wǎng)絡(luò)條件的信息發(fā)送到控制設(shè)備。使用來自所有轉(zhuǎn)發(fā)設(shè)備的這種信息,控制設(shè)備可以創(chuàng)建全局網(wǎng)絡(luò)拓?fù)浜途W(wǎng)絡(luò)條件的數(shù)據(jù)庫(kù)。該拓?fù)鋽?shù)據(jù)庫(kù)使得控制設(shè)備能夠在網(wǎng)絡(luò)中建立源轉(zhuǎn)發(fā)設(shè)備和目的轉(zhuǎn)發(fā)設(shè)備之間的路徑。
[0025]一旦向控制器建立了該路徑,則控制器可以在之后的任何時(shí)間,使用可以利用更完整的拓?fù)浜托阅苄畔⒌牧硪环N方法來確定用于轉(zhuǎn)發(fā)設(shè)備和控制器之間的通信的更好路徑。如果確定了該更好路徑,則可以通過控制器重新用信號(hào)通知特定的新路徑并且隨后消除現(xiàn)有路徑,來替換現(xiàn)有路徑。
[0026]以下【具體實(shí)施方式】分為五個(gè)部分。第一部分參照?qǐng)D1A至圖1C描述了網(wǎng)絡(luò)中的控制設(shè)備將控制分組發(fā)送到每個(gè)轉(zhuǎn)發(fā)設(shè)備,并從轉(zhuǎn)發(fā)設(shè)備收集拓?fù)浜途W(wǎng)絡(luò)條件信息。第二部分參照?qǐng)D2至圖3描述了在控制設(shè)備和每個(gè)轉(zhuǎn)發(fā)設(shè)備之間建立雙向連接。第三部分參照?qǐng)D4A至圖4B描述了使用控制設(shè)備建立并傳送數(shù)據(jù)而不需要邊緣路由器緩沖大量分組。第四部分參照?qǐng)D5描述了使用網(wǎng)絡(luò)中的多個(gè)控制設(shè)備。最后的第五部分參照?qǐng)D6描述了控制設(shè)備系統(tǒng)及其模塊以及轉(zhuǎn)發(fā)設(shè)備系統(tǒng)及其模塊。
[0027]控制設(shè)備和控制分組
[0028]圖1A是示出了通信網(wǎng)絡(luò)的示圖100。通信網(wǎng)絡(luò)可以是局域網(wǎng)(LAN)、城域網(wǎng)(MAN)或廣域網(wǎng)(WAN)。其可以利用任意點(diǎn)到點(diǎn)或多點(diǎn)到多點(diǎn)的網(wǎng)絡(luò)協(xié)議。所使用的網(wǎng)絡(luò)接入?yún)f(xié)議可以包括例如:多協(xié)議標(biāo)簽交換(MPLS)、以太網(wǎng)、異步傳輸模式(ATM)、高級(jí)數(shù)據(jù)鏈路控制(HDLC)或分組中繼。
[0029]通信網(wǎng)絡(luò)包括通過鏈路互連的多個(gè)轉(zhuǎn)發(fā)設(shè)備,例如轉(zhuǎn)發(fā)設(shè)備104、106、108、110和112。轉(zhuǎn)發(fā)設(shè)備是轉(zhuǎn)發(fā)分組的設(shè)備,包括位于數(shù)據(jù)鏈路層(0SI層2)和網(wǎng)絡(luò)層(0SI層3)的設(shè)備。
[0030]通信網(wǎng)絡(luò)還包括路由控制設(shè)備102。路由控制設(shè)備102可以連接到至少一個(gè)轉(zhuǎn)發(fā)設(shè)備,例如轉(zhuǎn)發(fā)設(shè)備104。路由控制設(shè)備102可以在地理上遠(yuǎn)離網(wǎng)絡(luò)中的其他轉(zhuǎn)發(fā)設(shè)備。
[0031]在示例中,用戶可以將數(shù)據(jù)從源轉(zhuǎn)發(fā)設(shè)備(例如轉(zhuǎn)發(fā)設(shè)備106)發(fā)送到目的轉(zhuǎn)發(fā)設(shè)備(例如110)。數(shù)據(jù)可以是被劃分成多個(gè)分組的數(shù)據(jù)流,并且每個(gè)分組可以指定轉(zhuǎn)發(fā)設(shè)備110或另一下游設(shè)備作為其目的地。
[0032]路由控制設(shè)備102提供用于建立網(wǎng)絡(luò)連接的智能路由。為此,控制設(shè)備102需要網(wǎng)絡(luò)鏈路和設(shè)備的拓?fù)浣Y(jié)構(gòu)和條件的知識(shí)。路由控制設(shè)備102直接連接轉(zhuǎn)發(fā)設(shè)備104。為了控制設(shè)備獲得網(wǎng)絡(luò)的知識(shí),控制設(shè)備102將控制分組120發(fā)送到轉(zhuǎn)發(fā)設(shè)備104。
[0033 ] 控制分組120可以包括表明該分組是控制分組的指示、路由控制設(shè)備102的標(biāo)識(shí)符(例如其媒體訪問控制地址)和該分組的序列號(hào)。在實(shí)施例中,控制設(shè)備102可以按照均勻時(shí)間間隔發(fā)送新的控制分組。每次控制設(shè)備102發(fā)送新分組時(shí),控制設(shè)備102可以使序列號(hào)遞增,從而發(fā)送具有不同編號(hào)的新的控制分組。
[0034]在說明性示例中,控制分組120可以包括以下信息:
[0035]類型標(biāo)記:C(用于控制分組)
[0036]控制設(shè)備的MAC 地址:01:23:45:67:89: ab
[0037]控制分組的序列號(hào):I
[0038]一旦路由控制設(shè)備102將控制分組120發(fā)送到相鄰轉(zhuǎn)發(fā)設(shè)備104,則網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備如圖1B所示在整個(gè)網(wǎng)絡(luò)中分發(fā)該分組。
[0039]圖1B是示出了網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備在整個(gè)網(wǎng)絡(luò)中分發(fā)控制分組的示圖。在接收到控制分組120之后,轉(zhuǎn)發(fā)設(shè)備104可以在除了接收到控制分組的端口之外的所有端口上送出該控制分組。
[0040]如上所述,當(dāng)路由控制設(shè)備102產(chǎn)生控制分組120時(shí),控制設(shè)備可以將其地址和序列號(hào)包括在控制分組中。在轉(zhuǎn)發(fā)設(shè)備104接收到控制分組時(shí),并且在轉(zhuǎn)發(fā)控制分組之前,轉(zhuǎn)發(fā)設(shè)備104可以進(jìn)行兩次修改。首先,轉(zhuǎn)發(fā)設(shè)備104可以將其自身的標(biāo)識(shí)符(例如其MAC地址)添加到控制分組。該地址被添加到控制分組中的地址字段,以跟蹤控制分組所經(jīng)過的所有轉(zhuǎn)發(fā)設(shè)備。其次,轉(zhuǎn)發(fā)設(shè)備104可以修改控制分組中的性能度量。性能度量可以包括例如:將控制分組從控制設(shè)備102發(fā)送到轉(zhuǎn)發(fā)設(shè)備104的延遲??梢岳缬赊D(zhuǎn)發(fā)設(shè)備104使用鏈路層發(fā)現(xiàn)協(xié)議(LLDP)分組交換來收集該延遲信息。該延遲可以被確定為移動(dòng)平均或以其他方式被平滑化,以防止由于網(wǎng)絡(luò)對(duì)通信量的變化作出反應(yīng)而導(dǎo)致的不穩(wěn)定變化。
[0041]利用這兩次修改,轉(zhuǎn)發(fā)設(shè)備104將該控制分組作為控制分組142、144和146在它的其他端口上進(jìn)行轉(zhuǎn)發(fā)。此時(shí),全部三個(gè)控制分組142、144和146可以包含相同信息。繼續(xù)上述示例并假設(shè)轉(zhuǎn)發(fā)設(shè)備104的MAC地址是02:02:02:02:02: be,并且控制設(shè)備102和轉(zhuǎn)發(fā)設(shè)備104之間的延遲是5納秒(ns),則控制分組142、144和146可以包括以下信息:
[0042]類型標(biāo)記:C(用于控制分組)
[0043]控制設(shè)備的MAC 地址:01:23:45:67:89: ab
[0044]控制分組的序列號(hào):I
[0045]中間轉(zhuǎn)發(fā)設(shè)備的地址:02:02:02:02:02: be
[0046]性能度量:5ns
[0047]轉(zhuǎn)發(fā)設(shè)備104在鏈路114上將控制分組144轉(zhuǎn)發(fā)到轉(zhuǎn)發(fā)設(shè)備106;在鏈路116上將控制分組142轉(zhuǎn)發(fā)到轉(zhuǎn)發(fā)設(shè)備108;以及在鏈路118上將控制分組146轉(zhuǎn)發(fā)到轉(zhuǎn)發(fā)設(shè)備110。
[0048]一旦轉(zhuǎn)發(fā)設(shè)備106接收到控制分組144,則轉(zhuǎn)發(fā)設(shè)備106將其自身的地址添加到地址字段并更新控制分組的性能度量以產(chǎn)生控制分組148。例如,轉(zhuǎn)發(fā)設(shè)備106可以添加將數(shù)據(jù)從轉(zhuǎn)發(fā)設(shè)備106發(fā)送到轉(zhuǎn)發(fā)設(shè)備104的延遲。繼續(xù)上述示例并假設(shè)轉(zhuǎn)發(fā)設(shè)備106的MAC地址是03:03:03:03:03: cd,并且控制器102和轉(zhuǎn)發(fā)設(shè)備104之間的延遲是2ns,則控制分組148可以包括以下信息:
[0049]類型標(biāo)記:C(用于控制分組)
[0050]控制設(shè)備的MAC 地址:01:23:45:67:89: ab[0051 ] 控制分組的序列號(hào):I
[0052]中間轉(zhuǎn)發(fā)設(shè)備的地址:02:02:02:02:02:be,03:03:03:03:03: cd
[0053]性能度量:7ns
[0054]轉(zhuǎn)發(fā)設(shè)備106在鏈路122上將分組148發(fā)送到轉(zhuǎn)發(fā)設(shè)備108。
[0055]轉(zhuǎn)發(fā)設(shè)備108接收控制分組142和144。使用這兩個(gè)控制分組中的每一個(gè)中的延遲信息,轉(zhuǎn)發(fā)設(shè)備108可以選擇建立至控制設(shè)備102的具有較小延遲的路徑。使用控制分組中的地址序列字段,轉(zhuǎn)發(fā)設(shè)備108可以知曉為了到達(dá)控制設(shè)備,其需要與哪個(gè)鄰近轉(zhuǎn)發(fā)設(shè)備進(jìn)行通信。
[0056]例如,轉(zhuǎn)發(fā)設(shè)備108可以知曉在鏈路120上將數(shù)據(jù)發(fā)送到轉(zhuǎn)發(fā)設(shè)備106的時(shí)間是3ns,以及在鏈路116上將數(shù)據(jù)發(fā)送到轉(zhuǎn)發(fā)設(shè)備104的時(shí)間是9ns。將上述度量添加到在分組148和142中接收到的性能度量,轉(zhuǎn)發(fā)設(shè)備108可以確定經(jīng)由轉(zhuǎn)發(fā)設(shè)備106發(fā)送到控制設(shè)備102需要10ns,而經(jīng)由轉(zhuǎn)發(fā)設(shè)備104的發(fā)送需要14ns。由于該原因,轉(zhuǎn)發(fā)設(shè)備108可以選擇經(jīng)由轉(zhuǎn)發(fā)設(shè)備106(而不經(jīng)由設(shè)備104)將數(shù)據(jù)路由到控制設(shè)備102,從而采用更快的路徑。
[0057]此外,轉(zhuǎn)發(fā)設(shè)備108可以再轉(zhuǎn)發(fā)控制分組142和148。如果轉(zhuǎn)發(fā)設(shè)備108在接收到表示較慢路徑的分組(在這種情況下是分組142)之前接收到表示較快路徑的分組(在這種情況下是分組148),則轉(zhuǎn)發(fā)設(shè)備108可以不轉(zhuǎn)發(fā)較慢的分組。這是因?yàn)檗D(zhuǎn)發(fā)設(shè)備108知道前往控制設(shè)備102的任何數(shù)據(jù)應(yīng)當(dāng)采用通過轉(zhuǎn)發(fā)設(shè)備106的更快路徑,而不管其源自于轉(zhuǎn)發(fā)設(shè)備108還是另一轉(zhuǎn)發(fā)設(shè)備(例如設(shè)備112)。
[0058]在確定了至控制設(shè)備102的最佳路徑是通過轉(zhuǎn)發(fā)設(shè)備106的路徑之后,轉(zhuǎn)發(fā)設(shè)備108可以與轉(zhuǎn)發(fā)設(shè)備106建立雙向路徑。在實(shí)施例中,為了建立該雙向路徑,轉(zhuǎn)發(fā)設(shè)備108在其路由表(也可以稱為轉(zhuǎn)發(fā)表)中設(shè)置規(guī)則:為了到達(dá)控制設(shè)備,轉(zhuǎn)發(fā)設(shè)備108在特定端口(接收到控制分組144的端口)上并利用特定標(biāo)簽來發(fā)送分組。與轉(zhuǎn)發(fā)設(shè)備106傳送該信息,因而這兩個(gè)轉(zhuǎn)發(fā)設(shè)備遵循相同的規(guī)則。因此,當(dāng)轉(zhuǎn)發(fā)設(shè)備106利用所設(shè)置的標(biāo)簽并在所設(shè)置的端口上接收到來自轉(zhuǎn)發(fā)設(shè)備108的分組時(shí),其知曉該分組是針對(duì)控制設(shè)備102的。類似地,轉(zhuǎn)發(fā)設(shè)備106知曉通過轉(zhuǎn)發(fā)設(shè)備104轉(zhuǎn)發(fā)針對(duì)控制設(shè)備102的通信量。所以,轉(zhuǎn)發(fā)設(shè)備106建立與轉(zhuǎn)發(fā)設(shè)備104的標(biāo)簽,以將數(shù)據(jù)路由到控制設(shè)備102。還可以將標(biāo)簽建立為以類似方式通過轉(zhuǎn)發(fā)設(shè)備106將數(shù)據(jù)從控制設(shè)備102路由到轉(zhuǎn)發(fā)設(shè)備104。
[0059]以這種方式,通過分析并從控制設(shè)備再轉(zhuǎn)發(fā)控制分組,每個(gè)轉(zhuǎn)發(fā)設(shè)備可以發(fā)現(xiàn)如何與控制設(shè)備通信并建立至控制設(shè)備的標(biāo)簽交換路徑。如以下參照?qǐng)D4A至圖4B所述,當(dāng)轉(zhuǎn)發(fā)設(shè)備接收到新數(shù)據(jù)流時(shí),轉(zhuǎn)發(fā)設(shè)備可以將來自新數(shù)據(jù)流的分組轉(zhuǎn)發(fā)到控制設(shè)備,直到控制設(shè)備在網(wǎng)絡(luò)中建立用于分組的路徑。
[0060]除了使用標(biāo)簽交換路徑將數(shù)據(jù)轉(zhuǎn)發(fā)到控制設(shè)備之外,實(shí)施例還可以使用標(biāo)簽交換路徑來幫助控制設(shè)備發(fā)現(xiàn)網(wǎng)絡(luò)的拓?fù)湫畔?,如圖1C所示。
[0061 ]圖1C是示出了控制設(shè)備102收集反映網(wǎng)絡(luò)拓?fù)涞男畔⒌氖緢D170。
[0062]每個(gè)轉(zhuǎn)發(fā)設(shè)備將信息發(fā)送到路由控制設(shè)備,該圖示出了路由控制設(shè)備連接到哪些轉(zhuǎn)發(fā)設(shè)備以及周圍鏈路和轉(zhuǎn)發(fā)設(shè)備的條件如何。周圍鏈路和轉(zhuǎn)發(fā)設(shè)備的條件可以包括例如通信量和擁塞信息、延遲、分組丟失率、抖動(dòng)(jitter)等。可以例如使用鏈路層發(fā)現(xiàn)協(xié)議(LLDP)來收集該信息。在實(shí)施例中,轉(zhuǎn)發(fā)設(shè)備定期地發(fā)送該信息。并且,轉(zhuǎn)發(fā)設(shè)備使用在它們與控制設(shè)備之間建立的路徑來發(fā)送該信息。
[0063]在圖1C所示的示例中,建立了轉(zhuǎn)發(fā)設(shè)備108至控制設(shè)備102的路徑。該路徑包括轉(zhuǎn)發(fā)設(shè)備108、106和104。轉(zhuǎn)發(fā)設(shè)備108將包括轉(zhuǎn)發(fā)設(shè)備108的周圍拓?fù)湓趦?nèi)的信息發(fā)送到控制設(shè)備102。在示例中,轉(zhuǎn)發(fā)設(shè)備108以分組172將該信息發(fā)送到路由控制設(shè)備102。
[0064]使用從包括轉(zhuǎn)發(fā)設(shè)備108在內(nèi)的所有轉(zhuǎn)發(fā)設(shè)備接收到的拓?fù)湫畔?,路由控制設(shè)備102創(chuàng)建數(shù)據(jù)庫(kù)174,數(shù)據(jù)庫(kù)174反映轉(zhuǎn)發(fā)設(shè)備的網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。
[0065]建立至控制設(shè)備的路徑和從控制設(shè)備起始的路徑
[0066]圖2是示出了用于找到從控制設(shè)備至轉(zhuǎn)發(fā)設(shè)備的路徑的方法200的流程圖。
[0067]在步驟202,控制設(shè)備物理地連接到轉(zhuǎn)發(fā)設(shè)備的網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)設(shè)備。在步驟204,控制設(shè)備將例如鏈路層發(fā)現(xiàn)協(xié)議(LLDP)分組的控制(或發(fā)現(xiàn))分組發(fā)送到其所連接到的轉(zhuǎn)發(fā)設(shè)備。
[0068]接收到該分組的轉(zhuǎn)發(fā)設(shè)備在步驟206驗(yàn)證該分組是否源自于控制設(shè)備。在示例中,轉(zhuǎn)發(fā)設(shè)備可以通過例如查看是否出現(xiàn)了特定標(biāo)記來驗(yàn)證該分組來自于控制設(shè)備。
[0069]控制分組包括性能度量,所述性能度量示出網(wǎng)絡(luò)鏈路或網(wǎng)絡(luò)設(shè)備的條件。例如,所述度量可以示出鏈路延遲。因此,在該示例中,較低的度量示出較低的延遲,由此導(dǎo)致更好的性能。度量還可以是諸如延遲、分組丟失、抖動(dòng)等的多個(gè)條件的函數(shù)。
[0070]接收到控制分組的每個(gè)轉(zhuǎn)發(fā)設(shè)備更新性能度量。例如,更新后的度量示出控制分組從前一或上游轉(zhuǎn)發(fā)設(shè)備到達(dá)轉(zhuǎn)發(fā)設(shè)備的附加延遲。在更新度量之后,轉(zhuǎn)發(fā)設(shè)備在該轉(zhuǎn)發(fā)設(shè)備的除了接收到控制分組的端口之外的所有端口上分發(fā)控制分組。
[0071]轉(zhuǎn)發(fā)設(shè)備可以再次接收其之前接收到的相同控制分組。這可以發(fā)生,因?yàn)榭刂品纸M在整個(gè)網(wǎng)絡(luò)中分發(fā)。轉(zhuǎn)發(fā)設(shè)備可以通過被控制設(shè)備附著到每個(gè)控制分組的唯一序列號(hào)來識(shí)別重復(fù)控制分組。
[0072]在步驟208,轉(zhuǎn)發(fā)設(shè)備查看分組的性能度量是否比從控制設(shè)備接收到的先前度量更好。如果度量在由轉(zhuǎn)發(fā)設(shè)備接收到的所有控制分組中是最佳性能度量,則在步驟210,轉(zhuǎn)發(fā)設(shè)備將分組的傳入端口存儲(chǔ)為到達(dá)控制設(shè)備的最佳方式。
[0073]在步驟212,轉(zhuǎn)發(fā)設(shè)備檢查序列號(hào)以確定之前是否轉(zhuǎn)發(fā)了該控制分組,從而避免控制分組在網(wǎng)絡(luò)中無限循環(huán)。由于控制分組將唯一序列號(hào)添加到其產(chǎn)生的每個(gè)控制分組,因此轉(zhuǎn)發(fā)設(shè)備可以使用控制分組的序列號(hào)來確定之前是否轉(zhuǎn)發(fā)了該控制分組?;蛘撸绻甾D(zhuǎn)發(fā)設(shè)備之前已經(jīng)轉(zhuǎn)發(fā)了具有較大序列號(hào)的更近期的控制分組,則轉(zhuǎn)發(fā)設(shè)備可以使用序列號(hào)確定當(dāng)前控制分組是否過期??梢允褂枚鄠€(gè)其他機(jī)制(例如控制分組的至少一部分的散列或校驗(yàn)和)來避免分組在網(wǎng)絡(luò)中無限循環(huán)。
[0074]在步驟214,轉(zhuǎn)發(fā)設(shè)備確定是否之前沒有轉(zhuǎn)發(fā)分組以及該分組是否包括示出了最佳性能的度量。如果控制分組未示出最佳性能度量,或者它之前被轉(zhuǎn)發(fā)設(shè)備轉(zhuǎn)發(fā)過,則轉(zhuǎn)發(fā)設(shè)備丟棄該分組,并且處理結(jié)束。
[0075]如果控制分組包含最佳性能度量并且之前未被轉(zhuǎn)發(fā)過,則處理200在步驟216建立路徑。以下在圖3的描述中詳細(xì)地描述步驟216。
[0076]接著,在步驟218,轉(zhuǎn)發(fā)設(shè)備更新性能度量,以反映連接上游轉(zhuǎn)發(fā)設(shè)備和當(dāng)前轉(zhuǎn)發(fā)設(shè)備的鏈路的性能、以及這兩個(gè)轉(zhuǎn)發(fā)設(shè)備自身的性能。接著,在步驟220,接收轉(zhuǎn)發(fā)設(shè)備在它的除了接收到控制分組的端口之外的所有端口上分發(fā)分組。以這種方式,更新后的控制分組被發(fā)送到其他轉(zhuǎn)發(fā)設(shè)備。
[0077]其他轉(zhuǎn)發(fā)設(shè)備重復(fù)從步驟206開始的處理,并以相同方式處理分組。
[0078]圖3是示出了用于建立轉(zhuǎn)發(fā)設(shè)備104和106之間的路徑的方法216的流程圖。作為示例,如果控制分組已經(jīng)從轉(zhuǎn)發(fā)設(shè)備104行進(jìn)到轉(zhuǎn)發(fā)設(shè)備106,則轉(zhuǎn)發(fā)設(shè)備104是106的上游轉(zhuǎn)發(fā)設(shè)備。
[0079]以上繼續(xù)參照?qǐng)D1A至圖1B以及圖2,假設(shè)轉(zhuǎn)發(fā)設(shè)備106從上游轉(zhuǎn)發(fā)設(shè)備104接收到新的控制分組并且該新的控制分組具有到目前為止的最佳性能特征。為此,在圖2中的步驟216建立路徑。
[0080]在步驟302,轉(zhuǎn)發(fā)設(shè)備106將針對(duì)至控制設(shè)備的路徑的請(qǐng)求發(fā)送到下一上游轉(zhuǎn)發(fā)設(shè)備。在步驟306,轉(zhuǎn)發(fā)設(shè)備104確定用于建立路徑的標(biāo)簽。在步驟308,轉(zhuǎn)發(fā)設(shè)備104將該標(biāo)簽發(fā)送到轉(zhuǎn)發(fā)設(shè)備106。在步驟304,轉(zhuǎn)發(fā)設(shè)備106在其路由表中相應(yīng)地建立該標(biāo)簽規(guī)則。
[0081]在步驟310,轉(zhuǎn)發(fā)設(shè)備104請(qǐng)求至控制設(shè)備的路徑。為了創(chuàng)建路徑,轉(zhuǎn)發(fā)設(shè)備104可以向另一上游轉(zhuǎn)發(fā)設(shè)備請(qǐng)求標(biāo)簽,從而重復(fù)步驟302、306、308和310。在步驟312,轉(zhuǎn)發(fā)設(shè)備104在其路由表中建立標(biāo)簽規(guī)則。
[0082]例如,在步驟302接收到來自轉(zhuǎn)發(fā)設(shè)備106的請(qǐng)求之后,轉(zhuǎn)發(fā)設(shè)備104選擇標(biāo)簽LI用于它們二者之間的路徑。在將該標(biāo)簽發(fā)送到轉(zhuǎn)發(fā)設(shè)備106之后,轉(zhuǎn)發(fā)設(shè)備106將在指定到控制設(shè)備的所有數(shù)據(jù)分組上附上該標(biāo)簽。
[0083]在該示例中,在通過連接到轉(zhuǎn)發(fā)設(shè)備106的端口接收到具有標(biāo)簽LI的數(shù)據(jù)分組時(shí),轉(zhuǎn)發(fā)設(shè)備104將數(shù)據(jù)分組轉(zhuǎn)發(fā)到控制設(shè)備。為了將分組轉(zhuǎn)發(fā)到控制設(shè)備,轉(zhuǎn)發(fā)設(shè)備104可以知曉(在步驟312建立了標(biāo)簽規(guī)則)在具有特定標(biāo)簽的特定端口上進(jìn)行轉(zhuǎn)發(fā)。以這種方式,建立從轉(zhuǎn)發(fā)設(shè)備到控制設(shè)備的路徑。
[0084]此外,可以以類似方式建立其他方向上的路徑:從控制設(shè)備到轉(zhuǎn)發(fā)設(shè)備。在這種情況下,每個(gè)轉(zhuǎn)發(fā)設(shè)備可以在其路由表中建立標(biāo)簽。路由表中的條目可以包括用于路由數(shù)據(jù)的相關(guān)端口。
[0085]在網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)設(shè)備之間建立了這些路徑之后,網(wǎng)絡(luò)中存在從控制設(shè)備到每個(gè)轉(zhuǎn)發(fā)設(shè)備以及從每個(gè)轉(zhuǎn)發(fā)設(shè)備到控制設(shè)備的路徑。在圖3的示例中,在轉(zhuǎn)發(fā)設(shè)備106、轉(zhuǎn)發(fā)設(shè)備104和控制設(shè)備之間建立了路徑之后,轉(zhuǎn)發(fā)設(shè)備106使用該路徑將數(shù)據(jù)發(fā)送到控制設(shè)備。反之亦然,控制設(shè)備使用該路徑將數(shù)據(jù)發(fā)送到轉(zhuǎn)發(fā)設(shè)備106。
[0086]建立用于新數(shù)據(jù)流的快速路徑
[0087]圖4A示出了說明從網(wǎng)絡(luò)用戶442尋址到服務(wù)器444的數(shù)據(jù)流的示圖400。數(shù)據(jù)流包括分組402、404、406、408、410和412。當(dāng)數(shù)據(jù)流的第一分組(分組402)到達(dá)轉(zhuǎn)發(fā)設(shè)備106時(shí),其被路由到控制設(shè)備102??刂圃O(shè)備102確定該分組屬于新連接,并開始針對(duì)該連接建立不流過控制設(shè)備102的快速路徑的處理。
[0088]在示例中,在分組402之后,還發(fā)送分組404和406。轉(zhuǎn)發(fā)設(shè)備106可以緩沖分組404和406,或者可以將這些分組轉(zhuǎn)發(fā)到控制設(shè)備102,就像其對(duì)第一分組402做的那樣。
[0089]在控制設(shè)備接收到第一分組之后,其將該分組發(fā)送到轉(zhuǎn)發(fā)設(shè)備104。轉(zhuǎn)發(fā)設(shè)備104使用包括在該分組中的目的地址和在圖2和圖3中的步驟216所建立的路徑將該分組轉(zhuǎn)發(fā)到具有相應(yīng)標(biāo)簽的相應(yīng)端口。
[0090]接著,控制設(shè)備計(jì)算從源到目的地的路徑。該路徑包括網(wǎng)絡(luò)鏈路和路由器,但是不包括控制設(shè)備。例如,使用MPLS協(xié)議,控制設(shè)備創(chuàng)建用于數(shù)據(jù)流的標(biāo)簽交換路徑(LSP)。為了確定路徑,控制設(shè)備可以考慮當(dāng)前或歷史帶寬使用情況。例如,控制設(shè)備可以考慮之前幾周(或其他循環(huán)時(shí)間段)期間的網(wǎng)絡(luò)使用情況。控制設(shè)備還可以創(chuàng)建用于連接的多個(gè)路徑以實(shí)現(xiàn)多個(gè)路徑上的負(fù)載均衡。
[0091]控制設(shè)備還可以考慮延遲、抖動(dòng)、分組丟失或跨越各種路徑的任何其他性能度量、用戶的服務(wù)水平協(xié)議或傳輸?shù)臄?shù)據(jù)的類型。例如,廣播視頻數(shù)據(jù)可能需要大量帶寬,但是延遲可能相對(duì)不重要。另一方面,IP語(yǔ)音(VoIP)數(shù)據(jù)可能不需要如此高的帶寬,但是延遲可能更加重要。對(duì)于廣播視頻數(shù)據(jù),控制設(shè)備可以選擇高帶寬、高延遲路徑,對(duì)于VoIP數(shù)據(jù),控制設(shè)備可以選擇低帶寬、低延遲路徑。
[0092]在另一實(shí)施例中,控制設(shè)備可以通過特定服務(wù)器路由數(shù)據(jù)。例如,具有特定類型或指向特定目的地的數(shù)據(jù)可能需要由路線上的特定洗滌服務(wù)器(scrubbing server)進(jìn)行洗滌(scrubbed)。洗滌服務(wù)器可以用于掃描惡意內(nèi)容的數(shù)據(jù),監(jiān)視傳入數(shù)據(jù),或者對(duì)數(shù)據(jù)執(zhí)行其他分析。在該實(shí)施例中,控制設(shè)備可以確定其通過該特定洗滌服務(wù)器或服務(wù)器組。
[0093]在確定了快速路徑之后,控制設(shè)備針對(duì)沿該路徑的每個(gè)轉(zhuǎn)發(fā)設(shè)備更新路由表。如果針對(duì)數(shù)據(jù)流計(jì)算出多個(gè)路徑,則控制設(shè)備根據(jù)所有路徑創(chuàng)建路由表。在一個(gè)實(shí)施例中,更新后的路由表可以指示轉(zhuǎn)發(fā)設(shè)備如何轉(zhuǎn)發(fā)具有源/目的地址和源/目的端口的特定組合的分組。在備選實(shí)施例中,可以利用標(biāo)簽識(shí)別數(shù)據(jù)流,并且更新后的路由表可以指示如何轉(zhuǎn)發(fā)具有該標(biāo)簽的分組。
[0094]控制設(shè)備將更新后的路由表發(fā)送到網(wǎng)絡(luò)路由器。控制設(shè)備可以使用在步驟216針對(duì)所有轉(zhuǎn)發(fā)設(shè)備建立的路徑來發(fā)送路由表。圖4B示出了如何配置路由器的示例。
[0095]圖4B示出了說明控制設(shè)備102如何配置網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備以建立用戶442和服務(wù)器444之間的路徑的示圖420。
[0096]在圖4B中,控制設(shè)備102確定用戶442和服務(wù)器444之間的數(shù)據(jù)流遵循包括鏈路120、122、124和轉(zhuǎn)發(fā)設(shè)備106、108、112和110在內(nèi)的路徑。為了配置轉(zhuǎn)發(fā)設(shè)備,控制設(shè)備102使用配置命令422、424、426和428發(fā)送更新后的路由表。這些配置命令配置在將用戶442連接至目的地444的快速路徑上的所有轉(zhuǎn)發(fā)設(shè)備。具體地,命令422指示轉(zhuǎn)發(fā)設(shè)備106將數(shù)據(jù)流中的分組轉(zhuǎn)發(fā)到鏈路120;命令424指示轉(zhuǎn)發(fā)設(shè)備108將數(shù)據(jù)流中的分組轉(zhuǎn)發(fā)到鏈路122;命令426指示轉(zhuǎn)發(fā)設(shè)備112將數(shù)據(jù)流中的分組轉(zhuǎn)發(fā)到鏈路124;以及命令428指示轉(zhuǎn)發(fā)設(shè)備110將數(shù)據(jù)流中的分組轉(zhuǎn)發(fā)到鏈路124。
[0097]在實(shí)施例中,為了確保分組繼續(xù)流過控制設(shè)備直至路徑被完全建立,從出口點(diǎn)(轉(zhuǎn)發(fā)設(shè)備104)到入口點(diǎn)(轉(zhuǎn)發(fā)設(shè)備106)配置沿路徑的路由器。首先,命令428配置轉(zhuǎn)發(fā)設(shè)備110。其次,命令426配置轉(zhuǎn)發(fā)設(shè)備112。第三,命令424配置轉(zhuǎn)發(fā)設(shè)備108。第四,命令422配置轉(zhuǎn)發(fā)設(shè)備106。
[0098]返回參照?qǐng)D4A,直至路徑被建立,用戶442繼續(xù)發(fā)送數(shù)據(jù)流的分組-分組402、404和406 ο如上所述,轉(zhuǎn)發(fā)設(shè)備106繼續(xù)將路徑上的這些分組導(dǎo)向控制設(shè)備102。
[0099]在接收到這些分組時(shí),控制設(shè)備102使用之前在圖2中的步驟216確定的默認(rèn)路徑將這些分組路由到它們的目的地。以這種方式,當(dāng)網(wǎng)絡(luò)中的路徑正被建立(如圖4B所示)時(shí),分組繼續(xù)被路由到它們的目的地,從而避免在邊緣路由器中緩沖初始分組的需要。
[0100]—旦路徑被建立(例如,轉(zhuǎn)發(fā)設(shè)備被配置有它們的新路由表),則數(shù)據(jù)沿由控制設(shè)備建立的快速路徑流動(dòng)。此時(shí),數(shù)據(jù)可以以通過轉(zhuǎn)發(fā)設(shè)備的較大速率和較低的端到端延遲而流動(dòng),因?yàn)槠洳辉偻ㄟ^控制設(shè)備。
[0101]多個(gè)控制設(shè)備
[0102]圖5是示出了具有多個(gè)控制設(shè)備的網(wǎng)絡(luò)的示圖。在圖5所示的示例實(shí)施例中,控制設(shè)備102連接到轉(zhuǎn)發(fā)設(shè)備104,控制設(shè)備504連接到轉(zhuǎn)發(fā)設(shè)備110,控制設(shè)備506連接到轉(zhuǎn)發(fā)設(shè)備 506。
[0103]在示例實(shí)施例中,每個(gè)控制設(shè)備102、504或506定期地或按不同時(shí)間間隔將控制分組發(fā)送到與其直接連接的轉(zhuǎn)發(fā)設(shè)備。并且按照如圖2示出的相同處理,每個(gè)控制設(shè)備建立到網(wǎng)絡(luò)中的每個(gè)轉(zhuǎn)發(fā)設(shè)備的雙向路徑。
[0104]在圖5的示例實(shí)施例中,每個(gè)轉(zhuǎn)發(fā)設(shè)備將表明其鄰近轉(zhuǎn)發(fā)設(shè)備的拓?fù)浣Y(jié)構(gòu)的信息和網(wǎng)絡(luò)條件信息發(fā)送到網(wǎng)絡(luò)中的每個(gè)控制設(shè)備。在實(shí)施例中,轉(zhuǎn)發(fā)設(shè)備使用在處理200的步驟216所建立的雙向路徑來發(fā)送該信息。在實(shí)施例中,轉(zhuǎn)發(fā)設(shè)備定期地或按不同時(shí)間間隔將該信息發(fā)送到控制設(shè)備。
[0105]出于冗余目的,單個(gè)物理網(wǎng)絡(luò)可以在具有多個(gè)拓?fù)鋽?shù)據(jù)庫(kù)的多個(gè)控制設(shè)備上被鏡像。這些控制設(shè)備中的每個(gè)控制設(shè)備具有在它們自身與網(wǎng)絡(luò)中的每個(gè)路由器之間建立的路徑。在至一個(gè)控制設(shè)備的默認(rèn)路徑失敗的情況下,業(yè)務(wù)可以選擇至不同控制設(shè)備的路徑。
[0106]在一個(gè)示例實(shí)施例中,每個(gè)轉(zhuǎn)發(fā)設(shè)備每次挑選一個(gè)控制設(shè)備,以轉(zhuǎn)發(fā)數(shù)據(jù)并建立至目的地的快速路徑。在該實(shí)施例中,轉(zhuǎn)發(fā)設(shè)備可以基于選擇算法挑選這些控制設(shè)備中的任何一個(gè)控制設(shè)備。選擇算法可以是例如輪詢調(diào)度算法(round robin algorithm)。轉(zhuǎn)發(fā)設(shè)備還可以在用于選擇控制設(shè)備的算法中考慮控制設(shè)備每次建立新連接的數(shù)目或網(wǎng)絡(luò)負(fù)載。另外,轉(zhuǎn)發(fā)設(shè)備可以向控制器詢問建立至目的地的快速路徑的最低延遲。輪詢調(diào)度方法可以與最低延遲方法結(jié)合使用。例如,或許通過將度量四舍五入到例如最接近的5,設(shè)備可以選擇對(duì)跨越至控制器的多條路徑的通信量進(jìn)行平衡,由此將性能值3、4、5、6、7視為與5相同的值。在具有最低的四舍五入的度量的這些控制器之中,轉(zhuǎn)發(fā)設(shè)備可以采用輪詢調(diào)度算法來選擇創(chuàng)建快速路徑的控制器。這有助于限制由于網(wǎng)絡(luò)對(duì)真實(shí)世界情況作出反應(yīng)而導(dǎo)致的性能值的輕微修改的影響。
[0107]在實(shí)施例中,網(wǎng)絡(luò)中的控制設(shè)備不需要彼此同步。如果控制設(shè)備失敗,在一段時(shí)間內(nèi)未從該控制設(shè)備接收到控制分組之后,轉(zhuǎn)發(fā)設(shè)備移除用于保持至該控制設(shè)備的路徑的標(biāo)簽。轉(zhuǎn)發(fā)設(shè)備利用諸如輪詢調(diào)度的相同選擇算法繼續(xù)使用其他控制設(shè)備。
[0108]具有多個(gè)控制設(shè)備大大提高了網(wǎng)絡(luò)的恢復(fù)能力(resiliency)。如果控制設(shè)備失敗,或者連接到控制設(shè)備的鏈路失敗,則轉(zhuǎn)發(fā)設(shè)備可以繼續(xù)使用網(wǎng)絡(luò)中的其他控制設(shè)備。多個(gè)控制設(shè)備還有助于平衡網(wǎng)絡(luò)中的負(fù)載。通過智能地選擇具有較少數(shù)目的新連接請(qǐng)求的控制設(shè)備,或者通過選擇具有最佳路徑(例如具有最低延遲的路徑)的控制設(shè)備,轉(zhuǎn)發(fā)設(shè)備可以在請(qǐng)求新連接時(shí)避免網(wǎng)絡(luò)的擁塞段。
[0109]控制設(shè)備和轉(zhuǎn)發(fā)設(shè)備模塊
[0110]圖6示出了說明控制設(shè)備102及其模塊和轉(zhuǎn)發(fā)設(shè)備104及其模塊的示圖600。
[0111]具體地,控制設(shè)備102包括控制器發(fā)現(xiàn)模塊610、路徑目的地模塊608、數(shù)據(jù)轉(zhuǎn)發(fā)模塊612和拓?fù)鋽?shù)據(jù)庫(kù)606。各個(gè)模塊可以如以上參照?qǐng)D2中的方法所述進(jìn)行操作。
[0112]控制器發(fā)現(xiàn)模塊610被配置為確定轉(zhuǎn)發(fā)設(shè)備的網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)??刂破靼l(fā)現(xiàn)模塊610將控制分組發(fā)送到與控制設(shè)備直接連接的轉(zhuǎn)發(fā)設(shè)備??刂品纸M包括控制設(shè)備的地址和序列號(hào)。使用地址和序列號(hào)的組合,每個(gè)控制分組可以在整個(gè)網(wǎng)絡(luò)中被唯一地識(shí)別。
[0113]隨著控制分組穿越網(wǎng)絡(luò),接收到控制分組的每個(gè)轉(zhuǎn)發(fā)設(shè)備將其自身的地址添加到控制分組。此外,每個(gè)轉(zhuǎn)發(fā)設(shè)備將表明網(wǎng)絡(luò)特征的度量更新到每個(gè)控制分組。在接收到控制分組時(shí),轉(zhuǎn)發(fā)設(shè)備從控制分組知曉為了到達(dá)該轉(zhuǎn)發(fā)設(shè)備控制分組所經(jīng)過的路徑。此外,使用性能度量信息,轉(zhuǎn)發(fā)設(shè)備知曉在多個(gè)轉(zhuǎn)發(fā)分組所經(jīng)過的多條路徑之中哪條路徑是到控制設(shè)備的最佳路徑,如處理200所述。因此,轉(zhuǎn)發(fā)設(shè)備可以動(dòng)態(tài)地更新到控制設(shè)備的最佳路徑。
[0114]在建立到轉(zhuǎn)發(fā)設(shè)備的路徑之后,控制器發(fā)現(xiàn)模塊610從網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)設(shè)備接收拓?fù)浣Y(jié)構(gòu)和網(wǎng)絡(luò)條件信息。使用該信息和來自網(wǎng)絡(luò)中的其他轉(zhuǎn)發(fā)設(shè)備的類似信息,控制器發(fā)現(xiàn)模塊610創(chuàng)建拓?fù)鋽?shù)據(jù)庫(kù)606。
[0115]拓?fù)鋽?shù)據(jù)庫(kù)606存儲(chǔ)所發(fā)現(xiàn)的網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)設(shè)備的拓?fù)浣Y(jié)構(gòu)。拓?fù)鋽?shù)據(jù)庫(kù)606反映轉(zhuǎn)發(fā)設(shè)備和鏈路如何連接在一起的當(dāng)前拓?fù)浣Y(jié)構(gòu)。此外,拓?fù)鋽?shù)據(jù)庫(kù)606存儲(chǔ)表明網(wǎng)絡(luò)的當(dāng)前條件的信息。網(wǎng)絡(luò)的條件可以包括關(guān)于網(wǎng)絡(luò)鏈路或設(shè)備的延遲、分組丟失、擁塞或抖動(dòng)。
[0116]路徑確定模塊608建立用于新網(wǎng)絡(luò)連接的路徑。在源轉(zhuǎn)發(fā)設(shè)備請(qǐng)求連接時(shí),路徑確定模塊608確定從源轉(zhuǎn)發(fā)設(shè)備到目的轉(zhuǎn)發(fā)設(shè)備的連接路徑。為了確定路徑,路徑確定模塊608使用拓?fù)鋽?shù)據(jù)庫(kù)606。使用存儲(chǔ)在拓?fù)鋽?shù)據(jù)庫(kù)606中的拓?fù)浣Y(jié)構(gòu)和網(wǎng)絡(luò)條件信息,路徑確定模塊608可以找到從源轉(zhuǎn)發(fā)設(shè)備到目的地的最優(yōu)路徑。最優(yōu)路徑可以是例如最短路徑或者具有最小延遲的路徑或者分組丟失最少的路徑。
[0117]在確定用于連接的路徑之后,路徑確定模塊608還將配置命令發(fā)送到所確定的路徑上的每個(gè)轉(zhuǎn)發(fā)設(shè)備。如圖4B中的示例實(shí)施例所示,路徑確定模塊創(chuàng)建并發(fā)送配置命令422、424、426和428。配置命令配置相應(yīng)的轉(zhuǎn)發(fā)設(shè)備。所配置的轉(zhuǎn)發(fā)設(shè)備在由路徑確定模塊608針對(duì)連接所確定的路徑上對(duì)屬于該連接的分組進(jìn)行路由。
[0118]在路徑確定模塊確定針對(duì)連接的路徑時(shí),數(shù)據(jù)轉(zhuǎn)發(fā)模塊612運(yùn)送針對(duì)所請(qǐng)求的連接的初始分組,并通過發(fā)送配置命令配置轉(zhuǎn)發(fā)設(shè)備。如圖4A所示,通過從源轉(zhuǎn)發(fā)設(shè)備到控制設(shè)備的路徑將初始分組402、404、406、408和410轉(zhuǎn)發(fā)到控制模塊。在連接路徑正被建立時(shí),數(shù)據(jù)轉(zhuǎn)發(fā)模塊612通過從控制設(shè)備到目的轉(zhuǎn)發(fā)設(shè)備的路徑轉(zhuǎn)發(fā)初始分組。
[0119]在圖6所示的示例實(shí)施例中,轉(zhuǎn)發(fā)設(shè)備104包括路徑請(qǐng)求模塊622、交換發(fā)現(xiàn)模塊624、路由表626和性能度量模塊628。
[0120]在轉(zhuǎn)發(fā)設(shè)備接收到用于新數(shù)據(jù)連接的請(qǐng)求之后,路徑請(qǐng)求模塊622將消息發(fā)送到請(qǐng)求建立連接路徑的路由控制設(shè)備。路徑請(qǐng)求模塊622使用在處理200的步驟216所建立的到控制設(shè)備的路徑來發(fā)送用于建立連接路徑的請(qǐng)求。路徑請(qǐng)求指示路由控制設(shè)備確定從源轉(zhuǎn)發(fā)設(shè)備到目的轉(zhuǎn)發(fā)設(shè)備的路徑。然后,路徑確定模塊608確定連接路徑并將轉(zhuǎn)發(fā)設(shè)備配置為沿所確定的路徑轉(zhuǎn)發(fā)新數(shù)據(jù)流。
[0121]交換發(fā)現(xiàn)模塊624接收由控制設(shè)備的控制器發(fā)現(xiàn)模塊610發(fā)送的控制分組。交換發(fā)現(xiàn)模塊624確定從轉(zhuǎn)發(fā)設(shè)備到控制設(shè)備的路徑,如方法200的步驟216中所示。在實(shí)施例中,交換發(fā)現(xiàn)模塊624基于控制分組中的信息和它接收到控制分組的端口來進(jìn)行該確定。
[0122]為了建立從轉(zhuǎn)發(fā)設(shè)備到控制設(shè)備的路徑,交換發(fā)現(xiàn)模塊624部分地基于接收到控制分組的端口來識(shí)別轉(zhuǎn)發(fā)設(shè)備上的哪個(gè)端口將數(shù)據(jù)轉(zhuǎn)發(fā)到達(dá)路由控制設(shè)備。
[0123]在實(shí)施例中,如果從鄰近設(shè)備到來的控制分組中的性能度量表明從控制設(shè)備到轉(zhuǎn)發(fā)設(shè)備的具有最佳性能的路徑,則交換發(fā)現(xiàn)模塊624確定用于路由到控制設(shè)備的標(biāo)簽,如方法300的步驟306所示。
[0124]在如處理200的步驟214所示,確定接收到的控制分組是否指示最佳性能路徑以及接收到的控制分組是否尚未在轉(zhuǎn)發(fā)設(shè)備的其他端口上被轉(zhuǎn)發(fā)之后,交換發(fā)現(xiàn)模塊624還在它的除了接收到控制分組的端口之外的端口上分發(fā)控制分組。
[0125]轉(zhuǎn)發(fā)設(shè)備的路由表626包含關(guān)于如何在網(wǎng)絡(luò)中轉(zhuǎn)發(fā)數(shù)據(jù)分組的信息。配置命令422、424、426和428利用關(guān)于如何轉(zhuǎn)發(fā)分組的信息來更新轉(zhuǎn)發(fā)設(shè)備中的路由表。此外,在接收到用于建立到控制設(shè)備102的路徑的標(biāo)簽之后,交換發(fā)現(xiàn)模塊624基于所確定的標(biāo)簽在路由表626中建立轉(zhuǎn)發(fā)規(guī)則。
[0126]性能度量模塊628更新傳入控制分組的性能度量字段。傳入控制分組包括這樣的字段,該字段包含從控制設(shè)備到先前轉(zhuǎn)發(fā)設(shè)備的路徑的網(wǎng)絡(luò)性能度量。性能度量模塊更新性能度量字段,使得其反映直到當(dāng)前轉(zhuǎn)發(fā)設(shè)備的路徑的性能。
[0127]性能度量模塊628還確定轉(zhuǎn)發(fā)設(shè)備是否之前轉(zhuǎn)發(fā)了具有更好性能度量的另一控制分組。性能度量模塊628向交換發(fā)現(xiàn)模塊624通知是否在轉(zhuǎn)發(fā)設(shè)備端口上分發(fā)了具有更好度量的之前的相同控制分組。
[0128]結(jié)論
[0129]本文中使用的術(shù)語(yǔ)“用戶”可以包含網(wǎng)絡(luò)連接服務(wù)的客戶(例如,利用網(wǎng)絡(luò)連接服務(wù)的企業(yè)的員工)和服務(wù)提供商自身的網(wǎng)絡(luò)管理員二者。用戶還可以處于不同公司或組織。
[0130]拓?fù)鋽?shù)據(jù)庫(kù)606可以是包括永久存儲(chǔ)器的任何存儲(chǔ)類型的結(jié)構(gòu)存儲(chǔ)器。在示例中,每個(gè)數(shù)據(jù)庫(kù)可以被實(shí)現(xiàn)為關(guān)系數(shù)據(jù)庫(kù)或文件系統(tǒng)。
[0131]圖6中的每個(gè)設(shè)備和模塊可以用硬件、軟件、固件或其任意組合來實(shí)現(xiàn)。
[0132]圖6中的每個(gè)設(shè)備和模塊可以實(shí)現(xiàn)在相同或不同的計(jì)算設(shè)備上。這種計(jì)算設(shè)備可以包括但不限于:個(gè)人計(jì)算機(jī)、如移動(dòng)電話的移動(dòng)設(shè)備、工作站、嵌入式系統(tǒng)、游戲機(jī)、電視、機(jī)頂盒或任何其他計(jì)算設(shè)備。此外,計(jì)算設(shè)備可以包括但不限于:具有用于執(zhí)行和存儲(chǔ)指令的處理器和存儲(chǔ)器的設(shè)備,包括非暫時(shí)性存儲(chǔ)器。存儲(chǔ)器可以有形地體現(xiàn)數(shù)據(jù)和程序指令。軟件可以包括一個(gè)或多個(gè)應(yīng)用以及操作系統(tǒng)。硬件可以包括但不限于:處理器、存儲(chǔ)器和圖形用戶界面顯示器。計(jì)算設(shè)備還可以具有多個(gè)處理器以及多個(gè)共享或單獨(dú)的存儲(chǔ)器組件。例如,計(jì)算設(shè)備可以是群集或分布式計(jì)算環(huán)境或服務(wù)器群的一部分或整體。
[0133]對(duì)于不同要素或步驟,有時(shí)使用諸如“(a)”、“(b)”、等的標(biāo)識(shí)符。為了清楚起見使用這些標(biāo)識(shí)符,并且這些標(biāo)識(shí)符不必指定要素或步驟的順序。
[0134]以上已經(jīng)借助功能建立塊描述了本發(fā)明,其中,功能建立塊示出了指定功能及其關(guān)系的實(shí)現(xiàn)。本文中為了便于描述,任意地定義這些功能建立塊的邊界??梢远x替代邊界,只要指定功能及其關(guān)系被適當(dāng)執(zhí)行。
[0135]特定實(shí)施例的前述描述將充分全面地揭示本發(fā)明的總體性質(zhì),在不脫離本發(fā)明的總體構(gòu)思的情況下,其他人員可以通過應(yīng)用本領(lǐng)域內(nèi)的技術(shù)知識(shí)容易地修改和/或改寫這些特定實(shí)施例的各種應(yīng)用,而無需過多實(shí)驗(yàn)。因此,基于本文中呈現(xiàn)的教導(dǎo)和引導(dǎo),這種改寫和修改意在處于所公開的實(shí)施例的等同物的意義和范圍內(nèi)。應(yīng)當(dāng)理解,本文中的措辭或術(shù)語(yǔ)是為了描述的目的,而不是限制,從而本說明書中的術(shù)語(yǔ)或措辭應(yīng)當(dāng)由本領(lǐng)域技術(shù)人員考慮教導(dǎo)和引導(dǎo)來進(jìn)行解釋。
[0136]本發(fā)明的寬度和范圍不應(yīng)當(dāng)受上述任何一個(gè)示例性實(shí)施例的限制,但是應(yīng)當(dāng)僅根據(jù)以下權(quán)利要求及其等同物來限定。
【主權(quán)項(xiàng)】
1.一種用于發(fā)現(xiàn)從多個(gè)轉(zhuǎn)發(fā)設(shè)備到路由控制設(shè)備的路線的方法,包括: (a)在所述多個(gè)轉(zhuǎn)發(fā)設(shè)備中的轉(zhuǎn)發(fā)設(shè)備的端口上接收控制分組; (b)至少部分地基于接收到控制分組的端口,識(shí)別所述轉(zhuǎn)發(fā)設(shè)備上的哪個(gè)端口將數(shù)據(jù)轉(zhuǎn)發(fā)到達(dá)所述路由控制設(shè)備; (C)響應(yīng)于在所述轉(zhuǎn)發(fā)設(shè)備處接收到新數(shù)據(jù)流,在(b)中識(shí)別的端口上將消息發(fā)送到所述路由控制設(shè)備,所述消息指示所述路由控制設(shè)備確定通過所述多個(gè)轉(zhuǎn)發(fā)設(shè)備到目的地的路徑并將所述多個(gè)轉(zhuǎn)發(fā)設(shè)備的子集配置為沿所確定的路徑轉(zhuǎn)發(fā)所述新數(shù)據(jù)流;以及 (d)根據(jù)所述路由控制設(shè)備的配置命令,轉(zhuǎn)發(fā)所述新數(shù)據(jù)流。2.根據(jù)權(quán)利要求1所述的方法,其中,所述發(fā)送(C)包括:通過控制設(shè)備轉(zhuǎn)發(fā)所述新數(shù)據(jù)流的初始分組。3.根據(jù)權(quán)利要求1所述的方法,還包括: (e)在所述轉(zhuǎn)發(fā)設(shè)備的與在(a)中接收到分組的端口不同的其余端口上,將控制分組從所述轉(zhuǎn)發(fā)設(shè)備轉(zhuǎn)發(fā)到另一轉(zhuǎn)發(fā)設(shè)備。4.根據(jù)權(quán)利要求3所述的方法,還包括: (f)在所述轉(zhuǎn)發(fā)設(shè)備,將標(biāo)簽發(fā)送到所述多個(gè)轉(zhuǎn)發(fā)設(shè)備中的另一轉(zhuǎn)發(fā)設(shè)備,其中,當(dāng)所述標(biāo)簽附著到在所述轉(zhuǎn)發(fā)設(shè)備接收到的分組時(shí),所述標(biāo)簽指示所述轉(zhuǎn)發(fā)設(shè)備在(b)中識(shí)別的端口上朝所述路由控制設(shè)備轉(zhuǎn)發(fā)所述分組。5.根據(jù)權(quán)利要求3所述的方法,其中,控制分組包括序列號(hào)以及將分組從所述轉(zhuǎn)發(fā)設(shè)備路由到所述路由控制設(shè)備的估計(jì)時(shí)間,并且所述方法還包括: (f)確定所述轉(zhuǎn)發(fā)設(shè)備是否之前已經(jīng)轉(zhuǎn)發(fā)了來自所述路由控制設(shè)備的另一控制分組,所述另一控制分組具有所述序列號(hào),并具有比所述控制分組中的估計(jì)時(shí)間少的將分組從所述轉(zhuǎn)發(fā)設(shè)備路由到所述路由控制設(shè)備的另一估計(jì)時(shí)間,以及 其中,當(dāng)在(f)中確定所述轉(zhuǎn)發(fā)設(shè)備之前沒有轉(zhuǎn)發(fā)所述另一控制分組時(shí),發(fā)生轉(zhuǎn)發(fā)步驟(e) ο6.根據(jù)權(quán)利要求1所述的方法,還包括: (e)在(b)中識(shí)別的端口上將消息發(fā)送到所述路由控制設(shè)備,所述消息識(shí)別所述轉(zhuǎn)發(fā)設(shè)備以及在所述多個(gè)轉(zhuǎn)發(fā)設(shè)備中所述轉(zhuǎn)發(fā)設(shè)備所連接到的其他轉(zhuǎn)發(fā)設(shè)備, 其中,所述路由控制設(shè)備使用所述消息來建立表示網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的數(shù)據(jù)庫(kù),并使用所述數(shù)據(jù)庫(kù)來確定路徑。7.根據(jù)權(quán)利要求1所述的方法,其中,控制分組包括所述路由控制設(shè)備的標(biāo)識(shí)符,并且所述方法還包括: (e)在所述轉(zhuǎn)發(fā)設(shè)備的端口上接收包括另一路由控制設(shè)備的標(biāo)識(shí)符在內(nèi)的另一控制分組; (f)至少部分地基于接收到轉(zhuǎn)發(fā)設(shè)備的端口,識(shí)別所述轉(zhuǎn)發(fā)設(shè)備上的哪個(gè)端口將數(shù)據(jù)轉(zhuǎn)發(fā)到達(dá)所述另一路由控制設(shè)備;以及 (g)響應(yīng)于在所述轉(zhuǎn)發(fā)設(shè)備接收到新數(shù)據(jù)流,確定所述路由控制設(shè)備和所述另一路由控制設(shè)備中的哪一個(gè)發(fā)送消息,所述消息指示所述路徑配置為通過所述多個(gè)轉(zhuǎn)發(fā)設(shè)備。8.—種用于發(fā)現(xiàn)到控制設(shè)備的路線的轉(zhuǎn)發(fā)設(shè)備,包括: 交換發(fā)現(xiàn)模塊,被配置為:(i)在轉(zhuǎn)發(fā)設(shè)備的端口上接收控制分組,以及(ii)至少部分地基于接收到控制分組的端口來識(shí)別所述轉(zhuǎn)發(fā)設(shè)備上的哪個(gè)端口將數(shù)據(jù)轉(zhuǎn)發(fā)到達(dá)路由控制設(shè)備; 路徑請(qǐng)求模塊,被配置為響應(yīng)于在所述轉(zhuǎn)發(fā)設(shè)備接收到新數(shù)據(jù)流,在所識(shí)別的端口上將消息發(fā)送到所述路由控制設(shè)備,所述消息指示所述路由控制設(shè)備進(jìn)行以下操作:(I)確定通過所述多個(gè)轉(zhuǎn)發(fā)設(shè)備到目的地的路徑,以及(ii)將所述多個(gè)轉(zhuǎn)發(fā)設(shè)備的子集配置為沿所確定的路徑轉(zhuǎn)發(fā)所述新數(shù)據(jù)流;以及 路由表,位于所述轉(zhuǎn)發(fā)設(shè)備內(nèi),用于使得所述轉(zhuǎn)發(fā)設(shè)備能夠根據(jù)所述路由控制設(shè)備的配置命令轉(zhuǎn)發(fā)所述新數(shù)據(jù)流。9.根據(jù)權(quán)利要求8所述的設(shè)備,其中,所述路徑請(qǐng)求模塊還被配置為:通過所述控制設(shè)備轉(zhuǎn)發(fā)所述新數(shù)據(jù)流的初始分組。10.根據(jù)權(quán)利要求8所述的設(shè)備,其中,所述交換發(fā)現(xiàn)模塊被配置為:在所述轉(zhuǎn)發(fā)設(shè)備的與接收到控制分組的端口不同的其余端口上,將控制分組從所述轉(zhuǎn)發(fā)設(shè)備轉(zhuǎn)發(fā)到另一轉(zhuǎn)發(fā)設(shè)備。11.根據(jù)權(quán)利要求10所述的設(shè)備,其中,所述交換發(fā)現(xiàn)模塊被配置為:將標(biāo)簽發(fā)送到所述多個(gè)轉(zhuǎn)發(fā)設(shè)備中的另一轉(zhuǎn)發(fā)設(shè)備,其中,當(dāng)所述標(biāo)簽附著到在所述轉(zhuǎn)發(fā)設(shè)備接收到的分組時(shí),所述標(biāo)簽指示所述轉(zhuǎn)發(fā)設(shè)備在由所述交換發(fā)現(xiàn)模塊識(shí)別的端口上朝所述路由控制設(shè)備轉(zhuǎn)發(fā)所述分組。12.根據(jù)權(quán)利要求10所述的設(shè)備,其中,控制分組包括序列號(hào)以及將分組從所述轉(zhuǎn)發(fā)設(shè)備路由到所述路由控制設(shè)備的估計(jì)時(shí)間,并且所述轉(zhuǎn)發(fā)設(shè)備還包括:性能度量模塊,被配置為: 確定所述轉(zhuǎn)發(fā)設(shè)備是否之前已經(jīng)轉(zhuǎn)發(fā)了來自所述路由控制設(shè)備的另一控制分組,所述另一控制分組具有所述序列號(hào),并具有比所述控制分組中的性能度量更好的將分組從所述轉(zhuǎn)發(fā)設(shè)備路由到所述路由控制設(shè)備的另一性能度量,以及 其中,當(dāng)所述路徑請(qǐng)求模塊確定之前沒有轉(zhuǎn)發(fā)所述另一控制分組時(shí),發(fā)生所述轉(zhuǎn)發(fā)。13.根據(jù)權(quán)利要求10所述的設(shè)備,其中,所述交換發(fā)現(xiàn)模塊還被配置為: 在所識(shí)別的端口上將消息發(fā)送到所述路由控制設(shè)備,所述消息識(shí)別所述轉(zhuǎn)發(fā)設(shè)備以及在所述多個(gè)轉(zhuǎn)發(fā)設(shè)備中所述轉(zhuǎn)發(fā)設(shè)備所連接到的其他轉(zhuǎn)發(fā)設(shè)備, 其中,所述路由控制設(shè)備被配置為使用所述消息來建立表示網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的數(shù)據(jù)庫(kù),并使用所述數(shù)據(jù)庫(kù)來確定路徑。14.根據(jù)權(quán)利要求10所述的設(shè)備,其中,控制分組包括所述路由控制設(shè)備的標(biāo)識(shí)符,并且所述交換發(fā)現(xiàn)模塊還被配置為: 在所述轉(zhuǎn)發(fā)設(shè)備的端口上接收包括另一路由控制設(shè)備的標(biāo)識(shí)符在內(nèi)的另一控制分組; 至少部分地基于接收到轉(zhuǎn)發(fā)設(shè)備的端口,識(shí)別所述轉(zhuǎn)發(fā)設(shè)備上的哪個(gè)端口將數(shù)據(jù)轉(zhuǎn)發(fā)到達(dá)所述另一路由控制設(shè)備;以及 響應(yīng)于在所述轉(zhuǎn)發(fā)設(shè)備接收到新數(shù)據(jù)流,確定所述路由控制設(shè)備和所述另一路由控制設(shè)備中的哪一個(gè)發(fā)送消息,所述消息指示所述路徑配置為通過所述多個(gè)轉(zhuǎn)發(fā)設(shè)備。15.—種有形地實(shí)現(xiàn)指令程序的程序存儲(chǔ)設(shè)備,所述指令能夠由至少一個(gè)機(jī)器執(zhí)行以執(zhí)行用于發(fā)現(xiàn)從多個(gè)轉(zhuǎn)發(fā)設(shè)備到路由控制設(shè)備的路線的方法,所述方法包括: (a)在所述多個(gè)轉(zhuǎn)發(fā)設(shè)備中的轉(zhuǎn)發(fā)設(shè)備的端口上接收控制分組; (b)至少部分地基于接收到控制分組的端口,識(shí)別所述轉(zhuǎn)發(fā)設(shè)備上的哪個(gè)端口將數(shù)據(jù)轉(zhuǎn)發(fā)到達(dá)所述路由控制設(shè)備; (C)響應(yīng)于在所述轉(zhuǎn)發(fā)設(shè)備接收到新數(shù)據(jù)流,在(b)中識(shí)別的端口上將消息發(fā)送到所述路由控制設(shè)備,所述消息指示所述路由控制設(shè)備確定通過所述多個(gè)轉(zhuǎn)發(fā)設(shè)備到目的地的路徑并將所述多個(gè)轉(zhuǎn)發(fā)設(shè)備的子集配置為沿所確定的路徑轉(zhuǎn)發(fā)所述新數(shù)據(jù)流;以及 (d)根據(jù)所述路由控制設(shè)備的配置命令,轉(zhuǎn)發(fā)所述新數(shù)據(jù)流。16.根據(jù)權(quán)利要求15所述的程序存儲(chǔ)設(shè)備,其中,所述發(fā)送(C)包括:通過控制設(shè)備轉(zhuǎn)發(fā)所述新數(shù)據(jù)流的初始分組。17.根據(jù)權(quán)利要求15所述的程序存儲(chǔ)設(shè)備,所述方法還包括: (e)在所述轉(zhuǎn)發(fā)設(shè)備的與在(a)中接收到分組的端口不同的其余端口上,將控制分組從所述轉(zhuǎn)發(fā)設(shè)備轉(zhuǎn)發(fā)到另一轉(zhuǎn)發(fā)設(shè)備。18.根據(jù)權(quán)利要求17所述的程序存儲(chǔ)設(shè)備,所述方法還包括: (f)在所述轉(zhuǎn)發(fā)設(shè)備,將標(biāo)簽發(fā)送到所述多個(gè)轉(zhuǎn)發(fā)設(shè)備中的另一轉(zhuǎn)發(fā)設(shè)備,其中,當(dāng)所述標(biāo)簽附著到在所述轉(zhuǎn)發(fā)設(shè)備接收到的分組時(shí),所述標(biāo)簽指示所述轉(zhuǎn)發(fā)設(shè)備在(b)中識(shí)別的端口上朝所述路由控制設(shè)備轉(zhuǎn)發(fā)所述分組。19.根據(jù)權(quán)利要求17所述的程序存儲(chǔ)設(shè)備,其中,控制分組包括序列號(hào)以及將分組從所述轉(zhuǎn)發(fā)設(shè)備路由到所述路由控制設(shè)備的估計(jì)時(shí)間,并且所述方法還包括: (f)確定所述轉(zhuǎn)發(fā)設(shè)備是否之前已經(jīng)轉(zhuǎn)發(fā)了來自所述路由控制設(shè)備的另一控制分組,所述另一控制分組具有所述序列號(hào),并具有比所述控制分組中的估計(jì)時(shí)間少的將分組從所述轉(zhuǎn)發(fā)設(shè)備路由到所述路由控制設(shè)備的另一估計(jì)時(shí)間,以及 其中,當(dāng)在(f)中確定所述轉(zhuǎn)發(fā)設(shè)備之前沒有轉(zhuǎn)發(fā)所述另一控制分組時(shí),發(fā)生轉(zhuǎn)發(fā)步驟(e) ο20.根據(jù)權(quán)利要求15所述的程序存儲(chǔ)設(shè)備,還包括: (e)在(b)中識(shí)別的端口上將消息發(fā)送到所述路由控制設(shè)備,所述消息識(shí)別所述轉(zhuǎn)發(fā)設(shè)備以及在所述多個(gè)轉(zhuǎn)發(fā)設(shè)備中所述轉(zhuǎn)發(fā)設(shè)備所連接到的其他轉(zhuǎn)發(fā)設(shè)備, 其中,所述路由控制設(shè)備使用所述消息來建立表示網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的數(shù)據(jù)庫(kù),并使用所述數(shù)據(jù)庫(kù)來確定路徑。21.根據(jù)權(quán)利要求15所述的程序存儲(chǔ)設(shè)備,其中,控制分組包括所述路由控制設(shè)備的標(biāo)識(shí)符,并且還包括: (e)在所述轉(zhuǎn)發(fā)設(shè)備的端口上接收包括另一路由控制設(shè)備的標(biāo)識(shí)符在內(nèi)的另一控制分組; (b)至少部分地基于接收到轉(zhuǎn)發(fā)設(shè)備的端口,識(shí)別所述轉(zhuǎn)發(fā)設(shè)備上的哪個(gè)端口將數(shù)據(jù)轉(zhuǎn)發(fā)到達(dá)所述另一路由控制設(shè)備;以及 (g)響應(yīng)于在所述轉(zhuǎn)發(fā)設(shè)備接收到新數(shù)據(jù)流,確定所述路由控制設(shè)備和所述另一路由控制設(shè)備中的哪一個(gè)發(fā)送消息,所述消息指示所述路徑被配置為通過所述多個(gè)轉(zhuǎn)發(fā)設(shè)備的路徑。22.—種路由控制設(shè)備,連接到轉(zhuǎn)發(fā)設(shè)備的網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)設(shè)備的至少一個(gè)端口,所述路由控制設(shè)備包括: 控制器發(fā)現(xiàn)模塊,被配置為確定轉(zhuǎn)發(fā)設(shè)備的網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu); 拓?fù)鋽?shù)據(jù)庫(kù),被配置為存儲(chǔ)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu); 路徑確定模塊,被配置為: 建立從控制設(shè)備到網(wǎng)絡(luò)中的每個(gè)轉(zhuǎn)發(fā)設(shè)備的路徑; 建立從網(wǎng)絡(luò)中的每個(gè)轉(zhuǎn)發(fā)設(shè)備到控制設(shè)備的路徑; 在源轉(zhuǎn)發(fā)設(shè)備請(qǐng)求連接時(shí),建立從源轉(zhuǎn)發(fā)設(shè)備到目的轉(zhuǎn)發(fā)設(shè)備的連接路徑;數(shù)據(jù)轉(zhuǎn)發(fā)模塊,被配置為在所述連接路徑正被建立時(shí),通過從源轉(zhuǎn)發(fā)設(shè)備到控制設(shè)備以及從控制設(shè)備到目的轉(zhuǎn)發(fā)設(shè)備的路徑,來運(yùn)送針對(duì)所請(qǐng)求的連接的至少一個(gè)初始分組。
【文檔編號(hào)】H04L12/28GK106063195SQ201580010033
【公開日】2016年10月26日
【申請(qǐng)日】2015年2月19日
【發(fā)明人】威廉姆·托馬斯·塞拉, 詹姆斯·麥克爾·塞拉
【申請(qǐng)人】第三雷沃通訊有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1