CN104125309A - 连线方法与管理伺服器 - Google Patents
连线方法与管理伺服器 Download PDFInfo
- Publication number
- CN104125309A CN104125309A CN201410050158.XA CN201410050158A CN104125309A CN 104125309 A CN104125309 A CN 104125309A CN 201410050158 A CN201410050158 A CN 201410050158A CN 104125309 A CN104125309 A CN 104125309A
- Authority
- CN
- China
- Prior art keywords
- line
- port
- networking
- electronic installation
- management server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
Abstract
一种连线方法与管理伺服器。各电子装置通过管理伺服器来侦测其所在的网路所支援的连线行为,并据以产生对应的连线注册档而储存至管理伺服器。当管理伺服器自其中一电子装置接收到欲与另一电子装置建立连线的连线请求时,管理伺服器分别读取上述两个电子装置所对应的连线注册档,并基于连线成败记录来动态调整欲执行的多个连线测试程序。管理伺服器依据上述连线注册档,测试连线测试程序是否能在上述两个电子装置之间建立连线,据以获得用以建立连线的连线设定档。
Description
技术领域
本发明是有关于一种通讯技术,且特别是有关于一种连线方法与管理伺服器。
背景技术
随着科技与网路基础建设的不断演进与网路用户的增加下,网路位址转译(Network Address Translation,NAT)技术被广泛用来解决在网际网路协定(Internet Protocol,IP)中网路位址不足的问题。而在大量用户端使用私有IP位址(或虚拟IP位址)的环境中,当位于NAT网路环境外部的用户端想要与位于NAT网路环境内部的用户端建立资料传输连线时,位于外部的用户端所送出的请求信息会被阻挡,因而位于内部的用户端无法得知有连线建立的请求而造成连线失败。
发明内容
本发明提供一种连线方法与管理伺服器,可测试各个电子装置所对应的连线行为,进而找到最佳的穿越(traversal)方法。
本发明的连线方法,其包括下列步骤:多个电子装置分别通过管理伺服器来侦测其各自所在的网路所支援的连线行为,并据以产生对应的连线注册档而储存至管理伺服器;当管理伺服器自上述电子装置中的第一电子装置接收到欲与上述电子装置中的第二电子装置建立连线的连线请求时,管理伺服器执行下列步骤:分别读取第一电子装置与第二电子装置所对应的连线注册档;基于连线成败记录来动态调整欲执行的多个连线测试程序;以及依据上述所读取的连线注册档,测试连线测试程序是否能在第一电子装置与第二电子装置之间建立连线,据以获得在第一电子装置与第二电子装置间用以建立连线的连线设定档。
在本发明的一实施例中,上述各电子装置更包括执行下列步骤:在连接至其所在的网路时,判断网路是否为初次连接;若为初次连接,通过管理伺服器来侦测其所在的网路所支援的连线行为。
在本发明的一实施例中,上述当管理伺服器自第一电子装置接收到欲与第二电子装置建立连线的连线请求时,管理伺服器判断是否已存在第一电子装置与第二电子装置用以建立连线的连线设定档。若不存在连线设定档,管理伺服器执行基于连线成败记录来动态调整欲进行测试的连线测试程序的步骤。若存在连线设定档,管理伺服器传送连线设定档至第一电子装置与第二电子装置,使得双方建立连线。
在本发明的一实施例中,上述电子装置分别通过管理伺服器来侦测其所在的网路所支援的连线行为的步骤包括:与管理伺服器建立通知通道(notification channel),藉以通过通知通道传送多个连线测试信息至管理伺服器,并自管理伺服器接收多个回复信息,其中上述回复信息为管理伺服器对应于上述连线测试信息而分别传送;以及依据上述回复信息,判断所在的网路的网路节点的连线行为,其中网路节点具有网路位址转译功能。
在本发明的一实施例中,上述网路节点例如为路由器。
在本发明的一实施例中,上述连线测试信息包括:用以侦测网路节点的型态的信息、用以侦测网路节点的地理位置或网路服务提供者(Internet Service Provider,ISP)的信息、用以侦测电子装置是否可被直接连接的信息、用以侦测网路节点是否具有端口转送(port forwarding)能力的信息、用以侦测网路节点是否具有穿孔(hole punching)能力的信息、用以侦测电子装置是否只支援对外连接而不支援被连入的信息、以及用以侦测网路节点的特性的信息至少其中之一及其组合者。
在本发明的一实施例中,上述连线测试程序包括直接连线程序、端口转换程序、穿孔程序以及中继(relay)连线程序。
在本发明的一实施例中,上述电子装置为具有网路通讯功能的笔记型电脑、桌上型电脑、智慧型手机、平板电脑、网路附接储存器(Network Attached Storage,NAS)或网路摄影机(Internet protocolcamera,IP camera)其中之一。
在本发明的一实施例中,上述连线方法更包括:通过管理伺服器来对各电子装置的每一次连线进行统计,据以获得各电子装置的连线成败记录。
在本发明的一实施例中,上述电子装置各自安装有装置端代理元件,而管理伺服器中安装有伺服端代理元件及推送通知(pushnotification)元件,其中利用推送通知元件使得电子装置得以通过管理伺服器来侦测各自所在的网路所支援的连线行为,且电子装置通过其装置端代理元件来与管理伺服器的伺服端代理元件进行沟通。
在本发明的一实施例中,上述连线方法更包括:以上述电子装置逐一作为待测装置,而待测装置通过特性侦测伺服器并搭配管理伺服器来侦测待测装置所在的网路所对应的网路节点的特性。上述步骤包括:待测装置通过管理伺服器来判断对应的网路节点的外部网路位址是否与内部网路位址相同;在网路节点的外部网路位址与内部网路位址不相同的情况下,待测装置通过特性侦测伺服器来判断对应的网路节点是否具有端口受限(Port Restricted)特性或端口变化(Port Changed)特性。
在本发明的一实施例中,上述待测装置以不可靠通讯协定传送第一封包至管理伺服器的第一端口。当待测装置自通知通道接收到管理伺服器对第一端口接收到第一封包的回应,则待测装置将内部网路位址与第一封包的回应中所包括的外部网路位址进行比对,以判断外部网路位址是否与内部网路位址相同。
在本发明的一实施例中,上述在网路节点的外部网路位址与内部网路位址不相同的情况下,当待测装置通过其网路节点的第二端口自特性侦测伺服器的第一端口接收到第二封包时,待测装置判定对应的网路节点不具有端口受限特性及端口变化特性,其中第二封包是以不可靠通讯协定传送。当待测装置未通过网路节点的第二端口接收到第二封包时,待测装置通过网路节点的第三端口以不可靠通讯协定传送第三封包至特性侦测伺服器的第一端口,其中第三封包用以请求特性侦测伺服器传送第四封包至待测装置对应的网路节点的第三端口。在待测装置通过第三端口接收到第四封包时,待测装置判断是否自特性侦测伺服器的第四端口接收到第五封包。在待测装置自特性侦测伺服器的第四端口接收到第五封包的情况下,若第二端口与第三端口相同,判定对应的网路节点不具有端口受限特性及端口变化特性,而若第二端口与第三端口不同,判定对应的网路节点不具有端口受限特性,具有端口变化特性。在待测装置未自特性侦测伺服器的第四端口接收到第五封包的情况下,若第二端口与第三端口相同,判定对应的网路节点具有端口受限特性,不具有端口变化特性,而若第二端口与第三端口不同,判定对应的网路节点具有端口受限特性及端口变化特性。
在本发明的一实施例中,上述连线测试程序中的穿孔程序包括:依据第一电子装置与第二电子装置各自的网路节点是否具有端口受限特性或端口变化特性,决定连线顺序。其中,当只有第一电子装置与第二电子装置其中之一的网路节点具有端口变化特性时,由具有端口变化特性的网路节点向另一网路节点进行连线。当第一电子装置与第二电子装置各自的网路节点皆具有端口变化特性时,由不具有端口受限特性的网路节点向另一网路节点进行连线。当第一电子装置与第二电子装置各自的网路节点皆具有端口变化特性及端口受限特性时,判定第一电子装置与第二电子装置无法进行穿孔程序。当第一电子装置与第二电子装置各自的网路节点皆不具有端口变化特性时,由具有端口受限特性的网路节点向另一网路节点进行连线。当第一电子装置与第二电子装置各自的网路节点皆不具有端口变化特性与端口受限特性时,由任一方的网路节点向另一网路节点进行连线。
本发明的管理伺服器包括:传输单元、储存单元以及处理单元,其利用传输单元与多个电子装置进行沟通,并且在储存单元中储存上述电子装置对应的连线注册档。处理单元耦接至传输单元与储存单元。其中,处理单元自各电子装置接收多个连线测试信息,并传送对应的多个回复信息至各电子装置,使得各电子装置依据上述回复信息来判断其所在的网路的连线行为,据以产生对应的连线注册档而储存至管理伺服器。当处理单元通过传输单元自第一电子装置接收到欲与第二电子装置建立连线的连线请求时,处理单元自储存单元分别读取第一电子装置与第二电子装置各自所对应连线注册档,并基于连线成败记录来动态调整欲执行的多个连线测试程序,以及依据第一电子装置与第二电子装置各自所对应的连线注册档,测试上述连线测试程序是否能在第一电子装置与第二电子装置之间建立连线,据以获得在第一电子装置与第二电子装置间的连线设定档。
基于上述,通过与管理伺服器的互动来侦测各个电子装置所对应的连线行为,进而巧妙地利用管理伺服器来判断在这些电子装置之间的可连接性(connectability),据以找到最佳的穿越(traversal)方法。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1是依照本发明一实施例的网路系统的示意图。
图2是依照本发明一实施例的连线方法流程图。
图3是依据本发明一实施例的侦测连线行为的流程图。
图4是依照本发明一实施例的另一连线方法的流程图。
图5是依照本发明一实施例的具有判断路由器特性的网路系统的示意图。
图6是依照本发明一实施例的判断路由器特性的流程图。
符号说明
100:电子装置
101;处理单元
103:传输单元
105:储存单元
110:管理伺服器
111:推送通知元件
113:伺服端代理元件
121、131:装置端代理元件
120:第一电子装置
130:第二电子装置
140:第一网路节点
150:第二网路节点
510:特性侦测伺服器
N1:第一网路
N2:第二网路
P1、P2、S1、S2:端口
R:路由器
U:待测装置
S205~S225:连线方法的步骤
S305~S360:侦测连线行为的步骤
S405~S480:另一连线方法的步骤
S601~S639:判断路由器特性的步骤
具体实施方式
为了使本发明的内容更为明了,以下特举实施例作为本发明确实能够据以实施的范例。
以下实施例中,网路系统至少包括一台管理伺服器以及多个电子装置。这些电子装置可以分别位于不同的网路(例如为公众网路(public network)或私人网路(private network)),并通过管理伺服器来侦测其所在的网路支援的连线行为,当其中一电子装置欲与另一电子装置进行连线时,管理伺服器便能够依据其所在的网路支援的连线行为,来决定双方的连线机制,进而使得双方以合适的连线方式来建立连线。
图1是依照本发明一实施例的网路系统的示意图。在本实施例中以两台电子装置来进行说明,然,在其他实施例中并不限制电子装置的数量。请参照图1,网路系统100包括管理伺服器110、第一电子装置120以及第二电子装置130。第一电子装置120位于第一网路N1且连接至第一网路节点140,第二电子装置130位于第二网路N2且连接至第二网路节点150。
在此,第一电子装置120以及第二电子装置130例如分别为具有网路通讯功能的笔记型电脑、桌上型电脑、智慧型手机、平板电脑、网路附接储存器(Network Attached Storage,NAS)或网路摄影机(Internet protocol camera,IP camera)。第一网路节点140与第二网路节点150具有网路位址转译(Network Address Translation,NAT)功能,例如为路由器。
管理伺服器110中主要包括处理单元101、传输单元103以及储存单元105。处理单元101耦接至传输单元103及储存单元105。在此,处理单元101例如为中央处理单元(Central Processing Unit,CPU)、微处理器(Microprocessor)、数位讯号处理器(Digital SignalProcessor,DSP)或可程式化控制器等。传输单元103例如为网路卡,其用以与第一电子装置120、第二电子装置130以及其他未绘示电子装置进行沟通。储存单元105例如为固态硬碟(Solid StateDisk,SDD)、硬碟(Hard Disk Drive,HDD)或快闪记忆体(FlashMemory)等。储存单元105可用来储存第一电子装置120、第二电子装置130以及其他未绘示电子装置的连线注册档。
另外,在管理伺服器110中安装有推送通知(push notification)元件111以及伺服端代理元件113(例如储存于储存单元105中)。而第一电子装置120及第二电子装置130则分别安装有装置端代理元件121、131。管理伺服器110利用推送通知元件111,使得第一电子装置120及第二电子装置130得以通过管理伺服器110来侦测第一网路N1及第二网路N2所支援的连线行为。并且,第一电子装置120及第二电子装置130分别通过其装置端代理元件121、131来与管理伺服器110的伺服端代理元件113进行沟通。
具体而言,推送通知元件111提供了推送通知服务(pushnotification service),使得客户端能够主动连接至伺服端。即,第一电子装置120及第二电子装置130分别利用装置端代理元件121、131而与管理伺服器110的推送通知元件111建立一通知通道(notification channel)。藉此,通过通知通道,第一电子装置120及第二电子装置130可传送多个连线测试信息至管理伺服器110,并自管理伺服器110接收多个回复信息,进而依据所接收的回复信息来分别判断第一网路节点140及第二网路节点150的连线行为。
以下即搭配上述网路系统100来说明两个电子装置之间的连线方法。图2是依照本发明一实施例的连线方法流程图。请参照图1及图2,第一电子装置120与第二电子装置130分别通过管理伺服器110来侦测其各自所在的第一网路N1及第二网路N2所支援的连线行为,并据以产生对应的连线注册档而储存至管理伺服器110(步骤S205)。
以下以第一电子装置120来举例说明,同理第二电子装置130亦可以此类推。第一电子装置120通过装置端代理元件121与管理伺服器110的推送通知元件111建立一通知通道,藉以通过通知通道来传送多个连线测试信息至管理伺服器110的伺服端代理元件113。而管理伺服器110的伺服端代理元件113在接收到连线测试信息后,会通过通知通道来传送对应的回复信息至第一电子装置120。而第一电子装置120通过装置端代理元件121自管理伺服器110接收多个回复信息,并依据这些回复信息,判断所在的第一网路N1的第一网路节点140的连线行为,并依据所获得的连线行为,据以产生对应的连线注册档并传送至管理伺服器110储存。
上述连线测试信息包括:用以侦测网路节点的型态的信息、用以侦测网路节点的地理位置或网路服务提供者(Internet ServiceProvider,ISP)的信息、用以侦测电子装置是否可被直接连接的信息、用以侦测网路节点是否具有端口转送(port forwarding)能力的信息、用以侦测网路节点是否具有穿孔(hole punching)能力的信息、用以侦测电子装置是否只支援对外连接而不支援被连入的信息、以及用以侦测网路节点的特性的信息至少其中之一及其组合者。
例如,图3是依据本发明一实施例的侦测连线行为的流程图。请同时参照图1及图3,以下以第一电子装置120来举例说明,而第二电子装置130可以此类推。第一电子装置120连接至第一网路节点140而连上第一网路N1(步骤S305)。接着,第一电子装置120判断第一网路N1是否为初次连接(步骤S310)。例如,第一电子装置120在初次连接至第一网路节点140会储存下第一网路节点140的服务设定识别符(Service Set Identifier,SSID)及/或媒体存取控制位址(Media Access Control Address,MAC address)。据此,在第一电子装置120可利用所储存的SSID与MAC位址来判断是否为初次连接至第一网路节点140。
若不是初次连接至第一网路N1,第一电子装置120可直接查询其内部所储存的连线注册档(步骤S315),接着,储存连线注册档至管理伺服器110(步骤S360)。若为初次连接至第一网路N1,则第一电子装置120可通过装置端代理元件121来与管理伺服器110的推送通知元件113建立通知通道,之后,装置端代理元件121与伺服端代理元件113便能够利用通知通道来互相传送信息,以测试第一网路节点140支援的连线行为(如步骤S320~S350)。
测试第一网路节点140支援的连线行为包括下述步骤。即,侦测第一网路节点140的型态(步骤S320),而所述型态例如为第一网路节点140的制造商。侦测第一网路节点140的地理位置或网路服务提供者(步骤S325),其中所述地理位置是管理伺服器110依据第一网路节点140的外部网路位址(Public IP address),进而得知第一网路节点140的地理位置。侦测第一电子装置120是否可被直接连接(步骤S330)。侦测第一网路节点140是否具有端口转送(portforwarding)能力(步骤S335)。侦测第一网路节点140是否具有穿孔能力(步骤S340)。侦测第一电子装置120是否只支援对外连接而不支援被连入(步骤S345)。侦测第一网路节点140的特性(步骤S350),其中所述特性包括端口受限(Port Restricted)特性及端口变化(Port Changed)特性。
在此,步骤S320~S350的顺序及组合仅为举例说明,并不以此为限。而第一电子装置120通过其装置端代理元件121传送连线测试信息至管理伺服器110的伺服端代理元件113,并依据所接收到的回复信息来完成连线行为的侦测之后,第一电子装置120藉此产生连线注册档,并且储存此连线注册档在其内部(步骤S355)。另外,第一电子装置120亦会将此连线注册档传送至管理伺服器110储存(步骤S360)。
此外,第一电子装置120与第二电子装置130在未进行任何连线前,可分别通过装置端代理元件121、131在背景执行侦测连线行为的动作。据此,当第一电子装置120与第二电子装置130其中一者欲与另一者进行连线时,便能够快速执行后续动作。
接着,返回图2,管理伺服器110自第一电子装置120接收到欲与第二电子装置130建立连线的连线请求(步骤S210)。之后,管理伺服器110会在其内部读取第一电子装置120与第二电子装置130所对应的连线注册档(步骤S215)。
然后,管理伺服器110基于一连线成败记录,动态调整欲执行的多个连线测试程序(步骤S220)。例如,管理伺服器110会对第一电子装置120及第二电子装置130的每一次连线进行统计,据以获得其连线成败记录。例如,第一电子装置120及第二电子装置130会将其连线结果回报给管理伺服器110。在此,连线测试程序包括直接连线程序、端口转换程序、穿孔程序以及中继连线程序。而管理伺服器110会基于第一电子装置120与第二电子装置130各自的连线成败记录来决定要执行哪些连线测试程序以及其测试顺序等等。
之后,管理伺服器110依据第一电子装置120与第二电子装置130两者的连线注册档,测试上述连线测试程序是否能在第一电子装置120与第二电子装置130之间建立连线,据以获得在第一电子装置120与第二电子装置130间用以建立连线的连线设定档(sessionprofile)(步骤S225)。
以下举一应用例来进行说明,并且在底下应用例中以路由器来作为第一网路节点140及第二网路节点150。
图4是依照本发明一实施例的另一连线方法的流程图。图4为图2的其中一个应用例。请同时参照图1及图4,管理伺服器110自第一电子装置120接收到欲与第二电子装置130建立连线的连线请求(步骤S405)。接着,管理伺服器110检查储存单元105是否存在有双方用以建立连线的连线设定档(步骤S410)。若存在,则管理伺服器110传送连线设定档至第一电子装置120及第二电子装置130(步骤S415)。之后,判断第一电子装置120与第二电子装置130是否已建立连线(步骤420)。若已建立连线,则储存此连线设定档在第一电子装置120、第二电子装置130及管理伺服器110(步骤S425)。
另外,若第一电子装置120与第二电子装置130未建立连线,表示先前存在的连线设定档有误或失效,则管理伺服器110基于连线成败记录,动态调整欲执行的多个连线测试程序(步骤S430)。或者,在管理伺服器110检查其内部是否存在有双方用以建立连线的连线设定档(步骤S410)的结果为否的情况下,管理伺服器110亦会基于连线成败记录,动态调整欲执行的多个连线测试程序(步骤S430)。以下以直接连线程序、端口转换程序、穿孔程序以及中继连线程序为例来进行说明,然,并不以下述说明来限定连线测试程序的种类、数量及顺序,可视情况来调整预设的连线测试程序。而管理伺服器110亦会基于连线成败记录来动态调整这些连线测试程序的种类、数量及顺序。
例如,管理伺服器110依据第一电子装置120及第二电子装置130各自的连线注册档,判断两者是否位于同一子网路(subnet)(步骤S435)。若两者位于同一子网路,则第一电子装置120直接与第二电子装置130建立区域网路连线(步骤S440),并且据以产生连线设定档。
若第一电子装置120及第二电子装置130并非为位于同一子网路,则判断是否至少其中一路由器可被直接连线(步骤S445)。即,判断第一电子装置120及第二电子装置130哪一端的路由器可以直接被连线。倘若第一电子装置120及第二电子装置130其中之一对应的路由器可被直接连线,则判定该路由器的公开位址可被直接连线(步骤S442),据此使得双方建立连线。例如第一电子装置120的路由器可被直接连线,则由第二电子装置130向第一电子装置120建立连线。
若第一电子装置120及第二电子装置130两者的路由器皆不可被直接连线,则判断是否至少其中一路由器具有端口转送能力(步骤S450)。若是,设定对应的路由器的端口为可直接被连线而使得第一电子装置120及第二电子装置130建立连线(步骤S455)。
若第一电子装置120及第二电子装置130两者的路由器皆不具有端口转送能力,则判断两者的路由器是否具有穿孔能力。若是,以穿孔方式建立连线(步骤S465)。若否,表示第一电子装置120及第二电子装置130两者的路由器无法建立直接连线,因此判断第一电子装置120及第二电子装置130两者的路由器是否支援向外连接(步骤S470)。若是,以中继(Relay)方式进行双方的资料存取(步骤S475),例如,由管理伺服器110来协助资料的传递。若否,表示第一电子装置120及第二电子装置130无法由管理伺服器110来协助资料的传递,因而拒绝连线请求(步骤S480)。
而管理伺服器110在执行连线测试程序(如,步骤S440、S442、S455、S465或S475)之后,会据以产生对应的连线设定档,而重新执行步骤S415。
关于上述穿孔程序是依据路由器(网路节点)的特性,即,端口受限(Port Restricted)特性及端口变化(Port Changed)特性,来决定双方的连线顺序。当只有其中一端具有端口变化特性时,则由具有端口变化特性的路由器向另一方进行连线。当双方都具有端口变化特性时,由不具有端口受限特性的路由器向另一方进行连线。当双方都具有端口受限特性及端口变化特性,则无法进行穿孔程序,而以中继方式进行资料传输。当双方都没有端口变化特性时,由具有端口受限特性的路由器向另一方连线。当双方都没有端口变化特性亦没有端口受限特性时,则不限定由哪一方开始向另一方连线。
以下再举一实施例来说明如何判断路由器(网路节点)的特性。图5是依照本发明一实施例的具有判断路由器特性的网路系统的示意图。在图5中,网路系统500除了管理伺服器110之外还包括了特性侦测伺服器510。在此,待测装置U可以是第一电子装置120、第二电子装置130等任一电子装置,并且以路由器R来作为待测装置U对应的网路节点。而待测装置U通过特性侦测伺服器510并搭配管理伺服器110,来侦测其对应的网路节点(在此以路由器R为例)的特性。待测装置U通过管理伺服器110来判断对应的路由器R的外部网路位址(Public IP address)是否与内部网路位址(PrivateIP address)相同。而在外部网路位址与内部网路位址不相同的情况下,待测装置U进一步通过特性侦测伺服器510来判断路由器R是否具有端口受限特性或端口变化特性。
举例来说,图6是依照本发明一实施例的判断路由器特性的流程图。在本实施例中,以用户数据报协定(User Datagram Protocol)作为不可靠通讯协定来进行说明。请参照图5及图6,待测装置U以UDP传送第一封包至管理伺服器110的端口S1(第一端口)(步骤S601)。
接着,待测装置U判断是否自通知通道接收到管理伺服器110对端口S1接收到第一封包的回应(步骤S603)。若未自通知通道接收到管理伺服器110对端口S1接收到第一封包的回应,待测装置U判断路由器R不支援对外(outbound)的UDP(步骤S605)。若待测装置U自通知通道接收到管理伺服器110对端口S1接收到第一封包的回应,待测装置U将内部网路位址与第一封包的回应中所包括的外部网路位址进行比对,以判断外部网路位址是否与内部网路位址相同(步骤S607)。在此,第一封包的回应中包括有路由器R的外部网路位址以及传送第一封包的路由器R的端口P1(第二端口)。若外部网路位址与内部网路位址相同,则判定路由器R可被直接连线(步骤S609)。若外部网路位址与内部网路位址不相同,进而通过特性侦测伺服器510来进行后续步骤。
特性侦测伺服器510通过其端口S1(第一端口)以UDP发送第二封包至路由器R的端口P1(步骤S611)。之后,待测装置U判断是否通过路由器R的端口P1接收到第二封包(步骤S613)。当待测装置U通过路由器R的端口P1自特性侦测伺服器510的端口S1接收到第二封包时,待测装置U判定对应的路由器R不具有端口受限特性及端口变化特性(步骤S615)。
当待测装置U未通过路由器R的端口P1而自特性侦测伺服器510的端口S1接收到第二封包时,待测装置U通过路由器R的端口P2(第三端口)以UDP传送第三封包至特性侦测伺服器510的端口S1(步骤S617)。上述第三封包是用以请求特性侦测伺服器510传送第四封包至待测装置U对应的路由器R的端口P2。而特性侦测伺服器510在接收到第三封包之后,通过其端口S1以UDP传送第四封包至路由器R的端口P2(步骤S619)。
而后,待测装置U侦测是否接收到第四封包(步骤S621)。若待测装置U未接收到第四封包,则判定路由器R不支援对内(inbound)的UDP(步骤S623)。若待测装置U通过路由器R的端口P2接收到第四封包时,待测装置U可进一步通知特性侦测伺服器510通过其端口S2(第四端口)重传一次。而特性侦测伺服器510通过其端口S2以UDP传送第五封包至路由器R的端口P2(步骤S625)。接着,待测装置U侦测是否自特性侦测伺服器510的端口S2接收到第五封包(步骤S627)。
而在待测装置U自特性侦测伺服器510的端口S2接收到第五封包的情况下,判断端口P1是否为端口P2(步骤S629)。若端口P1与端口P2相同,判定对应的路由器R不具有端口受限特性及端口变化特性(步骤S631);若端口P1与端口P2不同,判定对应的路由器R不具有端口受限特性,具有端口变化特性(步骤S633)。
另外,在待测装置U未自特性侦测伺服器510的端口S2接收到第五封包的情况下,与步骤S629同样地,亦判断端口P1是否为端口P2(步骤S635)。若端口P1与端口P2相同,判定对应的路由器R具有端口受限特性,不具有端口变化特性(步骤S637);若端口P1与端口P2不同,判定对应的路由器R具有端口受限特性及端口变化特性(步骤S639)。
第一电子装置120及第二电子装置130通过上述步骤S601~S639来侦测第一网路节点140及第二网路节点150的特性,可提高管理伺服器110逻辑的判断,进而提高穿孔连线的成功率。
基于上述实施例,管理伺服器110可获得第一电子装置120及第二电子装置130的连线注册档,当其中一端(例如为第一电子装置120)向管理伺服器110发送一连线请求时,管理伺服器110会将欲连线的对象(例如为第二电子装置130)的连线注册档传送给第一电子装置120,藉此来决定资料传输模式。例如,判断连线型式(connection type)是否为数据报(datagram)。若不为数据报,则建立传输控制协定(Transmission Control Protocol,TCP)连线。若为数据报,且资料传输的需求为可靠通讯协定,则建立可靠的UDP连线。若为数据报,且资料交换需求不用为可靠通讯协定,则建立UDP连线。在建立连线之后,判断资料传输是否需要加密,若需要加密,则选择加密模式,然后回报连线状况。而后,开始进行资料的传输,并依据是否有选择加密模式来将资料加解密。
综上所述,上述实施例提供了一种管理伺服器为主的网路媒合机制,可进行多个连线测试程序的交错组合,并引导双方试图建立连线的顺序。并且,在各个电子装置与管理伺服器中安装装置端代理元件与伺服端代理元件,可合作来建立一及时、经济高效的数据通道(通知通道)。此外,各电子装置将其连线结果回报给管理伺服器,使管理伺服器来学习并分析而获得连线成败记录,据以来动态调整要执行哪些连线测试程序以及其测试顺序。据此,巧妙地利用管理伺服器来判断在这些电子装置之间的可连接性(connectability),并基于连线成败记录而可快速地找到最佳的穿越(traversal)方法。另外,可预先侦测所在网路支援的连线行为,因此在连线(session)阶段管理伺服器即能够立即寻找最佳的连线方法,大幅改善实际连线速度。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围以权利要求中所界定的内容为准。
Claims (20)
1.一种连线方法,其特征在于,包括:
多个电子装置分别通过一管理伺服器来侦测其各自所在的一网路所支援的连线行为,并据以产生对应的一连线注册档而储存至该管理伺服器;
当该管理伺服器自该些电子装置中的一第一电子装置接收到欲与该些电子装置中的一第二电子装置建立连线的一连线请求时,该管理伺服器执行下列步骤:
分别读取该第一电子装置与该第二电子装置各自所对应的该连线注册档;
基于一连线成败记录来动态调整欲执行的多个连线测试程序;以及
依据该第一电子装置与该第二电子装置各自所对应的该连线注册档,测试该些连线测试程序是否能在该第一电子装置与该第二电子装置之间建立连线,据以获得在该第一电子装置与该第二电子装置间用以建立连线的一连线设定档。
2.如权利要求1所述的连线方法,其特征在于,每一该些电子装置更包括执行下列步骤:
在连接至其所在的该网路时,判断该网路是否为初次连接;以及
若为初次连接,通过该管理伺服器来侦测其所在的该网路所支援的连线行为。
3.如权利要求1所述的连线方法,其特征在于,当该管理伺服器自该些电子装置中的该第一电子装置接收到欲与该些电子装置中的该第二电子装置建立连线的该连线请求时,更包括:
该管理伺服器判断是否已存在该第一电子装置与该第二电子装置用以建立连线的该连线设定档;
若不存在该连线设定档,该管理伺服器执行基于该连线成败记录来动态调整欲进行测试的该些连线测试程序的步骤;以及
若存在该连线设定档,该管理伺服器传送该连线设定档至该第一电子装置与该第二电子装置,使得双方建立连线。
4.如权利要求1所述的连线方法,其特征在于,该些电子装置分别通过该管理伺服器来侦测其所在的该网路所支援的连线行为的步骤包括:
与该管理伺服器建立一通知通道,藉以通过该通知通道传送多个连线测试信息至该管理伺服器;
自该管理伺服器接收多个回复信息,其中该些回复信息为该管理伺服器对应于该些连线测试信息而分别传送;以及
依据该些回复信息,判断所在的该网路的一网路节点的该连线行为,其中该网路节点具有一网路位址转译功能。
5.如权利要求4所述的连线方法,其特征在于,该网路节点为一路由器;
该些连线测试信息包括:用以侦测该网路节点的型态的信息、用以侦测该网路节点的一地理位置或一网路服务提供者的信息、用以侦测每一该些电子装置是否可被直接连接的信息、用以侦测该网路节点是否具有一端口转送能力的信息、用以侦测该网路节点是否具有一穿孔能力的信息、用以侦测每一该些电子装置是否只支援对外连接而不支援被连入的信息、以及用以侦测该网路节点的特性的信息至少其中之一及其组合者。
6.如权利要求1所述的连线方法,其特征在于,该些连线测试程序包括一直接连线程序、一端口转换程序、一穿孔程序以及一中继连线程序;每一该些电子装置为具有一网路通讯功能的笔记型电脑、桌上型电脑、智慧型手机、平板电脑、网路附接储存器及网路摄影机其中之一。
7.如权利要求1所述的连线方法,其特征在于,更包括:
通过该管理伺服器来对每一该些电子装置的每一次连线进行统计,据以获得每一该些电子装置的该连线成败记录。
8.如权利要求1所述的连线方法,其特征在于,每一该些电子装置安装有一装置端代理元件,而该管理伺服器中安装有一伺服端代理元件及一推送通知元件,其中利用该推送通知元件使得每一该些电子装置得以通过该管理伺服器来侦测其各自所在的该网路所支援的连线行为,且每一该些电子装置通过其该装置端代理元件来与该管理伺服器的该伺服端代理元件进行沟通。
9.如权利要求1所述的连线方法,其特征在于,更包括:
以该些电子装置逐一作为一待测装置,而该待测装置通过一特性侦测伺服器并搭配该管理伺服器,来侦测该待测装置所在的该网路所对应的一网路节点的特性,包括:
该待测装置通过该管理伺服器来判断对应的该网路节点的一外部网路位址是否与一内部网路位址相同;以及
在该网路节点的该外部网路位址与该内部网路位址不相同的情况下,该待测装置通过该特性侦测伺服器来判断对应的该网路节点是否具有一端口受限特性或一端口变化特性。
10.如权利要求9所述的连线方法,其特征在于,该待测装置通过该管理伺服器来判断对应的该网路节点的该外部网路位址是否与该内部网路位址相同的步骤包括:
该待测装置以一不可靠通讯协定传送一第一封包至该管理伺服器的一第一端口;以及
当该待测装置自一通知通道接收到该管理伺服器对该第一端口接收到该第一封包的回应,该待测装置将该内部网路位址与该第一封包的回应中所包括的该外部网路位址进行比对,以判断该外部网路位址是否与该内部网路位址相同。
11.如权利要求10所述的连线方法,其特征在于,该待测装置通过该特性侦测伺服器来判断对应的该网路节点是否具有该端口受限特性或该端口变化特性的步骤包括:
当该待测装置通过该网路节点的一第二端口,而自该特性侦测伺服器的该第一端口接收到一第二封包时,该待测装置判定对应的该网路节点不具有该端口受限特性及该端口变化特性,其中该第二封包是以该不可靠通讯协定传送;
当该待测装置未通过该网路节点的该第二端口接收到该第二封包时,该待测装置通过该网路节点的一第三端口以该不可靠通讯协定传送一第三封包至该特性侦测伺服器的该第一端口,其中该第三封包用以请求该特性侦测伺服器传送一第四封包至该待测装置对应的该网路节点的该第三端口;
在该待测装置通过该第三端口接收到该第四封包时,该待测装置判断是否自该特性侦测伺服器的一第四端口接收到一第五封包;
在该待测装置自该特性侦测伺服器的该第四端口接收到该第五封包的情况下,若该第二端口与该第三端口相同,判定对应的该网路节点不具有该端口受限特性及该端口变化特性,而若该第二端口与该第三端口不同,判定对应的该网路节点不具有该端口受限特性,具有该端口变化特性;以及
在该待测装置未自该特性侦测伺服器的该第四端口接收到该第五封包的情况下,若该第二端口与该第三端口相同,判定对应的该网路节点具有该端口受限特性,不具有该端口变化特性,而若该第二端口与该第三端口不同,判定对应的该网路节点具有该端口受限特性及该端口变化特性。
12.如权利要求10所述的连线方法,其特征在于,该些连线测试程序包括一穿孔程序,该穿孔程序包括:
依据该第一电子装置与该第二电子装置各自的该网路节点是否具有该端口受限特性或该端口变化特性,决定一连线顺序;
其中,
当只有该第一电子装置与该第二电子装置其中之一的该网路节点具有该端口变化特性时,由具有该端口变化特性的该网路节点向另一网路节点进行连线;
当该第一电子装置与该第二电子装置各自的该网路节点皆具有该端口变化特性时,由不具有该端口受限特性的该网路节点向另一网路节点进行连线;
当该第一电子装置与该第二电子装置各自的该网路节点皆具有该端口变化特性及该端口受限特性时,判定该第一电子装置与该第二电子装置无法进行该穿孔程序;
当该第一电子装置与该第二电子装置各自的该网路节点皆不具有该端口变化特性时,由具有该端口受限特性的该网路节点向另一网路节点进行连线;
当该第一电子装置与该第二电子装置各自的该网路节点皆不具有该端口变化特性与该端口受限特性时,由任一方的该网路节点向另一网路节点进行连线。
13.一种管理伺服器,包括:
一传输单元,与多个电子装置进行沟通;
一储存单元,储存该些电子装置各自对应的连线注册档;以及
一处理单元,耦接至该传输单元与该储存单元;
其中,该处理单元自每一该些电子装置接收多个连线测试信息,并传送对应的多个回复信息至每一该些电子装置,使得每一该些电子装置依据该些回复信息来判断其所在的一网路的连线行为,据以产生对应的该连线注册档而储存至该管理伺服器;
当该处理单元通过该传输单元自该些电子装置中的一第一电子装置接收到欲与该些电子装置中的一第二电子装置建立连线的一连线请求时,该处理单元自该储存单元分别读取该第一电子装置与该第二电子装置各自所对应该连线注册档,并基于一连线成败记录来动态调整欲执行的多个连线测试程序,以及依据该第一电子装置与该第二电子装置各自所对应的该连线注册档,测试该些连线测试程序是否能在该第一电子装置与该第二电子装置之间建立连线,据以获得在该第一电子装置与该第二电子装置间的一连线设定档。
14.如权利要求13所述的管理伺服器,其特征在于,
当该管理伺服器自该第一电子装置接收到欲与该第二电子装置建立连线的该连线请求时,该管理伺服器判断是否已存在该第一电子装置与该第二电子装置用以建立连线的该连线设定档;若不存在该连线设定档,该管理伺服器执行基于该连线成败记录来动态调整欲进行测试的该些连线测试程序的步骤;若存在该连线设定档,该管理伺服器传送该连线设定档至该第一电子装置与该第二电子装置,使得双方建立连线。
15.如权利要求13所述的管理伺服器,其特征在于,该些连线测试程序包括一直接连线程序、一端口转换程序、一穿孔程序以及一中继连线程序;每一该些电子装置为具有一网路通讯功能的笔记型电脑、桌上型电脑、智慧型手机、平板电脑、网路附接储存器及网路摄影机其中之一。
16.如权利要求13所述的管理伺服器,其特征在于,该管理伺服器中安装有一伺服端代理元件及一推送通知元件,且每一该些电子装置安装有一装置端代理元件,其中,
每一该些电子装置利用其该装置端代理元件与该推送通知元件来建立一通知通道,而通过该通知通道使得该伺服端代理元件与该装置端代理元件进行沟通,包括:
该伺服端代理元件通过该通知通道自该装置端代理元件接收多个连线测试信息,并且传送对应于该些连线测试信息的多个回复信息至该装置端代理元件,使得该装置端代理元件依据该些回复信息,判断每一该些电子装置其所在的该网路对应的一网路节点的该连线行为。
17.如权利要求16所述的管理伺服器,其特征在于,该第一电子装置与该第二电子装置各自对应的该网路节点具有一网路位址转译功能。
18.如权利要求17所述的管理伺服器,其特征在于,该网路节点为路由器。
19.如权利要求16所述的管理伺服器,其特征在于,该些连线测试信息包括:用以侦测该网路节点的型态的信息、用以侦测该网路节点的一地理位置或一网路服务提供者的信息、用以侦测每一该些电子装置是否可被直接连接的信息、用以侦测该网路节点是否具有一端口转送能力的信息、用以侦测该网路节点是否具有一穿孔能力的信息、用以侦测每一该些电子装置是否只支援对外连接而不支援被连入的信息、以及用以侦测该网路节点的特性的信息至少其中之一及其组合者。
20.如权利要求13所述的管理伺服器,其特征在于,该处理单元对每一该些电子装置的每一次连线进行统计,据以获得每一该些电子装置的该连线成败记录。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361815707P | 2013-04-24 | 2013-04-24 | |
US61/815,707 | 2013-04-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104125309A true CN104125309A (zh) | 2014-10-29 |
CN104125309B CN104125309B (zh) | 2017-12-05 |
Family
ID=51770573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410050158.XA Expired - Fee Related CN104125309B (zh) | 2013-04-24 | 2014-02-13 | 连线方法与管理伺服器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9509777B2 (zh) |
CN (1) | CN104125309B (zh) |
TW (1) | TWI523456B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161663A (zh) * | 2015-04-07 | 2016-11-23 | 中兴通讯股份有限公司 | 终端应用访问nas的方法及装置 |
TWI715481B (zh) * | 2020-04-01 | 2021-01-01 | 神達電腦股份有限公司 | 伺服器測試方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9787498B2 (en) * | 2013-04-16 | 2017-10-10 | Throughtek Co., Ltd. | System and method of identifying networked device for establishing a P2P connection |
CN105577427B (zh) * | 2015-12-08 | 2018-12-18 | 美的集团股份有限公司 | 家用电器与移动终端之间通信连接的检测方法、装置 |
TWI758175B (zh) * | 2021-04-30 | 2022-03-11 | 科智企業股份有限公司 | 資料處理系統與方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101883056A (zh) * | 2010-07-23 | 2010-11-10 | 华南理工大学 | 基于udt和tcp中转实现nat穿越的系统和方法 |
EP2458814A1 (en) * | 2010-11-30 | 2012-05-30 | Samsung SDS Co. Ltd. | Peer-to-peer connection system and method for use in multi-network environment |
CN102497446A (zh) * | 2011-12-26 | 2012-06-13 | 杭州华三通信技术有限公司 | 一种穿越nat设备的业务流传输方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8656017B2 (en) * | 2007-05-16 | 2014-02-18 | Microsoft Corporation | Peer-to-peer collaboration system with edge routing |
JP4803260B2 (ja) * | 2009-01-15 | 2011-10-26 | ソニー株式会社 | ゲートウェイ装置、情報通信方法、情報通信プログラム、および情報通信システム |
WO2014091058A1 (en) * | 2012-12-12 | 2014-06-19 | Nokia Corporation | Method and apparatus for connection management |
-
2014
- 2014-01-17 TW TW103101775A patent/TWI523456B/zh not_active IP Right Cessation
- 2014-02-13 CN CN201410050158.XA patent/CN104125309B/zh not_active Expired - Fee Related
- 2014-04-21 US US14/257,001 patent/US9509777B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101883056A (zh) * | 2010-07-23 | 2010-11-10 | 华南理工大学 | 基于udt和tcp中转实现nat穿越的系统和方法 |
EP2458814A1 (en) * | 2010-11-30 | 2012-05-30 | Samsung SDS Co. Ltd. | Peer-to-peer connection system and method for use in multi-network environment |
CN102497446A (zh) * | 2011-12-26 | 2012-06-13 | 杭州华三通信技术有限公司 | 一种穿越nat设备的业务流传输方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161663A (zh) * | 2015-04-07 | 2016-11-23 | 中兴通讯股份有限公司 | 终端应用访问nas的方法及装置 |
TWI715481B (zh) * | 2020-04-01 | 2021-01-01 | 神達電腦股份有限公司 | 伺服器測試方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104125309B (zh) | 2017-12-05 |
TWI523456B (zh) | 2016-02-21 |
US20140324950A1 (en) | 2014-10-30 |
US9509777B2 (en) | 2016-11-29 |
TW201442460A (zh) | 2014-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5301571B2 (ja) | インターネットに接続されているクライアント間に接続性を提供するための方法およびシステム | |
KR100600733B1 (ko) | 동영상 스트리밍 홈 네트워크 시스템 및 그 동작방법 | |
US9774668B2 (en) | Communication system for establishing P2P connections and the corresponding devices using the same | |
CN104125309A (zh) | 连线方法与管理伺服器 | |
CN104243210A (zh) | 远程访问路由器管理页面的方法和系统 | |
CN107733950B (zh) | 用于访问网站的方法和装置 | |
MXPA04005465A (es) | Descubrimiento y configuracion automaticos de dispositivos de red extremos. | |
CN104429037A (zh) | 用于连接到通信设备的方法、设备及系统 | |
RU2007139515A (ru) | Межсетевой роуминг и разрешение веб-служб для устройств | |
BRPI0620114A2 (pt) | dispositivo de comunicaÇço de rede, mÉtodo para comunicaÇço, e, programa armazenado em um meio de legÍvel por mÁquina | |
CN102055816A (zh) | 一种通信方法、业务服务器、中间设备、终端及通信系统 | |
JP5508273B2 (ja) | ネットワーク・ロケーション・サービス | |
CN107613023B (zh) | 设备连接方法及装置 | |
CN102006195B (zh) | 一种网络管理设备与网络管理方法 | |
CN107872548A (zh) | 网页链接方法、装置及可读存储介质 | |
EP2709337A1 (en) | Service data processing method, device and system | |
KR101380035B1 (ko) | 자동 프로토콜 스위칭 시스템 및 그 방법 | |
US9203704B2 (en) | Discovering a server device, by a non-DLNA device, within a home network | |
CN102014391A (zh) | 无线网络安全接入方法、系统及无线控制器 | |
US9015280B2 (en) | Communication terminal, address resolution server, and computer program | |
JP2010114721A (ja) | ホームネットワーク内の端末から広域ネットワークへコンテンツを送信するコンテンツ送信方法及びシステム | |
JP6605149B2 (ja) | 共有端末の検出方法及びその装置 | |
CN103516820A (zh) | 基于mac地址的端口映射方法和装置 | |
CN113285920B (zh) | 业务访问方法、装置、设备及存储介质 | |
WO2015059128A1 (en) | A forwarder selection protocol for a network and a respective cpe device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171205 Termination date: 20210213 |
|
CF01 | Termination of patent right due to non-payment of annual fee |