本发明专利技术涉及一种局域网通信检测方法,该方法是直接在传输层进行判断,可以检测出网络设备之间能否进行局域网通信,并且可以直接确定通信端口与socket类型,让不同网络设备之间可以立即进行数据传输,主要通过三个阶段实现:(1)网络设备信息搜集阶段:该阶段对网络设备之间能否进行局域网通信进行初步判断;(2)Socket创建阶段:该阶段用于判断网络设备之间是否具有数据传输能力;(3)字符串挑战阶段:该阶段用于判断网络设备之间是否可以完成特定字符串传输。本发明专利技术通过上述三个阶段可以高效、可靠、准确的完成局域网通信能力测试,有效弥补了现有检测方法各自存在的不足。弥补了现有检测方法各自存在的不足。弥补了现有检测方法各自存在的不足。
【技术实现步骤摘要】
一种局域网通信检测方法
:
[0001]本专利技术涉及通信领域,具体涉及一种局域网通信检测方法。
技术介绍
:
[0002]在现代社会,即时通讯软件已经成为人们社会生活和日常工作中的必备工具。一般来说,即时通讯软件都具有传送文字、图片、音频、视频和文件的功能,比如我们常用的钉钉、QQ和微信等都具有这些功能。
[0003]对于文字和图片,由于其大小有限,在传送过程中对网络带宽要求并不高,即使两个聊天的用户之间的网络带宽很低,文字和图片的传播时延也是可以接受的。比如两个聊天用户的因特网(Internet)接入速度都是1mbit/s,10000个汉字采用utf
‑
8编码后的字节数是30000,在1mbit/s的接入速度下,把这些汉字发送给对方需要的时间大约是0.24秒。如果发送一个大小为200k字节图片,那需要的时间是1.6秒左右,所以无论是发送文字还是图片,通信所需要的时间都在可接受的范围内。我们现在一般用户接入因特网的速度都在30mbit/s以上,所以发送文字或图片所需要的时间都比上面所展示的要低得多。
[0004]但如果发送大型文件,比如1GB或者更大的文件,那在1mbit/s接入带宽下,至少需要133分钟,而现在很多文件的大小都在1GB以上,甚至10GB或者更大,那借助于Internet进行传输需要的时间就变得非常长,因为两个主机在Internet上传输数据的时候,影响传输速度的因素是非常多的,比如两台主机的距离,中间设备的多少以及这些设备的运行状况,而且每台主机同时还要运行其他程序,这些程序本身也要占用一定的网络带宽,真正能用于传输的带宽是很低的,这些都导致文件越大传送的时间就越长,传输过程发生异常(异常往往会导致传输终止)的几率就越大。
[0005]由于IPv4地址长度是32位,因此所有的IPv4地址只有2
32
个,去掉一些特殊地址和保留地址,真正能分派的地址要远小于2
32
,早就已经无法满足广大用户连接因特网的需求。所以RFC1918规定,把下列三组地址作为专用地址(private address,也称之为私网地址):
[0006](1)10.0.0.0到10.255.255.255
[0007](2)172.16.0.0到172.32.255.255
[0008](3)192.168.0.0到192.168.255.255
[0009]这些地址仅用于局域网通信,每个局域网中的主机都可以使用这些地址,而且因特网中的路由器对目的地址是专用地址的数据包一律不进行转发,所以主机在使用专用地址的时候不用担心与其他局域网主机发生地址冲突。
[0010]我们知道,局域网(Local Area Network,LAN)的特点是可靠性高,传输速度快。局域网的通信带宽一般都在1Gbit/s或者10Gbit/s,所以在局域网中传输大文件速度是非常快的。比如传输一个1GB大小的文件,如果局域网带宽是1Gbit/s,传输的所需的理论时间是8秒。现代局域网覆盖的范围往往很大,节点数也很多,而且很多人的沟通对象其实就是单位内部的员工,也就是说发文件和收文件的人常常是在一个局域网内。这种情况下如果通过因特网来传送文件,那需要的传输时间是非常长的,而如果能利用局域网来传输数据,则
可以大大降低传输时间。
[0011]在实现网络中不同网络设备之间的数据通信之前,需要先检测网络是否可达,只有在保证网络可达的情况下,才能进行网络中不同网络设备之间的数据通信,因此就需要一种通信检测方法来验证是否可以通信。一般来说,先要对两个需要通信的网络设备的IP地址进行判断,判断两者的IP地址是否属于同一个网段,对于处于同一网段中的网络设备A和网络设备B之间的通信检测方式目前主要分为以下三种:
[0012]第一种是通过“ping”命令方式来检测:即:网络设备A去ping网络设备B的IP地址,或者网络设备B去ping网络设备A的IP地址;根据ping的结果判定A和B是否在同一个局域网中。“ping”是一种因特网包探索器,用于测试网络连接量的程序,ping是工作在TCP/IP网络体系结构中应用层的一个服务命令,主要是向特定的目的主机发送ICMP echo请求报文,测试目的站是否可达及了解其有关状态。这种检测方式并不是非常可靠,因为即使互相之间能ping通,A和B也未必就在一个局域网中。以A网络设备ping网络设备B的IP地址为例,一种特殊情况就是网络设备A和网络设备B并不在同一个局域网中,并且网络设备A所处的局域网中恰好有一个网络设备C,而网络设备C的IP地址和B是相同的,网络设备C对ping进行了应答。而如果A去ping网络设备B的地址没有得到响应,也不能判断A和B就不在同一个局域网中,或者不能推测A和B不能进行通信,因为网络设备B可能被设置成了不对ping进行响应。
[0013]第二种检测方式是网络设备A通过ARP或者NDP协议解析到了网络设备B的地址所对应的MAC地址,也会出现检测结果不可靠的问题,如:网络设备A和网络设备B并不在同一个局域网中,并且网络设备A所处的局域网中有一个网络设备C,而网络设备C的IP地址和B是相同的,网络设备C对ARP或NDP协议报文进行了应答,此时也不能推测出A和B在同一个局域网内,或者A和B可以通信的结论。
[0014]第三种检测方式:网络设备A可以ping通网络设备B,或者网络设备A通过ARP或者NDP解析到了B的MAC地址,并且第三方确认了A解析到的MAC地址就是B的MAC地址;或者网络设备A能够ping通网络设备B,并通过第三方确认了是网络设备B进行的应答;上述这两种情况是可以判定A和B是在同一个局域网中,但是A和B能否进行后续通信却不能确定。因为A和B都可能只用某些特定端口在进行通信而关闭了其他端口,A如果想和B直接进行通信,就必须要知道用哪个端口进行通信,包括自己的和对方的,而这种方法是不能提供这方面保障的。
[0015]鉴于上述现有检测方法各自存在着一定的不足,专利技术人提出一种新的局域网通信检测方法,本案由此而生。
技术实现思路
:
[0016]本专利技术公开一种局域网通信检测方法,直接在传输层进行判断,可以检测出网络设备之间能否进行局域网通信,并且可以直接确定通信端口与socket类型,让不同网络设备之间可以立即进行数据传输。
[0017]为了实现上述目的,本专利技术所采用的技术方案为:
[0018]一种局域网通信检测方法,内容包括:
[0019](1)服务器向互相通信的网络设备发送基本信息请求报文,网络设备按要求将各
自基本信息写入基本信息应答报文回复服务器,服务器通过判断IP地址来确定网络设备之间是否具备局域网通信条件;
[0020](2)Socket创建:服务器向需要相互通信的网络设备发送Socket创建请求报文,网络设备按要求创建Socket成功后向服务器回复Socket创建应答报文;
[0021](3)字符串挑战验证:服务器收到So本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种局域网通信检测方法,其特征在于:内容包括:(1)服务器向互相通信的网络设备发送基本信息请求报文,网络设备按要求将各自基本信息写入基本信息应答报文回复服务器,服务器通过判断IP地址来确定网络设备之间是否具备局域网通信条件;(2)Socket创建:服务器向需要相互通信的网络设备发送Socket创建请求报文,网络设备按要求创建Socket成功后向服务器回复Socket创建应答报文;(3)字符串挑战验证:服务器收到Socket创建应答报文后生成挑战字符串,并将携带有挑战字符串的挑战报文发送给相互通信的网络设备,该挑战报文分为主动挑战报文和被动挑战报文,主动挑战报文发送给信息发送方网络设备,被动挑战报文发送给信息接收方网络设备;信息发送方网络设备连接主动挑战报文中指定的Socket,连接成功后通过步骤(2)创建的Socket向信息接收方网络设备发送主动挑战报文中携带的挑战字符串,信息接收方网络设备在步骤(2)创建的Socket上接收该挑战字符串后向服务器发送挑战应答报文;服务器收到回复的挑战应答报文后,对收到的挑战应答报文中的挑战字符串与生成的挑战字符串进行比较验证;(4)挑战字符串验证成功后,服务器向相互通信的网络设备发送局域网确认报文,网络设备接收到该局域网确认报文后即可进行局域网通信,检测过程结束;整个检测过程中,出现检测异常时发送错误报文进行报错。2.根据权利要求1所述的一种局域网通信检测方法,其特征在于:所述基本信息应答报文包括网络设备的IP地址、子网掩码和MAC地址。3.根据权利要求1所述的一种局域网通信检测方法,其特征在于:所述Socker创建请求报文内容包括:创建Socket使用的IP地址、创建Socket时使用的端口号以及创建Socket的类型;Socket建应答报文内容包括:新创建的Socket的 IP地址、新创建Socket的端口号以及新创建Socket的类型。4.根据权利要求3所述的一种局域网通信检测方法,其特征在于:所述主动挑战报文包括:生成的挑战字符串、目标Socket的IP地址、目标Socket的端口号以及目标Socket的类型。5.根据权利要求1所述的一种局域网通信检测方法,其特征在于:所述服务器接收网络设备发送的基本信息应答报文时,以及服务器接收Socket创建应答报文时,若出现以下情况之一或以下几种情况的,表示检测过程发生异常,按如下方式处理并结束检测程序:情况1):信息发送方网络设备和信息接收方网络设备的应答报文都没有收到;情况2):信息发送方网络设备和信息接收方网络设备的应答报文只收到其中一个;情况3):收到错误报文;出现上述情...
【专利技术属性】
技术研发人员:宋广佳,陈滨,宋广谦,安仲立,
申请(专利权)人:浙江农林大学暨阳学院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。