CN103916313A - 节点信息发送方法、终端及网络系统 - Google Patents
节点信息发送方法、终端及网络系统 Download PDFInfo
- Publication number
- CN103916313A CN103916313A CN201210593483.1A CN201210593483A CN103916313A CN 103916313 A CN103916313 A CN 103916313A CN 201210593483 A CN201210593483 A CN 201210593483A CN 103916313 A CN103916313 A CN 103916313A
- Authority
- CN
- China
- Prior art keywords
- terminal
- node information
- data packet
- address
- effective
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000006854 communication Effects 0.000 claims description 57
- 238000004891 communication Methods 0.000 claims description 41
- 230000005540 biological transmission Effects 0.000 claims description 19
- 238000001514 detection method Methods 0.000 claims description 19
- 238000000605 extraction Methods 0.000 claims description 14
- 239000000284 extract Substances 0.000 abstract description 13
- 230000000694 effects Effects 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000011330 nucleic acid test Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种节点信息发送方法、终端及网络系统,属于计算机网络领域。所述方法包括:从与第一终端通信的数据包中提取并保存所述第一终端的有效节点信息,所述有效节点信息包括IP地址和端口;将所述第一终端的有效节点信息发送给已经通信过的第二终端,以便所述第二终端根据所述第一终端的有效节点信息与所述第一终端进行通信。本发明通过由同时可以与第一、第二终端通信的当前终端提取并保存第一终端的有效节点信息,然后将第一终端的有效节点信息发送给已经通信过的第二终端;解决了第二终端可能会无法获知第一终端的真实有效的节点信息的问题;达到了通过由一个网络节点作为桥梁,从而让第二终端获知第一终端的有效节点信息的效果。
Description
技术领域
本发明涉及计算机网络领域,特别涉及一种节点信息发送方法、终端及网络系统。
背景技术
诸如飞信、飞聊之类的即时通信程序已经成为了人们使用最为广泛的应用程序之一。网络互通能力直接决定了即时通信程序的易用性,特别是文件传输和音视频播放等功能的良好运行更是依赖于网络互通能力。
两个终端建立通信时,主叫终端需要获知被叫终端的节点信息,节点信息通常包括IP地址和端口。但是由于NAT(Network Address Translation,网络地址转换)技术的广泛使用,终端自身的IP地址并不一定是与其它终端通信时的真实IP地址,所以导致主叫终端并不能够总是获知被叫终端的真实有效的节点信息。简易来讲,以图1所示的局域网为例,终端A通过路由器C接入公网,比如,终端A的IP地址为:10.10.40.170,路由器C的公网IP地址为:220.181.125.xxx。终端B则依次通过路由器D和路由器C接入公网,比如,终端B的IP地址为:192.168.1.128,路由器D在局域网中的IP地址为:10.10.40.70。那么仅在此局域网内通信时,终端A的IP地址就是在该局域网中与其它终端通信时所采用的真实IP地址,终端B在获知终端A的IP地址时,可以作为主叫终端直接呼叫终端A来实现通信。但是终端B的IP地址并非是在该局域网中与其它终端通信时所采用的真实IP地址,即便终端A获知终端B的IP地址也无法作为主叫终端直接呼叫终端B来实现通信。只有终端A获知终端B在路由器D上的映射IP地址和端口之后,终端A才可以在该局域网内作为主叫终端呼叫终端B来实现通信。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:终端A无法获知终端B在路由器D上的映射IP地址和端口,即便终端A利用STUN(Simple Traversal ofUDP overNATs,NAT的UDP简单穿越)服务器或者TURN(Traversal Using Relay NAT,通过Relay方式穿越NAT)服务器实现了与终端B的通信,也都需要经过公网来中转通信,其实现的网络互通能力也无法与局域网内两个终端直接互通所具有的最理想的网络互通能力相比。
发明内容
为了解决一个终端可能会无法获知另一个终端的真实有效的节点信息的问题,本发明实施例提供了一种节点信息发送方法、终端及网络系统。所述技术方案如下:
根据本发明的一个方面,提供了一种节点信息发送方法,所述方法包括:
从与第一终端通信的数据包中提取并保存所述第一终端的有效节点信息,所述有效节点信息包括IP地址和端口;
将所述第一终端的有效节点信息发送给已经通信过的第二终端,以便所述第二终端根据所述第一终端的有效节点信息与所述第一终端进行通信。
优选地,所述方法,还包括:
将已经通信过的第二终端的有效节点信息发送给所述第一终端,以便所述第一终端根据所述第二终端的有效节点信息与所述第二终端进行通信;
其中,所述第二终端的有效节点信息是从与所述第二终端通信的数据包中提取并保存的。
优选地,所述从与第一终端通信的数据包中提取并保存所述第一终端的有效节点信息之前,还包括:
检测是否为第一次与所述第一终端进行通信;
若检测结果是第一次与所述第一终端进行通信,则执行所述从与第一终端通信的数据包中提取并保存所述第一终端的有效节点信息的步骤。
优选地,所述从与第一终端通信的数据包中提取并保存所述第一终端的有效节点信息,包括:
从与所述第一终端通信过程中,所述第一终端发送的数据包中提取源IP地址、端口和所述第一终端的标识中的全部三项或者前两项作为所述第一终端的有效节点信息;或者,
从与所述第一终端通信过程中,发向所述第一终端的数据包中提取目的IP地址、端口和所述第一终端的标识中的全部三项或者前两项作为所述第一终端的有效节点信息。
优选地,所述第一终端的标识包括用户名、设备名或者介质访问控制层MAC地址中的任意一种。
根据本发明的另一方面,提供了一种用于节点信息发送的终端,所述终端包括:
信息提取模块,用于从与第一终端通信的数据包中提取并保存所述第一终端的有效节点信息,所述有效节点信息包括IP地址和端口;
信息发送模块,用于将所述信息提取模块提取的所述第一终端的有效节点信息发送给已经通信过的第二终端,以便所述第二终端根据所述第一终端的有效节点信息与所述第一终端进行通信。
优选地,所述信息发送模块,还用于将已经通信过的第二终端的有效节点信息发送给所述第一终端,以便所述第一终端根据所述第二终端的有效节点信息与所述第二终端进行通信;
其中,所述第二终端的有效节点信息是从与所述第二终端通信的数据包中提取的。
优选地,通信检测模块;
所述通信检测模块,用于检测是否为第一次与所述第一终端进行通信;
所述信息提取模块,用于若所述通信检测模块的检测结果是第一次与所述第一终端进行通信,则执行所述从与第一终端通信的数据包中提取并保存所述第一终端的有效节点信息的步骤。
优选地,所述信息提取模块,具体用于从与所述第一终端通信过程中,所述第一终端发送的数据包中提取源IP地址、端口和所述第一终端的标识中的全部三项或者前两项作为所述第一终端的有效节点信息;或者,
所述信息提取模块,具体用于从与所述第一终端通信过程中,发向所述第一终端的数据包中提取目的IP地址、端口和所述第一终端的标识中的全部三项或者前两项作为所述第一终端的有效节点信息。
根据本发明的再一方面,提供了一种用于节点信息发送的网络系统,包括第一终端、第二终端和如上另一方面或者另一方面的各种优选方案中所述的用于节点信息发送的终端。
本发明实施例提供的技术方案带来的有益效果是:
通过由同时可以与第一终端和第二终端通信的当前终端提取并保存第一终端的有效节点信息,然后将第一终端的有效节点信息发送给已经通信过的第二终端;解决了第二终端可能会无法获知第一终端的真实有效的节点信息的问题;达到了通过由一个网络节点作为桥梁,从而让第二终端获知第一终端的有效节点信息的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是一种局域网的网络结构图;
图2是本发明一个实施例提供的节点信息发送方法的方法流程图;
图3是本发明另一实施例所涉及的实施环境的结构示意图;
图4是本发明另一实施例提供的节点信息发送方法的方法流程图;
图5是本发明再一实施例所涉及的实施环境的结构示意图;
图6是本发明再一实施例提供的节点信息发送方法的方法流程图;
图7是本发明一个实施例提供的终端的结构方框图;
图8是本发明另一实施例提供的终端的结构方框图;
图9是本发明一个实施例提供的网络系统的结构方框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
请参考图2,其示出了本发明一个实施例所提供的节点信息发送方法的方法流程图。本实施例主要以该节点信息发送方法用于作为一个网络节点的第三终端来举例说明。该节点信息发送方法,包括:
步骤202,从与第一终端通信的数据包中提取并保存第一终端的有效节点信息,有效节点信息包括IP地址和端口;
步骤204,将第一终端的有效节点信息发送给已经通信过的第二终端,以便第二终端根据第一终端的有效节点信息与第一终端进行通信。
综上所述,本实施例提供的节点信息发送方法,通过由同时可以与第一终端和第二终端通信的当前终端提取并保存第一终端的有效节点信息,然后将第一终端的有效节点信息发送给已经通信过的第二终端;解决了第二终端可能会无法获知第一终端的真实有效的节点信息的问题;达到了通过由一个网络节点作为桥梁,从而让第二终端获知第一终端的有效节点信息的效果。
请参考图3,其示出了本发明另一实施例所涉及的实施环境的网络结构图。该实施环境为一个局域网。该局域网中包括终端A、终端B、终端C、终端D、路由器E、路由器F、路由器G和路由器H。
终端A通过路由器E接入公网,比如,终端A的IP地址为:10.10.40.170,路由器E的公网IP地址为:220.181.125.xxx。
终端B依次通过路由器F和路由器E接入公网,比如,终端B的IP地址为:192.168.1.128,路由器F在局域网中的IP地址为:10.10.40.70。
终端C依次通过路由器G和路由器E接入公网,比如,终端C的IP地址为:192.168.0.12,路由器G在局域网中的IP地址为:10.10.40.71。
终端D依次通过路由器H和路由器E接入公网,比如,终端D的IP地址为:192.168.1.5,路由器H在局域网中的IP地址为:10.10.40.72。
初始状态下,仅在局域网通信时,终端B、终端C和终端D都可以直接作为主叫终端呼叫终端A。但是,终端B不可以直接作为主叫终端呼叫终端C和终端D;终端A不可以直接作为主叫终端呼叫终端B、终端C和终端D;终端C不可以直接作为主叫终端呼叫终端B和终端D;终端D不可以直接作为主叫终端呼叫终端B和终端C。
请参考图4,其示出了本发明另一实施例所提供的节点信息发送方法的方法流程图。本实施例主要以该节点信息发送方法应用于图3所示终端A中来进行举例说明。作为基于图2所示实施例提供的更为优选地实施例,该节点信息发送方法,包括:
步骤402,检测是否为第一次与第一终端进行通信;
以第一终端为图3所示终端B来举例说明。由于终端A无法直接作为主叫终端呼叫终端B,但是终端B可以作为主叫终端呼叫终端A。所以终端B在需要与终端A进行通信时,可以直接向终端A发起通信。本文中的“呼叫”主要是指单向通信或者双向通信的发起,并不代表终端B与终端A之间进行了真实语音电话或者视频电话之类的呼叫。比如,终端B向终端A发送一个UDP(UserDatagram Protocol,用户数据包协议)数据包,或者终端B与终端A建立了TCP(Transmission Control Protocol,传输控制协议)连接等等,只要是终端B主动向终端A发起了网络通信,均视为本文中的“呼叫”。
此时,终端A可以检测自身是否为第一次与终端B进行通信。检测方法之一是检测自身是否已经提取过终端B的有效节点信息。
步骤404,若检测结果是第一次与第一终端进行通信,则从与第一终端通信的数据包中提取并保存第一终端的有效节点信息,有效节点信息包括IP地址和端口;
若终端A的检测结果是第一次与终端B进行通信,则从与终端B通信的数据包中提取并保存终端B的有效节点信息,有效节点信息包括IP地址和端口。比如,终端B向终端A发送了一个数据包,由于经过路由器F的NAT转换,假设终端B的IP地址和端口:192.168.1.128:6000被转换为了该数据包中的源IP地址和端口:10.10.40.70:5000;同时,该数据包中的目标地址和端口是:10.10.40.170:8000。则终端A可以提取该数据包中的源IP地址和端口:10.10.40.70:5000作为终端B的有效节点信息。
鉴于终端A和终端B之间通信时,可能存在由终端A向终端B发送的数据包,也可能存在由终端B向终端A发送的数据包,所以本步骤可以包括如下两个子步骤中的一个或者两个:
第一,从与第一终端通信过程中,第一终端发送的数据包中提取源IP地址和端口作为第一终端的有效节点信息;
比如,终端A从与终端B通信过程中,终端B发送的数据包中提取源IP地址和端口作为终端B的有效节点信息。
第二,从与第一终端通信过程中,发向第一终端的数据包中提取目的IP地址和端口作为第一终端的有效节点信息。
比如,终端A从与终端B通信过程中,向终端B发送的数据包中提取目的IP地址和端口作为终端B的有效节点信息。
步骤406,将第一终端的有效节点信息发送给已经通信过的第二终端,以便第二终端根据第一终端的有效节点信息与第一终端进行通信;
假设终端A已经与终端C和终端D通信过,那么终端A将终端B的有效节点信息发送给终端C和终端D。这样,终端C和终端D需要与终端B通信时,可以直接使用终端B的有效节点信息与终端B进行通信。
步骤408,将已经通信过的第二终端的有效节点信息发送给第一终端,以便第一终端根据第二终端的有效节点信息与第二终端进行通信;
终端A还可以将终端C和终端D的有效节点信息发送给终端B。这样,终端B需要与终端C/终端D通信时,可以直接使用终端C/终端D的有效节点信息与终端C/D进行通信。其中,终端C/D的有效节点信息是终端A从与终端C/D通信的数据包中提取并保存的,具体过程类似于步骤402和步骤404。也就是说,第二终端的有效节点信息是从与第二终端通信的数据包中提取并保存的。
需要说明的是,步骤406也可以与步骤408同时进行,或者在步骤408之前/之后进行。
综上所述,本实施例提供的节点信息发送方法,通过由同时可以与第一终端和第二终端通信的当前终端提取并保存第一终端的有效节点信息,然后将第一终端的有效节点信息发送给已经通信过的第二终端;解决了第二终端可能会无法获知第一终端的真实有效的节点信息的问题;达到了通过由一个网络节点作为桥梁,从而让第二终端获知第一终端的有效节点信息的效果。还通过将第二终端的有效节点信息发送给第一终端;也解决了第一终端可能会无法获知第二终端的真实有效的节点信息的问题;达到了通过由一个网络节点作为桥梁,从而让第一终端获知第二终端的有效节点信息的效果。
需要补充说明的是,相较于STUN服务器或者TURN服务器提供的NAT穿越技术,由于上述实施例中,终端B与终端C/D之间可以直接通过终端A获取到对方在局域网内的有效节点信息,进而直接在局域网内建立通信,可以获得最理想的网络互通能力,而不需要通过公网中转通讯,只能达到较差的网络互通能力。
上一实施例主要以该节点信息发送方法应用于局域网类的网络架构来举例说明。易于思及的是,对于其它包含有锥形NAT网络结构的环境也适用该节点信息发送方法。请继续参考如下实施例:
请参考图5,其示出了本发明再一实施例所涉及的实施环境的网络结构图。该实施环境为一个局域网。该局域网中包括终端A、终端B、终端C、路由器D和路由器E。
终端A直接接入公网,比如,终端A的IP地址为:220.181.126.xxx。
终端B通过路由器D接入公网,比如,终端B的IP地址为:10.10.40.170,路由器D的公网IP地址为:221.180.125.xxx。
终端C通过路由器E接入公网,比如,终端C的IP地址为:192.168.1.111,路由器E的公网IP地址为:220.182.255.xxx。
初始状态下,终端B和终端C都可以直接作为主叫终端呼叫终端A。但是,终端A不可以直接作为主叫终端呼叫终端B和终端C。
请参考图6,其示出了本发明再一实施例提供的节点信息发送方法的方法流程图。本实施例主要以该节点信息发送方法应用于图5所示终端A中来进行举例说明。作为基于图2所示实施例提供的更为优选地实施例,该节点信息发送方法,包括:
步骤602,检测是否为第一次与第一终端进行通信;
以第一终端为图5所示终端B来举例说明。由于终端A无法直接作为主叫终端呼叫终端B,但是终端B可以作为主叫终端呼叫终端A。所以终端B在需要与终端A进行通信时,可以直接向终端A发起通信。本文中的“呼叫”主要是指单向通信或者双向通信的发起,并不代表终端B与终端A之间进行了真实语音电话或者视频电话之类的呼叫。比如,终端B向终端A发送一个UDP(UserDatagram Protocol,用户数据包协议)数据包,或者终端B与终端A建立了TCP(Transmission Control Protocol,传输控制协议)连接等等,只要是终端B主动向终端A发起了网络通信,均视为本文中的“呼叫”。
此时,终端A可以检测自身是否为第一次与终端B进行通信。检测方法之一是检测自身是否已经提取过终端B的有效节点信息。
本实施例中,假设终端A、终端B和终端C均安装有同一即时通信程序,并互相添加为好友。并且将终端A、终端B和终端C各自在该即时通信程序中的用户名作为自身的标识,假设终端A的标识为“张三”;终端B的标识为“李四”;终端C的标识为“王五”。
步骤604,若检测结果是第一次与第一终端进行通信,则从与第一终端通信的数据包中提取并保存第一终端的有效节点信息,有效节点信息包括IP地址、端口和终端的标识;
若终端A的检测结果是第一次与终端B进行通信,则从与终端B通信的数据包中提取并保存终端B的有效节点信息,有效节点信息包括IP地址、端口和终端B的标识。比如,终端B向终端A发送了一个数据包,由于经过路由器F的NAT转换,假设终端B的IP地址和端口:10.10.40.170:6000被转换为了该数据包中的源IP地址和端口:221.180.125.xxx:5000;同时,该数据包中的目标地址和端口是:220.181.126.xxx:6000。则终端A可以提取该数据包中的源IP地址和端口:221.180.125.xxx:5000,和“李四”,作为终端B的有效节点信息。
鉴于终端A和终端B之间通信时,可能存在由终端A向终端B发送的数据包,也可能存在由终端B向终端A发送的数据包,所以本步骤可以包括如下两个子步骤中的一个或者两个:
第一,从与第一终端通信过程中,第一终端发送的数据包中提取源IP地址、端口和第一终端的标识作为第一终端的有效节点信息;
比如,终端A从与终端B通信过程中,终端B发送的数据包中提取源IP地址、端口和终端B的标识作为终端B的有效节点信息。
第二,从与第一终端通信过程中,发向第一终端的数据包中提取目的IP地址、端口和第一终端的标识作为第一终端的有效节点信息。
比如,终端A从与终端B通信过程中,向终端B发送的数据包中提取目的IP地址、端口和终端B的标识作为终端B的有效节点信息。
其中,第一终端的标识包括用户名、设备名或者MAC(MediaAccess Control,介质访问控制层)地址中的任意一种。
步骤606,将第一终端的有效节点信息发送给已经通信过的第二终端,以便第二终端根据第一终端的有效节点信息与第一终端进行通信;
假设终端A已经与终端C通信过,那么终端A将终端B的有效节点信息发送给终端C。这样,终端C需要与终端B通信时,可以直接使用终端B的有效节点信息与终端B进行通信。当然,假设终端A在即时通信程序中添加有非常多的好友,可以将终端B的有效节点信息发送给全部好友。此时,终端B的标识可以使其它终端获知终端A发送的有效节点信息是谁的有效节点信息。
步骤608,将已经通信过的第二终端的有效节点信息发送给第一终端,以便第一终端根据第二终端的有效节点信息与第二终端进行通信;
终端A还可以将终端C的有效节点信息发送给终端B。这样,终端B需要与终端C通信时,可以直接使用终端C的有效节点信息与终端C进行通信。其中,终端C的有效节点信息是终端A从与终端C通信的数据包中提取并保存的,具体过程类似于步骤602和步骤604。也就是说,第二终端的有效节点信息是从与第二终端通信的数据包中提取并保存的。当然,假设终端A在即时通信程序中添加有非常多的好友,可以将除终端B之外的已经通信过的全部好友的有效节点信息发送给终端B。此时,每个有效节点信息中的第二终端的标识可以使终端B获知终端A发送的各个有效节点信息是谁的有效节点信息。
需要说明的是,步骤606也可以与步骤608同时进行,或者在步骤608之前/之后进行。
综上所述,本实施例提供的节点信息发送方法,通过由同时可以与第一终端和第二终端通信的当前终端提取并保存第一终端的有效节点信息,然后将第一终端的有效节点信息发送给已经通信过的第二终端;解决了第二终端可能会无法获知第一终端的真实有效的节点信息的问题;达到了通过由一个网络节点作为桥梁,从而让第二终端获知第一终端的有效节点信息的效果。还通过将第二终端的有效节点信息发送给第一终端;也解决了第一终端可能会无法获知第二终端的真实有效的节点信息的问题;达到了通过由一个网络节点作为桥梁,从而让第一终端获知第二终端的有效节点信息的效果。
请参考图7,其示出了本发明一个实施例提供的用于节点信息发送的终端的结构方框图。该终端包括:信息提取模块720和信息发送模块740。
信息提取模块720,用于从与第一终端通信的数据包中提取并保存所述第一终端的有效节点信息,所述有效节点信息包括IP地址和端口;
信息发送模块740,用于将所述信息提取模块720提取的所述第一终端的有效节点信息发送给已经通信过的第二终端,以便所述第二终端根据所述第一终端的有效节点信息与所述第一终端进行通信。
综上所述,本实施例提供的用于节点信息发送的终端,通过由同时可以与第一终端和第二终端通信的当前终端提取并保存第一终端的有效节点信息,然后将第一终端的有效节点信息发送给已经通信过的第二终端;解决了第二终端可能会无法获知第一终端的真实有效的节点信息的问题;达到了通过由一个网络节点作为桥梁,从而让第二终端获知第一终端的有效节点信息的效果。
请参考图8,其示出了本发明另一实施例提供的用于节点信息发送的终端的结构方框图。作为基于图7所示实施例提供的更为优选地实施例,该终端包括:通信检测模块710、信息提取模块720和信息发送模块740。
通信检测模块710,用于检测是否为第一次与所述第一终端进行通信;
信息提取模块720,用于若所述通信检测模块710的检测结果是第一次与所述第一终端进行通信,则执行所述从与第一终端通信的数据包中提取并保存所述第一终端的有效节点信息的步骤。
信息发送模块740,用于将所述信息提取模块720提取的所述第一终端的有效节点信息发送给已经通信过的第二终端,以便所述第二终端根据所述第一终端的有效节点信息与所述第一终端进行通信。
信息发送模块740,还用于将已经通信过的第二终端的有效节点信息发送给所述第一终端,以便所述第一终端根据所述第二终端的有效节点信息与所述第二终端进行通信;
其中,所述第二终端的有效节点信息是从与所述第二终端通信的数据包中提取的。
具体来讲,所述信息提取模块720,具体用于从与所述第一终端通信过程中,所述第一终端发送的数据包中提取源IP地址、端口和所述第一终端的标识中的全部三项或者前两项作为所述第一终端的有效节点信息;或者,
所述信息提取模块720,具体用于从与所述第一终端通信过程中,发向所述第一终端的数据包中提取目的IP地址、端口和所述第一终端的标识中的全部三项或者前两项作为所述第一终端的有效节点信息;
其中,所述第一终端的标识包括用户名、设备名或者介质访问控制层MAC地址中的任意一种。
综上所述,本实施例提供的用于节点信息发送的终端,通过由同时可以与第一终端和第二终端通信的当前终端提取并保存第一终端的有效节点信息,然后将第一终端的有效节点信息发送给已经通信过的第二终端;解决了第二终端可能会无法获知第一终端的真实有效的节点信息的问题;达到了通过由一个网络节点作为桥梁,从而让第二终端获知第一终端的有效节点信息的效果。还通过将第二终端的有效节点信息发送给第一终端;也解决了第一终端可能会无法获知第二终端的真实有效的节点信息的问题;达到了通过由一个网络节点作为桥梁,从而让第一终端获知第二终端的有效节点信息的效果。
请参考图9,其示出了本发明一个实施例提供的用于节点信息发送的网络系统的结构方框图。该网络系统包括第一终端920、第二终端940和当前终端960。
其中,所述当前终端960可以是图7所示实施例或者图8所示实施例提供的用于节点信息发送的终端。
综上所述,本实施例提供的用于节点信息发送的网络系统,通过由同时可以与第一终端和第二终端通信的当前终端提取并保存第一终端的有效节点信息,然后将第一终端的有效节点信息发送给已经通信过的第二终端;解决了第二终端可能会无法获知第一终端的真实有效的节点信息的问题;达到了通过由一个网络节点作为桥梁,从而让第二终端获知第一终端的有效节点信息的效果。还通过将第二终端的有效节点信息发送给第一终端;也解决了第一终端可能会无法获知第二终端的真实有效的节点信息的问题;达到了通过由一个网络节点作为桥梁,从而让第一终端获知第二终端的有效节点信息的效果。
需要说明的是:上述实施例提供的用于节点信息发送的终端在发送节点信息时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的用于节点信息发送的终端与节点信息发送方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种节点信息发送方法,其特征在于,所述方法包括:
从与第一终端通信的数据包中提取并保存所述第一终端的有效节点信息,所述有效节点信息包括IP地址和端口;
将所述第一终端的有效节点信息发送给已经通信过的第二终端,以便所述第二终端根据所述第一终端的有效节点信息与所述第一终端进行通信。
2.根据权利要求1所述的节点信息发送方法,其特征在于,所述方法,还包括:
将已经通信过的第二终端的有效节点信息发送给所述第一终端,以便所述第一终端根据所述第二终端的有效节点信息与所述第二终端进行通信;
其中,所述第二终端的有效节点信息是从与所述第二终端通信的数据包中提取并保存的。
3.根据权利要求1或2所述的节点信息发送方法,其特征在于,所述从与第一终端通信的数据包中提取并保存所述第一终端的有效节点信息之前,还包括:
检测是否为第一次与所述第一终端进行通信;
若检测结果是第一次与所述第一终端进行通信,则执行所述从与第一终端通信的数据包中提取并保存所述第一终端的有效节点信息的步骤。
4.根据权利要求1或2所述的节点信息发送方法,其特征在于,所述从与第一终端通信的数据包中提取并保存所述第一终端的有效节点信息,包括:
从与所述第一终端通信过程中,所述第一终端发送的数据包中提取源IP地址、端口和所述第一终端的标识中的全部三项或者前两项作为所述第一终端的有效节点信息;或者,
从与所述第一终端通信过程中,发向所述第一终端的数据包中提取目的IP地址、端口和所述第一终端的标识中的全部三项或者前两项作为所述第一终端的有效节点信息。
5.根据权利要求4所述的节点信息发送方法,其特征在于,所述第一终端的标识包括用户名、设备名或者介质访问控制层MAC地址中的任意一种。
6.一种用于节点信息发送的终端,其特征在于,所述终端包括:
信息提取模块,用于从与第一终端通信的数据包中提取并保存所述第一终端的有效节点信息,所述有效节点信息包括IP地址和端口;
信息发送模块,用于将所述信息提取模块提取的所述第一终端的有效节点信息发送给已经通信过的第二终端,以便所述第二终端根据所述第一终端的有效节点信息与所述第一终端进行通信。
7.根据权利要求6所述的终端,其特征在于:
所述信息发送模块,还用于将已经通信过的第二终端的有效节点信息发送给所述第一终端,以便所述第一终端根据所述第二终端的有效节点信息与所述第二终端进行通信;
其中,所述第二终端的有效节点信息是从与所述第二终端通信的数据包中提取的。
8.根据权利要求6或7所述的终端,其特征在于,所述终端,还包括:
通信检测模块;
所述通信检测模块,用于检测是否为第一次与所述第一终端进行通信;
所述信息提取模块,用于若所述通信检测模块的检测结果是第一次与所述第一终端进行通信,则执行所述从与第一终端通信的数据包中提取并保存所述第一终端的有效节点信息的步骤。
9.根据权利要求6或7所述的终端,其特征在于:
所述信息提取模块,具体用于从与所述第一终端通信过程中,所述第一终端发送的数据包中提取源IP地址、端口和所述第一终端的标识中的全部三项或者前两项作为所述第一终端的有效节点信息;或者,
所述信息提取模块,具体用于从与所述第一终端通信过程中,发向所述第一终端的数据包中提取目的IP地址、端口和所述第一终端的标识中的全部三项或者前两项作为所述第一终端的有效节点信息。
10.一种用于节点信息发送的网络系统,其特征在于,包括第一终端、第二终端和如权利要求6至9任一所述的用于节点信息发送的终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210593483.1A CN103916313A (zh) | 2012-12-31 | 2012-12-31 | 节点信息发送方法、终端及网络系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210593483.1A CN103916313A (zh) | 2012-12-31 | 2012-12-31 | 节点信息发送方法、终端及网络系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103916313A true CN103916313A (zh) | 2014-07-09 |
Family
ID=51041728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210593483.1A Pending CN103916313A (zh) | 2012-12-31 | 2012-12-31 | 节点信息发送方法、终端及网络系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103916313A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070230390A1 (en) * | 2006-03-28 | 2007-10-04 | Yukihiro Takatani | Wireless communication apparatus |
CN101087239A (zh) * | 2007-07-17 | 2007-12-12 | 北京搜狗科技发展有限公司 | 一种对等网络中充分利用带宽资源的数据传输方法及装置 |
CN101453429A (zh) * | 2007-12-06 | 2009-06-10 | 宏碁股份有限公司 | 多方通讯系统及方法 |
CN102055816A (zh) * | 2010-12-28 | 2011-05-11 | 华为技术有限公司 | 一种通信方法、业务服务器、中间设备、终端及通信系统 |
CN102378159A (zh) * | 2010-08-23 | 2012-03-14 | 中国移动通信有限公司 | 一种联系人信息的查找方法、系统及装置 |
-
2012
- 2012-12-31 CN CN201210593483.1A patent/CN103916313A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070230390A1 (en) * | 2006-03-28 | 2007-10-04 | Yukihiro Takatani | Wireless communication apparatus |
CN101087239A (zh) * | 2007-07-17 | 2007-12-12 | 北京搜狗科技发展有限公司 | 一种对等网络中充分利用带宽资源的数据传输方法及装置 |
CN101453429A (zh) * | 2007-12-06 | 2009-06-10 | 宏碁股份有限公司 | 多方通讯系统及方法 |
CN102378159A (zh) * | 2010-08-23 | 2012-03-14 | 中国移动通信有限公司 | 一种联系人信息的查找方法、系统及装置 |
CN102055816A (zh) * | 2010-12-28 | 2011-05-11 | 华为技术有限公司 | 一种通信方法、业务服务器、中间设备、终端及通信系统 |
Non-Patent Citations (1)
Title |
---|
刘泽阳 等: "《P2P应用中一种多层NAT穿透解决方案的设计与实现》", 《计算机应用》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7684397B2 (en) | Symmetric network address translation system using STUN technique and method for implementing the same | |
US7729366B2 (en) | Method, apparatus and system for network mobility of a mobile communication device | |
US20130308628A1 (en) | Nat traversal for voip | |
US8429279B2 (en) | Method and device for connecting packet-oriented communication terminals | |
EP2449749B1 (en) | Method and apparatus for relaying packets | |
WO2011137781A1 (zh) | 业务通信的方法、系统、推送客户端和用户设备 | |
US9065788B2 (en) | Method, device and system for voice communication | |
CN112637364B (zh) | 建立p2p连接的方法、客户端及系统 | |
CN106604119B (zh) | 一种用于智能电视私有云设备的网络穿透方法及系统 | |
JP5988407B1 (ja) | 通信経路制御装置、通信経路制御システム、通信経路制御方法及び通信経路制御プログラム | |
CN111800341B (zh) | 一种跨路由器终端通信方法及装置 | |
US20100002701A1 (en) | System and method for media communication through network address translation | |
CN108123912B (zh) | 一种支持p2p的微服务系统 | |
CN105743852B (zh) | 通过http实现跨越网闸进行Socket保持连接通信的方法及系统 | |
US8457111B2 (en) | Voice communication method and system in ubiquitous robotic companion environment | |
GB2598293A (en) | Apparatus, methods, and computer programs | |
CN103516820A (zh) | 基于mac地址的端口映射方法和装置 | |
CN104518959B (zh) | 一种设备间通信的方法及装置 | |
US20130166761A1 (en) | Dialog Establishment Over A Peer-To-Peer Architecture | |
CN110809033B (zh) | 报文转发方法、装置及交换服务器 | |
US9516575B2 (en) | Mobile device based proxy for browser-originated procedures | |
CN103916313A (zh) | 节点信息发送方法、终端及网络系统 | |
JP2013126219A (ja) | 転送サーバおよび転送プログラム | |
CN108337331B (zh) | 网络穿透方法、装置、系统及网络连通性检查方法 | |
CN101212449B (zh) | Ip电话分机在fw/nat多端口映射下正常工作的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140709 |
|
RJ01 | Rejection of invention patent application after publication |