亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

通信終端和通信方法

文檔序號(hào):7949418閱讀:140來(lái)源:國(guó)知局
專利名稱:通信終端和通信方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信終端和通信方法,更具體地說(shuō),涉及用于通過(guò)路由器和另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一互連的通信終端和通信方法。
背景技術(shù)
將在整個(gè)網(wǎng)絡(luò)內(nèi)唯一確定且能夠建立一對(duì)一(對(duì)等或點(diǎn)對(duì)點(diǎn),后面稱之為P2P)互連的IP地址稱為全局IP地址。另一方面,將僅在特定網(wǎng)絡(luò)內(nèi)唯一確定且不能用于和另一網(wǎng)絡(luò)進(jìn)行P2P通信的非全局IP地址稱為私有IP地址。將由這些IP地址組成的網(wǎng)絡(luò)稱為私有網(wǎng)絡(luò)。
有一種能夠使具有私有IP地址的通信終端和具有全局IP地址的外部通信終端進(jìn)行通信的方法,在該方法中,將具有網(wǎng)絡(luò)地址轉(zhuǎn)換(后面稱之為NAT)功能或網(wǎng)絡(luò)地址端口轉(zhuǎn)換(后面稱之為NAPT)功能的通信終端(路由器)設(shè)于私有網(wǎng)絡(luò)和外部全局網(wǎng)絡(luò)之間。注意,下面描述中涉及的術(shù)語(yǔ)NAT包括NAT和NAPT兩個(gè)概念。
大家所熟知的是,有多種類型的NAT。后面將參照?qǐng)D8描述NAT的類型。圖8(a)示出了一種稱為完全圓錐型NAT的NAT。如圖8(a)所示,具備完全圓錐型NAT功能的路由器總是將路由器的相同端口號(hào)[Pb]分配給從本地終端A的相同地址信息[IPa,Pa]發(fā)送到外地的分組,然后,將這些分組發(fā)送到外部網(wǎng)絡(luò)。同樣,路由器將從連到外部網(wǎng)絡(luò)的未指定的外部終端C和D發(fā)送到地址信息[IPb,Pb]的所有分組傳送到本地終端A[IPa,Pa]。
圖8(b)示出了一種稱為受限圓錐型NAT的NAT。如圖8(b)所示,具備受限圓錐型NAT功能的路由器總是將路由器的相同端口號(hào)[Pb]分配給從本地終端A的相同地址信息[IPa,Pa]發(fā)送到外地的分組,然后,將這些分組發(fā)送到外部網(wǎng)絡(luò)。注意,與完全圓錐型NAT路由器不同,路由器僅將從已經(jīng)預(yù)先從本地終端A接收到分組的外部終端C的IP地址[IPc]發(fā)送到地址信息[IPb,Pb]的分組傳送到本地終端A[IPa,Pa]。此時(shí),外部終端的端口號(hào)可以是任意數(shù)。
圖8(c)示出了一種稱為端口受限圓錐型NAT的NAT。如圖8(c)所示,具備端口受限圓錐型NAT功能的路由器總是將路由器的相同端口號(hào)[Pb]分配給從本地終端A的相同地址信息[IPa,Pa]發(fā)送到外地的分組,然后,將這些分組發(fā)送到外部網(wǎng)絡(luò)。這里,與受限圓錐型NAT路由器不同,路由器僅將從已經(jīng)預(yù)先從本地終端A接收到分組的外部終端C的IP地址[Pc1]發(fā)送到地址信息[IPb,Pb]的分組傳送到本地終端A[IPa,Pa]。此時(shí),路由器丟棄從不是[Pc1]的任何其它端口號(hào)(如[Pc2])發(fā)送過(guò)來(lái)的所有分組,即使這些分組是從相同的外部終端C發(fā)送過(guò)來(lái)的。
圖8(d)示出了一種稱為對(duì)稱NAT的NAT。如圖8(d)所示,具備對(duì)稱NAT功能的路由器將路由器的特定端口號(hào)分配給從本地終端A的相同地址信息[IPa,Pa]發(fā)送到特定外部終端的端口號(hào)的分組,然后,將這些分組發(fā)送到外部網(wǎng)絡(luò)。例如,路由器將路由器的端口號(hào)[Pb1]分配給從本地終端A[IPa,Pa]發(fā)送到外部終端C[IPc,Pc]的分組。此外,路由器將路由器的端口號(hào)[Pb2]分配給從本地終端A[IPa,Pa]發(fā)送到外部終端D[IPd,Pd]的分組。與端口受限圓錐型NAT路由器類似,路由器僅將從已經(jīng)預(yù)先從本地終端A接收到分組的外部終端的端口號(hào)發(fā)送過(guò)來(lái)的分組傳送到本地終端A[IPa,Pa]。
通過(guò)使用路由器的這些NAT功能,私有網(wǎng)絡(luò)內(nèi)的本地終端能夠使用私有IP地址和全局網(wǎng)絡(luò)上的外部終端進(jìn)行通信。
但是,僅僅將具備NAT功能的路由器設(shè)于私有網(wǎng)絡(luò)和全局網(wǎng)絡(luò)之間不能使具有私有IP地址的終端和處在不同私有網(wǎng)絡(luò)中的另一終端進(jìn)行P2P通信。這里,有一種由RFC 3489公開的方法,并且,其中使用了STUN(UDP對(duì)NAT的簡(jiǎn)單穿越),用于使分別處在不同私有網(wǎng)絡(luò)中的終端實(shí)現(xiàn)其路由器的NAT功能之外的P2P通信。在下面的描述中,術(shù)語(yǔ)“分組”始終指的是“UDP分組”,并且,所有消息都是使用UDP分組發(fā)送和接收的。
圖9示出了通過(guò)使用其中運(yùn)用了STUN的方法在終端之間實(shí)現(xiàn)P2P通信所執(zhí)行的操作次序。這里,在圖9中顯示的路由器1和2不是對(duì)稱NAT路由器。如圖9所示,終端1向服務(wù)器發(fā)送IP/端口注冊(cè)請(qǐng)求(步驟S501)。服務(wù)器將接收到的分組的源地址信息(即,源IP地址和源端口號(hào))記錄在其中(步驟S502)。這里,服務(wù)器將作為終端1的地址信息的轉(zhuǎn)換結(jié)果的地址信息[IPG1,GP1]記錄在其中,其中,路由器1的NAT將終端1的地址信息[IPL1,LP1]轉(zhuǎn)換成路由器1的地址信息[IPG1,GP1]。
同樣,終端2向服務(wù)器發(fā)送IP/端口注冊(cè)請(qǐng)求(步驟S503)。服務(wù)器將接收到的分組的源地址信息(即,源IP地址和源端口號(hào))記錄在其中(步驟S502)。這里,服務(wù)器將作為終端2的地址信息的轉(zhuǎn)換結(jié)果的地址信息[IPG2,GP2]記錄在其中,其中,路由器2的NAT將終端2的地址信息[IPL2,LP2]轉(zhuǎn)換成路由器2的地址信息[IPG2,GP2]。
接下來(lái),為了獲得用于訪問(wèn)終端1的地址信息,終端2向服務(wù)器發(fā)送IP/端口獲取請(qǐng)求(步驟S505)。因此,服務(wù)器將內(nèi)設(shè)有在步驟S502中記錄的地址信息[IPG1,GP1]的IP/端口獲取響應(yīng)返回給終端2(步驟506)。
一旦獲得用于訪問(wèn)終端1的地址信息[IPG1,GP1],終端2就向所獲取的地址信息[IPG1,GP1]發(fā)送P2P開始請(qǐng)求(步驟S507)。路由器2將從終端2發(fā)送過(guò)來(lái)的P2P開始請(qǐng)求中繼到路由器1。這里,當(dāng)路由器1是完全圓錐型NAT路由器時(shí),將從終端2發(fā)送過(guò)來(lái)的P2P開始請(qǐng)求傳送到終端1,然后,在終端1和2之間建立P2P通信路徑。
另一方面,當(dāng)路由器1不是完全圓錐型NAT路由器時(shí),路由器1將從終端2發(fā)送過(guò)來(lái)的P2P開始請(qǐng)求丟棄,而不將其傳送到終端1[IPL1,LP1]。
但是,當(dāng)中繼從終端2發(fā)送過(guò)來(lái)的P2P開始請(qǐng)求時(shí),對(duì)路由器2的NAT進(jìn)行設(shè)定,以便將以與中繼P2P開始請(qǐng)求的方向相反的方向轉(zhuǎn)發(fā)過(guò)來(lái)的分組傳送到終端2。具體而言,在路由器2是完全圓錐型NAT路由器的情況下,對(duì)路由器2的NAT進(jìn)行設(shè)定,以便將路由器2[IPG2,GP2]通過(guò)路由器1[IPG1,GP1]從終端1接收的分組傳送到終端2[IPL2,LP2]。同樣,在路由器2是受限圓錐型NAT路由器的情況下,對(duì)路由器2的NAT進(jìn)行設(shè)定,以便將路由器2[IPG2,GP2]從源IP地址[IPG1]接收的分組傳送到終端2[IPL2,LP2]。此外,在路由器2是端口受限圓錐型NAT路由器的情況下,對(duì)路由器2的NAT進(jìn)行設(shè)定,以便將路由器2[IPG2,GP2]通過(guò)路由器1[IPG1,GP1]從終端1接收的分組傳送到終端2[IPL2,LP2]。
接下來(lái),為了獲得用于訪問(wèn)終端2的地址信息,終端1向服務(wù)器發(fā)送IP/端口獲取請(qǐng)求(步驟S508)。因此,服務(wù)器將內(nèi)設(shè)有在步驟S504中記錄的地址信息[IPG2,GP2]的IP/端口獲取響應(yīng)返回給終端1(步驟509)。
一旦獲得用于訪問(wèn)終端2的地址信息[IPG2,GP2],終端1就向所獲取的地址信息[IPG2,GP2]發(fā)送P2P開始請(qǐng)求(步驟S510)。路由器1將從終端1發(fā)送過(guò)來(lái)的P2P開始請(qǐng)求中繼到路由器2。如上所述,已經(jīng)對(duì)路由器2的NAT進(jìn)行了設(shè)定,以便使其將路由器2[IPG2,GP2]通過(guò)路由器1從終端1接收的分組傳送到終端2[IPL2,LP2]。因此,路由器2能夠?qū)慕K端1發(fā)送過(guò)來(lái)的P2P開始請(qǐng)求傳送到終端2。
同樣,當(dāng)中繼從終端1發(fā)送過(guò)來(lái)的P2P開始請(qǐng)求時(shí),對(duì)路由器1的NAT進(jìn)行設(shè)定,以便將以與中繼P2P開始請(qǐng)求的方向相反的方向轉(zhuǎn)發(fā)過(guò)來(lái)的分組傳送到終端1。具體而言,在路由器1是受限圓錐型NAT路由器的情況下,對(duì)路由器1的NAT進(jìn)行設(shè)定,以便將路由器1[IPG1,GP1]從源IP地址[IPG2]接收的分組傳送到終端1[IPL1,LP1]。此外,在路由器1是端口受限圓錐型NAT路由器的情況下,對(duì)路由器1的NAT進(jìn)行設(shè)定,以便將路由器1[IPG1,GP1]通過(guò)路由器2[IPG2,GP2]從終端2接收的分組傳送到終端1[IPL1,LP1]。
一旦接收到P2P開始請(qǐng)求,終端2就向終端1發(fā)送P2P開始響應(yīng)(步驟S511)。此時(shí),如上所述,已經(jīng)對(duì)路由器1的NAT進(jìn)行了設(shè)定,以便使其將路由器1[IPG1,GP1]通過(guò)路由器2從終端2接收的分組傳送到終端1[IPL1,LP1]。因此,路由器1能夠?qū)慕K端2發(fā)送過(guò)來(lái)的P2P開始響應(yīng)傳送到終端1。當(dāng)路由器1和2均不是對(duì)稱NAT路由器時(shí),這是用于通過(guò)使用STUN建立P2P通信路徑的方法。
在對(duì)稱NAT路由器處于終端1和2之間的路徑上的情況下,當(dāng)使用STUN建立P2P通信路徑時(shí),會(huì)發(fā)生下面的問(wèn)題。下面將參照?qǐng)D10和11描述該問(wèn)題。圖10示出了當(dāng)路由器1是對(duì)稱NAT路由器時(shí)發(fā)生的問(wèn)題。圖11示出了當(dāng)路由器2是對(duì)稱NAT路由器時(shí)發(fā)生的問(wèn)題。
如圖10所示,步驟S601至S604的處理與圖9中的步驟S501至S504的處理相同。因此,將不再對(duì)其進(jìn)行贅述。在下面的步驟中,終端2向服務(wù)器發(fā)送IP/端口獲取請(qǐng)求,以獲取用于訪問(wèn)終端1的地址信息(步驟S605)。因此,服務(wù)器將內(nèi)設(shè)有在步驟S602中記錄的地址信息[IPG1,GP1]的IP/端口獲取響應(yīng)返回給終端2(步驟606)。
一旦接收到用于訪問(wèn)終端1的地址信息[IPG1,GP1],終端2就向所獲得的地址信息[IPG1,GP1]發(fā)送P2P開始請(qǐng)求(步驟S607)。路由器2將從終端2發(fā)送過(guò)來(lái)的P2P開始請(qǐng)求中繼到路由器1。這里,因?yàn)槁酚善?是對(duì)稱NAT路由器,所以,路由器1將從終端2發(fā)送過(guò)來(lái)的P2P開始請(qǐng)求的分組丟棄,而不將其傳送到終端1[IPL1,LP1]。
但是,當(dāng)中繼從終端2發(fā)送過(guò)來(lái)的P2P開始請(qǐng)求時(shí),對(duì)路由器2的NAT進(jìn)行設(shè)定,以便將以與中繼P2P開始請(qǐng)求的方向相反的方向轉(zhuǎn)發(fā)過(guò)來(lái)的分組傳送到終端2。具體而言,在路由器2是完全圓錐型NAT路由器的情況下,對(duì)路由器2的NAT進(jìn)行設(shè)定,以便將路由器2[IPG2,GP2]通過(guò)路由器1[IPG1,GP1]從終端1接收的分組傳送到終端2[IPL2,LP2]。同樣,在路由器2是受限圓錐型NAT路由器的情況下,對(duì)路由器2的NAT進(jìn)行設(shè)定,以便將路由器2[IPG2,GP2]從源IP地址[IPG1]接收的分組傳送到終端2[IPL2,LP2]。此外,在路由器2是端口受限圓錐型NAT路由器的情況下,對(duì)路由器2的NAT進(jìn)行設(shè)定,以便將路由器2[IPG2,GP2]通過(guò)路由器1[IPG1,GP1]從終端1接收的分組傳送到終端2[IPL2,LP2]。
接下來(lái),為了獲取用于訪問(wèn)終端2的地址信息,終端1向服務(wù)器發(fā)送IP/端口獲取請(qǐng)求(步驟S608)。因此。服務(wù)器將內(nèi)設(shè)有在步驟S604中記錄的地址信息[IPG2,GP2]的IP/端口獲取響應(yīng)返回給終端1(步驟609)。
一旦獲得用于訪問(wèn)終端2的地址信息[IPG2,GP2],終端1就向所獲取的地址信息[IPG2,GP2]發(fā)送P2P開始請(qǐng)求(步驟S610)。此時(shí),因?yàn)槁酚善?是對(duì)稱NAT路由器,所以,路由器1將不是[GP1]的一個(gè)端口號(hào)(例如,[GP3])分配給從終端1發(fā)送過(guò)來(lái)的P2P開始請(qǐng)求。
這里,當(dāng)路由器2是完全圓錐型NAT路由器或受限圓錐型NAT路由器時(shí),路由器2將來(lái)自終端1的P2P開始請(qǐng)求傳送到終端2[IPL2,LP2],然后,在終端1和2之間建立P2P通信路徑。但是,當(dāng)路由器2是端口受限圓錐型NAT路由器或?qū)ΨQNAT路由器時(shí),路由器2將丟棄從終端1發(fā)送過(guò)來(lái)的P2P開始請(qǐng)求,而不將其傳送到終端2。因此,在終端1和2之間不能建立P2P通信路徑。
同樣,在路由器2是對(duì)稱NAT路由器的情況下(參見(jiàn)圖11),由于相同的原因而不能建立P2P通信路徑。
如上所述,在路由器1或路由器2是對(duì)稱NAT路由器時(shí),通過(guò)使用STUN成功建立P2P通信路徑的概率不高。為了解決這種問(wèn)題,已經(jīng)公開了一種即使路由器1和2是對(duì)稱路由器也能成功建立P2P通信路徑的傳統(tǒng)方法(例如,專利文獻(xiàn)1)。
圖12的次序圖示出了采用傳統(tǒng)方法建立P2P通信路徑的處理。如圖12所示,步驟S801至S804的處理與圖9中的步驟S501至S504的處理相同。因此,將不再對(duì)其進(jìn)行贅述。為了請(qǐng)求終端1進(jìn)行P2P通信,終端2向服務(wù)器發(fā)送P2P通信請(qǐng)求(步驟S805)。此時(shí),終端2將終端2用于P2P通信請(qǐng)求的源端口號(hào)從已經(jīng)用于IP/端口獲取請(qǐng)求的源端口號(hào)[LP2]改變成源端口號(hào)[LP2+a]。這里,a是任意整數(shù)。
終端2使用新的端口號(hào)[LP2+a]的原因是為了使路由器2將新的源端口號(hào)[GP2+b]作為P2P通信請(qǐng)求的源端口號(hào)。這里,b是路由器2的NAT的不確定的增加值。
一旦接收到P2P通信請(qǐng)求,服務(wù)器就將內(nèi)設(shè)有地址信息[IPG2,GP2+b]的IP/端口通知發(fā)送給終端1(步驟806)。
一旦接收到IP/端口通知,如果終端1準(zhǔn)許P2P通信,則終端1就向服務(wù)器發(fā)送P2P開始準(zhǔn)許(步驟S807)。此時(shí),終端1將終端1用于P2P開始準(zhǔn)許的源端口號(hào)從已經(jīng)用于IP/端口獲取請(qǐng)求的源端口號(hào)[LP1]改變成源端口號(hào)[LP1+d],然后發(fā)送P2P開始準(zhǔn)許。終端1使用新的端口號(hào)[LP1+d]的原因是為了使路由器1將新的源端口號(hào)[GP1+d]作為P2P通信準(zhǔn)許的源端口號(hào)。這里,d是任意整數(shù),它是路由器1的NAT的不確定的增加值。
此外,一旦通過(guò)IP/端口通知獲得用于訪問(wèn)終端2的地址信息[IPG2,GP2+b],終端1就向所獲得的地址信息[IPG2,GP2+2+b+n]發(fā)送P2P開始請(qǐng)求(步驟S808)。
注意,在步驟S807和S808中,P2P通信準(zhǔn)許和P2P開始請(qǐng)求是在極短的時(shí)間段內(nèi)連續(xù)發(fā)送的。因此,當(dāng)P2P通信準(zhǔn)許的源端口號(hào)由路由器1從[LP1+c]轉(zhuǎn)變成[GP1+d]時(shí),P2P開始請(qǐng)求的源端口號(hào)從[LP1+c+1]轉(zhuǎn)變成[GP1+d+1]。
同樣,當(dāng)中繼從終端1發(fā)送過(guò)來(lái)的P2P開始請(qǐng)求時(shí),對(duì)路由器1的NAT進(jìn)行設(shè)定,以便將以與中繼P2P開始請(qǐng)求的方向相反的方向轉(zhuǎn)發(fā)過(guò)來(lái)的分組傳送到終端1。具體而言,對(duì)路由器1的NAT進(jìn)行設(shè)定,以便將路由器1[IPG1,GP1+d+1]通過(guò)路由器2[IPG2,GP2+b+n]從終端2接收的分組傳送到終端1[IPL1,LP1+c+1]。這里,n是任意整數(shù)值。
一旦接收到在步驟S807中從終端1發(fā)送過(guò)來(lái)的P2P通信準(zhǔn)許,服務(wù)器就將內(nèi)設(shè)有地址信息[IPG1,GP1+d]的P2P通信準(zhǔn)許發(fā)送給終端2(步驟809)。
接下來(lái),一旦通過(guò)P2P通信準(zhǔn)許接收到用于訪問(wèn)終端1的地址信息[IPG1,GP1+d](即,路由器1的地址信息),終端2就立即向終端1發(fā)送P2P開始請(qǐng)求(步驟S810)。此時(shí),終端2向路由器1的端口號(hào)[GP1+d+1]發(fā)送n個(gè)開始請(qǐng)求,同時(shí)使其源端口號(hào)從[LP2+a+1]逐個(gè)地增加。P2P開始請(qǐng)求的源端口號(hào)由路由器2轉(zhuǎn)變成端口號(hào)[GP2+b+m]至[GP2+b+m+n-1]。
因?yàn)閺慕K端2發(fā)向終端1的多個(gè)P2P開始請(qǐng)求中任意一個(gè)P2P開始請(qǐng)求對(duì)應(yīng)于路由器1將以相反方向轉(zhuǎn)發(fā)過(guò)來(lái)的分組進(jìn)行傳送的設(shè)定,所以,所述多個(gè)P2P開始請(qǐng)求中任意一個(gè)P2P開始請(qǐng)求被傳送到終端1。一旦接收到所述多個(gè)P2P開始請(qǐng)求中任意一個(gè)P2P開始請(qǐng)求,終端1發(fā)送P2P開始響應(yīng)以作為響應(yīng)(步驟S811)。因此,在終端1和終端2之間建立了P2P通信路徑。
日本專利公開案No.2004-180003。

發(fā)明內(nèi)容
本發(fā)明要解決的問(wèn)題 但是,在圖12所示的傳統(tǒng)方法中,終端2在步驟S810中發(fā)送多個(gè)P2P開始請(qǐng)求,從而預(yù)測(cè)終端1已經(jīng)在步驟S808中發(fā)送P2P開始請(qǐng)求所用的端口號(hào)。這會(huì)導(dǎo)致諸多問(wèn)題,例如,延長(zhǎng)了要建立的P2P通信路徑所需的連接時(shí)間段,并且,增加了業(yè)務(wù)量。此外,根據(jù)路由器2的類型,存在這樣一種情況,即,給從終端2發(fā)送過(guò)來(lái)的多個(gè)P2P開始請(qǐng)求分配的端口號(hào)會(huì)隨機(jī)改變。在這種情況下,給從終端2發(fā)送過(guò)來(lái)的P2P開始請(qǐng)求分配的端口號(hào)并不按照數(shù)字次序。因此,P2P通信路徑的連通性可能會(huì)降低。
因此,本發(fā)明的目的是提供一種通信終端和一種通信方法,其能夠在短時(shí)間段內(nèi)并以較小業(yè)務(wù)量和另一通信終端建立P2P通信路徑,并能夠?qū)崿F(xiàn)其高連通性。
問(wèn)題的解決方案 本發(fā)明針對(duì)的是一種通信終端,其處在通過(guò)路由器和全局網(wǎng)絡(luò)相連的一個(gè)私有網(wǎng)絡(luò)上,并通過(guò)所述路由器和另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一的互連。為了實(shí)現(xiàn)以上目的,本發(fā)明的通信終端包括地址信息確定部、地址信息交換部、通信控制部和通信部。
地址信息確定部通過(guò)向所述全局網(wǎng)絡(luò)上的服務(wù)器發(fā)送預(yù)定消息和從所述全局網(wǎng)絡(luò)上的服務(wù)器接收預(yù)定消息來(lái)檢查所述路由器的中繼特性,并且,根據(jù)檢查結(jié)果確定所述路由器的地址信息,所述地址信息用于和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一的互連。地址信息交換部和所述另一網(wǎng)絡(luò)上的通信終端交換由所述地址信息確定部確定出的路由器地址信息。通信控制部根據(jù)所述地址信息交換部已經(jīng)交換的路由器地址信息而和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一的互連。通信部執(zhí)行所述通信終端的所有通信。當(dāng)所述路由器的中繼特性為端口重用時(shí),所述地址信息確定部將含有所述通信終端至少一個(gè)端口號(hào)的地址信息確定為所述路由器的地址信息,所述端口號(hào)用于和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一的互連。
更具體地說(shuō),所述地址信息確定部包括地址信息請(qǐng)求部、地址信息接收部、中繼特性確定部和端口號(hào)確定部。所述地址信息請(qǐng)求部通過(guò)經(jīng)由所述路由器向所述服務(wù)器發(fā)送預(yù)定消息來(lái)請(qǐng)求所述服務(wù)器提供路由器地址信息。所述地址信息接收部從所述服務(wù)器接收作為所述請(qǐng)求之響應(yīng)的路由器地址信息。所述中繼特性確定部根據(jù)所述地址信息接收部收到的路由器地址信息來(lái)確定所述路由器的中繼特性。端口號(hào)確定部根據(jù)所述中繼特性確定部確定出的路由器中繼特性來(lái)確定所述通信終端的端口號(hào),所述端口號(hào)用于和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一的互連。
優(yōu)選情況下,所述地址信息檢查請(qǐng)求部從所述通信終端的預(yù)定端口號(hào)連續(xù)地向所述服務(wù)器的第一端口號(hào)發(fā)送第一端口號(hào)檢查請(qǐng)求消息和向所述服務(wù)器的第二端口號(hào)發(fā)送第二端口號(hào)檢查請(qǐng)求消息。所述地址信息接收部從所述服務(wù)器接收第一端口號(hào)檢查響應(yīng)消息和第二端口號(hào)檢查響應(yīng)消息,所述第一端口號(hào)檢查響應(yīng)消息是對(duì)所述第一端口號(hào)檢查請(qǐng)求消息做出的響應(yīng),而所述第二端口號(hào)檢查響應(yīng)消息是對(duì)所述第二端口號(hào)檢查請(qǐng)求消息做出的響應(yīng)。所述中繼特性確定部根據(jù)所述地址信息接收部收到的所述第一和第二端口號(hào)檢查響應(yīng)消息來(lái)確定所述路由器的中繼特性。
所述第一端口號(hào)檢查響應(yīng)消息包括路由器IP地址和在向所述服務(wù)器中繼所述第一端口號(hào)檢查請(qǐng)求消息時(shí)所用的路由器源端口號(hào)。所述第二端口號(hào)檢查響應(yīng)消息包括路由器IP地址和在向所述服務(wù)器中繼所述第二端口號(hào)檢查請(qǐng)求消息時(shí)所用的路由器源端口號(hào)。如果在發(fā)送所述第一端口號(hào)檢查請(qǐng)求消息時(shí)所用的通信終端的預(yù)定端口號(hào)和含在所述第一端口號(hào)檢查響應(yīng)消息中的路由器源端口號(hào)一致,則所述中繼特性確定部確定所述路由器的中繼特性為端口重用特性。
當(dāng)含在所述第一端口號(hào)檢查響應(yīng)消息中的路由器源端口號(hào)和含在所述第二端口號(hào)檢查響應(yīng)消息中的路由器源端口號(hào)一致時(shí),所述中繼特性確定部確定所述路由器的中繼特性具備圓錐型NAT功能;當(dāng)含在所述第一端口號(hào)檢查響應(yīng)消息中的路由器源端口號(hào)和含在所述第二端口號(hào)檢查響應(yīng)消息中的路由器源端口號(hào)不一致時(shí),所述中繼特性確定部確定所述路由器的中繼特性具備對(duì)稱NAT功能。
如果所述中繼特性確定部確定所述路由器的中繼特性不是端口重用并且所述路由器具備圓錐型NAT功能,則所述通信端口確定部將含在所述第一端口號(hào)檢查響應(yīng)消息中的路由器源端口號(hào)用作和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一互連所用的端口號(hào)。
如果所述中繼特性確定部確定所述路由器的中繼特性不是端口重用并且所述路由器具備對(duì)稱NAT功能,則所述通信端口確定部將一個(gè)特定的端口號(hào)用作和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一互連所用的端口號(hào),所述特定的端口號(hào)是含在所述第二端口號(hào)檢查響應(yīng)消息中的路由器源端口號(hào)加上含在所述第二端口號(hào)檢查響應(yīng)消息中的路由器源端口號(hào)和含在所述第一端口號(hào)檢查響應(yīng)消息中的路由器源端口號(hào)之差的結(jié)果。
更具體地說(shuō),所述地址信息交換部包括中繼信息發(fā)送部和中繼信息發(fā)送部。所述中繼信息發(fā)送部通過(guò)所述服務(wù)器向所述另一網(wǎng)絡(luò)上的通信終端發(fā)送內(nèi)設(shè)有路由器地址信息的消息,所述地址信息用于和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一的互連。所述中繼信息發(fā)送部通過(guò)所述服務(wù)器從所述另一網(wǎng)絡(luò)上的通信終端接收消息,在所述消息中設(shè)有所述通信終端和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一互連所用的地址信息。
優(yōu)選情況下,所述通信控制部根據(jù)所述地址信息交換部已經(jīng)交換的地址信息,通過(guò)所述通信部發(fā)送用于請(qǐng)求一對(duì)一互連開始的消息,并且,在從所述另一網(wǎng)絡(luò)上的通信終端接收到用于請(qǐng)求一對(duì)一互連開始的消息時(shí),和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一的互連。
本發(fā)明還針對(duì)的是一種由通信終端執(zhí)行的通信方法,所述通信終端處在通過(guò)路由器和全局網(wǎng)絡(luò)相連的一個(gè)私有網(wǎng)絡(luò)上,并通過(guò)所述路由器和另一網(wǎng)絡(luò)上的一個(gè)通信終端進(jìn)行一對(duì)一的互連。為了實(shí)現(xiàn)以上目的,在本發(fā)明的所述通信方法中,所述通信終端通過(guò)向所述全局網(wǎng)絡(luò)上的服務(wù)器發(fā)送預(yù)定消息和從所述全局網(wǎng)絡(luò)上的服務(wù)器接收預(yù)定消息來(lái)檢查所述路由器的中繼特性;當(dāng)所述路由器的中繼特性為端口重用時(shí),將含有至少一個(gè)端口號(hào)的地址信息確定為所述路由器的地址信息,所述端口號(hào)用于和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一的互連;和所述另一網(wǎng)絡(luò)上的通信終端交換所確定出的路由器地址信息;并根據(jù)所交換的地址信息,和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一的互連。
本發(fā)明的效果 如上所述,根據(jù)本發(fā)明的通信終端和通信方法向所述服務(wù)器發(fā)送預(yù)定消息和從所述服務(wù)器接收預(yù)定消息;根據(jù)發(fā)送和接收的消息檢查所述路由器的中繼特性;并且,當(dāng)所述路由器的中繼特性為端口重用時(shí),將含有所述通信終端至少一個(gè)端口號(hào)的地址信息確定為所述路由器的地址信息,所述端口號(hào)用于和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一的互連。因此,在所述路由器的中繼特性為端口重用的情況下,本發(fā)明的通信終端和通信方法能夠簡(jiǎn)化使用服務(wù)器確定要由路由器使用的地址信息的處理。
此外,如果所述路由器的中繼特性為端口重用和對(duì)稱NAT,則本發(fā)明的通信終端和通信方法能夠省略用于預(yù)測(cè)要由路由器使用的端口號(hào)的處理。因此,本發(fā)明的通信終端和通信方法能夠在短時(shí)間段內(nèi)并以較小業(yè)務(wù)量和另一通信終端建立P2P通信路徑,并能夠?qū)崿F(xiàn)其高連通性。


[圖1]圖1示出了根據(jù)本發(fā)明實(shí)施例的通信系統(tǒng)的示例性網(wǎng)絡(luò)結(jié)構(gòu)。
圖2示出了具備端口重用特性的路由器11。
圖3A的框圖示出了通信終端10的示例性結(jié)構(gòu)。
圖3B的框圖示出了通信終端20的示例性結(jié)構(gòu)。
圖3C的框圖示出了服務(wù)器30的示例性結(jié)構(gòu)。
圖4示出了根據(jù)本發(fā)明實(shí)施例的通信系統(tǒng)在建立P2P通信路徑時(shí)執(zhí)行的操作。
圖5A的流程圖詳細(xì)示出了通信終端10在NAT檢查階段(步驟S100)中執(zhí)行的操作。
圖5B的流程圖詳細(xì)示出了通信終端20在NAT檢查階段(步驟S200)中執(zhí)行的操作。
圖5C的流程圖詳細(xì)示出了在P2P通信端口確定處理(步驟S109)中執(zhí)行的操作。
圖6的流程圖詳細(xì)示出了P2P通信端口交換階段(步驟S300)。
圖7的流程圖詳細(xì)示出了P2P通信路徑建立階段(步驟S400)。
圖8示出了NAT的類型。
圖9示出了通過(guò)使用其中運(yùn)用了STUN的方法在終端之間實(shí)現(xiàn)P2P通信所執(zhí)行的操作次序。
圖10示出了當(dāng)路由器1為對(duì)稱NAT路由器時(shí)所產(chǎn)生的問(wèn)題。
圖11示出了當(dāng)路由器2為對(duì)稱NAT路由器時(shí)所產(chǎn)生的問(wèn)題。
圖12的次序圖示出了通過(guò)使用在專利文獻(xiàn)1中公開的傳統(tǒng)方法來(lái)建立P2P通信路徑的處理。
附圖標(biāo)記說(shuō)明 10、20通信終端(本地終端)11、21路由器
30服務(wù)器100、200私有網(wǎng)絡(luò)300全局網(wǎng)絡(luò)101、201地址信息檢查請(qǐng)求部102、202地址信息接收部103、203通信端口確定部104、204中繼特性確定部105、205中繼信息發(fā)送部106、206中繼信息接收部301地址信息檢查部302地址信息發(fā)送部303中繼信息傳輸部304通信部
具體實(shí)施例方式后面將參照附圖詳細(xì)描述本發(fā)明的實(shí)施例。
圖1示出了根據(jù)本發(fā)明實(shí)施例的通信系統(tǒng)的示例性網(wǎng)絡(luò)結(jié)構(gòu)。在圖1中,全局網(wǎng)絡(luò)300和私有網(wǎng)絡(luò)100通過(guò)具有全局IP地址[IPG1]的路由器11相連。同樣,全局網(wǎng)絡(luò)300和私有網(wǎng)絡(luò)200通過(guò)具有全局IP地址[IPG2]的路由器21相連。服務(wù)器30連接到全局網(wǎng)絡(luò)300。具有私有IP地址[IPL1]的通信終端(本地終端)10連接到私有網(wǎng)絡(luò)100。具有私有IP地址[IPL2]的通信終端(本地終端)20連接到私有網(wǎng)絡(luò)200。
路由器11是具備端口重用特性的對(duì)稱NAT路由器。這里,參照?qǐng)D2描述具備端口重用特性的路由器11。如圖2所示,當(dāng)中繼從通信終端10發(fā)送過(guò)來(lái)的分組時(shí),具備端口重用特性的路由器11分配與要中繼的分組的源端口號(hào)相同的端口號(hào),作為路由器11的源端口號(hào)。
例如,當(dāng)中繼從通信終端10的端口號(hào)[Pa]發(fā)送過(guò)來(lái)的分組時(shí),路由器11分配路由器11的端口號(hào)[Pa],作為要中繼的分組的源端口號(hào)。同樣,當(dāng)中繼從通信終端10的端口號(hào)[Pb]發(fā)送過(guò)來(lái)的分組時(shí),路由器11分配路由器11的端口號(hào)[Pb],作為要中繼的分組的源端口號(hào)。此外,當(dāng)中繼從通信終端10的端口號(hào)[Pc]發(fā)送過(guò)來(lái)的分組時(shí),路由器11分配路由器11的端口號(hào)[Pc],作為要中繼的分組的源端口號(hào)。這里,另一方面,路由器21是不具備端口重用特性的完全圓錐型NAT路由器。
圖3A的框圖示出了通信終端10的示例性結(jié)構(gòu)。在圖3A中,通信終端10包括地址信息檢查請(qǐng)求部101、地址信息接收部102、通信端口確定部103、中繼特性確定部104、中繼信息發(fā)送部105、中繼信息接收部106、發(fā)送控制部107和通信部108。
地址信息檢查請(qǐng)求部101向服務(wù)器30發(fā)送用于檢查分配給地址信息檢查請(qǐng)求部101相連的路由器11的端口號(hào)的消息(端口號(hào)檢查請(qǐng)求消息)。響應(yīng)于端口號(hào)檢查請(qǐng)求消息,地址信息接收部102從服務(wù)器30接收含有分配給路由器11的端口號(hào)的消息(端口號(hào)檢查響應(yīng)消息)。根據(jù)所接收到的端口號(hào)檢查響應(yīng)消息,中繼特性確定部104確定路由器11的中繼特性。根據(jù)路由器11的中繼特性,通信端口確定部103確定通信終端10用于P2P通信的端口號(hào)。
中繼信息發(fā)送部105向服務(wù)器30發(fā)送消息(IP/端口通知消息),該消息包括路由器11的IP地址和通信終端10用于P2P通信的端口號(hào)。中繼信息接收部106從服務(wù)器30接收從通信終端20發(fā)送過(guò)來(lái)的IP/端口通知消息。通信控制部107控制通信部108,從而與通信終端20進(jìn)行P2P通信。通信部108執(zhí)行通信終端10的所有通信。
這里,因?yàn)榈刂沸畔z查請(qǐng)求部101、地址信息接收部102、通信端口確定部103和中繼特性確定部104確定用于和終端20進(jìn)行P2P通信的地址信息(即,IP地址和端口號(hào)),所以,可以將這些部統(tǒng)稱為地址信息確定部。同樣,因?yàn)橹欣^信息發(fā)送部105和中繼信息接收部106與通信終端20交換所確定的地址信息,所以,可以將這些部統(tǒng)稱為地址信息交換部。
圖3B的框圖示出了通信終端20的示例性結(jié)構(gòu)。在圖3B中,通信終端20包括地址信息檢查請(qǐng)求部201、地址信息接收部202、通信端口確定部203、中繼特性確定部204、中繼信息發(fā)送部205、中繼信息接收部206、通信控制部207和通信部208。因?yàn)橥ㄐ沤K端20的這些部件與上述通信終端10的部件相同,所以,將不再對(duì)其進(jìn)行贅述。
圖3C的框圖示出了服務(wù)器30的示例性結(jié)構(gòu)。在圖3C中,服務(wù)器30包括地址信息檢查部301、地址信息發(fā)送部302、中繼信息傳輸部303和通信部304。
一旦從通信終端10或20接收到端口號(hào)檢查請(qǐng)求消息,地址信息檢查部301就從接收消息(從接收分組的報(bào)頭)中提取源IP地址和源端口號(hào)。地址信息發(fā)送部302將含有地址信息檢查部301提取的IP地址和源端口號(hào)的消息(端口號(hào)檢查響應(yīng)消息)返回給通信終端10或20。中繼信息傳輸部303將從一個(gè)通信終端接收到的IP/端口通知消息中繼到另一個(gè)通信終端。通信部304執(zhí)行服務(wù)器30的所有通信。
圖4示出了根據(jù)本發(fā)明實(shí)施例的通信系統(tǒng)在建立P2P通信路徑時(shí)執(zhí)行的操作。如圖4所示,在建立P2P通信路徑時(shí),根據(jù)本發(fā)明實(shí)施例的通信系統(tǒng)執(zhí)行NAT檢查階段(步驟S100和S200)、P2P通信端口交換階段(步驟S300)和P2P通信路徑建立階段(步驟S400)。
在NAT檢查階段(步驟S100和S200)中,通信終端10和20分別與服務(wù)器30進(jìn)行通信,以檢查通信終端10和20各自相連的路由器11或21的中繼特性,從而確定所述通信終端10和20各自能夠訪問(wèn)的用于進(jìn)行P2P通信的通信端口。具體而言,通信終端10和20分別檢查路由器11或21的中繼特性,以確定路由器的NAT類型(如完全圓錐型NAT、對(duì)稱NAT等)和路由器是否具備端口重用特性。
在P2P通信端口交換階段(步驟S300)中,通信終端10和20通過(guò)服務(wù)器30分別交換在NAT檢查階段中確定的通信端口。在P2P通信路徑建立階段(步驟S400)中,通信終端10和20分別將分組發(fā)送到在P2P通信端口交換階段中交換的通信端口,從而建立P2P通信路徑。
圖5A的流程圖詳細(xì)示出了通信終端10在NAT檢查階段(步驟S100)中執(zhí)行的操作。后面將參照?qǐng)D5A描述通信終端10的NAT檢查階段(步驟S100)。在圖5A中,各消息下方提供的諸如(IPG1,GP11)之類的注釋表示含在所述各消息中的地址信息(源IP地址和源端口號(hào))。
首先,在通信終端10中,地址信息檢查請(qǐng)求部101將端口號(hào)檢查請(qǐng)求消息1從通信終端10的端口號(hào)[LP1]發(fā)送到服務(wù)器30的端口號(hào)[SP0](步驟S101)。
在服務(wù)器30中,當(dāng)?shù)刂沸畔z查部301通過(guò)通信部304接收到端口號(hào)檢查請(qǐng)求消息1時(shí),地址信息檢查部301從接收消息(接收分組的報(bào)頭)中提取源IP地址和源端口號(hào)(即,路由器11的IP地址[IPG1]和源端口號(hào)[GP11])。然后,地址信息發(fā)送部302將含有所提取的路由器11的IP地址[IPG1]和源端口號(hào)[GP11]的端口號(hào)檢查響應(yīng)消息1返回給通信終端10(步驟S102)。
隨后,在通信終端10中,地址信息檢查請(qǐng)求部101將端口號(hào)檢查請(qǐng)求消息2從通信終端10的端口號(hào)[LP1]發(fā)送到服務(wù)器30的端口號(hào)[SP1](步驟S103)。
在服務(wù)器30中,當(dāng)?shù)刂沸畔z查部301通過(guò)通信部304接收到端口號(hào)檢查請(qǐng)求消息2時(shí),地址信息檢查部301從接收消息(從接收分組的報(bào)頭)中提取源IP地址和源端口號(hào)(即,路由器11的IP地址[IPG1]和源端口號(hào)[GP12])。然后,地址信息發(fā)送部302將端口號(hào)檢查響應(yīng)消息2返回給通信終端10(步驟S104),該端口號(hào)檢查響應(yīng)消息2含有地址信息檢查部301提取的路由器11的IP地址[IPG1]和源端口號(hào)[GP12]。
下面描述通信終端10在步驟101和102中將端口號(hào)檢查請(qǐng)求消息從相同的端口號(hào)[LP1]發(fā)送到服務(wù)器30的兩個(gè)端口號(hào)[SP0,SP1]的原因。當(dāng)含在服務(wù)器30接收的兩個(gè)端口號(hào)檢查請(qǐng)求消息中的路由器11的源端口號(hào)相同時(shí)(即,GP11=GP12),通信終端10將路由器11確定為圓錐型NAT路由器(完全圓錐型、受限圓錐型或端口受限圓錐型)。當(dāng)含在服務(wù)器30接收的兩個(gè)端口號(hào)檢查請(qǐng)求消息中的源端口號(hào)不同時(shí)(即,GP11≠GP12),通信終端10將路由器11確定為對(duì)稱NAT路由器。換句話說(shuō),通過(guò)將端口號(hào)檢查請(qǐng)求消息從相同端口號(hào)[LP1]發(fā)送到服務(wù)器30的兩個(gè)端口號(hào)[SP0,SP1],通信終端10能夠檢查路由器11的NAT類型。
注意,通信終端10可以采用與上述方式不同的方式檢查路由器11的NAT類型。例如,通信終端10可以通過(guò)路由器將分組發(fā)送到具有彼此不同IP地址的兩個(gè)服務(wù)器。然后,通信終端10可以根據(jù)此時(shí)分配的路由器的端口號(hào)是相同還是不同來(lái)檢查路由器的NAT類型。
在通信終端10中,當(dāng)?shù)刂沸畔⒔邮詹?02通過(guò)通信部108接收到端口號(hào)檢查響應(yīng)消息1和2時(shí),地址信息接收部102將所接收的消息給予中繼特性確定部104。中繼特性確定部104檢查含在端口號(hào)檢查響應(yīng)消息1中的路由器11的端口號(hào)[GP11]和在發(fā)送端口號(hào)檢查請(qǐng)求消息1時(shí)所用的通信終端10的端口號(hào)[LP1]是否一致(步驟S105)。當(dāng)路由器11的端口號(hào)[GP11]和通信終端10的端口號(hào)[LP1]一致時(shí)(即,GP11=LP1),中繼特性確定部104確定路由器11的NAT具備端口重用特性(步驟S106)。
在通信終端10中,中繼特性確定部104進(jìn)一步檢查含在地址信息接收部102接收的端口號(hào)檢查響應(yīng)消息1和2中的路由器11的端口號(hào)是否相互一致(步驟S107)。當(dāng)路由器11的端口號(hào)相互一致時(shí),中繼特性確定部104將路由器11確定為圓錐型NAT路由器。當(dāng)路由器11的端口號(hào)相互不一致時(shí),中繼特性確定部104將路由器11確定為對(duì)稱NAT路由器(步驟S108)。
根據(jù)中繼特性確定部104確定的路由器11的中繼特性,通信端口確定部103確定通信終端10用于P2P通信的端口號(hào)(步驟S109)。后面將詳細(xì)描述P2P通信端口確定處理(步驟S109)。
圖5B的流程圖詳細(xì)示出了通信終端20在NAT檢查階段(步驟S200)中執(zhí)行的操作。后面將參照?qǐng)D5B描述通信終端20的NAT檢查階段處理(步驟S200)。
首先,在通信終端20中,地址信息檢查請(qǐng)求部201將端口號(hào)檢查消息1從通信終端20的端口號(hào)[LP2]發(fā)送到服務(wù)器30的端口號(hào)[SP0](步驟S201)。
在服務(wù)器30中,當(dāng)?shù)刂沸畔z查部301通過(guò)通信部304接收端口號(hào)檢查請(qǐng)求消息1時(shí),地址信息檢查部301從接收消息(從接收分組的報(bào)頭)中提取源IP地址和源端口號(hào)(即,路由器21的IP地址[IPG2]和源端口號(hào)[GP21])。然后,地址信息發(fā)送部302將端口號(hào)檢查響應(yīng)消息1返回給通信終端20(步驟S202),該端口號(hào)檢查響應(yīng)消息1含有地址信息檢查部301提取的路由器21的IP地址[IPG2]和源端口號(hào)[GP21]。
在通信終端20中,地址信息檢查請(qǐng)求部201將端口號(hào)檢查請(qǐng)求消息2從通信終端2的端口號(hào)[LP2]發(fā)送到服務(wù)器30的端口號(hào)[SP1](步驟S203)。
在服務(wù)器30中,當(dāng)?shù)刂沸畔z查部301通過(guò)通信部304接收端口號(hào)檢查請(qǐng)求消息2時(shí),地址信息檢查部301從接收消息(從接收分組的報(bào)頭)中提取源IP地址和源端口號(hào)(即,路由器21的IP地址[IPG2]和源端口號(hào)[GP22])。然后,地址信息發(fā)送部302將端口號(hào)檢查響應(yīng)消息2返回給通信終端20(步驟S204),該端口號(hào)檢查響應(yīng)消息2含有地址信息檢查部301提取的路由器21的IP地址[IPG2]和源端口號(hào)[GP22]。
這里,通信終端20在步驟201和202中將端口號(hào)檢查請(qǐng)求消息從相同端口號(hào)[LP2]發(fā)送到服務(wù)器30的兩個(gè)端口號(hào)[SP0,SP1]的原因與以上參照?qǐng)D5A對(duì)通信終端10描述的原因相同。
接下來(lái),在通信終端20中,當(dāng)?shù)刂沸畔⒔邮詹?02通過(guò)通信部208接收端口號(hào)檢查響應(yīng)消息1和2時(shí),地址信息接收部202將所接收的消息給予中繼特性確定部202。中繼特性確定部204檢查含在端口號(hào)檢查響應(yīng)消息2中的路由器21的端口號(hào)[GP21]和在發(fā)送端口號(hào)檢查請(qǐng)求消息1時(shí)所用的通信終端20的端口號(hào)[LP2]是否一致(步驟S205)。當(dāng)路由器21的端口號(hào)[GP21]和通信終端20的端口號(hào)[LP2]一致時(shí)(即,GP21=LP2),中繼特性確定部204確定路由器21的NAT具備端口重用特性(步驟S206)。
此外,在通信終端20中,中繼特性確定部204檢查含在地址信息接收部202接收的端口號(hào)檢查響應(yīng)消息1和2中的路由器21的端口號(hào)是否相互一致(步驟S207)。當(dāng)路由器21的端口號(hào)相互一致時(shí),中繼特性確定部204將路由器21確定為圓錐型NAT路由器。當(dāng)路由器11的端口號(hào)相互不一致時(shí),中繼特性確定部204將路由器21確定為對(duì)稱NAT路由器(步驟S208)。
根據(jù)中繼特性確定部204確定的路由器21的中繼特性,通信端口確定部203確定通信終端20用于P2P通信的端口號(hào)(步驟S209)。
圖5C的流程圖詳細(xì)示出了在P2P通信端口確定處理(步驟S109)中執(zhí)行的操作。后面將參照?qǐng)D5C詳細(xì)描述通信終端10執(zhí)行的P2P通信端口確定處理(步驟S109)。
首先,在通信終端10中,通信端口確定部103檢查路由器11的NAT是否具備端口重用特性(步驟S1091)。當(dāng)路由器11的NAT具備端口重用特性時(shí),通信端口確定部106自由選擇用于P2P通信的端口號(hào)(步驟S1092)。這里假設(shè)通信端口確定部103將端口號(hào)[GP13]作為用于P2P通信的端口號(hào)。
下面描述當(dāng)路由器11的NAT具備端口重用特性時(shí)使通信端口確定部103自由選擇用于P2P通信的端口號(hào)的原因。當(dāng)路由器11具備端口重用特性時(shí),給路由器11分配的端口號(hào)與通信終端10打開的端口號(hào)相同。因此,在下面的P2P通信端口交換階段(步驟S300)中,通信終端10僅需要將通信終端10已經(jīng)打開了哪一個(gè)端口號(hào)告知通信終端20。因此,通信端口確定部103可以自由選擇用于P2P通信的端口號(hào)。
當(dāng)路由器11的NAT不具備端口重用特性時(shí),通信端口確定部103檢查路由器11是否為圓錐型NAT路由器(步驟S1093)。當(dāng)路由器11是圓錐型NAT路由器時(shí),通信端口確定部103將已經(jīng)從端口號(hào)確定響應(yīng)消息1中獲得的路由器11的端口號(hào)(步驟S102)選擇為用于P2P通信的端口號(hào)(步驟S1094),因?yàn)椋诼酚善?1是圓錐型NAT路由器的情況下,當(dāng)路由器11中繼的消息具有相同的源端口號(hào)時(shí),路由器11總是分配有相同的端口號(hào)。
另一方面,當(dāng)路由器11不是圓錐型NAT路由器時(shí)(即,當(dāng)路由器11是對(duì)稱NAT路由器),當(dāng)執(zhí)行P2P通信時(shí),通信端口確定部103需要預(yù)測(cè)分配給路由器11的端口號(hào)。因此,當(dāng)假設(shè)從端口號(hào)檢查響應(yīng)消息2中獲得的路由器11的端口號(hào)[GP12]和從端口號(hào)檢查響應(yīng)1中獲得的路由器11的端口號(hào)[GP11]之間的差為α?xí)r,通信端口確定部103將[GP12+α]選擇為用于P2P通信的端口號(hào)(步驟S1095)。
注意,因?yàn)閳D5B中的P2P通信端口確定處理(步驟S209)與圖5C中的P2P通信端口確定處理相同,所以,將不再對(duì)其進(jìn)行贅述。
假設(shè)在本實(shí)施例中路由器11具備端口重用特性并且是對(duì)稱NAT路由器。因此,路由器11分配的端口號(hào)為GP11=LP1且GP11=GP12。還假設(shè)在本實(shí)施例中路由器21不具備端口重用特性并且是完全圓錐型NAT路由器。因此,路由器21分配的端口號(hào)為GP21≠LP2且GP21=GP22。后面將給出假設(shè)路由器11和21分配以上端口號(hào)的描述。
圖6的流程圖詳細(xì)示出了在P2P通信端口交換階段(步驟S300)中執(zhí)行的操作。后面將參照?qǐng)D6詳細(xì)描述P2P通信端口交換階段(步驟S300)。
在通信終端10中,中繼信息發(fā)送部105將路由器11的IP地址和含有通信端口確定部103確定的端口號(hào)的IP/端口通知消息發(fā)送到服務(wù)器30(步驟S301)。因?yàn)樵诒緦?shí)施例中路由器11具備端口重用特性,所以,服務(wù)器30接收的IP/端口通知消息含有路由器11的IP地址[IPG1]和端口號(hào)[GP13]。
在服務(wù)器30中,中繼信息傳輸部303通過(guò)通信部304將已經(jīng)從通信終端10接收到的IP/端口通知消息中繼到通信終端20(步驟S302)。在通信終端20中,中繼信息接收部206通過(guò)服務(wù)器30接收從終端終端10發(fā)送過(guò)來(lái)的IP/端口通知消息。
在通信終端20中,中繼信息發(fā)送部205將通信端口確定部203已經(jīng)確定的端口號(hào)作為IP/端口通知消息發(fā)送到服務(wù)器30(步驟S303)。因?yàn)樵诒緦?shí)施例中路由器11是完全圓錐型NAT路由器且不具備端口重用特性,所以,IP/端口通知消息含有從端口號(hào)檢查響應(yīng)消息1中獲得的路由器21的IP地址[IPG2]和端口號(hào)[GP21]。
在服務(wù)器30中,中繼信息傳輸部303通過(guò)通信部304將已經(jīng)從通信終端20接收到的IP/端口通知消息中繼到通信終端10(步驟S304)。在通信終端10中,中繼信息接收部206通過(guò)服務(wù)器30接收從終端終端20發(fā)送過(guò)來(lái)的IP/端口通知消息。
圖7的流程圖詳細(xì)示出了在圖4的P2P通信路徑建立階段(步驟S400)中執(zhí)行的操作。后面將參照?qǐng)D7詳細(xì)描述P2P通信路徑建立階段(步驟S400)。
在通信終端20中,通信控制部207將P2P開始請(qǐng)求消息發(fā)送到含在已經(jīng)在步驟S302中從通信終端10接收到的IP/端口通知消息中的地址信息[IPG1,GP13](步驟S401)。路由器21將從通信終端20發(fā)送過(guò)來(lái)的P2P開始請(qǐng)求消息中繼到路由器11。此時(shí),因?yàn)樵O(shè)定了將以相反方向轉(zhuǎn)發(fā)過(guò)來(lái)的分組進(jìn)行中繼,所以,對(duì)路由器21的NAT進(jìn)行設(shè)定,以便將路由器21[IPG2,GP21]從通信終端10(即,從路由器11[IPG1,GP13])接收的分組中繼到通信終端20[IPL2,LP2]。
路由器11通過(guò)路由器21接收從通信終端20發(fā)送過(guò)來(lái)的P2P開始請(qǐng)求消息。但是,路由器11的NAT未被設(shè)定成能夠?qū)⒁呀?jīng)通過(guò)路由器21[IPG2,GP21]發(fā)送到地址信息[IPG1,GP13]的分組中繼到通信終端10。因此,路由器11將從通信終端20發(fā)送過(guò)來(lái)的P2P開始請(qǐng)求消息丟棄。
在通信終端10中,通信控制部107將P2P開始請(qǐng)求消息發(fā)送到含在已經(jīng)在步驟S304中從通信終端20接收到的IP/端口通知消息中的地址信息[IPG2,GP21](步驟S402)。路由器11將從通信終端10發(fā)送過(guò)來(lái)的P2P開始請(qǐng)求消息中繼到路由器21。此時(shí),因?yàn)樵O(shè)定了將以相反方向轉(zhuǎn)發(fā)過(guò)來(lái)的分組進(jìn)行中繼,所以,對(duì)路由器11的NAT進(jìn)行設(shè)定,以便將路由器11[IPG1,GP13]從通信終端20(即,從路由器21[IPG2,GP21])接收的分組中繼到通信終端20[IPL2,LP2]。
路由器21通過(guò)路由器11接收從通信終端10發(fā)送過(guò)來(lái)的P2P開始請(qǐng)求消息。如上所述,路由器21的NAT已經(jīng)被設(shè)定成將路由器21[IPG2,GP21]從本地終端11(即,從路由器11[IPG1,GP13])接收到的分組中繼到通信終端20[IPL2,LP2]。因此,路由器21能夠?qū)耐ㄐ沤K端10發(fā)送過(guò)來(lái)的P2P開始請(qǐng)求消息中繼到通信終端20。
此外,在通信終端20中,當(dāng)通信控制部207從通信終端10接收到P2P開始請(qǐng)求消息時(shí),通信控制部207再次將P2P開始請(qǐng)求消息發(fā)送到含在已經(jīng)在步驟S302中從通信終端10接收到的IP/端口通知消息中的地址信息[IPG1,GP13](步驟S403)。路由器21將從通信終端20發(fā)送過(guò)來(lái)的P2P開始請(qǐng)求消息中繼到路由器11。如上所述,路由器11已經(jīng)被設(shè)定成將路由器11從通信終端20(即,從路由器21[IPG2,GP21])接收到的分組中繼到通信終端10[IPL1,LP1]。因此,路由器11能夠?qū)耐ㄐ沤K端20發(fā)送過(guò)來(lái)的P2P開始請(qǐng)求消息中繼到通信終端10。因此,在通信終端10和20之間建立了P2P通信路徑。
如上所述,根據(jù)本發(fā)明的實(shí)施例的通信終端10將預(yù)定消息發(fā)送到服務(wù)器30和從服務(wù)器30接收預(yù)定消息,并且,根據(jù)發(fā)送和接收的消息,檢查路由器11的中繼特性。當(dāng)路由器11的中繼特性為端口重用時(shí),通信終端10將含有通信終端10至少一個(gè)端口號(hào)的地址信息確定為路由器所用的地址信息,所述端口號(hào)用于和另一通信終端20進(jìn)行P2P通信。當(dāng)路由器11的中繼特性為端口重用時(shí),這使得通信終端10能簡(jiǎn)化用于使用服務(wù)器11確定路由器11所用的地址信息的處理。
此外,當(dāng)路由器11具備端口重用中繼特性且為對(duì)稱NAT路由器時(shí),通信終端10能夠省略用于預(yù)測(cè)路由器11所要用的端口號(hào)的處理。因此,通信終端10能夠在短時(shí)間段內(nèi)并以較小業(yè)務(wù)量和另一通信終端20建立P2P通信路徑,并能夠?qū)崿F(xiàn)其高連通性。
注意,為了準(zhǔn)備下面的P2P通信端口交換階段(步驟S300),圖4中的NAT檢查階段(步驟S100和S200)需要由各終端預(yù)先執(zhí)行。NAT檢查階段并不必需用圖4所示的方式來(lái)執(zhí)行。
如果相互之間已經(jīng)執(zhí)行過(guò)P2P通信的終端再次在其之間進(jìn)行P2P通信,那么,可以省略NAT檢查階段,如果預(yù)先檢查的路由器的中繼特性為端口重用的話。
在圖6中,通信終端10首先發(fā)送IP端口/端口通知消息。但是,根據(jù)在圖5A和5b中所示的確定P2P通信端口的時(shí)機(jī),通信終端10可以首先發(fā)送IP端口/端口通知消息。因此,該處理并不必需用圖6所示的次序來(lái)執(zhí)行。
此外,在圖6中,通信終端10和20分別使用IP/端口通知消息,從而將僅僅一個(gè)IP/端口組合告知相應(yīng)的終端。但是,通過(guò)將多個(gè)IP/端口組合告知相應(yīng)的終端,可以提高成功建立P2P通信路徑的概率。
在圖7中,通信終端20首先發(fā)送P2P通信開始請(qǐng)求消息。但是,根據(jù)在圖6中所示的接收到IP/端口通知消息的時(shí)機(jī),通信終端10可以首先發(fā)送P2P通信開始請(qǐng)求消息。因此,該處理并不必需用圖7所示的次序來(lái)執(zhí)行。
產(chǎn)業(yè)實(shí)用性 當(dāng)通信終端通過(guò)路由器和另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一互連時(shí),本發(fā)明的通信終端和通信方法是有用的。
權(quán)利要求
1.一種通信終端,處在通過(guò)路由器和全局網(wǎng)絡(luò)相連的一個(gè)私有網(wǎng)絡(luò)上,并通過(guò)所述路由器和另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一的互連,包括地址信息確定部,用于通過(guò)向所述全局網(wǎng)絡(luò)上的服務(wù)器發(fā)送預(yù)定消息和從所述全局網(wǎng)絡(luò)上的服務(wù)器接收預(yù)定消息來(lái)檢查所述路由器的中繼特性,并且,根據(jù)檢查結(jié)果確定所述路由器的地址信息,所述地址信息將用于和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一的互連;地址信息交換部,用于和所述另一網(wǎng)絡(luò)上的通信終端交換由所述地址信息確定部確定出的路由器地址信息;通信控制部,用于根據(jù)所述地址信息交換部已經(jīng)交換的路由器地址信息,和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一的互連;以及通信部,用于執(zhí)行所述通信終端的所有通信;其中當(dāng)所述路由器的中繼特性為端口重用時(shí),所述地址信息確定部將含有所述通信終端至少一個(gè)端口號(hào)的地址信息確定為所述路由器的地址信息,所述端口號(hào)將用于和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一的互連。
2.如權(quán)利要求1所述的通信終端,其中,所述地址信息確定部包括地址信息請(qǐng)求部,用于通過(guò)所述路由器向所述服務(wù)器發(fā)送預(yù)定消息來(lái)請(qǐng)求路由器地址信息;地址信息接收部,用于從所述服務(wù)器接收作為對(duì)所述請(qǐng)求之響應(yīng)的路由器地址信息;中繼特性確定部,用于根據(jù)所述地址信息接收部收到的路由器地址信息,確定所述路由器的中繼特性;以及端口號(hào)確定部,用于根據(jù)所述中繼特性確定部確定出的路由器中繼特性,確定所述通信終端的端口號(hào),所述端口號(hào)將用于和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一的互連。
3.如權(quán)利要求2所述的通信終端,其中所述地址信息檢查請(qǐng)求部從所述通信終端的預(yù)定端口號(hào)連續(xù)地向所述服務(wù)器的第一端口號(hào)發(fā)送第一端口號(hào)檢查請(qǐng)求消息和向所述服務(wù)器的第二端口號(hào)發(fā)送第二端口號(hào)檢查請(qǐng)求消息;所述地址信息接收部從所述服務(wù)器接收第一端口號(hào)檢查響應(yīng)消息和第二端口號(hào)檢查響應(yīng)消息,所述第一端口號(hào)檢查響應(yīng)消息是對(duì)所述第一端口號(hào)檢查請(qǐng)求消息做出的響應(yīng),而所述第二端口號(hào)檢查響應(yīng)消息是對(duì)所述第二端口號(hào)檢查請(qǐng)求消息做出的響應(yīng);以及所述中繼特性確定部根據(jù)所述地址信息接收部收到的所述第一和第二端口號(hào)檢查響應(yīng)消息,確定所述路由器的中繼特性。
4.如權(quán)利要求3所述的通信終端,其中所述第一端口號(hào)檢查響應(yīng)消息包括路由器IP地址和在向所述服務(wù)器中繼所述第一端口號(hào)檢查請(qǐng)求消息時(shí)所用的路由器源端口號(hào);所述第二端口號(hào)檢查響應(yīng)消息包括路由器IP地址和在向所述服務(wù)器中繼所述第二端口號(hào)檢查請(qǐng)求消息時(shí)所用的路由器源端口號(hào);以及如果在發(fā)送所述第一端口號(hào)檢查請(qǐng)求消息時(shí)所用的通信終端端口號(hào)和含在所述第一端口號(hào)檢查響應(yīng)消息中的路由器源端口號(hào)一致,則所述中繼特性確定部確定所述路由器的中繼特性為端口重用。
5.如權(quán)利要求4所述的通信終端,其中所述中繼特性確定部確定如果含在所述第一端口號(hào)檢查響應(yīng)消息中的路由器源端口號(hào)和含在所述第二端口號(hào)檢查響應(yīng)消息中的路由器源端口號(hào)一致,則所述路由器的中繼特性具備圓錐型NAT功能;以及如果含在所述第一端口號(hào)檢查響應(yīng)消息中的路由器源端口號(hào)和含在所述第二端口號(hào)檢查響應(yīng)消息中的路由器源端口號(hào)不一致,則所述路由器的中繼特性具備對(duì)稱NAT功能。
6.如權(quán)利要求5所述的通信終端,其中,如果所述中繼特性確定部確定所述路由器的中繼特性不是端口重用并且所述路由器具備圓錐型NAT功能,則所述通信端口確定部將含在所述第一端口號(hào)檢查響應(yīng)消息中的路由器源端口號(hào)用作和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一互連所用的端口號(hào)。
7.如權(quán)利要求5所述的通信終端,其中,如果所述中繼特性確定部確定所述路由器的中繼特性不是端口重用并且所述路由器具備對(duì)稱NAT功能,則所述通信端口確定部將一個(gè)特定的端口號(hào)用作和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一互連所用的端口號(hào),所述特定的端口號(hào)是含在所述第二端口號(hào)檢查響應(yīng)消息中的路由器源端口號(hào)加上含在所述第二端口號(hào)檢查響應(yīng)消息中的路由器源端口號(hào)和含在所述第一端口號(hào)檢查響應(yīng)消息中的路由器源端口號(hào)之差的結(jié)果。
8.如權(quán)利要求1所述的通信終端,其中,所述地址信息交換部包括中繼信息發(fā)送部,用于通過(guò)所述服務(wù)器向所述另一網(wǎng)絡(luò)上的通信終端發(fā)送內(nèi)設(shè)有路由器地址信息的消息,所述地址信息將用于和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一的互連;以及中繼信息發(fā)送部,用于通過(guò)所述服務(wù)器從所述另一網(wǎng)絡(luò)上的通信終端接收消息,在所述消息中設(shè)有所述通信終端和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一互連所用的地址信息。
9.如權(quán)利要求1所述的通信終端,其中,所述通信控制部根據(jù)所述地址信息交換部已經(jīng)交換的地址信息,通過(guò)所述通信部發(fā)送用于請(qǐng)求一對(duì)一互連開始的消息,并且,在從所述另一網(wǎng)絡(luò)上的通信終端接收到用于請(qǐng)求一對(duì)一互連開始的消息時(shí),和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一的互連。
10.一種由通信終端執(zhí)行的通信方法,所述通信終端處在通過(guò)路由器和全局網(wǎng)絡(luò)相連的一個(gè)私有網(wǎng)絡(luò)上,并通過(guò)所述路由器和另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一的互連,所述通信方法包括通過(guò)向所述全局網(wǎng)絡(luò)上的服務(wù)器發(fā)送預(yù)定消息和從所述全局網(wǎng)絡(luò)上的服務(wù)器接收預(yù)定消息來(lái)檢查所述路由器的中繼特性;當(dāng)所述路由器的中繼特性為端口重用時(shí),將含有所述通信終端至少一個(gè)端口號(hào)的地址信息確定為所述路由器的地址信息,所述端口號(hào)將用于和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一的互連;和所述另一網(wǎng)絡(luò)上的通信終端交換所確定出的路由器地址信息;以及根據(jù)所交換的地址信息,和所述另一網(wǎng)絡(luò)上的通信終端進(jìn)行一對(duì)一的互連。
全文摘要
本發(fā)明提供了一種通信終端,它能夠和連到不同私有網(wǎng)絡(luò)的另一通信終端建立P2P通信路徑。通信終端(10)通過(guò)路由器(11)向服務(wù)器(30)發(fā)送消息和從服務(wù)器(30)接收消息,從而檢查路由器(11)的中繼特性。當(dāng)檢查出的路由器(11)中繼特性為端口重用時(shí),通信終端(10)將含有通信終端(10)至少一個(gè)端口號(hào)的地址信息確定為路由器地址信息,所述端口號(hào)用于和通信終端(20)進(jìn)行P2P通信。通信終端(10)和通信終端(20)交換所確定的路由器(11)地址信息。根據(jù)所交換的地址信息,通信終端(10)和通信終端(20)建立P2P通信路徑。
文檔編號(hào)H04L12/66GK101053218SQ20058003785
公開日2007年10月10日 申請(qǐng)日期2005年11月4日 優(yōu)先權(quán)日2004年11月8日
發(fā)明者濱本望繪, 古門健, 山本學(xué) 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1