專利名稱:通信裝置、通信方法及通信系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種通信裝置、通信系統(tǒng)及通信方法,特別涉及一種能夠 對路由器的地址轉(zhuǎn)換特性進(jìn)行調(diào)查,在兩個(gè)不同私人網(wǎng)絡(luò)之間確定點(diǎn)對點(diǎn) 通信路徑的通信裝置、通信系統(tǒng)及通信方法。
背景技術(shù):
一般來說,為了識別連接在網(wǎng)絡(luò)上的通信終端和/或通信設(shè)備(以后,共 稱為"通信裝置"),而在通信裝置上附加IP地址。在所連接的整個(gè)網(wǎng)絡(luò)中 決定為唯一的、能夠?qū)崿F(xiàn)一對一通信(P2P通信以下,稱為"點(diǎn)對點(diǎn)通信") 的IP地址被稱為全球IP地址。此外,僅在特定的網(wǎng)絡(luò)內(nèi)決定為唯一的,不能 夠直接用于與其它網(wǎng)絡(luò)的點(diǎn)對點(diǎn)通信的IP地址被稱為私人IP地址。通信裝置 通過私人IP地址而被彼此識別的網(wǎng)絡(luò)被稱為私人網(wǎng)絡(luò)。
為了使連接在私人網(wǎng)絡(luò)上的通信裝置(具有私人IP地址的通信裝置)與 連接在全球網(wǎng)上的通信裝置(具有全球IP地址的通信裝置)進(jìn)行通信, 一般來
說,是將具有網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation:以下,稱為"NAT") 功能,或具有網(wǎng)絡(luò)地址端口轉(zhuǎn)換(Network Address Port Translation:以下, 稱為"NAPT")功能的通信設(shè)備(路由器)連接在私人網(wǎng)絡(luò)與全球網(wǎng)之間。另 外,以后,為了簡化說明,而將NAT和NAPT共稱為"NAT"。
路由器在從連接在私人網(wǎng)絡(luò)上的住宅內(nèi)裝置第一次接收發(fā)送到連接在 全球網(wǎng)上的住宅外裝置的包(packet)時(shí),制作用以將發(fā)送源裝置的私人地址 轉(zhuǎn)換為路由器的全球地址的規(guī)則、和用以接收該回復(fù)包的規(guī)則,并將所制 成的規(guī)則作為NAT規(guī)則保存下來。在以后的通信中,路由器按照所保存的 NAT規(guī)則,來進(jìn)行來自住宅外裝置的接收包、和來自住宅內(nèi)裝置的接收包 之間的地址轉(zhuǎn)換,將接收包轉(zhuǎn)送給住宅內(nèi)裝置或住宅外裝置。此外,所制 成的NAT規(guī)則是在進(jìn)行通信期間保持在路由器中,而在一定時(shí)間內(nèi)沒有通 信包時(shí)被自動(dòng)刪除的。然而,有時(shí)此NAT會(huì)成為障礙,不能夠使具有私人IP地址的通信裝置
與連接在不同私人網(wǎng)絡(luò)上的通信裝置進(jìn)行點(diǎn)對點(diǎn)通信。其理由是即使某個(gè) 通信裝置只是指定通信對象裝置所具有的私人地址來發(fā)送包,發(fā)送包也不 能經(jīng)過用全球IP地址來識別包的因特網(wǎng),不能到達(dá)通信對象那里。 于是,作為經(jīng)由路由器連接在不同的私人網(wǎng)絡(luò)上的兩個(gè)通信裝置跨越
路由器的NAT來確定點(diǎn)對點(diǎn)通信路徑的方法,利用STUN(Simple Traversal UDP(User Datagram Protocol) through NAT: RPC3489:用戶數(shù)據(jù)報(bào)協(xié)議簡 單穿越網(wǎng)絡(luò)地址轉(zhuǎn)換器)的方法被廣為人知。此外,在以下的說明中,"包" 意味著"UDP包"。
首先,在對利用STUN的點(diǎn)對點(diǎn)通信路徑的確定方法進(jìn)行說明之前,參 照圖23A 圖23E對NAT的種類進(jìn)行說明。另外,私人網(wǎng)絡(luò)并不局限于作為 家庭內(nèi),即住宅內(nèi)網(wǎng)絡(luò)構(gòu)筑的情況,也有作為企業(yè)內(nèi)網(wǎng)絡(luò)構(gòu)筑的情況。以 下,為了便于說明,假定私人網(wǎng)絡(luò)為住宅內(nèi)網(wǎng)絡(luò),但是下面的說明也同樣 適于在企業(yè)中構(gòu)筑的大規(guī)模私人網(wǎng)絡(luò)。此外,在從某個(gè)住宅內(nèi)私人網(wǎng)絡(luò)來 看時(shí),與該住宅內(nèi)網(wǎng)絡(luò)不同的網(wǎng)絡(luò)都被稱為住宅外網(wǎng)絡(luò),或外部網(wǎng)絡(luò)。并 且,為了便于說明,將IP地址"IP"和端口號"P"的組合都表現(xiàn)為(IP、 P)。
圖23A是對于被稱為Full Cone NAT的NAT進(jìn)行說明的圖。
具有Full Cone NAT特性的路由器對于從具有某個(gè)私人地址的住宅內(nèi)裝 置的特定端口號發(fā)送給某個(gè)住宅外裝置的包,始終分配同一端口號。例如, 路由器將端口號"Pb"始終分配給住宅內(nèi)裝置A(IPa、 Pa)所發(fā)送的包,并將 該包轉(zhuǎn)送給連接在外部網(wǎng)絡(luò)上的住宅外裝置C。此外,具有Full Cone NAT 特性的路由器將連接在外部網(wǎng)絡(luò)上的住宅外裝置發(fā)送到(IPb、 Pb)的所有包 轉(zhuǎn)送給住宅內(nèi)裝置(IPa、 Pa)。因此,路由器也將住宅外裝置D(IPd、 Pd)發(fā) 送到(IPb、 Pb)的包轉(zhuǎn)送給住宅內(nèi)裝置A(IPa、 Pa)。
圖23B是對于被稱為限制性克隆NAT(Restricted Cone NAT)(以下,稱為 "RNAT")的NAT進(jìn)行說明的圖。
具有RNAT的路由器對于某個(gè)住宅內(nèi)裝置A(IPa、 Pa撥送給住宅外網(wǎng)絡(luò) 的包,始終分配同一端口號"Pb"。不過,具有R NAT的路由器與具有Full ConeNAT特性的路由器的不同之處在于僅將住宅外裝置C(具有IP地址IPc) 發(fā)送到(IPb、 Pb)的包轉(zhuǎn)送給住宅內(nèi)裝置A(IPa、 Pa),該住宅外裝置C是住宅外裝置A所發(fā)送了的包的發(fā)送目的地。這樣一來,路由器不將不是住宅內(nèi)裝
置A所發(fā)送了的包的接收方的住宅外裝置D發(fā)送到(IPb、Pb)的包轉(zhuǎn)送給住宅 內(nèi)裝置A。此外,具有RNAT特性的路由器在所接收到的包的發(fā)送源IP地址 為"IPc"時(shí),將所有發(fā)送源端口號的包轉(zhuǎn)送給住宅內(nèi)裝置A。這樣一來, 路由器也將從住宅外裝置C的端口 "Pc2"發(fā)送到(IPb、 Pb)的包轉(zhuǎn)送給住宅 內(nèi)裝置A。
圖23C是對被稱為端口限制性克隆NAT(Port Restricted Cone NAT)(以 下,稱為"PRNAT")的NAT特性進(jìn)行說明的圖。
具有PR NAT特性的路由器對于某個(gè)住宅內(nèi)裝置A(IPa、 Pa)發(fā)送到住宅 外網(wǎng)絡(luò)的包,始終分配同一端口號"Pb"。不過,具有PRNAT的路由器與 具有RNAT的路由器的不同之處在于僅將從住宅內(nèi)裝置A所發(fā)送了的包的 接收方(IPc、 Pcl)發(fā)送到(IPb、 Pb)的包轉(zhuǎn)送給住宅內(nèi)裝置A(IPa、 Pa)。因此, 路由器不僅廢棄從住宅外裝置D的發(fā)送源(IPd、 Pd)發(fā)送來的包,還會(huì)廢棄 從住宅外裝置的發(fā)送源(IPc、 Pc2)發(fā)送來的包。
以下,將上述Full Cone NAT、 RNAT及PRNAT總稱為"ConeNAT"。
圖23D是對于被稱為Adress Sensitive Symmetric NAT (以下,稱為"AS NAT")的NAT進(jìn)行說明的圖。
具有AS NAT特性的路由器將不同端口號分配給住宅內(nèi)裝置A所發(fā)送了 的包的接收方IP地址的每一個(gè)。例如,將端口號"Pbl"分配給從住宅內(nèi)裝 置A(IPa、 Pa)發(fā)送到住宅外裝置C(IPc、 Pc)的包,且將端口號"Pb2"分配 給從住宅內(nèi)裝置A(IPa、 Pa)發(fā)送給具有與住宅外裝置C不同的IP地址的住宅 外裝置D(IPd、 Pd)的包。此外,具有ASNAT特性的路由器僅將從分配給某 個(gè)端口號的住宅外裝置發(fā)送來的包轉(zhuǎn)送給住宅內(nèi)裝置A(IPa、 Pa),并廢棄從 沒有分配給該端口號的住宅外裝置發(fā)送來的所有包。例如,路由器將從具 有IP地址"IPc"的住宅外裝置C發(fā)送到(IPb、 Pbl)的包轉(zhuǎn)送給住宅內(nèi)裝置 A(IPa、 Pa),而廢棄從具有IP地址"IPd"的住宅外裝置D發(fā)送到(IPb、 Pbl) 的包。
圖23E是對于被稱為Port Sensitive Symmetric NAT (以下,稱為"PS NAT")的NAT進(jìn)行說明的圖。具有PS NAT特性的路由器將不同端口號分配給住宅內(nèi)裝置A所發(fā)送了 的包的接收方IP地址及接收方端口號的每一個(gè)組合.且將該接收包發(fā)送給 網(wǎng)絡(luò)。例如,路由器將端口號"PbO"分配給從住宅內(nèi)裝置A(IPa、 Pa)發(fā)送 來的包的接收方(IPc、 Pc0),將端口號"Pbl"分配給接收方(IPc、 Pcl),將 端口號"Pb2"分配給接收方(IPc、 Pc2)。此外,路由器將從分配給某個(gè)端 口號的住宅外裝置發(fā)送來的包轉(zhuǎn)送給住宅內(nèi)裝置A,并廢棄從分配給該端口 號的住宅外裝置以外的裝置發(fā)送來的所有包。這樣一來,路由器將從發(fā)送 源(IPc、 Pcl)以端口號"PM"為接收方發(fā)送了的包轉(zhuǎn)送給住宅內(nèi)裝置A,而 廢棄從發(fā)送源(IPc、 Pc2)及發(fā)送源(IPd、 Pdl)發(fā)送到端口號"PM"的所有包。 以下,將上述ASNAT及PSNAT總稱為"SymmetricNAT"。 此外,除了上述Cone NAT、 Symmetric NAT之外,具有使用與住宅內(nèi) 裝置的發(fā)送源端口號相同的端口號來對NAT進(jìn)行設(shè)定的性質(zhì)的路由器被廣 為人知。
圖24A是對Port Reuse特性的概要進(jìn)行說明的圖。
如圖24A所示,路由器向以住宅內(nèi)裝置A的端口號"Pa"為發(fā)送源的包 分配端口號"Pa",向以住宅內(nèi)裝置A的端口號"Pb"為發(fā)送源的包分配端 口號"Pb",向以住宅內(nèi)裝置A的端口號"Pc"為發(fā)送源的包分配端口號"Pc"。 象這樣,通信設(shè)備向含有某個(gè)發(fā)送源端口號的包分配與該發(fā)送源端口號相 同的端口號的特性被稱為"PortReuse "。
PortReuse是與上述NAT特性不同的特性。因此,具有Port Reuse特性的 通信設(shè)備一定具有上述NAT特性的任意一個(gè)。
圖24B是對具有Port Reuse特性的路由器的功能進(jìn)行說明的圖。
當(dāng)圖24B所示的路由器兼有Port Reuse特性和Full Cone NAT特性時(shí),路 由器對于將(IPa、 Pa)設(shè)定為發(fā)送源IP地址及發(fā)送源端口號的包,始終分配 端口號"Pa",并將該包發(fā)送給外部網(wǎng)絡(luò)。此外,路由器將連接在外部網(wǎng)絡(luò) 上的住宅外裝置發(fā)送到接收方(IPb、 Pa)的所有包轉(zhuǎn)送給住宅內(nèi)裝置A。
其次,對為了跨越路由器的NAT來確定點(diǎn)對點(diǎn)通信路徑而利用STUN的 方法進(jìn)行說明。
為了在通過路由器連接在不同私人網(wǎng)絡(luò)上的兩個(gè)通信裝置之間確定點(diǎn) 對點(diǎn)通信路徑,各個(gè)裝置必須對包設(shè)定接收方IP地址和接收方端口號。但
132
是,如上所述,由于地址轉(zhuǎn)換方法因路由器所具有的NAT特性而不同,因 此在考慮路由器的NAT特性的情況下,通信裝置必須設(shè)定包的接收方。
于是,為了確定有點(diǎn)對點(diǎn)通信路徑,首先,按照規(guī)定在STUN的方法, 對連接有通信裝置的路由器的NAT特性進(jìn)行調(diào)查。更詳細(xì)地說,在STUN中, 通信裝置將測試用包發(fā)送給具有不同IP地址的兩個(gè)服務(wù)器的每一個(gè)。接下 來,通過判斷路由器分配給每一個(gè)該測試用包的端口號是否一致,來判斷 路由器的NAT特性是Cone NAT還是Symmetric NAT 。
以下,參照圖25A 圖25C及圖26,對通過STUN的NAT特性的調(diào)査方 法進(jìn)行說明。
圖25A是表示STUN測試(Test)I的概要的圖。
在TestI中,住宅內(nèi)裝置A將發(fā)送源為(IPa、 Pa)的包發(fā)送給服務(wù)器l(IPc、 Pcl)。服務(wù)器1參照從住宅內(nèi)裝置A發(fā)送來的包,將包發(fā)送給住宅內(nèi)裝置A, 在該包中,"Pel"被設(shè)定為發(fā)送源端口號,并在接收方中含有路由器所分 配了的端口號"Pb"。
圖25B是表示STUN-TestlI的概要的圖。
在TestII中,住宅內(nèi)裝置A對以發(fā)送源為(IPa、 Pa),且以接收方為服務(wù) 器l的(IPc、 Pcl)的包進(jìn)行發(fā)送。相對于此,服務(wù)器2將對發(fā)送源設(shè)定了(IPd、 Pdl)的、對接收方設(shè)定了路由器所分配的端口號"Pb"的包發(fā)送給住宅內(nèi) 裝置A。
圖25C是表示STUN-TestlII的概要的圖。
在Testm中,住宅內(nèi)裝置A對以發(fā)送源為(IPa、 Pa),且以接收方為服務(wù) 器l的(IPc、 Pcl)的包進(jìn)行發(fā)送。服務(wù)器1將包發(fā)送給住宅內(nèi)裝置A,在該包 中,與"Pel"不同的"Pc2"被設(shè)定為發(fā)送源端口號,并在接收方中含有 路由器所分配了的端口號"Pb"。
圖26是用以通過STUN來調(diào)查NAT特性的流程圖。
首先,住宅內(nèi)裝置A執(zhí)行上述Testl(步驟S1601),判斷從服務(wù)器l是否接 收到響應(yīng)(步驟S1602)。住宅內(nèi)裝置A在從服務(wù)器1接收到響應(yīng)時(shí),進(jìn)入步驟 S1604,在其它情況下,住宅內(nèi)裝置A判斷為不能進(jìn)行與服務(wù)器1之間進(jìn)行 UDP通信(步驟S1603)。
14當(dāng)住宅內(nèi)裝置A接收到來自服務(wù)器1的響應(yīng)時(shí)(步驟S1601中的"是"), 住宅內(nèi)裝置A判斷所接收到的響應(yīng)包中所含的地址轉(zhuǎn)換之后的IP地址"IPb" 是否與自己的IP地址"IPa"—致(步驟S1604)。在響應(yīng)包中所含的IP地址"IPb" 與自己的IP地址"IPa" —致時(shí),住宅內(nèi)裝置A進(jìn)入步驟S1605,在其它情況 下,進(jìn)入步驟S1609。 IP地址"IPb"及"IPa" —致的情況是指住宅內(nèi)裝 置A不通過路由器連接在外部網(wǎng)絡(luò)上,并在住宅內(nèi)裝置A及服務(wù)器1之間沒 有進(jìn)行NAT的情況。
當(dāng)在步驟S1604中為"是"時(shí),住宅內(nèi)裝置A執(zhí)行TestlI(步驟S1605), 判斷從服務(wù)器2是否接收到響應(yīng)(步驟S1606)。住宅內(nèi)裝置A在接收到來自服 務(wù)器2的響應(yīng)時(shí)(步驟S1606中的"是"),判斷出還能夠從發(fā)送目的地裝置(服 務(wù)器l)以外的通信裝置接收包,即對于網(wǎng)絡(luò)是開放(步驟S1608)。另一方面, 當(dāng)住宅內(nèi)裝置A不接收來自服務(wù)器2的響應(yīng)時(shí)(步驟S1606中的"不是"),住 宅內(nèi)裝置A判斷出包的發(fā)送/接收因UDP防火墻而被限制(步驟S1607)。
當(dāng)TestI的結(jié)果是IP地址"IPb"及"IPa"不一致時(shí)(步驟S1604中的"不 是"),住宅內(nèi)裝置A執(zhí)行TestlI(步驟S1609),判斷是否接收到來自與包的接 收方不同的服務(wù)器2的響應(yīng)(步驟S1610)。當(dāng)住宅內(nèi)裝置A接收到來自服務(wù)器 2的響應(yīng)時(shí)(步驟S1610中的"是"),判斷出連接有住宅內(nèi)裝置A的路由器具 有FullConeNAT特性(步驟S1611)。另一方面,住宅內(nèi)裝置A沒有接收到來 自服務(wù)器2的響應(yīng)時(shí)(步驟S1610中的"不是"),住宅內(nèi)裝置A對服務(wù)器2執(zhí) 行Testl(步驟S1612)。這里,使路由器分配給來自住宅內(nèi)裝置A的發(fā)送包的 端口號為"Pb'"。住宅內(nèi)裝置A判斷組合(IPb、 Pb')是否與組合(IPb、 Pb) 一致(步驟S1613),該組合(IPb、 Pb')是包含在步驟S1612中從服務(wù)器2那里接 收到的響應(yīng)包中的、通過NAT設(shè)定了的IP地址和端口號的組合,組合(IPb、 Pb)是包含在步驟S 1601中從服務(wù)器1那里接收到的響應(yīng)包中的、通過NAT設(shè) 定了的IP地址和端口號的組合。住宅內(nèi)裝置A在判斷出(IPb、 Pb,)與(IPb、 Pb)—致時(shí)(步驟S1613中的"是"),進(jìn)入步驟S1615。住宅內(nèi)裝置A在判斷 出(IPb、 Pb,)及(IPb、 Pb)不一致時(shí)(步驟S1613中的"不是"),判斷出連接有 自身的路由器具有Symmetric NAT特性(步驟S1614)。
當(dāng)在步驟S1613中為"是"時(shí),住宅內(nèi)裝置A執(zhí)行TestlII(步驟S1615), 判斷從服務(wù)器1是否接收到響應(yīng)(步驟S1616)。住宅內(nèi)裝置A在從服務(wù)器1接
15收到響應(yīng)時(shí)(步驟S1616中的"是"),判斷出連接有自身的路由器具有R NAT(步驟S1617),在其它情況下,連接有自身的路由器具有PR NAT(步驟 S1618)。
如上所述,在規(guī)定在STUN的方法中,通過按照圖26所示的處理流程, 將圖25A 圖25C所示的3種Test中的幾個(gè)組合起來執(zhí)行,來調(diào)查NAT的特性。
此外,在STUN中規(guī)定有這樣的方法當(dāng)上述NAT特性的調(diào)査結(jié)果是兩 個(gè)通信裝置都連接在具有Cone NAT特性的路由器上時(shí),還在該兩個(gè)通信裝 置之間確定點(diǎn)對點(diǎn)通信路徑。以下,參照圖27,對規(guī)定在STUN的點(diǎn)對點(diǎn)通 信路徑的確定方法進(jìn)行說明。
圖27是表示利用STUN的點(diǎn)對點(diǎn)通信路徑的確定方法的序列圖。
首先,裝置l通過路由器l將用以請求IP地址及端口號的登記的IP/端口 登記請求包發(fā)送給服務(wù)器(步驟S1701)。路由器l使從裝置l那里接收到的包 的發(fā)送源的地址從(IPL1、 LP1)轉(zhuǎn)換為(IPG1、 GP1)之后,將地址轉(zhuǎn)換之后 的包發(fā)送給服務(wù)器。服務(wù)器對于含在從路由器l那里接收到的包中的發(fā)送源 IP地址IPG1及發(fā)送源端口號GP1進(jìn)行登記(步驟S1702)。
同樣,裝置2通過路由器2將IP/端口登記請求包發(fā)送給服務(wù)器(步驟 S1703)。路由器2使從裝置2那里接收到的包的發(fā)送源的地址從(IPL2、 LP2) 轉(zhuǎn)換為(IPG2、 GP2)之后,將地址轉(zhuǎn)換之后的包發(fā)送給服務(wù)器2。服務(wù)器對 于含在從路由器2那里接收到的包中的發(fā)送源IP地址IPG1及發(fā)送源端口號 GP1進(jìn)行登記(步驟S1704)。
其次,裝置2為了取得與裝置1進(jìn)行點(diǎn)對點(diǎn)通信所需的信息,將對裝置l 的IP地址及端口號的發(fā)送進(jìn)行請求的IP/端口取得請求發(fā)送給服務(wù)器(步驟 S1705)。服務(wù)器響應(yīng)來自裝置2的IP/端口取得請求,向裝置2送回IP/端口取 得響應(yīng)包,在該IP/端口取得響應(yīng)包中含有路由器l向裝置l的發(fā)送源(IPL 1 、 LP1)分配了的IP地址及端口號的組合(IPG1、 GP1)(步驟S1706)。
裝置2參照從服務(wù)器那里接收到的包,取得用以訪問裝置1的IP地址及 端口號(IPG1、 GP1)。于是,裝置2發(fā)送以(IPG1、 GP1)為接收方的點(diǎn)對點(diǎn)開 始請求包(步驟S1707)。這里,路由器1對于從裝置2發(fā)送來的點(diǎn)對點(diǎn)開始請求包所進(jìn)行的對應(yīng) 因路由器1所具有的NAT特性而不同。
首先,當(dāng)路由器l執(zhí)行FullConeNAT(圖23A)時(shí),通過路由器l將從裝置 2發(fā)送來的點(diǎn)對點(diǎn)請求包轉(zhuǎn)送給裝置1,來在裝置1與裝置2之間確定點(diǎn)對點(diǎn) 通信路徑。
其次,當(dāng)路由器1執(zhí)行RNAT(圖23B)或PRNAT(圖23C)時(shí),路由器l廢 棄從裝置2發(fā)送來的點(diǎn)對點(diǎn)開始請求包。因此,不會(huì)有該點(diǎn)對點(diǎn)開始請求包 被轉(zhuǎn)送給裝置1(IPL1、 LP1)的情況。
這里應(yīng)注目的是,具有Cone NAT特性的路由器2以能夠通過將對發(fā)送源 設(shè)定了(IPL2、 LP2),并對接收方設(shè)定了(IPG1、 GP1)的包轉(zhuǎn)送給路由器1, 接收來自路由器l的響應(yīng)包的方式,來設(shè)定NAT。也就是說,當(dāng)路由器2執(zhí) 行Full ConeNAT時(shí),路由器2將NAT設(shè)定為把所有住宅外裝置發(fā)送到路由器 2(IPG2、 GP2)的包轉(zhuǎn)送給裝置2(IPL2、 LP2)。當(dāng)路由器2具有RNAT特性時(shí), 路由器2將NAT設(shè)定為向裝置2(IPL2、 LP2)轉(zhuǎn)送以發(fā)送源IP地址為"IPG1" 的包。當(dāng)路由器2具有PR NAT特性時(shí),將NAT設(shè)定為向裝置2(IPL2、 LP2) 轉(zhuǎn)送發(fā)送源IP地址及發(fā)送源端口號為(IPG1、 GP1)的包。其結(jié)果是,其次, 若路由器2對以發(fā)送源IP地址及發(fā)送源端口號為(IPG1 、 GP1)的包進(jìn)行接收 的話,則由于能夠使路由器2將該包轉(zhuǎn)送給裝置2,因此成為能夠在裝置l及 裝置2之間確定點(diǎn)對點(diǎn)通信路徑的狀態(tài)。
于是,裝置1為了取得訪問裝置2所需的信息,將IP/端口取得請求發(fā)送 給服務(wù)器(步驟S1708)。服務(wù)器響應(yīng)來自裝置l的IP/端口取得請求,向裝置2 送回作為IP/端口取得響應(yīng)的包,在該包中含有路由器2向裝置1的發(fā)送源 (IPL1、 LP1)分配了的IP地址及端口號(IPG2、 GP2)(步驟S1709)。
裝置l參照從服務(wù)器那里接收到的IP/端口取得響應(yīng),取得向裝置2的IP 地址及端口號(IPL2、 PL2)分配了的路由器2的IP地址及端口號(IPG2、 GP2)。
其次,裝置1向裝置2發(fā)送將發(fā)送源設(shè)定為(IPL1、 LP1)的點(diǎn)對點(diǎn)開始請 求包(步驟S1710)。如上所述,在此階段,路由器2不廢棄發(fā)送源IP地址及發(fā) 送源端口號為(IPL1、 LP1)的包,而將其轉(zhuǎn)送給裝置2。另一方面,路由器l 以能夠通過將對發(fā)送源設(shè)定了(IPL1、 LP1)的包轉(zhuǎn)送給路由器2,接收來自 路由器2的響應(yīng)包的方式,來設(shè)定NAT。即當(dāng)路由器1執(zhí)行RNAT時(shí),路由器1進(jìn)行將發(fā)送源IP地址為"IPG2"的包轉(zhuǎn)送給裝置1(IPLK LP1)的設(shè)定。 當(dāng)路由器1執(zhí)行PRNAT時(shí),進(jìn)行將發(fā)送源IP地址及發(fā)送源端口號為(IPG2、 GP"的包轉(zhuǎn)送給裝置^IPL2、 LP2)的設(shè)定。
因此,當(dāng)裝置2響應(yīng)來自裝置1的點(diǎn)對點(diǎn)開始請求包,將點(diǎn)對點(diǎn)開始響 應(yīng)包轉(zhuǎn)送給裝置1時(shí)(步驟S1711),在裝置1及裝置2之間確定點(diǎn)對點(diǎn)通信路 徑。
根據(jù)上述利用STUN的方法,能夠在連接在不同私人網(wǎng)絡(luò)上的兩個(gè)通信 裝置都連接在具有ConeNAT特性的路由器上時(shí),在該兩個(gè)通信裝置之間確 定點(diǎn)對點(diǎn)通信路徑。
然而,當(dāng)兩個(gè)通信裝置通過SymmetricNAT連接在一起時(shí),不能通過利 用STUN的方法,來確定點(diǎn)對點(diǎn)通信路徑。以下,對此理由進(jìn)行說明。
圖28是表示在將利用STUN的點(diǎn)對點(diǎn)通信路徑的確定方法適用于通過 具有Symmetric NAT特性的路由器連接在一起的兩個(gè)通信裝置時(shí)的處理順 序的序列圖。更確定地說,在圖28所示的例子中,連接在某個(gè)私人網(wǎng)絡(luò)上 的裝置1通過執(zhí)行Symmetric NAT的路由器1連接在外部網(wǎng)絡(luò)上。
首先,在步驟S1801 S1804中,與圖27所示的步驟S1701 S1704—樣, 裝置l及裝置2各自通過向服務(wù)器發(fā)送IP/端口登記請求包,來將IP地址及端 口號登記在服務(wù)器中。
其次,裝置2為了取得用以與裝置1進(jìn)行點(diǎn)對點(diǎn)通信的IP地址及端口號, 將IP/端口取得請求包發(fā)送給服務(wù)器(步驟S1805)。服務(wù)器響應(yīng)來自裝置2的 IP/端口取得請求,向裝置2送回IP/端口取得響應(yīng)包,在該IP/端口取得響應(yīng) 包中含有由路由器l向發(fā)送源IP地址及發(fā)送源端口號(IPL 1 、 LP 1 )分配了的IP 地址及端口號(IPG1、 GP1)(步驟S1806)。
裝置2參照從服務(wù)器那里接收到的包,取得裝置1的IP地址及端口號 (IPG1、 GP1)。于是,裝置2將以(IPG1、 GP1)為接收方的包作為點(diǎn)對點(diǎn)開始 請求來發(fā)送(步驟S1807)。
這里,當(dāng)路由器l具有SymmetricNAT特性時(shí),路由器l不將點(diǎn)對點(diǎn)開始 請求包轉(zhuǎn)送給裝置1(IPL1、 LP1),而將其廢棄。此外,如上所述,執(zhí)行Cone NAT的路由器2以能夠通過將對發(fā)送源設(shè)定了(IPL2、 LP2),并對接收方設(shè)定
18了(IPG1、 GP1)的包轉(zhuǎn)送給路由器1,接收來自路由器l的響應(yīng)包的方式,來
設(shè)定NAT。
其次,裝置1為了取得訪問裝置2所需的信息,將IP/端口取得請求發(fā)送 給服務(wù)器(步驟S1808)。服務(wù)器響應(yīng)來自裝置l的IP/端口取得請求,向裝置2 送回作為IP/端口取得響應(yīng)的包,在該包中含有路由器2向裝置2的發(fā)送源的 IP地址及發(fā)送源端口號(IPL2、 LP2)分配了的IP地址及端口號(IPG2、 GP2)(步 驟S1809)。
裝置l參照從服務(wù)器那里接收到的IP/端口取得響應(yīng),取得向裝置2的IP 地址及端口號(IPL2、 PL2)分配了的路由器2的IP地址及端口號(IPG2、 GP2)。
其次,裝置1將以發(fā)送源為(IPU、 LP1)的包作為點(diǎn)對點(diǎn)開始請求來發(fā) 送給裝置2(步驟S1810)。然而,由于路由器l具有SymmetricNAT特性,因此 對包的每個(gè)接收方分配不同端口號。因此,路由器l對從裝置l那里接收到 的點(diǎn)對點(diǎn)開始請求包分配與"GP1"不同的端口號"GP3",將該包轉(zhuǎn)送給 路由器2。
這里,當(dāng)路由器2具有FullConeNAT特性或RNAT特性時(shí),由于路由器 2將所接收到的點(diǎn)對點(diǎn)開始請求包轉(zhuǎn)送給裝置2(IPL2、 LP2),因此在裝置l 及裝置2之間確定點(diǎn)對點(diǎn)通信路徑。
然而,當(dāng)路由器2具有PRNAT或Symmetric NAT特性時(shí),由于路由器2 不將所接收到的點(diǎn)對點(diǎn)開始請求包轉(zhuǎn)送給裝置2,而將其廢棄,因此導(dǎo)致在 裝置1及裝置2之間不能成功確定點(diǎn)對點(diǎn)通信路徑。
圖29是表示在將利用STUN的點(diǎn)對點(diǎn)通信路徑的確定方法適用于通過 具有Symmetric NAT特性的路由器連接在一起的兩個(gè)通信裝置時(shí)的處理順 序的序列圖。更確定地說,在圖29所示的例子中,連接在某個(gè)私人網(wǎng)絡(luò)上 的裝置2通過執(zhí)行SymmetricNAT的路由器2連接在外部網(wǎng)絡(luò)上。
首先,在步驟S1901 S1904中,與圖27所示的步驟S1701 S1704—樣, 裝置l及裝置2中的每一個(gè)通過向服務(wù)器發(fā)送IP/端口登記請求包,來將IP地 址及端口號登記在服務(wù)器中。
其次,裝置2為了取得用以與裝置1進(jìn)行點(diǎn)對點(diǎn)通信的IP地址及端口號, 將IP/端口取得請求包發(fā)送給服務(wù)器(步驟S1905)。服務(wù)器響應(yīng)來自裝置2的 IP/端口取得請求,向裝置2送回IP/端口取得響應(yīng)包,在該IP/端口取得響應(yīng)
19包中含有由路由器1向發(fā)送源IP地址及發(fā)送源端口號(IPL 1 、 LP1 )分配了的IP
地址及端口號(IPG1、 GP1)(步驟S1906)。
裝置2參照從服務(wù)器那里接收到的包,取得用以訪問裝置1的IP地址及 端口號(IPG1、 GP1)。于是,裝置2將以(IPG1、 GP1)為接收方的包作為點(diǎn)對 點(diǎn)開始請求來發(fā)送(步驟S 1907)。
這里,在步驟S1907中從裝置2發(fā)送來的點(diǎn)對點(diǎn)開始請求包的接收方與 在步驟S 1903中從裝置2發(fā)送來的IP/端口登記請求包的接收方不同。因此, 執(zhí)行SymmetricNAT的路由器2將與端口號"GP2"不同的端口號"GP3"分 配給該點(diǎn)對點(diǎn)開始請求包。艮卩,路由器2將NAT設(shè)定為向裝置2(IPL2、 LP2) 轉(zhuǎn)送裝置1以(IPG2、 GP3)為接收方發(fā)送了的包。
故而,即使裝置1在取得用以從服務(wù)器訪問裝置2的IP地址及端口號 (IPG2、 GP2)之后(步驟S1908 S1909),對以(IPG2、 GP2)為接收方的點(diǎn)對 點(diǎn)開始請求包進(jìn)行發(fā)送,路由器2也會(huì)廢棄該點(diǎn)對點(diǎn)開始請求包。因此,導(dǎo) 致在裝置1及裝置2之間不能成功確定點(diǎn)對點(diǎn)通信路徑。
如上所述,當(dāng)路由器1或路由器2中的至少一個(gè)執(zhí)行Symmetric NAT時(shí), 難以斷言規(guī)定在STUN的點(diǎn)對點(diǎn)通信路徑的確定方法成功的可能性較高。
對于上述STUN的問題,以往對于包括Symmetric NAT的所有NAT中的 任意兩個(gè)NAT的組合確定點(diǎn)對點(diǎn)通信路徑的方法被眾所周知(例如,參照日 本專利文獻(xiàn)特開2004 — 180003號公報(bào))。
在日本專利文獻(xiàn)特開2004—180003號公報(bào)中記載的點(diǎn)對點(diǎn)通信路徑的 確定方法中,某個(gè)通信裝置預(yù)測多個(gè)在成為點(diǎn)對點(diǎn)通信的連接對象的通信 裝置發(fā)送點(diǎn)對點(diǎn)開始請求包時(shí)所使用的路由器的端口號,并發(fā)送多個(gè)以所 預(yù)測出的端口號為接收方端口的包。由于連接有該通信裝置的路由器設(shè)定 多個(gè)能夠接收從連接對象通信裝置發(fā)送來的包的端口號,因此能夠提高成 功確定點(diǎn)對點(diǎn)通信路徑的可能性。以下,將進(jìn)行更詳細(xì)的說明。
圖30是表示在上述專利文獻(xiàn)中記載的以往點(diǎn)對點(diǎn)通信路徑的確定方法 的序列圖。在圖30所示的例子中,路由器l及路由器2都具有SymmetricNAT 特性。
20首先,在步驟S2001 S2004中,與圖27所示的步驟S1701 S1704—樣, 裝置1及裝置2各自通過向服務(wù)器發(fā)送IP/端口登記請求包,來將IP地址及端 口號登記在服務(wù)器中。
其次,裝置2為了與裝置1進(jìn)行點(diǎn)對點(diǎn)通信,而將點(diǎn)對點(diǎn)通信請求包發(fā) 送給服務(wù)器(步驟S2005)。此時(shí),裝置2對發(fā)送源端口號進(jìn)行改變,將在步驟 S2003中用以發(fā)送IP/端口登記請求包的端口號"LP2"改變?yōu)槎丝谔?LP2+a" (其中,a是任意整數(shù))。裝置2將新的端口號"LP2+a"作為發(fā)送源端口使用 的理由是,預(yù)測到這樣的情況隨著發(fā)送源端口號的改變,路由器2對發(fā)送 源(IPL2、 LP2+a)分配新的端口號"GP2+b"(其中,b是任意整數(shù),并為規(guī) 定在路由器2中的增量值)。
服務(wù)器在接收到點(diǎn)對點(diǎn)通信請求包時(shí),參照所接收到的包,向裝置l發(fā) 送作為IP/端口通知的包,在該包中含有路由器2向發(fā)送源(IPL2、 LP2+a)分 配了的IP地址及端口號(IPG2、 GP2+b)(步驟S2006)。
裝置l在接收到從服務(wù)器發(fā)送來的IP/端口通知包時(shí),判斷是否允許裝置 2進(jìn)行點(diǎn)對點(diǎn)通信,并將該判斷結(jié)果通知給服務(wù)器(步驟S2007)。此時(shí),裝置 1改變發(fā)送源端口號,將用以在步驟S2001中發(fā)送IP/端口登記請求包的 "LPl"改變?yōu)?LPl+c"(其中,c是任意整數(shù))。裝置l將新的端口號"LPl+c" 作為發(fā)送源端口使用的理由是預(yù)測到路由器1對發(fā)送源(IPL、 LPl+c)分配新 的端口號"GPl+d"之故(其中,d是任意整數(shù),并為規(guī)定在路由器l中的增 量值)。
接下來,裝置1根據(jù)從接收到的IP/端口通知包取得的IP地址及端口號 (IPG2、 GP2+b),來向服務(wù)器發(fā)送(IPG2、 GP2+b+n)被設(shè)定為接收方的點(diǎn) 對點(diǎn)幵始請求包(步驟S2008)。其中,n是任意整數(shù)。
裝置1在步驟S2007及S2008中,在極短的時(shí)間連續(xù)發(fā)送包。因此,當(dāng)將 已在步驟S2007中發(fā)送了的包的發(fā)送源端口號"LPl+c"轉(zhuǎn)換為"GPl+d" 時(shí),根據(jù)路由器1中的NAT的設(shè)定,來將已在步驟S2008中發(fā)送了的包的發(fā) 送源端口號"LPl+c+l"轉(zhuǎn)換為"GPl+d+l"。
并且,在步驟S2008中裝置1發(fā)送了包的結(jié)果是路由器1將設(shè)定改變?yōu)槟?夠接收響應(yīng)包。即,在路由器1將從裝置1發(fā)送來的包的發(fā)送源(IPL1、 LPl+c+l)轉(zhuǎn)換為(IPGl、GPl+d+l),并將該包轉(zhuǎn)送給路由器2(IPG2, GP2+b+n)之后,路由器1能夠?qū)l(fā)送源為(IPG2、 GP2+b+n)的包轉(zhuǎn)送給裝置l(IPLl、 LPl+c+l)。此外,后面再對裝置l將包發(fā)送給從所取得的接收方端口號開始 僅增量了任意整數(shù)值n的端口號的理由進(jìn)行說明。
另一方面,服務(wù)器在接收到在步驟S2007中從裝置1發(fā)送來的點(diǎn)對點(diǎn)通 信許可包時(shí),將含有路由器1的IP地址及端口號(IPG1、 GPl+d)的通信許可 包發(fā)送給裝置2(步驟S2009)。
其次,裝置2在接收用以訪問裝置1的IP地址及端口號(IPG1、 GPl+d) 之后,立刻將點(diǎn)對點(diǎn)開始請求包發(fā)送給裝置1(步驟S2010)。在步驟S2010中, 裝置2—邊對發(fā)送源端口號從"LP2+a+l"開始逐個(gè)進(jìn)行增量, 一邊對以路 由器l的端口號"GPl+d+l"為接收方端口的n個(gè)點(diǎn)對點(diǎn)開始請求包進(jìn)行發(fā) 送。路由器2將從裝置2發(fā)送來的n個(gè)點(diǎn)對點(diǎn)開始請求包各自的發(fā)送源端口號 分別轉(zhuǎn)換為"GP2+b+m" "GP2+m+n—1"。這里,n是在考慮到執(zhí)行步 驟S2008 S2010的若干經(jīng)過時(shí)間下,由從連接在路由器l的其它裝置(未圖 示)發(fā)送來的包改變NAT的設(shè)定的可能性的情況下所規(guī)定的值。此外,m是n 以下的整數(shù)。
其結(jié)果是,在步驟S2008中從裝置1發(fā)送來的包的接收方端口號 "GP2+b+n"與"GP2+b+m" "GP2+b+m+n—1"中的任意一個(gè)一致。 故而,路由器l將所接收到的n個(gè)點(diǎn)對點(diǎn)開始請求包中的l個(gè)轉(zhuǎn)送給裝置l(步 驟S2010—2)。在圖30中表示有端口號"GP2+b+n"及"GP2+b+m+2" —致 時(shí)的例子。
裝置l在接收到從路由器l轉(zhuǎn)送來的點(diǎn)對點(diǎn)開始請求包時(shí),送回點(diǎn)對點(diǎn) 開始響應(yīng)包(步驟S2011)。在路由器2將從裝置1發(fā)送來的點(diǎn)對點(diǎn)開始響應(yīng)包 轉(zhuǎn)送給裝置2時(shí),在裝置1和裝置2之間確定點(diǎn)對點(diǎn)通信路徑,該路由器2已 被在步驟S2010—2中調(diào)整了NAT的設(shè)定。
如上所述,作為各個(gè)連接在不同私人網(wǎng)絡(luò)上的兩個(gè)通信裝置之間確定 點(diǎn)對點(diǎn)通信路徑的方法,利用STUN的方法和在上述專利文獻(xiàn)中公開的方法 被廣為人知。
專利文獻(xiàn)l:日本專利文獻(xiàn)特開2004 — 180003號公報(bào)
然而,在上述以往點(diǎn)對點(diǎn)通信路徑的確定方法中存在有以下問題。
22首先,在利用STUN的方法中存在有以下兩個(gè)問題。第l,很難對于調(diào) 查連接有通信裝置的路由器的NAT特性用的服務(wù)器(STUN服務(wù)器)進(jìn)行運(yùn)用 和保養(yǎng)。如上所述,為了執(zhí)行STUN測試而必須經(jīng)常準(zhǔn)備端口開放的兩臺服 務(wù)器。在服務(wù)器經(jīng)常開放端口的狀態(tài)含有接收不懷好意的人的非法訪問和/ 或攻擊的危險(xiǎn),并隨著開放端口的個(gè)數(shù)增多,或被利用的服務(wù)器的個(gè)數(shù)增 多而危險(xiǎn)性也會(huì)提高。因此,在必需準(zhǔn)備IP地址互不相同的兩臺服務(wù)器(AS NAT調(diào)査用),且在一臺服務(wù)器中必須時(shí)常開放互不相同的兩個(gè)端口(PS NAT調(diào)查用)的STUN中,難以進(jìn)行服務(wù)器的運(yùn)用及保養(yǎng)。第2、在通過STUN 的方法中,當(dāng)在兩個(gè)通信裝置中的任意一個(gè)連接在具有Cone NAT以外的 NAT特性的路由器上時(shí),不能夠確定點(diǎn)對點(diǎn)通信路徑。
另一方面,在上述專利文獻(xiàn)中公開的方式中,確實(shí)在不依存于連接有 通信裝置的路由器的NAT特性(即,Cone NAT或Symmetric NAT)的情況下, 提高了成功確定點(diǎn)對點(diǎn)通信路徑的可能性。更詳細(xì)地說,在裝置2下次發(fā)送 包時(shí),裝置1根據(jù)從服務(wù)器通知來的路由器2的WAN側(cè)端口號,來預(yù)測有可 能在路由器l內(nèi)分配的端口號。為了提高由路由器2分配的端口號與由裝置1 預(yù)測的端口號一致的可能性,而使裝置2發(fā)送多個(gè)包。
然而,由于當(dāng)兩個(gè)通信裝置都連接在具有Full Cone NAT特性的路 由器上時(shí),能夠較容易地預(yù)測端口號,因此不需要從l個(gè)通信裝置發(fā)送 多個(gè)包。相反,由1個(gè)通信裝置發(fā)送多個(gè)包會(huì)產(chǎn)生下面的問題。第l、 由于發(fā)送多個(gè)無用的包,因此增大了確定通信路徑所需的時(shí)間。第2、 在連接到通信裝置的路由器具有侵入檢測功能的情況下,該路由器接收 到以沒有用于通信的端口號為接收方的多個(gè)包時(shí),具有被錯(cuò)誤地檢測為 該接收包是企圖非法訪問的包的可能性。由于具有侵入檢測功能的路由 器在檢測出非法訪問時(shí),會(huì)廢棄所接收到的所有包,因此恐怕會(huì)使連接 在路由器上的通信裝置不能進(jìn)行通信,從而造成降低可連接性。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種能夠用具有1個(gè)IP地址,且開放有1個(gè)端 口的1臺服務(wù)器來對NAT的特性進(jìn)行調(diào)査的通信裝置、通信方法及通信系 統(tǒng)。本發(fā)明的目的還在于提供一種能夠根據(jù)所調(diào)查到的NAT特性,用相應(yīng)
23于NAT特性的最佳連接順序,來確定點(diǎn)對點(diǎn)通信路徑的通信裝置、通信系
統(tǒng)及通信方法。其結(jié)果是,對在兩臺裝置之間連接時(shí)的連接時(shí)間及可連接 性進(jìn)行改善。
本發(fā)明的第1方面是經(jīng)由NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)功能的第1中繼裝置連 接在服務(wù)器的通信裝置,該通信裝置包括地址信息調(diào)査請求發(fā)送單元,
將多個(gè)地址信息調(diào)查請求包逐個(gè)發(fā)送給服務(wù)器,在該多個(gè)地址信息調(diào)查請 求包中,為通信裝置的本地端口號的、互不相同的端口號被設(shè)定為發(fā)送源 端口號,并且,為服務(wù)器的端口號的、彼此相同的端口號被設(shè)定為接收方
端口號;通信準(zhǔn)備請求發(fā)送單元,在地址信息調(diào)查請求發(fā)送單元發(fā)送了第 一個(gè)地址信息調(diào)查請求包之后,到發(fā)送最后的地址信息調(diào)査請求包之前為 止的期間,將通信準(zhǔn)備包發(fā)送給與服務(wù)器不同的接收方,在該通信準(zhǔn)備包 中,與多個(gè)地址信息調(diào)查請求包中的任一發(fā)送源端口號相同的端口號被設(shè) 定為發(fā)送源端口號;以及地址信息接收單元,僅接收與地址信息調(diào)查請求 包數(shù)目相同的地址信息調(diào)查響應(yīng)包,該地址信息調(diào)查響應(yīng)包是響應(yīng)地址信 息調(diào)查請求包而被從服務(wù)器送回,并包括在第1中繼裝置中從地址信息調(diào) 査請求包的發(fā)送源端口號轉(zhuǎn)換而來的中繼端口號的地址信息調(diào)查響應(yīng)包。
根據(jù)這樣的結(jié)構(gòu),通信裝置能夠通過取得包含在地址信息調(diào)查響應(yīng)包 中的中繼端口號,來把握分配給通信準(zhǔn)備請求包的中繼端口號,該通信準(zhǔn) 備請求包是發(fā)送到與服務(wù)器不同的接收方的包。這樣一來,通信裝置能夠 把握發(fā)送給不同接收方的兩種包的端口號轉(zhuǎn)換特性,也就是說能夠把握對 第1中繼裝置的NAT特性能進(jìn)行判斷的端口號轉(zhuǎn)換特性。
此外,本發(fā)明所涉及的通信裝置也可以還包括中繼特性判斷單元,該 中繼特性判斷單元根據(jù)在地址信息接收單元中接收到的各個(gè)地址信息調(diào)查 響應(yīng)包中所含的中繼端口號,來對第1中繼裝置的NAT特性進(jìn)行判斷。
根據(jù)這樣的結(jié)構(gòu),通信裝置根據(jù)發(fā)送給不同接收方的兩種包的端口號 轉(zhuǎn)換特性,來判斷第1中繼裝置的NAT特性。
地址信息調(diào)査請求發(fā)送單元也可以對第1地址信息調(diào)查請求包、第2 地址信息調(diào)查請求包及第3地址信息調(diào)査請求包逐個(gè)進(jìn)行發(fā)送,在該第1 地址信息調(diào)査請求包中,服務(wù)器的端口號被設(shè)定為接收方端口號,并且, 通信裝置的第1本地端口號被設(shè)定為發(fā)送源端口號,在該第2地址信息調(diào)查請求包中,接收方端口號與第l地址信息調(diào)査請求包相同,并且,與第l 本地端口號不同的通信裝置的第2本地端口號被設(shè)定為發(fā)送源端口號,在
該第3地址信息調(diào)查請求包中,接收方端口號與第1地址信息調(diào)查請求包 相同,并且,與第l及第2本地端口號不同的通信裝置的第3本地端口號 被設(shè)定為發(fā)送源端口號;地址信息接收單元也可以對第1地址信息包、第2 地址信息包及第3地址信息包進(jìn)行接收,該第1地址信息包是響應(yīng)第1地 址信息調(diào)査請求包而被從服務(wù)器送回,并包括第1中繼裝置的第1中繼端 口號的信息包,該第2地址信息包是響應(yīng)第2地址信息調(diào)查請求包而被從 服務(wù)器送回,并包括第1中繼裝置的第2中繼端口號的信息包,該第3地 址信息包是響應(yīng)第3地址信息調(diào)査請求包而被從服務(wù)器送回,并包括第1 中繼裝置的第3中繼端口號的信息包;中繼特性判斷單元也可以計(jì)算第1 差分值和第2差分值,并根據(jù)第1及第2差分值的比較,來判斷第1中繼 裝置的NAT特性,該第1差分值是根據(jù)第1及第2中繼端口號計(jì)算的差分 值,該第2差分值是根據(jù)第2及第3中繼端口號計(jì)算的差分值。
根據(jù)這樣的結(jié)構(gòu),能夠利用NAT功能的端口分配間隔的規(guī)則性,來有 效地判斷第1中繼裝置的NAT特性。
并且,連接對象通信裝置也可以通過具有NAT功能的第2中繼裝置連 接在服務(wù)器上;通信裝置也可以還包括中繼信息發(fā)送單元,根據(jù)已由中 繼特性判斷單元判斷出的第1中繼裝置的NAT特性,來預(yù)測第1點(diǎn)對點(diǎn)中 繼端口號,將含有該預(yù)測出的第1點(diǎn)對點(diǎn)中繼端口號的第1中繼信息包發(fā) 送給服務(wù)器,該第1點(diǎn)對點(diǎn)中繼端口號是由第1中繼裝置分配給與連接對 象通信裝置之間的點(diǎn)對點(diǎn)通信的端口號,中繼信息接收單元,從服務(wù)器接 收含有第2點(diǎn)對點(diǎn)中繼端口號的第2中繼信息包,該第2點(diǎn)對點(diǎn)中繼端口 號是由第2中繼裝置分配給與連接對象通信裝置之間的點(diǎn)對點(diǎn)通信的端口 號,以及通信控制單元,為了向連接對象通信裝置請求開始點(diǎn)對點(diǎn)通信, 而發(fā)送開始請求包,在該開始請求包中,第2中繼信息包中所含的第2點(diǎn) 對點(diǎn)中繼端口號被設(shè)定為接收方端口號。
根據(jù)這樣的結(jié)構(gòu),通信裝置將與連接對象通信裝置進(jìn)行點(diǎn)對點(diǎn)通信時(shí) 預(yù)計(jì)第1中繼裝置會(huì)打開的端口號通知給連接對象通信裝置,并且,發(fā)送 幵始請求包,對第1中繼裝置準(zhǔn)備點(diǎn)對點(diǎn)通信用的端口號。因此,通信裝置能夠以從連接對象通信裝置那里接收點(diǎn)對點(diǎn)開始請求包為轉(zhuǎn)機(jī),開始點(diǎn) 對點(diǎn)通信。
此時(shí),中繼信息發(fā)送單元也可以在中繼特性判斷單元判斷出第1及第2 差分值是相同值時(shí),發(fā)送包含第1 第3中繼端口號的任一個(gè)作為第1點(diǎn)對 點(diǎn)中繼端口號的第1中繼信息包,而在中繼特性判斷單元判斷出第1及第2 差分值不一致時(shí),發(fā)送包含把第1及第2差分值中的較小的值和第3中繼 端口號相加的值作為第1點(diǎn)對點(diǎn)中繼端口號的第1中繼信息包。
根據(jù)這樣的結(jié)構(gòu),由于通信裝置在第1及第2差分值為相同值時(shí),將 在考慮第1中繼裝置具有Cone NAT特性的情況下所決定的端口號通知給 連接對象通信裝置,而在第1及第2差分值不一致時(shí),將在考慮第1中繼 裝置具有Symmetric NAT特性的情況下所決定的端口號通知給連接對象通 信裝置,因此能夠提高來自連接對象通信裝置的發(fā)送包能跨越第1中繼裝 置來傳輸包的可能性。
或者,中繼信息發(fā)送單元也可以在中繼特性判斷單元判斷出第1中繼 端口號及第1本地端口號一致的情況下,發(fā)送包含任意的本地端口號作為 第1點(diǎn)對點(diǎn)中繼端口號的第1中繼信息包。
根據(jù)這樣的結(jié)構(gòu),由于通信裝置將在考慮第1中繼裝置具有Port Reuse 特性的情況下所決定的端口號通知給連接對象通信裝置,因此能夠提高來 自連接對象通信裝置的發(fā)送包跨越第1中繼裝置來傳輸包的可能性。
并且,通信準(zhǔn)備請求發(fā)送單元最好調(diào)整包含在通信準(zhǔn)備包的報(bào)頭中的 生存時(shí)間(TTL: Time To Live)值,以使通信準(zhǔn)備包到達(dá)第1中繼裝置,且 未到達(dá)第2中繼裝置。
根據(jù)這樣的結(jié)構(gòu),由于通信準(zhǔn)備包不到達(dá)連接在通信對象的第2中繼 裝置,因此當(dāng)?shù)?中繼裝置具有侵入檢測功能時(shí),能夠回避被錯(cuò)誤地檢測 為通信準(zhǔn)備包是非法侵入的情況。
通信裝置也可以還包括用以保持第1及第2差分值的存儲單元;此時(shí), 在第2次以后的點(diǎn)對點(diǎn)通信開始之前,中繼特性判斷單元也可以根據(jù)保持 在存儲單元中的第1及第2差分值,來判斷第1中繼裝置的NAT特性。
根據(jù)這樣的結(jié)構(gòu),由于通信裝置能夠再次利用保持在存儲單元中的第1 及第2差分,因此當(dāng)通信裝置第2次以后進(jìn)行點(diǎn)對點(diǎn)通信時(shí),能夠省略再
26次發(fā)送地址調(diào)查請求包,從而能夠縮短確定點(diǎn)對點(diǎn)通信路徑所需的時(shí)間。
地址信息調(diào)查請求發(fā)送單元也可以對第4地址信息調(diào)查請求包進(jìn)行發(fā) 送,在該第4地址信息調(diào)查請求包中,服務(wù)器的端口號被設(shè)定為接收方端 口號,并且,通信裝置的第4本地端口號被設(shè)定為發(fā)送源端口號;地址信 息接收單元接收第4地址信息包,該第4地址信息包是響應(yīng)第4地址信息 調(diào)查請求包而被從服務(wù)器送回,并包括第1中繼裝置的第4中繼端口號的; 中繼信息發(fā)送單元也可以在中繼特性判斷單元判斷出保持在存儲單元中的
第1及第2差分值是相同值時(shí),發(fā)送包含第4中繼端口號作為第1點(diǎn)對點(diǎn)
中繼端口號的第1中繼信息包,而在中繼特性判斷單元判斷出保持在存儲
單元中的第1及第2差分值不一致時(shí),發(fā)送包含把所保持的第1及第2差 分值中的較小的值和第4中繼端口號相加的值作為第1點(diǎn)對點(diǎn)中繼端口號 第1中繼信息包。
根據(jù)這樣的結(jié)構(gòu),能夠根據(jù)保持在存儲單元中的信息和第4中繼端口 號,來有效地求出預(yù)計(jì)第1中繼裝置在點(diǎn)對點(diǎn)通信中會(huì)使用的端口號。
通信裝置也可以在判斷出第1中繼端口號及第1本地端口號一致時(shí), 將表示第1中繼端口號及第1本地端口號一致的信息存儲在存儲單元中; 此時(shí),也可以在第2次以后的點(diǎn)對點(diǎn)通信開始之前,在中繼特性判斷單元 判斷出存儲單元保持有表示第1中繼端口號及第1本地端口號一致的信息 時(shí),中繼信息發(fā)送單元發(fā)送包含任意的本地端口號作為第1點(diǎn)對點(diǎn)中繼端 口號的第1中繼信息包。
根據(jù)這樣的結(jié)構(gòu),能夠在上次NAT特性調(diào)查中,路由器的NAT特性 是PortReuse的情況下,在這次確定點(diǎn)對點(diǎn)通信路徑時(shí),對NAT特性調(diào)査 加以省略,將自身預(yù)定在點(diǎn)對點(diǎn)通信時(shí)會(huì)打開的任意本地端口號作為預(yù)計(jì) 第1中繼裝置在點(diǎn)對點(diǎn)通信中會(huì)使用的端口號,通知給連接對象通信裝置。
此外,該通信裝置也可以還包括預(yù)先保持有對應(yīng)信息的存儲單元,該 對應(yīng)信息是使各個(gè)地址信息調(diào)査響應(yīng)包中所含的中繼端口號的間隔、和因 該間隔而不同的NAT特性相對應(yīng)的信息;地址信息調(diào)査請求發(fā)送單元對第 1地址信息調(diào)查請求包、和第2地址信息調(diào)査請求包逐個(gè)進(jìn)行發(fā)送,在該第 l地址信息調(diào)查請求包中,服務(wù)器的端口號被設(shè)定為接收方端口號,并且, 通信裝置的第1本地端口號被設(shè)定為發(fā)送源端口號,在該第2地址信息調(diào)
27查請求包中,接收方端口號與第l地址信息調(diào)査請求包相同,并且,與第l 本地端口號不同的通信裝置的第2本地端口號被設(shè)定為發(fā)送源端口號;地 址信息接收單元也可以對第1地址信息包和第2地址信息包進(jìn)行接收,該 第1地址信息包是響應(yīng)第1地址信息調(diào)査請求包而被從服務(wù)器送回,并包 括第1中繼裝置的第1中繼端口號的,該第2地址信息包是響應(yīng)第2地址
信息調(diào)査請求包而被從服務(wù)器送回,并包括第1中繼裝置的第2中繼端口 號的;中繼特性判斷單元也可以將在對應(yīng)信息中與接收到的第1及第2中 繼端口號的間隔相對應(yīng)的NAT特性判斷為第1中繼裝置的NAT特性。
根據(jù)這樣的結(jié)構(gòu),能夠利用NAT功能的端口分配間隔的規(guī)則性,來有 效地判斷第1中繼裝置的NAT特性。
本發(fā)明的第2方面是一種通信方法,是通信裝置通過與服務(wù)器進(jìn)行通 信來判斷第1中繼裝置的NAT特性的通信方法,該通信裝置通過具有NAT 功能的第1中繼裝置連接在服務(wù)器上,該通信方法包括以下步驟地址信 息調(diào)查請求發(fā)送步驟,將多個(gè)地址信息調(diào)査請求包逐個(gè)發(fā)送給服務(wù)器,在 該多個(gè)地址信息調(diào)査請求包中,為通信裝置的本地端口號的、互不相同的 端口號被設(shè)定為發(fā)送源端口號,并且,為服務(wù)器的端口號的、彼此相同的 端口號被設(shè)定為接收方端口號;通信準(zhǔn)備請求發(fā)送步驟,在地址信息調(diào)查 請求發(fā)送步驟中發(fā)送第一個(gè)地址信息調(diào)査請求包之后,到發(fā)送最后的地址 信息調(diào)査請求包之前為止的期間,將通信準(zhǔn)備包發(fā)送給與服務(wù)器不同的接 收方,在該通信準(zhǔn)備包中,與多個(gè)地址信息調(diào)查請求包的任一發(fā)送源端口 號相同的端口號被設(shè)定為發(fā)送源端口號;地址信息接收步驟,僅接收與地 址信息調(diào)查請求包數(shù)目相同的地址信息調(diào)查響應(yīng)包,該地址信息調(diào)査響應(yīng) 包是響應(yīng)地址信息調(diào)查請求包而被從服務(wù)器送回,并包括在第1中繼裝置 中從地址信息調(diào)查請求包的發(fā)送源端口號轉(zhuǎn)換而來的中繼端口號的地址信 息調(diào)查響應(yīng)包;以及中繼特性判斷步驟,根據(jù)已在地址信息接收步驟中接 收到的各個(gè)地址信息調(diào)査響應(yīng)包中所含的中繼端口號,來判斷第1中繼裝 置的NAT特性。
根據(jù)這樣的結(jié)構(gòu),通信裝置能夠通過取得包含在地址信息調(diào)査響應(yīng)包 中的中繼端口號,來把握分配給通信準(zhǔn)備請求包的中繼端口號,該通信準(zhǔn) 備請求包是發(fā)送到與服務(wù)器不同的接收方的包。這樣一來,通信裝置能夠把握發(fā)送給不同接收方的兩種包的端口號轉(zhuǎn)換特性,并根據(jù)該端口號的轉(zhuǎn)換特性來判斷第1中繼裝置的NAT特性。
本發(fā)明的第3方面是一種通信系統(tǒng),該通信系統(tǒng)包括服務(wù)器;第1
中繼裝置,具有NAT功能;第2中繼裝置,具有NAT功能;第1通信裝置,通過第1中繼裝置連接在服務(wù)器上;以及第2通信裝置,通過第2中繼裝置連接在服務(wù)器上;第1及第2通信裝置各自包括地址信息調(diào)查請
求發(fā)送單元,將多個(gè)地址信息調(diào)查請求包逐個(gè)發(fā)送給服務(wù)器,在該多個(gè)地址信息調(diào)查請求包中,為自身裝置的本地端口號的、互不相同的端口號被設(shè)定為發(fā)送源端口號,并且,為服務(wù)器的端口號的、彼此相同的端口號被設(shè)定為接收方端口號,通信準(zhǔn)備請求發(fā)送單元,在地址信息調(diào)査請求發(fā)送單元發(fā)送第一個(gè)地址信息調(diào)查請求包之后,到發(fā)送最后的地址信息調(diào)査請求包之前為止的期間,將通信準(zhǔn)備包發(fā)送給與服務(wù)器不同的接收方,在該通信準(zhǔn)備包中,與多個(gè)地址信息調(diào)査請求包中的任一發(fā)送源端口號相同的端口號被設(shè)定為發(fā)送源端口號,地址信息接收單元,僅接收與地址信息調(diào)查請求包數(shù)目相同的地址信息調(diào)查響應(yīng)包,該地址信息調(diào)査響應(yīng)包是響應(yīng)
地址信息調(diào)查請求包而被從服務(wù)器送回,并包括在連接在第1及第2通信裝置各自的中繼裝置中從地址信息調(diào)査請求包的發(fā)送源端口號轉(zhuǎn)換而來的中繼端口號的地址信息調(diào)査響應(yīng)包,以及中繼特性判斷單元,根據(jù)在地址信息接收單元中接收到的各個(gè)地址信息調(diào)查響應(yīng)包中所含的中繼端口號,來對第1中繼裝置的NAT特性進(jìn)行判斷;服務(wù)器包括地址信息調(diào)查單元,取出從第1及第2通信裝置的每一個(gè)發(fā)送來的地址信息調(diào)查請求包中所含
的中繼端口號,以及地址信息發(fā)送單元,對于含有被取出的中繼端口號的地址信息調(diào)查請求響應(yīng)包進(jìn)行發(fā)送。
根據(jù)這樣的結(jié)構(gòu),通信裝置能夠通過取得包含在地址信息調(diào)查響應(yīng)包中的中繼端口號,來把握分配給通信準(zhǔn)備請求包的中繼端口號,該中繼端口號是發(fā)送到與服務(wù)器不同的接收方的端口號。這樣一來,通信裝置能夠把握發(fā)送給不同接收方的兩種包的端口號轉(zhuǎn)換特性,并根據(jù)該端口號轉(zhuǎn)換
特性來判斷第1中繼裝置的NAT特性。
本發(fā)明的第4方面是一種通信系統(tǒng),該通信系統(tǒng)包括服務(wù)器;第1
中繼裝置,具有NAT功能;第2中繼裝置,具有NAT功能;第1通信裝置,通過第1中繼裝置連接在服務(wù)器上;以及第2通信裝置,通過第2中繼裝置連接在服務(wù)器上。第1及第2通信裝置各自包括地址信息調(diào)查請求發(fā)送單元,將多個(gè)地址信息調(diào)查請求包逐個(gè)發(fā)送給服務(wù)器,在該多個(gè)地址信息調(diào)査請求包中,為自身裝置的本地端口號的、互不相同的端口號被設(shè)定為發(fā)送源端口號,并且,為服務(wù)器的端口號的、彼此相同的端口號被設(shè)定為接收方端口號,以及通信準(zhǔn)備請求發(fā)送單元,在地址信息調(diào)查請求發(fā)送單元發(fā)送第一個(gè)地址信息調(diào)查請求包之后,到發(fā)送最后的地址信息調(diào)査請求包之前為止的期間,將通信準(zhǔn)備包發(fā)送給與服務(wù)器不同的接收方,在該通信準(zhǔn)備包中,與多個(gè)地址信息調(diào)査請求包中的任一發(fā)送源端口號相同的端口號被設(shè)定為發(fā)送源端口號;服務(wù)器包括地址信息調(diào)査單元,該地址信息調(diào)查單元根據(jù)在第1及第2中繼裝置各自從地址信息調(diào)查請求包的
發(fā)送源端口號轉(zhuǎn)換而來的中繼端口號,來判斷第1及第2中繼裝置的NAT特性。
根據(jù)這樣的結(jié)構(gòu),服務(wù)器能夠根據(jù)在第1及第2中繼裝置各自中從地
址信息調(diào)查請求包的發(fā)送源端口號轉(zhuǎn)換而來的中繼端口號,來判斷第1及
第2中繼裝置的NAT特性。(發(fā)明的效果)
根據(jù)本發(fā)明所涉及的通信裝置、通信方法及通信系統(tǒng),能夠通過與具有1個(gè)IP地址,且開放有1個(gè)端口的1臺服務(wù)器進(jìn)行通信,來對中繼裝置的NAT特性進(jìn)行調(diào)查。這樣一來,由于能夠節(jié)省NAT特性調(diào)査所需的硬件資源,因此能夠較容易地進(jìn)行服務(wù)器的運(yùn)用、保養(yǎng),從而將必要的成本抑制到最小限度。
并且,當(dāng)配置在不同私人網(wǎng)絡(luò)中的通信裝置之間彼此確定有點(diǎn)對點(diǎn)通信路徑時(shí),能夠?qū)崿F(xiàn)"縮短連接時(shí)間"和"回避不能通信的情況"。
圖1是表示本發(fā)明的第一實(shí)施方式所涉及的通信系統(tǒng)的整個(gè)結(jié)構(gòu)的方框圖。
圖2A是表示圖1所示的裝置10的概略結(jié)構(gòu)的方框圖。圖2B是表示圖1所示的裝置20的概略結(jié)構(gòu)的方框圖。
30圖2C是表示圖1所示的服務(wù)器001的概略結(jié)構(gòu)的方框圖。
圖3是表示本實(shí)施方式所涉及的通信系統(tǒng)為了確定點(diǎn)對點(diǎn)通信路徑而
執(zhí)行的處理的概要的序列圖。
圖4A是表示在圖3所示的NAT特性調(diào)查階段及準(zhǔn)備階段中的處理的詳細(xì)情況的序列圖。
圖4B是表示圖4A所示的步驟S408的處理的詳細(xì)情況的流程圖。
圖5A是對圖4A所示的步驟S410進(jìn)行說明的圖。
圖5B是對圖4A所示的步驟S411進(jìn)行說明的圖。
圖6是表示在圖3所示的信息交換階段中的處理的詳細(xì)情況的序列圖。
圖7是表示在圖3所示的點(diǎn)對點(diǎn)通信路徑確定階段中的處理的詳細(xì)情況的序列圖。
圖8是表示當(dāng)路由器101為Cone NAT時(shí)的連接序列的詳細(xì)情況的圖。圖9A是表示當(dāng)路由器101為Symmetric NAT時(shí)的連接序列的詳細(xì)情況的圖。
圖9B是表示圖9A所示的端口號的圖。
圖IO是表示當(dāng)路由器101為Port Reuse時(shí)的連接序列的詳細(xì)情況的圖。圖11是本發(fā)明的第二實(shí)施方式所涉及的通信系統(tǒng)的連接序列圖。圖12是表示本發(fā)明的第三實(shí)施方式所涉及的通信系統(tǒng)的整個(gè)結(jié)構(gòu)的方框圖。
圖13是表示為了確定點(diǎn)對點(diǎn)通信路徑而進(jìn)行發(fā)送/接收的包、與會(huì)話啟動(dòng)協(xié)議(SIP: Session Initiation Protocol)消息之間的對應(yīng)關(guān)系的圖。圖14是表示會(huì)話啟動(dòng)協(xié)議的OPTIONS請求的消息格式例的圖。圖15是表示SIP的200 OK響應(yīng)的消息格式例的圖。圖16是表示SIP的INVITE請求的消息格式例的圖。圖17是表示SIP的183 Session Progress響應(yīng)的消息格式例的圖。圖18是表示利用了 SIP協(xié)議的NAT特性調(diào)查階段及準(zhǔn)備階段中的處理的詳細(xì)情況的序列圖。
圖19是表示用以使本發(fā)明的第三實(shí)施方式所涉及的通信系統(tǒng)確定點(diǎn)對點(diǎn)通信路徑的控制處理的序列圖。
圖20A是在信息交換階段中,以兩個(gè)路由器的NAT特性的組合為單位,
31表示各個(gè)路由器所通知的點(diǎn)對點(diǎn)端口的組合的表。
圖20B是在點(diǎn)對點(diǎn)通信路徑確定階段中,以兩個(gè)路由器的NAT特性的
組合為單位,表示連接在各個(gè)路由器上的裝置所執(zhí)行的處理的組合的表。
圖21A是表示裝置通過3個(gè)路由器連接在全球網(wǎng)上的例子的圖。圖21B是表示裝置通過3個(gè)路由器連接在全球網(wǎng)上的其它例子的圖。圖22A是以端口分配間隔為1,且具有Cone NAT特性的路由器的圖。圖22B是以端口分配間隔為1,且具有Symmetric NAT特性的路由器的圖。
圖23A是對于被稱為Full Cone NAT的NAT進(jìn)行說明的圖。
圖23B是對于被稱為限制性克隆NAT的NAT進(jìn)行說明的圖。
圖23C是稱為端口限制性克隆NAT的NAT特性進(jìn)行說明的圖。
圖23D是對于被稱為Adress Sensitive Symmetric NAT的NAT進(jìn)行說明的圖。
圖23E是對于被稱為Port Sensitive Symmetric NAT的NAT進(jìn)行說明的圖。
圖24A是對Port Reuse特性的概要進(jìn)行說明的圖。
圖24B是對具有Port Reuse特性的路由器的功能進(jìn)行說明的圖。
圖25A是表示STUN-TestI的概要的圖。
圖25B是表示STUN-TestII的概要的圖。
圖25C是表示STUN-TestIII的概要的圖。
圖26是用以通過STUN對NAT特性進(jìn)行調(diào)査的流程圖。
圖27是表示利用STUN的點(diǎn)對點(diǎn)通信路徑的確定方法的序列圖。
圖28是表示在將利用STUN的點(diǎn)對點(diǎn)通信路徑的確定方法適用于通過
具有Symmetric NAT特性的路由器連接在一起的兩個(gè)通信裝置時(shí)的處理序
列的序列圖。
圖29是表示在將利用STUN的點(diǎn)對點(diǎn)通信路徑的確定方法適用于通過具有Symmetric NAT特性的路由器連接在一起的兩個(gè)通信裝置時(shí)的處理序列的序列圖。
圖30是表示以往點(diǎn)對點(diǎn)通信路徑確定方法的序列圖。附圖標(biāo)記00全球網(wǎng)
01、 02私人網(wǎng)絡(luò)001服務(wù)器10、 20裝置101、 201路由器
300會(huì)話啟動(dòng)協(xié)議(SIP: Session Initiation Protocol)服務(wù)器0011地址信息調(diào)查單元0012地址信息發(fā)送單元0013中繼信息轉(zhuǎn)送單元
1001、 2001地址信息調(diào)査請求發(fā)送單元
1002、 2002地址信息接收單元
1003、 2003直接通信準(zhǔn)備請求發(fā)送單元
1004、 2004中繼特性判斷單元
1005、 2005中繼信息發(fā)送單元
1006、 2006中繼信息接收單元
1007、 2007通信控制單元
1008、 2008通信單元
具體實(shí)施例方式
(第一實(shí)施方式)
圖1是表示本發(fā)明的第一實(shí)施方式所涉及的通信系統(tǒng)的整個(gè)結(jié)構(gòu)的方框圖。
如圖1所示,私人網(wǎng)絡(luò)Ol通過具有全球IP地址"IPG1"的路由器101連接在全球網(wǎng)00上。此外,私人網(wǎng)絡(luò)02通過具有全球IP地址"IPG2"的路由器201連接在全球網(wǎng)00上。具有全球IP地址"IPS"的服務(wù)器001連接在全球網(wǎng)00上,具有本地IP地址"IPL1"的裝置10及具有本地IP地址"IPL2"的裝置20分別連接在私人網(wǎng)絡(luò)01及02上。
圖2A是表示圖1所示的裝置10的概略結(jié)構(gòu)的方框圖。
裝置10包括地址信息調(diào)査請求發(fā)送單元1001、地址信息接收單元1002、直接通信準(zhǔn)備請求發(fā)送單元1003、中繼特性判斷單元1004、中繼信息發(fā)送單元1005、中繼信息接收單元1006、通信控制單元1007及通信單元1008。
地址信息調(diào)查請求發(fā)送單元1001為了調(diào)査通過作為中繼裝置的路由器101的NAT功能來對從裝置IO發(fā)送來的包設(shè)定的端口號,將地址信息調(diào)查請求包發(fā)送給服務(wù)器001。更詳細(xì)地說,地址信息調(diào)査請求發(fā)送單元1001將發(fā)送源端口號互不相同,且接收方端口號相同的至少3個(gè)地址信息調(diào)査請求包發(fā)送給服務(wù)器001。
地址信息接收單元1002從服務(wù)器001那里接收地址信息調(diào)査響應(yīng)包,該地址信息調(diào)查響應(yīng)包是響應(yīng)地址信息調(diào)查請求包而被從服務(wù)器001送回的。地址信息調(diào)查響應(yīng)包在數(shù)據(jù)單元中含有通過路由器101的NAT功能所設(shè)定的端口號(由裝置10的本地端口號轉(zhuǎn)換來的端口號)。
直接通信準(zhǔn)備請求發(fā)送單元1003為了推測在點(diǎn)對點(diǎn)通信時(shí)由路由器101分配的端口號,在地址信息調(diào)查請求發(fā)送單元1001發(fā)送3個(gè)地址信息調(diào)查請求包的處理期間,將點(diǎn)對點(diǎn)通信準(zhǔn)備包發(fā)送給連接在全球網(wǎng)00上的其它裝置。
中繼特性判斷單元1004根據(jù)由地址信息接收單元1002接收到的地址信息調(diào)査響應(yīng)包的數(shù)據(jù)單元中所含的端口號,來辨別路由器101的NAT特性。
中繼信息發(fā)送單元1005根據(jù)由中繼特性判斷單元1004判斷出的路由器101的NAT特性,來預(yù)測用于點(diǎn)對點(diǎn)通信的路由器101的端口號。中繼信息發(fā)送單元1005為了將用于點(diǎn)對點(diǎn)通信的端口號通過服務(wù)器通知給連接對象的裝置20,將在數(shù)據(jù)單元中含有所預(yù)測出的端口號的NAT信息通知包發(fā)送給服務(wù)器。
中繼信息接收單元1006對從連接對象裝置發(fā)送來的NAT信息通知包進(jìn)行接收。所接收到的NAT信息通知包含與連接對象的裝置20連接的路由器201用以點(diǎn)對點(diǎn)通信的端口號。
通信控制單元1007從所接收到的NAT信息通知包中取出路由器201的用以點(diǎn)對點(diǎn)通信的端口號,來生成將其設(shè)定為接收方端口號的點(diǎn)對點(diǎn)開始請求包。
34通信單元1008將在上述各個(gè)單元中生成的包發(fā)送給私人網(wǎng)絡(luò)01,并 且,從私人網(wǎng)絡(luò)01那里接收以裝置10為接收方的包。
圖2B是表示圖1所示的裝置20的概略結(jié)構(gòu)的方框圖。
裝置20包括地址信息調(diào)查請求發(fā)送單元2001、地址信息接收單元 2002、直接通信準(zhǔn)備請求發(fā)送單元2003、中繼特性判斷單元2004、中繼信 息發(fā)送單元2005、中繼信息接收單元2006、通信控制單元2007及通信單 元2008。由于地址信息調(diào)査請求發(fā)送單元2001 通信單元2008的各個(gè)功 能與圖2A所示的地址信息調(diào)查請求發(fā)送單元1001 通信單元1008的各個(gè) 功能一樣,因此這里對此說明加以省略。
圖2C是表示圖l所示的服務(wù)器001的概略結(jié)構(gòu)的方框圖。
服務(wù)器001包括地址信息調(diào)查單元0011、地址信息發(fā)送單元0012、中 繼信息轉(zhuǎn)送單元0013及通信單元0014。
地址信息調(diào)查單元0011在從裝置10及20中的每一個(gè)接收到地址信息 調(diào)查請求包時(shí),取出所接收到的包的報(bào)頭中所含的發(fā)送源端口號。地址信 息調(diào)查單元0011所取出的發(fā)送源端口號是通過路由器101或201的NAT 功能所設(shè)定的值。地址信息調(diào)查單元0011將所取出了的端口號輸出給地址 信息發(fā)送單元0012。
地址信息發(fā)送單元0012生成地址信息調(diào)查響應(yīng)包,將所生成的包送回 到裝置,該地址信息調(diào)查響應(yīng)包在數(shù)據(jù)單元中含有從地址信息調(diào)查單元 OOll那里接收到的端口號。
中繼信息轉(zhuǎn)送單元0013在從兩臺裝置中的一個(gè)接收到NAT信息通知 包時(shí),將所接收到的NAT信息通知包轉(zhuǎn)送給另一裝置。
通信單元0014將已在各個(gè)單元中生成的包發(fā)送給全球網(wǎng)00,并且,經(jīng) 由全球網(wǎng)00而接收以服務(wù)器001為接收方的包。
這里,對本實(shí)施方式所涉及的通信系統(tǒng)中的控制序列進(jìn)行說明。
圖3是表示本實(shí)施方式所涉及的通信系統(tǒng)為了確定點(diǎn)對點(diǎn)通信路徑而 執(zhí)行的處理的概要的序列圖。
如圖3所示,本實(shí)施方式所涉及的點(diǎn)對點(diǎn)通信路徑的確定方法由4個(gè) 階段,即NAT特性調(diào)查階段S301,準(zhǔn)備階段S302,信息交換階段S303及 點(diǎn)對點(diǎn)通信路徑確定階段S304來構(gòu)成。
35中,裝置10與服務(wù)器001進(jìn)行通信, 并對連接在裝置10上的路由器101的NAT特性(例如,Cone NAT或 Symmetric NAT)進(jìn)行調(diào)查。此外,裝置10對路由器101是否具有Port Reuse 特性進(jìn)行調(diào)查。同樣,裝置20與服務(wù)器001進(jìn)行通信,并對為中繼裝置的 路由器201的NAT特性和Port Reuse特性的有無進(jìn)行調(diào)査。
其次,在準(zhǔn)備階段S302中,裝置10將包發(fā)送給連接有自身的路由器 101,并打開用以與裝置20進(jìn)行通信的路由器101的端口。同樣,裝置20 將包發(fā)送給路由器201,并打開用以與裝置10進(jìn)行通信的路由器201的端 □。
其次,在信息交換階段S303中,裝置10及20分別經(jīng)由服務(wù)器001而 對在NAT特性調(diào)査階段中辨別出的NAT特性、和確定點(diǎn)對點(diǎn)通信路徑所 需的信息進(jìn)行交換。
然后,在點(diǎn)對點(diǎn)通信路徑確定階段S304中,裝置10及20分別根據(jù)在 信息交換階段S303中取得的信息,來彼此發(fā)送包,從而確定點(diǎn)對點(diǎn)通信路 徑。
此外,雖然在圖3中,為了便于圖示,而確定了NAT特性調(diào)查階段S301 及準(zhǔn)備階段S302的順序,但是不管哪個(gè)先執(zhí)行,只要在信息交換階段S303 之前完成NAT特性調(diào)査階段S301及準(zhǔn)備階段S302即可。
以下,對上述4個(gè)階段進(jìn)行更詳細(xì)說明。
<NAT特性調(diào)查階段及準(zhǔn)備階段>
圖4A是表示在圖3所示的NAT特性調(diào)查階段及準(zhǔn)備階段中的處理的 詳細(xì)情況的序列圖。
首先,裝置10將地址信息調(diào)查請求1發(fā)送給服務(wù)器OOl(步驟S401)。 更詳細(xì)地說,地址信息調(diào)査請求發(fā)送單元1001發(fā)送裝置10的端口號"LP1" 被設(shè)定為發(fā)送源端口號,且服務(wù)器OOl的端口號"SP1"被設(shè)定為接收方端 口號的地址信息調(diào)查請求包。
其次,服務(wù)器001響應(yīng)從裝置10發(fā)送來的地址信息調(diào)查請求1,向裝 置送回地址信息調(diào)查響應(yīng)l(步驟S402)。更詳細(xì)地說,通信單元0014接收 地址信息調(diào)查請求包1,并將所接收到的包轉(zhuǎn)送給地址信息調(diào)查單元OOll。 地址信息調(diào)查單元OOll參照被轉(zhuǎn)送的包報(bào)頭,取出發(fā)送源端口號即由路由
36器101設(shè)定了的端口號"GP11",并將所取出的發(fā)送源端口號"GP11"輸
出給地址信息發(fā)送單元0012。接下來,地址信息發(fā)送單元0012生成地址信 息調(diào)查響應(yīng)包1,并將所生成的包輸出給通信單元0014,該地址信息調(diào)查 響應(yīng)包1在數(shù)據(jù)單元中含有從地址信息調(diào)查單元那里接收到的路由器101 的端口號"GP11"。通信單元0014向裝置IO送回從地址信息發(fā)送單元0012 那里接收到的包。在裝置10中,在通信單元1008接收到地址信息調(diào)査響 應(yīng)包1時(shí),將所接收到的包轉(zhuǎn)送給地址信息接收單元1002。
其次,裝置10將地址信息調(diào)査請求2發(fā)送給服務(wù)器OOl(步驟S403)。 更詳細(xì)地說,地址信息調(diào)査請求發(fā)送單元1001發(fā)送裝置10的端口號"LP2" 被設(shè)定為發(fā)送源端口號,且服務(wù)器OOl的端口號"SP1"被設(shè)定為接收方端 口號的地址信息調(diào)查請求包2。
其次,服務(wù)器OOl響應(yīng)從裝置10發(fā)送來的地址信息調(diào)查請求2,向裝 置送回地址信息調(diào)查響應(yīng)2(步驟S404)。更詳細(xì)地說,通信單元0014接收 地址信息調(diào)查請求包2,并將所接收到的包轉(zhuǎn)送給地址信息調(diào)査單元0011 。 地址信息調(diào)査單元OOll參照被轉(zhuǎn)送的包的報(bào)頭,取出發(fā)送源端口號即由路 由器101設(shè)定了的端口號"GP12",并將所取出的發(fā)送源端口號"GP12" 輸出給地址信息發(fā)送單元0012。接下來,地址信息發(fā)送單元0012生成地址 信息調(diào)查響應(yīng)包2,并將所生成的包輸出給通信單元0014,該地址信息調(diào) 查響應(yīng)包2在數(shù)據(jù)單元中含有從地址信息調(diào)查單元那里接收到的路由器 101的端口號"GP12"。通信單元0014向裝置IO送回從地址信息發(fā)送單元 0012那里接收到的包。在裝置10中,在通信單元1008接收到地址信息調(diào) 査響應(yīng)包1時(shí),將所接收到的包轉(zhuǎn)送給地址信息接收單元1002。
其次,裝置10將點(diǎn)對點(diǎn)通信準(zhǔn)備包發(fā)送給裝置20(步驟S405)。更詳細(xì) 地說,裝置10為了在路由器101上準(zhǔn)備用以和與服務(wù)器具有不同的IP地 址的裝置20進(jìn)行點(diǎn)對點(diǎn)通信的端口號"GP13",將包發(fā)送給路由器IOI, 在該包中,裝置10的端口號"LP1"被設(shè)定為發(fā)送源端口號,且使裝置20 的IP地址及端口號作為接收方。
路由器101在步驟S405中,將NAT設(shè)定為能夠接收從裝置20通過路 由器201發(fā)送給路由器101(IPG1、 GP13)的包。路由器IOI設(shè)定NAT的方 法按照NAT特性(圖23A 圖23E)而不同,在此對其說明加以省略。
37其次,裝置10將地址信息調(diào)査請求3發(fā)送給服務(wù)器OOl(步驟S406)。 更詳細(xì)地說,地址信息調(diào)查請求發(fā)送單元1001將裝置10的端口號"LP3" 被設(shè)定為發(fā)送源端口號,且服務(wù)器001的端口號"SP1"被設(shè)定為接收方端 口號的包作為地址信息調(diào)査請求3來發(fā)送。
服務(wù)器001響應(yīng)從裝置10發(fā)送來的地址信息調(diào)査請求3,向裝置10 送回地址信息調(diào)査響應(yīng)3(步驟S407)。更詳細(xì)地說,通信單元0014接收地 址信息調(diào)查請求包3,并將所接收到的包轉(zhuǎn)送給地址信息調(diào)查單元0011。 地址信息調(diào)査單元OOll參照被轉(zhuǎn)送的包的報(bào)頭,取出發(fā)送源端口號即路由 器101的端口號"GP14",并將所取出的發(fā)送源端口號"GP14"輸出給地 址信息發(fā)送單元0012。接下來,地址信息發(fā)送單元0012生成地址信息調(diào)査 響應(yīng)包3,并將所生成的包輸出給通信單元0014,該地址信息調(diào)查響應(yīng)包3 在數(shù)據(jù)單元中含有從地址信息調(diào)查單元那里接收到的路由器101的端口號 "GP14"。通信單元0014向裝置10送回從地址信息發(fā)送單元0012那里接 收到的包。在裝置10中,在通信單元1008接收到地址信息調(diào)查響應(yīng)包1 時(shí),將所接收到的包轉(zhuǎn)送給地址信息接收單元1002。
其次,裝置IO在接收到地址信息調(diào)査響應(yīng)包1 3時(shí),對路由器101的 NAT特性進(jìn)行判斷(步驟S408)。裝置10的中繼特性判斷單元1004根據(jù)包 含在地址信息調(diào)查響應(yīng)包1 3中的路由器101的3個(gè)端口號"GP11"、 "GP12"及"GP14",按照下述處理流程來判斷路由器101的NAT特性。
此外,在本實(shí)施方式中,在發(fā)送地址信息調(diào)査請求之后再發(fā)送了點(diǎn)對 點(diǎn)通信準(zhǔn)備包,但是該包的發(fā)送時(shí)間并不限于此。具體地說,只要在發(fā)送 地址信息調(diào)査請求1之后,到發(fā)送地址信息調(diào)查請求3之前為止的期間, 發(fā)送點(diǎn)對點(diǎn)通信準(zhǔn)備包即可。換句話說,可以按任意順序?qū)c(diǎn)對點(diǎn)通信準(zhǔn) 備包和地址信息調(diào)查請求包2進(jìn)行發(fā)送。
此外,在圖4A的例子中,對點(diǎn)對點(diǎn)通信準(zhǔn)備包的發(fā)送源端口號設(shè)定了 "LP1",但是只要與對地址信息調(diào)査請求包1 3進(jìn)行發(fā)送的端口號 "LP1" "LP3"的任意一個(gè)同一即可。
并且,對于上述點(diǎn)對點(diǎn)通信準(zhǔn)備包(步驟S405)的接收方來說,可以使 裝置10預(yù)先取得裝置20的IP地址及端口號。或者,也可以在服務(wù)器OOl 對于地址信息調(diào)査響應(yīng)包1或2的任意一個(gè)設(shè)定裝置20的IP地址及端口號,并將其發(fā)送給裝置IO之后,使裝置10通過參照所接收到的地址信息
調(diào)查響應(yīng)包1或2,來取得裝置20的IP地址及端口號。
并且,在步驟S405中,最好在考慮到路由器201具有非法侵入檢測功 能的可能性的情況下進(jìn)一步在點(diǎn)對點(diǎn)通信包上想辦法。
例如,對于裝置10向裝置20發(fā)送的包的接收方端口號,設(shè)定路由器 201實(shí)際使用的端口號(例如,當(dāng)裝置20與服務(wù)器001進(jìn)行通信時(shí),路由器 201向裝置20的包所分配的端口號)。這是因?yàn)槿粼诼酚善?01具有侵入檢 測功能時(shí),路由器201從裝置10接收點(diǎn)對點(diǎn)通信準(zhǔn)備包,該點(diǎn)對點(diǎn)通信準(zhǔn) 備包在接收方端口號中含有沒有用于通信的端口號的話,則具有被錯(cuò)誤地 檢測為該包是非法訪問的包的可能性之故。由于路由器201在檢測出非法 訪問包時(shí),廢棄從裝置10發(fā)送來的所有后續(xù)包,因此恐怕使裝置10與裝 置20不能進(jìn)行通信。
或者,裝置IO也可以對該包的生存時(shí)間(TTL: Time To Live)值進(jìn)行調(diào) 整,以使點(diǎn)對點(diǎn)通信準(zhǔn)備包不到達(dá)路由器201。裝置10發(fā)送點(diǎn)對點(diǎn)通信準(zhǔn) 備包是為了對連接有自身的路由器101準(zhǔn)備用以與裝置20進(jìn)行點(diǎn)對點(diǎn)通信 的端口號,點(diǎn)對點(diǎn)通信準(zhǔn)備包并不一定要到達(dá)路由器201。于是,若預(yù)先調(diào) 整TTL值以使點(diǎn)對點(diǎn)通信準(zhǔn)備包到達(dá)路由器101,且不到達(dá)路由器201的 話,則裝置10能夠回避在路由器201中檢測出非法侵入的情況。
圖4B是表示圖4A所示的步驟S408的處理的詳細(xì)情況的流程圖。
如上所述,裝置10參照從服務(wù)器001送回來的地址信息調(diào)查響應(yīng)包1 3,取得在發(fā)送地址信息調(diào)查請求包1 3時(shí)路由器101所使用的端口號 "GP11"、"GP12"及"GP14"。路由器IOI向點(diǎn)對點(diǎn)通信準(zhǔn)備包所分配的 端口號"GP13"因路由器101的NAT特性而不同,有時(shí)與"GP11"、"GP12" 及"GP14" 3個(gè)端口號中的任意一個(gè)一致,有時(shí)不一致。此外, 一般來說, 路由器所打開的相鄰接的兩個(gè)端口號的間隔一定。故而,能夠通過對3個(gè) 端口號"GP11"、 "GP12"及"GP14"中的、相鄰接的兩個(gè)端口號的差分 進(jìn)行調(diào)査,來辨別出NAT特性。
首先,中繼特性判斷單元1004判斷所取得的端口號"GP11"和"GP12" 的差分值A(chǔ)1(叫"GP12" — "GP11" |)是否與"GP12"和"GP14"的差分 值A(chǔ)2(叫"GP14" _ "GP12" i)一致(步驟S409)。在差分值A(chǔ)l與A2 一致
39時(shí)(步驟S409中的"是"),中繼特性判斷單元1004判斷出路由器101的NAT是ConeNAT(步驟S410),進(jìn)入步驟S412。另一方面,在差分值A(chǔ)l與A2不一致時(shí)(步驟S409中的"不是"),中繼特性判斷單元1004判斷出路由器101的NAT是Symmetric NAT(步驟S411),進(jìn)入步驟S412。
并且,中繼特性判斷單元1004判斷已用步驟S402取得的路由器101的端口號"GP11"是否與已用步驟S401發(fā)送了的地址信息調(diào)査請求包1的發(fā)送源端口號"LP1" —致(步驟S412)。在"GP11"與"LP1" —致時(shí)(步驟S412中的"是"),中繼特性判斷單元1004判斷出路由器101具有PortReuse特性(步驟S413),結(jié)束NAT特性判斷處理。在其它情況下,中繼特性判斷單元1004結(jié)束NAT特性判斷處理。
此外,為了嚴(yán)密地判斷路由器101是否具有Port Reuse特性,中繼特性判斷單元1004也可以進(jìn)一步判斷端口號"GP12"是否與"LP2" —致。此時(shí),中繼特性判斷單元1004在"GP11"與"LP1" —致,且"GP12 "與"LP2"—致時(shí),判斷出路由器101具有Port Reuse特性。此外,為了不嚴(yán)密地判斷路由器101是否具有Port Reuse特性,也可以在確認(rèn)"GP11"與"LP1" 一致,或"GP12"與"LP2" 一致的任意情況時(shí),使中繼特性判斷單元1004判斷出路由器101具有Port Reuse特性。此外,也可以在步驟S409之前,進(jìn)行在步驟S412及S413中判斷Port Reuse特性的處理。
此外,在路由器101具有Port Reuse特性,且"LP1"及"LP2"的差分與"LP2"及"LP3"的差分不相等時(shí),差分值A(chǔ)l與A2不會(huì)相等。因此,在圖4B的流程圖中,當(dāng)路由器101是PortReuse的Cone NAT時(shí),具有判斷為Symmetric NAT的可能性。不過,在后續(xù)的點(diǎn)對點(diǎn)連接序列中,由于對于Port Reuse的Cone NAT、禾P Port Reuse的Symmetric NAT準(zhǔn)備有共通的處理,因此如果在步驟S412及S413中判斷為Port Reuse的話,就不會(huì)產(chǎn)生不良現(xiàn)象。
并且,在圖4A的序列中,裝置10也可以在用步驟S402從服務(wù)器001那里接收到地址信息調(diào)查響應(yīng)包1的時(shí)刻,執(zhí)行步驟S412 S413,并在判斷出路由器101是PortReuse時(shí),對步驟S403 S408加以省略。
裝置10能夠通過上述NAT特性判斷處理,來對路由器101的NAT特性進(jìn)行調(diào)查。其次,對上述NAT特性判斷處理的具體例子進(jìn)行說明。
圖5A是對圖4A所示的步驟S410進(jìn)行說明的圖。
中繼特性判斷單元1004在步驟S409中判斷出"是",即差分值A(chǔ)l與A2 —致的情況意味著路由器101向在接收方中含有服務(wù)器的IP地址及端口號的包、和在接收方中含有裝置20的IP地址及端口號的包分配了同一端口號。因此,中繼特性判斷單元1004能夠判斷出路由器101具有ConeNAT特性。
圖5B是對圖4A所示的步驟S411進(jìn)行說明的圖。
中繼特性判斷單元1004在步驟S409中判斷出"不是",即差分值A(chǔ)l與A2不同的情況意味著路由器101向在接收方中含有服務(wù)器的IP地址及端口號的包、和在接收方中含有裝置20的IP地址及端口號的包,分別分配了不同端口號。因此,中繼特性判斷單元1004能夠判斷出路由器101具有Symmetric NAT特性。
此外,裝置20按照與圖4A所示的順序一樣的順序,來調(diào)查路由器201的NAT特性,在路由器201中打開用于點(diǎn)對點(diǎn)通信的端口。
此外,在圖4A中,為了便于說明,同時(shí)示出了NAT特性調(diào)査階段(步驟S401 S404、步驟S406 S408)和準(zhǔn)備階段(步驟S405),也可以將NAT特性調(diào)查階段和準(zhǔn)備階段分開表示。
并且,NAT特性調(diào)查階段及準(zhǔn)備階段不一定必須按照本實(shí)施方式所示的順序來執(zhí)行。因此,只要在后續(xù)信息交換階段之前完成NAT特性調(diào)查階段及準(zhǔn)備階段的話,則裝置10及20也可以按照與本實(shí)施方式不同的順序來執(zhí)行各個(gè)步驟。
<信息交換階段>
圖6是表示在圖3所示的信息交換階段中的處理的詳細(xì)情況的序列圖。下述說明的前提條件是,裝置10及20分別預(yù)先通過路由器101及201
將包發(fā)送給服務(wù)器OOl,確定有通信路徑,處于能夠經(jīng)由服務(wù)器以實(shí)時(shí)交換
信息的狀態(tài)。
首先,為了將連接有自身的路由器201的、用于點(diǎn)對點(diǎn)通信的端口號(以后,點(diǎn)對點(diǎn)通信端口號)通知給裝置10,裝置20向服務(wù)器001進(jìn)行發(fā)送(步驟S601)。更詳細(xì)地說,中繼信息發(fā)送單元2005在NAT特性調(diào)查階段中判
41斷路由器201的NAT特性,根據(jù)判斷結(jié)果來預(yù)測點(diǎn)對點(diǎn)通信端口號。然后,中繼信息發(fā)送單元2005生成NAT信息通知包,并通過通信單元2008將所生成的NAT信息通知包發(fā)送給服務(wù)器001,該NAT信息通知包在數(shù)據(jù)單元中含有預(yù)測出的端口號。
點(diǎn)對點(diǎn)通信端口號是根據(jù)NAT特性以下述說明決定的。
(a) 在NAT特性是Cone時(shí)
裝置20將端口號"GP21"、 "GP22"及"GP24"值中的任意一個(gè)決定為點(diǎn)對點(diǎn)通信端口號。在本實(shí)施方式中,將"GP21"選擇為點(diǎn)對點(diǎn)通信端口號。
(b) 在NAT特性是Symmetric時(shí)
Symmetric NAT在每次將端口號分配給包時(shí),以每個(gè)規(guī)定的值對端口號進(jìn)行增量(或減少)。在以下的說明中,將該規(guī)定值稱為"端口分配間隔"。如圖5B的例子所示,由于差分值A(chǔ)l及A2中的較少的一方相當(dāng)于路由器201的端口分配間隔,因此預(yù)測為路由器201下次將打開的端口號是"GP24+A1"。因此,裝置20將"GP24+A1"決定為點(diǎn)對點(diǎn)通信端口號。
(c) 在NAT具有Port Reuse特性時(shí)
裝置20將預(yù)定在下次點(diǎn)對點(diǎn)通信路徑確定階段中新打開的端口號"LP4"決定為點(diǎn)對點(diǎn)通信端口號。此外,端口號"LP4"可以是與在地址信息調(diào)查請求發(fā)送處理中使用了中的"LP1"、 "LP2"及"LP3"不同的任意端口號。
服務(wù)器001在接收到NAT信息通知包時(shí),將所接收到的NAT信息通知包轉(zhuǎn)送給裝置IO(步驟S602)。更詳細(xì)地說,在服務(wù)器001中,中繼信息轉(zhuǎn)送單元0013通過通信單元0014 —旦接收從裝置20發(fā)送來的NAT信息通知包,再通過通信單元0014將所接收到的NAT信息通知包轉(zhuǎn)送給裝置10。
其次,裝置10為了將連接有自身的路由器101的點(diǎn)對點(diǎn)通信端口號通知給裝置20而向服務(wù)器001通知NAT信息(步驟S603)。更詳細(xì)地說,中繼信息發(fā)送單元1005根據(jù)NAT特性調(diào)查階段中所取得的路由器101的NAT特性,來預(yù)測點(diǎn)對點(diǎn)通信端口號,生成NAT信息通知包,并通過通信單元1008將所生成的NAT信息通知包發(fā)送給服務(wù)器001,該NAT信息通知包
42在數(shù)據(jù)單元中含有所預(yù)測出的端口號。由于裝置10向服務(wù)器001發(fā)送的
NAT信息通知與裝置20向服務(wù)器001發(fā)送的一樣,因此這里對此說明加以省略。
服務(wù)器001在接收到NAT信息通知包時(shí),將所接收到的NAT信息通知包轉(zhuǎn)送給裝置20(步驟S604)。更詳細(xì)地說,在服務(wù)器001中,中繼信息轉(zhuǎn)送單元0014通過通信單元0014 —旦接收從裝置10發(fā)送來的NAT信息通知包,再通過通信單元0014將接收到的NAT信息通知包轉(zhuǎn)送給裝置20。
此外,在本實(shí)施方式中,裝置10及20分別將根據(jù)NAT特性決定了的點(diǎn)對點(diǎn)通信端口號作為NAT信息給裝置20及裝置10,但是也可以將3個(gè)端口號(端口號"GPll)、 "GP12"及"GP14",或端口號"GP21"、 "GP22"及"GP24")通知給服務(wù)器001。此時(shí),裝置10及20只要分別按照圖4B所示的處理流程,根據(jù)從服務(wù)器OOl取得的3個(gè)端口號,來判斷連接有通信對象裝置的路由器201及101各自的NAT特性,并計(jì)算路由器的點(diǎn)對點(diǎn)通信端口號的值即可。
或者、也可以使服務(wù)器001按照圖4B所示的處理流程,根據(jù)從裝置10及20的每一個(gè)取得的3個(gè)端口號,來分別判斷路由器101及201各自的NAT特性,并將根據(jù)它算出的路由器101及201的點(diǎn)對點(diǎn)通信端口號分別通知給裝置20及10。
此外,若裝置10、裝置20及服務(wù)器001中的至少1個(gè)是對辨別路由器的NAT特性有用的信息的話,則NAT信息也可以包含上述以外的信息。
并且,在本實(shí)施方式中,裝置20先發(fā)送了 NAT信息通知包,也可以使裝置10先發(fā)送NAT信息通知包。
并且,裝置10及20在信息交換階段中,利用與在NAT特性調(diào)查階段中利用了的服務(wù)器相同的服務(wù)器,來交換NAT信息通知包,也可以利用不同的服務(wù)器。
<點(diǎn)對點(diǎn)通信路徑確定階段>
圖7是表示在圖3所示的點(diǎn)對點(diǎn)通信路徑確定階段中的處理的詳細(xì)情況的序列圖。在圖7中,表示有例路由器201具有PR Cone NAT特性或Symmetric NAT特性時(shí)的例子。
首先,裝置10的通信控制單元1007對于將已在步驟S602中取得的路
43由器201的點(diǎn)對點(diǎn)通信端口號設(shè)定為接收方端口號的點(diǎn)對點(diǎn)開始請求包進(jìn)
行發(fā)送(步驟S701)。這里,被設(shè)定為發(fā)送源端口號的端口號因裝置10的 NAT特性而不同,下面再對此詳細(xì)情況進(jìn)行說明。
在該階段中,由于路由器201沒有將NAT設(shè)定為對從裝置IO發(fā)送來 的包進(jìn)行轉(zhuǎn)送,因此路由器201廢棄已在步驟S701中發(fā)送了的點(diǎn)對點(diǎn)開始 請求包,并不將其轉(zhuǎn)送給裝置20。不過,路由器101對NAT進(jìn)行這樣的設(shè) 定將路由器201的點(diǎn)對點(diǎn)通信端口號被設(shè)定為發(fā)送源端口號,且路由器 101的點(diǎn)對點(diǎn)通信端口號被設(shè)定為接收方端口號的包轉(zhuǎn)送給裝置10。
另一方面,裝置20的通信控制單元2007對于將己在步驟S604中取得 的路由器101的點(diǎn)對點(diǎn)通信端口號設(shè)定為接收方端口號的點(diǎn)對點(diǎn)開始請求 包進(jìn)行發(fā)送(步驟702)。這里,被設(shè)定為發(fā)送源端口號的端口號因路由器201 的NAT特性而不同,下面再對此詳細(xì)情況進(jìn)行說明。
路由器101將從裝置20發(fā)送來的點(diǎn)對點(diǎn)開始請求包的接收方IP地址 (這里,路由器101的IP地址"IPG1))轉(zhuǎn)換為裝置10的IP地址"IPL1", 并將其轉(zhuǎn)送給裝置IO(以下,簡稱為"轉(zhuǎn)送")。在裝置10中,通信控制單 元1007響應(yīng)從路由器101轉(zhuǎn)送來的點(diǎn)對點(diǎn)開始請求包,通過通信單元1008 將點(diǎn)對點(diǎn)開始響應(yīng)包發(fā)送給裝置20(步驟S703)。
此外,在本實(shí)施方式中,裝置10先發(fā)送了點(diǎn)對點(diǎn)開始請求,但是點(diǎn)對 點(diǎn)開始請求的發(fā)送順序并不限于此。在裝置20先發(fā)送點(diǎn)對點(diǎn)開始請求時(shí), 也與圖7的序列一樣,能夠確定點(diǎn)對點(diǎn)通信路徑。
此外,在圖7中,在步驟S701中,路由器201廢棄點(diǎn)對點(diǎn)開始請求包 的情況是路由器201具有PR Cone NAT特性或Symmetric NAT特性時(shí)的序 列的例子。路由器201已將NAT設(shè)定為將來自路由器lOl的包轉(zhuǎn)送給裝置 20(圖6的步驟S601),因此在步驟S701中,路由器201將從裝置10發(fā)送 來的點(diǎn)對點(diǎn)開始請求轉(zhuǎn)送給裝置20。因此,在步驟S702中,能夠認(rèn)為通 過裝置20發(fā)送點(diǎn)對點(diǎn)開始請求,完成了點(diǎn)對點(diǎn)通信路徑的確定。以后的點(diǎn) 對點(diǎn)連接序列也是一樣。
以下,參照圖8 圖10按照路由器101的各個(gè)NAT特性,對裝置10 在與裝置20之間確定點(diǎn)對點(diǎn)通信路徑用的連接序列分別進(jìn)行說明。
<連接序列1:路由器101是Cone NAT時(shí)>
44圖8是表示當(dāng)路由器101為Cone NAT時(shí)的連接序列的詳細(xì)情況的圖。 此外,在圖8中,為了簡化說明,而設(shè)想路由器201具有Cone NAT特性的情況。
如上所述,裝置10在信息交換階段(圖6)的步驟S601及S602中,根 據(jù)經(jīng)由服務(wù)器001從裝置20通知來的信息,來把握連接有裝置20的路由 器201的點(diǎn)對點(diǎn)通信端口號。當(dāng)路由器201具有Cone NAT特性時(shí),在NAT 信息通知包中將"GP21"包含為路由器201的點(diǎn)對點(diǎn)通信端口號。另一方 面,由于路由器101也具有Cone NAT特性,因此在步驟S603及S604中, 裝置10將"GP11"作為路由器101的點(diǎn)對點(diǎn)通信端口號經(jīng)由服務(wù)器001 通知給裝置20。
于是,裝置10的通信控制單元1007將"LP1"被設(shè)定為發(fā)送源端口號, 且"GP21"被設(shè)定為接收方端口號的包作為點(diǎn)對點(diǎn)開始請求來發(fā)送(步驟 S801)。路由器101對從裝置lO發(fā)送來的包分配端口號"GPll"(- "GP13))。
在該階段中,由于路由器201沒有將NAT設(shè)定為對從裝置10發(fā)送來 的、"GP21"被設(shè)定為接收方端口號的包轉(zhuǎn)送給裝置20,因此路由器201 廢棄已在步驟S801中發(fā)送了的點(diǎn)對點(diǎn)開始請求包,并不將其轉(zhuǎn)送給裝置 20。不過,路由器101對NAT進(jìn)行這樣的設(shè)定將路由器201的端口號 "GP21"被設(shè)定為發(fā)送源端口號,且(IPG1、 GP11)被設(shè)定為接收方IP地址 及接收方端口號的包轉(zhuǎn)送給裝置IO(IPLI、 LP1)。
其次,裝置20根據(jù)在信息交換階段中從服務(wù)器001通知來的信息,取 得連接有裝置10的路由器101的點(diǎn)對點(diǎn)通信端口號。通信控制單元2007 將與"GP21"相對應(yīng)的"LP1"被設(shè)定為發(fā)送源端口號,且"GP11"被設(shè) 定為接收方端口號的包作為點(diǎn)對點(diǎn)開始請求來發(fā)送(步驟S802)。
路由器101將從裝置20發(fā)送來的點(diǎn)對點(diǎn)開始請求包轉(zhuǎn)送給裝置10。在 裝置10中,通信控制單元1007響應(yīng)從路由器101轉(zhuǎn)送來的點(diǎn)對點(diǎn)開始請 求包,通過通信單元1008將點(diǎn)對點(diǎn)開始響應(yīng)包發(fā)送給裝置20(步驟S803)。
當(dāng)路由器101具有Cone NAT特性時(shí),能夠按照上述處理順序,來在裝 置10及20之間確定點(diǎn)對點(diǎn)通信路徑。
<連接序列2:在路由器101是Symmetric NAT時(shí)>
圖9A是表示當(dāng)路由器101為Symmetric NAT時(shí)的連接序列的詳細(xì)情況的圖,圖9B是表示圖9A所示的端口號的圖。此外,在圖9中,為了簡化 說明,而設(shè)想路由器201具有Cone NAT特性的情況。
如上所述,裝置IO在信息交換階段(圖6)的步驟S601及S602中,根 據(jù)從裝置20通知來的信息,把握連接有裝置20的路由器201的點(diǎn)對點(diǎn)通 信端口號。當(dāng)路由器201具有Cone NAT特性時(shí),在NAT信息通知中將 "GP21"包含為路由器201的點(diǎn)對點(diǎn)通信端口號。另一方面,當(dāng)路由器101 具有Symmetric NAT特性時(shí),裝置10在步驟S603及S604中,將"GP14+A1" 作為路由器101的點(diǎn)對點(diǎn)通信端口號經(jīng)由服務(wù)器001通知給裝置20。
于是,裝置10的通信控制單元1007將"LP4"被設(shè)定為發(fā)送源端口號, 且"GP21"被設(shè)定為接收方端口號的包作為點(diǎn)對點(diǎn)開始請求來發(fā)送(步驟 S901)。
對于從裝置10發(fā)送來的包,路由器101分配端口號"GP14+A1"(其 中,Al是路由器lOl的端口分配間隔)。
在該階段中,路由器201沒有將NAT設(shè)定為把從裝置10發(fā)送來的、 接收方端口號被設(shè)定為"GP21"的包轉(zhuǎn)送給裝置20。因此,路由器201廢 棄已在步驟S901中發(fā)送了的點(diǎn)對點(diǎn)開始請求包,并不將其轉(zhuǎn)送給裝置20。 不過,路由器101對NAT進(jìn)行這樣的設(shè)定將路由器201的端口號"GP21" 被設(shè)定為發(fā)送源端口號,且(IPG1、 GP14+A1)被設(shè)定為接收方IP地址及接 收方端口號的包轉(zhuǎn)送給裝置IO(IPLI、 LP1)。
裝置20根據(jù)在信息交換階段中從服務(wù)器001通知來的信息,取得連接 有裝置10的路由器101的點(diǎn)對點(diǎn)通信端口號。通信控制單元2007將與 "GP21"相對應(yīng)的"LP1"被設(shè)定為發(fā)送源端口號,且"GP14+M"被設(shè) 定為接收方端口號的包作為點(diǎn)對點(diǎn)開始請求來發(fā)送(步驟S902)。
路由器101將從裝置20發(fā)送來的點(diǎn)對點(diǎn)開始請求包轉(zhuǎn)送給裝置10。在 裝置10中,通信控制單元1007響應(yīng)從路由器101轉(zhuǎn)送來的點(diǎn)對點(diǎn)開始請 求包,通過通信單元1008將點(diǎn)對點(diǎn)開始響應(yīng)包發(fā)送給裝置20(步驟S903)。
當(dāng)路由器101具有Symmetric NAT特性時(shí),能夠按照上述處理順序, 來在裝置10及20之間確定點(diǎn)對點(diǎn)通信路徑。
此外,在本實(shí)施方式中,裝置IO對發(fā)送源端口號設(shè)定了 "LP4",但是 當(dāng)路由器101的特性是Symmetric NAT時(shí),也可以設(shè)定在步驟S405中發(fā)送
46了點(diǎn)對點(diǎn)通信準(zhǔn)備包的端口號"LP1"以外的任意端口號。
更詳細(xì)地說,當(dāng)路由器101是AS Symmetric NAT時(shí),由于將從端口號 "LP1"發(fā)送來的點(diǎn)對點(diǎn)開始請求包發(fā)送給與步驟S405的點(diǎn)對點(diǎn)通信準(zhǔn)備 包相同的接收方,因此路由器101對點(diǎn)對點(diǎn)開始請求包分配端口號"GP13"。 此外,當(dāng)路由器101具有PS Symmetric NAT特性時(shí),預(yù)測到從任意端 口號發(fā)送來的點(diǎn)對點(diǎn)開始請求包的發(fā)送源端口號由路由器101轉(zhuǎn)換為 "GP14+A1"。
在考慮上述內(nèi)容的情況下,為了在AS及PS中的任意Symmetric NAT 中對于點(diǎn)對點(diǎn)開始請求包分配"GP14+A1",裝置IO必須對發(fā)送源端口號 設(shè)定"LP1"以外的端口號。
此外,在本實(shí)施方式中,裝置20向接收方端口號"GP14+A1"發(fā)送了 1個(gè)點(diǎn)對點(diǎn)開始請求包,但是也可以使裝置20發(fā)送多個(gè)點(diǎn)對點(diǎn)開始請求包。 例如,裝置20為了提高成功確定點(diǎn)對點(diǎn)通信路徑的可能性,除了向 "GP14+A1"發(fā)送一個(gè)點(diǎn)對點(diǎn)開始請求包之外,例如,也可以發(fā)送多個(gè)點(diǎn) 對點(diǎn)開始請求包,在該多個(gè)點(diǎn)對點(diǎn)開始請求包中,如"GP14+2xAl"及 "GP14+3xAl"那樣的端口號,即對"GP14+A1"每增加Al之后的端口號 被設(shè)定為接收方端口號。
為了進(jìn)一步提高成功確定點(diǎn)對點(diǎn)通信路徑的可能性,與裝置IO所發(fā)送 的點(diǎn)對點(diǎn)開始請求包的數(shù)目相比,也可以增大裝置20所發(fā)送的點(diǎn)對點(diǎn)開始 請求包的數(shù)目。具體來說,裝置lO發(fā)送a個(gè)點(diǎn)對點(diǎn)開始請求包,在該a個(gè) 點(diǎn)對點(diǎn)開始請求包中,"LP4" "LP4+oi" (a是正整數(shù))分別被設(shè)定為發(fā)送 源端口號,且"GP21"被設(shè)定為接收方端口號。而裝置20發(fā)送(m+a)個(gè)點(diǎn) 對點(diǎn)開始請求包,在該(m+a)個(gè)點(diǎn)對點(diǎn)開始請求包中,"GP14+A1" "GP14+(m+a)xAl"(m是正整數(shù))分別被設(shè)定為接收方端口號。此時(shí),即使 裝置10正在發(fā)送a個(gè)包時(shí),從連接在路由器IOI上的其它住宅內(nèi)裝置發(fā)送 了 m個(gè)包,從裝置20發(fā)送來的(m+a)個(gè)點(diǎn)對點(diǎn)開始請求包中的至少1個(gè)仍 然會(huì)到達(dá)裝置IO。之后,通過裝置10對于從裝置20那里接收到的點(diǎn)對點(diǎn) 開始請求包中的任意一個(gè)發(fā)送點(diǎn)對點(diǎn)開始響應(yīng),來在裝置10及20之間確 定點(diǎn)對點(diǎn)通信路徑。
<連接序列3:當(dāng)路由器101是Port Reuse時(shí)>
47圖10是表示當(dāng)路由器101為Port Reuse時(shí)的連接序列的詳細(xì)情況的圖。 此外,在圖10中,為了簡化說明,而設(shè)想路由器201具有Cone NAT特性 的情況。
如上所述,裝置10根據(jù)在信息交換階段(圖6)的步驟S601及S602中 從服務(wù)器001通知來的信息,把握連接有裝置20的路由器201的點(diǎn)對點(diǎn)通 信端口號。由于路由器201具有CorieNAT特性,因此在NAT信息通知中 含有作為路由器201的點(diǎn)對點(diǎn)通信端口號的"GP21"。另一方面,由于路由 器101具有Port Reuse特性,因此在步驟S603及S604中,裝置10將預(yù)定 在點(diǎn)對點(diǎn)通信路徑確定階段中新打開的端口號"LP4"作為路由器101的點(diǎn) 對點(diǎn)通信端口號通知給裝置20。
于是,裝置10的通信控制單元1007將"LP4"被設(shè)定為發(fā)送源端口號, 且"GP21"被設(shè)定為接收方端口號的包作為點(diǎn)對點(diǎn)開始請求來發(fā)送(步驟 S1001)。此外,路由器101對從裝置10發(fā)送來的包分配端口號"LP4"。
在該階段中,由于路由器201沒有將NAT設(shè)定為把從裝置10發(fā)送來 的、接收方端口號被設(shè)定為"GP21"的包轉(zhuǎn)送給裝置20,因此路由器201 廢棄已在步驟S1001中發(fā)送了的點(diǎn)對點(diǎn)開始請求包,并不將其轉(zhuǎn)送給裝置 20。不過,在此階段中,路由器101對NAT進(jìn)行這樣的設(shè)定將路由器201 的端口號"GP21"被設(shè)定為發(fā)送源端口號,且(IPG1、 LP4)被設(shè)定為接收方 IP地址及接收方端口號的包轉(zhuǎn)送給裝置10(IPL1、 LP4)。
另一方面,裝置20根據(jù)在信息交換階段中從服務(wù)器001通知來的信息, 取得連接有裝置10的路由器101的點(diǎn)對點(diǎn)通信端口號。通信控制單元2007 將與"GP21"相對應(yīng)的"LP1"被設(shè)定為發(fā)送源端口號,且"LP4"被設(shè)定 為接收方端口號的包作為點(diǎn)對點(diǎn)開始請求來發(fā)送(步驟S1002)。
路由器101將從裝置20發(fā)送來的點(diǎn)對點(diǎn)開始請求包轉(zhuǎn)送給裝置10。在 裝置10中,通信控制單元1007響應(yīng)從路由器101轉(zhuǎn)送來的點(diǎn)對點(diǎn)開始請 求包,通過通信單元1008將點(diǎn)對點(diǎn)開始響應(yīng)包轉(zhuǎn)送給裝置20(步驟S1003)。
當(dāng)路由器101具有Port Reuse特性時(shí),能夠按照上述處理順序,來在 裝置10及20之間確定點(diǎn)對點(diǎn)通信路徑。
此外,雖然在上述NAT特性判斷處理(圖4B)中,有可能將Port Reuse 的Cone NAT判斷為Symmetric NAT的可能性,但是由于現(xiàn)在能利用的Port
48Reuse的Symmetric NAT未被廣為人知,因此在為Port Reuse時(shí),也可以執(zhí) 行Cone NAT的連接序列。
如上所述,在本實(shí)施方式所涉及的通信系統(tǒng)中,裝置10及20能夠通 過與開放有1個(gè)端口 "SP1"的1臺服務(wù)器OOl進(jìn)行包的發(fā)送/接收,來判 斷所連接的路由器的Cone NAT特性、Symmetric NAT特性及Port Reuse特 性。裝置10及20能夠在根據(jù)NAT特性的判斷結(jié)果,對用于點(diǎn)對點(diǎn)通信中 的路由器的端口號進(jìn)行交換之后,確定點(diǎn)對點(diǎn)通信路徑。
此外,在上述圖8 圖IO所示的各序列圖中,裝置10比裝置20先發(fā) 送點(diǎn)對點(diǎn)開始請求,也可以使裝置20比裝置10先發(fā)送點(diǎn)對點(diǎn)開始請求。
為了在點(diǎn)對點(diǎn)通信路徑確定階段中,提高成功確定點(diǎn)對點(diǎn)通信路徑的 可能性,裝置10也可以在信息交換階段中,將多個(gè)端口號通知給裝置20。
此外,在本實(shí)施方式中,表示出在每將端口分配給包時(shí),被分配的端 口號就增加的路由器,但是不用說本發(fā)明同樣可以適用于在每將端口分配 給包時(shí)被分配的端口號就減少的路由器。
(第二實(shí)施方式)
以下,以本發(fā)明的第二實(shí)施方式所涉及的通信系統(tǒng)與第一實(shí)施方式的 不同之處為中心進(jìn)行說明。
本實(shí)施方式所涉及的裝置10及20在第一實(shí)施方式所涉及的結(jié)構(gòu)上還 具有存儲一旦判斷出的NAT特性的存儲單元,在第2次以后確定點(diǎn)對點(diǎn)通 信路徑時(shí),再次利用存儲在存儲單元中的NAT特性。這樣一來,能夠在第 2次以后確定點(diǎn)對點(diǎn)通信路徑時(shí),對NAT特性調(diào)査階段加以省略。
此外,裝置10及20也可以在不執(zhí)行NAT調(diào)査階段的處理的情況下進(jìn) 行點(diǎn)對點(diǎn)通信路徑確定處理,并不成功確定點(diǎn)對點(diǎn)通信路徑時(shí)才執(zhí)行NAT 特性調(diào)查階段的處理。
此外,存儲單元所存儲的特性并不局限于NAT特性,也可以還存儲差 分值A(chǔ)1、八2。此時(shí),在第2次以后的點(diǎn)對點(diǎn)通信路徑確定時(shí),也可以使中 繼特性判斷單元1004及2004按照圖4B的流程圖,來根據(jù)存儲在存儲單元 中的差分值A(chǔ)l 、 A2判斷NAT特性。
根據(jù)本實(shí)施方式所涉及的通信系統(tǒng),由于減少裝置10及20對NAT特 性進(jìn)行調(diào)查的次數(shù),因此能夠有效地執(zhí)行第2次以后的點(diǎn)對點(diǎn)通信路徑的確定處理。
圖11是本發(fā)明的第二實(shí)施方式所涉及的連接序列圖。在圖11的例子
中,設(shè)想路由器101具有Symmetric NAT,路由器201具有Cone NAT特性
的情況。
以下,設(shè)想裝置10及20將一旦調(diào)査了的路由器101及201的NAT特 性、和路由器101及路由器201各自的端口分配間隔Al存儲在存儲單元中 的情況。此外,在本實(shí)施方式中,存儲有NAT特性和端口分配間隔Al, 但是也可以存儲有兩個(gè)差分值A(chǔ)1、 A2,必要時(shí)根據(jù)兩個(gè)差分值來判斷NAT 特性。
<基準(zhǔn)端口號取得階段>
裝置10已在上次確定有點(diǎn)對點(diǎn)通信路徑時(shí)所執(zhí)行的NAT特性調(diào)查階 段中,對路由器101的NAT特性和端口分配間隔進(jìn)行了調(diào)查。于是,在本 實(shí)施方式中,裝置10對在NAT特性調(diào)査階段及準(zhǔn)備階段中的處理加以省 略,以取得用以決定點(diǎn)對點(diǎn)通信端口號的基準(zhǔn)端口來代替該處理。
首先,在裝置10中,地址信息調(diào)查請求發(fā)送單元1001對地址信息調(diào) 査請求包進(jìn)行發(fā)送,在該地址信息調(diào)查請求包中,裝置10的端口號"LP1" 被設(shè)定為發(fā)送源端口號,且服務(wù)器OOl端口號"SP1"被設(shè)定為接收方端口 號(步驟S1101)。
在服務(wù)器001中,地址信息調(diào)查單元0011通過通信單元0014發(fā)送含 有地址信息調(diào)查請求包的發(fā)送源端口號即路由器101的端口號"GP11"的 地址信息調(diào)查響應(yīng)包(步驟S1102)。
裝置10使已在步驟S1102中取得的端口號"GP11"為用以決定點(diǎn)對點(diǎn) 通信端口號的基準(zhǔn)端口號。
同樣,裝置20對在NAT特性調(diào)查階段及準(zhǔn)備階段中的處理加以省略, 并取得用以決定點(diǎn)對點(diǎn)通信端口號的基準(zhǔn)端口號"GP21"(步驟S1103 S1104)。
此外,雖然在圖11中,為了便于圖示,而使裝置IO先發(fā)送地址信息 調(diào)查請求,但是也可以使裝置20先發(fā)送地址信息調(diào)查請求。g卩,只要在進(jìn) 行信息交換階段之前完成的話,可以以任意順序及時(shí)間來進(jìn)行裝置10及20 的地址信息調(diào)査請求。<信息交換階段>
其次,裝置20將含有路由器201的點(diǎn)對點(diǎn)通信端口號的NAT信息通 知包發(fā)送給服務(wù)器OOl(步驟S1105)。在圖11的例子中,由于路由器201 具有Cone NAT特性,因此在NAT信息通知中將已在步驟S1104中取得的 基準(zhǔn)端口號"GP21"包含為點(diǎn)對點(diǎn)通信端口號。
其次,在服務(wù)器001中,中繼信息轉(zhuǎn)送單元0013在接收到從裝置20 發(fā)送來的NAT信息通知包時(shí),通過通信單元0014將所接收到的NAT信息 通知包轉(zhuǎn)送給裝置IO(步驟S1106)。
同樣,在裝置10中,中繼信息發(fā)送單元1005將含有路由器101的點(diǎn) 對點(diǎn)通信端口號的NAT信息通知包發(fā)送給服務(wù)器OOl(步驟S1107)。在圖 ll的例子中,由于路由器101具有Symmetric NAT,因此在NAT信息通知 中將對已在步驟S1102中取得的基準(zhǔn)端口號"GP11"、和在上次NAT特性 調(diào)查階段中存儲在存儲單元中的端口號分配間隔Al進(jìn)行相加之后的值 "GP11+A1"包含為點(diǎn)對點(diǎn)通信端口號。
其次,在服務(wù)器OOl中,中繼信息轉(zhuǎn)送單元0013在接收到從裝置10 發(fā)送來的NAT信息通知包時(shí),通過通信單元0014將所接收到的NAT信息 通知包轉(zhuǎn)送給裝置20(步驟S1108)。
此外,在本實(shí)施方式中,裝置20比裝置IO先發(fā)送了NAT信息通知包, 也可以使裝置10比裝置20先發(fā)送NAT信息通知包。
如圖11的例子所示,當(dāng)路由器101及路由器201都不是Port Reuse時(shí), 必須進(jìn)行基準(zhǔn)端口號取得階段(步驟S1101 S1104)。不過,在裝置10及20 所存儲的NAT特性是PortReuse時(shí),能夠在后續(xù)處理中較容易地預(yù)測路由 器101及201打開的端口號。因此,裝置10及20只要對基準(zhǔn)端口號取得 階段加以省略,進(jìn)入信息交換階段,并發(fā)送含有自己預(yù)定用于點(diǎn)對點(diǎn)通信 的端口號"LP4"的NAT信息通知即可。
<連接階段>
裝置10的通信控制單元1007取得路由器201的點(diǎn)對點(diǎn)通信端口號 "GP21 "。通信控制單元1007通過通信單元1008將"LP1"被設(shè)定為發(fā)送 源端口號,且"GP21"被設(shè)定為接收方端口號的點(diǎn)對點(diǎn)開始請求包發(fā)送給 路由器201(步驟S1109)。在圖11的例子中,由于路由器101具有Symmetric
51NAT特性,因此對從裝置10發(fā)送來的包分配端口號"GP11+A1"(其中,Al 是路由器101的端口分配間隔)。
此外,在本實(shí)施方式中,對發(fā)送源端口號設(shè)定了 "LP1",但是當(dāng)路由 器101具有Symmetric NAT特性時(shí),也可以設(shè)定任意端口號。此時(shí)是因?yàn)?能夠認(rèn)為從任意端口號發(fā)送來的點(diǎn)對點(diǎn)開始請求包的發(fā)送源端口號是由路 由器101轉(zhuǎn)換為"GP11+A1"之故。
當(dāng)在步驟S1109中點(diǎn)對點(diǎn)開始請求包被發(fā)送的時(shí)刻,路由器201未將 NAT設(shè)定為向裝置20轉(zhuǎn)送"GP21"被設(shè)定為接收方端口號的包。因此, 路由器201廢棄所接收到的點(diǎn)對點(diǎn)開始請求包,不將該包轉(zhuǎn)送給裝置20。 另一方面,路由器101通過轉(zhuǎn)送點(diǎn)對點(diǎn)開始請求包,來將NAT設(shè)定為向裝 置IO(IPLI、 LP1)轉(zhuǎn)送(IPG1、 GP11+A1)被設(shè)定為接收方,且"GP21"被設(shè) 定為發(fā)送源端口號的包。
另一方面,裝置20在信息交換階段中取得含有路由器101的點(diǎn)對點(diǎn)通 信端口號"GP11+A1"的NAT特性信息。裝置20發(fā)送"LP1"被設(shè)定為發(fā) 送源端口號,且"GP11+A1"被設(shè)定為接收方端口號的點(diǎn)對點(diǎn)開始請求包(步 驟SlllO)。
路由器101將從裝置20發(fā)送來的點(diǎn)對點(diǎn)開始請求包轉(zhuǎn)送給裝置10。裝 置IO在接收到由路由器101轉(zhuǎn)送來的點(diǎn)對點(diǎn)開始請求包時(shí),將點(diǎn)對點(diǎn)開始 響應(yīng)包發(fā)送給裝置20(步驟Sllll)。
此外,在2P通信路徑確定階段(步驟S1109 S1111)中,當(dāng)不成功確定 裝置10及20的點(diǎn)對點(diǎn)通信路徑時(shí),只要使裝置10及20分別從NAT特性 調(diào)査階段開始再次重復(fù)進(jìn)行連接處理即可。
(第三實(shí)施方式)
在第三實(shí)施方式中,對于利用安裝了作為一種通用協(xié)議的會(huì)話啟動(dòng)協(xié) 議(SIP: Session Initiation Protocol: RFC3261, RFC3581)的1臺SIP服務(wù)器
來實(shí)現(xiàn)本發(fā)明所涉及的通信系統(tǒng)的例子進(jìn)行說明。
圖12是表示本發(fā)明的第三實(shí)施方式所涉及的通信系統(tǒng)的整個(gè)結(jié)構(gòu)的方 框圖。
與第一實(shí)施方式(圖l)一樣,私人網(wǎng)絡(luò)01及02分別通過具有全球IP 地址"IPG1"的路由器101及具有全球IP地址"IPG2"的路由器201連接
52在全球網(wǎng)00上。此外,具有全球IP地址"IPS",并在全球網(wǎng)oo上開放有 端口號"SP1"的SIP服務(wù)器300連接在全球網(wǎng)00上。并且,具有本地IP 地址"IPL1"的裝置10連接在私人網(wǎng)絡(luò)01上,具有本地IP地址"IPL2" 的裝置20連接在私人網(wǎng)絡(luò)02上。
此外,SIP服務(wù)器300除了具有SIP協(xié)議處理能力之外,還具有與第一 實(shí)施方式所涉及的服務(wù)器001 —樣的結(jié)構(gòu)(圖2C)及功能。裝置10及20是 利用SIP協(xié)議,通過SIP服務(wù)器300來進(jìn)行用于點(diǎn)對點(diǎn)通信的呼叫控制(call control)的裝置(例如IP電話等),具有與第一實(shí)施方式所涉及的裝置10及 20—樣的結(jié)構(gòu)(圖2A及圖2B)及功能。因此,對與裝置IO、 20及SIP服務(wù) 器300的結(jié)構(gòu)有關(guān)的詳細(xì)說明加以省略。
圖13是表示為了確定點(diǎn)對點(diǎn)通信路徑而進(jìn)行發(fā)送/接收的包、與SIP 消息的對應(yīng)關(guān)系的圖。
在本實(shí)施方式中,裝置10及20利用SIP消息,來對點(diǎn)對點(diǎn)確定通信 路徑所需的信息(例如、IP地址和/或端口號)進(jìn)行交換。不過,裝置10及 20直接交換的消息并不被特別限定,也可以是SIP消息,也可以是非SIP 消息。
以下,參照圖13對在本實(shí)施方式所涉及的通信系統(tǒng)中進(jìn)行發(fā)送/接收的 消息No. 1 12依次進(jìn)行說明。
(消息No. 1:地址信息調(diào)查請求)
在本實(shí)施方式中,裝置10及20向服務(wù)器所發(fā)送的地址信息調(diào)査請求 (圖4A的步驟S401、S403及S406)是用SIP中的OPTIONS請求、UPDATE 請求及MESSAGE請求的任意一個(gè)來實(shí)現(xiàn)的。在以下的例子中,對于利用 OPTIONS請求將地址信息調(diào)査請求發(fā)送給服務(wù)器的情況進(jìn)行說明。圖14 表示OPTIONS請求的消息格式例。
(消息No. 2:地址信息調(diào)査響應(yīng))
從服務(wù)器分別送回給裝置10及20的地址信息調(diào)查響應(yīng)(圖4A的步驟 S402、S404及S407)是用SIP中的200 OK響應(yīng)來實(shí)現(xiàn)的。圖15表示200 OK 響應(yīng)的消息格式例。
(消息No. 3:點(diǎn)對點(diǎn)通信準(zhǔn)備)
由于從裝置10向裝置20,或從裝置20向裝置10發(fā)送的點(diǎn)對點(diǎn)準(zhǔn)備包
53(圖4A的步驟S405)是沒有經(jīng)由服務(wù)器而發(fā)送的,因此不需要利用SIP的呼 叫控制消息。因此,點(diǎn)對點(diǎn)準(zhǔn)備包只要包括任意格式的消息即可,對該圖 示加以省略。
(消息No. 4: NAT信息通知)
從服務(wù)器分別送回給裝置10及20的NAT信息通知(圖6的步驟S601 及S602)是用SIP中的INVITE請求來實(shí)現(xiàn)的。圖16表示INVITE請求的消 息格式例。
(消息No. 5)
消息No. 5是從裝置10向服務(wù)器,或從服務(wù)器向裝置20通知在呼叫 控制中"正在試行"的情況的100 Trying響應(yīng)。不過,該消息不是本實(shí)施 方式所涉及的系統(tǒng)為了確定點(diǎn)對點(diǎn)通信路徑而使用的消息。此外,對消息 格式的圖示加以省略。
(消息No. 6: NAT信息通知) .從裝置10向服務(wù)器,或從服務(wù)器向裝置20發(fā)送的NAT信息通知(圖6 的步驟S603及S604)是用SIP中的183 Session Progress響應(yīng)來實(shí)現(xiàn)的。圖 17表示183 Session Progress響應(yīng)的消息格式。
(消息No. 7:點(diǎn)對點(diǎn)開始請求)
由于從裝置10發(fā)送給裝置20的點(diǎn)對點(diǎn)開始請求(圖7的步驟S701、圖 8的步驟S801、圖9的步驟S901、圖10的步驟S1001)是沒有經(jīng)由服務(wù)器 而發(fā)送的,因此可以不是SIP的呼叫控制消息。即,點(diǎn)對點(diǎn)開始請求只要 是任意格式的消息即可,對該圖示加以省略。
(消息No. 8:點(diǎn)對點(diǎn)開始請求)
從裝置20向裝置10發(fā)送的點(diǎn)對點(diǎn)開始請求(圖7的步驟S702、圖8的 步驟S802、圖9的S步驟902、圖10的步驟S1002)不是經(jīng)由服務(wù)器而發(fā)送 的消息。因此,從裝置20發(fā)送給裝置10的點(diǎn)對點(diǎn)開始請求不一定必須是 SIP消息,只要是任意格式的消息即可。
(消息No. 9:點(diǎn)對點(diǎn)開始響應(yīng))
從裝置10發(fā)送給裝置20的點(diǎn)對點(diǎn)開始響應(yīng)(圖7的步驟S703、圖8的 步驟S803、圖9的步驟S903、圖10的步驟S1003)不是經(jīng)由服務(wù)器而發(fā)送 的消息。因此,從裝置10發(fā)送給裝置20的點(diǎn)對點(diǎn)開始響應(yīng)不一定必須是
54SIP消息,只要是任意格式的消息即可。 (消息No. 10)
消息No. 10是從裝置20向服務(wù)器,或從服務(wù)器向裝置10通知在呼叫 控制中"正在呼叫"的情況的180 Ringing響應(yīng)。不過,該消息不是本實(shí)施 方式所涉及的系統(tǒng)為了確定點(diǎn)對點(diǎn)通信路徑而使用的消息。此外,對消息 格式的圖示加以省略。
(消息No. 11)
消息No. 11是從裝置10向服務(wù)器,或從服務(wù)器向裝置20通知在呼叫 控制中"請求成功"的情況的200OK響應(yīng)。不過,該消息不是本實(shí)施方式 所涉及的系統(tǒng)為了確定點(diǎn)對點(diǎn)通信路徑而使用的消息。此外,對消息格式 的圖示加以省略。
(消息No. 12)
消息No. 12是從裝置20向服務(wù)器,或從服務(wù)器向裝置10通知在呼叫 控制中"確定會(huì)話(點(diǎn)對點(diǎn)通信路徑)"的情況的ACK請求。不過,該消息 不是本實(shí)施方式所涉及的系統(tǒng)為了確定點(diǎn)對點(diǎn)通信路徑而使用的消息。此 外,對消息格式的圖示加以省略。
此外,圖13所示的消息的對應(yīng)關(guān)系只不過是例示而已。執(zhí)行本發(fā)明所 涉及的點(diǎn)對點(diǎn)通信路徑的確定方法所需的信息(上述消息No. 1、 2、 4及 6)也可以是利用通過SIP規(guī)定的其他消息來進(jìn)行發(fā)送/接收的。
以下,同時(shí)參照圖14 圖19,對于用以使本實(shí)施方式所涉及的裝置10 及20用SIP協(xié)議來調(diào)查路由器101及201的NAT特性,并且確定點(diǎn)對點(diǎn) 通信路徑的控制連接序列進(jìn)行說明。
<NAT特性調(diào)査階段及準(zhǔn)備階段>
圖18是表示利用了 SIP協(xié)議的NAT特性調(diào)査階段及準(zhǔn)備階段中的處 理的詳細(xì)情況的序列圖。
首先,裝置10將OPTIONS請求包1發(fā)送給SIP服務(wù)器300(步驟S2401)。 更詳細(xì)地說,地址信息調(diào)查請求發(fā)送單元1001制作OPTIONS請求包1, 在該OPTIONS請求包1中,對發(fā)送源端口號和接收方端口號分別設(shè)定了裝 置10的端口號"LP1"和SIP服務(wù)器300的端口號"SP1",并且在數(shù)據(jù)單 元中插入了 SIP的OPTIONS請求消息。此時(shí),如圖14所示,對于OPTIONS請求消息的"Via報(bào)頭",設(shè)定"rport
參數(shù)"。Via報(bào)頭是用以記載請求所到達(dá)的路徑及對請求進(jìn)行路由時(shí)所經(jīng)過 的路徑的報(bào)頭,根據(jù)其中是否記載有rport參數(shù),使SIP服務(wù)器300能夠識
別出所接收到的包是地址信息調(diào)査請求。
其次,SIP服務(wù)器300響應(yīng)從裝置10發(fā)送來的OPTIONS請求包1,將 200 OK響應(yīng)1送回給裝置(步驟S2402)。更詳細(xì)地說,通信單元0014接收 OPTIONS請求包1,并將所接收到的包轉(zhuǎn)送給地址信息調(diào)查單元0011。
由于給予Via報(bào)頭的"sent by參數(shù)"的IP地址(在圖14的例子中, "IPL1))、和轉(zhuǎn)送來的包的發(fā)送源IP地址不同,因此地址信息調(diào)査單元0011 參照轉(zhuǎn)送來的包的報(bào)頭,取出發(fā)送源IP地址即路由器lOl的IP地址"IPGl"。 此外,由于rport參數(shù)被指定給Via報(bào)頭,因此地址信息調(diào)查單元0011參 照轉(zhuǎn)送來的包的報(bào)頭,取出發(fā)送源端口號即由路由器101設(shè)定了的端口號 "GP11"。地址信息調(diào)査單元0011將取出的發(fā)送源IP地址及發(fā)送源端口號 (IPG1、 GP11)輸出給地址信息發(fā)送單元0012。
地址信息發(fā)送單元0012生成200 OK響應(yīng)1,并將所生成的包輸出給 通信單元0014,該200 OK響應(yīng)包1在數(shù)據(jù)單元中含有從地址信息調(diào)査單 元0011那里接收到的路由器101的IP地址及端口號(IPG1、 GPll)。更詳 細(xì)地說,如圖15所示,地址信息發(fā)送單元0012將200 OK響應(yīng)包1發(fā)送給 路由器101,該200 OK響應(yīng)包1將消息插入數(shù)據(jù)單元中,該消息是在200 OK 消息的格式中,對"received參數(shù)"記載路由器101的IP地址"IPG1",對 "rport參數(shù)"記載路由器101的端口號"GP11",并且,追加附加了 SIP 服務(wù)器的地址信息的"Via報(bào)頭"的消息。
路由器101將從地址信息發(fā)送單元0012那里接收到的包轉(zhuǎn)送給裝置 10。此外,在裝置10中,當(dāng)通信單元1008接收到200 OK響應(yīng)包1時(shí),將 所接收到的包轉(zhuǎn)送給地址信息接收單元1002。
其次,裝置10將OPTIONS請求包2發(fā)送給服務(wù)器OOl(步驟S2403)。 更詳細(xì)地說,地址信息調(diào)査請求發(fā)送單元1001對于將裝置10的端口號 "LP2"設(shè)定為發(fā)送源端口號,且將SIP服務(wù)器300的端口號"SP1"設(shè)定 為接收方端口號的OPTIONS請求包2進(jìn)行發(fā)送。與OPTIONS請求包1 一 樣,對于OPTIONS請求包2的Via報(bào)頭設(shè)定"rport參數(shù)"。其次,SIP服務(wù)器300響應(yīng)從裝置10發(fā)送來的OPTIONS請求包2,并 將200 OK響應(yīng)包2送回給裝置(步驟S2404)。更詳細(xì)地說,通信單元0014 接收OPTIONS請求包2,并將所接收到的包轉(zhuǎn)送給地址信息調(diào)查單元0011 。 地址信息調(diào)查單元0011參照轉(zhuǎn)送來的包的報(bào)頭,取出發(fā)送源IP地址及端 口號即路由器101的IP地址及端口號(IPG1、 GP12),并將該取出的IP地 址及端口號(IPG1、 GP12)輸出給地址信息發(fā)送單元0012。
地址信息發(fā)送單元0012生成200 OK響應(yīng)包2,并將所生成的包輸出 給通信單元0014,該200 OK響應(yīng)包2在數(shù)據(jù)單元中含有從地址信息調(diào)査 單元0011那里接收到的路由器101的IP地址及端口號(IPG1、 GP12)。更 詳細(xì)地說,如圖15所示,將200 OK響應(yīng)包2發(fā)送給路由器101,該200 OK 響應(yīng)包2將消息插入數(shù)據(jù)單元中,該消息是在200 OK消息的格式中,對 "received參數(shù)"記載路由器101的IP地址"IPG1",對"rport參數(shù)"記 載路由器101的端口號"GP12",并且,追加含有SIP服務(wù)器的地址信息的 "Via報(bào)頭"的消息。
路由器101通信單元0014將從地址信息發(fā)送單元0012那里接收到的 包轉(zhuǎn)送給裝置10。此外,在裝置10中,當(dāng)通信單元1008接收到200 OK 響應(yīng)包2時(shí),將所接收到的包轉(zhuǎn)送給地址信息接收單元1002。
其次,裝置10將點(diǎn)對點(diǎn)通信準(zhǔn)備包發(fā)送給裝置20(步驟S2405)。更詳 細(xì)地說,裝置10為了在路由器101上準(zhǔn)備對具有與服務(wù)器不同的IP地址 的裝置20分配的端口號"GP13",將包發(fā)送給路由器101,在該包中,裝 置10的端口號"LP1"被設(shè)定為發(fā)送源端口號,且使裝置20的IP地址及 端口號作為接收方。
其次,裝置10將OPTIONS請求包3發(fā)送給服務(wù)器OOl(步驟S2406)。 更詳細(xì)地說,地址信息調(diào)查請求發(fā)送單元1001將裝置10的端口號"LP3" 被設(shè)定為發(fā)送源端口號,且SIP服務(wù)器300的端口號"SP1"被設(shè)定為接收 方端口號的包作為OPTIONS請求包3來發(fā)送。與OPTIONS請求包1及2 一樣,在OPTIONS請求包3的Via報(bào)頭上給予了 "rport參數(shù)"。
SIP服務(wù)器300響應(yīng)從裝置10發(fā)送來的OPTIONS3,將200 OK響應(yīng)3 送回給裝置IO(步驟S2407)。更詳細(xì)地說,通信單元0014接收地址信息調(diào) 查請求包3,并所接收到的包轉(zhuǎn)送給地址信息調(diào)查單元0011。地址信息調(diào)
57查單元0011參照轉(zhuǎn)送來的包的報(bào)頭,將發(fā)送源IP地址及端口號即路由器
101的IP地址及端口號(IPG1、 GP14)輸出給地址信息發(fā)送單元0012。
地址信息發(fā)送單元0012生成200 0K響應(yīng)包3,并將所生成的包輸出 給通信單元0014,該200 OK響應(yīng)包3在數(shù)據(jù)單元中含有從地址信息調(diào)査 單元那里接收到的路由器101的IP地址及端口號(IPG1、 GP14)。更詳細(xì)地 說,將200 OK響應(yīng)包3發(fā)送給路由器101,該200 OK響應(yīng)包3將消息插 入數(shù)據(jù)單元中,該消息是在圖15所示的200 OK消息的格式中,對"received 參數(shù)"記載路由器101的IP地址"IPG1",對"rport參數(shù)"記載路由器101 的端口號"GP14",并且,追加含有SIP服務(wù)器的地址信息的"Via報(bào)頭" 的消息。
路由器101通信單元0014將從地址信息發(fā)送單元0012那里接收到的 包轉(zhuǎn)送給裝置10。此外,在裝置10中,通信單元1008在接收到200 OK 響應(yīng)包3時(shí),將所接收到的包轉(zhuǎn)送給地址信息接收單元1002。
其次,裝置10根據(jù)200 OK響應(yīng)包1 3,來判斷路由器101的NAT 特性(步驟S2408)。更詳細(xì)地說,在裝置10中,中繼特性判斷單元1004根 據(jù)包含在200 OK響應(yīng)包1 3中的路由器101的3個(gè)端口號"GP11 "、"GP12" 及"GP14",按照在第一實(shí)施方式中的圖4B的處理流程來判斷路由器101 的NAT特性。
裝置20按照與圖18—樣的順序,來調(diào)查路由器201的NAT特性,對 路由器2 01準(zhǔn)備用于點(diǎn)對點(diǎn)通信的端口 。
此外,裝置10所發(fā)送的包的接收方端口號最好是實(shí)際上路由器201使 用的端口號(例如,當(dāng)裝置20與SIP服務(wù)器300進(jìn)行通信時(shí),路由器201 分配給裝置20的包的端口號)。這是因?yàn)楫?dāng)路由器201具有侵入檢測功能 時(shí),若從裝置10那里接收點(diǎn)對點(diǎn)通信準(zhǔn)備包的話,有可能將該包錯(cuò)誤地檢 測為非法進(jìn)入包的緣故,其中,在該點(diǎn)對點(diǎn)通信準(zhǔn)備包中,路由器201在 通信中沒有使用的端口號被設(shè)定為接收方端口號。當(dāng)路由器201檢測出非 法訪問包時(shí),由于廢棄從裝置10發(fā)送來的后續(xù)的所有包,因此會(huì)有裝置10 與裝置20不能進(jìn)行通信的可能性。
或者,裝置10對該包的TTL(TimeToLive)值進(jìn)行調(diào)整,以使點(diǎn)對點(diǎn)通 信準(zhǔn)備包不到達(dá)路由器201。裝置IO發(fā)送點(diǎn)對點(diǎn)通信準(zhǔn)備包是為了對連接
58有自身的路由器101準(zhǔn)備用以與裝置20進(jìn)行點(diǎn)對點(diǎn)通信的端口號,點(diǎn)對點(diǎn) 通信準(zhǔn)備包并不一定要到達(dá)路由器201。于是,裝置IO只要調(diào)整TTL值, 以使點(diǎn)對點(diǎn)通信準(zhǔn)備包到達(dá)路由器101,且不到達(dá)路由器201即可。
在步驟S2405中,路由器101將NAT設(shè)定為能夠接收從裝置20通過 路由器201發(fā)送給路由器101(IPG1、 GP13)的包。路由器101對NAT進(jìn)行 設(shè)定的方法因NAT特性(圖23A 圖23E)而不同,在此對其說明加以省略。
此外,在本實(shí)施方式中,在發(fā)送OPTIONS請求包2之后再發(fā)送點(diǎn)對點(diǎn) 通信準(zhǔn)備包,點(diǎn)對點(diǎn)通信準(zhǔn)備包的發(fā)送時(shí)機(jī)并不限于此。更詳細(xì)地說,只 要在發(fā)送OPTIONS請求包3之前發(fā)送點(diǎn)對點(diǎn)通信準(zhǔn)備包即可,也可以接著 OPTIONS請求包l進(jìn)行發(fā)送。此外,點(diǎn)對點(diǎn)通信準(zhǔn)備包的發(fā)送源端口號不 一定必須是"LP1",只要是與OPTIONS請求包1 3的發(fā)送源端口號 "LP1" "LP3"中的任意一個(gè)相同即可。
并且,在圖18中,為了便于說明,同時(shí)示出了NAT特性調(diào)査階段(步 驟S2401 S2404、步驟S2406 S2408)、和準(zhǔn)備階段(步驟S2405),也可以 將NAT特性調(diào)査階段和準(zhǔn)備階段分開表示。
并且,NAT特性調(diào)查階段及準(zhǔn)備階段不一定必須按照本實(shí)施方式所示 的順序來執(zhí)行。因此,只要在后續(xù)信息交換階段之前完成NAT特性調(diào)査階 段及準(zhǔn)備階段的話,則裝置10及20也可以按照與本實(shí)施方式不同的順序 來執(zhí)行各個(gè)步驟。
<信息交換階段及點(diǎn)對點(diǎn)通信路徑確定階段>
圖19是表示用以使本發(fā)明的第三實(shí)施方式所涉及的通信系統(tǒng)確定點(diǎn)對 點(diǎn)通信路徑的控制處理的序列圖。作為一個(gè)例子,在圖19中表示有當(dāng)路由 器101是Symmetric NAT,且路由器202是Cone NAT時(shí)的序列。
圖19所示的步驟S2501 S2502和步驟S2505 S2506相當(dāng)于第一實(shí)施 方式所涉及的信息交換階段(圖6)。此外,圖19的步驟S2507 S2509相當(dāng) 于第一實(shí)施方式所涉及的點(diǎn)對點(diǎn)通信路徑確定階段(圖9A)。圖19所示的步 驟S2503 S2504和步驟S2510 S2515是SIP協(xié)議的一般序列,在本發(fā)明 所涉及的點(diǎn)對點(diǎn)通信路徑的確定方法中沒有特別規(guī)定。
以下,參照圖19,對于表示在使用了 SIP協(xié)議的信息交換階段及點(diǎn)對 點(diǎn)通信路徑確定階段中的處理的詳細(xì)情況的序列進(jìn)行說明。
59如上所述,在信息交換階段中,各個(gè)裝置根據(jù)連接有自身的路由器的
NAT特性來決定路由器的點(diǎn)對點(diǎn)通信端口號,并將所決定的端口號通知給
服務(wù)器。為了點(diǎn)對點(diǎn)通信而設(shè)定在路由器的端口號是按照在第一實(shí)施方式 中說明的順序來決定的。
首先,裝置20將連接有自身的路由器201的點(diǎn)對點(diǎn)通信端口號通知給 SIP服務(wù)器300(步驟S2501)。更詳細(xì)地說,由于在NAT特性調(diào)査階段中判 斷出路由器201的NAT特性是Cone NAT,因此中繼信息發(fā)送單元2005生 成INVITE請求包,該INVITE請求包在數(shù)據(jù)單元中將端口號"GP21"包 含為點(diǎn)對點(diǎn)通信端口號。
此吋,中繼信息發(fā)送單元2005在圖16所示的INVITE請求消息中, 在消息主體(SDP: Session Description Protocol)的"o參數(shù)"或"c參數(shù)"中 的一方或兩者上,記載路由器201的IP地址"IPG2",在"m參數(shù)"上記 載路由器201的點(diǎn)對點(diǎn)通信端口號"GP21"。中繼信息發(fā)送單元2005通過 通信單元2008將所生成的INVITE請求包發(fā)送給SIP服務(wù)器300。
SIP服務(wù)器300在接收到INVITE請求包時(shí),將所接收到的INVITE請 求包轉(zhuǎn)送給裝置10(步驟S2502)。更詳細(xì)地說,在SIP服務(wù)器300中,中繼 信息轉(zhuǎn)送單元0013通過通信單元0014接收從裝置20發(fā)送來的INVITE請 求包,并通過通信單元0014將所接收到的INVITE請求包發(fā)送給裝置10。
接收到INVITE請求的裝置10為了將"處于試行狀態(tài)"通知給裝置20, 而經(jīng)由SIP服務(wù)器300將100 Trying響應(yīng)(未圖示消息格式)包發(fā)送給裝置 20(步驟S2503及S2504)。
其次,裝置IO將連接有自身的路由器101的點(diǎn)對點(diǎn)通信端口號通知給 SIP服務(wù)器300(步驟S2505)。更詳細(xì)地說,由于在NAT特性調(diào)査階段中判 斷出路由器101的NAT特性是SymmetricNAT,因此中繼信息發(fā)送單元1005 生成183 Session Progress響應(yīng)包,該183 Session Progress響應(yīng)包在數(shù)據(jù)單 元中將端口號"GP14+A1"包含為點(diǎn)對點(diǎn)通信端口號。
此時(shí),中繼信息發(fā)送單元1005在圖17所示的183 Session Progress響 應(yīng)消息中,在消息主體(SDP)的"o參數(shù)"或"c參數(shù)"中的一方或兩者上, 記載路由器101的IP地址"IPG1",在"m參數(shù)"上記載路由器101的點(diǎn) 對點(diǎn)通信端口號"GP14+A1"。中繼信息發(fā)送單元1005通過通信單元1008
60將所生成的183 SessionProgress響應(yīng)包發(fā)送給SIP服務(wù)器300。
SIP服務(wù)器300在接收到183 SessionProgress響應(yīng)包時(shí),將所接收到的 183 Session Progress響應(yīng)包轉(zhuǎn)送給裝置20(步驟S2506)。更詳細(xì)地說,在 SIP服務(wù)器300中,中繼信息轉(zhuǎn)送單元0013通過通信單元0014接收從裝置 10發(fā)送來的183 Session Progress響應(yīng)包,并通過通信單元0014將所接收 到的183 SessionProgress響應(yīng)包發(fā)送給裝置20。
此外,在本實(shí)施方式中,裝置20先發(fā)送了 INVITE請求包,也可以使 裝置10先發(fā)送INVITE請求包。此時(shí),裝置20對100 Trying響應(yīng)和183 Session Progress響應(yīng)包進(jìn)行發(fā)送。
裝置10在信息交換階段的步驟S2501及S2502中從裝置20那里接收 到INVITE請求包時(shí),根據(jù)記載在消息主體(SDP)上的信息,來把握連接有 裝置20的路由器201的點(diǎn)對點(diǎn)通信端口號。在圖19的例子中,由于路由 器201具有ConeNAT特性,因此在SDP的"m參數(shù)"上記載有"GP21" 作為路由器201的點(diǎn)對點(diǎn)通信端口號。另一方面,由于路由器101具有 Symmetric NAT特性,因此在步驟S2505及S2506中,裝置10將"GP14+A1" 作為路由器101的點(diǎn)對點(diǎn)通信端口號通知給裝置20。
于是,裝置10的通信控制單元1007將"LP4"被設(shè)定為發(fā)送源端口號, 且"GP21"被設(shè)定為接收方端口號的包作為點(diǎn)對點(diǎn)開始請求來發(fā)送(步驟 S2507)。
在該階段中,由于路由器201未將NAT設(shè)定為對從裝置10發(fā)送來的 接收方端口號被設(shè)定為"GP21"的包進(jìn)行轉(zhuǎn)送,因此路由器201廢棄在步 驟S2505中發(fā)送了的點(diǎn)對點(diǎn)開始請求包,不將其轉(zhuǎn)送給裝置20。在該階段 中,路由器101將NAT設(shè)定為把路由器201的端口號"GP21"被設(shè)定為發(fā) 送源端口號,且(IPG1、 GP14+A1)被設(shè)定為接收方IP地址及接收方端口號 的包轉(zhuǎn)送給裝置10(IPL1、 LP1)。
另一方面,裝置20根據(jù)在信息交換階段中從裝置10通知來的信息, 取得連接有裝置10的路由器101的點(diǎn)對點(diǎn)通信端口號。通信控制單元2007 將與"GP21"相對應(yīng)的"LP1"被設(shè)定為發(fā)送源端口號,且"GP14+A1" 被設(shè)定為接收方端口號的包作為點(diǎn)對點(diǎn)開始請求來發(fā)送(步驟S2508)。
路由器101將從裝置20發(fā)送來的點(diǎn)對點(diǎn)開始請求包轉(zhuǎn)送給裝置10。在
61裝置10中,通信控制單元1007響應(yīng)從路由器101轉(zhuǎn)送來的點(diǎn)對點(diǎn)開始請 求包,通過通信單元1008將點(diǎn)對點(diǎn)開始響應(yīng)包發(fā)送給裝置20(步驟S2509)。 發(fā)送了點(diǎn)對點(diǎn)開始響應(yīng),確定了點(diǎn)對點(diǎn)通信路徑的裝置IO為了將"處 于呼叫狀態(tài)(例如電話鈴正響著的狀態(tài))"通知給裝置20,經(jīng)由SIP服務(wù)器 300將180 Ringing響應(yīng)(未圖示消息格式)包發(fā)送給裝置20(步驟S2510 S2511》
之后,在裝置10的用戶接了電話之后,裝置10為了通知從"處于呼 叫狀態(tài)"變成了 "完成呼叫狀態(tài)(用戶接了電話之后的狀態(tài))"的情況,經(jīng) 由SIP服務(wù)器300將200 OK響應(yīng)(未圖示消息格式)包發(fā)送給裝置20(步驟 S2512及S2513)。
裝置20在從SIP服務(wù)器300那里接收到200 OK響應(yīng)包時(shí),為了將"呼 叫確定狀態(tài)"通知給裝置10,經(jīng)由SIP服務(wù)器300將ACK請求(未圖示消 息格式)包發(fā)送給裝置IO(步驟S2514及S2515)。
在步驟.S2515之后,能夠在裝置10與裝置20之間進(jìn)行例如IP電話的 通話等的點(diǎn)對點(diǎn)通信。
此外,在本實(shí)施方式中,對發(fā)送源端口號設(shè)定了 "LP4",但是當(dāng)路由 器的特性是Symmetric NAT時(shí),也可以設(shè)定在步驟S405中發(fā)送了點(diǎn)對點(diǎn)通 信準(zhǔn)備包的端口號"LP1"以外的任意端口號。更詳細(xì)地說,在路由器IOI 是AS Symmetric NAT時(shí),由于從"LP1"發(fā)送來的點(diǎn)對點(diǎn)開始請求包被發(fā) 送給與在步驟S2405中的接收方地址一樣的接收方,因此分配"GP13"。 此外,當(dāng)路由器201具有PSSymmetricNAT特性時(shí),能夠認(rèn)為從任意端口 號發(fā)送來的點(diǎn)對點(diǎn)開始請求包的發(fā)送源端口號由路由器101轉(zhuǎn)換為 "GP14+A1"。這樣一來,由于不管是AS及PS中的哪個(gè)Symmetric NAT, 都分配"GP14+A1",因此必須設(shè)定"LP1"以外的端口號。
此外,本實(shí)施方式所涉及的信息通知階段及點(diǎn)對點(diǎn)通信路徑確定階段 只不過是一個(gè)例子,也可以采用與圖19所示的例子不同的SIP消息及序列。 例如,也可以對S2505 S2506的183 Session Progress響應(yīng)加以省略。此時(shí), 將表示NAT信息通知的圖17的消息主體(SDP)插入S2503 S2504的100 Trying響應(yīng)的數(shù)據(jù)單元中。此外,例如,也可以在步驟S2501 S2502所示 的INVITE請求之后,通過發(fā)送S2510 S2511的180 Ringing響應(yīng)來代替
62S2505 S2506的183 Session Progress響應(yīng)。此時(shí),將表示NAT信息通知 的圖17的消息主體(SDP)插入S2510 S2511的180 Ringing響應(yīng)的數(shù)據(jù)單 元中。另外,能夠按照各種各樣的序列,來實(shí)現(xiàn)本實(shí)施方式所涉及的點(diǎn)對 點(diǎn)通信路徑的確定方法。
此外,圖14 圖17所示的消息格式是含有最低限度的必要報(bào)頭的例 子,也可以還包括其他選擇報(bào)頭、參數(shù)等。
在上述各個(gè)實(shí)施方式中,為了簡化說明,對路由器201具有Cone NAT 特性的情況進(jìn)行了說明。不過,在路由器201具有Cone NAT以外的NAT 特性時(shí),也同樣可以適用本發(fā)明。以下,對于能夠?qū)⒈景l(fā)明適用于路由器 101及201的NAT特性的所有組合中的情況進(jìn)行簡單說明。
圖20A是在信息交換階段中,以兩個(gè)路由器的NAT特性的組合為單位,
表示各個(gè)路由器所通知的點(diǎn)對點(diǎn)端口號的組合的表。
圖20A所示的(a) (c)分別與上述圖6有關(guān)的說明所示的項(xiàng)目(a) (c) 相對應(yīng)。例如,當(dāng)路由器101是ConeNAT,且路由器201是Symmetric NAT 時(shí),連接在路由器101上的裝置10用NAT信息通知來將(a)的信息通知給 裝置20,裝置20用NAT信息通知來將(b)的信息通知給裝置10。
圖20B是在點(diǎn)對點(diǎn)通信路徑確定階段中,以兩個(gè)路由器的NAT特性的 組合為單位,表示連接在各個(gè)路由器上的裝置所執(zhí)行的處理的組合的表。
圖20B所示的(e)、 (f)及(g)相當(dāng)于圖8的裝置10的處理、圖9的裝置 10的處理及圖10的裝置10的處理。例如,當(dāng)路由器101是Cone NAT, 且路由器201是Symmetric NAT時(shí),能夠通過連接在路由器101上的裝置 10執(zhí)行(e)的處理(與圖8的裝置10 —樣的處理),連接在路由器201上的裝 置20執(zhí)行(f)的處理(與圖10的裝置10 —樣的處理),來確定點(diǎn)對點(diǎn)通信路 徑。
此外,在上述各個(gè)實(shí)施方式中,為了簡化說明,而對裝置10及服務(wù)器 001通過1臺路由器101連接在全球網(wǎng)00上的例子進(jìn)行了說明,但是裝置 10及服務(wù)器001也可以通過多個(gè)路由器進(jìn)行連接。此外,配置在裝置20 及服務(wù)器001之間的路由器的數(shù)目也是一樣。以下對該情況進(jìn)行說明。 圖21A是表示裝置通過3個(gè)路由器連接在全球網(wǎng)上的例子的圖。 如圖21A所示,裝置10通過具有Cone NAT特性的3個(gè)路由器1 3連接在全球網(wǎng)00上。在裝置10發(fā)送"LP1"被設(shè)定為發(fā)送源端口號的包時(shí), 該包通過路由器1的端口 RPll、路由器2的端口RP21、路由器3的端口 RP31,到達(dá)網(wǎng)絡(luò)OO。此時(shí),從表面來看,能夠認(rèn)為連接到全球網(wǎng)00上的 服務(wù)器是裝置IO通過1個(gè)具有Cone NAT特性的路由器連接在自身上。
圖21B是表示裝置通過3個(gè)路由器連接在全球網(wǎng)上的其它例子的圖。
如圖21B所示,裝置10通過具有Cone NAT特性的路由器1、具有 Symmetric NAT特性的路由器2及具有Cone NAT特性的路由器3連接在全 球網(wǎng)00上。在裝置10發(fā)送"LP1"被設(shè)定為發(fā)送源端口號的包時(shí),該包通 過路由器1的端口"RP11"到達(dá)路由器2。由于路由器2具有Symmetric NAT 特性,因此對所接收到的包分配不同的端口 "RP21"、 "RP22"及"RP23", 并將包轉(zhuǎn)送給路由器3。由于即使在路由器3具有ConeNAT特性時(shí),也將 發(fā)送源端口號不同的包分別通過路由器3的不同端口轉(zhuǎn)送給全球網(wǎng),因此 從表面來看,能夠認(rèn)為連接到全球網(wǎng)00上的服務(wù)器是裝置10通過1個(gè)具 有Symmetric NAT特性的路由器連接在自身。.
象這樣,即使在裝置及服務(wù)器通過多個(gè)路由器進(jìn)行連接時(shí),也能夠根 據(jù)從全球網(wǎng)00看到的表面上的特性,通過對連接序列進(jìn)行選擇,來在兩臺 裝置之間確定點(diǎn)對點(diǎn)通信路徑。
并且,在上述第一實(shí)施方式及第三實(shí)施方式的NAT特性調(diào)查階段(圖 4A及圖18)中,裝置在接收到對于地址信息調(diào)査請求的地址信息調(diào)査響應(yīng) 之后,再發(fā)送下次地址信息調(diào)查請求,但是也可以不等待地址信息調(diào)査響 應(yīng),來發(fā)送下一個(gè)地址信息調(diào)查請求。具體而言,裝置也可以在連續(xù)發(fā)送 地址信息調(diào)查請求1及2、點(diǎn)對點(diǎn)通信準(zhǔn)備包及地址信息調(diào)査請求3這4 個(gè)包之后,再從服務(wù)器001那里接收地址信息調(diào)査響應(yīng)1 3。當(dāng)在極短時(shí) 間連續(xù)發(fā)送這4個(gè)包時(shí),由于能夠減少在發(fā)送4個(gè)包期間從共同連接在路 由器上的其它裝置發(fā)送來的包插入的可能性,因此能夠防止差分值A(chǔ)1及A2 從原來的值開始發(fā)生變動(dòng)。從而能夠減少將Cone NAT錯(cuò)誤地判斷為 Symmetric NAT的可能性。
并且,從抑制誤判斷的觀點(diǎn)來說,也可以通過反復(fù)進(jìn)行兩次以上NAT 特性調(diào)查階段,來提高NAT特性的判斷精度。此時(shí),也能夠正確地測量端 口分配間隔。并且,因路由器的NAT特性,還有可能通過下述方法來較容易地判斷
NAT特性。
在市場上賣的家庭用路由器中,存在有很多端口分配間隔為一定值(例 如,l)的路由器。象這樣,當(dāng)端口分配間隔為一定值時(shí),能夠通過在發(fā)送 兩個(gè)地址調(diào)查請求期間發(fā)送點(diǎn)對點(diǎn)通信準(zhǔn)備包,來判斷NAT特性。以下, 對其理由進(jìn)行說明。
圖22A是以端口分配間隔為1,且具有Cone NAT特性的路由器的圖, 圖22B是以端口分配間隔為1,且具有Symmetric NAT特性的路由器的圖。
首先,參照圖22A,當(dāng)路由器101具有Cone NAT特性時(shí),分配給點(diǎn)對 點(diǎn)通信準(zhǔn)備包的端口號"GP13"與分配給兩個(gè)地址信息調(diào)査請求包的端口 號"GP11"或"GP12"中的任意一個(gè)相等。因此,從服務(wù)器001送回的兩 個(gè)地址信息調(diào)査響應(yīng)包中所含的端口號的差分A成為1。
其次,參照圖22B,當(dāng)路由器101具有Symmetric NAT特性時(shí),分配 給點(diǎn)對點(diǎn)通信準(zhǔn)備包的端口號"GP13"與分配給兩個(gè)地址信息調(diào)查請求包 的端口號"GP11"及"GP12"中的任何一個(gè)都不同。因此,從服務(wù)器001 送回的兩個(gè)地址信息調(diào)查響應(yīng)包中所含的端口號的差分△成為2。
如上所述,能夠在從兩個(gè)地址信息調(diào)查響應(yīng)包中取得的兩個(gè)端口號的 差分A為一定值(在該例中,為l)時(shí),判斷出路由器101是Cone NAT餘性, 而在其它情況下判斷出是Symmetric NAT特性。
此外,為了實(shí)現(xiàn)圖22A及圖22B所示的處理,只要在裝置10的存儲 單元(未圖示)中預(yù)先保持對應(yīng)信息即可,在該對應(yīng)信息中使兩個(gè)地址信息調(diào) 查響應(yīng)包中所含的端口號的間隔(差分△)、和因該間隔而不同的NAT特性
相對應(yīng)。例如,假定在對應(yīng)信息中,使差分A(1)和Cone NAT特性相對應(yīng), 并使差分A(2)和Symmetric NAT特性相對應(yīng)。此時(shí),裝置10能夠通過參照 該對應(yīng)信息,來在差分△是1時(shí),判斷為Cone NAT特性,而在差分△是 2時(shí),判斷為Symmetric NAT特性。
此外,上述各個(gè)實(shí)施方式所涉及的通信裝置的功能塊(圖2A及圖2B) 是通過使計(jì)算機(jī)執(zhí)行存儲在存儲裝置(ROM、 RAM、硬件等)中的能夠使計(jì) 算機(jī)執(zhí)行上述處理順序的程序來實(shí)現(xiàn)的。該計(jì)算機(jī)是含有裝入便攜裝置等 的電子裝置中的計(jì)算機(jī)的概念。此時(shí),該程序也可以在通過存儲媒體存儲
65在存儲裝置中之后再執(zhí)行,也可以從存儲媒體直接執(zhí)行。此外,也可以將 上述實(shí)施方式所涉及的通信裝置的功能塊作為集成電路實(shí)現(xiàn)。
以上,雖然對本發(fā)明進(jìn)行了詳細(xì)的說明,但是上述說明只不過是本 發(fā)明的例示,本發(fā)明對其范圍并不進(jìn)行任何限制。不用說只要不脫離本 發(fā)明的宗旨的話,能夠進(jìn)行各種改良和變形。
工業(yè)實(shí)用性
本發(fā)明所涉及的通信裝置、通信方法及通信系統(tǒng)能夠通過僅與具有1
個(gè)IP地址的1臺服務(wù)器進(jìn)行通信,來調(diào)查路由器的NAT特性。因此,例 如,本發(fā)明對于在屬于不同私人網(wǎng)絡(luò)中的兩臺裝置之間進(jìn)行點(diǎn)對點(diǎn)通信的 家電產(chǎn)品、通信裝置等尤其有用。
6權(quán)利要求
1、一種通信裝置,經(jīng)由具有網(wǎng)絡(luò)地址轉(zhuǎn)換功能的第1中繼裝置連接在服務(wù)器上,其特征在于該通信裝置具備地址信息調(diào)查請求發(fā)送單元,將多個(gè)地址信息調(diào)查請求包逐個(gè)發(fā)送給上述服務(wù)器,在該多個(gè)地址信息調(diào)查請求包中,為上述通信裝置的本地端口號的、互不相同的端口號被設(shè)定為發(fā)送源端口號,并且,為上述服務(wù)器的端口號的、彼此相同的端口號被設(shè)定為接收方端口號;通信準(zhǔn)備請求發(fā)送單元,在上述地址信息調(diào)查請求發(fā)送單元發(fā)送了第一個(gè)地址信息調(diào)查請求包之后,到發(fā)送最后的地址信息調(diào)查請求包之前為止的期間,將通信準(zhǔn)備包發(fā)送給與上述服務(wù)器不同的接收方,在該通信準(zhǔn)備包中,與上述多個(gè)地址信息調(diào)查請求包中的任一發(fā)送源端口號相同的端口號被設(shè)定為發(fā)送源端口號;以及地址信息接收單元,僅接收與上述地址信息調(diào)查請求包數(shù)目相同的地址信息調(diào)查響應(yīng)包,該地址信息調(diào)查響應(yīng)包是響應(yīng)上述地址信息調(diào)查請求包而被從上述服務(wù)器送回,并包括在上述第1中繼裝置中從上述地址信息調(diào)查請求包的發(fā)送源端口號轉(zhuǎn)換而來的中繼端口號的地址信息調(diào)查響應(yīng)包。
2、 根據(jù)權(quán)利要求l所述的通信裝置,其特征在于 該通信裝置還包括中繼特性判斷單元,該中繼特性判斷單元根據(jù)在上述地址信息接收單元中接收到的各個(gè)上述地址信息調(diào)查響應(yīng)包中所含的上 述中繼端口號,來對上述第l中繼裝置的網(wǎng)絡(luò)地址轉(zhuǎn)換特性進(jìn)行判斷。
3、 根據(jù)權(quán)利要求2所述的通信裝置,其特征在于2上述地址信息調(diào)查請求發(fā)送單元對第l地址信息調(diào)查請求包、第2地址 信息調(diào)查請求包及第3地址信息調(diào)查請求包逐個(gè)進(jìn)行發(fā)送,在該第l地址信息調(diào)查請求包中,上述服務(wù)器的端口號被設(shè)定為接收 方端口號,并且,上述通信裝置的第l本地端口號被設(shè)定為發(fā)送源端口號,在該第2地址信息調(diào)查請求包中,接收方端口號與上述第l地址信息調(diào)查請求包相同,并且,上述通信裝置的與上述第1本地端口號不同的第2本地端口號被設(shè)定為發(fā)送源端口號,在該第3地址信息調(diào)查請求包中,接收方端口號與上述第l地址信息調(diào)查請求包相同,并且,上述通信裝置的與上述第1及第2本地端口號不同的 第3本地端口號被設(shè)定為發(fā)送源端口號;上述地址信息接收單元對第l地址信息包、第2地址信息包及第3地址 信息包進(jìn)行接收,該第l地址信息包是響應(yīng)上述第l地址信息調(diào)查請求包而被從上述服 務(wù)器送回,并包括上述第l中繼裝置的第l中繼端口號的地址信息包,該第2地址信息包是響應(yīng)上述第2地址信息調(diào)查請求包而被從上述服 務(wù)器送回,并包括上述第1中繼裝置的第2中繼端口號的地址信息包,該第3地址信息包是響應(yīng)上述第3地址信息調(diào)查請求包而被從上述服 務(wù)器送回,并包括上述第1中繼裝置的第3中繼端口號的地址信息包;上述中繼特性判斷單元計(jì)算第1差分值和第2差分值,并根據(jù)上述第l 及第2差分值的比較,來判斷上述第l中繼裝置的網(wǎng)絡(luò)地址轉(zhuǎn)換特性,該第 1差分值是根據(jù)上述第1及第2中繼端口號計(jì)算的差分值,該第2差分值是根 據(jù)上述第2及第3中繼端口號計(jì)算的差分值。
4、根據(jù)權(quán)利要求3所述的通信裝置,其特征在于連接對象通信裝置經(jīng)由具有網(wǎng)絡(luò)地址轉(zhuǎn)換功能的第2中繼裝置連接在 上述服務(wù)器上;上述通信裝置還具備中繼信息發(fā)送單元,根據(jù)已由上述中繼特性判斷單元判斷出的第l中 繼裝置的網(wǎng)絡(luò)地址轉(zhuǎn)換特性,來預(yù)測第l點(diǎn)對點(diǎn)中繼端口號,將含有該預(yù) 測出的第l點(diǎn)對點(diǎn)中繼端口號的第l中繼信息包發(fā)送給上述服務(wù)器,該第l 點(diǎn)對點(diǎn)中繼端口號是由上述第l中繼裝置分配給與上述連接對象通信裝置 之間的點(diǎn)對點(diǎn)通信的端口號,中繼信息接收單元,從上述服務(wù)器接收含有第2點(diǎn)對點(diǎn)中繼端口號的 第2中繼信息包,該第2點(diǎn)對點(diǎn)中繼端口號是由上述第2中繼裝置分配給與 連接對象通信裝置之間的點(diǎn)對點(diǎn)通信的端口號,以及通信控制單元,為了向上述連接對象通信裝置請求開始點(diǎn)對點(diǎn)通信,而發(fā)送開始請求包,在該開始請求包中,上述第2中繼信息包中所含的上 述第2點(diǎn)對點(diǎn)中繼端口號被設(shè)定為接收方端口號。
5、 -根據(jù)權(quán)利要求4所述的通信裝置,其特征在于 上述中繼信息發(fā)送單元,在上述中繼特性判斷單元判斷出上述第l及第2差分值是相同值時(shí),發(fā)送包含上述第1 第3中繼端口號的任一個(gè)作為 上述第l點(diǎn)對點(diǎn)中繼端口號的上述第l中繼信息包,而在上述中繼特性判斷 單元判斷出上述第1及第2差分值不一致時(shí),發(fā)送包含把上述第1及第2差分 值中的較小的值和上述第3中繼端口號相加的值作為上述第1點(diǎn)對點(diǎn)中繼 端口號的上述第l中繼信息包。
6、 根據(jù)權(quán)利要求4所述的通信裝置,其特征在于 上述中繼信息發(fā)送單元,在上述中繼特性判斷單元判斷出上述第l中繼端口號及上述第l本地端口號一致的情況下,發(fā)送包含任意的本地端口 號作為上述第1點(diǎn)對點(diǎn)中繼端口號的上述第1中繼信息包。
7、 根據(jù)權(quán)利要求4所述的通信裝置,其特征在于 上述通信準(zhǔn)備請求發(fā)送單元,調(diào)整包含在上述通信準(zhǔn)備包的報(bào)頭中的生存時(shí)間值,以使上述通信準(zhǔn)備包到達(dá)上述第l中繼裝置,且未到達(dá)上述 第2中繼裝置。
8、 根據(jù)權(quán)利要求4所述的通信裝置,其特征在于 上述通信裝置還包括用以保持上述第1及第2差分值的存儲單元; 在第2次以后的點(diǎn)對點(diǎn)通信開始之前,上述中繼特性判斷單元根據(jù)保持在上述存儲單元中的上述第1及第2差分值,來判斷上述第l中繼裝置的 網(wǎng)絡(luò)地址轉(zhuǎn)換特性。
9、 根據(jù)權(quán)利要求8所述的通信裝置,其特征在于 上述地址信息調(diào)查請求發(fā)送單元對第4地址信息調(diào)查請求包進(jìn)行發(fā)送,在該第4地址信息調(diào)査請求包中,上述服務(wù)器的端口號被設(shè)定為接收 方端口號,并且,上述通信裝置的第4本地端口號被設(shè)定為發(fā)送源端口號;上述地址信息接收單元接收第4地址信息包,該第4地址信息包是響應(yīng) 上述第4地址信息調(diào)查請求包而被從上述服務(wù)器送回,并包括上述第l中繼 裝置的第4中繼端口號的;上述中繼信息發(fā)送單元,在上述中繼特性判斷單元判斷出保持在上述 存儲單元中的上述第1及第2差分值是相同值時(shí),發(fā)送包含上述第4中繼端 口號作為上述第l點(diǎn)對點(diǎn)中繼端口號的上述第l中繼信息包,而在上述中繼 特性判斷單元判斷出保持在上述存儲單元中的第1及第2差分值不一致時(shí), 發(fā)送包含把上述所保持的第1及第2差分值中的較小的值和上述第4中繼端 口號相加的值作為上述第l點(diǎn)對點(diǎn)中繼端口號的上述第l中繼信息包。
10、 根據(jù)權(quán)利要求8所述的通信裝置,其特征在于 上述通信裝置,在判斷出上述第l中繼端口號及上述第l本地端口號一致的情況下,將表示上述第l中繼端口號及上述第l本地端口號一致的信息 存儲在上述存儲單元中;在第2次以后的點(diǎn)對點(diǎn)通信開始之前,在上述中繼特性判斷單元判斷 出上述存儲單元保持有表示上述第l中繼端口號及上述第l本地端口號一 致的信息時(shí),上述中繼信息發(fā)送單元發(fā)送包含任意的本地端口號作為上述 第1點(diǎn)對點(diǎn)中繼端口號的上述第1中繼信息包。
11、 根據(jù)權(quán)利要求2所述的通信裝置,其特征在于該通信裝置還包括預(yù)先保持有對應(yīng)信息的存儲單元權(quán)利要求2所述的 通信裝置,其特征在于,該對應(yīng)信息是使各個(gè)上述地址信息調(diào)查響應(yīng)包中 所含的上述中繼端口號的間隔、和因該間隔而不同的網(wǎng)絡(luò)地址轉(zhuǎn)換特性相對應(yīng)的信息;上述地址信息調(diào)查請求發(fā)送單元對第l地址信息調(diào)查請求包、和第2地 址信息調(diào)查請求包逐個(gè)進(jìn)行發(fā)送,在該第l地址信息調(diào)查請求包中,上述服務(wù)器的端口號被設(shè)定為接收 方端口號,并且,上述通信裝置的第l本地端口號被設(shè)定為發(fā)送源端口號,在該第2地址信息調(diào)查請求包中,接收方端口號與上述第l地址信息調(diào) 查請求包相同,并且,上述通信裝置的與上述第1本地端口號不同的第2本 地端口號被設(shè)定為發(fā)送源端口號;上述地址信息接收單元對第1地址信息包和第2地址信息包進(jìn)行接收,該第l地址信息包是響應(yīng)上述第l地址信息調(diào)査請求包而被從上述服 務(wù)器送回,并包括上述第l中繼裝置的第l中繼端口號的,該第2地址信息包是響應(yīng)上述第2地址信息調(diào)查請求包而被從上述服 務(wù)器送回,并包括上述第1中繼裝置的第2中繼端口號的;上述中繼特性判斷單元將在上述對應(yīng)信息中與上述接收到的第l及第 2中繼端口號的間隔相對應(yīng)的網(wǎng)絡(luò)地址轉(zhuǎn)換特性判斷為上述第1中繼裝置 的網(wǎng)絡(luò)地址轉(zhuǎn)換特性。
12、 一種通信方法,是通信裝置通過與服務(wù)器進(jìn)行通信來判斷上述第 l中繼裝置的網(wǎng)絡(luò)地址轉(zhuǎn)換特性的通信方法,該通信裝置通過具有網(wǎng)絡(luò)地 址轉(zhuǎn)換功能的第l中繼裝置連接在上述服務(wù)器上,其特征在于該通信方法包括以下步驟地址信息調(diào)查請求發(fā)送步驟,將多個(gè)地址信息調(diào)查請求包逐個(gè)發(fā)送給 上述服務(wù)器,在該多個(gè)地址信息調(diào)查請求包中,為上述通信裝置的本地端口號的、互不相同的端口號被設(shè)定為發(fā)送源端口號,并且,為上述服務(wù)器 的端口號的、彼此相同的端口號被設(shè)定為接收方端口號;通信準(zhǔn)備請求發(fā)送步驟,在上述地址信息調(diào)查請求發(fā)送步驟中發(fā)送第 一個(gè)地址信息調(diào)查請求包之后,到發(fā)送最后的地址信息調(diào)查請求包之前為 止的期間,將通信準(zhǔn)備包發(fā)送給與上述服務(wù)器不同的接收方,在該通信準(zhǔn) 備包中,與上述多個(gè)地址信息調(diào)查請求包的任一發(fā)送源端口號相同的端口 號被設(shè)定為發(fā)送源端口號;地址信息接收步驟,僅接收與上述地址信息調(diào)查請求包數(shù)目相同的地 址信息調(diào)查響應(yīng)包,該地址信息調(diào)查響應(yīng)包是響應(yīng)上述地址信息調(diào)查請求 包而被從上述服務(wù)器送回,并包括在上述第l中繼裝置中從上述地址信息 調(diào)查請求包的發(fā)送源端口號轉(zhuǎn)換而來的中繼端口號的地址信息調(diào)查響應(yīng)包;以及中繼特性判斷步驟,根據(jù)已在上述地址信息接收步驟中接收到的各個(gè) 上述地址信息調(diào)查響應(yīng)包中所含的上述中繼端口號,來判斷上述第l中繼 裝置的網(wǎng)絡(luò)地址轉(zhuǎn)換特性。
13、 一種通信系統(tǒng),其特征在于該通信系統(tǒng)包括服務(wù)器,第1中繼裝置,具有網(wǎng)絡(luò)地址轉(zhuǎn)換功能, 第2中繼裝置,具有網(wǎng)絡(luò)地址轉(zhuǎn)換功能.第1通信裝置,經(jīng)由上述第l中繼裝置連接在上述服務(wù)器上,以及 第2通信裝置,經(jīng)由上述第2中繼裝置連接在上述服務(wù)器上; 上述第1及第2通信裝置各自包括地址信息調(diào)查請求發(fā)送單元,將多個(gè)地址信息調(diào)查請求包逐個(gè)發(fā)送給 上述服務(wù)器,在該多個(gè)地址信息調(diào)查請求包中,為自身裝置的本地端口號的、互不相同的端口號被設(shè)定為發(fā)送源端口號,并且,為上述服務(wù)器的端 口號的、彼此相同的端口號被設(shè)定為接收方端口號,通信準(zhǔn)備請求發(fā)送單元,在上述地址信息調(diào)查請求發(fā)送單元發(fā)送第一 個(gè)地址信息調(diào)查請求包之后,到發(fā)送最后的地址信息調(diào)查請求包之前為止 的期間,將通信準(zhǔn)備包發(fā)送給與上述服務(wù)器不同的接收方,在該通信準(zhǔn)備 包中,與上述多個(gè)地址信息調(diào)查請求包中的任一發(fā)送源端口號相同的端口 號被設(shè)定為發(fā)送源端口號,地址信息接收單元,僅接收與上述地址信息調(diào)查請求包數(shù)目相同的地 址信息調(diào)查響應(yīng)包,該地址信息調(diào)查響應(yīng)包是響應(yīng)上述地址信息調(diào)查請求 包而被從上述服務(wù)器送回,并包括在連接在上述第1及第2通信裝置各自的 中繼裝置中從上述地址信息調(diào)查請求包的發(fā)送源端口號轉(zhuǎn)換而來的中繼端 口號的地址信息調(diào)查響應(yīng)包,以及中繼特性判斷單元,根據(jù)已在上述地址信息接收單元中接收到的各個(gè) 上述地址信息調(diào)查響應(yīng)包中所含的上述中繼端口號,來對上述第l中繼裝 置的網(wǎng)絡(luò)地址轉(zhuǎn)換特性進(jìn)行判斷;上述服務(wù)器包括地址信息調(diào)查單元,取出從上述第1及第2通信裝置的每一個(gè)發(fā)送來的 上述地址信息調(diào)查請求包中所含的上述中繼端口號,以及地址信息發(fā)送單元,對于含有上述被取出的中繼端口號的地址信息調(diào) 查請求響應(yīng)包進(jìn)行發(fā)送。
14、 一種通信系統(tǒng),其特征在于該通信系統(tǒng)包括服務(wù)器,第l中繼裝置,具有網(wǎng)絡(luò)地址轉(zhuǎn)換功能, 第2中繼裝置,具有網(wǎng)絡(luò)地址轉(zhuǎn)換功能,第1通信裝置,經(jīng)由上述第l中繼裝置連接在上述服務(wù)器上,以及8第2通信裝置,經(jīng)由上述第2中繼裝置連接在上述服務(wù)器上;上述第l及第2通信裝置各自包括地址信息調(diào)查請求發(fā)送單元,將多個(gè)地址信息調(diào)查請求包逐個(gè)發(fā)送給 上述服務(wù)器,在該多個(gè)地址信息調(diào)查請求包中,為自身裝置的本地端口號 的、互不相同的端口號被設(shè)定為發(fā)送源端口號,并且,為上述服務(wù)器的端 口號的、彼此相同的端口號被設(shè)定為接收方端口號,以及通信準(zhǔn)備請求發(fā)送單元,在上述地址信息調(diào)査請求發(fā)送單元發(fā)送第一 個(gè)地址信息調(diào)查請求包之后,到發(fā)送最后的地址信息調(diào)查請求包之前為止 的期間,將通信準(zhǔn)備包發(fā)送給與上述服務(wù)器不同的接收方,在該通信準(zhǔn)備 包中,與上述多個(gè)地址信息調(diào)查請求包中的任一發(fā)送源端口號相同的端口號被設(shè)定為發(fā)送源端口號;上述服務(wù)器包括地址信息調(diào)查單元,該地址信息調(diào)查單元根據(jù)在上述 第1及第2中繼裝置各自從上述地址信息調(diào)查請求包的發(fā)送源端口號轉(zhuǎn)換 而來的中繼端口號,來判斷上述第1及第2中繼裝置的網(wǎng)絡(luò)地址轉(zhuǎn)換特性。
全文摘要
本發(fā)明是一種通信裝置。通信裝置(10)將對接收方端口號設(shè)定了“SP1”,且對發(fā)送源端口號設(shè)定了互不相同的“LP1”~“LP3”中的任意一個(gè)的3個(gè)地址信息調(diào)查請求1~3發(fā)送給服務(wù)器(001)。此外,通信裝置(10)在地址信息調(diào)查請求1及3之間,將對發(fā)送源端口號設(shè)定了“LP1”~“LP3”中的任意一個(gè)的點(diǎn)對點(diǎn)通信準(zhǔn)備包發(fā)送給與服務(wù)器(001)不同的接收方。通信裝置(10)根據(jù)由地址信息調(diào)查響應(yīng)1~3通知來的路由器(101)的端口號“GP11”、“GP12”及“GP14”,來辨別路由器(101)的NAT特性。
文檔編號H04L12/46GK101491021SQ20078002652
公開日2009年7月22日 申請日期2007年9月7日 優(yōu)先權(quán)日2006年9月22日
發(fā)明者古門健, 濱本望繪 申請人:松下電器產(chǎn)業(yè)株式會(huì)社