專利名稱:使用中繼服務器的數(shù)據傳輸系統(tǒng)和方法
技術領域:
示例性實施例涉及ー種數(shù)據傳輸技術,更具體地說,涉及ー種使用中繼服務器的數(shù)據傳輸技木。
背景技術:
對等(P2P)技術使用戶能夠通過直接連接到單獨終端來共享各種信息和內容。 P2P技術最初用作用于使用戶能夠在互聯(lián)網上彼此非法地共享音樂文件和視頻文件的方法。然而,最近,P2P技術已經被用于多種服務,諸如信使系統(tǒng)中的客戶之間的文件傳輸、互聯(lián)網電話中的音頻數(shù)據傳輸?shù)?。如果在P2P技術中由于客戶存在于私有網絡中而使得客戶之間的直接連接不可行,則使用中繼服務器來中繼數(shù)據的方法被使用。此時,當中繼用戶數(shù)據報協(xié)議(UDP)數(shù)據時使用UDP中繼服務器,當中繼傳輸控制協(xié)議(TCP)數(shù)據時使用TCP中繼服務器。然而,現(xiàn)有技術中的使用中繼服務器的數(shù)據傳輸方法具有以下問題。第一個問題是客戶必須周期性地連接到特定服務器,從而與服務建立連接并與其他客戶交換數(shù)據(消息、文件等)。為此,許多服務提供商配置登錄服務器,從而當客戶被登錄服務器驗證時該客戶可訪問服務。此時,客戶維持與登錄服務器的TCP連接,并識別出可通過TCP連接進行P2P服務的狀態(tài)。然而,當客戶通過登錄服務器連續(xù)地維持TCP連接吋,該服務器承受大量負載。第二個問題是如果由于客戶存在于私有網絡中而使得客戶之間的直接連接不可行,則每個客戶在與中繼服務器(TCP中繼服務器或UDP中繼服務器)建立連接之后應該通過中繼服務器將數(shù)據發(fā)送到第二客戶。然而,由于TCP中繼服務器僅中繼TCP數(shù)據,UDP中繼服務器僅中繼UDP數(shù)據,因此在UDP連接不可行的環(huán)境下客戶不通過UDP中繼服務器發(fā)送數(shù)據。當連接到客戶的中繼服務器的類型彼此不同吋,可能不能進行數(shù)據傳輸。第三個問題是由于當通過中繼服務器在客戶之間中繼數(shù)據時,每個客戶不處于與第二客戶建立直接連接的狀態(tài),因此數(shù)據傳輸不能得到直接保證。也就是說,存在這樣的問題由于無法直接確定第二客戶是否已成功接收到其自身發(fā)送的數(shù)據,因此數(shù)據傳輸?shù)目煽啃圆荒艿玫奖WC。
發(fā)明內容
示例性實施例提供ー種使用中繼服務器的數(shù)據傳輸系統(tǒng)和方法,所述系統(tǒng)和方法可在不需要登錄服務器的情況下維持P2P網絡連接。示例性實施例還提供ー種使用中繼服務器的數(shù)據傳輸系統(tǒng)和方法,所述系統(tǒng)和方法可在不管TCP使用環(huán)境和UDP使用環(huán)境的情況下發(fā)送數(shù)據。
示例性實施例還提供一種使用中繼服務器的數(shù)據傳輸系統(tǒng)和方法,所述系統(tǒng)和方法可保證客戶之間的數(shù)據傳輸。根據示例性實施例,提供了一種使用中繼服務器的數(shù)據傳輸系統(tǒng),包括中繼服務器;客戶,配置為將注冊包發(fā)送到中繼服務器,其中,中繼服務器在通過注冊包注冊客戶之后將注冊結果消息發(fā)送到客戶。根據另一示例性實施例,提供了一種使用中繼服務器的數(shù)據傳輸方法,包括(A)由中繼服務器從客戶接收注冊包;(B)由中繼服務器在通過注冊包注冊客戶之后將注冊結果消息發(fā)送到客戶;(C)由中繼服務器將客戶的注冊信息發(fā)送到定位服務器(locationsever)0
通過參照附圖詳細描述其示例性實施例,上述和其它對象、特點和優(yōu)點對于本領域普通技術人員將變得更加清楚,其中圖1是示出根據示例性實施例的客戶通過與TCP中繼服務器建立連接來維持P2P網絡連接的方法的示圖;圖2是示出根據示例性實施例的將被客戶發(fā)送到TCP中繼服務器的注冊包的示圖;圖3是示出根據示例性實施例的客戶通過與UDP中繼服務器建立連接來維持P2P網絡連接的方法的示圖;圖4是示出將數(shù)據從使用UDP的客戶發(fā)送到使用UDP的客戶的方法的示圖;圖5是示出將數(shù)據從使用TCP的客戶發(fā)送到使用TCP的客戶的方法的示圖;圖6是示出將數(shù)據從使用UDP的客戶發(fā)送到使用TCP的客戶的方法的示圖;圖7是示出將數(shù)據從使用TCP的客戶發(fā)送到使用UDP的客戶的方法的示圖。
具體實施例方式下面將參照圖1到圖7詳細描述根據示例性實施例的使用中繼服務器的數(shù)據傳輸系統(tǒng)和方法。在下面的描述中,為了保持公開的清楚和簡明,不詳細描述涉及示例性實施例的公知技術??紤]到示例性實施例的功能來選擇這里使用的術語,且所述術語可依據用戶或操作者的意圖或者本領域內的習慣而不同。因此,應該基于本說明書的整體上下文來理解術語的意義。提供這些示例性實施例從而本發(fā)明將是充分且完整的,并且將向本領域技術人員充分傳達本發(fā)明構思,且示例性實施例僅由權利要求及其等同物限定。1、P2P網絡連接維持在示例性實施例中,每個客戶在不與單獨服務器(諸如登錄服務器)建立連接的情況下,僅通過中繼服務器來維持P2P網絡連接并交換數(shù)據。在這方面,劃分并描述客戶連接到TCP中繼服務器的情況和客戶連接到UDP中繼服務器的情況。這里,客戶根據其所屬的網絡環(huán)境連接到TCP中繼服務器或UDP中繼服務器。1-1、客戶連接到TCP中繼服務器的情況
圖1是示出根據示例性實施例的客戶通過與TCP中繼服務器建立連接來維持P2P網絡連接的方法的示圖。參照圖1,客戶102與TCP中繼服務器104建立TCP連接(SlOl)。特別地,如果客戶102將同步(SYN)包發(fā)送到TCP中繼服務器104,則TCP中繼服務器104將SYN+確認(ACK)包作為對SYN包的響應發(fā)送到客戶102。然后,客戶102發(fā)送ACK包作為SYN+ACK的響應。因此,通過3次握手方法在客戶102和TCP中繼服務器104之間建立TCP連接。接著,客戶102將注冊包發(fā)送到TCP中繼服務器104(S103)。圖2是示出根據示例性實施例的將被客戶發(fā)送到TCP中繼服務器的注冊包的示圖。參照圖2,注冊包150包括頭151和有效載荷154。頭151包括IP頭和TCP頭。IP頭包括客戶102的私有IP地址,TCP頭包括客戶102的私有端口號。有效載荷154包括客戶102的用戶識別信息、客戶102的私有IP地址、關于客戶102的私有端口號的信息、客戶102所屬的私有網絡的網絡地址轉換器(NAT)類型等。用戶識別信息是用于從其他客戶識別客戶102的唯一信息。用戶識別信息的示例可包括用戶標識符(ID)、與用戶ID映射的用戶唯一號、客戶102的介質訪問控制(MAC)地址等。NAT是在私有網絡和公共網絡之間相互轉換IP私有地址和公共IP地址的裝置。當客戶102屬于私有網絡時,客戶102使用NAT從而節(jié)省互聯(lián)網的公共IP地址或保護客戶102免受外部攻擊??纱嬖谒姆NNAT類型全錐(full cone)、限制錐(restricted cone)、端口限制錐(port restricted cone)禾口對稱維(symmetric cone)??蛻?102 關于客戶 102 所屬的私有網絡的NAT類型的信息包括在注冊包中,并將注冊包發(fā)送到TCP中繼服務器104。這里,由客戶102發(fā)送的注冊包150通過客戶102所屬的私有網絡的NAT,被傳送到TCP中繼服務器104。此時,NAT將包括在注冊包150的IP頭中的客戶102的私有IP地址轉換為與該私有IP地址映射的公共IP地址,將包括在TCP頭中的客戶102的私有端口號轉換為與該私有端口號映射的公共端口號,并傳送所述公共IP地址和所述公共端口號。接著,TCP中繼服務器104使用包括在注冊包中的信息,在TCP中繼服務器104中注冊客戶102 610 。然后,TCP中繼服務器104具有客戶102的注冊信息。注冊信息包括客戶102的用戶識別信息、客戶102的私有IP地址、客戶102的私有端口號、客戶102所屬的私有網絡的NAT類型、映射的客戶102的公共IP地址以及映射的客戶102的公共端口號。接著,TCP中繼服務器104將注冊結果消息發(fā)送到客戶102 (S107)。在這種情況下,客戶102處于與P2P網絡建立了連接且P2P服務可用的狀態(tài)。在維持與TCP中繼服務器104的TCP連接時持續(xù)該狀態(tài)。此時,客戶102可通過TCP中繼服務器104將數(shù)據發(fā)送到其他客戶或從其他客戶接收數(shù)據。如上所述,客戶102在TCP中繼服務器104中被注冊,從而確定客戶102是否處于在不需要使用單獨登錄服務器的情況下P2P服務可用的狀態(tài),并執(zhí)行與其他客戶的數(shù)據通信。這里,如果終止客戶102和中繼服務器104之間的TCP連接,則TCP中繼服務器104通過確定客戶102已經登出來執(zhí)行注冊釋放進程。接著,TCP中繼服務器104將客戶102的注冊信息發(fā)送到定位服務器106 (S109)。然后,定位服務器106存儲客戶102的注冊信息。1-2、客戶連接到UDP中繼服務器的情況圖3是示出根據示例性實施例的客戶通過與UDP中繼服務器建立連接來維持P2P網絡連接的方法的示圖。參照圖3,客戶202將注冊包發(fā)送到UDP中繼服務器204(S201)。也就是說,由于UDP不提供像TCP —樣的連接功能,因此客戶202最初將注冊包發(fā)送到UDP中繼服務器204。除了由客戶202發(fā)送的注冊包具有代替TCP頭的UDP頭之外,由客戶202發(fā)送的注冊包和圖2中示出的注冊包相同。注冊包通過客戶202所屬的私有網絡的NAT被傳送到UDP中繼服務器204。此時,NAT將包括在注冊包的IP頭中的客戶202的私有IP地址轉換為與該私有IP地址映射的公共IP地址,將包括在UDP頭中的客戶202的私有端口號轉換為與該私有端口號映射的公共端口號,并傳送所述公共IP地址和所述公共端口號。接著,UDP中繼服務器204使用包括在注冊包中的信息,在UDP中繼服務器204中注冊客戶202(S20;3)。然后,UDP中繼服務器204具有客戶202的注冊信息。注冊信息包括客戶202的用戶識別信息、客戶202的私有IP地址、客戶202的私有端口號、客戶202所屬的私有網絡的NAT類型、映射的客戶202的公共IP地址以及映射的客戶202的公共端口號。接著,UDP中繼服務器204將注冊結果消息發(fā)送到客戶202 (S205),并將客戶202的注冊信息發(fā)送到定位服務器206 (S207)。然后,定位服務器206存儲客戶202的注冊信
肩、ο接著,如果客戶202周期性地將保持接通(Ke印Alive)消息發(fā)送到UDP中繼服務器204(S209),則UDP中繼服務器204以回送模式將保持接通消息重發(fā)給客戶202(S211)。通過這樣,客戶202可確定客戶202是否處于P2P服務可用(也就是說,建立了與P2P網絡的連接)的狀態(tài)。此時,UDP中繼服務器204檢查來自客戶202的保持接通消息的接收時間。如果在預設時間或更長時間未從客戶202接收到保持接通消息,則UDP中繼服務器204確定與客戶202的連接已終止。如上所述,可通過在UDP中繼服務器204中注冊客戶202并周期性地發(fā)送保持接通消息,在不需要使用單獨登錄服務器的情況下確定客戶202是否處于P2P服務可用的狀態(tài)并執(zhí)行與其他客戶的數(shù)據通信。2、不管網絡使用環(huán)境的數(shù)據傳輸在示例性實施例中,可不管每個客戶的環(huán)境中使用是TCP還是UDP,使用中繼服務器(TCP中繼服務器或UDP中繼服務器)來執(zhí)行數(shù)據傳輸。在這方面,根據客戶的網絡使用環(huán)境來劃分并描述情況。2-1、將數(shù)據從使用UDP的客戶發(fā)送到使用UDP的客戶的情況圖4是示出將數(shù)據從使用UDP的第一客戶發(fā)送到使用UDP的第二客戶的方法的示圖。參照圖4,當?shù)谝豢蛻?02將數(shù)據發(fā)送到第二客戶308時,第一客戶302將第二客戶308的用戶ID發(fā)送到定位服務器304(S301)。此時,第一客戶302可例如通過信使服務的朋友查找等獲得第二客戶308的用戶ID。接著,定位服務器304在通過第二客戶308的用戶ID檢查第二客戶308的UDP連接信息之后,將UDP連接信息發(fā)送到第一客戶302(S303)。UDP連接信息包括與第二客戶308連接(例如,連結)的UDP中繼服務器的地址和與第二客戶308的公共網絡映射的地址(例如,與第二客戶308的私有IP地址映射的公共IP地址和與第二客戶308的私有端口號映射的公共端口號)。也就是說,由于如參照圖3所述當UDP中繼服務器注冊每個客戶時,UDP中繼服務器將每個客戶的注冊信息發(fā)送到定位服務器,因此定位服務器存儲客戶特定注冊信息以及每個客戶的注冊信息發(fā)送到的UDP中繼服務器的地址。因此,如果從第一客戶302接收到第二客戶308的用戶ID,則定位服務器304可通過用戶ID檢查第二客戶308的UDP連接信息接著,第一客戶302在從UDP連接信息檢查連接到第二客戶308的UDP中繼服務器306的地址之后,將包括與第二客戶308的公共網絡映射的地址的數(shù)據包發(fā)送到UDP中繼服務器306 (S305)。此時,數(shù)據包包括用于識別該數(shù)據包是否是由UDP中繼服務器306中繼的消息或是否是由UDP中繼服務器306處理的消息的ID。接著,UDP中繼服務器306在從數(shù)據包檢查與第二客戶308的公共網絡映射的地址之后,將數(shù)據包發(fā)送到與第二客戶308的公共網絡映射的地址(S307)。然后,屬于第二客戶308的私有網絡的NAT將與公共網絡映射的地址中的公共IP地址轉換為與該公共IP地址映射的私有IP地址,將與公共網絡映射的地址的公共端口號轉換為與該公共端口號映射的私有端口號,并將所述私有IP地址和所述私有端口號傳送到第二客戶308。此時,由于通過打洞(hole punching)維持與UDP中繼服務器306的連接,因此第二客戶308可接收數(shù)據包。2-2、將數(shù)據從使用TCP的客戶發(fā)送到使用TCP的客戶的情況圖5是示出將數(shù)據從使用TCP的第一客戶發(fā)送到使用TCP的第二客戶的方法的示圖。參照圖5,當?shù)谝豢蛻?02將數(shù)據發(fā)送到第二客戶408時,第一客戶402將第二客戶408的用戶ID發(fā)送到定位服務器404(S401)。接著,定位服務器404在檢查第二客戶408的TCP連接信息之后,將TCP連接信息發(fā)送到第一客戶402 (S403)。TCP連接信息包括連接到第二客戶408的TCP中繼服務器的地址和第二客戶408的用戶唯一號。這里,第二客戶408的用戶唯一號可以是與第二客戶408的用戶ID映射的號。也就是說,由于定位服務器404存儲每個客戶的注冊信息和發(fā)送客戶注冊信息的TCP中繼服務器的地址,因此定位服務器404在從第一客戶402接收第二客戶408的用戶ID時可通過用戶ID檢查第二客戶408的TCP連接信息。接著,第一客戶402在從TCP連接信息檢查連接到第二客戶408的TCP中繼服務器406的地址以及與TCP中繼服務器406建立TCP連接640 之后,將包括第二客戶408的用戶唯一號的數(shù)據包發(fā)送到TCP中繼服務器406 (S407)。接著,TCP中繼服務器406在從數(shù)據包檢查第二客戶408的用戶唯一號之后,通過根據用戶唯一號檢查具有TCP連接的客戶(即,第二客戶408)來發(fā)送數(shù)據(S409)。也就是說,由于TCP中繼服務器406將連接到TCP中繼服務器406的客戶的TCP會話與該客戶的用戶唯一號進行映射,因此如果從數(shù)據包檢查到用戶唯一號則可檢查數(shù)據包傳送到的客戶的TCP對話,其中,從第一客戶402接收所述數(shù)據包。2-3、將數(shù)據從使用UDP的客戶發(fā)送到使用TCP的客戶的情況圖6是示出將數(shù)據從使用UDP的第一客戶發(fā)送到使用TCP的第二客戶的方法的示圖。在這種情況下,第一客戶通過UDP中繼服務器和TCP中繼服務器并以這樣的順序將數(shù)據發(fā)送到第二客戶。參照圖6,第一客戶502將第二客戶510的用戶ID發(fā)送到定位服務器504(S501)。接著,定位服務器504在通過第二客戶510的用戶ID檢查第二客戶510的TCP連接信息之后,將TCP連接信息發(fā)送到第一客戶502 (S503)。TCP連接信息包括連接到第二客戶510的TCP中繼服務器508的地址以及第二客戶510的用戶唯一號。接著,第一客戶502將包括TCP連接信息的數(shù)據包發(fā)送到連接到第一客戶502的UDP中繼服務器506(S505)。接著,UDP中繼服務器506在從數(shù)據包的TCP連接信息檢查連接到第二客戶510的TCP中繼服務器508的地址之后,將包括TCP連接信息的數(shù)據包發(fā)送到TCP中繼服務器508(S507)。接著,TCP中繼服務器508在從數(shù)據包的TCP連接信息檢查第二客戶510的用戶唯一號之后,通過根據用戶唯一號檢查具有與TCP中繼服務器508的TCP連接的客戶(即,第二客戶510)來發(fā)送數(shù)據包(S509)。2-4、將數(shù)據從使用TCP的客戶發(fā)送到使用UDP的客戶的情況圖7是示出將數(shù)據從使用TCP的第一客戶發(fā)送到使用UDP的第二客戶的方法的示圖。在這種情況下,第一客戶通過TCP中繼服務器和UDP中繼服務器并以這樣的順序將數(shù)據發(fā)送到第二客戶。參照圖7,第一客戶602將第二客戶610的用戶ID發(fā)送到定位服務器604 (S601)。接著,定位服務器604將第二客戶610的UDP連接信息發(fā)送到第一客戶602(S603)。UDP連接信息包括連接到第二客戶610的UDP中繼服務器608的位置以及與第二客戶610的公共網絡映射的地址(例如,與第二客戶610的私有IP地址映射的公共IP地址和與第二客戶610的私有端口號映射的公共端口號)。接著,第一客戶602在與連接到第一客戶602的TCP中繼服務器606建立TCP連接(S60O之后,將包括UDP連接信息的數(shù)據包發(fā)送到TCP中繼服務器606 (S607)。接著,TCP中繼服務器606在從UDP連接信息檢查連接到第二客戶610的UDP中繼服務器608的地址之后,將包括UDP連接信息的數(shù)據包發(fā)送到UDP中繼服務器608 (S609)。接著,UDP中繼服務器608在從UDP連接信息檢查第二客戶610的公共映射地址之后,將數(shù)據包發(fā)送到第二客戶610的公共映射地址(S611)。然后,屬于第二客戶610的私有網絡的NAT將與公共網絡映射的地址中的公共IP地址轉換為與該公共IP地址映射的私有IP地址,將與公共網絡映射的地址的公共端口號轉換為與該公共端口號映射的私有端口號,并將所述私有IP地址和所述私有端口號傳送到第二客戶610。此時,由于通過打洞維持與UDP中繼服務器608的連接,因此第二客戶610可接收數(shù)據包。另一方面,由第一客戶602發(fā)送的數(shù)據包可包括連接到第一客戶602的TCP中繼服務器606的地址。在這種情況下,接收數(shù)據包的第二客戶610在存儲TCP中繼服務器606的地址之后,在將數(shù)據發(fā)送到第一客戶602時可使用TCP中繼服務器606來傳送數(shù)據。根據示例性實施例,即使在客戶不建立UDP連接的情況下也可通過UDP中繼服務器發(fā)送數(shù)據,并且即使當連接到每個客戶的中繼服務器的類型不同時,也可發(fā)送數(shù)據。因此,可在不管每個客戶的網絡環(huán)境的情況下通過中繼服務器發(fā)送數(shù)據。3、保證數(shù)據傳輸可靠性當使用中繼服務器在P2P客戶之間發(fā)送數(shù)據時,中繼服務器僅用于中繼數(shù)據,從而不能確定數(shù)據是否確實被發(fā)送到第二客戶。因此,在示例性實施例中,當?shù)谝豢蛻敉ㄟ^中繼服務器將數(shù)據發(fā)送到第二客戶時,數(shù)據被劃分為比網絡的最大傳輸單元(MTU)更小的片段,并且發(fā)送所述片段。此時,交換號被分配給數(shù)據并且片段號被分配給包片段。第二客戶針對數(shù)據的交換號和每個包片段的片段號將ACK消息發(fā)送到第一客戶。此時,中繼服務器將ACK消息分流(bypass)并傳送到第一客戶。在這種情況下,即使當每個客戶使用中繼服務器發(fā)送數(shù)據時,針對數(shù)據的交換號和數(shù)據的每個包片段的片段號接收ACK消息,從而確定所有數(shù)據被發(fā)送到第二客戶。根據示例性實施例,在不需要與諸如登錄服務器的單獨服務器建立連接的情況下,每個客戶可僅通過中繼服務器在維持P2P網絡連接的同時發(fā)送數(shù)據。此外,可在不管每個客戶的TCP使用環(huán)境或UDP使用環(huán)境的情況下,使用中繼服務器來發(fā)送數(shù)據。最后,可保證使用中繼服務器的客戶之間的數(shù)據傳輸。示例性實施例可包括可記錄介質,所述可記錄介質具有用于執(zhí)行使用中繼服務器的數(shù)據傳輸方法的程序代碼。計算機可讀可記錄介質包括各種類型的可記錄介質,在所述可記錄介質中可存儲可由計算機系統(tǒng)讀取的數(shù)據。例如,計算機可讀可記錄介質包括只讀存儲器(ROM)、隨機存取存儲器(RAM)、致密盤(CD)-ROM、磁帶、軟盤、光數(shù)據存儲設備等。此外,計算機可讀可記錄介質可分布在通過網絡彼此連接的計算機系統(tǒng)中,且可在其中存儲和執(zhí)行可由計算機通過分布處理方法來讀取的程序代碼。本領域技術人員將清楚,在不脫離本發(fā)明構思的精神和范圍的情況下,可對上述示例性實施例進行各種修改。因此,只要所有這樣的修改在權利要求及其等同物的范圍之內,則示例性實施例意圖覆蓋所有這樣的修改。
權利要求
1.ー種數(shù)據傳輸系統(tǒng),包括中繼服務器;第一客戶,配置為將注冊包發(fā)送到中繼服務器,其中,中繼服務器在基于注冊包注冊第一客戶之后,將注冊結果消息發(fā)送到第一客戶。
2.如權利要求1所述的數(shù)據傳輸系統(tǒng),其中,所述注冊包包括頭,包括第一客戶的私有IP地址和第一客戶的私有端口號;有效載荷,包括第一客戶的用戶識別信息、第一客戶的私有IP地址、第一客戶的私有端口號以及第ー客戶所屬的私有網絡的網絡地址轉換器(NAT)類型。
3.如權利要求2所述的數(shù)據傳輸系統(tǒng),還包括NAT,設置在第一客戶所屬的私有網絡中,配置為將包括在由第一客戶發(fā)送的數(shù)據包中的頭中的第一客戶的私有IP地址轉換為與所述私有IP地址映射的公共IP地址,將包括在頭中的第一客戶的私有端ロ號轉換為與所述私有端口號映射的公共端口號,并將所述公共 IP地址和所述公共端口號傳送到中繼服務器。
4.如權利要求3所述的數(shù)據傳輸系統(tǒng),還包括定位服務器,配置為存儲由中繼服務器發(fā)送的第一客戶注冊信息。
5.如權利要求4所述的數(shù)據傳輸系統(tǒng),其中,第一客戶注冊信息包括第一客戶的用戶識別信息、第一客戶的私有IP地址、第一客戶的私有端口號、第一客戶所屬的私有網絡的 NAT類型、與第一客戶的私有IP地址映射的公共IP地址以及與第一客戶的私有端口號映射的公共端口號中的至少ー個。
6.如權利要求5所述的數(shù)據傳輸系統(tǒng),其中,中繼服務器是傳輸控制協(xié)議(TCP)中繼服務器或用戶數(shù)據報協(xié)議(UDP)中繼服務器。
7.如權利要求6所述的數(shù)據傳輸系統(tǒng),其中,中繼服務器是UDP中繼服務器,并且第一客戶在從定位服務器獲得第二客戶的UDP連接信息之后,將包括UDP連接信息的數(shù)據包發(fā)送到連接到第二客戶的UDP中繼服務器。
8.如權利要求7所述的數(shù)據傳輸系統(tǒng),其中,UDP連接信息包括連接到第二客戶的UDP 中繼服務器的地址和與第二客戶的公共網絡映射的地址。
9.如權利要求8所述的數(shù)據傳輸系統(tǒng),其中,連接到第二客戶的UDP中繼服務器在從 UDP連接信息檢查與第二客戶的公共網絡映射的地址之后,將數(shù)據包傳送到與第二客戶的公共網絡映射的地址。
10.如權利要求6所述的數(shù)據傳輸系統(tǒng),其中,第一客戶在從定位服務器獲得第二客戶的TCP連接信息之后,將包括TCP連接信息的數(shù)據包發(fā)送到連接到第二客戶的TCP中繼服務器。
11.如權利要求10所述的數(shù)據傳輸系統(tǒng),其中,TCP連接信息包括連接到第二客戶的 TCP中繼服務器的地址和第二客戶的用戶識別信息。
12.如權利要求11所述的數(shù)據傳輸系統(tǒng),其中,連接到第二客戶的中繼服務器在從TCP 連接信息通過第二客戶的用戶識別信息來檢查第二客戶具有與中繼服務器的TCP連接之后,將數(shù)據包傳送到具有TCP連接的第二客戶。
13.如權利要求6所述的數(shù)據傳輸系統(tǒng),其中,第一客戶在從定位服務器獲得第二客戶的TCP連接信息之后,將包括TCP連接信息的數(shù)據包發(fā)送到連接到第一客戶的UDP中繼服務器。
14.如權利要求13所述的數(shù)據傳輸系統(tǒng),其中,TCP連接信息包括連接到第二客戶的 TCP中繼服務器的地址和第二客戶的用戶識別信息。
15.如權利要求14所述的數(shù)據傳輸系統(tǒng),其中UDP中繼服務器在從TCP連接信息檢查連接到第二客戶的TCP中繼服務器的地址之后, 將數(shù)據包發(fā)送到連接到第二客戶的TCP中繼服務器,連接到第二客戶的TCP中繼服務器在從TCP連接信息通過第二客戶的用戶識別信息來檢查第二客戶具有與TCP中繼服務器的TCP連接之后,將數(shù)據包傳送到具有TCP連接的第ニ客戶。
16.如權利要求6所述的數(shù)據傳輸系統(tǒng),其中,第一客戶在從定位服務器獲得第二客戶的UDP連接信息之后,將包括UDP連接信息的數(shù)據包發(fā)送到連接到第一客戶的TCP中繼服務器。
17.如權利要求16所述的數(shù)據傳輸系統(tǒng),其中,UDP連接信息包括連接到第二客戶的 UDP中繼服務器的地址和與第二客戶的公共網絡映射的地址。
18.如權利要求17所述的數(shù)據傳輸系統(tǒng),其中TCP中繼服務器在從UDP連接信息檢查連接到第二客戶的UDP中繼服務器的地址之后, 將數(shù)據包傳送到連接到第二客戶的UDP中繼服務器,連接到第二客戶的UDP中繼服務器在從UDP連接信息檢查與第二客戶的公共網絡映射的地址之后,將數(shù)據包傳送到與第二客戶的公共網絡映射的地址。
19.如權利要求7所述的數(shù)據傳輸系統(tǒng),其中,第一客戶將數(shù)據包劃分為多個片段,發(fā)送所述多個片段,為數(shù)據包分配交換號,并為多個包片段分配片段號。
20.如權利要求19所述的數(shù)據傳輸系統(tǒng),其中,第二客戶將與數(shù)據包的交換號和所述多個包片段的片段號之ー對應的確認(ACK)發(fā)送到第一客戶。
21.如權利要求1所述的數(shù)據傳輸系統(tǒng),其中,如果中繼器是傳輸控制協(xié)議(TCP)中繼器,則第一客戶在與TCP中繼服務器建立TCP連接之后,將注冊包發(fā)送到TCP中繼服務器。
22.如權利要求1所述的數(shù)據傳輸系統(tǒng),其中,如果中繼服務器是用戶數(shù)據報協(xié)議 (UDP)中繼服務器,則第一客戶在接收到注冊結果消息之后周期性地將保持接通消息發(fā)送到UDP中繼服務器,并且UDP中繼服務器將所述保持接通消息重發(fā)到第一客戶。
23.ー種使用中繼服務器的數(shù)據傳輸方法,包括由中繼服務器從第一客戶接收注冊包;由中繼服務器在通過注冊包注冊第一客戶之后,將注冊結果消息發(fā)送到第一客戶;由中繼服務器將第一客戶的注冊信息發(fā)送到定位服務器。
24.如權利要求23所述的數(shù)據傳輸方法,還包括由第一客戶從定位服務器獲得第二客戶的UDP連接信息;由第一客戶在從UDP連接信息檢查連接到第二客戶的UDP中繼服務器的地址之后,將包括UDP連接信息的數(shù)據包發(fā)送到連接到第二客戶的UDP中繼服務器;由連接到第二客戶的UDP中繼服務器在從UDP連接信息檢查與第二客戶的公共網絡映射的地址之后,將數(shù)據包發(fā)送到與第二客戶的公共網絡映射的地址。
25.如權利要求23所述的數(shù)據傳輸方法,還包括由第一客戶從定位服務器獲得第二客戶的TCP連接信息;由第一客戶在從TCP連接信息檢查連接到第二客戶的TCP中繼服務器的地址之后,將包括TCP連接信息的數(shù)據包發(fā)送到連接到第二客戶的TCP中繼服務器;由連接到第二客戶的TCP中繼服務器在從TCP連接信息通過第二客戶的用戶識別信息檢查第二客戶具有與TCP中繼服務器的TCP連接之后,將數(shù)據包發(fā)送到具有TCP連接的第ニ客戶。
26.如權利要求23所述的數(shù)據傳輸方法,還包括由第一客戶從定位服務器獲得第二客戶的TCP連接信息;由第一客戶將包括TCP連接信息的數(shù)據包發(fā)送到連接到第一客戶的UDP中繼服務器; 由UDP中繼服務器在從TCP連接信息檢查連接到第二客戶的TCP中繼服務器的地址之后,將數(shù)據包傳送到連接到第二客戶的TCP中繼服務器;由連接到第二客戶的TCP中繼服務器在從TCP連接信息通過第二客戶的用戶識別信息檢查第二客戶具有與TCP中繼服務器的TCP連接之后,將數(shù)據包傳送到具有TCP連接的第 ニ客戶。
27.如權利要求23所述的數(shù)據傳輸方法,還包括由第一客戶從定位服務器獲得第二客戶的UDP連接信息;由第一客戶將包括UDP連接信息的數(shù)據包發(fā)送到連接到第一客戶的TCP中繼服務器; 由TCP中繼服務器在從UDP連接信息檢查連接到第二客戶的UDP中繼服務器的地址之后,將數(shù)據包傳送到連接到第二客戶的UDP中繼服務器;由連接到第二客戶的UDP中繼服務器在從UDP連接信息檢查與第二客戶的公共網絡映射的地址之后,將數(shù)據包傳送到與第二客戶的公共網絡映射的地址。
28.ー種數(shù)據傳輸方法,包括由第一客戶從定位服務器獲得第二客戶的連接信息; 由第一客戶將包括連接信息的數(shù)據包發(fā)送到連接到第一客戶的第一服務器; 由第一服務器在從連接信息檢查連接到第二客戶的第二服務器的地址之后,將數(shù)據包傳送到連接到第二客戶的第二服務器;由第二服務器在從連接信息通過第二客戶的用戶識別信息檢查第二客戶具有與第二服務器的連接之后,將數(shù)據包發(fā)送到第二客戶。
29.ー種數(shù)據傳輸方法,包括由第一客戶從定位服務器獲得第二客戶的連接信息; 由第一客戶將包括連接信息的數(shù)據包發(fā)送到連接到第一客戶的第一服務器; 由第一服務器在從連接信息通過第二客戶的用戶識別信息檢查第二客戶具有與第一服務器的連接之后,將數(shù)據包傳送到第二客戶。
全文摘要
提供了一種使用中繼服務器的數(shù)據傳輸系統(tǒng)和方法。在使用中繼服務器的數(shù)據傳輸方法中,當客戶將注冊包發(fā)送到中繼服務器時,中繼服務器在通過注冊包注冊客戶之后將注冊結果消息發(fā)送到客戶。中繼服務器將客戶的注冊信息發(fā)送到定位服務器。定位服務器根據每個客戶存儲客戶注冊信息。
文檔編號H04L29/08GK102571749SQ20111038929
公開日2012年7月11日 申請日期2011年11月30日 優(yōu)先權日2010年12月27日
發(fā)明者宋在敏, 尹熙兌, 崔溟均 申請人:三星Sds株式會社