路由發(fā)布方法、系統(tǒng)及控制器的制造方法
【專利摘要】路由發(fā)布方法、系統(tǒng)及控制器,該方法應(yīng)用在基于BGP的路由網(wǎng)絡(luò)中,路由網(wǎng)絡(luò)中的物理控制器分別與多個(gè)物理路由器相連,該方法包括:物理控制器接收多個(gè)物理路由器中的至少一個(gè)物理路由器上報(bào)的路由信息;獲得以所述至少一個(gè)物理路由器為出口路由器向所述目的路由器傳輸流量的流量路徑;為所述流量路徑上的物理路由器生成路由;將生成的路由下發(fā)給對(duì)應(yīng)的物理路由器。本發(fā)明實(shí)施例避免了傳輸?shù)酵荒康牡刂返牧髁吭诔隹诼酚善魈帗砣?;并且接收到流量的路由器可以直接根?jù)按照流量路徑為其生成路由將流量傳輸?shù)皆撀酚善鞯南乱惶酚善鳎鵁o(wú)需再進(jìn)行計(jì)算,因此提升了路由網(wǎng)絡(luò)性能。
【專利說(shuō)明】路由發(fā)布方法、系統(tǒng)及控制器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信【技術(shù)領(lǐng)域】,特別涉及路由發(fā)布方法、系統(tǒng)及控制器。
【背景技術(shù)】
[0002]在自治系統(tǒng)(Autonomous System,AS)內(nèi)通常包含多個(gè)路由器,這些路由器之間可以通過(guò)邊界網(wǎng)關(guān)協(xié)議(Border Gateway Protocol, BGP)進(jìn)行通信,BGP是AS內(nèi)和AS間的動(dòng)態(tài)路由協(xié)議,主要用于交換路由信息,構(gòu)建傳播路徑,防止路由環(huán)路產(chǎn)生。AS內(nèi)的路由器也稱為對(duì)等體(Peer),為了保證路由器之間的連通性,需要在路由器之間建立全連接,即每個(gè)路由器都分別與其它路由器連接。
[0003]但是,當(dāng)一個(gè)AS內(nèi)的路由器數(shù)量較大時(shí),路由器之間所建立的連接數(shù)也會(huì)相應(yīng)很大,建立這些連接將消耗大量網(wǎng)絡(luò)資源。為了減少路由器之間的連接數(shù),現(xiàn)有技術(shù)中將一個(gè)AS內(nèi)的一臺(tái)路由器設(shè)置為路由反射器(Route Reflector, RR),除RR外的其他路由器稱為客戶機(jī)(Client),其中,RR分別與每個(gè)客戶機(jī)建立連接,客戶機(jī)之間無(wú)需建立連接,RR在客戶機(jī)之間反射路由信息,當(dāng)RR接收到目的地址相同的多個(gè)作為出口路由器的客戶機(jī)上報(bào)的路由時(shí),從多個(gè)出口路由器中選擇一個(gè)出口路由器,并將選擇的一個(gè)出口路由器的路由下發(fā)到每個(gè)客戶機(jī)。
[0004]發(fā)明人在對(duì)現(xiàn)有技術(shù)的研究過(guò)程中發(fā)現(xiàn),由于RR僅選擇一個(gè)出口路由器并將該出口路由器的路由下發(fā)給所有客戶機(jī),當(dāng)任意客戶機(jī)接收到傳輸給目的地址所在的路由器的流量時(shí),都需要計(jì)算該客戶機(jī)的下一跳路由,并最終將該流量路由到該一個(gè)出口路由器,因此容易造成該出口路由器擁塞,降低路由網(wǎng)絡(luò)性能。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供一種路由發(fā)布方法、系統(tǒng)及控制器,以解決現(xiàn)有技術(shù)中發(fā)布的路由容易造成路由出口擁塞,導(dǎo)致網(wǎng)絡(luò)路由性能不高的問(wèn)題。
[0006]為了解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例公開(kāi)了如下技術(shù)方案:
[0007]第一方面,提供一種路由發(fā)布方法,所述方法應(yīng)用在基于邊界網(wǎng)關(guān)協(xié)議BGP的路由網(wǎng)絡(luò)中,所述路由網(wǎng)絡(luò)中的物理控制器分別與多個(gè)物理路由器相連,所述方法包括:
[0008]所述物理控制器接收所述多個(gè)物理路由器中的至少一個(gè)物理路由器上報(bào)的路由信息,所述路由信息中包括與所述至少一個(gè)物理路由器相連的目的路由器的目的地址;
[0009]所述物理控制器獲得以所述至少一個(gè)物理路由器為出口路由器向所述目的路由器傳輸流量的流量路徑;
[0010]所述物理控制器為所述流量路徑上的物理路由器生成路由;
[0011]所述物理控制器將生成的路由下發(fā)給對(duì)應(yīng)的物理路由器。
[0012]結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述物理控制器接收所述多個(gè)物理路由器中的至少一個(gè)物理路由器上報(bào)的路由信息后,所述方法還包括:
[0013]所述物理控制器為所述路由信息建立路由表項(xiàng),所述路由表項(xiàng)中包括所述至少一個(gè)物理路由器的路由器標(biāo)識(shí)與所述目的地址的對(duì)應(yīng)關(guān)系;
[0014]所述物理控制器獲得以所述至少一個(gè)物理路由器為出口路由器向所述目的路由器傳輸流量的流量路徑,包括:
[0015]所述物理控制器根據(jù)所述至少一個(gè)物理路由器的路由器標(biāo)識(shí)匹配設(shè)置的流量路徑數(shù)據(jù)庫(kù);
[0016]根據(jù)匹配結(jié)果,從所述流量路徑數(shù)據(jù)庫(kù)中獲得包含將所述至少一個(gè)物理路由器作為向所述目的路由器傳輸流量的出口路由器的流量路徑。
[0017]結(jié)合第一方面,或第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述物理控制器接收所述多個(gè)物理路由器中的至少一個(gè)物理路由器上報(bào)的路由信息之前,所述方法還包括:
[0018]所述物理控制器根據(jù)所述路由網(wǎng)絡(luò)中所述物理控制器與所述多個(gè)物理路由器的連接關(guān)系生成邏輯網(wǎng)絡(luò),所述邏輯網(wǎng)絡(luò)中的邏輯控制器分別與多個(gè)邏輯路由器相連,其中,所述邏輯控制器對(duì)應(yīng)于所述物理控制器,每一個(gè)所述邏輯路由器對(duì)應(yīng)于一個(gè)所述物理路由器;
[0019]所述物理控制器接收所述多個(gè)物理路由器中的至少一個(gè)物理路由器上報(bào)的路由信息,包括:
[0020]所述物理控制器通過(guò)與所述至少一個(gè)物理路由器對(duì)應(yīng)的至少一個(gè)邏輯路由器接收所述至少一個(gè)物理路由器上報(bào)的路由信息;
[0021]所述物理控制器通過(guò)所述至少一個(gè)邏輯路由器將所述路由信息上報(bào)給所述邏輯控制器。
[0022]結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述物理控制器為所述流量路徑上的物理路由器生成路由,包括:
[0023]所述物理控制器通過(guò)所述邏輯控制器為所述流量路徑上的物理路由器生成路由;
[0024]所述物理控制器將生成的路由下發(fā)給對(duì)應(yīng)的物理路由器,包括:
[0025]所述物理控制器通過(guò)所述邏輯控制器將為所述流量路徑上的物理路由器生成的路由下發(fā)給與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器;
[0026]所述物理控制器通過(guò)所述邏輯路由器將所述生成的路由轉(zhuǎn)發(fā)給與所述邏輯路由器對(duì)應(yīng)的物理路由器。
[0027]結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第四種可能的實(shí)現(xiàn)方式中,所述物理控制器為所述流量路徑上的物理路由器生成路由,包括:
[0028]所述物理控制器通過(guò)所述邏輯控制器將所述路由信息下發(fā)給所述多個(gè)邏輯路由器,以使與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器為所述流量路徑上的物理路由器生成路由;
[0029]所述物理控制器將生成的路由下發(fā)給對(duì)應(yīng)的物理路由器,包括:
[0030]所述物理控制器通過(guò)與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器將生成的路由下發(fā)給所述流量路徑上的物理路由器。
[0031]第二方面,提供一種路由發(fā)布系統(tǒng),所述系統(tǒng)應(yīng)用在基于邊界網(wǎng)關(guān)協(xié)議BGP的路由網(wǎng)絡(luò)中,所述系統(tǒng)包括:物理控制器,以及所述物理控制器分別相連的多個(gè)物理路由器,其中,
[0032]所述物理路由器,用于接收與所述物理路由器相連的目的路由器上報(bào)的路由信息,所述路由信息中包括與所述目的路由器的目的地址;
[0033]所述物理控制器,用于接收所述多個(gè)物理路由器中的至少一個(gè)物理路由器上報(bào)的路由信息,獲得以所述至少一個(gè)物理路由器為出口路由器向所述目的路由器傳輸流量的流量路徑,為所述流量路徑上的物理路由器生成路由,并將生成的路由下發(fā)給對(duì)應(yīng)的物理路由器。
[0034]結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述物理控制器,還用于在接收所述多個(gè)物理路由器中的至少一個(gè)物理路由器上報(bào)的路由信息后,為所述路由信息建立路由表項(xiàng),所述路由表項(xiàng)中包括所述至少一個(gè)物理路由器的路由器標(biāo)識(shí)與所述目的地址的對(duì)應(yīng)關(guān)系;
[0035]所述物理控制器,具體用于根據(jù)所述至少一個(gè)物理路由器的路由器標(biāo)識(shí)匹配設(shè)置的流量路徑數(shù)據(jù)庫(kù),根據(jù)匹配結(jié)果,從所述流量路徑數(shù)據(jù)庫(kù)中獲得包含將所述至少一個(gè)物理路由器作為向所述目的路由器傳輸流量的出口路由器的流量路徑。
[0036]結(jié)合第二方面,或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述物理控制器,還用于根據(jù)所述路由網(wǎng)絡(luò)中所述物理控制器與所述多個(gè)物理路由器的連接關(guān)系生成邏輯網(wǎng)絡(luò),所述邏輯網(wǎng)絡(luò)中的邏輯控制器分別與多個(gè)邏輯路由器相連,其中,所述邏輯控制器對(duì)應(yīng)于所述物理控制器,每一個(gè)所述邏輯路由器對(duì)應(yīng)于一個(gè)所述物理路由器;
[0037]所述物理控制器,具體用于通過(guò)與所述至少一個(gè)物理路由器對(duì)應(yīng)的至少一個(gè)邏輯路由器接收所述至少一個(gè)物理路由器上報(bào)的路由信息,通過(guò)所述至少一個(gè)邏輯路由器將所述路由信息上報(bào)給所述邏輯控制器。
[0038]結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述物理控制器,具體用于通過(guò)所述邏輯控制器為所述流量路徑上的物理路由器生成路由,通過(guò)所述邏輯控制器將為所述流量路徑上的物理路由器生成的路由下發(fā)給與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器,并通過(guò)所述邏輯路由器將所述生成的路由轉(zhuǎn)發(fā)給與所述邏輯路由器對(duì)應(yīng)的物理路由器。
[0039]結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,在第二方面的第四種可能的實(shí)現(xiàn)方式中,所述物理控制器,具體用于通過(guò)所述邏輯控制器將所述路由信息下發(fā)給所述多個(gè)邏輯路由器,以使與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器為所述流量路徑上的物理路由器生成路由,并通過(guò)與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器將生成的路由下發(fā)給所述流量路徑上的物理路由器。
[0040]第三方面,提供一種控制器,所述控制器作為物理控制器,應(yīng)用在基于邊界網(wǎng)關(guān)協(xié)議BGP的路由網(wǎng)絡(luò)中,所述路由網(wǎng)絡(luò)中還包括與所述物理控制器分別相連的多個(gè)物理路由器,所述控制器包括:
[0041]接收單元,用于接收所述多個(gè)物理路由器中的至少一個(gè)物理路由器上報(bào)的路由信息,所述路由信息中包括與所述至少一個(gè)物理路由器相連的目的路由器的目的地址;
[0042]獲得單元,用于獲得以所述至少一個(gè)物理路由器為出口路由器向所述目的路由器傳輸流量的流量路徑;[0043]生成單元,用于為所述獲得單元獲得的流量路徑上的物理路由器生成路由;
[0044]發(fā)布單元,用于將所述生成單元生成的路由下發(fā)給對(duì)應(yīng)的物理路由器。
[0045]結(jié)合第三方面,在第三方面的第一種可能的實(shí)現(xiàn)方式中,所述控制器還包括:
[0046]建立單元,用于為所述接收單元接收到的路由信息建立路由表項(xiàng),所述路由表項(xiàng)中包括所述至少一個(gè)物理路由器的路由器標(biāo)識(shí)與所述目的地址的對(duì)應(yīng)關(guān)系;
[0047]所述獲得單元包括:
[0048]路徑匹配子單元,用于根據(jù)所述至少一個(gè)物理路由器的路由器標(biāo)識(shí)匹配設(shè)置的流量路徑數(shù)據(jù)庫(kù);
[0049]路徑獲得子單元,用于根據(jù)所述路徑匹配子單元的匹配結(jié)果,從所述流量路徑數(shù)據(jù)庫(kù)中獲得包含將所述至少一個(gè)物理路由器作為向所述目的路由器傳輸流量的出口路由器的流量路徑。
[0050]結(jié)合第三方面,或第三方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述控制器還包括:
[0051]邏輯單元,用于根據(jù)所述路由網(wǎng)絡(luò)中所述物理控制器與所述多個(gè)物理路由器的連接關(guān)系生成邏輯網(wǎng)絡(luò),所述邏輯網(wǎng)絡(luò)中的邏輯控制器分別與多個(gè)邏輯路由器相連,其中,所述邏輯控制器對(duì)應(yīng)于所述物理控制器,每一個(gè)所述邏輯路由器對(duì)應(yīng)于一個(gè)所述物理路由器;
[0052]所述接收單元,具體用于通過(guò)與所述至少一個(gè)物理路由器對(duì)應(yīng)的至少一個(gè)邏輯路由器接收所述至少一個(gè)物理路由器上報(bào)的路由信息,并通過(guò)所述至少一個(gè)邏輯路由器將所述路由信息上報(bào)給所述邏輯控制器。
[0053]結(jié)合第三方面的第二種可能的實(shí)現(xiàn)方式,在第三方面的第三種可能的實(shí)現(xiàn)方式中,所述生成單元,具體用于通過(guò)所述邏輯控制器為所述流量路徑上的物理路由器生成路由;
[0054]所述發(fā)布單元,具體用于通過(guò)所述邏輯控制器將為所述流量路徑上的物理路由器生成的路由下發(fā)給與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器,并通過(guò)所述邏輯路由器將所述生成的路由轉(zhuǎn)發(fā)給與所述邏輯路由器對(duì)應(yīng)的物理路由器。
[0055]結(jié)合第三方面的第二種可能的實(shí)現(xiàn)方式,在第三方面的第四種可能的實(shí)現(xiàn)方式中,所述生成單元,具體用于通過(guò)所述邏輯控制器將所述路由信息下發(fā)給所述多個(gè)邏輯路由器,以使與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器為所述流量路徑上的物理路由器生成路由;
[0056]所述發(fā)布單元,具體用于通過(guò)與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器將生成的路由下發(fā)給所述流量路徑上的物理路由器。
[0057]第四方面,提供一種控制器,所述控制器作為物理控制器,應(yīng)用在基于邊界網(wǎng)關(guān)協(xié)議BGP的路由網(wǎng)絡(luò)中,所述路由網(wǎng)絡(luò)中還包括與所述物理控制器分別相連的多個(gè)物理路由器,所述控制器包括:網(wǎng)絡(luò)接口和處理器,其中,
[0058]所述網(wǎng)絡(luò)接口,用于接收所述多個(gè)物理路由器中的至少一個(gè)物理路由器上報(bào)的路由信息,所述路由信息中包括與所述至少一個(gè)物理路由器相連的目的路由器的目的地址;
[0059]所述處理器,用于獲得以所述至少一個(gè)物理路由器為出口路由器向所述目的路由器傳輸流量的流量路徑,為所述流量路徑上的物理路由器生成路由,并通過(guò)所述網(wǎng)絡(luò)接口將生成的路由下發(fā)給對(duì)應(yīng)的物理路由器。
[0060]結(jié)合第四方面,在第四方面的第一種可能的實(shí)現(xiàn)方式中,所述處理器,還用于為所述路由信息建立路由表項(xiàng),所述路由表項(xiàng)中包括所述至少一個(gè)物理路由器的路由器標(biāo)識(shí)與所述目的地址的對(duì)應(yīng)關(guān)系;
[0061]所述處理器,具體用于根據(jù)所述至少一個(gè)物理路由器的路由器標(biāo)識(shí)匹配設(shè)置的流量路徑數(shù)據(jù)庫(kù),并根據(jù)匹配結(jié)果,從所述流量路徑數(shù)據(jù)庫(kù)中獲得包含將所述至少一個(gè)物理路由器作為向所述目的路由器傳輸流量的出口路由器的流量路徑。
[0062]結(jié)合第四方面,或第四方面的第一種可能的實(shí)現(xiàn)方式,在第四方面的第二種可能的實(shí)現(xiàn)方式中,所述處理器,還用于根據(jù)所述路由網(wǎng)絡(luò)中所述物理控制器與所述多個(gè)物理路由器的連接關(guān)系生成邏輯網(wǎng)絡(luò),所述邏輯網(wǎng)絡(luò)中的邏輯控制器分別與多個(gè)邏輯路由器相連,其中,所述邏輯控制器對(duì)應(yīng)于所述物理控制器,每一個(gè)所述邏輯路由器對(duì)應(yīng)于一個(gè)所述物理路由器;
[0063]所述處理器,具體用于通過(guò)與所述至少一個(gè)物理路由器對(duì)應(yīng)的至少一個(gè)邏輯路由器接收所述至少一個(gè)物理路由器上報(bào)的路由信息,并通過(guò)所述至少一個(gè)邏輯路由器將所述路由信息上報(bào)給所述邏輯控制器。
[0064]結(jié)合第四方面的第二種可能的實(shí)現(xiàn)方式,在第四方面的第三種可能的實(shí)現(xiàn)方式中,所述處理器,具體用于通過(guò)所述邏輯控制器為所述流量路徑上的物理路由器生成路由,通過(guò)所述邏輯控制器將為所述流量路徑上的物理路由器生成的路由下發(fā)給與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器,通過(guò)所述邏輯路由器將所述生成的路由通過(guò)所述網(wǎng)絡(luò)接口轉(zhuǎn)發(fā)給與所述邏輯路由器對(duì)應(yīng)的物理路由器。
[0065]結(jié)合第四方面的第二種可能的實(shí)現(xiàn)方式,在第四方面的第四種可能的實(shí)現(xiàn)方式中,所述處理器,具體用于通過(guò)所述邏輯控制器將所述路由信息下發(fā)給所述多個(gè)邏輯路由器,以使與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器為所述流量路徑上的物理路由器生成路由,并通過(guò)與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器將生成的路由通過(guò)所述網(wǎng)絡(luò)接口下發(fā)給所述流量路徑上的物理路由器。
[0066]本發(fā)明實(shí)施例中,在基于BGP的路由網(wǎng)絡(luò)中的物理控制器分別與多個(gè)物理路由器相連,物理控制器接收多個(gè)物理路由器中的至少一個(gè)物理路由器上報(bào)的路由信息,獲得以至少一個(gè)物理路由器為出口路由器向所述目的路由器傳輸流量的流量路徑,為流量路徑上的物理路由器生成路由,并將生成的路由下發(fā)給對(duì)應(yīng)的物理路由器。應(yīng)用本發(fā)明實(shí)施例,由于可以根據(jù)需要預(yù)先規(guī)劃同一目的地址的多個(gè)流量路徑,多個(gè)流量路徑的出口路由器不相同,因此避免了傳輸?shù)皆撏荒康牡刂返牧髁吭诔隹诼酚善魈帗砣徊⑶矣捎谖锢砜刂破骺梢愿鶕?jù)流量路徑直接為流量路徑上的各個(gè)路由器生成路由,即為各個(gè)路由器生成其在流量路徑上的下一跳路由,因此接收到流量的路由器可以直接根據(jù)其路由將流量傳輸?shù)皆撀酚善鞯南乱惶酚善鳎鵁o(wú)需再進(jìn)行計(jì)算,因此提升了路由網(wǎng)絡(luò)性能。
【專利附圖】
【附圖說(shuō)明】
[0067]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0068]圖1A為本發(fā)明實(shí)施例應(yīng)用的路由網(wǎng)絡(luò)場(chǎng)景示意圖;
[0069]圖1B為本發(fā)明路由發(fā)布方法的一個(gè)實(shí)施例流程圖;
[0070]圖2為本發(fā)明路由發(fā)布方法的另一個(gè)實(shí)施例流程圖;
[0071]圖3A為本發(fā)明路由發(fā)布方法的另一個(gè)實(shí)施例流程圖;
[0072]圖3B為基于圖1A示出的路由網(wǎng)絡(luò)生成的邏輯網(wǎng)絡(luò)示意圖;
[0073]圖4為本發(fā)明路由發(fā)布系統(tǒng)的實(shí)施例框圖;
[0074]圖5為本發(fā)明控制器的一個(gè)實(shí)施例框圖;
[0075]圖6為本發(fā)明控制器的另一個(gè)實(shí)施例框圖;
[0076]圖7為本發(fā)明控制器的另一個(gè)實(shí)施例框圖;
[0077]圖8為本發(fā)明控制器的另一個(gè)實(shí)施例框圖。
【具體實(shí)施方式】
[0078]為了使本【技術(shù)領(lǐng)域】的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例中技術(shù)方案作進(jìn)一步詳細(xì)的說(shuō)明。
[0079]參見(jiàn)圖1A,為本發(fā)明實(shí)施例應(yīng)用的路由網(wǎng)絡(luò)場(chǎng)景示意圖:
[0080]圖1A中的路由網(wǎng)絡(luò)為基于BGP的路由網(wǎng)絡(luò),其中示出了四個(gè)AS,分別為AS1、AS10、AS2和AS3。其中,AS10內(nèi)包括一個(gè)控制器和與該控制器通過(guò)域內(nèi)BGP (internalBGP, iBGP)分別相連的多個(gè)路由器,包括 D1、D2、D3、D4、D5、D6、D7、D8,以及 P1、P2、P3、P4,上述路由器之間可以不直接相連,圖1A中路由器之間的虛線僅表示這些路由器之間可以依據(jù)路由關(guān)系傳輸流量;AS1中包括一個(gè)路由器Al,AS2中包括一個(gè)路由器A2,以及AS3中包括一個(gè)路由器A3,其中,A1與AS10中的邊緣路由器D8、Dl、D2通過(guò)域間BGP (eternalBGP, eBGP)相連,A2與AS10中的邊緣路由器D6通過(guò)eBGP相連,A3與AS10中的邊緣路由器D5通過(guò)eBGP相連。圖1A中示出的控制器及路由器均為實(shí)體設(shè)備,因此本發(fā)明實(shí)施例也可稱其為物理控制器和物理路由器。
[0081]參見(jiàn)圖1B,為本發(fā)明路由發(fā)布方法的一個(gè)實(shí)施例流程圖:
[0082]步驟101:物理控制器接收與其相連的多個(gè)物理路由器中的至少一個(gè)物理路由器上報(bào)的路由信息,該路由信息中包括與至少一個(gè)物理路由器相連的目的路由器的目的地址。
[0083]本實(shí)施例中,當(dāng)目的路由器要發(fā)布路由信息時(shí),該目的路由器將包含目的地址的路由信息傳輸?shù)脚c其相連的路由網(wǎng)絡(luò)中的至少一個(gè)物理路由器,該至少一個(gè)物理路由器為路由網(wǎng)絡(luò)的邊緣路由器,當(dāng)至少一個(gè)物理路由器接收到目的路由器發(fā)布的路由信息后,分別將該路由信息上報(bào)到物理控制器。
[0084]步驟102:物理控制器獲得以至少一個(gè)物理路由器為出口路由器向該目的路由器傳輸流量的流量路徑。
[0085]當(dāng)物理控制器接收到至少一個(gè)物理路由器上報(bào)的路由信息后,可以為該路由信息建立路由表項(xiàng),該路由表項(xiàng)中包括至少一個(gè)物理路由器的路由器標(biāo)識(shí)與目的路由器的目的地址的對(duì)應(yīng)關(guān)系;物理控制器可以根據(jù)至少一個(gè)物理路由器的路由器標(biāo)識(shí)匹配預(yù)先設(shè)置的流量路徑數(shù)據(jù)庫(kù),該流量路徑數(shù)據(jù)庫(kù)中可以包括預(yù)先規(guī)劃的多條流量路徑,每一條流量路徑都包括了源路由器與目的路由器之間傳輸流量所經(jīng)過(guò)的路由網(wǎng)絡(luò)中的物理路由器,以及這些物理路由器之間的傳輸方向,物理控制器可以根據(jù)匹配結(jié)果,從流量路徑數(shù)據(jù)庫(kù)中獲得包含將至少一個(gè)物理路由器作為向目的路由器傳輸流量的出口路由器的流量路徑。
[0086]步驟103:物理控制器為流量路徑上的物理路由器生成路由。
[0087]本實(shí)施例中,由于每一條流量路徑都包括了源路由器與目的路由器之間傳輸流量所經(jīng)過(guò)的路由網(wǎng)絡(luò)中的物理路由器,以及這些物理路由器之間的傳輸方向,因此物理控制器可以為傳輸路徑上的每一個(gè)路由器生成路由,該路由標(biāo)識(shí)了該路由器的下一跳路由器。
[0088]步驟104:物理控制器將生成的路由下發(fā)給對(duì)應(yīng)的物理路由器。
[0089]由上述實(shí)施例可見(jiàn),該實(shí)施例由于可以根據(jù)需要預(yù)先規(guī)劃同一目的地址的多個(gè)流量路徑,多個(gè)流量路徑的出口路由器不相同,因此避免了傳輸?shù)皆撏荒康牡刂返牧髁吭诔隹诼酚善魈帗砣徊⑶矣捎谖锢砜刂破骺梢愿鶕?jù)流量路徑直接為流量路徑上的各個(gè)路由器生成路由,即為各個(gè)路由器生成其在流量路徑上的下一跳路由,因此接收到流量的路由器可以直接根據(jù)其路由將流量傳輸?shù)皆撀酚善鞯南乱惶酚善?,而無(wú)需再進(jìn)行計(jì)算,因此提升了路由網(wǎng)絡(luò)性能。
[0090]參見(jiàn)圖2,為本發(fā)明路由發(fā)布方法的另一個(gè)實(shí)施例流程圖,該實(shí)施例結(jié)合圖1A示出的網(wǎng)絡(luò)架構(gòu)進(jìn)行描述:
[0091]步驟201:物理控制器接收與其相連的多個(gè)物理路由器中的至少一個(gè)物理路由器上報(bào)的路由信息,該路由信息中包括與至少一個(gè)物理路由器相連的目的路由器的目的地址。
[0092]本實(shí)施例中,當(dāng)目的路由器要發(fā)布路由信息時(shí),該目的路由器將包含目的地址的路由信息傳輸?shù)脚c其相連的路由網(wǎng)絡(luò)中的至少一個(gè)物理路由器,該至少一個(gè)物理路由器為路由網(wǎng)絡(luò)的邊緣路由器,當(dāng)至少一個(gè)物理路由器接收到目的路由器發(fā)布的路由信息后,分別將該路由信息上報(bào)到物理控制器。
[0093]結(jié)合圖1A,當(dāng)有流量要傳輸?shù)紸S1中的路由器A1時(shí),該路由器A1作為目的路由器,路由器A1的地址作為目的地址,該目的地址通常指互聯(lián)網(wǎng)協(xié)議(Internet Protocol,IP)地址。當(dāng)路由器A1發(fā)布其地址時(shí),可以將包含該地址的路由信息發(fā)送給通過(guò)eBGP相連的三個(gè)路由器D8、D1和D2,如圖1A所示,該地址表示為DEST_IP。當(dāng)三個(gè)路由器D8、D1和D2接收到包含DEST_IP的路由信息后,將該路由信息上報(bào)給控制器。
[0094]步驟202:物理控制器為路由信息建立路由表項(xiàng),該路由表項(xiàng)中包括至少一個(gè)物理路由器的路由器標(biāo)識(shí)與目的地址的對(duì)應(yīng)關(guān)系。
[0095]當(dāng)物理控制器接收到至少一個(gè)物理路由器上報(bào)的路由信息后,可以為該路由信息建立路由表項(xiàng),該路由表項(xiàng)中包括至少一個(gè)物理路由器的路由器標(biāo)識(shí)與目的路由器的目的地址的對(duì)應(yīng)關(guān)系。結(jié)合圖1A,當(dāng)物理控制器接收到三個(gè)路由器D8、D1和D2上報(bào)的路由信息后,為該路由信息建立三條路由表項(xiàng),如下表1所示:
[0096]表1
[0097]
【權(quán)利要求】
1.一種路由發(fā)布方法,其特征在于,所述方法應(yīng)用在基于邊界網(wǎng)關(guān)協(xié)議BGP的路由網(wǎng)絡(luò)中,所述路由網(wǎng)絡(luò)中的物理控制器分別與多個(gè)物理路由器相連,所述方法包括: 所述物理控制器接收所述多個(gè)物理路由器中的至少一個(gè)物理路由器上報(bào)的路由信息,所述路由信息中包括與所述至少一個(gè)物理路由器相連的目的路由器的目的地址; 所述物理控制器獲得以所述至少一個(gè)物理路由器為出口路由器向所述目的路由器傳輸流量的流量路徑; 所述物理控制器為所述流量路徑上的物理路由器生成路由 ; 所述物理控制器將生成的路由下發(fā)給對(duì)應(yīng)的物理路由器。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述物理控制器接收所述多個(gè)物理路由器中的至少一個(gè)物理路由器上報(bào)的路由信息后,所述方法還包括: 所述物理控制器為所述路由信息建立路由表項(xiàng),所述路由表項(xiàng)中包括所述至少一個(gè)物理路由器的路由器標(biāo)識(shí)與所述目的地址的對(duì)應(yīng)關(guān)系; 所述物理控制器獲得以所述至少一個(gè)物理路由器為出口路由器向所述目的路由器傳輸流量的流量路徑,包括: 所述物理控制器根據(jù)所述至少一個(gè)物理路由器的路由器標(biāo)識(shí)匹配設(shè)置的流量路徑數(shù)據(jù)庫(kù); 根據(jù)匹配結(jié)果,從所述流量路徑數(shù)據(jù)庫(kù)中獲得包含將所述至少一個(gè)物理路由器作為向所述目的路由器傳輸流量的出口路由器的流量路徑。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述物理控制器接收所述多個(gè)物理路由器中的至少一個(gè)物理路由器上報(bào)的路由信息之前,所述方法還包括:所述物理控制器根據(jù)所述路由網(wǎng)絡(luò)中所述物理控制器與所述多個(gè)物理路由器的連接關(guān)系生成邏輯網(wǎng)絡(luò),所述邏輯網(wǎng)絡(luò)中的邏輯控制器分別與多個(gè)邏輯路由器相連,其中,所述邏輯控制器對(duì)應(yīng)于所述物理控制器,每一個(gè)所述邏輯路由器對(duì)應(yīng)于一個(gè)所述物理路由器;所述物理控制器接收所述多個(gè)物理路由器中的至少一個(gè)物理路由器上報(bào)的路由信息,包括: 所述物理控制器通過(guò)與所述至少一個(gè)物理路由器對(duì)應(yīng)的至少一個(gè)邏輯路由器接收所述至少一個(gè)物理路由器上報(bào)的路由信息; 所述物理控制器通過(guò)所述至少一個(gè)邏輯路由器將所述路由信息上報(bào)給所述邏輯控制器。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述物理控制器為所述流量路徑上的物理路由器生成路由,包括: 所述物理控制器通過(guò)所述邏輯控制器為所述流量路徑上的物理路由器生成路由; 所述物理控制器將生成的路由下發(fā)給對(duì)應(yīng)的物理路由器,包括: 所述物理控制器通過(guò)所述邏輯控制器將為所述流量路徑上的物理路由器生成的路由下發(fā)給與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器; 所述物理控制器通過(guò)所述邏輯路由器將所述生成的路由轉(zhuǎn)發(fā)給與所述邏輯路由器對(duì)應(yīng)的物理路由器。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述物理控制器為所述流量路徑上的物理路由器生成路由,包括:所述物理控制器通過(guò)所述邏輯控制器將所述路由信息下發(fā)給所述多個(gè)邏輯路由器,以使與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器為所述流量路徑上的物理路由器生成路由; 所述物理控制器將生成的路由下發(fā)給對(duì)應(yīng)的物理路由器,包括: 所述物理控制器通過(guò)與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器將生成的路由下發(fā)給所述流量路徑上的物理路由器。
6.一種路由發(fā)布系統(tǒng),其特征在于,所述系統(tǒng)應(yīng)用在基于邊界網(wǎng)關(guān)協(xié)議BGP的路由網(wǎng)絡(luò)中,所述系統(tǒng)包括:物理控制器,以及所述物理控制器分別相連的多個(gè)物理路由器,其中, 所述物理路由器,用于接收與所述物理路由器相連的目的路由器上報(bào)的路由信息,所述路由信息中包括與所述目的路由器的目的地址; 所述物理控制器,用于接收所述多個(gè)物理路由器中的至少一個(gè)物理路由器上報(bào)的路由信息,獲得以所述至少一個(gè)物理路由器為出口路由器向所述目的路由器傳輸流量的流量路徑,為所述流量路徑上的物理路由器生成路由,并將生成的路由下發(fā)給對(duì)應(yīng)的物理路由器。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于, 所述物理控制器,還用于在接收所述多個(gè)物理路由器中的至少一個(gè)物理路由器上報(bào)的路由信息后,為所述路由信息建立路由表項(xiàng),所述路由表項(xiàng)中包括所述至少一個(gè)物理路由器的路由器標(biāo)識(shí)與所述目的地址的對(duì)應(yīng)關(guān)系; 所述物理控制器,具體用于根據(jù)所述至少一個(gè)物理路由器的路由器標(biāo)識(shí)匹配設(shè)置的流量路徑數(shù)據(jù)庫(kù),根據(jù)匹配結(jié)果,從所述流量路徑數(shù)據(jù)庫(kù)中獲得包含將所述至少一個(gè)物理路由器作為向所述目的路由器傳輸流量的出口路由器的流量路徑。
8.根據(jù)權(quán)利要求6或7所述的系統(tǒng),其特征在于, 所述物理控制器,還用于根據(jù)所述路由網(wǎng)絡(luò)中所述物理控制器與所述多個(gè)物理路由器的連接關(guān)系生成邏輯網(wǎng)絡(luò),所述邏輯網(wǎng)絡(luò)中的邏輯控制器分別與多個(gè)邏輯路由器相連,其中,所述邏輯控制器對(duì)應(yīng)于所述物理控制器,每一個(gè)所述邏輯路由器對(duì)應(yīng)于一個(gè)所述物理路由器; 所述物理控制器,具體用于通過(guò)與所述至少一個(gè)物理路由器對(duì)應(yīng)的至少一個(gè)邏輯路由器接收所述至少一個(gè)物理路由器上報(bào)的路由信息,通過(guò)所述至少一個(gè)邏輯路由器將所述路由信息上報(bào)給所述邏輯控制器。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于, 所述物理控制器,具體用于通過(guò)所述邏輯控制器為所述流量路徑上的物理路由器生成路由,通過(guò)所述邏輯控制器將為所述流量路徑上的物理路由器生成的路由下發(fā)給與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器,并通過(guò)所述邏輯路由器將所述生成的路由轉(zhuǎn)發(fā)給與所述邏輯路由器對(duì)應(yīng)的物理路由器。
10.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于, 所述物理控制器,具體用于通過(guò)所述邏輯控制器將所述路由信息下發(fā)給所述多個(gè)邏輯路由器,以使與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器為所述流量路徑上的物理路由器生成路由,并通過(guò)與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器將生成的路由下發(fā)給所述流量路徑上的物理路由器。
11.一種控制器,其特征在于,所述控制器作為物理控制器,應(yīng)用在基于邊界網(wǎng)關(guān)協(xié)議BGP的路由網(wǎng)絡(luò)中,所述路由網(wǎng)絡(luò)中還包括與所述物理控制器分別相連的多個(gè)物理路由器,所述控制器包括:接收單元,用于接收所述多個(gè)物理路由器中的至少一個(gè)物理路由器上報(bào)的路由信息,所述路由信息中包括與所述至少一個(gè)物理路由器相連的目的路由器的目的地址;獲得單元,用于獲得以所述至少一個(gè)物理路由器為出口路由器向所述目的路由器傳輸流量的流量路徑;生成單元,用于為所述獲得單元獲得的流量路徑上的物理路由器生成路由;發(fā)布單元,用于將所述生成單元生成的路由下發(fā)給對(duì)應(yīng)的物理路由器。
12.根據(jù)權(quán)利要求11所述的控制器,其特征在于,所述控制器還包括:建立單元,用于為所述接收單元接收到的路由信息建立路由表項(xiàng),所述路由表項(xiàng)中包括所述至少一個(gè)物理路由器的路由器標(biāo)識(shí)與所述目的地址的對(duì)應(yīng)關(guān)系;所述獲得單元包括:路徑匹配子單元,用于根據(jù)所述至少一個(gè)物理路由器的路由器標(biāo)識(shí)匹配設(shè)置的流量路徑數(shù)據(jù)庫(kù);`路徑獲得子單元,用于根據(jù)所述路徑匹配子單元的匹配結(jié)果,從所述流量路徑數(shù)據(jù)庫(kù)中獲得包含將所述至少一個(gè)物理路由器作為向所述目的路由器傳輸流量的出口路由器的流量路徑。
13.根據(jù)權(quán)利要求11或12所述的控制器,其特征在于,所述控制器還包括:邏輯單元,用于根據(jù)所述路由網(wǎng)絡(luò)中所述物理控制器與所述多個(gè)物理路由器的連接關(guān)系生成邏輯網(wǎng)絡(luò),所述邏輯網(wǎng)絡(luò)中的邏輯控制器分別與多個(gè)邏輯路由器相連,其中,所述邏輯控制器對(duì)應(yīng)于所述物理控制器,每一個(gè)所述邏輯路由器對(duì)應(yīng)于一個(gè)所述物理路由器;所述接收單元,具體用于通過(guò)與所述至少一個(gè)物理路由器對(duì)應(yīng)的至少一個(gè)邏輯路由器接收所述至少一個(gè)物理路由器上報(bào)的路由信息,并通過(guò)所述至少一個(gè)邏輯路由器將所述路由信息上報(bào)給所述邏輯控制器。
14.根據(jù)權(quán)利要求13所述的控制器,其特征在于,所述生成單元,具體用于通過(guò)所述邏輯控制器為所述流量路徑上的物理路由器生成路由;所述發(fā)布單元,具體用于通過(guò)所述邏輯控制器將為所述流量路徑上的物理路由器生成的路由下發(fā)給與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器,并通過(guò)所述邏輯路由器將所述生成的路由轉(zhuǎn)發(fā)給與所述邏輯路由器對(duì)應(yīng)的物理路由器。
15.根據(jù)權(quán)利要求13所述的控制器,其特征在于,所述生成單元,具體用于通過(guò)所述邏輯控制器將所述路由信息下發(fā)給所述多個(gè)邏輯路由器,以使與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器為所述流量路徑上的物理路由器生成路由;所述發(fā)布單元,具體用于通過(guò)與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器將生成的路由下發(fā)給所述流量路徑上的物理路由器。
16.一種控制器,其特征在于,所述控制器作為物理控制器,應(yīng)用在基于邊界網(wǎng)關(guān)協(xié)議BGP的路由網(wǎng)絡(luò)中,所述路由網(wǎng)絡(luò)中還包括與所述物理控制器分別相連的多個(gè)物理路由器,所述控制器包括:網(wǎng)絡(luò)接口和處理器,其中,所述網(wǎng)絡(luò)接口,用于接收所述多個(gè)物理路由器中的至少一個(gè)物理路由器上報(bào)的路由信息,所述路由信息中包括與所述至少一個(gè)物理路由器相連的目的路由器的目的地址; 所述處理器,用于獲得以所述至少一個(gè)物理路由器為出口路由器向所述目的路由器傳輸流量的流量路徑,為所述流量路徑上的物理路由器生成路由,并通過(guò)所述網(wǎng)絡(luò)接口將生成的路由下發(fā)給對(duì)應(yīng)的物理路由器。
17.根據(jù)權(quán)利要求16所述的控制器,其特征在于, 所述處理器,還用于為所述路由信息建立路由表項(xiàng),所述路由表項(xiàng)中包括所述至少一個(gè)物理路由器的路由器標(biāo)識(shí)與所述目的地址的對(duì)應(yīng)關(guān)系; 所述處理器,具體用于根據(jù)所述至少一個(gè)物理路由器的路由器標(biāo)識(shí)匹配設(shè)置的流量路徑數(shù)據(jù)庫(kù),并根據(jù)匹配結(jié)果,從所述流量路徑數(shù)據(jù)庫(kù)中獲得包含將所述至少一個(gè)物理路由器作為向所述目的路由器傳輸流量的出口路由器的流量路徑。
18.根據(jù)權(quán)利要求16或17所述的控制器,其特征在于, 所述處理器,還用于根據(jù)所述路由網(wǎng)絡(luò)中所述物理控制器與所述多個(gè)物理路由器的連接關(guān)系生成邏輯網(wǎng)絡(luò),所述邏輯網(wǎng)絡(luò)中的邏輯控制器分別與多個(gè)邏輯路由器相連,其中,所述邏輯控制器對(duì)應(yīng)于所述物理控制器,每一個(gè)所述邏輯路由器對(duì)應(yīng)于一個(gè)所述物理路由器; 所述處理器,具體用于通過(guò)與所述至少一個(gè)物理路由器對(duì)應(yīng)的至少一個(gè)邏輯路由器接收所述至少一個(gè)物理路由器上報(bào)的路由信息,并通過(guò)所述至少一個(gè)邏輯路由器將所述路由信息上報(bào)給所述邏輯控制 器。
19.根據(jù)權(quán)利要求18所述的控制器,其特征在于, 所述處理器,具體用于通過(guò)所述邏輯控制器為所述流量路徑上的物理路由器生成路由,通過(guò)所述邏輯控制器將為所述流量路徑上的物理路由器生成的路由下發(fā)給與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器,通過(guò)所述邏輯路由器將所述生成的路由通過(guò)所述網(wǎng)絡(luò)接口轉(zhuǎn)發(fā)給與所述邏輯路由器對(duì)應(yīng)的物理路由器。
20.根據(jù)權(quán)利要求18所述的控制器,其特征在于, 所述處理器,具體用于通過(guò)所述邏輯控制器將所述路由信息下發(fā)給所述多個(gè)邏輯路由器,以使與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器為所述流量路徑上的物理路由器生成路由,并通過(guò)與所述流量路徑上的物理路由器對(duì)應(yīng)的邏輯路由器將生成的路由通過(guò)所述網(wǎng)絡(luò)接口下發(fā)給所述流量路徑上的物理路由器。
【文檔編號(hào)】H04L12/801GK103650433SQ201380001044
【公開(kāi)日】2014年3月19日 申請(qǐng)日期:2013年7月31日 優(yōu)先權(quán)日:2013年7月31日
【發(fā)明者】莊順萬(wàn), 王萇, 歐陽(yáng)沅斌, 于鳳青 申請(qǐng)人:華為技術(shù)有限公司