CN108141409B - 通信系统、地址通知装置、通信控制装置、终端、通信方法以及程序 - Google Patents
通信系统、地址通知装置、通信控制装置、终端、通信方法以及程序 Download PDFInfo
- Publication number
- CN108141409B CN108141409B CN201680059664.2A CN201680059664A CN108141409B CN 108141409 B CN108141409 B CN 108141409B CN 201680059664 A CN201680059664 A CN 201680059664A CN 108141409 B CN108141409 B CN 108141409B
- Authority
- CN
- China
- Prior art keywords
- address
- terminal
- communication
- communication network
- control device
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2546—Arrangements for avoiding unnecessary translation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2575—NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2521—Translation architectures other than single NAT servers
- H04L61/2535—Multiple local networks, e.g. resolving potential IP address conflicts
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2567—NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2589—NAT traversal over a relay server, e.g. traversal using relay for network address translation [TURN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/677—Multiple interfaces, e.g. multihomed nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2514—Translation of Internet protocol [IP] addresses between local and global IP addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
一种通信系统,其包含第1通信网所具备的第1地址通知装置、以及第2通信网所具备的第2地址通知装置,所述第1地址通知装置具有从能够与该第1地址通知装置和所述第2地址通知装置进行通信的终端接收地址请求、从该地址请求中取得发送源地址、向所述终端发送包含该发送源地址的应答的单元,所述第2地址通知装置具有从所述终端接收地址请求、从该地址请求中取得发送源地址、向所述终端发送包含该发送源地址的应答的单元。
Description
技术领域
本发明涉及用于在终端间进行P2P通信的技术。
背景技术
近年来,连接终端之间并进行通信的P2P通信不断普及。作为用于实现P2P通信的技术,具有各种技术,例如具有在不使用特別的应用程序的情况下在终端的浏览器之间实现P2P通信的WebRTC。
使用了WebRTC等的P2P通信通常经由互联网来进行。在终端A与终端B之间进行经由了互联网的P2P通信的情况下,从终端A发送的分组经由接入网而发送到ISP(互联网服务提供方)的互联网连接用路由器,从该路由器向互联网送出。而且,该分组到达终端B侧的ISP的路由器,经由接入网到达终端B。
现有技术文献
非专利文献
非专利文献1:RFC5389(STUN)
非专利文献2:RFC5245(ICE)
发明内容
发明要解决的课题
在如上所述的P2P通信中,例如,即使在终端A的利用ISP和终端B的利用ISP不同的情况、终端A和终端B处于地理上接近的位置(例:相同城市内)的情况下,终端A与终端B之间的P2P通信也有可能经由位于远程的ISP间连接点或者IX来进行。
如上所述,在现有的P2P通信涉及的技术中,具有如有可能未选择适当的通信路径的课题。另外,这样的P2P通信涉及的课题不是限于使用了接入网和互联网的通信的课题,而是在使用了其它网的通信中也有可能产生的课题。
本发明正是鉴于上述内容而完成的,其目的在于提供一种用于适当地选择在终端间的P2P通信中使用的通信路径的技术。
用于解决课题的手段
根据本发明的实施方式,提供一种通信系统,包含第1通信网所具备的第1地址通知装置、以及第2通信网所具备的第2地址通知装置,该通信系统的特征在于,
所述第1地址通知装置具有从能够与该第1地址通知装置和所述第2地址通知装置进行通信的终端接收地址请求、从该地址请求中取得发送源地址、向所述终端发送包含该发送源地址的应答的单元,
所述第2地址通知装置具有从所述终端接收地址请求、从该地址请求中取得发送源地址、向所述终端发送包含该发送源地址的应答的单元。
此外,根据本发明的实施方式,提供一种地址通知装置,其在包含第1通信网所具备的第1地址通知装置、以及第2通信网所具备的第2地址通知装置的通信系统中作为所述第1通信网所具备的所述第1地址通知装置发挥作用,该地址通知装置的特征在于,具有:
取得单元,其从能够与所述第1地址通知装置和所述第2地址通知装置进行通信、且向所述第2地址通知装置发送地址请求并向所述第1地址通知装置发送地址请求的终端接收该地址请求,从该地址请求中取得发送源地址;以及
地址通知单元,其向所述终端发送包含所述发送源地址的应答。
此外,根据本发明的实施方式,提供一种通信控制装置,其在包含所述通信控制装置、第1通信网所具备的第1地址通知装置、以及第2通信网所具备的第2地址通知装置的通信系统中使用,该通信控制装置的特征在于,
所述通信控制装置具有中继单元,该中继单元从能够与所述第1地址通知装置和所述第2地址通知装置进行通信的终端接收地址集合,向作为该终端的通信对方的通信对方终端发送该地址集合,
所述地址集合包含从针对从所述终端发送到所述第1地址通知装置的地址请求的应答中取得的地址、以及从针对从所述终端发送到所述第2地址通知装置的地址请求的应答中取得的地址。
此外,提供一种终端,其与包含通信控制装置、第1通信网所具备的第1地址通知装置以及第2通信网所具备的第2地址通知装置的通信系统之间进行控制通信,该终端的特征在于,具有:
向所述第1地址通知装置发送地址请求、从该第1地址通知装置接收包含该地址请求的发送源地址的应答、从该应答中取得发送源地址的单元;
向所述第2地址通知装置发送地址请求、从该第2地址通知装置接收包含该地址请求的发送源地址的应答、从该应答中取得发送源地址的单元;以及
向所述通信控制装置发送包含从接收自所述第1地址通知装置和所述第2地址通知装置的各应答中取得的地址的地址集合的单元,
所述通信控制装置将从所述终端接收到的地址集合发送到作为该终端的通信对方的通信对方终端。
此外,根据本发明的实施方式,提供一种通信方法,其在包含第1通信网所具备的第1地址通知装置以及第2通信网所具备的第2地址通知装置的通信系统中执行,该通信方法的特征在于,
所述第1地址通知装置从能够与该第1地址通知装置和所述第2地址通知装置进行通信的终端接收地址请求,从该地址请求中取得发送源地址,向所述终端发送包含该发送源地址的应答,
所述第2地址通知装置从所述终端接收地址请求,从该地址请求中取得发送源地址,向所述终端发送包含该发送源地址的应答。
此外,根据本发明的实施方式,提供一种通信系统,其包含第1通信网所具备的第1通信控制装置和第1地址通知装置、以及第2通信网所具备的第2通信控制装置和第2地址通知装置,该通信系统的特征在于,
所述第1通信控制装置和所述第2通信控制装置分别具有中继单元,该中继单元从能够与所述第1地址通知装置和所述第2地址通知装置进行通信的终端接收地址集合,向作为该终端的通信对方的通信对方终端发送该地址集合,
所述地址集合包含从针对从所述终端发送到所述第1地址通知装置的地址请求的应答中取得的地址、以及从针对从所述终端发送到所述第2地址通知装置的地址请求的应答中取得的地址。
发明效果
根据本发明的实施方式,可适当地选择在终端间的P2P通信中使用的通信路径。
附图说明
图1是本发明实施方式的通信系统的整体结构图。
图2是用于说明ICE的基本过程例的动作序列图。
图3是用于说明第1实施例中的动作例的动作序列图。
图4是用于说明第2实施例中的动作例的动作序列图。
图5是P2P连接校验的例子(无法通过第1通信网进行连接的情况下的例子)。
图6是用于说明其它使用例子(use case)的图。
图7是用于说明仅在特定的通信网中设置STUN服务器的例子的图。
图8是示出在第1通信网和第2通信网中具备信令服务器的结构的图。
图9是终端40的结构图。
图10是信令服务器30的结构图。
图11是STUN服务器11的结构图。
图12是示出硬件结构的例子的图。
具体实施方式
以下,参照附图说明本发明的实施方式。另外,以下说明的实施方式只不过是一个例子,应用了本发明的实施方式并非限于以下的实施方式。
在本实施方式中说明的P2P通信中,为了进行通信目的地等的指定,使用IP地址和端口号的组,但下面,为了方便说明,将IP地址和端口号的组称作“地址”。也可以将其称作“传输地址”。在提及“IP地址”的情况下,记述为IP地址、IPv4地址、IPv6地址等。
(系统结构)
图1是本发明实施方式的通信系统的整体结构图。如图1所示,本实施方式中的通信系统具有第1通信网10和第2通信网20。第1通信网10和第2通信网20的用于分组的路由的IP地址不同。作为这里的“IP地址不同”的情况,例如,具有一方使用“IPv4地址”而另一方使用“IPv6地址”的情况、以及一方使用“IP地址”的特定的地址段而另一方使用相同种类的“IP地址”的其他地址段的情况等。此外,一方是互联网等全局网络中使用的“IP地址”、另一方是物理上或逻辑上与全局网络分离的NW、例如VPN等封闭网络中使用的“IP地址”的情况也属于“IP地址不同”的情况。
第1通信网10和第2通信网20分别不限定于特定种类的网,但在本实施方式中,作为一例,假设第1通信网10是接入网(例:NGN网),第2通信网20是与接入网连接的互联网。但是,也存在其它使用例子,之后对此进行叙述。另外,在图1中,为了方便说明,将第1通信网10和第2通信网20分离绘制。此外,通信网的数量不限于2个,也可以存在3个以上的通信网。
如图1所示,在本通信系统中具备作为进行P2P通信的终端的终端40A和终端40B。在本实施方式中,假设了各终端是通常的PC或者智能手机、移动电话或者传感器/致动器等IoT/M2M器件等终端,其具备浏览器或者具有相当于浏览器的WebRTC通信功能的软件,使用WebRTC并通过P2P通信进行视频通话等,但这仅是一例,也可以通过P2P通信进行数据的通信。此外,也可以通过P2P通信进行语音通话。在本说明书的说明中,将这些视频、数据、语音等统称作“媒体”。
此外,在具备终端40A的据点设置有NAT装置50A,在具备终端40B的据点设置有NAT装置50B。NAT装置50A/50B是基本上具有对在终端40A/40B中被分配给本地的地址(称作内部地址)与在第1通信网10/第2通信网20侧使用的地址(称作外部地址)进行相互转换的功能的装置。另外,并非必须具备NAT装置50A/50B,也可以不具备NAT装置50A/50B。另外,即使在第1通信网10/第2通信网20是封闭网络的情况下,也将在第1通信网10/第2通信网20侧使用的地址称作外部地址。
如图1所示,本通信系统30具备信令服务器30。信令服务器30是为了使终端40A和终端40B建立用于P2P通信的通信路径(信道)而进行终端40A与终端40B之间的控制信号的中继的装置。之后叙述详细内容,但更具体而言,在终端40A和终端40B确定用于P2P通信的地址对时,信令服务器30在终端40A与终端40B之间,进行由各终端收集到的地址候选的交换等。终端40A和终端40B分别在信令服务器30中进行登记,与信令服务器30进行通信。
只要能够执行终端40A与终端40B之间的信令,则信令服务器30可以设置于任意位置。例如,信令服务器30可以设置于第1通信网10,也可以设置于第2通信网20,还可以设置于其它网。另外,可以将信令服务器30称作“通信控制装置”。
并且,如图1所示,第1通信网10中具备STUN服务器11,第2通信网20中控具备STUN服务器21。关于作为STUN服务器的功能,STUN服务器11和STUN服务器21相同。但是,对STUN服务器11分配第1通信网10的地址,对STUN服务器21分配第2通信网20的地址。另外,可以将STUN服务器称作“地址通知装置”。此外,各网也可以具备多个STUN服务器。此外,可以将具有STUN服务器11和STUN服务器21的结构称作“通信系统”。
各STUN服务器是具有例如非专利文献1所记载的STUN的功能的服务器。作为基本功能,各STUN服务器具有如下功能:在接收到从终端发送的绑定请求(地址请求)之后,从该请求的分组取得发送源地址,将该发送源地址包含在绑定应答(地址应答)中,向发送源地址发送该绑定应答。在本实施方式中,上述发送源地址例如是NAT转换后的外部地址。由此,终端能够知道自身的外部地址,通过将其通知给通信对方,通信对方能够知道到该终端的目的地地址。另外,在不存在NAT装置的情况下,也可以将分配给终端自身的主机地址包含在绑定应答中返回。
将包含在绑定应答中返回到终端的地址称作“自反传输地址(ReflexiveTransport Address)”。
STUN是能够在进行NAT穿越时使用的技术之一,作为其它技术,例如有TURN(Traversal Using Relays around NAT:通过中继方式穿越NAT)。TURN是在通信网内配置用于对媒体的分组进行中继的TURN服务器,并能够经由TURN服务器进行终端间的通信的技术。
(关于ICE)
为了在终端40A与终端40B之间进行P2P通信,两个终端需要知道彼此的地址。因此,本实施方式中的各终端使用非专利文献2所记载的被称作ICE(InteractiveConnectivity Establishment:交互性连接建立)的协议来确定P2P通信中使用的地址。
在ICE中,各终端收集能够在STUN或TURN等中利用的地址,在终端间对所收集到的地址进行交换,相互进行连接校验(打洞),选择可通信的地址中的优先级最高的地址来进行通信。关于选择的优先顺序,例如为自身的地址最高(即进行不经由NAT装置的本地通信的情况),接着为由STUN服务器通知的外部地址,其次为用于经由TURN服务器而进行通信的地址。之后对更具体的例子进行叙述。另外,在本实施方式中,为了方便说明,假设不考虑TURN。
将上述终端自身的地址的种类(Type)称作“host(主机)”、STUN的地址的种类(Type)称作“server reflexive(服务器自反)”。“server reflexive”也可以省略一部分而记述为“srflx”。
(基本过程例)
参照图2,说明本实施方式中的在终端40A与终端40B之间执行的ICE的基本过程例。另外,该过程是一例。也可以替代图2所示的过程,例如,使用立即向对方发送所取得的候选并立即进行连接校验的过程。此外,图2所示的过程经由信令服务器30执行,但省略了信令服务器30的记载。
在步骤S101中,终端40A进行地址收集。具体而言,终端40A首先取得分配给自身的地址。以如终端40A侧的host的地址的意思,将该地址记述为“地址(host)A”。以下,使用相同的记述方式。此外,下面,将第1通信网10侧的地址称作“第1地址”、第2通信网20侧的地址称作“第2地址”。
在终端40A中预先设定(存储)STUN服务器11的地址和STUN服务器21的地址,终端40A通过向STUN服务器11发送绑定请求,并接收绑定应答,取得第1地址(srflx)A,通过向STUN服务器21发送绑定请求,并接收绑定应答,取得第2地址(srflx)A。
上述的例子是通过直接指定STUN服务器的地址(IP地址)来发送绑定请求的方法的例子,但除了这样的方法以外,例如,也可以使用如通过FQDN指定作为目的地的STUN服务器并由DNS服务器来解决IP地址的方法。
如上所述,终端40A取得地址(host)A、第1地址(srflx)A和第2地址(srflx)A。在图1中,例如,用C表示的端口的地址相当于地址(host)A,用D表示的端口的地址相当于第2地址(srflx)A,用E表示的端口的地址相当于第1地址(srflx)A。另外,作为host的地址的地址(host)A可以分别针对第1通信网10和第2通信网20而存在。即,作为host的地址,可以取得第1地址(host)A和第2地址(host)A。在本例子中示出取得了1个地址(host)A作为host的地址的情况的例子。
接着,终端40A计算与收集到的各地址的优先级(Priority)对应的得分。得分的计算方法能够使用非专利文献2的4.1.2章所记载的方法。具体而言,根据与种类(host、srflx等)对应的host preference的值(例:host:128、srflx:100)、以及与地址家族(IPv4、IPv6)对应的Local Preference的值等,计算得分。但是,得分的计算方法并不限于非专利文献2的4.1.2章所记载的方法。关于Local preference的值,在非专利文献2中,推荐将IPv6设为比IPv4更高的值,在本实施方式中,依照该推荐。
接着,在步骤S102中,终端40A将在步骤S101中收集到的地址(称作地址候选)与计算出的得分一起发送给终端40B。这里,作为例子,使用SDP(Session DescriptionProtocol:会话描述协议)提议(offer)的消息。
具体而言,在步骤S102中,终端40A将“地址(host)A和得分、第1地址(srflx)A和得分、第2地址(srflx)A和得分”作为地址候选发送到终端40B。
在步骤S103中,接收到包含地址候选的SDP提议(offer)的终端40B与终端40A侧的地址收集和得分计算同样,取得地址(host)B、第1地址(srflx)B和第2地址(srflx)B,计算它们的得分。
而且,在步骤S104中,终端40B将“地址(host)B和得分、第1地址(srflx)B和得分、第2地址(srflx)B和得分”作为SDP答复(answer)发送到终端40A。
由此,终端40A和终端40B分别具有自身的地址候选和对方的地址候选。而且,终端40A和终端40B分别生成由自身的1个地址和对方的1个地址形成对的地址对的组合(集合),并计算每个地址对的得分,按照优先级顺序排列(将其称作校验列表)。这里的评分能够使用非专利文献2的5.7.2所记载的方法。在该方法中,基本上,构成对的各地址的得分越高,能够获得越高的得分。但是,通过非专利文献2的5.7.2所记载的方法进行评分仅是一例,也可以通过其它方法进行评分。
在步骤S105中,终端40A和终端40B分别对每个地址对进行连接校验。在连接校验中,进行使用了STUN的绑定请求的打洞。例如,从终端40A向某个地址对中的终端40B的目的地地址(将其称作地址B)发送绑定请求,在接收到绑定应答的情况下,取得绑定应答中包含的地址(reflexive address)(将其称作地址A)。而且,如果存在校验列表中的与地址A和地址B的对一致的地址对,则该地址对的连接校验成功。另外,连接校验也可以仅由终端40A(controlling agent,控制代理)进行。
通过如上所述的方法进行连接校验,例如,终端40A(controlling agent)确定将连接校验成功的地址对中的、优先级最高的地址对用于媒体的发送,将该地址对通知给终端40B(controlled agent,被控制代理)。在终端40B能够使用该地址对的情况(例:是来自终端40B的连接校验成功的地址对中所包含的地址对的情况)下,终端40B可以确定使用该地址对。此外,终端40B中也可以执行与终端40A相同的处理,由终端40B确定用于从终端40B进行的发送的地址对。然后,执行使用了所确定的地址对的P2P通信(步骤S106)。例如,终端40A向所确定的地址对的发送目的地的地址发送媒体,终端40B向所确定的地址对的发送目的地的地址发送媒体。
另外,从终端40A进行的发送所使用的地址对和从终端40B进行的发送所使用的地址对可以相同,也可以不同。
另外,如上所述的地址的确定方法仅是一例,也可以通过其它方法确定地址。下面,说明作为更具体的动作例的第1实施例和第2实施例。
(第1实施例)
参照图3,说明在第1实施例中在终端40A与终端40B之间执行的动作。基本过程如图2中所说明的那样,但在第1实施例中,说明在第1通信网10和第2通信网20使用特定的IP地址的情况下,通过在各网中具备STUN服务器的结构,解决现有技术的课题。另外,与图2同样,在图3中也省略了信令服务器30的记载。
在第1实施例中,假设第1通信网10是使用IPv6地址来进行分组的路由的网(例:NGN网),第2通信网20是使用IPv4地址来进行分组的路由的网(例:互联网)。
在步骤S201中,终端40A进行地址收集。这里,例如,假设从NAT装置50A对终端40A分配私有(本地)的IPv4的地址和私有的IPv6的地址,取得IPv4和IPv6的地址作为host的地址。将它们记述为“IPv4(host)A”、“IPv6(host)A”。并且,终端40A分别向STUN服务器21和STUN服务器11发送绑定请求,并从它们分别接收绑定应答,由此取得IPv4(srflx)A和IPv6(srflx)A。
终端40A计算收集到的各地址的得分。这里,按照“IPv6(host)A>IPv4(host)A>IPv6(srflx)A>IPv4(srflx)A”所示的大小顺序计算得分。
接着,在步骤S202中,终端40A将在步骤S201中收集到的地址候选与计算出的得分一起发送到终端40B。具体而言,在步骤S202中,终端40A将包含“IPv6(host)A和得分、IPv4(host)A和得分、IPv6(srflx)A和得分、IPv4(srflx)A和得分”的消息发送到终端40B。
在步骤S203中,由终端40B进行地址收集,在步骤S204中,终端40B将包含“IPv6(host)B和得分、IPv4(host)B和得分、IPv6(srflx)B和得分、IPv4(srflx)B和得分”的消息发送到终端40A。
由此,终端40A和终端40B分别具有自身的地址候选和对方的地址候选。而且,终端40A和终端40B分别生成由自身的1个地址和对方的1个地址形成对的地址对的集合,并且计算每个地址对的得分,按照优先级顺序排列,作为校验列表。
然后,在步骤S205中,进行连接校验。这里,例如,假设终端40A在IPv6(srflx)A与IPv6(srflx)B的对、IPv4(srflx)A与IPv4(srflx)B的对这两对中连接校验成功。如果是相同的种类(srflx),则IPv6的优先级的得分更高,因此,在步骤S206中,终端40A将IPv6(srflx)A与IPv6(srflx)B的对确定为用于发送媒体的地址对。终端40B也以相同的过程确定地址对,在步骤S207中,开始P2P通信。或者,也可以将由终端40A确定的地址对通知给终端40B,终端40B使用该地址对。
通常,假设在互联网中使用IPv4,并且在NAT装置下属的终端之间,host的地址中的P2P连接校验不成功,因此,上述第1实施例的情况可以说是能够以较高的可能性发生的情况。
而且,在第1实施例中,通过采用在第1通信网10和第2通信网20中分别具备STUN服务器这样的以往没有的结构,能够按照经由第1通信网10(例:NGN网)的路径执行终端40A与终端40B之间的P2P通信。
此外,通过采用在第1通信网10和第2通信网20中分别具备STUN服务器的以往没有的结构,还具有如下效果:假设在单方的通信网中无法进行P2P通信的情况下,也能够回退到另一方的通信网进行P2P通信。
(第2实施例)
接着,参照图4,说明第2实施例中的在终端40A与终端40B之间执行的动作。基本过程如图2所说明的那样,但在第2实施例中,说明信令服务器30通过进行得分的转换来解决现有的课题的例子。
在第2实施例中,假设第1通信网10是使用IPv6地址(将其称作第1IPv6地址)来进行分组的路由的网(例:NGN网),第2通信网20是使用与第1IPv6地址不同的地址段的IPv6地址(将其称作第2IPv6地址)来进行分组的路由的网(例:互联网)。
在步骤S301中,终端40A进行地址收集。这里,例如,假设对终端40A分配在第2通信网20中使用的第2IPv6的地址,取得第2IPv6的地址作为host的地址。将其记述为“第2IPv6(host)A”。假设其它也采用相同的形式。并且,终端40A通过分别向STUN服务器21和STUN服务器11发送绑定请求,并从它们分别接收绑定应答,取得第2IPv6(srflx)A和第1IPv6(srflx)A。
这里,在本实施例中,NAT装置50A针对向第1通信网10发送的分组进行发送源地址的转换(第2IPv6→第1IPv6的转换),但针对向第2通信网20发送的分组不进行发送源地址的转换。因此,第2IPv6(srflx)A与第2IPv6(host)A相同,其结果,作为host的地址而取得的仅是第2IPv6(host)A。另外,在这样的情况下,STUN服务器21可以不返回第2IPv6(srflx)A,而是返回表示发送源地址是host的地址的信息。
终端40A计算收集到的各地址的得分。这里,按照“第2IPv6(host)A>第1IPv6(srflx)A”所示的大小顺序计算得分。这里,作为方便说明的例子,假设第2IPv6(host)A的得分是200,第1IPv6(srflx)A的得分是100。
接着,在步骤S302中,终端40A将在步骤S301中收集的地址候选与计算出的得分一起进行发送。具体而言,在步骤S302中,终端40A发送包含“第2IPv6(host)A和得分200、第1IPv6(srflx)A和得分100”作为地址候选的消息。
信令服务器30接收上述消息,确认地址候选。信令服务器30检测如下情况,即作为地址候选而存在第2IPv6(host)A和第1IPv6(srflx)A,得分的大小关系是“第2IPv6(host)A>第1IPv6(srflx)A”的情况。
信令服务器30具有如下功能:进行得分的转换,以使终端间的P2P通信尽可能经由第1通信网10(例:NGN网)、且使第2通信网20的地址的得分小于第1通信网10的地址的得分。信令服务器30利用该功能,例如将第2IPv6(host)A的得分从200转换为100,将第1IPv6(srflx)A的得分从100转换为200(步骤S303)。而且,信令服务器30将附加有转换后的得分的地址候选“第2IPv6(host)A和得分100、第1IPv6(srflx)A和得分200”转发到终端40B(步骤S304)。
另外,信令服务器30也可以还将附加有转换后的得分的地址候选“第2IPv6(host)A和得分100、第1IPv6(srflx)A和得分200”发送到终端40A。由此,在地址对的评分时,终端40A能够针对发送源地址(自身的地址)也使用得分转换后的得分。但是,也可以不进行向终端40A发送附加有转换后的得分的地址候选。在该情况下,即使针对发送源地址不使用得分转换后的得分,为了使得分转换有效地发挥功能也进行得分的转换。例如,在后述的步骤S307中,通过将发送目的地地址(第1IPv6(srflx)B)的得分转换为充分大的值,在终端40A利用发送目的地地址和发送源地址的对来进行评分的计算的情况下,包含第1IPv6(srflx)B作为发送目的地地址的对必然成为最高的得分。
在步骤S305中,由终端40B进行地址收集,在步骤S306中,终端40B发送包含“第2IPv6(host)B和得分200、第1IPv6(srflx)B和得分100”作为地址候选的消息。
在步骤S307中,信令服务器30与步骤S303同样地进行得分转换,将附加有转换后的得分的地址候选“第2IPv6(host)B和得分100、第1IPv6(srflx)B和得分200”转发到终端40A(步骤S308)。
另外,信令服务器30也可以还将附加有转换后的得分的地址候选“第2IPv6(host)B和得分100、第1IPv6(srflx)B和得分200”发送到终端40B。由此,在地址对的评分时,终端40B能够针对发送源地址(自身的地址)也使用得分转换后的得分。但是,也可以不向终端40B进行附加有转换后的得分的地址候选的发送。在该情况下,即使针对发送源地址不使用得分转换后的得分,为了使得分转换有效地发挥功能,也进行得分的转换。例如,在上述步骤S303中,通过将发送目的地地址(第1IPv6(srflx)A)的得分转换为充分大的值,在终端40B利用发送目的地地址和发送源地址的对来进行评分的计算的情况下,包含第1IPv6(srflx)A作为发送目的地地址的对必然成为最高的得分。
由此,终端40A和终端40B分别具有自身的地址候选和对方的地址候选。而且,终端40A和终端40B分别生成由自身的1个地址和对方的1个地址形成对的地址对的集合,并且计算每个地址对的得分,按照优先级顺序排列,作为校验列表。
然后,在步骤S309中,进行连接校验。这里,假设例如在终端40A中,在第1IPv6(srflx)A与第1IPv6(srflx)B的对、第2IPv6(host)A与第2IPv6(host)B这两对中连接校验成功。如上所述,在信令服务器30中进行了得分转换,因此,第1IPv6(srflx)A与第1IPv6(srflx)B的对的得分比第2IPv6(host)A与第2IPv6(host)B的对更高,因此,在步骤S310中,终端40A将第1IPv6(srflx)A与第1IPv6(srflx)B的对确定为用于媒体的发送的地址对。在终端40B也以相同的过程确定地址对,在步骤S311中,开始P2P通信。或者,也可以将由终端40A确定的地址对通知给终端40B,终端40B使用该地址对。
另外,上述得分的转换方法仅是一例。例如,也可以是提高相当于想使P2P通信经由的网的1个地址的得分(例:设为最高优先级的得分)这样的转换方法。
在第2实施例中,通过在信令服务器30进行得分转换,能够通过经由第1通信网10(例:NGN网)的路径来执行终端40A与终端40B之间的P2P通信。
通过经由第1通信网10(例:NGN网)的路径执行P2P通信仅是一例。例如,还能够实现如经由第2通信网20(互联网)进行一部分或者全部P2P通信的控制。为了经由第2通信网20(互联网)进行P2P通信,信令服务器30进行地址转换,以使第2通信网20侧的地址的得分提高即可。此外,例如,在想要与互联网的业务状况对应地将P2P通信的执行从经由第2通信网20(互联网)变为经由第1通信网10(NGN)的情况下,只要变更信令服务器30中的设定,以进行地址转换而使得第1通信网10侧的地址的得分提高即可。具体而言,只要使后述的信令服务器30的数据存储部33中所存储的得分转换基准信息成为表示进行地址转换以使第1通信网10侧的地址的得分提高的信息即可。
另外,即使在第1实施例中,也可以使用具有第2实施例的功能的信令服务器30。在该情况下,在第1实施例的状况中,信令服务器30确认第1通信网10的地址的得分更高,判断为无需进行得分的转换,不进行得分转换而进行地址候选的转发。
另外,作为一个例子,之前说明的图1的结构对应于第1通信网10是接入网、第2通信网20是互联网的情况。在该情况下,终端40A和终端40B均属于相同的接入网(第1通信网10)。
本实施方式的技术能够不限于这样终端40A和终端40B属于相同的接入网的情况地进行应用。例如,还能够应用于两个终端属于不同的接入网、通过这些接入网而与互联网连接的情况。
在该情况下,使用信令服务器30来对两个终端从各自的接入网内STUN服务器取得的地址信息进行交换,进行P2P连接校验。而且,例如,如果进行接入网之间的相互连接等,则执行经由了接入网的P2P通信。另一方面,在不进行相互连接等的情况下,进行基于其它地址(例如互联网地址)的P2P连接校验,只要能够进行通信,则经由该地址的网的连接建立。即,能够自动建立经由可连接的网(例:互联网)的通信作为回退目的地,服务的可用性提高。
(P2P连接校验的例子(无法通过第1通信网10进行连接的情况的例子))
即使在例如第1实施例的情况那样第1通信网10的地址的得分比第2通信网20的地址的得分高的情况下,如果第1通信网10中的连接校验不成功,则无法进行第1通信网10中的P2P通信。例如图5所示,存在经由第1通信网10的连接被拒绝的情况。作为这样的情况的例子,例如存在作为第1通信网10的策略,不许可经由第1通信网10的P2P通信的情况。
如图5所示,通过使用本实施方式的技术,即使在这样的情况下,如果能够进行基于其他地址的P2P连接,则连接就建立。即,根据本实施方式,能够自动建立经由第2通信网20(例:互联网)的通信作为回退目的地,服务的可用性提高。
(其它使用例子)
在以上所说明的例子中,假设了第1通信网10是NGN网等接入网、第2通信网20是互联网,但这样的使用例子仅是一例。作为其它使用例子,例如,也可以如图6所示,第1通信网10是VPN等封闭网络,第2通信网20是互联网。另外,作为VPN的例子,有使用MPLS技术的IP-VPN。关于所使用的地址,第1通信网10和第2通信网20可以均为IPv4,也可以均为IPv6,还可以一方为IPv4,另一方为IPv6。
在本使用例子的情况下,能够如第1实施例中所说明那样采用不进行得分转换的动作,也能够如在第2实施例中所说明的那样采用进行得分转换的动作,但通过采用进行得分转换的动作,能够进行如下所述的业务路径的控制。
即,在图6所示的使用例子中,通过进行得分转换,例如,能够实现如经由第2通信网20(互联网)进行一部分或者全部P2P通信的控制。如在第2实施例中所说明的那样,为了经由第2通信网20(互联网)进行P2P通信,信令服务器30进行地址转换,以使第2通信网20侧的地址的得分提高即可(图4的S303、S307中的得分转换)。此外,例如,在想要与互联网的业务状况对应地将P2P通信的执行从经由第2通信网20(互联网)变为经由第1通信网10(封闭网络)的情况下,变更信令服务器30中的设定,以使得进行地址转换而使第1通信网10侧的地址的得分提高即可。具体而言,只要使后述的信令服务器30的数据存储部33中所存储的得分转换基准信息为表示进行地址转换以使第1通信网10侧的地址的得分提高的信息即可。
如上所述,通过使用本实施方式的技术,仅通过控制信令服务器30,就能够进行与通过SD-WAN(Software Defined WAN:软件定义WAN)技术实现的使用例子即混合WAN等相同的业务路径的控制。这样的业务路径控制还能够通过配备有SD-WAN控制器和SD-WAN边缘的基础上的SDN(Software-Defined Network,软件定义网络)实现,但通过本实施方式的技术,能够使对NW设备和应用程序的影响为最小限来进行这样的业务路径控制。
(变形例1)
在本实施方式的通信系统中,如图7所示,可以仅在第1通信网10(例:接入网)中配备STUN服务器11。
在图7所示的结构的情况下,终端间的P2P连接校验利用host的地址以及能够从第1通信网10内的STUN服务器11收集的地址来进行。如通常假设的那样,在终端位于NAT装置的下属的情况下,无法进行使用了host的地址的P2P的通信。因此,在该情况下,只要没有限定经由第1通信网10的P2P通信,则进行基于能够从STUN服务器11收集的地址的P2P通信、即经由第1通信网10的P2P通信。
另外,即使在限定了经由第1通信网10的P2P通信的情况下,在对各终端赋予了IPv6的全局互联网地址作为host的地址的情况下,也能够进行基于上述回退的经由第2通信网20(例:互联网)的P2P通信。
(变形例2)
在以上所说明的例子中,不限定信令服务器30的设置部位而具有1个信令服务器30,但如图8所示,也可以在各网中具备信令服务器30。即,在图8所示的例子中,第1通信网10中具备信令服务器30-1,第2通信网20中具备信令服务器30-2。在变形例2中,第1通信网10可以是NGN网等接入网,也可以是参照图6所说明的封闭网络,还可以是其它网。此外,虽然假设了第2通信网20是互联网,但也可以是互联网以外的网。关于所使用的地址,第1通信网10和第2通信网20可以均为IPv4,也可以均为IPv6,还可以一方为IPv4,另一方为IPv6。
信令服务器30-1和信令服务器30-2均具有与之前说明的信令服务器30相同的功能。即,在假设仅设置有信令服务器30-1和信令服务器30-2中的信令服务器30-1的情况下,信令服务器30-1能够执行与在第1实施例和第2实施例中所说明的信令服务器30相同的动作。此外,在假设仅设置有信令服务器30-1和信令服务器30-2中的信令服务器30-2的情况下,信令服务器30-2能够执行与在第1实施例和第2实施例中所说明的信令服务器30相同的动作。
在变形例2中,不进行在第1实施例中所说明的得分转换的动作、以及进行在第2实施例中所说明的得分转换的动作均能够适用。
在变形例2中,终端40A和终端40B均分别在信令服务器30-1和信令服务器30-2中进行登记,分别与它们进行通信。例如,在应用不进行在第1实施例中所说明的得分转换的动作的情况下,终端40A和终端40B使用信令服务器30-1来执行参照图3所说明的动作序列的动作,并且使用信令服务器30-2来执行参照图3所说明的动作序列的动作。另外,至于终端自身侧的地址收集(S201、S203),可以分别对信令服务器30-1和信令服务器30-2进行,也可以对信令服务器30-1和信令服务器30-2进行1次。
在正常进行了使用信令服务器30-1的动作序列和使用信令服务器30-2的动作序列双方的情况下,产生2个P2P通信连接(会话):通过使用信令服务器30-1的动作序列而在终端40A与终端40B之间建立的P2P通信连接;以及通过使用信令服务器30-2的动作序列而在终端40A与终端40B之间建立的P2P通信连接。
在信令服务器30-1和30-2不进行得分转换而进行了相同的动作的情况下,建立经由相同的通信网的2个不同的P2P通信连接。在该情况下,终端40A(或者终端40B)切断2个不同的P2P通信连接中的任意一个。例如,预想为在2个不同的P2P通信连接间,地址对的得分相同,因此,随机地切断任意一个。
也可以替代如上所述的动作,终端40A(和终端40B)使用通过使用信令服务器30-1的动作序列而确定的地址对和通过使用信令服务器30-2的动作序列而确定的地址对中的、得分更高的地址对来进行1个P2P通信连接。
此外,在应用进行在第2实施例中所说明的得分转换的动作的情况下,终端40A和终端40B使用信令服务器30-1来执行参照图4所说明的动作序列的动作,并且使用信令服务器30-2来执行参照图4所说明的动作序列的动作。另外,至于终端自身侧的地址收集(S301、S305),可以分别对信令服务器30-1和信令服务器30-2进行,也可以对信令服务器30-1和信令服务器30-2进行1次。
在正常进行了使用信令服务器30-1的动作序列和使用信令服务器30-2的动作序列双方的情况下,产生2个P2P通信连接:通过使用信令服务器30-1的动作序列而在终端40A与终端40B之间建立的P2P通信连接;以及通过使用信令服务器30-2的动作序列而在终端40A与终端40B之间建立的P2P通信连接。
例如,在信令服务器30-1和30-2进行了相同的得分转换的情况下,建立经由相同的通信网的2个不同的P2P通信连接。在该情况下,终端40A(或者终端40B)切断2个不同的P2P通信连接中的任意一个。例如,预想为在2个不同的P2P通信连接间,地址对的得分也相同,因此,随机地切断任意一个。
在信令服务器30-1和30-2按照不同的规则进行了得分转换的情况下,建立2个不同的P2P通信连接时,终端40A(或者终端40B)例如切断在2个不同的P2P通信连接间地址对的得分低的一方。此外,在建立经由不同的通信网的2个不同的P2P通信连接的情况下,可以根据得分来切断1个P2P通信连接,也可以预先确定要切断侧的通信网,切断经由该通信网的P2P通信连接。
也可以替代如上所述的动作,终端40A(和终端40B)使用通过使用信令服务器30-1的动作序列而确定的地址对和通过使用信令服务器30-2的动作序列而确定的地址对中的、得分更高的地址对来进行1个P2P通信连接。
无论在应用第1实施例的动作的情况和应用第2实施例的动作的情况中的哪个情况下,例如,在无法从终端40A(终端40B)连接到第2通信网20的情况下,也建立基于通过使用信令服务器30-1的动作序列而确定的地址对的P2P通信连接。在这样的情况下,在假设仅在第2通信网20中具备信令服务器30的情况下,无法进行信令的执行,因此,对第1通信网10和第2通信网20中的哪个都无法进行P2P通信连接。另一方面,如变形例2那样,在各网中具备信令服务器30,因此,即使在无法与一方的网连接的情况下,也能够进行利用另一方的网的P2P通信连接。
(装置结构例)
以下,说明在本实施方式中使用的装置的结构例。以下参照附图说明的各装置的结构仅示出与本实施方式相关的主要结构,在各装置中包含为了使该装置实际进行动作所需的未图示的已知功能。
<终端>
图9示出执行在本实施方式中所说明的处理的终端40(A,B)的结构例。终端40A和终端40B具有相同的结构,因此,记作终端40(A,B)。在以下的说明中,记作终端40。
如图9所示,终端40包含控制通信部41、媒体通信部42和数据存储部43。如之前所说明的那样,控制通信部41与STUN服务器11、21或信令服务器30、30-1、30-2进行控制信号的发送或接收,确定在媒体(视频、语音、数据等)的P2P通信中使用的地址。媒体通信部42通过使用由控制通信部41确定的地址,执行P2P通信。
在数据存储部43中例如存储有控制通信部41应接入的STUN服务器11、21的地址、信令服务器30、30-1、30-2的地址、DNS服务器的地址等。控制通信部41使用STUN服务器11、21的地址、信令服务器30、30-1、30-2的地址来与STUN服务器11、21或信令服务器30、30-1、30-2进行通信。
此外,在用FQDN指定STUN服务器11、21的情况下,例如,用户对控制通信部41输入该FQDN。或者,在数据存储部43中预先存储FQDN,控制通信部41从数据存储部43取得FQDN。而且,控制通信部41通过使用在数据存储部43中存储的DNS服务器的地址来接入到DNS服务器,进行地址解决,从而接入到STUN服务器11、21。
本实施方式的终端40例如能够通过使计算机执行记述有在本实施方式中说明的处理内容的程序来实现。即,终端40具有的功能能够通过使用该计算机所内置的CPU、存储器、硬盘等硬件资源来执行与由终端40实施的处理对应的程序来实现。上述程序能够记录、保存或者发布在计算机可读的记录介质(可移动存储器等)中。此外,还能够通过互联网或电子邮件等网络来提供上述程序。
另外,例如在使用WebRTC作为P2P通信的技术的情况下,终端40能够利用具有浏览器或者具备相当于浏览器的WebRTC通信功能的软件的终端来实现。该终端例如是PC或智能手机、移动电话或者传感器/致动器等IoT/M2M设备等。在使用WebRTC的情况下,终端40首先通过从第1通信网10、第2通信网20或者其它网所具备的服务器等取得程序(Web应用),并由终端40执行该程序,来执行控制通信等。
<信令服务器>
图10示出执行在本实施方式中所说明的处理的信令服务器30的结构例。另外,信令服务器30-1、30-2具有与信令服务器30相同的结构。如图10所示,信令服务器30具有消息中继部31、得分转换部32、数据存储部33。
消息中继部31进行包含在终端间被交换的地址候选等的消息的中继。得分转换部32进行在第2实施例中所说明的得分转换。即,终端间的P2P通信进行得分的转换,以经由规定的通信网(例:第1通信网10)。另外,进行得分的转换以经由第1通信网10仅是一例,进行何种得分转换能够通过设定来变更。
作为一例,在作为P2P通信能够经由的网而具有网1、网2、网3这3个网的情况下,想优先经由网2的情况下,设定网2的地址的信息(例:网2的地址段)以及进行得分转换以使网2的地址的得分比其它网的地址高的命令。由此,得分转换部32对从终端接收的地址候选中的地址进行校验,在检测出相当于网2的地址段的地址的情况下,进行该地址的得分的转换。另外,如果是无需进行转换就经由网2那样的得分,则不进行转换。
数据存储部33例如存储上述设定涉及的信息(地址信息、得分转换规则等)。该信息是作为得分转换时的基准的信息,因此,称作得分转换基准信息。得分转换部32通过参照数据存储部33中所存储的得分转换基准信息,能够适当地进行得分转换。另外,相当于数据存储部33的功能部可以在信令服务器30的外部配备为另外服务器(外部服务器),在该情况下,信令服务器30经由通信网接入到该外部服务器,从该外部服务器取得得分转换基准信息,根据该得分转换基准信息来实施得分转换。
本实施方式的信令服务器30例如能够通过使1个或者多个计算机执行记述有在本实施方式中说明的处理内容的程序来实现。即,信令服务器30具有的功能能够通过使用该计算机中内置的CPU、存储器、硬盘等硬件资源来执行与由信令服务器30实施的处理对应的程序来实现。上述程序能够记录、保存或者发布在计算机可读的记录介质(可移动存储器等)中。此外,还能够通过互联网或电子邮件等网络来提供上述程序。
<STUN服务器>
图11示出STUN服务器11的结构图。STUN服务器21也具有相同的结构,作为代表,图11示出STUN服务器11。如图11所示,STUN服务器11包含地址取得部15和地址通知部16。
地址取得部15接收从终端发送的绑定请求,取得该绑定请求的发送源地址(例:在经由NAT的情况下为NAT的外侧的地址)。地址通知部16生成包含由地址取得部15取得的发送源地址的绑定应答,向该发送源地址(即,向发送源的终端)发送绑定应答。
本实施方式的STUN服务器11例如能够通过使1个或者多个计算机执行记述有在本实施方式中说明的处理内容的程序来实现。即,STUN服务器11具有的功能能够通过使用该计算机中内置的CPU、存储器、硬盘等硬件资源执行与由STUN服务器11实施的处理对应的程序来实现。上述程序能够记录、保存或者发布在计算机可读的记录介质(可移动存储器等)中。此外,还能够通过互联网或电子邮件等网络来提供上述程序。
<硬件结构例>
图12是示出用计算机实现上述的各装置(终端40、信令服务器30、STUN服务器11)的情况下的该装置的硬件结构例的图。图12所示的装置(终端40、信令服务器30或者STUN服务器11)分别具有用总线B相互连接的驱动装置150、辅助存储装置152、存储器装置153、CPU154、接口装置155、显示装置156和输入装置157等。
实现该装置中的处理的程序例如由CD-ROM或者存储卡等记录介质151提供。在将存储有程序的记录介质151安装于驱动装置150中时,程序从记录介质151经由驱动装置150而安装到辅助存储装置152中。但是,程序的安装无需一定由记录介质151进行,也可以经由网络从其它计算机下载。辅助存储装置152存储所安装的程序,并且存储所需的文件或数据等。
在具有程序的起动指示的情况下,存储器装置153从辅助存储装置152读出程序并存储。CPU 154(处理器)依照存储器装置153中存储的程序,实现该装置涉及的功能。接口装置155作为用于与网络连接的接口来使用。显示装置156显示程序的GUI(Graphical UserInterface:图形用户界面)等。输入装置157由键盘、鼠标、按钮或者触摸面板等构成,用于输入各种操作指示。
(实施方式的总结)
如以上所说明的那样,在本实施方式中,提供一种通信系统,
其包含第1通信网所具备的第1地址通知装置、以及第2通信网所具备的第2地址通知装置,该通信系统的特征在于,
所述第1地址通知装置具有从能够与该第1地址通知装置和所述第2地址通知装置进行通信的终端接收地址请求、从该地址请求中取得发送源地址、向所述终端发送包含该发送源地址的应答的单元,
所述第2地址通知装置具有从所述终端接收地址请求、从该地址请求中取得发送源地址、向所述终端发送包含该发送源地址的应答的单元。
也可以是,所述通信系统具有通信控制装置,该通信控制装置例如从所述终端接收包含从所述第1地址通知装置和所述第2地址通知装置通知给所述终端的地址的地址集合,向作为该终端的通信对方的通信对方终端发送该地址集合。
也可以是,所述通信控制装置对所述地址集合中的各地址所附加的表示优先级的得分中的、至少1个地址的得分进行转换,以使得经由规定的通信网来进行所述终端与所述通信对方终端之间的通信。这时,也可以是,所述通信控制装置从外部服务器取得得分转换基准信息,并根据该得分转换基准信息来进行所述得分的转换。
此外,根据本实施方式,提供一种地址通知装置,其在包含第1通信网所具备的第1地址通知装置、以及第2通信网所具备的第2地址通知装置的通信系统中作为所述第1通信网所具备的所述第1地址通知装置发挥作用,该地址通知装置的特征在于,具有:取得单元,其从能够与所述第1地址通知装置和所述第2地址通知装置进行通信、且向所述第2地址通知装置发送地址请求并向所述第1地址通知装置发送地址请求的终端接收该地址请求,从该地址请求中取得发送源地址;以及地址通知单元,其向所述终端发送包含所述发送源地址的应答。
此外,根据本实施方式,提供一种通信控制装置,其在包含所述通信控制装置、第1通信网所具备的第1地址通知装置、以及第2通信网所具备的第2地址通知装置的通信系统中使用,该通信控制装置的特征在于,所述通信控制装置具有中继单元,该中继单元从能够与所述第1地址通知装置和所述第2地址通知装置进行通信的终端接收地址集合,向作为该终端的通信对方的通信对方终端发送该地址集合,所述地址集合包含从针对从所述终端发送到所述第1地址通知装置的地址请求的应答中取得的地址、以及从针对从所述终端发送到所述第2地址通知装置的地址请求的应答中取得的地址。
也可以是,所述通信控制装置还具有转换单元,该转换单元对所述地址集合中的各地址所附加的表示优先级的得分中的、至少1个地址的得分进行转换,以使得经由规定的通信网进行所述终端与所述通信对方终端之间的通信。
此外,根据本实施方式,提供一种终端,其与包含通信控制装置、第1通信网所具备的第1地址通知装置以及第2通信网所具备的第2地址通知装置的通信系统之间进行控制通信,该终端的特征在于,具有:向所述第1地址通知装置发送地址请求、从该第1地址通知装置接收包含该地址请求的发送源地址的应答、从该应答中取得发送源地址的单元;向所述第2地址通知装置发送地址请求、从该第2地址通知装置接收包含该地址请求的发送源地址的应答、从该应答中取得发送源地址的单元;以及向所述通信控制装置发送包含从接收自所述第1地址通知装置和所述第2地址通知装置的各应答中取得的地址的地址集合的单元,所述通信控制装置将从所述终端接收到的地址集合发送到作为该终端的通信对方的通信对方终端。
也可以是,所述终端还具有从所述通信控制装置接收由所述通信对方终端取得的地址集合、根据该地址集合以及所述终端取得的地址集合来确定在与所述通信对方终端之间的通信中使用的地址对的单元。
此外,根据本实施方式,提供一种通信系统,其包含第1通信网所具备的第1通信控制装置和第1地址通知装置、以及第2通信网所具备的第2通信控制装置和第2地址通知装置,该通信系统的特征在于,所述第1通信控制装置和所述第2通信控制装置分别具有中继单元,该中继单元从能够与所述第1地址通知装置和所述第2地址通知装置进行通信的终端接收地址集合,向作为该终端的通信对方的通信对方终端发送该地址集合,所述地址集合包含从针对从所述终端发送到所述第1地址通知装置的地址请求的应答中取得的地址、以及从针对从所述终端发送到所述第2地址通知装置的地址请求的应答中取得的地址。
也可以是,所述第1通信控制装置和所述第2通信控制装置分别还具有转换单元,该转换单元对所述地址集合中的各地址所附加的表示优先级的得分中的、至少1个地址的得分进行转换,以使得经由规定的通信网进行所述终端与所述通信对方终端之间的通信。
(实施方式的效果)
根据以上所说明的本实施方式的技术,可适当地选择终端间的P2P通信所使用的通信路径。其结果,例如,能够提高P2P通信的质量。此外,即使在最优先选择出的通信路径不可连接的情况下,也能够回退到其它通信路径来进行P2P通信,因此能够提高服务的可用性。
此外,通过采用在各通信网中具备信令服务器的结构,例如,能够避免在无法连接到互联网的情况下完全无法进行P2P通信连接的情况。
本发明不限于上述实施方式,能够在权利要求范围内进行各种变更和应用。
本专利申请以2015年10月14日提出的日本专利申请第2015-203061号和2016年10月13日提出的日本专利申请第2016-201841号为基础并对其主张优先权,并将日本专利申请第2015-203061号和日本专利申请第2016-201841号的全部内容引用在本申请中。
标号说明
10:第1通信网;11:STUN服务器;15:地址取得部;16:地址通知部;20:第2通信网;21:STUN服务器;30、30-1、30-2:信令服务器;31:消息中继部;32:得分转换部;33:数据存储部;40A、40B:终端;41:控制通信部;42:媒体通信部;43:数据存储部;50A、50B:NAT装置。
Claims (6)
1.一种通信系统,其包含第1通信网所具备的第1地址通知装置、以及第2通信网所具备的第2地址通知装置,该通信系统的特征在于,
所述第1地址通知装置具有从能够与该第1地址通知装置和所述第2地址通知装置进行通信的终端接收地址请求、从该地址请求中取得发送源地址、向所述终端发送包含该发送源地址的应答的单元,
所述第2地址通知装置具有从所述终端接收地址请求、从该地址请求中取得发送源地址、向所述终端发送包含该发送源地址的应答的单元,
所述通信系统具有通信控制装置,
该通信控制装置从所述终端接收包含从所述第1地址通知装置和所述第2地址通知装置通知给所述终端的地址的地址集合,向作为该终端的通信对方的通信对方终端发送该地址集合,
所述通信控制装置对所述地址集合中的各地址所附加的表示优先级的得分中的、至少1个地址的得分进行转换,以使得经由规定的通信网来进行所述终端与所述通信对方终端之间的通信。
2.根据权利要求1所述的通信系统,其特征在于,
所述通信控制装置从外部服务器取得得分转换基准信息,并根据该得分转换基准信息来进行所述得分的转换。
3.一种通信控制装置,其在包含所述通信控制装置、第1通信网所具备的第1地址通知装置、以及第2通信网所具备的第2地址通知装置的通信系统中使用,该通信控制装置的特征在于,
所述通信控制装置具有中继单元,该中继单元从能够与所述第1地址通知装置和所述第2地址通知装置进行通信的终端接收地址集合,向作为该终端的通信对方的通信对方终端发送该地址集合,
所述地址集合包含从针对从所述终端发送到所述第1地址通知装置的地址请求的应答中取得的地址、以及从针对从所述终端发送到所述第2地址通知装置的地址请求的应答中取得的地址,
所述通信控制装置还具有转换单元,该转换单元对所述地址集合中的各地址所附加的表示优先级的得分中的、至少1个地址的得分进行转换,以使得经由规定的通信网进行所述终端与所述通信对方终端之间的通信。
4.一种存储有程序的存储介质,该程序用于使计算机作为权利要求3所述的通信控制装置中的各单元发挥作用。
5.一种通信方法,其在包含第1通信网所具备的第1地址通知装置以及第2通信网所具备的第2地址通知装置的通信系统中执行,该通信方法的特征在于,
所述第1地址通知装置从能够与该第1地址通知装置和所述第2地址通知装置进行通信的终端接收地址请求,从该地址请求中取得发送源地址,向所述终端发送包含该发送源地址的应答,
所述第2地址通知装置从所述终端接收地址请求,从该地址请求中取得发送源地址,向所述终端发送包含该发送源地址的应答,
所述通信系统具有通信控制装置,
该通信控制装置从所述终端接收包含从所述第1地址通知装置和所述第2地址通知装置通知给所述终端的地址的地址集合,向作为该终端的通信对方的通信对方终端发送该地址集合,
所述通信控制装置对所述地址集合中的各地址所附加的表示优先级的得分中的、至少1个地址的得分进行转换,以使得经由规定的通信网来进行所述终端与所述通信对方终端之间的通信。
6.一种通信系统,其包含第1通信网所具备的第1通信控制装置和第1地址通知装置、以及第2通信网所具备的第2通信控制装置和第2地址通知装置,该通信系统的特征在于,
所述第1通信控制装置和所述第2通信控制装置分别具有中继单元,该中继单元从能够与所述第1地址通知装置和所述第2地址通知装置进行通信的终端接收地址集合,向作为该终端的通信对方的通信对方终端发送该地址集合,
所述地址集合包含从针对从所述终端发送到所述第1地址通知装置的地址请求的应答中取得的地址、以及从针对从所述终端发送到所述第2地址通知装置的地址请求的应答中取得的地址,
所述第1通信控制装置和所述第2通信控制装置分别还具有转换单元,该转换单元对所述地址集合中的各地址所附加的表示优先级的得分中的、至少1个地址的得分进行转换,以使得经由规定的通信网进行所述终端与所述通信对方终端之间的通信。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015-203061 | 2015-10-14 | ||
JP2015203061 | 2015-10-14 | ||
PCT/JP2016/080450 WO2017065244A1 (ja) | 2015-10-14 | 2016-10-13 | 通信システム、アドレス通知装置、通信制御装置、端末、通信方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108141409A CN108141409A (zh) | 2018-06-08 |
CN108141409B true CN108141409B (zh) | 2020-12-01 |
Family
ID=58043327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680059664.2A Active CN108141409B (zh) | 2015-10-14 | 2016-10-13 | 通信系统、地址通知装置、通信控制装置、终端、通信方法以及程序 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11388138B2 (zh) |
EP (1) | EP3364609B1 (zh) |
JP (2) | JP6082156B1 (zh) |
CN (1) | CN108141409B (zh) |
WO (1) | WO2017065244A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6749281B2 (ja) | 2017-03-23 | 2020-09-02 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | IoTデバイス、シグナリングサーバ、メッセージバス管理サーバ、コネクション形成方法、及びプログラム |
US10951890B1 (en) * | 2017-05-16 | 2021-03-16 | Parsec Cloud, Inc. | Low-latency, peer-to-peer streaming video |
JP6995365B2 (ja) | 2018-06-01 | 2022-01-14 | 甲賀電子株式会社 | NGNを介してIPv6によるピア・ツー・ピア通信を行う方法 |
JP2021087036A (ja) * | 2019-11-25 | 2021-06-03 | 日本放送協会 | 受信装置、配信システム、及びプログラム |
JP7402697B2 (ja) * | 2020-01-17 | 2023-12-21 | キヤノン株式会社 | 通信装置、制御方法、及びプログラム |
CN113014544B (zh) * | 2021-01-25 | 2023-02-10 | 阳光凯讯(北京)科技有限公司 | 基于webRtc无中心媒体链路建立方法及装置 |
CN113315823A (zh) * | 2021-05-21 | 2021-08-27 | 广州赞赏信息科技有限公司 | 一种低延迟音视频传输方法 |
JPWO2024084633A1 (zh) * | 2022-10-19 | 2024-04-25 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7302496B1 (en) * | 2002-11-12 | 2007-11-27 | Cisco Technology, Inc. | Arrangement for discovering a localized IP address realm between two endpoints |
JP4269226B2 (ja) * | 2003-11-14 | 2009-05-27 | ソニー株式会社 | 情報通信システムおよび方法、情報処理装置および方法、プログラム並びに記録媒体 |
US8065418B1 (en) * | 2004-02-02 | 2011-11-22 | Apple Inc. | NAT traversal for media conferencing |
US7536467B2 (en) * | 2004-04-20 | 2009-05-19 | Microsoft Corporation | Peer-to-peer (P2P) mobility system, and method |
US7620033B2 (en) * | 2004-05-21 | 2009-11-17 | Alcatel-Lucent Usa Inc. | Method for optimal path selection in traversal of packets through network address translators |
CN101179581B (zh) * | 2007-12-13 | 2010-06-09 | 北京邮电大学 | 一种采用ice中继候选地址进行媒体传输的方法 |
US20090319674A1 (en) | 2008-06-24 | 2009-12-24 | Microsoft Corporation | Techniques to manage communications between relay servers |
US7962621B2 (en) * | 2009-01-13 | 2011-06-14 | Microsoft Corporation—One Microsoft Way | Policy service system architecture for sessions created using STUN |
JP2011188358A (ja) * | 2010-03-10 | 2011-09-22 | Panasonic Corp | Vpn装置及びip通信装置 |
KR101176144B1 (ko) * | 2010-11-30 | 2012-08-22 | 삼성에스디에스 주식회사 | 다중 네트워크 환경에서의 피어-투-피어 접속 시스템 및 방법 |
JP2014135592A (ja) | 2013-01-09 | 2014-07-24 | Sony Corp | 情報処理装置、情報処理方法及び情報処理システム |
JP6277676B2 (ja) | 2013-10-31 | 2018-02-14 | 富士通株式会社 | ルータ装置、通信経路選択方法および通信経路選択プログラム |
JP2015153076A (ja) | 2014-02-13 | 2015-08-24 | 日本電信電話株式会社 | 通信装置、方法及びプログラム |
TWI527407B (zh) * | 2014-03-18 | 2016-03-21 | 國立交通大學 | 會談感知的網路位址轉換穿透方法 |
US10171511B2 (en) * | 2014-09-25 | 2019-01-01 | Microsoft Technology Licensing, Llc | Media session between network endpoints |
-
2016
- 2016-10-13 US US15/767,909 patent/US11388138B2/en active Active
- 2016-10-13 CN CN201680059664.2A patent/CN108141409B/zh active Active
- 2016-10-13 EP EP16855497.0A patent/EP3364609B1/en active Active
- 2016-10-13 WO PCT/JP2016/080450 patent/WO2017065244A1/ja active Application Filing
- 2016-10-13 JP JP2016201841A patent/JP6082156B1/ja active Active
-
2017
- 2017-01-19 JP JP2017007953A patent/JP6434063B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
EP3364609A4 (en) | 2019-04-17 |
JP6082156B1 (ja) | 2017-02-15 |
EP3364609A1 (en) | 2018-08-22 |
JP6434063B2 (ja) | 2018-12-05 |
EP3364609B1 (en) | 2020-09-16 |
US20180302370A1 (en) | 2018-10-18 |
JP2017076974A (ja) | 2017-04-20 |
US11388138B2 (en) | 2022-07-12 |
JP2017077028A (ja) | 2017-04-20 |
WO2017065244A1 (ja) | 2017-04-20 |
CN108141409A (zh) | 2018-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108141409B (zh) | 通信系统、地址通知装置、通信控制装置、终端、通信方法以及程序 | |
US9515995B2 (en) | Method and apparatus for network address translation and firewall traversal | |
CA3021223C (en) | A method and a system for using relays for network optimization in ip-based communication networks | |
WO2016210196A1 (en) | Media relay server | |
KR101501973B1 (ko) | 중계 서버 및 중계 통신 시스템 | |
WO2016210202A1 (en) | Media relay server | |
JP5937709B1 (ja) | 通信制御装置、通信制御方法及び通信制御プログラム | |
WO2011071190A2 (en) | Networking method of communication apparatus, communication apparatus and storage medium | |
JP2005323347A (ja) | P2p通信を実現するための通信装置、方法、およびプログラム | |
CN103259791B (zh) | 一种穿越通信选路方法、终端及系统 | |
JP2014528183A5 (zh) | ||
JP6200033B2 (ja) | 中継装置、中継方法及び中継プログラム | |
JP2010283762A (ja) | 通信経路設定装置、通信経路設定方法、プログラム、及び記憶媒体 | |
JP2008258917A (ja) | 同一nat配下通信制御システム、nat装置、同一nat配下通信制御方法、及びプログラム | |
JP2012165269A (ja) | 中継サーバ及び中継通信システム | |
JP5937708B1 (ja) | 通信制御装置、通信制御方法及び通信制御プログラム | |
US11310310B2 (en) | Communication device for peer-to-peer communication and a communication network using the same | |
JP6426118B2 (ja) | 中継装置、中継方法及び中継プログラム | |
WO2016121881A1 (ja) | 通信制御装置、通信制御方法及び通信制御プログラム | |
JP2013175938A (ja) | 通信装置、通信方法、及びプログラム | |
JP4993133B2 (ja) | 中継装置 | |
JP5768550B2 (ja) | 通信端末および通信制御方法 | |
JP2019216449A (ja) | データ送信補助方法 | |
JP2013141072A (ja) | 中継サーバ | |
Mattsson | Mobile Data Communication based on Host Identity Protocol (HIP) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |