專利名稱:路由器選擇方法及路由器裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種路由器,尤其涉及在具有向外部網(wǎng)絡(luò)的連接功能的、有2臺(tái)或2臺(tái)以上的路由器裝置存在的局域網(wǎng)(LAN)中,決定與特定的包流對(duì)應(yīng)的路由器的路由器選擇方法及路由器裝置。
背景技術(shù):
以往,作為該路由器的選擇方法,具有如文獻(xiàn)「Virtual Router RedundancyProtocol」(S.Knight等著)所記載的那樣的方法。
該文獻(xiàn)所述的方法中,由稱為虛擬路由器的路由器集合共有一個(gè)IP地址,為主路由器的一臺(tái)路由器作為LAN的默認(rèn)路由器運(yùn)行,其他的路由器作為備用路由器待機(jī)。在各路由器上設(shè)定優(yōu)先級(jí)。
當(dāng)主路由器如果由于某種原因不能作為LAN的默認(rèn)路由器運(yùn)行時(shí),備用路由器中優(yōu)先級(jí)最高的路由器就接著作為主路由器開始運(yùn)行。
如果按路由器對(duì)包(packet)的轉(zhuǎn)發(fā)能力的高低順序設(shè)定優(yōu)先級(jí),就能提高LAN整體的通信效率。
可是,這種方法在虛擬路由器中可以使用的路由器始終只有一臺(tái),不能根據(jù)目的選擇適當(dāng)?shù)穆酚善鳌?br>
因此,在存在具有向無線LAN的存取接口的路由器(無線LAN路由器)和具有向蜂窩網(wǎng)的存取接口的路由器(蜂窩路由器)的情況下,卻不能為了執(zhí)行需要寬帶的FTP而使用無線LAN路由器、為了使用需要可靠性的IP電話而使用蜂窩路由器等、也不能根據(jù)應(yīng)用軟件的要求選擇使用具有最適于存取接口的路由器。
作為解決該課題的方法,例如,有特表2003-514442號(hào)公報(bào)所記載的方法。圖28是表示該公報(bào)所記載的方法的構(gòu)成圖。在圖28中,存取選定器151將在信息153上設(shè)定的存取能力與在終端用戶優(yōu)先級(jí)152上設(shè)定的用戶所要求的存取能力進(jìn)行比較,從而決定終端最合適的路由器,該信息153與具備向任意存取網(wǎng)絡(luò)的接口的路由器的本存取有關(guān)。
然而,按上述現(xiàn)有的結(jié)構(gòu),因?yàn)橛山K端選擇路由器,所以就有了不僅是路由器,還要在終端上配備特別功能的問題。一般地,終端的通信功能比路由器的通信功能低,如上述那樣追加功能從成本和機(jī)器大小的方面看不現(xiàn)實(shí)。另外,由于終端個(gè)別地對(duì)路由器進(jìn)行選擇,于是就產(chǎn)生了如下問題如果多個(gè)終端選擇了一臺(tái)路由器,就會(huì)負(fù)荷集中,不能進(jìn)行高效通信。
發(fā)明內(nèi)容
本發(fā)明的目的是解決上述現(xiàn)有的問題,在遵從應(yīng)用軟件的要求等的同時(shí),提供一種作為網(wǎng)絡(luò)整體實(shí)現(xiàn)高效通信的路由器的選擇方法及路由器裝置。
本發(fā)明的路由器選擇方法,是包含進(jìn)行與外部網(wǎng)絡(luò)中繼的多個(gè)路由器的局域網(wǎng)中的路由器選擇方法,其特征在于,具有如下步驟同一段內(nèi)的所有路由器對(duì)包含自己的識(shí)別符的多播包定期地進(jìn)行多播的步驟;路由器選擇步驟,根據(jù)路由器從同一段內(nèi)的其他路由器接收的、多播包中含有的信息,在同一段內(nèi)的多個(gè)路由器之間選擇轉(zhuǎn)發(fā)數(shù)據(jù)包的路由器;依照事先確定的條件,決定是否將各路由器從同一段內(nèi)的節(jié)點(diǎn)或路由器接收到的數(shù)據(jù)包向其他段進(jìn)行中繼的步驟;轉(zhuǎn)發(fā)步驟,當(dāng)接收了數(shù)據(jù)包的路由器不向其他段中繼數(shù)據(jù)包時(shí),執(zhí)行向數(shù)據(jù)包的發(fā)送源指示的重定向,以使將被選擇的路由器作為中繼目的地,并且向被選擇的路由器轉(zhuǎn)發(fā)數(shù)據(jù)包或拋棄;和接收了重定向的發(fā)送源節(jié)點(diǎn),向指示的路由器發(fā)送數(shù)據(jù)包以及其后的數(shù)據(jù)包的步驟,重復(fù)進(jìn)行轉(zhuǎn)發(fā)步驟直到被能夠中繼的路由器接收為止。
據(jù)此,最終選擇到適合于中繼包的路由器。另外,由于只是通過路由器的重定向來進(jìn)行路由器選擇,所以能夠不必向終端追加新的功能。
本發(fā)明的路由器選擇方法,是包含進(jìn)行與外部網(wǎng)絡(luò)中繼的多個(gè)路由器的局域網(wǎng)中的路由器選擇方法,其特征在于,具有如下步驟同一段內(nèi)的所有路由器對(duì)包含自己的識(shí)別符的多播包定期地進(jìn)行多播的步驟;根據(jù)路由器從同一段內(nèi)的其他路由器接收的、多播包中含有的信息,在同一段內(nèi)的多個(gè)路由器之間選擇轉(zhuǎn)發(fā)數(shù)據(jù)包的路由器的步驟;根據(jù)事先確定的條件,決定是否將各路由器從同一段內(nèi)的節(jié)點(diǎn)或路由器接收到的數(shù)據(jù)包向其他段中繼的步驟;當(dāng)決定不向其他段中繼路由器接收到的數(shù)據(jù)包時(shí),向被選擇的路由器轉(zhuǎn)發(fā)數(shù)據(jù)包的步驟;當(dāng)向其他段中繼路由器接收到的數(shù)據(jù)包時(shí),在數(shù)據(jù)包不是直接從發(fā)送源的節(jié)點(diǎn)接收、而是由其他路由器進(jìn)行轉(zhuǎn)發(fā)的轉(zhuǎn)發(fā)包的情況下,將表示該路由器自己能夠中繼轉(zhuǎn)發(fā)包的中繼報(bào)告信息發(fā)送給轉(zhuǎn)發(fā)源的路由器的步驟;和在轉(zhuǎn)發(fā)源的路由器接收到中繼報(bào)告信息時(shí),判斷自己是否是轉(zhuǎn)發(fā)作為該中繼報(bào)告信息對(duì)象的數(shù)據(jù)包的最初路由器,當(dāng)自己是最初路由器時(shí),向數(shù)據(jù)包的發(fā)送源節(jié)點(diǎn),發(fā)送指示可中繼的路由器的重定向,在自己不是最初路由器時(shí),將中繼報(bào)告信息轉(zhuǎn)發(fā)給如下路由器的步驟,該路由器是作為中繼報(bào)告信息對(duì)象的數(shù)據(jù)包的轉(zhuǎn)發(fā)源。
據(jù)此,最終選擇到適合于中繼包的路由器。另外,由于只是通過路由器的重定向來進(jìn)行路由器的選擇,所以能夠不必對(duì)終端追加新的功能。而且,由于只是在決定了能夠中繼的路由器的時(shí)刻才發(fā)送重定向包,所以能夠抑制因重定向包的增加而導(dǎo)致網(wǎng)絡(luò)負(fù)荷增大。另外,由于終端進(jìn)行變更路徑的次數(shù)一次就即可,所以能降低終端的處理負(fù)荷。
另外,本發(fā)明的路由器選擇方法的特征在于,多播包所記載的信息是各路由器的識(shí)別符。由此,不需要手動(dòng)設(shè)定順序。另外,例如通過識(shí)別符的升序/降序來決定順序,能夠決定沒有重復(fù)的順序。
另外,本發(fā)明的路由器選擇方法的特征在于,在路由器選擇步驟中的路由器選擇順序,只使用多播包中包含的信息。
由此,當(dāng)所述數(shù)據(jù)包轉(zhuǎn)發(fā)給不對(duì)應(yīng)本發(fā)明的路由器選擇方法的路由器時(shí),此后順序的路由器就全部陷入不轉(zhuǎn)發(fā)的狀態(tài),從而能夠防止負(fù)荷集中到不對(duì)應(yīng)所述本發(fā)明的路由器上。
另外,本發(fā)明的路由器選擇方法的其特征在于,根據(jù)向同一段追加或刪除路由器來更新決定被選擇的路由器的順序。由此,在追加路由器時(shí),能夠進(jìn)行包括被追加的路由器在內(nèi)的路由器選擇;在刪除路由器時(shí),能夠進(jìn)行除去被刪除的路由器的路由器選擇。
另外,本發(fā)明的路由器選擇方法的特征在于,在由各路由器定期發(fā)送多播包、并自未接收的路由器接收多播包時(shí),作為將路由器追加到同一段上的路由器而追加到順序中。由此,追加路由器時(shí)也不需要手動(dòng)更新順序。
另外,本發(fā)明的路由器選擇方法的特征在于,當(dāng)在一定時(shí)間沒有從特定路由器發(fā)送多播包時(shí),將特定的路由器作為從LAN中刪除的路由器而從順序中刪除。由此,在刪除路由器時(shí)就不需要更新順序了。
本發(fā)明的路由器裝置,具有多播包發(fā)送部,其對(duì)包含自己的識(shí)別符的多播包定期地進(jìn)行多播;中繼決定部,其按照預(yù)先決定的條件,決定是否向其他段的路由器中繼從同一段內(nèi)的節(jié)點(diǎn)或路由器接收的、應(yīng)向其他段中繼的數(shù)據(jù)包;順序決定部,其根據(jù)從同一段內(nèi)其他路由器接收到的多播包中包含的信息,從同一段內(nèi)的路由器中,決定轉(zhuǎn)發(fā)數(shù)據(jù)包的路由器;和包中繼部,其收到來自中繼決定部的不可中繼的通知,向由順序決定部選擇的路由器轉(zhuǎn)發(fā)數(shù)據(jù)包,并且,將該轉(zhuǎn)發(fā)目的地的路由器作為數(shù)據(jù)包的中繼目的地并向數(shù)據(jù)包的發(fā)送源發(fā)出通知、或拋棄數(shù)據(jù)包。
由此,路由器僅僅通過自己保存的信息就能夠決定是否應(yīng)該將包中繼,由于不需要將自己保存的信息傳達(dá)給其他的終端或路由器,因此就能夠在每個(gè)路由器上自由設(shè)定用于中繼決定的條件。另外,最終還能選擇到適合中繼包的路由器。由于只是根據(jù)路由器的重定向來進(jìn)行該中繼路由器的切換,所以沒有必要向終端追加新的功能。
本發(fā)明的路由器裝置,其特征在于,具有多播包發(fā)送部,其對(duì)包含自己的識(shí)別符的多播包定期地進(jìn)行多播;中繼決定部,其按照預(yù)先決定的條件,決定是否向其他段的路由器中繼從同一段內(nèi)的節(jié)點(diǎn)或路由器接收的、應(yīng)向其他段中繼的數(shù)據(jù)包;順序決定部,其根據(jù)從同一段內(nèi)其他路由器接收的多播包中包含的信息,從同一段內(nèi)的路由器中,決定轉(zhuǎn)發(fā)數(shù)據(jù)包的路由器;包中繼部,其收到來自中繼決定部的不可中繼的通知,向由順序決定部選擇的路由器轉(zhuǎn)發(fā)數(shù)據(jù)包,并且,當(dāng)該數(shù)據(jù)包的發(fā)送源是節(jié)點(diǎn)時(shí),至少使確定該數(shù)據(jù)包的包識(shí)別符與確定發(fā)送源的設(shè)備識(shí)別符相關(guān)聯(lián),并存儲(chǔ)在頭部信息存儲(chǔ)部;中繼報(bào)告生成部,其根據(jù)來自包中繼部的請(qǐng)求來生成報(bào)告自己中繼包的旨意的中繼報(bào)告消息;和中繼報(bào)告轉(zhuǎn)發(fā)部,其向數(shù)據(jù)包的轉(zhuǎn)發(fā)源的路由器轉(zhuǎn)發(fā)從其他路由器接收到的中繼報(bào)告消息,包中繼部,在作為從其他路由器接收到的中繼報(bào)告消息對(duì)象的數(shù)據(jù)包、與頭部信息存儲(chǔ)部中存儲(chǔ)的信息相同時(shí),向設(shè)備識(shí)別符所表示的發(fā)送源節(jié)點(diǎn)通知中繼數(shù)據(jù)包的路由器。
由此,路由器僅僅通過自己保存的信息就能夠決定是否應(yīng)該將包中繼,由于不需要將自己保存的信息傳達(dá)給其他的終端或路由器,因此能夠在每個(gè)路由器上自由設(shè)定中繼決定的條件。另外,最終還能選擇到適合中繼包的路由器。由于只是根據(jù)路由器的重定向來進(jìn)行該中繼路由器的切換,所以沒有必要向終端追加新的功能。而且,由于只是在決定了能夠中繼的路由器的時(shí)刻才發(fā)送重定向包,所以能夠抑制因重定向包增加而導(dǎo)致的網(wǎng)絡(luò)負(fù)荷增大。另外,終端路徑變更次數(shù)一次即可,所以能降低終端的處理負(fù)荷。
本發(fā)明的路由器裝置的順序決定部,使用多播包內(nèi)包含的識(shí)別符來決定路由器的選擇順序。由此,不需要手動(dòng)設(shè)定順序。另外,例如通過識(shí)別符的升序/降序來決定順序,就能夠決定沒有重復(fù)的順序。
本發(fā)明的路由器裝置的順序決定部,使用多播包中含有的標(biāo)志信息決定路由器的選擇順序。由此,能防止將不是本發(fā)明的路由器包含在選擇路由器的順序內(nèi),由此,能防止因本發(fā)明的路由器在轉(zhuǎn)發(fā)數(shù)據(jù)包時(shí)不能進(jìn)行其后的轉(zhuǎn)發(fā)而導(dǎo)致負(fù)荷集中的問題。
另外,本發(fā)明的路由器裝置的順序決定部具有順序更新部,該順序更新部當(dāng)從不包含在選擇順序中的路由器接收到多播包時(shí),追加到選擇順序中;當(dāng)在規(guī)定時(shí)間從選擇順序中包含的路由器接收不到多播包時(shí),從選擇順序中刪除。由此,追加或刪除路由器時(shí)就不需要用手動(dòng)來更新順序了。
另外,由本發(fā)明的路由器裝置的中繼決定部決定可否中繼的條件為所述數(shù)據(jù)包的類別、路由器中的擁堵狀態(tài)、傳送能力,由所述中繼決定部判斷的不進(jìn)行中繼的次數(shù)、或通信成本、或這些條件的任意組合而成。由此,因?yàn)槭窃诼酚善髋袛嘣L問線路的狀況之后進(jìn)行可否的決定,所以適合中繼包的路由器就最終被選擇出來了。另外,當(dāng)未決定適合中繼的路由器而在路由器之間多次進(jìn)行包的轉(zhuǎn)發(fā)時(shí),就通過緩和其他條件而進(jìn)行中繼等處理,可防止網(wǎng)絡(luò)負(fù)荷的增大。
如上所述根據(jù)本發(fā)明,通過只對(duì)路由器進(jìn)行控制就能實(shí)現(xiàn)對(duì)應(yīng)各種目的的路由器選擇。
另外,各路由器的存取能力只由路由器自己保存就可以,由于不需要向其他的路由器或終端進(jìn)行傳達(dá),所以不需要交換存取能力信息用的消息,在削減通信量的同時(shí)還提高了存取能力信息自身的自由度。
圖1是本發(fā)明的實(shí)施方式1及實(shí)施方式3的通信系統(tǒng)構(gòu)成圖。
圖2是本發(fā)明的實(shí)施方式1的路由器構(gòu)成圖。
圖3是表示在本發(fā)明的實(shí)施方式1中的數(shù)據(jù)包及重定向包的發(fā)送序列圖。
圖4是表示在本發(fā)明的實(shí)施方式1及實(shí)施方式3中的路由器廣告包的發(fā)送序列圖。
圖5A至圖5C是表示在本發(fā)明的實(shí)施方式1中的路由器保存的順序表的構(gòu)成圖。
圖6是在本發(fā)明的實(shí)施方式1至3中路由器的路由器廣告包的發(fā)送處理流程圖。
圖7是在本發(fā)明的實(shí)施方式1及實(shí)施方式3中路由器的順序表維持處理流程圖。
圖8是在本發(fā)明的實(shí)施方式1及實(shí)施方式2中來自路由器的終端的包處理的流程圖。
圖9是在本發(fā)明的實(shí)施方式1至3中路由器的中繼判斷處理的流程圖。
圖10是在本發(fā)明的實(shí)施方式1至3中路由器的中繼判斷處理的流程圖。
圖11是在本發(fā)明的實(shí)施方式1至3中路由器的中繼判斷處理的流程圖。
圖12是在本發(fā)明的實(shí)施方式1及實(shí)施方式3中路由器廣告包的格式圖。
圖13是在本發(fā)明的實(shí)施方式1至3中的重定向包格式圖。
圖14A至圖14C是表示在本發(fā)明的實(shí)施方式1至3中路由器11保存的流程表的構(gòu)成圖。
圖15是表示在本發(fā)明的實(shí)施方式1或2中路由器的特性和中繼判斷處理的對(duì)應(yīng)例的圖。
圖16是表示在本發(fā)明的實(shí)施方式1或2中路由器的特性和中繼判斷處理的對(duì)應(yīng)例的圖。
圖17是在本發(fā)明的實(shí)施方式2中路由器廣告包的格式圖。
圖18是在本發(fā)明的實(shí)施方式2中路由器的構(gòu)成圖。
圖19是在本發(fā)明的實(shí)施方式2中路由器的順序表維持處理的流程圖。
圖20是為了說明在本發(fā)明的實(shí)施方式2中路由器的重定向目的地的序列圖。
圖21是在本發(fā)明的實(shí)施方式3中路由器的構(gòu)成圖。
圖22是表示在本發(fā)明的實(shí)施方式3中路由器保存的順序表的構(gòu)成圖。
圖23是來自本發(fā)明的實(shí)施方式3的路由器終端的包處理及中繼報(bào)告消息處理的流程圖。
圖24是來自本發(fā)明的實(shí)施方式3的路由器終端的包處理及中繼報(bào)告消息處理的流程圖。
圖25是來自本發(fā)明的實(shí)施方式3的路由器終端的包處理及中繼報(bào)告消息處理的流程圖。
圖26是表示在本發(fā)明的實(shí)施方式3中數(shù)據(jù)包及重定向包的發(fā)送序列圖。
圖27A與圖27B是在本發(fā)明的實(shí)施方式3中的中繼報(bào)告消息的格式圖。
圖28是說明現(xiàn)有路由器選擇方法的構(gòu)成圖。
具體實(shí)施例方式
下面參照附圖對(duì)本發(fā)明的實(shí)施方式進(jìn)行說明。
(實(shí)施方式1)圖1是表示在本發(fā)明的實(shí)施方式中網(wǎng)絡(luò)的構(gòu)成圖。
在圖1中,路由器11、12、13中繼LAN1與外部網(wǎng)絡(luò)2的通信,配備與第3代蜂窩(帶寬364kbps、包計(jì)費(fèi))3、PHS(帶寬帶寬64kbps、定額)4、無線LAN(帶寬帶寬5Mbps、定額)5的存取接口(access interface)。終端14、15屬于LAN1,外部終端16、17連接到外部網(wǎng)絡(luò)2。路由器11~13除了存取接口以外還配備LAN接口,與具有相同LAN接口的終端14、15連接。
圖2是表示在本實(shí)施方式中路由器11、12、13構(gòu)成的方塊圖。在圖2中,LAN接口208進(jìn)行與連接LAN1的終端14、15以及其他的路由器的通信中的物理層處理及數(shù)據(jù)鏈路層處理的。存取接口209進(jìn)行與外部網(wǎng)絡(luò)通信的物理層處理及數(shù)據(jù)鏈路層處理的。
RA生成部201生成包括識(shí)別自己的識(shí)別符在內(nèi)的路由器廣告(RouterAdvertisement)包(以下稱RA包)。通過該RA生成部201與LAN接口208的構(gòu)成,構(gòu)成多播包發(fā)送部。
另外,順序表更新部202對(duì)記載順序的順序表進(jìn)行所謂登錄或刪除的更新,該順序是對(duì)向其他段中繼從同一段內(nèi)的終端接收到的數(shù)據(jù)包的、同一段內(nèi)的路由器進(jìn)行選擇的順序,更新的順序表儲(chǔ)存在順序表存儲(chǔ)部204,在下次更新時(shí)讀出。然后,路由器決定部203由該順序表決定適合的路由器。由這些順序表更新部202、路由器決定部203、以及順序表存儲(chǔ)部204構(gòu)成順序決定部207。
另外,中繼決定部205對(duì)預(yù)先設(shè)定的訪問線路的所謂擁堵狀態(tài)、傳送能力的條件進(jìn)行判斷,決定是否將經(jīng)由LAN接口208接收到的數(shù)據(jù)包向其他段的路由器中繼。另外,中繼決定部205還具有將相當(dāng)于發(fā)送源地址及發(fā)送目的地地址的包群作為流來行管理的流程表。
包中繼部206具有路由平臺(tái),指示路由器的變更,該路由器按照向中繼決定部205的詢問結(jié)果,按該路由平臺(tái)將數(shù)據(jù)包向中繼目的地的路由器轉(zhuǎn)發(fā),或向數(shù)據(jù)包的發(fā)送源進(jìn)行中繼。
下面,對(duì)上述各功能方塊的動(dòng)作進(jìn)行說明。
圖6是說明RA生成部201動(dòng)作的流程圖。
RA生成部201為了防止在路由器之間RA包發(fā)送時(shí)刻同步,而在一定時(shí)間+隨機(jī)時(shí)間進(jìn)行待機(jī)(步驟S61),經(jīng)由LAN接口208對(duì)RA包進(jìn)行多播(步驟S62)。該一定時(shí)間通常設(shè)定為5秒。在這里,RA包的格式表示在圖12中。在發(fā)送源地址字段(121)上,設(shè)定有發(fā)送RA包的路由器地址。
圖7是說明順序決定部207動(dòng)作的流程圖。
順序表更新部202經(jīng)由LAN接口208檢查是否接收到來自其他的路由器的RA包(步驟S71),當(dāng)沒有接收時(shí),就檢查從上次到達(dá)時(shí)刻超過一定時(shí)間沒有RA包到達(dá)的路由器是否已經(jīng)在所登錄的路由器之中(步驟S72)。如果有相應(yīng)的路由器,順序表更新部202就從順序表中刪除該路由器(步驟S73),然后返回到步驟S71。當(dāng)沒有相應(yīng)的路由器時(shí),也返回到步驟S71。
另一方面,當(dāng)沒有接收到RA包時(shí),順序表更新部202就參照接收的tA包的發(fā)送源地址,檢查在順序表上是否登錄完畢(步驟S74)。如果登錄完畢,該路由器就更新入口(entry)的上次到達(dá)時(shí)刻(步驟S75),如果沒有登錄,就向順序表上追加(步驟S76)。對(duì)該順序表的追加,參照發(fā)送源地址字段(121)進(jìn)行,按路由器的主機(jī)地址的升序登錄。此外,對(duì)各個(gè)路由器預(yù)先設(shè)定按該地址的升序登錄的指示。
在這里,路由器11、12、13按圖4所示的順序?qū)A包進(jìn)行多播時(shí),在路由器11中順序表的變遷在圖5A至C上表示。此外,在圖4中,黑色圓點(diǎn)表示路由器廣告包的發(fā)送源,白色圓點(diǎn)表示路由器廣告包的接收者。
當(dāng)路由器11沒有從其他的路由器接收RA包時(shí)(步驟S21),如圖5A那樣就保存只包含自己地址的順序表。
6在上次到達(dá)時(shí)刻欄上錄入RA包的接收時(shí)刻。
最后一旦接收來自路由器12的RA包(步驟S23),如圖5C那樣就將路由器12的地址追加在順序表上。在這里由于按地址的升序生成順序表,所以在路由器11與路由器13之間追加路由器12的地址。此外,將順序表最后入口(entry)的下一個(gè)做成是最初的入口。
這樣,順序表就保存在每個(gè)路由器里了。另外,由于生成順序表用的規(guī)則在所有路由器中是共通的,所以該順序表除了RA包的上次到達(dá)時(shí)刻(141)以外,在所有路由器中都保存相同的內(nèi)容。此外,在本實(shí)施方式中,順序表是按路由器地址的升序,但也可以按降序,只要遵從其規(guī)則就可以。
通過以上的RA生成部201與順序決定部207,路由器11至13將RA生成部201定期生成的RA包經(jīng)由LAN接口208進(jìn)行多播,通知自己的識(shí)別信息。與此同時(shí),順序決定部207經(jīng)由LAN接口根據(jù)接收到的其他路由器的識(shí)別信息始終更新順序表。
圖9至圖11是說明各個(gè)路由器11至13的中繼決定部205動(dòng)作的流程圖。另外,圖14A表示進(jìn)入上述順序表的路由器的狀態(tài)。
最初,用圖9對(duì)路由器11的中繼決定部205的動(dòng)作進(jìn)行說明。該路由器11具有第3代蜂窩通信的存取接口,為了降低使用頻度,初次轉(zhuǎn)發(fā)請(qǐng)求設(shè)定成必須向同一段的其他路由器轉(zhuǎn)移。
首先,中繼決定部205,通過來自包中繼部206的詢問啟動(dòng),參照到達(dá)包的發(fā)送源地址及發(fā)送目的地地址,檢查流程表上是否有入口(步驟S91)。此外,將包頭部的1或1以上的字段值相等的一連串的包群作為一個(gè)流。即,在這里將發(fā)送源地址及發(fā)送目的地地址相等的包群定義為流。意味著構(gòu)成特定主機(jī)之間通信的包群。當(dāng)沒有關(guān)于到達(dá)包的流的入口時(shí),就在流程表上設(shè)定發(fā)送源地址、發(fā)送目的地地址之后,就在狀態(tài)欄上作為重定向(Redirected)而追加入口(步驟S92),并判斷為不能中繼(步驟S93)。
另一方面,如果流程表有入口,就檢查流程表的狀態(tài)是否是重定向狀態(tài)(步驟S94),如果不是重定向狀態(tài)就判斷為可以中繼(步驟S97)。如果流程表的狀態(tài)是重定向狀態(tài),就檢查存取接口是否擁堵(步驟S95)。如果不擁堵,就設(shè)定為活動(dòng)狀態(tài)(步驟S96),判斷為可中繼(步驟S97)并向包中繼部206返回應(yīng)答。如果存取接口擁堵,就判斷為不可中繼(步驟S93),并向包中繼部206返回應(yīng)答。此外,存取接口的擁堵狀態(tài),可以通過在包緩沖器中待機(jī)中的包數(shù)量等來判斷。
此外,還可以添加把在一定時(shí)間內(nèi)沒有包到達(dá)的入口從流程表上刪除的手續(xù)。
下面,用圖10對(duì)路由器12的中繼決定部205的動(dòng)作進(jìn)行說明。該路由器12配有與PHS通信的存取接口。
首先,中繼決定部205,通過來自包中繼部206的詢問啟動(dòng),檢查存取接口是否擁堵(步驟S101)。如果不擁堵,就判定可以中繼(步驟S102)并向包中繼部206返回應(yīng)答后結(jié)束。
另一方面,如果擁堵(步驟S102),就檢查接收到的數(shù)據(jù)包是否是聲音包(步驟S103)。如果是聲音包,就判定為可中繼(步驟S102)而結(jié)束。如果不是聲音包,就判定為不可中繼(步驟S104)而結(jié)束。此外,數(shù)據(jù)包是否是聲音包,可以通過參照TCP/UDP的端口號(hào)碼等來進(jìn)行判斷。在這里之所以判斷是否是聲音包,是由于路由器12連接的PHS的段帶寬有64kbps,如果是聲音那樣轉(zhuǎn)發(fā)速率比較低的傳送,即使擁堵也會(huì)有不間斷地進(jìn)行傳送聲音的能力。
下面,用圖11對(duì)路由器13的中繼決定部205的動(dòng)作進(jìn)行說明。該路由器13具有無線LAN的存取接口。
首先,中繼決定部205,通過來自包中繼部206的詢問啟動(dòng),檢查存取接口是否擁堵(步驟S111),如果不擁堵,就判定為可中繼(步驟S112)而結(jié)束。另一方面,如果不擁堵,就判定為不可中繼(步驟S113)并向包中繼部206返回應(yīng)答而結(jié)束。
這樣,在各個(gè)路由器11至13的中繼決定部205中,就能決定是否進(jìn)行對(duì)其他段的中繼。此外,在本實(shí)施方式中,是否進(jìn)行中繼的條件,是線路的擁堵狀態(tài)或轉(zhuǎn)發(fā)能力、以及包流的種類,但也可以不受此限而根據(jù)各種通信線路的傳送成本進(jìn)行判斷。
另外,存取接口209也可以根據(jù)連接外部網(wǎng)絡(luò)的性質(zhì)來決定是否進(jìn)行中繼。這種情況,用圖15及圖16進(jìn)行說明。
圖15是表示在本發(fā)明中由3臺(tái)路由器裝置(161~163)、以及3種終端(電影終端164、IP電話165、便攜式PC166)構(gòu)成的LAN的圖。
各路由器存取接口209連接的外部網(wǎng)絡(luò),具有圖15所示的特征。即,路由器161連接的外部網(wǎng)絡(luò)167的費(fèi)用為1包1日元,通信帶寬為324kbps,安全性高,損耗率低。另外,路由器162連接的外部網(wǎng)絡(luò)168的費(fèi)用是固定的,通信帶寬為64kbps,安全性高,損耗率是中等水平。另外,路由器163連接的外部網(wǎng)絡(luò)169的費(fèi)用固定的,通信帶寬為5Mbps,安全性低,損耗率高。因此,對(duì)各路由器161至163是否進(jìn)行中繼的條件由下述決定。
·路由器161的條件動(dòng)畫流優(yōu)先中繼。這是因?yàn)閯?dòng)畫需要一定程度的帶寬、低損耗、高安全性。
·路由器162的條件聲音流優(yōu)先中繼。這是因?yàn)槁曇袅鞑灰髣?dòng)畫那樣的帶寬、和低損耗率。
·路由器163的條件中繼聲音、動(dòng)畫以外的流,但如果向其他路由器轉(zhuǎn)發(fā)而相同的流(數(shù)據(jù)包)再次到達(dá)時(shí),就進(jìn)行中繼。
在這樣的條件下各終端開始通信時(shí),根據(jù)本發(fā)明的方法,如圖15所示,進(jìn)行重定向到選擇到適合于各終端發(fā)送的流的路由器為止,如圖16所示決定中繼各終端的流的路由器。
也就是說,電影終端164向路由器161發(fā)送的數(shù)據(jù)包1501,由于與路由器161的條件相符,所以被原樣中繼到外部網(wǎng)絡(luò)167,而IP電話165向路由器161發(fā)送的數(shù)據(jù)包1502,由于與路由器161的條件不相符,所以被轉(zhuǎn)發(fā)1503到路由器162。這時(shí),因?yàn)閺穆酚善?61向IP電話165發(fā)送路由器168中繼的旨意的重定向消息,所以如圖16所示,IP電話165其后向路由器162發(fā)送1601。
另外,與此相同便攜式PC166開始時(shí)向路由器161發(fā)送數(shù)據(jù)包1504,但由于條件不符,就被轉(zhuǎn)發(fā)1505到作為下一次轉(zhuǎn)發(fā)順序的路由器162。因?yàn)槁酚善?62也不符合中繼該數(shù)據(jù)包的條件,所以就被再次轉(zhuǎn)發(fā)1506到路由器163。然后,由于路由器163符合條件,所以就向網(wǎng)絡(luò)169發(fā)送。這時(shí),從路由器161向便攜式PC166發(fā)送重定向消息,便攜式PC166就向路由器162發(fā)送數(shù)據(jù)包1507,但因?yàn)槁酚善?62不符合條件,所以就被轉(zhuǎn)發(fā)1506到路由器163。然后,路由器162也同樣向便攜式PC166發(fā)送路由器163中繼的旨意的重定向消息。便攜式PC166收到該消息后,如圖16所示,就向以后的路由器163直接發(fā)送數(shù)據(jù)包1602。
此外,默認(rèn)路由器是路由器161,轉(zhuǎn)發(fā)順序?yàn)槁酚善?61、路由器162、路由器163。圖8是說明包中繼部206的動(dòng)作的流程圖。
首先,如果包中繼部206從LAN接口208接收發(fā)往外部網(wǎng)絡(luò)的終端的包(步驟S81),就將IPv6頭部的跳躍極限(Hop Limit)字段的值減去1(步驟S82)。減的結(jié)果,檢查跳躍極限字段的值是不是0(步驟S83),如果是0就拋棄包(步驟S84)。
如果跳躍極限字段的值比0大,就向中繼決定部205詢問是否進(jìn)行中繼(步驟S85)。
如果從中繼決定部205得到中繼的指示(步驟S86),包中繼部206就按照路由平臺(tái),經(jīng)由存取接口209,向作為其他段的外部網(wǎng)絡(luò)的轉(zhuǎn)發(fā)目的地路由器發(fā)送包(步驟S87)。
另一方面,如果沒有得到中繼的指示,就向順序決定部207詢問應(yīng)該向同一段內(nèi)的哪個(gè)路由器轉(zhuǎn)發(fā)接收的數(shù)據(jù)包(步驟S88)。
然后,包中繼部206將順序決定部207指示的路由器轉(zhuǎn)發(fā)包(步驟S89),向發(fā)送源的終端發(fā)送重定向包,該重定向包記錄了應(yīng)成為新的中繼目的地的路由器(步驟S90)。圖13所示為該重定向包的數(shù)據(jù)格式。
這是因特網(wǎng)控制消息協(xié)議版本6(ICMPv6)重定向包的格式。
在圖13中,分別向發(fā)送源地址(Src Address)字段(131)寫入作為重定向包發(fā)送源的路由器地址、向目的地地址(Dst Address)字段(132)寫入作為重定向目的地包的發(fā)送源的終端地址、向目標(biāo)地址(Target Address)字段(133)寫入重定向目的地的路由器地址、向重定向目的地地址(Dst Address)字段(134)寫入作為重定向目的地包的目的地地址。此外,本實(shí)施方式使用的是ICMPv6,但也可以使用因特網(wǎng)控制消息協(xié)議版本4(ICMPv4)。
此后,返回到步驟S81,但如果轉(zhuǎn)發(fā)包不被任何一個(gè)路由器中繼而持續(xù)被轉(zhuǎn)發(fā),在轉(zhuǎn)發(fā)時(shí)的步驟S82中,就減去跳躍極限字段的值。然后,跳躍極限字段的值為「0」的包就會(huì)在步驟S84被拋棄。
通過以上的中繼決定部205、包中繼部206以及順序決定部207,進(jìn)行路由器11至13的數(shù)據(jù)包中繼處理和重定向處理。
也就是說,包中繼部206在經(jīng)由LAN接口接收從同一段的終端14、15向其他段的外部終端16、17的數(shù)據(jù)包時(shí),就詢問中繼決定部205可否中繼。中繼決定部205遵從所定的條件決定中繼的可否。包中繼部206遵從該決定,如果中繼就通過路由平臺(tái)經(jīng)由存取接口209向外部網(wǎng)絡(luò)的路由器轉(zhuǎn)發(fā)。如果不中繼,就向路由器決定部203詢問下面應(yīng)該成為中繼路由器的同一段的路由器。路由器決定部203按照順序表決定中繼路由器。包中繼部206經(jīng)由LAN接口208向該被決定的路由器轉(zhuǎn)發(fā)數(shù)據(jù)包,并且向發(fā)送源終端發(fā)送重定向。
另外,如果通過存取接口209接收包,在包中繼部206中確認(rèn)是不是發(fā)給LAN1內(nèi)的終端的包后,從LAN接口208發(fā)送所述包。
接著,針對(duì)終端14向外部終端16進(jìn)行FTP的數(shù)據(jù)發(fā)送(通信速率不定。根據(jù)線路容量速度發(fā)生變化),終端15與外部終端17進(jìn)行聲音通信(通信速率60kbps)及動(dòng)畫通信(通信速率300kbps)時(shí)的動(dòng)作進(jìn)行說明。本實(shí)施方式的網(wǎng)絡(luò)為因特網(wǎng)協(xié)議第六版(IPv6)的網(wǎng)絡(luò)而進(jìn)行以下的說明,但不局限于IPv6,采用因特網(wǎng)協(xié)議第四版(IPv4)也可以進(jìn)行動(dòng)作。另外,為了簡單起見,將路由器11、12、13的LAN接口的IPv6地址定為fe80∷11、fe80∷12、fe80∷13,終端14、15及外部終端16、17的IPv6地址分別作為3∷14、3∷15、及4∷16、4∷17。
此外,上述各存取接口及LAN接口是有線、無線都沒有關(guān)系。
各路由器如圖4與圖6所示定期發(fā)送RA包,但順序根據(jù)路由器的啟動(dòng)時(shí)刻與其他的原因而有所不同。
路由器11最初將RA包進(jìn)行多播(步驟S21)。接收路由器11發(fā)送的RA包的終端14、15將路由器11設(shè)定為默認(rèn)路由器。因此,最初時(shí)一定要將路由器11作為中繼目的地而發(fā)送包。
接著路由器13發(fā)送RA包(步驟S22),最后路由器12發(fā)送RA包(步驟S23)。由此,各路由器如圖5C所示做成順序表。
圖3,是表示終端14及終端15通信時(shí)的序列的圖。此外,圖中實(shí)線箭頭符號(hào)表示數(shù)據(jù)包的傳送,虛線箭頭符號(hào)表示重定向包的傳送。另外,黑色圓點(diǎn)表示重定向包的發(fā)送源。
首先,終端14與外部終端16開始FTP的通信,向作為默認(rèn)網(wǎng)關(guān)的路由器11發(fā)送數(shù)據(jù)包(步驟S31)。由于路由器11在流程表上沒有入口,所以就在流程表上追加入口(圖14A)。然而,由于通信成本高,就通過預(yù)先設(shè)定的條件在流程表的狀態(tài)欄上設(shè)定重定向,必須將最初時(shí)到達(dá)的包向其他路由器轉(zhuǎn)發(fā)。這按照?qǐng)D5C的順序表進(jìn)行,路由器11向路由器12轉(zhuǎn)發(fā)接收到的數(shù)據(jù)包。另外,路由器11同時(shí)將路由器12作為中繼目的地將指定的重定向包發(fā)送給終端14(步驟S32)。
終端14接收該重定向包,把路由器12作為新的中繼目的地將下面的包發(fā)送給路由器12,繼續(xù)進(jìn)行通信(步驟S33)。
接著,終端15與外部終端17開始聲音通信(60kbps),向作為默認(rèn)網(wǎng)關(guān)的路由器11發(fā)送包(步驟S34)。因?yàn)槁酚善?1的流程表中沒有入口,所以就在流程表上追加入口(圖14B),與步驟S32相同將向路由器12的重定向包發(fā)送給終端15(步驟S35)。
終端15接收該重定向包,向路由器12發(fā)送數(shù)據(jù)包,準(zhǔn)備繼續(xù)進(jìn)行通信(步驟S36)。然而,終端14經(jīng)由路由器12已經(jīng)進(jìn)行通信,發(fā)給路由器12的數(shù)據(jù)包集中而發(fā)生擁堵(步驟S37)。因?yàn)槁酚善?2,設(shè)定成擁堵時(shí)對(duì)聲音通信包以外的包進(jìn)行重定向,所以對(duì)進(jìn)行FTP通信的終端14,發(fā)送對(duì)路由器13的重定向包(步驟S38)。其中中繼路由器的選擇,也按照?qǐng)D5C的順序表進(jìn)行。
終端14接收該重定向包,接著作為中繼目的地使用路由器13繼續(xù)執(zhí)行通信(步驟S39)。
接著,由于終端15結(jié)束與外部終端17的聲音通信(步驟S40),開始與同一外部終端17的動(dòng)畫通信(300kbps),所以向路由器12發(fā)送數(shù)據(jù)包(步驟S41)。然而,由于動(dòng)畫通信與60kbps的聲音通信不同,需要以300kbps的速度發(fā)送包,超過了路由器12的線路容量64kbp,所以發(fā)生擁堵(步驟S42)。
由于路由器12發(fā)生擁堵,按照?qǐng)D5C的順序表將從終端15接收的數(shù)據(jù)包向路由器13轉(zhuǎn)發(fā),并且將向路由器13的重定向包發(fā)送給終端15(步驟S43)。
接著,終端15接收該重定向包,以路由器13為中繼目的地準(zhǔn)備繼續(xù)執(zhí)行通信(步驟S44),但終端14與外部終端16之間通過FTP所進(jìn)行通信使路由器13的線路容量已被用完,所以發(fā)生擁堵(步驟S45)。因此,路由器13按照?qǐng)D5C的順序表將從終端15接收的數(shù)據(jù)包向路由器11轉(zhuǎn)發(fā),并且將向路由器11的重定向包發(fā)送給終端15(步驟S46)。
接著,終端15接收該重定向包,向路由器11包發(fā)送(步驟S47)。路由器11參照流程表(圖14B),由于在入口2有終端15的信息,狀態(tài)欄為重定向,且存取接口沒有擁堵,所以把流程表的狀態(tài)設(shè)為活動(dòng)(圖14C),進(jìn)行中繼。由此,終端15將路由器11作為中繼目的地繼續(xù)進(jìn)行通信。
此外,在上述的序列中,當(dāng)路由器判斷為不可中繼時(shí),就向成為新的中繼目的地的路由器轉(zhuǎn)發(fā)接收的數(shù)據(jù)包,但不僅如此,還可以拋棄該接收的數(shù)據(jù)包。在這種情況下,需要通過ICMP錯(cuò)誤信息等向發(fā)送源終端轉(zhuǎn)達(dá)拋棄包。
如上述,根據(jù)本發(fā)明,以路由器從其他路由器接收的RA包為基礎(chǔ)生成各路由器共通的順序表,根據(jù)訪問線路的擁堵狀態(tài)或傳送能力,將接收的數(shù)據(jù)包按照順序表向同一段的其他路由器轉(zhuǎn)發(fā)。由此,最終選擇到適于向外部網(wǎng)絡(luò)轉(zhuǎn)發(fā)數(shù)據(jù)包的路由器。另外,因?yàn)榻K端只是根據(jù)路由器的重定向消息就可以進(jìn)行路由器的選擇,所以不需要在終端追加新的功能。而且,各路由器只要根據(jù)自己特性配備中繼判斷處理即可,不需要預(yù)先取得其他路由器的特性。由此,在路由器的追加、刪除時(shí)不需要進(jìn)行變更設(shè)定。另外,由此還能提高存取能力信息本身的自由度。也就是說,能夠做到在某個(gè)路由器中只將存取接口的擁堵狀態(tài)定義為存取能力,在其他的路由器中將存取網(wǎng)的包損失率定義為存取能力。
(實(shí)施方式2)在本實(shí)施方式中網(wǎng)絡(luò)構(gòu)成與圖1所示的實(shí)施方式1的不同點(diǎn)在于在本發(fā)明中對(duì)應(yīng)路由器選擇方法的路由器與不對(duì)應(yīng)的路由器(以下稱未對(duì)應(yīng)路由器。)存在于同一LAN內(nèi)。在本實(shí)施方式中,僅由對(duì)應(yīng)本發(fā)明的路由器(以下稱對(duì)應(yīng)路由器。)做成順序表,未對(duì)應(yīng)路由器另行存儲(chǔ),在對(duì)應(yīng)路由器中,僅在未決定中繼的路由器時(shí)向未對(duì)應(yīng)路由器轉(zhuǎn)發(fā)。
首先,針對(duì)本實(shí)施方式的路由器的構(gòu)成及動(dòng)作,將與實(shí)施方式1的不同點(diǎn)進(jìn)行說明。
圖18表示在本實(shí)施方式中路由器構(gòu)成的方塊圖。
與在實(shí)施方式1中路由器的構(gòu)成(圖2)相比不同點(diǎn)在于,它有未對(duì)應(yīng)路由器存儲(chǔ)部210。
該未對(duì)應(yīng)路由器存儲(chǔ)部210,是用于在接收來自未對(duì)應(yīng)路由器的RA包時(shí),作為未對(duì)應(yīng)路由器一覽表而進(jìn)行存儲(chǔ)的存儲(chǔ)裝置。
圖19是說明在本實(shí)施方式中順序決定部207動(dòng)作的流程圖。
順序表更新部202一接收RA包(步驟S71),發(fā)送源的路由器就確認(rèn)是不是與本發(fā)明對(duì)應(yīng)(步驟S2002)。
本實(shí)施方式使用的RA包格式的例子由圖17表示。與實(shí)施方式1的RA包(圖12)的不同點(diǎn)是有R(Redirect)標(biāo)志181。本R標(biāo)志是用于表示與本發(fā)明對(duì)應(yīng)的標(biāo)志,RA包發(fā)送時(shí)在R標(biāo)志181上設(shè)定「1」而進(jìn)行多播。
因此,確認(rèn)是不是與本發(fā)明對(duì)應(yīng)的路由器(步驟S2002)通過調(diào)查R標(biāo)志181是不是「1」來進(jìn)行。
如果發(fā)送源的路由器是對(duì)應(yīng)路由器時(shí),就進(jìn)行與圖7的步驟S74~S76相同的順序表更新處理(步驟S2003)。
另一方面,如果是未對(duì)應(yīng)路由器時(shí),就進(jìn)行與步驟S74~S76大體相同的未對(duì)應(yīng)一覽表更新處理(步驟S2004)。這是將未對(duì)應(yīng)路由器的地址作為一覽表存儲(chǔ)在未對(duì)應(yīng)路由器存儲(chǔ)部210的處理,當(dāng)接收來自新的未對(duì)應(yīng)路由器的RA包時(shí),順序表更新部202就向一覽表進(jìn)行追加,當(dāng)接收來自一覽表內(nèi)已有的未對(duì)應(yīng)路由器的RA包時(shí),就更新上次到達(dá)的時(shí)刻。
當(dāng)沒有接收RA包時(shí)(步驟S71),順序表更新部202就將一定時(shí)間未接收RA包的路由器的入口從順序表及未對(duì)應(yīng)路由器的一覽表中刪除(步驟S72、S2001)。
接著,用圖8對(duì)在本實(shí)施方式中包中繼部206的動(dòng)作進(jìn)行說明。
在本實(shí)施方式中包中繼部206的動(dòng)作與在實(shí)施方式1中動(dòng)作的不同之處是,進(jìn)行轉(zhuǎn)發(fā)目的地詢問處理(步驟S88)。
在實(shí)施方式1中從順序表將對(duì)應(yīng)路由器作為轉(zhuǎn)發(fā)目的地進(jìn)行選擇,而在本實(shí)施方式中,當(dāng)已經(jīng)滿足既定條件時(shí),就從未對(duì)應(yīng)路由器一覽表中選擇轉(zhuǎn)發(fā)目的地。
該既定條件,可以舉出以下的項(xiàng)目。
(1)在IPv6頭部的跳躍極限(Hop Limit)字段低于預(yù)先規(guī)定的閾值。
(2)大于等于既定的次數(shù),轉(zhuǎn)發(fā)回相同的包。
也就是說,當(dāng)在對(duì)應(yīng)路由器中能中繼所述包的路由器不存在,被多次轉(zhuǎn)發(fā)的可能性大時(shí),就轉(zhuǎn)發(fā)給未對(duì)應(yīng)路由器。此外,從未對(duì)應(yīng)路由器一覽表中選擇轉(zhuǎn)發(fā)目的地的方法沒有特別限制,能夠采用如隨機(jī)選擇、從地址號(hào)碼小的選擇等方法。這時(shí),對(duì)特定的未對(duì)應(yīng)路由器不集中選擇而使負(fù)荷分散是優(yōu)選的。
通過以上構(gòu)成的路由器,是如何轉(zhuǎn)發(fā)包的,用圖20進(jìn)行說明。這里,LAN1內(nèi)有對(duì)應(yīng)路由器3臺(tái)(對(duì)應(yīng)路由器11~13)、未對(duì)應(yīng)路由器2臺(tái)(未對(duì)應(yīng)路由器21、22)存在。另外,對(duì)應(yīng)路由器11~13用互相的RA包生成順序表,采用從未對(duì)應(yīng)路由器21、22發(fā)送的RA包生成未對(duì)應(yīng)路由器一覽表,并進(jìn)行存儲(chǔ)。此外,在圖20中,三角形符號(hào)表示重定向目的地的路由器,圓圈符號(hào)表示重定向包的發(fā)送源。
首先,當(dāng)包2001到達(dá)對(duì)應(yīng)路由器11時(shí),如果任何對(duì)應(yīng)路由器11~13都不能中繼包時(shí),包就被從對(duì)應(yīng)路由器11向?qū)?yīng)路由器12、從對(duì)應(yīng)路由器12向?qū)?yīng)路由器13、從對(duì)應(yīng)路由器13向?qū)?yīng)路由器11進(jìn)行轉(zhuǎn)發(fā)。然后,再次從對(duì)應(yīng)路由器11向?qū)?yīng)路由器12轉(zhuǎn)發(fā)時(shí)(步驟S2101),對(duì)應(yīng)路由器12就判斷跳躍極限字段的值小于等于閾值,并向未對(duì)應(yīng)路由器21轉(zhuǎn)發(fā)(步驟S2102)。然后,未對(duì)應(yīng)路由器21判斷能否中繼接收的包,如果能就向外部網(wǎng)絡(luò)發(fā)送,不能就拋棄包。
同樣,當(dāng)包到達(dá)對(duì)應(yīng)路由器12時(shí),也被繼續(xù)進(jìn)行轉(zhuǎn)發(fā)后(步驟S2103),這次對(duì)應(yīng)路由器13向未對(duì)應(yīng)路由器22進(jìn)行包的重定向(步驟S2104)。
如上述根據(jù)本發(fā)明,即使在LAN內(nèi)的路由器中含有不對(duì)應(yīng)本發(fā)明的路由器,也因?yàn)榘凑疹A(yù)先規(guī)定的條件向那個(gè)未對(duì)應(yīng)路由器轉(zhuǎn)發(fā)包,所以能分散因中繼處理所產(chǎn)生的負(fù)荷。
(實(shí)施方式3)在本實(shí)施方式中的路由器選擇方法,是在包向其他路由器的轉(zhuǎn)發(fā)中,向發(fā)送源終端不發(fā)送包的重定向消息,而是在由進(jìn)行中繼處理的路由器按確定的時(shí)刻開始進(jìn)行發(fā)送。圖21是在本實(shí)施方式中表示路由器構(gòu)成的方塊圖。與圖2所示的實(shí)施方式1的路由器構(gòu)成的不同點(diǎn)在于,它具有頭部信息存儲(chǔ)部211、中繼報(bào)告轉(zhuǎn)發(fā)部212、中繼報(bào)告生成部213。
頭部信息存儲(chǔ)部211存儲(chǔ)頭部信息,當(dāng)中繼決定部205決定不中繼數(shù)據(jù)包時(shí),如果自己是最初的轉(zhuǎn)發(fā)源路由器,就存儲(chǔ)該數(shù)據(jù)包的頭部信息。
另外,中繼報(bào)告生成部213生成用于報(bào)告自己中繼的包的中繼報(bào)告消息。該中繼報(bào)告消息的構(gòu)成由圖27A、B表示。
在圖27A、B中,在IP頭部281上,設(shè)定發(fā)送源、發(fā)送目的地的IP地址。另外,在UDP頭部282上,設(shè)定本消息的端口號(hào)碼。但是,UDP頭部282,也可以用TCP頭部,也可以不使用TCP、UDP的任何一個(gè)頭部。
在中繼路由器信息283中設(shè)定決定中繼路由器的信息。這里面包括,例如,中繼路由器的IP地址、MAC地址等。此外,為了在最初轉(zhuǎn)發(fā)數(shù)據(jù)包的路由器向發(fā)送源終端發(fā)送的重定向包上設(shè)定為重定向目的地,而使用該中繼路由器信息283。但是,設(shè)定決定了向IP頭部281中繼的路由器的IP地址、并轉(zhuǎn)發(fā)中繼報(bào)告消息的路由器,如果不進(jìn)行IP頭部的變更,就不需要在中繼路由器信息283中的IP地址信息。
而且,在包頭部信息284中,記載數(shù)據(jù)包的頭部信息,并設(shè)定發(fā)送源、發(fā)送目的地的IP地址或其他IP頭部內(nèi)記述的信息、以及TCP、UDP頭部記述的信息等內(nèi)的必要信息。此外,為了判定路由器自己是不是應(yīng)該發(fā)送重定向包的路由器,而使用該包頭部信息284。
中繼報(bào)告轉(zhuǎn)發(fā)部212,在接收該中繼報(bào)告消息時(shí),如果中繼報(bào)告消息中含有的數(shù)據(jù)包頭部信息被存儲(chǔ)到頭部信息存儲(chǔ)部211,就將自己作為最初的轉(zhuǎn)發(fā)源路由器向包中繼部206指示發(fā)送重定向包,如果頭部信息沒有被頭部信息存儲(chǔ)部211存儲(chǔ),就向轉(zhuǎn)發(fā)源路由器轉(zhuǎn)發(fā)中繼報(bào)告消息。
另外,在本實(shí)施方式中路由器保存順序表的構(gòu)成由圖22表示。加在實(shí)施方式1的構(gòu)成(圖5A至C)基礎(chǔ)上,存儲(chǔ)路由器的物理層地址(例如MAC地址)。這是為了判斷數(shù)據(jù)包的轉(zhuǎn)發(fā)源是路由器還是終端所必要的,如果數(shù)據(jù)包發(fā)送源的物理層地址被存儲(chǔ)在順序表內(nèi)就能夠判斷是路由器,如果沒被存儲(chǔ)就是終端。這是因?yàn)橹煌ㄟ^網(wǎng)絡(luò)地址(例如IP地址),不能進(jìn)行所述判斷。
下面,用圖23~圖25說明在本實(shí)施方式中路由器的動(dòng)作。
圖23是說明包中繼動(dòng)作的流程圖。
包中繼部206從LAN接口208接收包(步驟S241),如果該包是從終端向外部終端的包(步驟S242)就進(jìn)行終端包處理(步驟S243),如果不是從終端向外部終端的包(步驟S242),就進(jìn)行中繼報(bào)告消息處理(步驟S244)。
此外,如果包中繼部206從存取接口209接收包時(shí),確認(rèn)那個(gè)包是不是發(fā)往LAN1內(nèi)的終端的包后,就從LAN接口208發(fā)送。
圖24是表示上述終端包處理(步驟S243)的流程圖。
在圖24中,步驟S251至S255,與實(shí)施方式1的圖8所示的步驟S82至S87的處理相同。
在步驟S255中,包中繼部206從存取接口209向下一次轉(zhuǎn)發(fā)目的地路由器發(fā)送數(shù)據(jù)包之后,就檢查該發(fā)送的包是不是其他路由器轉(zhuǎn)發(fā)的(步驟S261)。如果是其他路由器轉(zhuǎn)發(fā)的,包中繼部206就指示中繼報(bào)告生成部213,生成報(bào)告自己中繼的旨意的中繼報(bào)告消息。然后,包中繼部206向那個(gè)包的轉(zhuǎn)發(fā)源路由器發(fā)送該中繼報(bào)告消息(步驟S262)。
該包是不是由路由器轉(zhuǎn)發(fā)的,通過包中繼部206將包的發(fā)送源MAC地址與順序表(圖22)記載的自己的前一個(gè)順序的路由器的MAC地址進(jìn)行比較就能判斷。如果一致,就判斷為包就是路由器轉(zhuǎn)發(fā)的;如果不一致,就判斷為是從終端直接接收的。中繼報(bào)告消息的發(fā)送目的地,也同樣是自己的前一個(gè)順序的路由器。
另一方面,在步驟S254中,如果不中繼包時(shí),就向順序決定部207詢問應(yīng)向同一段內(nèi)的哪個(gè)路由器轉(zhuǎn)發(fā)(步驟S257),作為轉(zhuǎn)發(fā)目的地向指定的路由器轉(zhuǎn)發(fā)包(步驟S258)。該處理與實(shí)施方式1圖8所示的步驟S88與S89相同。
接著,包中繼部206檢查自己是不是最初的轉(zhuǎn)發(fā)源路由器(步驟S259),如果是最初的轉(zhuǎn)發(fā)源路由器,就將包的頭部信息存儲(chǔ)到頭部信息存儲(chǔ)部211(步驟S260)。
在這里,自己是不是最初的轉(zhuǎn)發(fā)源路由器,通過比較包的發(fā)送源MAC地址與在順序表(圖22)內(nèi)記載的自己的前一個(gè)順序的路由器的MAC地址就能夠進(jìn)行判斷。也就是說,判斷如果不一致自己就是最初的轉(zhuǎn)發(fā)源路由器;如果一致就不是最初的轉(zhuǎn)發(fā)源路由器。
圖25是表示中繼報(bào)告消息處理(步驟S244)的流程圖。
在圖25中,如果接收的包是中繼報(bào)告消息,包中繼部206就檢查在頭部信息存儲(chǔ)部211內(nèi)有沒有與其消息所包含的包頭部信息284相一致的(步驟S271)。如果在頭部信息存儲(chǔ)部211里有,包中繼部206就判斷自己是該包的最初的轉(zhuǎn)發(fā)源,將指定發(fā)送中繼路由器信息283所述的路由器為中繼路由器的重定向包,向包頭部信息284所述的發(fā)送源終端發(fā)送(步驟S272)。
另一方面,如果沒有一致的,包中繼部206就判斷自己不是最初的轉(zhuǎn)發(fā)源路由器,并向順序表的順序中前一個(gè)路由器轉(zhuǎn)發(fā)中繼報(bào)告消息(步驟S273)。
通過以上所述構(gòu)成的路由器,將從終端向外部終端發(fā)送數(shù)據(jù)包時(shí)的動(dòng)作進(jìn)行如下說明。
圖26是表示數(shù)據(jù)包及重定向包的發(fā)送序列的圖。在圖26中,實(shí)線箭頭符號(hào)表示數(shù)據(jù)包的發(fā)送,虛線箭頭符號(hào)表示重定向包的發(fā)送,斷續(xù)線箭頭符號(hào)表示中繼報(bào)告消息的發(fā)送,圓圈符號(hào)表示重定向包的發(fā)送源。
在圖26中,首先,終端14為了與外部終端16進(jìn)行通信,向作為默認(rèn)網(wǎng)關(guān)的路由器11發(fā)送數(shù)據(jù)包(步驟S281)。路由器11收到后,在這種情況下,決定不進(jìn)行中繼,而是把包轉(zhuǎn)發(fā)到作為轉(zhuǎn)發(fā)目的地的路由器12(步驟S282)。這時(shí),由于轉(zhuǎn)發(fā)的包是從終端14直接接收的,所以路由器11存儲(chǔ)包的頭部信息。
接著,從路由器11轉(zhuǎn)發(fā)包的路由器12也與路由器11一樣轉(zhuǎn)發(fā)包(步驟S283)。這時(shí),路由器12由于識(shí)別到包的發(fā)送源MAC地址是路由器11的,所以就不存儲(chǔ)頭部信息。
接著,從路由器12轉(zhuǎn)發(fā)包的路由器13,在這種情況下,決定進(jìn)行包的中繼而中繼包。這時(shí),路由器13根據(jù)中繼的包的發(fā)送源MAC地址與順序表識(shí)別到是從路由器12轉(zhuǎn)發(fā)的包。然后,路由器13將中繼報(bào)告消息(圖27A)向路由器12發(fā)送(步驟S284)。
接著,接收中繼報(bào)告消息的路由器12,確認(rèn)該消息中含有的頭部信息與存儲(chǔ)的是否一致,由于不一致,所以向路由器11轉(zhuǎn)發(fā)中繼報(bào)告消息(圖27B)(步驟S285)。
接著,從路由器12接收所轉(zhuǎn)發(fā)的中繼報(bào)告消息的路由器11,同樣檢查該消息中含有的信息與存儲(chǔ)的是否一致,由于一致,所以判斷自己是該包最初的轉(zhuǎn)發(fā)源。然后,路由器13根據(jù)該中繼報(bào)告消息中含有的中繼路由器信息,生成將路由器13指定為中繼路由器的重定向包,并向終端14發(fā)送(步驟S286)。
接著,接收該重定向包的終端14,就將數(shù)據(jù)包的中繼路由器從路由器11變更為路由器13,而繼續(xù)執(zhí)行通信(步驟S287)。
如上述根據(jù)本發(fā)明,當(dāng)路由器不向外部網(wǎng)絡(luò)將請(qǐng)求中繼的包進(jìn)行中繼,而是向其他路由器轉(zhuǎn)發(fā)時(shí),就不向發(fā)送源終端發(fā)送重定向消息,在決定了中繼路由器時(shí),就向最初的轉(zhuǎn)發(fā)源路由器發(fā)送中繼報(bào)告消息。然后,接收了該中繼報(bào)告消息的、最初轉(zhuǎn)發(fā)對(duì)象包的路由器,向發(fā)送源終端發(fā)送指示中繼路由器的旨意的重定向包。由此,因?yàn)橹囟ㄏ虬幌虬l(fā)送源終端發(fā)送一次,所以可減少LAN上流動(dòng)的包數(shù)量,從而能降低網(wǎng)絡(luò)的負(fù)荷。
另外,發(fā)送源終端,由于中繼目的地路由器的變更一次即可,所以能降低發(fā)送處理的負(fù)荷。
產(chǎn)業(yè)上利用的可能性本發(fā)明的路由器選擇方法,可用于根據(jù)應(yīng)用軟件的要求等在選擇合適路由器的網(wǎng)絡(luò)上轉(zhuǎn)發(fā),并適用于通信的QoS控制。另外,還能適用于路由器的負(fù)荷分散等用途。
權(quán)利要求
1.一種路由器選擇方法,是包含進(jìn)行與外部網(wǎng)絡(luò)中繼的多個(gè)路由器的局域網(wǎng)中的路由器選擇方法,其特征在于,具有如下步驟同一段內(nèi)的所有路由器對(duì)包含自己的識(shí)別符的多播包定期地進(jìn)行多播的步驟;路由器選擇步驟,根據(jù)所述路由器從同一段內(nèi)的其他路由器接收的所述多播包中含有的信息,在同一段內(nèi)的所述多個(gè)路由器之間選擇轉(zhuǎn)發(fā)數(shù)據(jù)包的路由器;依照事先確定的條件,決定是否將各路由器從同一段內(nèi)的節(jié)點(diǎn)或路由器接收到的數(shù)據(jù)包向其他段進(jìn)行中繼的步驟;轉(zhuǎn)發(fā)步驟,當(dāng)接收了所述數(shù)據(jù)包的路由器不向其他段中繼所述數(shù)據(jù)包時(shí),執(zhí)行向所述數(shù)據(jù)包的發(fā)送源指示的重定向,以使將所述被選擇的路由器作為中繼目的地,并且向所述被選擇的路由器轉(zhuǎn)發(fā)所述數(shù)據(jù)包或拋棄;和接收了所述重定向的所述發(fā)送源節(jié)點(diǎn),向所述指示的路由器發(fā)送所述數(shù)據(jù)包以及其后的數(shù)據(jù)包的步驟,重復(fù)進(jìn)行所述轉(zhuǎn)發(fā)步驟直到被能夠中繼的路由器接收為止。
2.一種路由器的選擇方法,是包含進(jìn)行與外部網(wǎng)絡(luò)中繼的多個(gè)路由器的局域網(wǎng)中的路由器選擇方法,其特征在于,具有如下步驟同一段內(nèi)的所有路由器對(duì)包含自己的識(shí)別符的多播包定期地進(jìn)行多播的步驟;根據(jù)所述路由器從同一段內(nèi)的其他路由器接收的所述多播包中含有的信息,在同一段內(nèi)的所述多個(gè)路由器之間選擇轉(zhuǎn)發(fā)數(shù)據(jù)包的路由器的步驟;根據(jù)事先確定的條件,決定是否將各路由器從同一段內(nèi)的節(jié)點(diǎn)或路由器接收到的數(shù)據(jù)包向其他段中繼的步驟;當(dāng)決定不向其他段中繼所述路由器接收到的數(shù)據(jù)包時(shí),向所述被選擇的路由器轉(zhuǎn)發(fā)所述數(shù)據(jù)包的步驟;當(dāng)向其他段中繼所述路由器接收到的所述數(shù)據(jù)包時(shí),在所述數(shù)據(jù)包不是直接從發(fā)送源的節(jié)點(diǎn)接收,而是由其他路由器進(jìn)行轉(zhuǎn)發(fā)的轉(zhuǎn)發(fā)包的情況下,將表示該路由器自己能夠中繼所述轉(zhuǎn)發(fā)包的中繼報(bào)告信息發(fā)送給轉(zhuǎn)發(fā)源的路由器的步驟;和在所述轉(zhuǎn)發(fā)源的路由器接收到所述中繼報(bào)告信息時(shí),判斷自己是否是轉(zhuǎn)發(fā)作為該中繼報(bào)告信息對(duì)象的數(shù)據(jù)包的最初路由器,當(dāng)自己是最初路由器時(shí),向所述數(shù)據(jù)包的發(fā)送源節(jié)點(diǎn),發(fā)送指示可中繼的路由器的重定向,在自己不是最初路由器時(shí),將所述中繼報(bào)告信息轉(zhuǎn)發(fā)給如下路由器的步驟,該路由器是作為所述中繼報(bào)告信息對(duì)象的數(shù)據(jù)包的轉(zhuǎn)發(fā)源。
3.根據(jù)權(quán)利要求1或2所述的路由器選擇方法,其特征在于,所述多播包中記載的信息,是各路由器的識(shí)別符。
4.根據(jù)權(quán)利要求3所述的路由器選擇方法,其特征在于,所述路由器選擇步驟中的選擇路由器的順序,只使用所述多播包中包含的所述信息。
5.根據(jù)權(quán)利要求1或2所述的路由器選擇方法,其特征在于,根據(jù)向同一段追加或刪除路由器,來更新決定所述被選擇的路由器的順序。
6.根據(jù)權(quán)利要求5所述的路由器選擇方法,其特征在于,在從各路由器定期地發(fā)送所述多播包并自未接收的路由器接收到所述多播包時(shí),將所述路由器作為追加到同一段上的路由器而追加到所述順序中。
7.根據(jù)權(quán)利要求6所述的路由器選擇方法,其特征在于,當(dāng)在一定時(shí)間沒有從特定路由器發(fā)送多播包時(shí),將所述特定的路由器作為從LAN中刪除的路由器而從所述順序中刪除。
8.一種路由器裝置,其特征在于,具有多播包發(fā)送部,其對(duì)包含自己的識(shí)別符的多播包定期地進(jìn)行多播;中繼決定部,其按照預(yù)先決定的條件,決定是否向其他段的路由器中繼從同一段內(nèi)的節(jié)點(diǎn)或路由器接收的、應(yīng)向其他段中繼的數(shù)據(jù)包;順序決定部,其根據(jù)從同一段內(nèi)其他路由器接收到的所述多播包中包含的信息,從同一段內(nèi)的路由器中,決定轉(zhuǎn)發(fā)所述數(shù)據(jù)包的路由器;和包中繼部,其收到來自所述中繼決定部的不可中繼的通知,向由所述順序決定部選擇的所述路由器轉(zhuǎn)發(fā)所述數(shù)據(jù)包,并且,將該轉(zhuǎn)發(fā)目的地的路由器作為所述數(shù)據(jù)包的中繼目的地并向所述數(shù)據(jù)包的發(fā)送源發(fā)出通知,或拋棄所述數(shù)據(jù)包。
9.一種路由器裝置,其特征在于,具有多播包發(fā)送部,其對(duì)包含自己的識(shí)別符的多播包定期地進(jìn)行多播;中繼決定部,其按照預(yù)先決定的條件,決定是否向其他段的路由器中繼從同一段內(nèi)的節(jié)點(diǎn)或路由器接收的、應(yīng)向其他段中繼的數(shù)據(jù)包;順序決定部,其根據(jù)從同一段內(nèi)其他路由器接收的所述多播包中包含的信息,從同一段內(nèi)的路由器中,決定轉(zhuǎn)發(fā)所述數(shù)據(jù)包的路由器;包中繼部,其收到來自所述中繼決定部的不可中繼的通知,向由所述順序決定部選擇的路由器轉(zhuǎn)發(fā)所述數(shù)據(jù)包,并且,當(dāng)該數(shù)據(jù)包的發(fā)送源是節(jié)點(diǎn)時(shí),至少使確定該數(shù)據(jù)包的包識(shí)別符與確定發(fā)送源的設(shè)備識(shí)別符相關(guān)聯(lián),并存儲(chǔ)在頭部信息存儲(chǔ)部;中繼報(bào)告生成部,其根據(jù)來自所述包中繼部的請(qǐng)求來生成報(bào)告自己中繼包的旨意的中繼報(bào)告消息;和中繼報(bào)告轉(zhuǎn)發(fā)部,其向所述數(shù)據(jù)包的轉(zhuǎn)發(fā)源的路由器轉(zhuǎn)發(fā)從其他路由器接收到的所述中繼報(bào)告消息,所述包中繼部,在作為從其他路由器接收到的所述中繼報(bào)告消息對(duì)象的所述數(shù)據(jù)包與所述頭部信息存儲(chǔ)部中存儲(chǔ)的信息相同時(shí),向所述設(shè)備識(shí)別符所表示的發(fā)送源節(jié)點(diǎn)通知中繼所述數(shù)據(jù)包的路由器。
10.根據(jù)權(quán)利要求8或9所述的路由器裝置,其特征在于,所述順序決定部,使用所述多播包中包含的所述識(shí)別符來決定路由器的選擇順序。
11.根據(jù)權(quán)利要求10所述的路由器裝置,其特征在于,所述順序決定部,還使用多播包中含有的標(biāo)志信息來決定路由器的選擇順序。
12.根據(jù)權(quán)利要求11所述的路由器裝置,其特征在于,所述順序決定部具有順序更新部,所述順序更新部當(dāng)從不包含在所述選擇順序中的路由器接收到多播包時(shí),追加到所述選擇順序中;當(dāng)在規(guī)定時(shí)間從所述選擇順序中包含的路由器接收不到多播包時(shí),從選擇順序中刪除。
13.根據(jù)權(quán)利要求8或9所述的路由器裝置,其特征在于,所述條件為所述數(shù)據(jù)包的類別、路由器中的擁堵狀態(tài)、傳送能力,由所述中繼決定部判斷的不進(jìn)行中繼的次數(shù)、或通信成本、或者這些條件中的任意組合。
全文摘要
本發(fā)明提供了一種路由器選擇方法和路由器裝置。具有將自己的識(shí)別符定期地進(jìn)行多播的多播包發(fā)送部(201);決定是否將接收的數(shù)據(jù)包中繼給其他段的路由器的中繼決定部(205);根據(jù)包含在來自其他路由器的多播包中的信息來決定進(jìn)行轉(zhuǎn)發(fā)的路由器的順序決定部(207);當(dāng)不進(jìn)行中繼時(shí),將順序決定部(207)選擇的路由器作為中繼目的地并通知給發(fā)送源,并且,向被選擇的路由器進(jìn)行轉(zhuǎn)發(fā)的包中繼部(206),由此,最終選擇適合于對(duì)包進(jìn)行中繼的路由器,而且,僅僅由路由器的重定向就可以進(jìn)行該中繼路由器的切換,因此,不必向終端追加新的功能。
文檔編號(hào)H04L12/56GK1799226SQ200480014999
公開日2006年7月5日 申請(qǐng)日期2004年10月1日 優(yōu)先權(quán)日2003年10月2日
發(fā)明者熊澤雅之, 松本泰輔, 池田新吉, 小林廣和, 船引誠, 川原豐樹 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社