專利名稱:通信裝置、路由方法及程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信裝置,尤其涉及在未指定通信接口的包和指定了通信接口的包共存的同時,可以選擇恰當(dāng)?shù)耐ㄐ沤涌诘耐ㄐ叛b置、路由方法及程序。
背景技術(shù):
通常,計算機(jī)網(wǎng)絡(luò)的中繼節(jié)點(diǎn)等連接著多個通信路徑,以往,當(dāng)中繼節(jié)點(diǎn)接收包時,在該包所包含的路徑信息中,尤其僅根據(jù)目標(biāo)地址從多個通信路徑中選擇要使用的通信路徑,向下一個節(jié)點(diǎn)發(fā)送包。
然而,通信路徑的特性,即延遲時間、頻帶、線路質(zhì)量、使用費(fèi)用等不一定相同,大多情況下按通信路徑而不同。因此,在可以針對某一目標(biāo)地址,選擇延遲時間、頻帶、線路質(zhì)量、使用費(fèi)用等特性不同的多條路徑時,即使是相同目標(biāo)地址的包,也優(yōu)選能夠根據(jù)其應(yīng)用程序(application)的種類或發(fā)送源地址等選擇最希望的路徑。
但是,如上所述,由于在現(xiàn)有的中繼節(jié)點(diǎn)中,僅根據(jù)所接收的包目標(biāo)地址選擇了要使用的通信路徑,所以,針對相同目標(biāo)地址的包選擇了完全相同的通信路徑,存在著無法選擇與應(yīng)用程序的種類或發(fā)送源地址等對應(yīng)的路徑的問題。
鑒于此,提出了一種能夠選擇最希望的路徑的通信路徑選擇技術(shù)的方案(例如專利文獻(xiàn)1)。
專利文獻(xiàn)1特開2000-115230號公報在上述技術(shù)的情況下,當(dāng)可以指定所選擇的路徑,例如所選擇的通信接口的發(fā)送源地址,即在生成包時可以指定發(fā)送源地址的情況下,能夠選擇被指定的通信接口。
然而,在以往與某一未指定發(fā)送源地址的包共存的環(huán)境下,無法反映路由時所指定的通信接口,存在著僅根據(jù)目標(biāo)地址選擇了通信接口的課題。
發(fā)明內(nèi)容
本發(fā)明鑒于上述課題而提出,其目的在于,提供一種即使在未指定通信接口的包和指定了通信接口的包共存的環(huán)境下,也可以選擇恰當(dāng)?shù)耐ㄐ沤涌诘耐ㄐ叛b置、路由方法以及程序。
用于解決上述課題的第一發(fā)明提供一種通信裝置,其包括具有獨(dú)立的地址的多個通信接口,具有將通信接口的地址與經(jīng)由該通信接口而到達(dá)的目標(biāo)地址相關(guān)聯(lián)的表;和路由機(jī)構(gòu),其從所述表中選擇與要發(fā)送的包的目標(biāo)地址對應(yīng)的通信接口,當(dāng)在所述要發(fā)送的包中存在指定發(fā)送源地址或通信接口的信息時,從所述被選擇的通信接口中選擇與所述發(fā)送源地址或通信接口對應(yīng)的通信接口,將所述要發(fā)送的包發(fā)送給所選擇的通信接口。
用于解決上述課題的第二發(fā)明,根據(jù)上述第一發(fā)明的通信裝置,其特征在于,所述地址是IP地址。
解決上述課題的第三發(fā)明提供一種路由方法,是包括具有獨(dú)立的地址的多個通信接口的通信裝置的路由方法,預(yù)先將通信接口的地址、和經(jīng)由該通信接口而到達(dá)的目標(biāo)地址關(guān)聯(lián)存儲起來,在要發(fā)送的包的路由時,從與所述目標(biāo)地址關(guān)聯(lián)存儲的通信接口中選擇和要發(fā)送的包的目標(biāo)地址對應(yīng)的通信接口,當(dāng)在所述要發(fā)送的包中存在指定發(fā)送源地址或通信接口的信息時,從所述被選擇的通信接口中選擇與所述發(fā)送源地址或通信接口對應(yīng)的通信接口,將所述接收包發(fā)送給所選擇的通信接口。
解決上述課題的第四發(fā)明,其特征在于,所述地址是IP地址。
解決上述課題的第五發(fā)明提供一種通信裝置的程序,所述通信裝置包括具有獨(dú)立的地址的多個通信接口,所述程序使所述通信裝置發(fā)揮下述功能從將通信接口的地址與經(jīng)由該通信接口而到達(dá)的目標(biāo)地址相關(guān)聯(lián)的表中,選擇與要發(fā)送的包的目標(biāo)地址對應(yīng)的通信接口,當(dāng)在所述要發(fā)送的包中存在指定發(fā)送源地址或通信接口的信息時,從所述被選擇的通信接口中選擇與所述發(fā)送源地址或通信接口對應(yīng)的通信接口,將所述要發(fā)送的包發(fā)送給所選擇的通信接口。
解決上述課題的第六發(fā)明根據(jù)上述第五發(fā)明,其特征在于,所述地址是IP地址。
本發(fā)明針對通信裝置所具有的各通信接口,預(yù)先將其地址和該通信接口的目標(biāo)地址相關(guān)聯(lián)地存儲在表中。
當(dāng)接收包時,從表中選擇與該包的目標(biāo)地址對應(yīng)的通信接口。然后,當(dāng)在接收包中存在指定發(fā)送源地址或通信接口的信息時,從被選擇的通信接口中選擇與發(fā)送源地址或通信接口對應(yīng)的通信接口,發(fā)送給該通信接口。
另一方面,當(dāng)接收包中沒有發(fā)送源地址或通信接口的信息時,從所選擇的通信接口中選擇任意的通信接口,將接收包發(fā)送給所選擇的通信接口。
發(fā)明效果本發(fā)明在通信裝置裝備了多個通信接口、且對各通信接口分配了獨(dú)立的地址的網(wǎng)絡(luò)構(gòu)成的情況下,能夠利用被決定的路徑(通信接口)來發(fā)送包,另一方面,即使對于沒有特別存儲發(fā)送源地址的現(xiàn)有技術(shù)中期待路由的包而言,也可以進(jìn)行路由處理,起到出色的效果。
圖1表示了通信接口具有獨(dú)立的IP地址時的構(gòu)成例。
圖2是表示圖1的系統(tǒng)中的發(fā)送節(jié)點(diǎn)100-2內(nèi)部構(gòu)成的一個例子的圖。
圖3是表示IP路由處理部1318的構(gòu)成的圖。
圖4是表示路徑控制表1321的一個例子的圖。
圖5是表示IF地址管理表1322的一個例子的圖。
圖6是表示保存于存儲器部315-2的路徑通信接口對應(yīng)表1330的一個例子的圖。
圖7是表示發(fā)送IP包生成數(shù)據(jù)1510的構(gòu)成的圖。
圖8是表示送出IP包1610的構(gòu)成的圖。
圖9是基于發(fā)送IF判定/送出處理部1320的發(fā)送IF決定的流程圖。
圖10是表示其他的發(fā)送IP包生成數(shù)據(jù)的圖。
圖11是表示其他的送出IP包的圖。
圖12是基于發(fā)送IF判定/送出處理部1320的其他發(fā)送IF決定的流程圖。
圖13是表示路徑控制表1321的記錄的一個例子的圖。
圖中312-2-排隊(queuing)部,313-2-調(diào)度(scheduling)部,314-路徑狀態(tài)監(jiān)視部,315-2-存儲器部,1316-IP包生成部,1317-IP包排隊部,1318-IP路由處理部。
具體實(shí)施例方式
下面,對本發(fā)明的實(shí)施方式進(jìn)行說明。
圖1表示在本實(shí)施方式中,通信接口具備獨(dú)立的IP地址時的構(gòu)成例。
圖1中,在從數(shù)據(jù)生成節(jié)點(diǎn)10-2到目標(biāo)節(jié)點(diǎn)11-2的路徑上,存在著具有多條路徑的發(fā)送節(jié)點(diǎn)100-2和接收節(jié)點(diǎn)101-2。在發(fā)送節(jié)點(diǎn)100-2與接收節(jié)點(diǎn)101-2之間存在著三條路徑。在圖1的構(gòu)成例中,作為發(fā)送機(jī)構(gòu),發(fā)送節(jié)點(diǎn)100-2裝備有作為通信接口的S-IF#11310-1、S-IF#21310-2、S-IF#3 1310-3、S-IF#4 1310-4。通信接口S-IF#1 1310-1~S-IF#3 1310-3分別屬于不同的無線網(wǎng)1300-1~1300-3,經(jīng)由無線電線路202-4~202-6與位于蜂窩載波(cellular carrier)網(wǎng)內(nèi)的載波(carrier)網(wǎng)網(wǎng)關(guān)1400-1~1400-3連接。另外,通信接口S-IF#4 1310-4經(jīng)由有線或無線電線路202-7與搭載于數(shù)據(jù)生成節(jié)點(diǎn)10-2的作為通信接口的D-IF 1200連接。而且,作為接收機(jī)構(gòu),接收節(jié)點(diǎn)101-2裝備有作為通信接口的R-IF 1500-1。接收節(jié)點(diǎn)101-2經(jīng)由通信接口R-IF 1500-1和有線網(wǎng)102-2與各載波網(wǎng)網(wǎng)關(guān)1400-1~1400-3連接。
在圖1的系統(tǒng)中,通過利用Point to Point Protocol(PPP)等的方式,通信接口S-IF#1 1310-1~S-IF#3 1310-3分別被分配獨(dú)立的IP地址“100.1.2.3”、“110.1.2.3”、“120.1.2.3”。而且,通過以固定方式設(shè)定或采用DHCP等的方式,給通信接口R-IF 1500-1分配了IP地址“200.7.8.9”。并且,通過以固定方式設(shè)定或采用DHCP等的方法,對通信接口D-IF 1200分配了IP地址“192.168.2.50”。
這里,圖2表示圖1的系統(tǒng)中的發(fā)送節(jié)點(diǎn)100-2的內(nèi)部構(gòu)成的一個例子。為了在發(fā)送節(jié)點(diǎn)100-2中進(jìn)行IP通信,其由包的排隊部312-2、調(diào)度部313-2、路徑狀態(tài)監(jiān)視部314、存儲器部315-2、IP包生成部1316、IP包排隊部1317、和IP路由處理部1318構(gòu)成。
調(diào)度部313-2從排隊部312-2取出輸入數(shù)據(jù)(目標(biāo)地址、發(fā)送數(shù)據(jù)),選擇特定的通信接口。對所取出的數(shù)據(jù)進(jìn)行傳輸用的通信接口(路徑)的選擇,通過參照路徑狀態(tài)監(jiān)視部314-2所管理的路徑狀態(tài)而進(jìn)行。路徑狀態(tài)監(jiān)視部314-2根據(jù)現(xiàn)存的路徑選擇方法或新的路徑選擇方法進(jìn)行決定。其中,路徑狀態(tài)的信息存儲于存儲器部315-2中。
IP包生成部1316通過給從調(diào)度部313-2獲得的數(shù)據(jù)賦予IP頭而生成IP包。另外,IP包排隊部1317是對IP包生成部1316所生成的IP包進(jìn)行蓄積的緩沖器。而且,IP路由處理部1318將蓄積于IP包排隊部1317的IP包取出,判別IP包的下一個傳輸目的地,并且,使用通信接口S-IF#11310-1~S-IF#4 1310-4中恰當(dāng)?shù)慕涌?,進(jìn)行IP包的送出。
圖3表示IP路由處理部1318的構(gòu)成。IP路由處理部1318中具備路徑控制表1321(如圖4所示),其用于判別被傳遞的IP包的傳輸目的地。而且,還具備IF地址管理表1322(如圖5所示),其記錄有分配給所搭載的各通信接口的IP地址。并且,具備發(fā)送IF判定/送出處理部1320,其使用這些路徑控制表1321和IF地址管理表1322,判別傳遞給IP路由處理部1318的IP包的傳輸目的地,向?qū)?yīng)的通信接口S-IF#1 1310-1~S-IF#4 1310-4送出該IP包。
圖6表示保存于存儲器部315-2的、對通信路徑和與之對應(yīng)的通信接口的對應(yīng)關(guān)系進(jìn)行保存的表(下面稱作路徑通信接口對應(yīng)表1330)的一個例子。在路徑通信接口對應(yīng)表1330的各條記錄中,存儲有調(diào)度部313-2及路徑狀態(tài)監(jiān)視部314-2所識別的作為各通信路徑的識別符的通信路徑編號、和與各個通信路徑的連接中所利用的通信接口名的信息。
圖4所示的路徑控制表1321中,一般按每個成為IP包的發(fā)送目的地的目標(biāo)網(wǎng)絡(luò)IP地址,記錄有網(wǎng)絡(luò)掩碼、和為了使IP包到達(dá)該網(wǎng)絡(luò)而表示下一個傳輸目的地的網(wǎng)關(guān)IP地址。而且,還記錄有表示與該網(wǎng)關(guān)IP地址相同的子網(wǎng)中所連接的通信接口的信息。另外,實(shí)際上還包括設(shè)定用于向?qū)儆谕蛔泳W(wǎng)的全部通信設(shè)備進(jìn)行發(fā)送的廣播地址等的情況,但省略了對于該請況的圖示及說明。
在圖5所示的IF地址管理表1322中,記錄有搭載于發(fā)送節(jié)點(diǎn)的通信接口與對其分配的IP地址的對應(yīng)關(guān)系。每當(dāng)分配給各通信接口的IP地址變更時,IF地址管理表1322的內(nèi)容便被更新。
在本實(shí)施方式中,作為接收機(jī)構(gòu),接收節(jié)點(diǎn)101-2僅裝備了單一通信接口即R-IF 1500-1,與之相對,發(fā)送節(jié)點(diǎn)100-2裝備了分別被分配了獨(dú)立的IP地址的通信接口即S-IF#1 1310-1~S-IF#4 1310-4。因此,在路徑控制表1321中,針對目標(biāo)網(wǎng)絡(luò)IP地址的值相同的“200.7.8.9”,分別存在著登錄了不同網(wǎng)關(guān)IP地址和通信接口的記錄1321-a、1321-b、1321-c。而且,在路徑控制表1321中,還存在著作為指向數(shù)據(jù)生成節(jié)點(diǎn)10-2的路徑信息即1321-d。
發(fā)送IF判定/送出處理部1320利用所收到的IP包的頭信息和路徑控制表1321,執(zhí)行決定IP包的送出中所使用的接口的、被稱作所謂IP路由的處理。
在本實(shí)施方式中,如圖4所示,存在著多個“目標(biāo)網(wǎng)絡(luò)IP地址”重復(fù)的記錄,IP路由處理用于決定送出中所使用的接口。
下面,在圖1所示的本實(shí)施方式中,對在調(diào)度部313-2中選擇了路徑通信接口對應(yīng)表1330中所登錄的通信路徑編號為“3”的路徑作為發(fā)送路徑,利用與所決定的路徑對應(yīng)的通信接口即S-IF#2 202-5,送出IP包的情況進(jìn)行舉例說明。在選擇其他的路徑時也可以通過同樣的處理來實(shí)現(xiàn)。
如果調(diào)度部313-2選擇了通信路徑編號為“3”的路徑作為通信路徑,則從路徑通信接口對應(yīng)表1330中取得與該通信路徑對應(yīng)的通信接口名“S-IF#2”。
接著,以所取得的通信接口名“S-IF#2”為鍵(key),對IP路由處理部1318內(nèi)的IF地址管理表1322進(jìn)行搜索,取得分配給S-IF#2的IP地址“110.1.2.3”。然后,調(diào)度部313-2產(chǎn)生用于生成發(fā)送IP包的信息(下面稱作發(fā)送IP包生成數(shù)據(jù)),并傳遞給IP包生成部1316。
圖7表示發(fā)送IP包生成數(shù)據(jù)1510的構(gòu)成。接收節(jié)點(diǎn)101-2的通信接口1500-1的IP地址“200.7.8.9”被作為“目標(biāo)IP地址”存儲起來,通信接口S-IF#2 1310-2的IP地址“110.1.2.3”被作為“發(fā)送源IP地址”存儲起來。
在IP包生成部1316中以所接收到的發(fā)送IP包生成數(shù)據(jù)1510為依據(jù),生成圖8所示的送出IP包1610,并追加到IP包排隊部1317。送出IP包1610中,以所接收到的發(fā)送IP包生成數(shù)據(jù)1510中包含的信息為依據(jù),在IP頭的“發(fā)送源IP地址”區(qū)域中存儲通信接口即S-IF#2 1310-2的IP地址“110.1.2.3”,在IP頭的“目標(biāo)IP地址”區(qū)域中存儲接收節(jié)點(diǎn)101-2的通信接口即R-IF 1500-1的IP地址“200.7.8.9”。
接著,位于IP路由處理部1318的發(fā)送IF判定/送出處理部1320從IP包排隊部1317取得IP包1610,利用路徑控制表1321和IF地址管理表1322決定對送出IP包進(jìn)行交接的通信接口,執(zhí)行送出處理。
圖9表示本實(shí)施中的基于發(fā)送IF判定/送出處理部1320的發(fā)送IF決定的流程。當(dāng)所使用的路徑控制表1321由x條記錄構(gòu)成時,作為變量,發(fā)送IF判定/送出處理部1320準(zhǔn)備了表示根據(jù)第一條件進(jìn)行搜索處理時,將路徑控制表1321的第幾個記錄作為處理對象的計數(shù)值i;對根據(jù)第一條件選擇為發(fā)送候補(bǔ)的路徑控制表的記錄進(jìn)行存儲的排列,即第一候補(bǔ)列表;表示第一候補(bǔ)列表中存儲的記錄個數(shù)的計數(shù)值m;表示根據(jù)第二條件進(jìn)行選擇處理時,將第一候補(bǔ)列表的第幾個記錄作為處理對象的計數(shù)值j;對根據(jù)第二條件選擇為發(fā)送候補(bǔ)的發(fā)送接口進(jìn)行存儲的排列,即第二候補(bǔ)列表;和表示第二候補(bǔ)列表中存儲的記錄個數(shù)的計數(shù)值n。首先,從IP包排隊部1317取出送出IP包1610(Step300)。然后,作為初始值,將計數(shù)值i、j分別設(shè)定為“1”,將計數(shù)值m、n分別設(shè)定為“0”(Step301),進(jìn)入Step302。
接著,比較計數(shù)值i和x,判定第一候補(bǔ)搜索是否結(jié)束(Step302)。具體而言,如果計數(shù)值i與x的值相等,則第一候補(bǔ)搜索結(jié)束。在計數(shù)值i與x的值不等時(Step302否),對送出IP包1610的目標(biāo)IP地址中存儲的值、和路徑控制表第i個記錄的目標(biāo)網(wǎng)絡(luò)IP地址中存儲的值進(jìn)行比較(Step303)。在比較結(jié)果一致的情況下(Step303是),將路徑控制表第i個記錄的內(nèi)容復(fù)制到第一候補(bǔ)列表的第m個記錄中(Step304)。然后,使計數(shù)值m的值增加1(Step305)。并且,使計數(shù)值i的值增加1(Step306),轉(zhuǎn)移到下一個路徑控制表記錄的處理。當(dāng)送出IP包1610的目標(biāo)IP地址中存儲的值與路徑控制表第i個記錄的目標(biāo)網(wǎng)絡(luò)IP地址中存儲的值不一致時(Step303否),原樣地進(jìn)入Step306。
通過反復(fù)執(zhí)行從Step302~Step306的處理,從路徑控制表的第一個記錄開始順次對各記錄進(jìn)行了處理。然后,當(dāng)處理到達(dá)最終的記錄時(Step302是),為了判斷第一候補(bǔ)列表中是否存在記錄,進(jìn)入到Step307。
是否存在第一候補(bǔ)具體可通過計數(shù)值m的值來判定。在計數(shù)值m的值為“0”的情況下(Step307是),由于不存在用于發(fā)送送出IP包1610的通信接口,所以結(jié)束處理(end)。在計數(shù)值m的值為“0”以外的值時(Step307否),存在第一候補(bǔ),進(jìn)入Step308的處理。接著,判斷計數(shù)值m的值是否為“1”(Step308)。在計數(shù)值m的值為“1”的情況下(Step308是),由于唯一確定了用于傳輸送出IP包1610的通信接口,所以,取得了在第一候補(bǔ)列表第一記錄中記錄的通信接口(Step309),利用所取得的通信接口將送出IP包1610送出(Step322),從而結(jié)束處理(end)。在計數(shù)值m的值不為“1”的情況下(Step308否),由于不能夠唯一確定送出IP包1610的送出所使用的通信接口,所以進(jìn)入Step310。
在Step310中判定第二候補(bǔ)搜索是否結(jié)束。具體而言,如果計數(shù)值j與計數(shù)值m相等,則第二候補(bǔ)搜索結(jié)束。當(dāng)計數(shù)值j與m不等時(Step否),首先取得第一候補(bǔ)列表第j個記錄的通信接口(Step311)。接著,從IF地址管理表1322獲取與在Step310中取得的通信接口對應(yīng)的分配IP地址(Step312)。然后,對送出IP包1610的發(fā)送源IP地址和在Step311中取得的分配IP地址進(jìn)行比較(Step313),在送出IP包1610的發(fā)送源IP地址與分配IP地址一致的情況下(Step313是),將在Step311中取得的通信接口復(fù)制到第二候補(bǔ)列表第n個記錄中(Step314),使計數(shù)值n的值增加1(Step315)。并且,使計數(shù)值j的值增加1(Step316),轉(zhuǎn)移到第一候補(bǔ)列表的下一個記錄的處理。在送出IP包1610的發(fā)送源IP地址與分配IP地址不一致的情況下(Step313否),原樣地進(jìn)入Step316。
通過反復(fù)進(jìn)行從Step310~Step316的處理,可從第一候補(bǔ)列表的第一個記錄開始順次對各記錄進(jìn)行處理。然后,當(dāng)處理到達(dá)最終的記錄(Step310是)時,為了判定在第二候補(bǔ)列表中是否存在記錄而進(jìn)入Step317。
第二候補(bǔ)是否存在具體可由計數(shù)值n的值判定。計數(shù)值n的值為“0”表示在第一候補(bǔ)列表中存在能夠?qū)⑺统鯥P包1610送出的通信接口,但不能唯一確定。計數(shù)值n的值為“1”表示能夠唯一確定可將送出IP包1610送出的通信接口。在計數(shù)值n的值為“2”以上的情況下,表示在第二候補(bǔ)列表中存在能夠?qū)⑺统鯥P包1610送出的通信接口,但無法唯一確定。
在計數(shù)值n的值為“1”的情況下(Step317是),從第二候補(bǔ)列表的第一個記錄取得通信接口(Step318),利用所取得的通信接口將送出IP包1610送出(Step322),從而結(jié)束處理(end)。在計數(shù)值n的值不為“1”的情況下(Step317否),進(jìn)入Step319。
接著,在計數(shù)值n的值為“0”的情況下(Step319是),從第一候補(bǔ)列表的任意記錄取得發(fā)送接口(Step320),利用所取得的發(fā)送接口對發(fā)送IP包1610進(jìn)行發(fā)送(Step322),從而結(jié)束處理(end)。在計數(shù)值n的值不為“0”的情況下(Step319否),從第二候補(bǔ)列表的任意記錄取得發(fā)送接口(Step321),利用所取得的發(fā)送接口對送出IP包1610進(jìn)行送出(Step322),從而結(jié)束處理(end)。
這里,在送出IP包1610的IP頭內(nèi)的目標(biāo)IP地址中存儲有“200.7.8.9”,在發(fā)送源IP地址中存儲有“110.1.2.3”。因此,第一候補(bǔ)相當(dāng)于圖13所示的路徑控制表1321的記錄1321-a、1321-b、1321-c,在執(zhí)行Step307的處理的階段,第一候補(bǔ)列表的第一個記錄被存儲路徑控制表1321的記錄1321-a的內(nèi)容,第一候補(bǔ)列表的第二記錄被存儲路徑控制表1321的記錄1321-b的內(nèi)容,第一候補(bǔ)列表的第三記錄中被存儲路徑控制表1321的記錄1321-c的內(nèi)容。而且,計數(shù)值m被存儲為“3”。并且,在Step312的處理中,在j=1的情況下取得“100.1.2.3”作為分配IP地址,在j=2的情況下取得“110.1.2.3”作為分配IP地址,在j=3的情況下取得“120.1.2.3”作為分配IP地址。進(jìn)而,在執(zhí)行Step317的處理的階段,在第二候補(bǔ)列表中僅存儲“S-IF#2”作為發(fā)送接口,在計數(shù)值中存儲“1”。即,基于Step317的處理的判定結(jié)果是執(zhí)行Step318的處理,在Step318中取得“S-IF#2”作為發(fā)送接口,發(fā)送IF判定/送出處理部1320利用由調(diào)度部313-2選擇的路徑編號為“3”的路徑所對應(yīng)的通信接口,即S-IF#21310-2,進(jìn)行送出IP包1610的送出。
結(jié)果,送出IP包1610從作為通信接口的S-IF#2 1310-2送出,并經(jīng)由載波網(wǎng)GW1400-3,被接收節(jié)點(diǎn)101-2所裝備的作為通信接口的R-IF 1500-1接收。
通過進(jìn)行以上所說明的順序,即使在如本實(shí)施方式那樣的裝備了發(fā)送節(jié)點(diǎn)100-1和接收節(jié)點(diǎn)101-2不分別一一對應(yīng)的多個通信接口、且各通信接口被分配獨(dú)立的IP地址的IP網(wǎng)絡(luò)構(gòu)成的情況下,也可以利用由調(diào)度部313-2決定的路徑發(fā)送IP包。而且,針對沒有特別存儲發(fā)送源IP地址的、在現(xiàn)有技術(shù)中期待IP路由的IP包,也可以進(jìn)行IP路由處理。
另外,作為其他的方式,也可以在發(fā)送節(jié)點(diǎn)100-2的內(nèi)部構(gòu)成的情況下,當(dāng)調(diào)度部313-2選擇了通信路徑編號為“3”的路徑作為通信路徑后,采用圖10所示的形式作為向IP包生成部1316傳遞的發(fā)送IP包生成數(shù)據(jù)。
圖10表示本實(shí)施方式的發(fā)送IP包生成數(shù)據(jù)1511。調(diào)度部313-2對接收節(jié)點(diǎn)101-2的通信接口1500-1的IP地址“200.7.8.9”進(jìn)行存儲來作為發(fā)送IP包生成數(shù)據(jù)的“目標(biāo)IP地址”,并且,存儲由路徑通信接口對應(yīng)表1330取得的、與通信路徑編號“3”對應(yīng)的通信接口名“S-IF#2”,作為發(fā)送IP包生成數(shù)據(jù)1510的“發(fā)送源接口”。
如果IP包生成部1316接收發(fā)送IP包生成數(shù)據(jù)1511,則生成圖11所示的送出IP包1611,并追加到IP包排隊部1317。在送出IP包1611中,以接收到的發(fā)送IP生成數(shù)據(jù)1511中包含的信息為依據(jù),在IP頭的“發(fā)送源IP地址”區(qū)域中存儲有作為通信接口名的“S-IF#2”,在IP頭的“目標(biāo)IP地址”區(qū)域中存儲有接收節(jié)點(diǎn)101-2的通信接口R-IF 1500-1的IP地址“200.7.8.9”。
接著,位于IP路由處理部1318的發(fā)送IF判定/送出處理部1320從IP包排隊部1317中取出送出IP包1611,利用路徑控制表1321和IF地址管理表1322,確定對送出IP包進(jìn)行交接的通信接口,執(zhí)行送出處理。
圖12表示本實(shí)施中的基于發(fā)送IF判定/送出處理部1320的發(fā)送IF決定的流程。在本實(shí)施中,當(dāng)所使用的路徑控制表1321由x條記錄構(gòu)成時,作為變量,發(fā)送IF判定/送出處理部1320也準(zhǔn)備了表示在根據(jù)第一條件進(jìn)行搜索處理時,將路徑控制表1321的第幾個記錄作為處理對象的計數(shù)值i;對根據(jù)第一條件選擇為發(fā)送候補(bǔ)的路徑控制表的記錄進(jìn)行存儲的排列,即第一候補(bǔ)列表;表示第一候補(bǔ)列表中存儲的記錄個數(shù)的計數(shù)值m;表示根據(jù)第二條件進(jìn)行選擇處理時,將第一候補(bǔ)列表的第幾個記錄作為處理對象的計數(shù)值j;對根據(jù)第二條件選擇為發(fā)送候補(bǔ)的發(fā)送接口進(jìn)行存儲的排列,即第二候補(bǔ)列表;和表示第二候補(bǔ)列表中存儲的記錄個數(shù)的計數(shù)值n。首先,從IP包排隊部1317取出送出IP包1611(Step400)。然后,作為初始值,將計數(shù)值i、j分別設(shè)定為“1”,將計數(shù)值m、n分別設(shè)定為“0”(Step401),進(jìn)入Step402。
接著,比較計數(shù)值i和x,判定第一候補(bǔ)搜索是否結(jié)束(Step402)。具體而言,如果計數(shù)值i與x的值相等,則第一候補(bǔ)搜索結(jié)束。在計數(shù)值i與x的值不等時(Step402否),對送出IP包1611的目標(biāo)IP地址中存儲的值、和路徑控制表第i個記錄的目標(biāo)網(wǎng)絡(luò)IP地址中存儲的值進(jìn)行比較(Step403)。在比較結(jié)果一致的情況下(Step403是),將路徑控制表第i個記錄的內(nèi)容復(fù)制到第一候補(bǔ)列表第m個記錄中(Step404)。然后,使計數(shù)值m的值增加1(Step405)。并且,使計數(shù)值i的值增加1(Step406),轉(zhuǎn)移到下一個路徑控制表記錄的處理。當(dāng)送出IP包1611的目標(biāo)IP地址中存儲的值與路徑控制表第i個記錄的目標(biāo)網(wǎng)絡(luò)IP地址中存儲的值不一致時(Step403否),原樣地進(jìn)入Step406。
通過反復(fù)執(zhí)行Step402~Step406的處理,從路徑控制表的第一個記錄開始順次對各記錄進(jìn)行了處理。然后,當(dāng)處理到達(dá)最終的記錄時(Step402是),為了判斷第一候補(bǔ)列表中是否存在記錄,進(jìn)入到Step407。
是否存在第一候補(bǔ)具體可通過計數(shù)值m的值來判定。在計數(shù)值m的值為“0”的情況下(Step407是),由于不存在用于發(fā)送送出IP包1611的通信接口,所以結(jié)束處理(end)。在計數(shù)值m的值為“0”以外的值時(Step407否),存在第一候補(bǔ),進(jìn)入Step408的處理。接著,判斷計數(shù)值m的值是否為“1”(Step408)。在計數(shù)值m的值為“1”的情況下(Step408是),由于唯一確定了用于傳輸送出IP包1611的通信接口,所以,取得了在第一候補(bǔ)列表第一記錄中記錄的通信接口(Step409),利用所取得的通信接口將送出IP包1611送出(Step422),從而結(jié)束處理(end)。在計數(shù)值m的值不為“1”的情況下(Step408否),由于不能夠唯一確定送出IP包1611的送出所使用的通信接口,所以進(jìn)入Step410。
在Step410中判定第二候補(bǔ)搜索是否結(jié)束。具體而言,如果計數(shù)值j與計數(shù)值m不相等,則第二候補(bǔ)搜索結(jié)束。當(dāng)計數(shù)值j與m不等時(Step否),首先取得第一候補(bǔ)列表第j個記錄的通信接口(Step411)。接著,對送出IP包1611的發(fā)送源IP地址中存儲的通信接口、和在Step411中取得的通信接口進(jìn)行比較(Step412),在一致的情況下(Step412是),將在Step411中取得的通信接口復(fù)制到第二候補(bǔ)列表第n個記錄中(Step413),使計數(shù)值n的值增加1(Step414)。并且,使計數(shù)值j的值增加1(Step415),轉(zhuǎn)移到第一候補(bǔ)列表的下一個記錄的處理。在送出IP包1611的發(fā)送源IP地址中存儲的接口、與在Step411中取得的通信接口不一致的情況下(Step412否),原樣地進(jìn)入Step415。
通過反復(fù)進(jìn)行Step410~Step415的處理,可從第一候補(bǔ)列表的第一個記錄開始順次對各記錄進(jìn)行處理。然后,當(dāng)處理到達(dá)最終的記錄(Step410是)時,為了判定在第二候補(bǔ)列表中是否存在記錄而進(jìn)入Step417。
第二候補(bǔ)是否存在具體可由計數(shù)值n的值判定。計數(shù)值n的值為“0”表示在第一候補(bǔ)列表中存在能夠?qū)⑺统鯥P包1611送出的通信接口,但不能唯一確定。計數(shù)值n的值為“1”表示能夠唯一確定可將送出IP包1611送出的通信接口。在計數(shù)值n的值為“2”以上的情況下,表示在第二候補(bǔ)列表中存在能夠?qū)⑺统鯥P包1611送出的通信接口,但無法唯一確定。
在計數(shù)值n的值為“1”的情況下(Step416是),從第二候補(bǔ)列表的第一個記錄取得通信接口(Step417),利用所取得的通信接口將送出IP包1611送出(Step421),從而結(jié)束處理(end)。在計數(shù)值n的值不為“1”的情況下(Step416否),進(jìn)入Step419。
接著,在計數(shù)值n的值為“0”的情況下(Step418是),從第一候補(bǔ)列表的任意記錄取得發(fā)送接口(Step419),利用所取得的發(fā)送接口對發(fā)送IP包1611進(jìn)行發(fā)送(Step421),從而結(jié)束處理(end)。在計數(shù)值n的值不為“0”的情況下(Step418否),從第二候補(bǔ)列表的任意記錄取得發(fā)送接口(Step420),利用所取得的發(fā)送接口對送出IP包1611進(jìn)行送出(Step421),從而結(jié)束處理(end)。
這里,在送出IP包1611的IP頭內(nèi)的目標(biāo)IP地址中存儲有“200.7.8.9”,在發(fā)送源IP地址中存儲有實(shí)際上不是IP地址的識別碼“S-IF#2”。因此,第一候補(bǔ)相當(dāng)于路徑控制表1321的記錄1321-a、1321-b、1321-c,在執(zhí)行Step407的處理的階段,第一候補(bǔ)列表的第一個記錄被存儲路徑控制表1321的記錄1321-a的內(nèi)容,第一候補(bǔ)列表的第二記錄被存儲路徑控制表1321的記錄1321-b的內(nèi)容,第一候補(bǔ)列表的第三記錄中被存儲路徑控制表1321的記錄1321-c的內(nèi)容。而且,計數(shù)值m被存儲為“3”。并且,在執(zhí)行Step416的處理的階段中,第二候補(bǔ)列表中僅存儲“S-IF#2”作為發(fā)送接口,計數(shù)值中被存儲“1”。即,基于Step417的處理的判定結(jié)果是執(zhí)行Step418的處理,在Step418中取得“S-IF#2”作為發(fā)送接口,發(fā)送IF判定/送出處理部1320利用由調(diào)度部313-2選擇的路徑編號為“3”的路徑所對應(yīng)的通信接口,即S-IF#2 1310-2,進(jìn)行送出IP包1611的送出。
結(jié)果,送出IP包1611從通信接口S-IF#2 1310-2被送出,并經(jīng)由載波網(wǎng)GW1400-3,通過接收節(jié)點(diǎn)101-2所裝備的通信接口R-IF 1500-1被接收。
通過進(jìn)行以上所說明的順序,即使在本實(shí)施方式中裝備了發(fā)送節(jié)點(diǎn)100-2和接收節(jié)點(diǎn)101-2不分別一一對應(yīng)的多個通信接口、且各通信接口被分配獨(dú)立的IP地址的IP網(wǎng)絡(luò)構(gòu)成的情況下,也可以利用由調(diào)度部313-2決定的路徑來發(fā)送IP包。
而且,針對沒有特別指定通信接口的、在現(xiàn)有技術(shù)中期待IP路由的IP包,也可以進(jìn)行IP路由處理。
另外,在上述的實(shí)施方式中,通信接口S-IF#11310-1~S-IF#3 1310-3分別屬于不同的無線網(wǎng)1300-1~1300-3,但不限定于此,也可以是通信接口S-IF#11310-1~S-IF#3 1310-3的全部或一部分屬于有線網(wǎng)。
權(quán)利要求
1.一種通信裝置,包括具有獨(dú)立的地址的多個通信接口,具有將通信接口的地址與經(jīng)由該通信接口而到達(dá)的目標(biāo)地址相關(guān)聯(lián)的表;和路由機(jī)構(gòu),其從所述表中選擇與要發(fā)送的包的目標(biāo)地址對應(yīng)的通信接口,當(dāng)在所述要發(fā)送的包中存在指定發(fā)送源地址或通信接口的信息時,從所述被選擇的通信接口中選擇與所述發(fā)送源地址或通信接口對應(yīng)的通信接口,將所述要發(fā)送的包發(fā)送給所選擇的通信接口。
2.根據(jù)權(quán)利要求2所述的通信裝置,其特征在于,所述地址是IP地址。
3.一種路由方法,是包括具有獨(dú)立的地址的多個通信接口的通信裝置中的路由方法,預(yù)先將通信接口的地址、和經(jīng)由該通信接口而到達(dá)的目標(biāo)地址關(guān)聯(lián)存儲起來,在要發(fā)送的包的路由時,從與所述目標(biāo)地址關(guān)聯(lián)存儲的通信接口中選擇和要發(fā)送的包的目標(biāo)地址對應(yīng)的通信接口,當(dāng)在所述要發(fā)送的包中存在指定發(fā)送源地址或通信接口的信息時,從所述被選擇的通信接口中選擇與所述發(fā)送源地址或通信接口對應(yīng)的通信接口,將所述接收包發(fā)送給所選擇的通信接口。
4.根據(jù)權(quán)利要求3所述的路由方法,其特征在于,所述地址是IP地址。
5.一種通信裝置的程序,所述通信裝置包括具有獨(dú)立的地址的多個通信接口,所述程序使所述通信裝置發(fā)揮下述功能從將通信接口的地址與經(jīng)由該通信接口而到達(dá)的目標(biāo)地址相關(guān)聯(lián)的表中,選擇與要發(fā)送的包的目標(biāo)地址對應(yīng)的通信接口,當(dāng)在所述要發(fā)送的包中存在指定發(fā)送源地址或通信接口的信息時,從所述被選擇的通信接口中選擇與所述發(fā)送源地址或通信接口對應(yīng)的通信接口,將所述要發(fā)送的包發(fā)送給所選擇的通信接口。
6.根據(jù)權(quán)利要求5所述的通信裝置的程序,其特征在于,所述地址是IP地址。
全文摘要
針對通信裝置的各通信接口,預(yù)先將其地址和經(jīng)由通信接口而到達(dá)的目標(biāo)地址相關(guān)聯(lián)地存儲在表中。從表中選擇與接收包的目標(biāo)地址對應(yīng)的通信接口。當(dāng)在接收包中存在發(fā)送源地址或通信接口的信息時,選擇與該信息對應(yīng)的通信接口,將其發(fā)送給該通信接口。當(dāng)在接收包中沒有發(fā)送源地址或通信接口的信息時,從所選擇的通信接口中選擇任意的通信接口,從該通信接口送出接收包。
文檔編號H04L12/56GK101095322SQ20058004583
公開日2007年12月26日 申請日期2005年12月22日 優(yōu)先權(quán)日2005年1月5日
發(fā)明者野口裕介 申請人:日本電氣株式會社