CN107147731A - 一种bt网络节点信息的主动测量方法和系统 - Google Patents
一种bt网络节点信息的主动测量方法和系统 Download PDFInfo
- Publication number
- CN107147731A CN107147731A CN201710408622.1A CN201710408622A CN107147731A CN 107147731 A CN107147731 A CN 107147731A CN 201710408622 A CN201710408622 A CN 201710408622A CN 107147731 A CN107147731 A CN 107147731A
- Authority
- CN
- China
- Prior art keywords
- tracker
- file
- node
- seed
- seed file
- 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 37
- 238000001514 detection method Methods 0.000 claims abstract description 51
- 230000004044 response Effects 0.000 claims description 18
- 238000005259 measurement Methods 0.000 claims description 16
- 239000000523 sample Substances 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 4
- 239000012634 fragment Substances 0.000 claims description 4
- 238000013467 fragmentation Methods 0.000 claims description 2
- 238000006062 fragmentation reaction Methods 0.000 claims description 2
- 101100217298 Mus musculus Aspm gene Proteins 0.000 claims 2
- 238000009792 diffusion process Methods 0.000 abstract description 5
- 230000000644 propagated effect Effects 0.000 abstract 1
- 238000000691 measurement method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 235000002673 Dioscorea communis Nutrition 0.000 description 2
- 241000544230 Dioscorea communis Species 0.000 description 2
- 208000035753 Periorbital contusion Diseases 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000007480 spreading Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
-
- 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/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1065—Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种BT网络节点信息的主动测量方法和系统,其中的方法包括:解析需要进行探测的种子文件,获取探测所需的文件信息;解析Tracker URL,获得每个Tracker的IP地址和端口号;根据种子文件的文件信息和追踪服务器的IP地址和端口号,查询Tracker和分布式哈希表网络,确定与所述种子文件对应的BT网络节点。应用本发明可以直接获取BT网络的特征信息,降低节点探测规模及强度,快速获取种子文件的资源在网络中传播的范围和扩散速度,为BT建模提供真实数据。
Description
技术领域
本申请涉及网络节点探测技术领域,尤其涉及一种BT网络节点信息的主动测量方法和系统。
背景技术
BT协议是一种以集中式结构为基础的应用层协议。该协议及其软件自出现以来,因其强大的文件共享功能而迅速风靡世界。
BT提供的文件共享与下载不同于传统的HTTP和FTP服务方式,文件源头并非存储于大型服务器上,而是存在于网络某一个终端中,这就使得想要追踪其位置以及控制其共享文件的内容变得十分困难。不法分子可利用BT共享技术方便传播非法内容,同时,也给网络带宽、版权保护以及非法内容传播控制等方面造成了很大的负面影响。在这种情况下,针对内容的BT探测方法应运而生。
由于BT网络的可用性不仅与系统中每台主机的可用性相关,而且还与整个系统的网络连接状态以及用户加入/退出系统的行为相关。这些复杂的关联性使得直接测量BT网络的可用性变得非常困难。目前国内外多是采用探针主动加入BT网络中,用以获取相关的网络特性和节点信息。基于Tracker服务器日志的探测方法,通过节点在下载完成之后会在线大约6.5小时的情况下,对节点位置及流量进行准确探测,但由于受限于局域网环境,无法反映出真实的因特网,其测量结果必然有一定的局限性;周期性探测Napser和Gnutella系统节点的方法,采用在不同地理位置上布置探针程序的方法来发现网络中的节点的,此方法的优点在于可获得大量的探测数据,利于获得正确的研究结果,但其方法对网络和设备也有较高的要求;采用BitTorrent协议对Suprnova进行测量和分析的方法,可以得出BitTorrent系统中心化分布,但同时其系统可用性受到其组成部件的影响,系统中的数据缺乏完整性。反映出系统可用性和数据完整性之间存在一定的矛盾。
综上所述,目前的BT网络探测方法及手段,多是为了获取BT网络的规模、节点地理信息、流量分布等信息,需要在不同地理位置上布置大量的探针程序,工作量巨大,测量信息误差率较高,而且未对BT流量从传播内容、传播范围和扩散速度进行综合测量,缺乏数据完整性,难以从大量客户端的行为中得出规律性总结,从而无法对在BT网络传输的非法内容进行有效管理和控制。
发明内容
有鉴于此,本发明提供了一种BT网络节点信息的主动测量方法和系统,从而可以直接获取BT网络的特征信息,降低节点探测规模及强度,快速获取种子文件的资源在网络中传播的范围和扩散速度,为BT建模提供真实数据。
本发明的技术方案具体是这样实现的:
一种BT网络节点信息的主动测量方法,该方法包括:
解析需要进行探测的种子文件,获取探测所需的文件信息;
解析追踪服务器的网址Tracker URL,获得每个追踪服务器Tracker的IP地址和端口号;
根据种子文件的文件信息和追踪服务器的IP地址和端口号,查询Tracker和分布式哈希表网络,确定与所述种子文件对应的BT网络节点。
较佳的,所述文件信息包括:
种子文件中的种子特征码info_hash、Tracker URL和分片数。
较佳的,所述解析需要进行探测的种子文件,获取探测所需的文件信息包括:
从需要进行探测的具有B编码格式的种子文件中提取Tracker服务器列表,从所述Tracker服务器列表中提取Tracker URL;
从需要进行探测的具有B编码格式的种子文件中提取信息字段,从所述信息字段中提取所需的文件信息;
根据从所述信息字段中提取的文件信息,计算种子文件中的种子特征码。
较佳的,通过如下的公式计算种子文件中的种子特征码info_hash:
info_hash=SHA1(pieces);
其中,SHA1为安全哈希算法,pieces为分片数。
较佳的,所述解析Tracker URL,获得每个Tracker的IP地址和端口号包括如下步骤:
B1、在Tracker URL中查找是否存在关键字“http”,以判断Tracker的类型;
B2、判断Tracker URL中是否存在“//”字符串;如果是,则通过“//”字符串获得Tracker域名的开始位置,执行步骤B3;否则,结束流程;
B3、判断Tracker URL中是否存在“:”字符串;如果是,则通过“:”字符串获得Tracker域名的结束位置,从而获得Tracker的域名,执行步骤B4;否则,执行步骤B5;
B4、将端口号设置为默认的80;
B5、判断Tracker URL中是否存在“/”字符串;如果是,则执行步骤B6;否则,执行步骤B7;
B6、通过“/”字符串获得Tracker的端口号;
B7、获得Tracker域名;
B8、根据Tracker域名,利用域名解析系统获得Tracker的IP地址。
较佳的,所述查询Tracker包括如下的步骤:
C1、建立虚假节点与Tracker之间的TCP连接;
C2、根据info_hash构造请求包,将请求包发送给Tracker;
C3、当接收到Tracker的请求响应包时,分析请求响应包获得更新的节点,断开TCP连接;
C4、判断已获得的更新的节点的总数是否小于预设的第一阈值;如果是,则结束流程;否则,返回执行步骤C1。
较佳的,所述查询分布式哈希表网络包括如下的步骤:
D1、从路由表中查找分布式哈希表网络中距离info_hash最近的节点;
D2、将查找到的节点加入查询列表;
D3、向查询列表中未查询过的节点发送查询消息;
D4、判断节点返回的响应消息类型是否为values;如果是,则执行步骤D5;否则,返回执行步骤D3;
D5、将返回响应消息的节点加入到探测节点列表中;
D6、判断探测节点列表中的节点数是否小于预设的第二阈值;如果是,则结束流程;否则,返回执行步骤D1。
本发明还提供了一种BT网络节点信息的主动测量系统,该系统包括:一个或多个探测机;
所述探测机包括:种子文件解析器、域名解析器和节点探测器;
所述种子文件解析器,用于解析需要进行探测的种子文件,获取探测所需的文件信息;将所述文件信息发送给所述域名解析器和节点探测器;
所述域名解析器,用于解析追踪服务器的网址Tracker URL,获得每个追踪服务器Tracker的IP地址和端口号;将各个追踪服务器的IP地址和端口号发送给所述节点探测器;
所述节点探测器,用于根据种子文件的文件信息和追踪服务器的IP地址和端口号,查询Tracker和DHT网络,确定与所述种子文件对应的BT网络节点。
较佳的,所述节点探测器中还包括:Tracker探测模块、DHT探测模块和连接管理模块;
所述Tracker探测模块,用于根据种子文件的文件信息和追踪服务器的IP地址和端口号,查询Tracker,确定与所述种子文件对应的BT网络节点;
所述DHT探测模块,用于根据种子文件的文件信息和追踪服务器的IP地址和端口号,查询DHT网络,确定与所述种子文件对应的BT网络节点;
所述连接管理模块,与所述Tracker探测模块和DHT探测模块连接,用于为所述Tracker探测模块和DHT探测模块提供网络功能。
较佳的,所述连接管理模块中设置有:创建套接字接口、发送数据接口、接收数据接口和关闭套接字接口;
所述创建套接字接口,用于创建一个套接字,并为套接字设置属性,将套接字加入到连接管理模块的管理列表中;
所述发送数据接口,用于发送查询消息或请求包;还用于当发送数据时发生错误时,关闭对应的套接字,并将该套接字从管理列表中删除;
所述接收数据接口,用于接收请求响应包或响应消息;还用于当接受数据时发生错误时,关闭对应的套接字,并将该套接字从管理列表中删除;
所述关闭套接字接口,用于关闭错误或已用完的套接字,并结束对该套接字的事件检查。
如上可见,在本发明的技术方案中,由于先解析需要进行探测的种子文件,获取探测所需的文件信息,然后解析Tracker URL,获得每个追踪服务器的IP地址和端口号,再根据种子文件的文件信息和追踪服务器的IP地址和端口号,查询Tracker和DHT网络,从而可以确定与所述种子文件对应的BT网络节点。由于本发明中的BT网络节点信息的主动测量方法和系统是采用基于种子内容的主动测量方式,通过探测Tracker服务器和DHT网络来获得种子文件的节点信息。通过在线节点集,可以知道资源在网络中传播范围。同时,通过分析在线节点信息,可以间接计算出BT网络节点的下载速度、内容重复度、节点上线速度、节点下线速度、种子文件生命周期等相关信息。因此,本发明中的方法和系统能直接获取BT网络的特征信息,而不需要将探测点布置在骨干网络的核心路由器或某个ISP网络的边缘出口,因而可以降低节点探测规模及强度,快速获取种子文件的资源在网络中传播的范围和扩散速度;同时,本发明中的方法和系统是基于内容对特定种子文件进行探测,因此可获得种子文件的资源在网络中传播的范围和扩散速度,从而可以为BT建模提供真实数据,有利于建立更加接近真实BT系统的模型,为控制资源的传播提供指导性意见。
附图说明
图1为BT网络的系统结构示意图。
图2为本发明实施例中的BT网络节点信息的主动测量方法和系统的原理示意图。
图3为本发明实施例中的BT网络节点信息的主动测量方法的流程示意图。
图4为本发明实施例中的解析追踪服务器的网址的流程示意图。
图5为本发明实施例中的HTTP Tracker节点探测方法的流程示意图。
图6为本发明实施例中的DHT节点探测方法的流程示意图。
图7为本发明实施例中的BT网络节点信息的主动测量系统的结构示意图。
图8为本发明实施例中的调用连接管理器接口示意图。
图9为本发明实施例中的Tracker和DHT种子节点与有效节点的比值的示意图。
图10为本发明实施例中的Tracker和DHT种子节点与获取节点的比值的示意图。
具体实施方式
为使本发明的技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明作进一步详细的说明。
图1为本发明实施例中的BT网络节点信息的主动测量方法的流程图。
如图1所示,本发明实施例中的BT网络节点信息的主动测量方法包括如下所述步骤:
步骤101,解析需要进行探测的种子文件,获取探测所需的文件信息。
另外,较佳的,在本发明的具体实施例中,在上述步骤101之前,还可以进一步包括:从BT网络的种子服务器获得需要进行探测的种子文件。
另外,较佳的,在本发明的具体实施例中,所述步骤101中的文件信息可以包括:种子文件中的种子特征码(info_hash)、追踪服务器网址(Tracker URL)和分片数(pieces)等信息。
在本发明的技术方案中,可以使用多种方式来对需要进行探测的种子文件进行解析,以获取探测所需的文件信息。以下将以其中的一种具体实现方式为例,对本发明的技术方案进行介绍。
例如,较佳的,在本发明的具体实施例中,在所述步骤101中,可以利用B编码解析需要进行探测的种子文件。
较佳的,在本发明的具体实施例中,当利用B编码解析需要进行探测的种子文件时,可以包括如下的实现步骤:
步骤21,从需要进行探测的具有B编码格式的种子文件中提取Tracker服务器列表(announce-list),从所述Tracker服务器列表中提取Tracker URL。
例如,假设具有B编码格式的种子文件中记载了如下所述的具体内容:
8:announce36:http://btfans.3322.org:6969/announce13:announce-listll36:htt p://btfans.3322.org:6969/announce36:http://btfans.3322.org:8000/announce36:htt p://btfans.3322.org:8080/announceee
由上可知,上述B编码格式的种子文件中存在announce-list项,因此可忽略announce项的解析,直接解析announce-list项编码。
假设上述announce-list项的value编码如下所示:
ll36:http://btfans.3322.org:6969/announce36:http://btfans.3322.org:8000/an nounce36:http://btfans.3322.org:8080/announceee
由上可知,上述的announce-list项的B编码的数据也是一个列表,该列表为:
l36:http://btfans.3322.org:6969/announce36:http://btfans.3322.org:8000/ann ounce36:http://btfans.3322.org:8080/announcee
上述列表中包含了三个字符串数据。因此,最后此段编码的解析的结果如下所示:
http://btfans.3322.org:6969/announce
http://btfans.3322.org:8000/announce
http://btfans.3322.org:8080/announce
因此,通过上述的解析,可以直接得到所需的Tracker URL。
步骤22,从需要进行探测的具有B编码格式的种子文件中提取信息(info)字段,从所述info字段中提取所需的文件信息。
种子文件中的info字段包括了所需下载的文件的各种信息,该info字段一般包括多个子字段。
例如,假设具有B编码格式的种子文件中的info字段中记载了如下所述的具体内容:
infod6:lengthi10113024e4:name39:The Black Eyed Peas-Boom BoomPow.MP312:piece lengthi65536e6:pieces3100:(乱码省略)
根据上述内容可知,info字段中的length子字段的值为10113024,name子字段的值为The Black Eyed Peas-Boom Boom Pow.MP3,piece length子字段的值为65536,pieces子字段的值为3100。
其中,
length子字段用于表示:文件的大小,用字节(Byte)计算;
name子字段用于表示:推荐的文件夹名,此项可于下载时更改;
piece length子字段用于表示:每个文件块的大小,用字节计算;
pieces子字段用于表示:文件的特征信息;该字段比较大,实际上是种子内包含所有的文件段的安全哈希算法(SHA1)的校验值的连接,即将所有文件按照piece length的字节大小分成块,每块计算一个SHA1值,然后将这些值连接起来就形成了pieces字段,由于SHA1的校验值为20Byte,所以该字段的大小始终为20的整数倍字节。
在上述例子中,pieces子字段的值为3100,表示是是一个长度为3100的字符串。
步骤23,根据从所述info字段中提取的文件信息,计算info_hash。
info_hash实际上是info字段的哈希(HASH)值,长度一般为20字节,是种子文件的唯一标识。追踪服务器上是以info_hash为索引存储节点列表的,同时DHT网络查询时也需要info_hash值,所以是探测种子文件节点的必须信息。
在本发明的技术方案中,info_hash是通过对pieces子字段的所有HASH数据进行SHA1算法得到的。
例如,较佳的,在本发明的具体实施例中,可通过如下的公式计算info_hash:
info_hash=SHA1(pieces) (1)
其中,SHA1为安全哈希算法,pieces为分片数。
对于多文件模式下的片断边界,可以将文件数据设想为一个长的连续流,由文件有序列表中的每个文件相互连接而成。
通过上述的步骤21~23,即可利用B编码解析需要进行探测的种子文件,获取探测所需的文件信息。
步骤102,解析追踪服务器的网址(Tracker URL),获得每个追踪服务器的IP地址和端口号。
在本发明的技术方案中,可以使用多种方式来对Tracker URL进行解析,以获取追踪服务器的IP地址和端口号。以下将以其中的一种具体实现方式为例,对本发明的技术方案进行介绍。
例如,较佳的,图4为本发明实施例中的解析追踪服务器的网址的流程示意图,如图4所示,在本发明的一个具体实施例中,所述步骤102可以包括如下的步骤:
步骤41,在Tracker URL中查找是否存在关键字“http”,以判断Tracker的类型。
步骤42,判断Tracker URL中是否存在“//”字符串;如果是,则通过“//”字符串获得Tracker域名的开始位置,执行步骤43;否则,结束流程。
步骤43,判断Tracker URL中是否存在“:”字符串;如果是,则通过“:”字符串获得Tracker域名的结束位置,从而获得Tracker的域名,执行步骤44;否则,执行步骤45;
步骤44,将端口号设置为默认的80。
步骤45,判断Tracker URL中是否存在“/”字符串;如果是,则执行步骤46;否则,执行步骤47;
步骤46,通过“/”字符串获得Tracker的端口号
步骤47,获得Tracker域名。
步骤48,根据Tracker域名,利用域名解析系统获得Tracker的IP地址。
通过上述的步骤41~48,即可获得追踪服务器的IP地址和端口号。
步骤103,根据种子文件的文件信息和追踪服务器的IP地址和端口号,查询追踪服务器(Tracker)和分布式哈希表(Distributed Hash Table,DHT)网络,确定与所述种子文件对应的BT网络节点。
在本发明的技术方案中,可以使用多种方式来查询追踪服务器和DHT网络,以确定与所述种子文件对应的BT网络节点。以下将以其中的一种具体实现方式为例,对本发明的技术方案进行介绍。
例如,较佳的,图5为本发明实施例中的HTTP Tracker节点探测方法的流程示意图,如图5所示,在本发明的一个具体实施例中,所述查询追踪服务器可以包括如下所述的步骤:
步骤51,建立虚假节点与Tracker之间的TCP连接。
步骤52,根据info_hash构造请求包,将请求包发送给Tracker。
步骤53,当接收到Tracker的请求响应包时,分析请求响应包获得更新的节点,断开TCP连接。
步骤54,判断已获得的更新的节点的总数是否小于预设的第一阈值;如果是,则结束流程;否则,返回执行步骤51。
通过上述的步骤51~54,即可通过查询追踪服务器,得到与所述种子文件对应的BT网络节点。
再例如,较佳的,图6为本发明实施例中的DHT节点探测方法的流程示意图,如图6所示,在本发明的一个具体实施例中,所述查询DHT网络可以包括如下所述的步骤:
步骤61,从路由表中查找DHT网络中距离info_hash最近的节点。
步骤62,将查找到的节点加入查询列表。
步骤63,向查询列表中未查询过的节点发送查询消息。
步骤64,判断节点返回的响应消息类型是否为values;如果是,则执行步骤65;否则,返回执行步骤63;
步骤65,将返回响应消息的节点加入到探测节点列表中。
步骤66,判断探测节点列表中的节点数是否小于预设的第二阈值;如果是,则结束流程;否则,返回执行步骤61。
通过上述的步骤61~66,即可通过查询DHT网络,得到与所述种子文件对应的BT网络节点。
另外,通过上述的步骤101~103,即可通过对种子文件的解析以及对追踪服务器和DHT网络的探测,获得与所述种子文件对应的BT网络节点。
根据本发明提供的上述方法,本发明还提供了相应的BT网络节点信息的主动测量系统,具体请参见图2。
图7是本发明实施例中的BT网络节点信息的主动测量系统的结构示意图。如图7所示,该BT网络节点信息的主动测量系统包括:一个或多个探测机70;
所述探测机70包括:种子文件解析器71、域名解析器72和节点探测器73;
所述种子文件解析器71,用于解析需要进行探测的种子文件,获取探测所需的文件信息;将所述文件信息发送给所述域名解析器72和节点探测器73;
所述域名解析器72,用于解析追踪服务器的网址(Tracker URL),获得每个追踪服务器(Tracker)的IP地址和端口号;将各个追踪服务器的IP地址和端口号发送给所述节点探测器73;
所述节点探测器73,用于根据种子文件的文件信息和追踪服务器的IP地址和端口号,查询Tracker和分布式哈希表(Distributed Hash Table,DHT)网络,确定与所述种子文件对应的BT网络节点。
较佳的,在本发明的具体实施例中,所述节点探测器73中还可以包括:Tracker探测模块731、DHT探测模块732和连接管理模块733;
所述Tracker探测模块731,用于根据种子文件的文件信息和追踪服务器的IP地址和端口号,查询Tracker,确定与所述种子文件对应的BT网络节点;
所述DHT探测模块732,用于根据种子文件的文件信息和追踪服务器的IP地址和端口号,查询DHT网络,确定与所述种子文件对应的BT网络节点;
所述连接管理模块733,与所述Tracker探测模块731和DHT探测模块732连接,用于为所述Tracker探测模块731和DHT探测模块732提供网络功能。
较佳的,图8为本发明实施例中的调用连接管理器接口示意图,如图8所示,在本发明的一个具体实施例中,所述连接管理模块733中设置有:创建套接字接口81、发送数据接口82、接收数据接口83和关闭套接字接口84;
所述创建套接字接口81,用于创建一个套接字,并为套接字设置属性,将套接字加入到连接管理模块733的管理列表中;
所述发送数据接口82,用于发送查询消息或请求包;还用于当发送数据时发生错误时,关闭对应的套接字,并将该套接字从管理列表中删除;
所述接收数据接口83,用于接收请求响应包或响应消息;还用于当接受数据时发生错误时,关闭对应的套接字,并将该套接字从管理列表中删除;
所述关闭套接字接口84,用于关闭错误或已用完的套接字,并结束对该套接字的事件检查。
在本发明的技术方案中,可以每隔四分钟就对种子文件进行一次探测,这些种子文件都是网上最新发布的。本发明中的主动测量方法和系统可以对15个种子文件进行持续一周的探测,以确定与所述种子文件对应的BT网络节点。
在本发明的技术方案中,已经通过具体的实验来对种子文件对应的BT网络节点进行主动探测(测量)。以下将以具体实验中的实验数据来对本发明的技术方案进行进一步的介绍。
通过具体的实验,可以分析Tracker和DHT方式的实际节点获取率,如下述的表1所示:
表1各项探测参数值表
从上表中可以看出,Tracker和DHT网络中的实际节点获取率都大于理论计算值90%,从而说明本发明中的BT网络节点信息的主动测量方法和系统能够较好地探测到BT网络节点,其中,Tracker的BT网络节点的获取率甚至都大于95%。总节点获取率介于Tracker和DHT的之间。在探测时间方面,Tracker方式的每次用时大约有40s,DHT方式的每次用时大约为160s。
关于节点可用性:种子文件的可用性,与获取节点数、有效节点率、种子节点数等因素相关。获取节点数是衡量种子文件可用性的直观指标,节点数是BT(BitTorrent)网络中参与此种子文件的节点的数量,节点数越多其可用性越高,反之则越低;同时,在BT网络中,不是所有节点都是可连接的,对于那些下线节点或处在内网之中的节点,无法主动与之建立连接。因此,将可与之建立连接的节点称为有效节点。有效节点率是有效节点与获取节点的比值,该值的高低也将影响种子文件的可用性;有效节点又可分为种子节点和非种子节点两部分,种子节点拥有100%资源,可提高种子文件的可用性。
图9为本发明实施例中的Tracker和DHT种子节点与有效节点的比值的示意图。如图9所示,两种方式的比值曲线基本相同,Tracker方式的平均值为0.18352,DHT方式的为0.18357,表明两种方式种子节点与非种子节点比值一样。
图10为本发明实施例中的Tracker和DHT种子节点与获取节点的比值的示意图。如图10所示,Tracker方式的种子节点率要高于DHT方式,两种方式的平均值分别为0.05和0.039,说明通过Tracker方式获取的节点其是种子的概率要高DHT方式22%。
综上所述,从节点数量上来说,DHT方式节点可用性要高于Tracker方式的,但在有效节点率和种子节点率方面,也就是每个节点的质量上来说,Tracker方式的要比DHT方式好。
综上所述,在本发明的技术方案中,由于先解析需要进行探测的种子文件,获取探测所需的文件信息,然后解析Tracker URL,获得每个追踪服务器的IP地址和端口号,再根据种子文件的文件信息和追踪服务器的IP地址和端口号,查询Tracker和DHT网络,从而可以确定与所述种子文件对应的BT网络节点。由于本发明中的BT网络节点信息的主动测量方法和系统是采用基于种子内容的主动测量方式,通过探测Tracker服务器和DHT网络来获得种子文件的节点信息。通过在线节点集,可以知道资源在网络中传播范围。同时,通过分析在线节点信息,可以间接计算出BT网络节点的下载速度、内容重复度、节点上线速度、节点下线速度、种子文件生命周期等相关信息。因此,本发明中的方法和系统能直接获取BT网络的特征信息,而不需要将探测点布置在骨干网络的核心路由器或某个ISP网络的边缘出口,因而可以降低节点探测规模及强度,快速获取种子文件的资源在网络中传播的范围和扩散速度;同时,本发明中的方法和系统是基于内容对特定种子文件进行探测,因此可获得种子文件的资源在网络中传播的范围和扩散速度,从而可以为BT建模提供真实数据,有利于建立更加接近真实BT系统的模型,为控制资源的传播提供指导性意见。
另外,本发明中的BT网络节点信息的主动测量方法和系统,可以适用于包括企事业单位的互联网BT下载、传输管理、互联网信息监管部门的异常网络流量监控、公安/交通等行政部门的流量监控管理,也适用于其他各行业特色服务,应用前景十分广泛。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种BT网络节点信息的主动测量方法,其特征在于,该方法包括:
解析需要进行探测的种子文件,获取探测所需的文件信息;
解析追踪服务器的网址Tracker URL,获得每个追踪服务器Tracker的IP地址和端口号;
根据种子文件的文件信息和追踪服务器的IP地址和端口号,查询Tracker和分布式哈希表网络,确定与所述种子文件对应的BT网络节点。
2.根据权利要求1所述的方法,其特征在于,所述文件信息包括:
种子文件中的种子特征码info_hash、Tracker URL和分片数。
3.根据权利要求2所述的方法,其特征在于,所述解析需要进行探测的种子文件,获取探测所需的文件信息包括:
从需要进行探测的具有B编码格式的种子文件中提取Tracker服务器列表,从所述Tracker服务器列表中提取Tracker URL;
从需要进行探测的具有B编码格式的种子文件中提取信息字段,从所述信息字段中提取所需的文件信息;
根据从所述信息字段中提取的文件信息,计算种子文件中的种子特征码。
4.根据权利要求3所述的方法,其特征在于,通过如下的公式计算info_hash:
info_hash=SHA1(pieces);
其中,SHA1为安全哈希算法,pieces为分片数。
5.根据权利要求1所述的方法,其特征在于,所述追踪服务器的网址Tracker URL,获得每个追踪服务器Tracker的IP地址和端口号包括如下步骤:
B1、在Tracker URL中查找是否存在关键字“http”,以判断Tracker的类型;
B2、判断Tracker URL中是否存在“//”字符串;如果是,则通过“//”字符串获得Tracker域名的开始位置,执行步骤B3;否则,结束流程;
B3、判断Tracker URL中是否存在“:”字符串;如果是,则通过“:”字符串获得Tracker域名的结束位置,从而获得Tracker的域名,执行步骤B4;否则,执行步骤B5;
B4、将端口号设置为默认的80;
B5、判断Tracker URL中是否存在“/”字符串;如果是,则执行步骤B6;否则,执行步骤B7;
B6、通过“/”字符串获得Tracker的端口号;
B7、获得Tracker域名;
B8、根据Tracker域名,利用域名解析系统获得Tracker的IP地址。
6.根据权利要求2所述的方法,其特征在于,所述查询Tracker包括如下的步骤:
C1、建立虚假节点与Tracker之间的TCP连接;
C2、根据info_hash构造请求包,将请求包发送给Tracker;
C3、当接收到Tracker的请求响应包时,分析请求响应包获得更新的节点,断开TCP连接;
C4、判断已获得的更新的节点的总数是否小于预设的第一阈值;如果是,则结束流程;否则,返回执行步骤C1。
7.根据权利要求2所述的方法,其特征在于,所述查询分布式哈希表网络包括如下的步骤:
D1、从路由表中查找分布式哈希表网络中距离info_hash最近的节点;
D2、将查找到的节点加入查询列表;
D3、向查询列表中未查询过的节点发送查询消息;
D4、判断节点返回的响应消息类型是否为values;如果是,则执行步骤D5;否则,返回执行步骤D3;
D5、将返回响应消息的节点加入到探测节点列表中;
D6、判断探测节点列表中的节点数是否小于预设的第二阈值;如果是,则结束流程;否则,返回执行步骤D1。
8.一种BT网络节点信息的主动测量系统,其特征在于,该系统包括:一个或多个探测机;
所述探测机包括:种子文件解析器、域名解析器和节点探测器;
所述种子文件解析器,用于解析需要进行探测的种子文件,获取探测所需的文件信息;将所述文件信息发送给所述域名解析器和节点探测器;
所述域名解析器,用于解析追踪服务器的网址Tracker URL,获得每个追踪服务器Tracker的IP地址和端口号;将各个追踪服务器的IP地址和端口号发送给所述节点探测器;
所述节点探测器,用于根据种子文件的文件信息和追踪服务器的IP地址和端口号,查询Tracker和分布式哈希表DHT网络,确定与所述种子文件对应的BT网络节点。
9.根据权利要求8所述的系统,其特征在于,所述节点探测器中还包括:Tracker探测模块、DHT探测模块和连接管理模块;
所述Tracker探测模块,用于根据种子文件的文件信息和追踪服务器的IP地址和端口号,查询Tracker,确定与所述种子文件对应的BT网络节点;
所述DHT探测模块,用于根据种子文件的文件信息和追踪服务器的IP地址和端口号,查询DHT网络,确定与所述种子文件对应的BT网络节点;
所述连接管理模块,与所述Tracker探测模块和DHT探测模块连接,用于为所述Tracker探测模块和DHT探测模块提供网络功能。
10.根据权利要求9所述的系统,其特征在于,所述连接管理模块中设置有:创建套接字接口、发送数据接口、接收数据接口和关闭套接字接口;
所述创建套接字接口,用于创建一个套接字,并为套接字设置属性,将套接字加入到连接管理模块的管理列表中;
所述发送数据接口,用于发送查询消息或请求包;还用于当发送数据时发生错误时,关闭对应的套接字,并将该套接字从管理列表中删除;
所述接收数据接口,用于接收请求响应包或响应消息;还用于当接受数据时发生错误时,关闭对应的套接字,并将该套接字从管理列表中删除;
所述关闭套接字接口,用于关闭错误或已用完的套接字,并结束对该套接字的事件检查。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710408622.1A CN107147731A (zh) | 2017-06-02 | 2017-06-02 | 一种bt网络节点信息的主动测量方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710408622.1A CN107147731A (zh) | 2017-06-02 | 2017-06-02 | 一种bt网络节点信息的主动测量方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107147731A true CN107147731A (zh) | 2017-09-08 |
Family
ID=59780571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710408622.1A Pending CN107147731A (zh) | 2017-06-02 | 2017-06-02 | 一种bt网络节点信息的主动测量方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107147731A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107454196A (zh) * | 2017-09-15 | 2017-12-08 | 曙光信息产业(北京)有限公司 | 一种邻居节点的分配方法 |
US10911337B1 (en) * | 2018-10-10 | 2021-02-02 | Benjamin Thaddeus De Kosnik | Network activity monitoring service |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101046806A (zh) * | 2006-03-30 | 2007-10-03 | 腾讯科技(深圳)有限公司 | 搜索引擎系统和方法 |
CN102546728A (zh) * | 2010-12-27 | 2012-07-04 | 北大方正集团有限公司 | 一种对等网络资源下载方法 |
CN106686141A (zh) * | 2017-03-06 | 2017-05-17 | 成都谛听科技股份有限公司 | 资源下载方法及装置 |
-
2017
- 2017-06-02 CN CN201710408622.1A patent/CN107147731A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101046806A (zh) * | 2006-03-30 | 2007-10-03 | 腾讯科技(深圳)有限公司 | 搜索引擎系统和方法 |
CN102546728A (zh) * | 2010-12-27 | 2012-07-04 | 北大方正集团有限公司 | 一种对等网络资源下载方法 |
CN106686141A (zh) * | 2017-03-06 | 2017-05-17 | 成都谛听科技股份有限公司 | 资源下载方法及装置 |
Non-Patent Citations (1)
Title |
---|
谈建: "BT主动测量和分析", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107454196A (zh) * | 2017-09-15 | 2017-12-08 | 曙光信息产业(北京)有限公司 | 一种邻居节点的分配方法 |
US10911337B1 (en) * | 2018-10-10 | 2021-02-02 | Benjamin Thaddeus De Kosnik | Network activity monitoring service |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9537887B2 (en) | Method and system for network connection chain traceback using network flow data | |
Wang et al. | Reputation measurement and malicious feedback rating prevention in web service recommendation systems | |
US9451036B2 (en) | Method and apparatus for fingerprinting systems and operating systems in a network | |
US8180892B2 (en) | Apparatus and method for multi-user NAT session identification and tracking | |
Bender et al. | Fixing Ally's growing pains with velocity modeling | |
CN108429701B (zh) | 网络加速系统 | |
Vermeulen et al. | Multilevel MDA-lite Paris traceroute | |
WO2017161760A1 (zh) | 数据传输方法及装置 | |
CN104283723B (zh) | 网络访问日志处理方法及装置 | |
TW201824047A (zh) | 攻擊請求的確定方法、裝置及伺服器 | |
CN101409706A (zh) | 一种边缘网络中的数据分发方法、数据分发系统及相关设备 | |
Benson et al. | Leveraging internet background radiation for opportunistic network analysis | |
Bai et al. | Analysis and detection of bogus behavior in web crawler measurement | |
CN103546327B (zh) | 一种建立基于jxta的混合式拓扑的网络管理模型的方法 | |
CN101577644B (zh) | 一种对等网络应用流量识别方法 | |
Shah et al. | Towards characterizing international routing detours | |
CN114389792A (zh) | 一种web日志nat前后关联方法及系统 | |
CN107147731A (zh) | 一种bt网络节点信息的主动测量方法和系统 | |
Cem et al. | ProFID: Practical frequent items discovery in peer-to-peer networks | |
CN107948015B (zh) | 一种服务质量分析方法、装置及网络系统 | |
CN101854366B (zh) | 一种对等网络流量识别的方法及装置 | |
RU2008121872A (ru) | Ближайший узел для соединений распределенных служб | |
JP6393010B2 (ja) | 解析方法、解析装置および解析プログラム | |
CN114726776B (zh) | 内容分发网络cdn调度方法、装置、设备及介质 | |
CN110515975A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170908 |