CN107360275A - 一种对称型nat端口的预测方法及装置 - Google Patents
一种对称型nat端口的预测方法及装置 Download PDFInfo
- Publication number
- CN107360275A CN107360275A CN201710840912.3A CN201710840912A CN107360275A CN 107360275 A CN107360275 A CN 107360275A CN 201710840912 A CN201710840912 A CN 201710840912A CN 107360275 A CN107360275 A CN 107360275A
- Authority
- CN
- China
- Prior art keywords
- public network
- port number
- network port
- machine
- nat
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- 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
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供的对称型NAT端口的预测方法,应用于对称型NAT网络内部的主机,向与本机建立P2P连接的主机请求本机的公网端口号,并将所述公网端口号保存到本机公网端口号集合中,所述本机为所述对称型NAT网络内部的任意一个主机,根据所述本机公网端口号集合,预测本机下一次建立P2P连接时NAT分配的公网端口号。本发明提供的对称型NAT端口的预测方法能够准确预测对称型NAT网络内部的主机在和外部主机建立连接时可能使用的公网端口号,使得对称型NAT能够通过打洞顺利进行P2P连接,有助于增加P2P的流量,节省了服务器的网络带宽;同时,整个预测过程都由对称型NAT网络内部的主机完成,无需借助服务器,能够有效减少服务器的压力。
Description
技术领域
本发明涉及通信技术领域,更具体的,涉及一种对称型NAT端口的预测方法及装置。
背景技术
NAT(Network Address Translation,网络地址转换),通过将不同的私网地址映射到同一公网地址的不同端口号,实现了内网中多台主机能够使用同一IP地址进行互联网连接的功能。这解决了IP地址不足的问题,却给P2P(Peer to Peer,对等网络)连接引入了新的挑战。
NAT类型共有四种:
1、全锥形NAT(Full Cone NAT),同一私网地址X(包括IP地址和端口号)的连接请求都会被映射到同一公网地址Y(包括IP地址和端口号),与请求的目的地址无关。NAT会将所有外部地址Z(包括IP地址和端口号)发送给Y的请求转发给X。
2、限制锥型NAT(Restricted NAT),同一私网地址X(包括IP地址和端口号)的连接请求都会被映射到同一公网地址Y(包括IP地址和端口号),与请求的目的地址无关。但是只有私网地址X先通过公网地址Y发送请求到地址Z(只包括IP地址,端口号不限),NAT才会将Z发送给Y的请求转发给X,否则Z发送到X的请求会被NAT认为是未经认证的而进行阻止。
3、端口限制锥形NAT(Port Restricted NAT),所有来自同一私网地址X(包括IP地址和端口号)的连接请求都会被映射到同一公网地址Y(包括IP地址和端口号),与请求的目的地址无关。但是只有私网地址X先通过公网地址Y发送请求到地址Z(包括IP地址和端口号),NAT才会将Z发送给Y的请求转发给X,否则Z发送到X的请求会被NAT认为是未经认证的而进行阻止。
4、对称型NAT(Symmetric NAT),来自同一私网地址X的连接请求根据目的地址(包括IP地址和端口号)的不同,会被映射到不同的公网地址(端口号不同)。只有私网地址X先通过公网地址Y发送请求到地址Z(包括IP地址和端口号),NAT才会将Z发送给Y的请求转发给X,否则Z发送到X的请求会被NAT认为是未经认证的而进行阻止。
对于限制型锥形NAT、端口限制锥形NAT和对称型NAT,只有在NAT内部的地址X向外部地址Z发送过数据请求之后,外部地址Z所发送的数据请求才会被NAT转发给X,否则该请求会被认为是未经认证的请求而丢弃。因此对于限制型锥形NAT、端口限制锥形NAT和对称型NAT网络内部的主机需要先进行P2P打洞,才能够进行P2P连接。但是对于对称型NAT,由于同一私网地址在向不同地址发送数据请求时,会使用不同的公网端口号,导致在进行P2P打洞时,对方无法得知这个端口号,从而不能进行有效的打洞,导致无法打洞成功或成功率很低。
发明内容
有鉴于此,本发明提供了一种对称型NAT端口的预测方法,准确预测对称型NAT网络内部的主机在和外部主机建立连接时可能使用的公网端口号,使得对称型NAT能够通过打洞顺利进行P2P连接。
为了实现上述发明目的,本发明提供的具体技术方案如下:
一种对称型NAT端口的预测方法,应用于对称型NAT网络内部的主机,包括:
向与本机建立P2P连接的主机请求本机的公网端口号,并将所述公网端口号保存到本机公网端口号集合中,所述本机为所述对称型NAT网络内部的任意一个主机;
根据所述本机公网端口号集合,预测本机下一次建立P2P连接时NAT分配的公网端口号。
优选的,所述本机网络端口号集合中按时间顺序记录了所述本机每次建立P2P连接时NAT分配的公网端口号、以及每个所述公网端口号的连接次序。
优选的,所述方法还包括:
记录所述本机公网端口号集合中每个公网端口号与相应公网端口号的连接次序的映射关系;
根据所述映射关系,确定本机公网端口号集合中每个公网端口号与相应公网端口号的连接次序的映射规律。
可选的,所述根据所述本机公网端口号集合,预测本机下一次建立P2P连接时NAT分配的公网端口号,包括:
以所述本机公网端口号集合中的公网端口号和所述公网端口号的连接次序为参数,进行线性拟合,得到目标线性函数Y=a*X+b,其中,a和b为系数,Y为本机建立第X次P2P连接时NAT分配的公网端口号,X为公网端口号Y的连接次序;
确定本机下一次建立P2P连接时X的值,并根据所述目标线性函数和X,求解本机下一次建立P2P连接时NAT分配的公网端口号。
可选的,所述根据所述本机公网端口号集合,预测本机下一次建立P2P连接时NAT分配的公网端口号,包括:
以所述本机公网端口号集合中的公网端口号和所述公网端口号的连接次序为参数,进行多项式拟合,得到目标多项式函数Y=a0+a1(X-X1)+a2(X-X2)2+...+an(X-Xn)n,其中,a0,...,an和X0,...,Xn为系数,Y为本机建立第X次P2P连接时NAT分配的公网端口号,X为公网端口号Y的连接次序;
确定本机下一次建立P2P连接时X的值,并根据所述目标多项式函数和X,求解本机下一次建立P2P连接时NAT分配的公网端口号。
一种对称型NAT端口的预测装置,应用于对称型NAT网络内部的主机,包括:
请求单元,用于向与本机建立P2P连接的主机请求本机的公网端口号,并将所述公网端口号保存到本机公网端口号集合中,所述本机为所述对称型NAT网络内部的任意一个主机;
预测单元,用于根据所述本机公网端口号集合,预测本机下一次建立P2P连接时NAT分配的公网端口号。
优选的,所述本机网络端口号集合中按时间顺序记录了所述本机每次建立P2P连接时NAT分配的公网端口号、以及每个所述公网端口号的连接次序。
优选的,所述装置还包括:
记录单元,用于记录所述本机公网端口号集合中每个公网端口号与相应公网端口号的连接次序的映射关系;
确定单元,用于根据所述映射关系,确定本机公网端口号集合中每个公网端口号与相应公网端口号的连接次序的映射规律。
可选的,所述预测单元包括:
第一拟合子单元,用于以所述本机公网端口号集合中的公网端口号和所述公网端口号的连接次序为参数,进行线性拟合,得到目标线性函数Y=a*X+b,其中,a和b为系数,Y为本机建立第X次P2P连接时NAT分配的公网端口号,X为公网端口号Y的连接次序;
第一求解子单元,用于确定本机下一次建立P2P连接时X的值,并根据所述目标线性函数和X,求解本机下一次建立P2P连接时NAT分配的公网端口号。
可选的,所述预测单元包括:
第二拟合子单元,用于以所述本机公网端口号集合中的公网端口号和所述公网端口号的连接次序为参数,进行多项式拟合,得到目标多项式函数Y=a0+a1(X-X1)+a2(X-X2)2+...+an(X-Xn)n,其中,a0,...,an和X0,...,Xn为系数,Y为本机建立第X次P2P连接时NAT分配的公网端口号,X为公网端口号Y的连接次序;
第二求解子单元,用于确定本机下一次建立P2P连接时X的值,并根据所述目标多项式函数和X,求解本机下一次建立P2P连接时NAT分配的公网端口号。
相对于现有技术,本发明的有益效果如下:
本发明提供的对称型NAT端口的预测方法,应用于对称型NAT网络内部的主机,向与本机建立P2P连接的主机请求本机的公网端口号,并将所述公网端口号保存到本机公网端口号集合中,所述本机为所述对称型NAT网络内部的任意一个主机,根据所述本机公网端口号集合,预测本机下一次建立P2P连接时NAT分配的公网端口号。本发明提供的对称型NAT端口的预测方法能够准确预测对称型NAT网络内部的主机在和外部主机建立连接时可能使用的公网端口号,使得对称型NAT能够通过打洞顺利进行P2P连接,有助于增加P2P的流量,节省了服务器的网络带宽;同时,整个预测过程都由对称型NAT网络内部的主机完成,无需借助服务器,能够有效减少服务器的压力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的标准打洞流程示意图;
图2为本发明实施例公开的对称型NAT端口的预测方法流程图;
图3为本发明实施例公开的对称型NAT端口预测示意图;
图4为本发明实施例公开的对称型NAT端口的预测装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
NAT内部网络中的多台主机使用同一个IP地址与NAT网络外部的主机进行连接之前需要先进行打洞。以端口限制型NAT A网络内部的主机A向端口限制型NAT B网络内部的主机B发起打洞为例,请参阅图1,标准的打洞流程如下:
1.主机A和主机B分别和打洞服务器S建立连接,S得到主机A和主机B的IP地址和端口号。
2.主机A从打洞服务器S得到主机B的IP地址和端口号。
3.主机A向主机B发送打洞请求数据包,但是该数据包会被主机B的NAT B认为是未经认证的,从而阻止该数据包,不向主机B转发该数据包。
4.主机A向打洞服务器S发送协助打洞请求,请求S协助打洞。
5.打洞服务器S向主机B发送主机A的IP地址和端口号。
6.主机B向主机A发送打洞请求数据包,在步骤3中,主机A已经通过NAT A向主机B发送过数据包,因此NAT A在收到该打洞请求数据包之后,会将该数据包转发给主机A。
7.主机A收到主机B的打洞请求包,在步骤6中,主机B已经通过NAT B向主机A发送过数据包,因此NAT B会将之后从主机A发送到主机B的数据包转发给主机B,P2P连接建立。主机A和主机B能够进行正常通信。
但是对于对称型NAT,由于同一私网地址在向不同地址发送数据请求时,会使用不同的公网端口号,导致在进行P2P打洞时,对方无法得知这个端口号,从而不能进行有效的打洞,导致无法打洞成功或成功率很低。
为了解决这一技术问题,本发明提供了一种对称型NAT端口的预测方法,请参阅图2,图2为一种对称型NAT端口的预测方法流程图,所述方法应用于对称型NAT网络内部的主机,具体包括以下步骤:
S101:向与本机建立P2P连接的主机请求本机的公网端口号,并将所述公网端口号保存到本机公网端口号集合中,所述本机为所述对称型NAT网络内部的任意一个主机;
与所述对称型NAT网络内部的主机建立P2P连接的主机包括但不限于具有公网地址的主机,可以为任意一种类型的主机。如,全锥形NAT网络内部的主机,UPNP成功的主机等。
在P2P系统中,对称型NAT网络内部的主机会不断和其他主机建立连接,连接建立之后,对称型NAT网络内部的主机,即,本机可通过相关协议,向与本机建立P2P连接的主机请求本机的公网端口号,并将所述公网端口号保存到本机公网端口号集合中。
所述本机公网端口号集合中记录了本机每次建立P2P连接时,NAT每次为本机分配的公网端口号。
优选的,所述本机网络端口号集合中按时间顺序记录了所述本机每次建立P2P连接时NAT分配的公网端口号、以及每个所述公网端口号的连接次序。
所述连接次序表示相应的公网端口号为本机在第几次建立P2P连接时NAT为本机分配的公网端口号。
S102:根据所述本机公网端口号集合,预测本机下一次建立P2P连接时NAT分配的公网端口号。
可以理解的是,本机每次与NAT网络外部的主机进行连接时,NAT都会为本机分配一个公网端口号,请参阅图3,根据所述本机公网端口号集合,基于预设算法,预测本机下一次建立P2P连接时NAT分配的公网端口号,使与本机建立连接的主机得知本机的公网端口号,进行有效打洞,提高打洞成功率。
在所述本机网络端口号集合中按时间顺序记录了所述本机每次建立P2P连接时NAT分配的公网端口号、以及每个所述公网端口号的连接次序的基础上,本实施例提供了两种端口号预测方法。可以理解的是,本发明提供的预设算法包括但不仅限于包括以下的线性拟合算法和多项式拟合算法。
预测方法一
以所述本机公网端口号集合中的公网端口号和所述公网端口号的连接次序为参数,进行线性拟合,得到目标线性函数Y=a*X+b,其中,a和b为系数,Y为本机建立第X次P2P连接时NAT分配的公网端口号,X为公网端口号Y的连接次序;
确定本机下一次建立P2P连接时X的值,并根据所述目标线性函数和X,求解本机下一次建立P2P连接时NAT分配的公网端口号。
通过根据所述本机公网端口号集合中的公网端口号和所述公网端口号的连接次序为参数,进行线性拟合,得到一个表示公网端口号Y和连接次序X的线性关系。在此基础上确定本机下一次建立P2P连接时X的值,将X代入所述目标线性函数中即可得到本机下一次建立P2P连接时NAT分配的公网端口号。
通过线性拟合,可以检测到NAT为本机分配的公网端口号为递增或递减规律。
预测方法二
以所述本机公网端口号集合中的公网端口号和所述公网端口号的连接次序为参数,进行多项式拟合,得到目标多项式函数Y=a0+a1(X-X1)+a2(X-X2)2+...+an(X-Xn)n,其中,a0,...,an和X0,...,Xn为系数,Y为本机建立第X次P2P连接时NAT分配的公网端口号,X为公网端口号Y的连接次序;
确定本机下一次建立P2P连接时X的值,并根据所述目标多项式函数和X,求解本机下一次建立P2P连接时NAT分配的公网端口号。
即,通过根据所述本机公网端口号集合中的公网端口号和所述公网端口号的连接次序为参数,进行多项式拟合,得到一个表示公网端口号Y和连接次序X的函数关系。在此基础上确定本机下一次建立P2P连接时X的值,将X代入所述目标多项式函数中即可得到本机下一次建立P2P连接时NAT分配的公网端口号。
优选的,所述方法还包括:
记录所述本机公网端口号集合中每个公网端口号与相应公网端口号的连接次序的映射关系;
根据所述映射关系,确定本机公网端口号集合中每个公网端口号与相应公网端口号的连接次序的映射规律。
需要说明的是,所述映射规律可以为公网端口号递增、递减或随机规律。
可以理解的是,每进行一次预测都会得到一个相应的公网端口号,即,得到了连接次序与公网端口号的映射规律。当本机每次建立P2P连接时均将NAT分配的公网端口号保存到本机公网端口号集合中,本机公网端口号中每增加一个公网端口号即为对本机公网端口号集合的更新。当本机公网端口号集合更新时,预设算法的参数也随之更新,可以对预设算法得到的端口映射规律进行修正,提高预测本机下一次建立P2P连接时NAT分配公网端口号的准确性。
本实施例公开的对称型NAT端口的预测方法,应用于对称型NAT网络内部的主机,向与本机建立P2P连接的主机请求本机的公网端口号,并将所述公网端口号保存到本机公网端口号集合中,所述本机为所述对称型NAT网络内部的任意一个主机,根据所述本机公网端口号集合,预测本机下一次建立P2P连接时NAT分配的公网端口号。本发明提供的对称型NAT端口的预测方法能够准确预测对称型NAT内部的主机在和外部主机建立连接时可能使用的公网端口号,使得对称型NAT能够通过打洞顺利进行P2P连接,有助于增加P2P的流量,节省了服务器的网络带宽;同时,整个预测过程都由对称型NAT网络内部的主机完成,无需借助服务器,能够有效减少服务器的压力。
请参阅图4,基于上述实施例公开的对称型NAT端口的预测方法,本实施例对应公开了一种对称型NAT端口的预测装置,应用于对称型NAT网络内部的主机,所述装置具体包括:
请求单元101,用于向与本机建立P2P连接的主机请求本机的公网端口号,并将所述公网端口号保存到本机公网端口号集合中,所述本机为所述对称型NAT网络内部的任意一个主机;
与所述对称型NAT网络内部的主机建立P2P连接的主机可以为任意一种类型的主机。
预测单元102,用于根据所述本机公网端口号集合,预测本机下一次建立P2P连接时NAT分配的公网端口号。
在所述本机网络端口号集合中按时间顺序记录了所述本机每次建立P2P连接时NAT分配的公网端口号、以及每个所述公网端口号的连接次序的基础上,本实施例公开了两种预测单元102的实现方式。
可选的,所述预测单元102包括:
第一拟合子单元,用于以所述本机公网端口号集合中的公网端口号和所述公网端口号的连接次序为参数,进行线性拟合,得到目标线性函数Y=a*X+b,其中,a和b为系数,Y为本机建立第X次P2P连接时NAT分配的公网端口号,X为公网端口号Y的连接次序;
第一求解子单元,用于确定本机下一次建立P2P连接时X的值,并根据所述目标线性函数和X,求解本机下一次建立P2P连接时NAT分配的公网端口号。
可选的,所述预测单元102包括:
第二拟合子单元,用于以所述本机公网端口号集合中的公网端口号和所述公网端口号的连接次序为参数,进行多项式拟合,得到目标多项式函数Y=a0+a1(X-X1)+a2(X-X2)2+...+an(X-Xn)n,其中,a0,...,an和X0,...,Xn为系数,Y为本机建立第X次P2P连接时NAT分配的公网端口号,X为公网端口号Y的连接次序;
第二求解子单元,用于确定本机下一次建立P2P连接时X的值,并根据所述目标多项式函数和X,求解本机下一次建立P2P连接时NAT分配的公网端口号。
优选的,所述装置还包括:
记录单元,用于记录所述本机公网端口号集合中每个公网端口号与相应公网端口号的连接次序的映射关系;
确定单元,用于根据所述映射关系,确定本机公网端口号集合中每个公网端口号与相应公网端口号的连接次序的映射规律。
需要说明的是,所述映射规律可以为公网端口号递增、递减或随机规律。
本实施例提供的对称型NAT端口的预测装置,应用于对称型NAT网络内部的主机,向与本机建立P2P连接的主机请求本机的公网端口号,并将所述公网端口号保存到本机公网端口号集合中,所述本机为所述对称型NAT网络内部的任意一个主机,根据所述本机公网端口号集合,预测本机下一次建立P2P连接时NAT分配的公网端口号。本发明提供的对称型NAT端口的预测方法能够准确预测对称型NAT网络内部的主机在和外部主机建立连接时可能使用的公网端口号,使得对称型NAT能够通过打洞顺利进行P2P连接,有助于增加P2P的流量,节省了服务器的网络带宽;同时,整个预测过程都由对称型NAT网络内部的主机完成,无需借助服务器,能够有效减少服务器的压力。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种对称型NAT端口的预测方法,其特征在于,应用于对称型NAT网络内部的主机,包括:
向与本机建立P2P连接的主机请求本机的公网端口号,并将所述公网端口号保存到本机公网端口号集合中,所述本机为所述对称型NAT网络内部的任意一个主机;
根据所述本机公网端口号集合,预测本机下一次建立P2P连接时NAT分配的公网端口号。
2.根据权利要求1所述的方法,其特征在于,所述本机网络端口号集合中按时间顺序记录了所述本机每次建立P2P连接时NAT分配的公网端口号、以及每个所述公网端口号的连接次序。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
记录所述本机公网端口号集合中每个公网端口号与相应公网端口号的连接次序的映射关系;
根据所述映射关系,确定本机公网端口号集合中每个公网端口号与相应公网端口号的连接次序的映射规律。
4.根据权利要求2所述的方法,其特征在于,所述根据所述本机公网端口号集合,预测本机下一次建立P2P连接时NAT分配的公网端口号,包括:
以所述本机公网端口号集合中的公网端口号和所述公网端口号的连接次序为参数,进行线性拟合,得到目标线性函数Y=a*X+b,其中,a和b为系数,Y为本机建立第X次P2P连接时NAT分配的公网端口号,X为公网端口号Y的连接次序;
确定本机下一次建立P2P连接时X的值,并根据所述目标线性函数和X,求解本机下一次建立P2P连接时NAT分配的公网端口号。
5.根据权利要求2所述的方法,其特征在于,所述根据所述本机公网端口号集合,预测本机下一次建立P2P连接时NAT分配的公网端口号,包括:
以所述本机公网端口号集合中的公网端口号和所述公网端口号的连接次序为参数,进行多项式拟合,得到目标多项式函数Y=a0+a1(X-X1)+a2(X-X2)2+...+an(X-Xn)n,其中,a0,...,an和X0,...,Xn为系数,Y为本机建立第X次P2P连接时NAT分配的公网端口号,X为公网端口号Y的连接次序;
确定本机下一次建立P2P连接时X的值,并根据所述目标多项式函数和X,求解本机下一次建立P2P连接时NAT分配的公网端口号。
6.一种对称型NAT端口的预测装置,其特征在于,应用于对称型NAT网络内部的主机,包括:
请求单元,用于向与本机建立P2P连接的主机请求本机的公网端口号,并将所述公网端口号保存到本机公网端口号集合中,所述本机为所述对称型NAT网络内部的任意一个主机;
预测单元,用于根据所述本机公网端口号集合,预测本机下一次建立P2P连接时NAT分配的公网端口号。
7.根据权利要求6所述的装置,其特征在于,所述本机网络端口号集合中按时间顺序记录了所述本机每次建立P2P连接时NAT分配的公网端口号、以及每个所述公网端口号的连接次序。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
记录单元,用于记录所述本机公网端口号集合中每个公网端口号与相应公网端口号的连接次序的映射关系;
确定单元,用于根据所述映射关系,确定本机公网端口号集合中每个公网端口号与相应公网端口号的连接次序的映射规律。
9.根据权利要求7所述的装置,其特征在于,所述预测单元包括:
第一拟合子单元,用于以所述本机公网端口号集合中的公网端口号和所述公网端口号的连接次序为参数,进行线性拟合,得到目标线性函数Y=a*X+b,其中,a和b为系数,Y为本机建立第X次P2P连接时NAT分配的公网端口号,X为公网端口号Y的连接次序;
第一求解子单元,用于确定本机下一次建立P2P连接时X的值,并根据所述目标线性函数和X,求解本机下一次建立P2P连接时NAT分配的公网端口号。
10.根据权利要求7所述的装置,其特征在于,所述预测单元包括:
第二拟合子单元,用于以所述本机公网端口号集合中的公网端口号和所述公网端口号的连接次序为参数,进行多项式拟合,得到目标多项式函数Y=a0+a1(X-X1)+a2(X-X2)2+...+an(X-Xn)n,其中,a0,...,an和X0,...,Xn为系数,Y为本机建立第X次P2P连接时NAT分配的公网端口号,X为公网端口号Y的连接次序;
第二求解子单元,用于确定本机下一次建立P2P连接时X的值,并根据所述目标多项式函数和X,求解本机下一次建立P2P连接时NAT分配的公网端口号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710840912.3A CN107360275B (zh) | 2017-09-18 | 2017-09-18 | 一种对称型nat端口的预测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710840912.3A CN107360275B (zh) | 2017-09-18 | 2017-09-18 | 一种对称型nat端口的预测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107360275A true CN107360275A (zh) | 2017-11-17 |
CN107360275B CN107360275B (zh) | 2021-01-22 |
Family
ID=60291563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710840912.3A Active CN107360275B (zh) | 2017-09-18 | 2017-09-18 | 一种对称型nat端口的预测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107360275B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109600449A (zh) * | 2018-12-24 | 2019-04-09 | 深圳市网心科技有限公司 | 一种p2p穿透方法、装置、系统及存储介质 |
CN111600968A (zh) * | 2020-03-31 | 2020-08-28 | 普联技术有限公司 | P2p网络中nat打洞方法、装置、设备及可读存储介质 |
CN114900496A (zh) * | 2019-06-24 | 2022-08-12 | 华为技术有限公司 | 一种通信方法以及相关设备 |
US12003477B2 (en) | 2019-06-24 | 2024-06-04 | Huawei Technologies Co., Ltd. | Communication method and related device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070076729A1 (en) * | 2005-10-04 | 2007-04-05 | Sony Computer Entertainment Inc. | Peer-to-peer communication traversing symmetric network address translators |
CN101374141A (zh) * | 2007-08-23 | 2009-02-25 | 浙江省电信有限公司 | 一种基于pcp协议的tcp nat穿越方法 |
CN101557388A (zh) * | 2008-04-11 | 2009-10-14 | 中国科学院声学研究所 | 一种基于UPnP和STUN技术相结合的NAT穿越方法 |
CN103856576A (zh) * | 2012-11-30 | 2014-06-11 | 雅马哈株式会社 | 通信系统和服务器 |
CN105141711A (zh) * | 2015-08-24 | 2015-12-09 | 北京息通网络技术有限公司 | 一种基于大数据分析的对称nat穿越方法及系统 |
CN105743739A (zh) * | 2016-03-28 | 2016-07-06 | Tcl集团股份有限公司 | 对称式nat的端口预测方法、探测服务器及受测端设备 |
-
2017
- 2017-09-18 CN CN201710840912.3A patent/CN107360275B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070076729A1 (en) * | 2005-10-04 | 2007-04-05 | Sony Computer Entertainment Inc. | Peer-to-peer communication traversing symmetric network address translators |
CN101374141A (zh) * | 2007-08-23 | 2009-02-25 | 浙江省电信有限公司 | 一种基于pcp协议的tcp nat穿越方法 |
CN101557388A (zh) * | 2008-04-11 | 2009-10-14 | 中国科学院声学研究所 | 一种基于UPnP和STUN技术相结合的NAT穿越方法 |
CN103856576A (zh) * | 2012-11-30 | 2014-06-11 | 雅马哈株式会社 | 通信系统和服务器 |
CN105141711A (zh) * | 2015-08-24 | 2015-12-09 | 北京息通网络技术有限公司 | 一种基于大数据分析的对称nat穿越方法及系统 |
CN105743739A (zh) * | 2016-03-28 | 2016-07-06 | Tcl集团股份有限公司 | 对称式nat的端口预测方法、探测服务器及受测端设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109600449A (zh) * | 2018-12-24 | 2019-04-09 | 深圳市网心科技有限公司 | 一种p2p穿透方法、装置、系统及存储介质 |
CN114900496A (zh) * | 2019-06-24 | 2022-08-12 | 华为技术有限公司 | 一种通信方法以及相关设备 |
CN114900496B (zh) * | 2019-06-24 | 2024-03-15 | 华为技术有限公司 | 一种通信方法以及相关设备 |
US12003477B2 (en) | 2019-06-24 | 2024-06-04 | Huawei Technologies Co., Ltd. | Communication method and related device |
CN111600968A (zh) * | 2020-03-31 | 2020-08-28 | 普联技术有限公司 | P2p网络中nat打洞方法、装置、设备及可读存储介质 |
CN111600968B (zh) * | 2020-03-31 | 2022-07-05 | 普联技术有限公司 | P2p网络中nat打洞方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107360275B (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107580082A (zh) | 一种对称型nat的穿透方法及装置 | |
CN107580081A (zh) | 一种nat穿透方法及装置 | |
Gondim et al. | Mirror saturation in amplified reflection Distributed Denial of Service: A case of study using SNMP, SSDP, NTP and DNS protocols | |
CN102196009B (zh) | 登录网络的方法、服务器及客户端 | |
CN109474687A (zh) | 一种不同私网间通信的方法、装置和系统 | |
CN105141711A (zh) | 一种基于大数据分析的对称nat穿越方法及系统 | |
CN107360275A (zh) | 一种对称型nat端口的预测方法及装置 | |
CN106302230B (zh) | 一种数据传输方法及装置 | |
CN106302842A (zh) | 一种域名解析方法、装置及系统 | |
CN103856580B (zh) | 一种IPv6客户机访问IPv4服务器的方法 | |
CN104144123B (zh) | 访问互联网的方法、系统与路由型网关装置 | |
CN107800603B (zh) | 内网用户基于vpn访问前端设备的方法和存储介质 | |
CN109151009A (zh) | 一种基于mec的cdn节点分配方法和系统 | |
CN108173928B (zh) | Udp数据传输的方法、装置、存储介质及终端设备 | |
CN104468853A (zh) | 一种域名解析方法、服务器及系统 | |
CN108040134A (zh) | 一种dns透明代理的方法及装置 | |
CN108881519A (zh) | 一种nat穿透方法及装置 | |
CN103119903A (zh) | 网络服务器之间的负载平衡 | |
CN106878259A (zh) | 一种报文转发方法及装置 | |
CN1874358B (zh) | 一种互联网地址配置管理的方法和系统 | |
CN104734869A (zh) | 基于动态探测的智能dns域名系统及方法 | |
CN108234217A (zh) | 组网设备自动配置方法、电子设备及存储介质 | |
CN102647432A (zh) | 一种认证信息传输方法、装置及认证中间件 | |
CN104539586A (zh) | 会话管理方法和装置 | |
CN109951493A (zh) | 一种网络互通方法、装置、设备及存储介质 |
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 |