串口联网服务器组网指南
成都众山科技有限公司
2007/11/13 17:27:47>> 进入商铺CNS串口联网服务器使用指南
| |||||||||||
| |||||||||||
|
一、通讯基础知识. 2
1、TCP方式. 2
2、UDP方式. 2
二、通讯拓扑结构. 2
1、两个串口设备之间通过以太网通讯. 2
2、一个(或多个)串口设备通过以太网与一台PC通讯. 2
3、多个串口设备通过以太网互相通讯. 2
4、多个串口设备通过以太网与多台PC互相通讯. 2
5、多台PC通过以太网与一台串口设备通讯. 2
三、不同模式下的参数配置方法和通讯示例. 2
1、两个串口设备之间通过以太网通讯. 2
2、一个(或多个)串口设备通过以太网与一台PC通讯. 2
3、多个串口设备通过以太网互相通讯. 2
4、多个串口设备通过以太网与多台PC互相通讯. 2
5、多台PC通过以太网与一台串口设备通讯. 2
四、跨网访问. 2
五、CNS设备的PPPoE功能. 2
六、使用动态域名(DNS)的方式. 2
七、使用DHCP的注意事项. 2
八、网络异常时CNS设备的处理. 2
为满足不同客户的各种应用,CNS设备提供多种工作模式,包括TCP Server、TCP Client、TCP Auto、Real Com、UDP Master、UDP Slave、UDP广播、UDP组播等。用户在初次使用CNS设备时,要从这么众多的模式中选择适合自己的模式,实属不易。本文档从不同应用角度出发介绍不同的组网方案和如何在不同的模式下设置CNS模块,希望能对用户使用CNS设备有所帮助。
一、通讯基础知识
TCP/IP分层模型的传输层提供了TCP和UDP两种协议,这两种协议为TCP/IP网络上的应用程序提供了传输机制。TCP提供有保证和可靠的信息传输;而UDP使用无保证和不可靠的方法来传输信息。
1、TCP方式
TCP协议是基于连接的有保证的协议,在传输数据之前必须首先建立双向的连接,数据传输完成后断开连接。在发送数据时需要收到接收主机的确认才能继续发送。如果数据出错或者没有收到确认需要一定次数的重发。这会额外增加一定的通讯量,使其不如UDP方式快速。TCP通讯包括客户端(Client)与服务器(Server),客户端主动连接服务器,服务器只能被动连接。当然连接一旦建立,客户端与服务器都能随时双向的传输数据。
CNS模块采用TCP通讯的模式有:TCP Client、TCP Server、TCP Auto、Real Com。
Ø TCP Server模式
CNS模块工作在TCP Server模式时,它不会主动连接其它设备,而是在本地端口上进行侦听,等待客户机的连接,与客户端建立连接后就可以双向通讯了。CNS模块支持同时多个客户端的连接,如果zui大连接数已满,必须等待已有的连接断开或者模块释放异常的连接后,才允许其他客户端的连接。
Ø TCP Client模式
CNS模块工作在TCP Client模式时,它将主动连接事先设定好的TCP服务器,如果连接不成功会不断尝试连接,连接成功后就可以与服务器进行双向数据通讯了。
Ø TCP Auto模式
CNS模块工作在TCP Auto模式时,它会在TCP Server和TCP Client模式之间自动切换,在没有数据发送时模块工作在TCP Server模式,等待客户机连接,当串口收到数据,并且又没有客户机连接自己,设备会自动切换到TCP Client模式,主动连接服务器。
Ø Real Com模式
CNS模块工作在Real Com模式时,服务器端需要安装虚拟串口软件,设备实际上工作在TCP Server模式,在客户端运行的一个服务程序将主动连接该模块,并且服务程序会为每一个设备虚拟一个串口,对用户来说,此串口就相当于模块的串口。这种模式可以使用户以前基于串口的服务器软件直接使用,不用重新开发服务器端软件。
2、UDP方式
UDP 协议是无连接的不可靠协议,在传输数据时不需要建立连接,传输数据时也不需要接收主机的确认信息,所以UDP不能保证发往目标主机的数据包被正确接收,在对可靠性要求较高的场合可以通过用户上层的通信协议来保证数据正确。UDP是一种较简单的通信方式,它不会增加过多的额外通信量,可以提供比TCP方式更高的通信速度,以保证数据包的实时性。UDP不存在服务器和客户端。通讯双方是对等的。
CNS模块采用UDP通讯的模式有:UDP Master、UDP Slave、UDP广播、UDP组播。
Ø UDP Master
CNS模块工作在UDP Master模式时,模块收到的串口数据都以UDP数据包发往设定好的目标主机,模块接收发往本地端口的任何UDP数据。
Ø UDP Slave
CNS模块工作在UDP Slave模式时,模块接收任何发往本地端口的数据,然后记忆zui后一次给模块发送数据的目标主机,模块的串口数据都发往zui后一次与设备通讯的主机。
Ø UDP广播
此模式用于局域网内的广播,设备收到的串口数据都以广播方式发送,在同一网络内的所有设备都能接收到广播数据,CNS设备也接收所有广播数据。如果用户的网络内有不需要与CNS模块通讯的设备,也会接收到广播数据,所以不推荐使用广播模式,可以使用后面的UDP组播模式*替代。
Ø UDP组播
此模式为广播的一种特殊情况,即分组广播。由远端IP地址参数组播ID号,组播ID为224.0.0.0以上的D类IP地址,有一些系统保留的地址不能使用。只有组播ID相同的设备才能互相广播数据,此模式可轻松实现用户的多个485设备不经任何修改直接升级为通过以太网互连。
二、通讯拓扑结构
下面介绍的几种拓扑结构基本上能够满足大部分客户的绝大部分应用,在相应的拓扑结构中,会推荐用户使用CNS模块的哪几种通讯模式,但是这并不是一成不变的,基本上所有模式都能在这些不同的拓扑结构中使用,只不过用户需要根据自己的使用条件、使用环境等因素选择一种自己的通讯模式而已。
1、两个串口设备之间通过以太网通讯
l 一个设为TCP Client,另一个设为TCP Server
l 都设为UDP Master模式
2、一个(或多个)串口设备通过以太网与一台PC通讯
l TCP Client模式
l TCP Sever模式
l Real Com模式
l UDP Master模式
3、多个串口设备通过以太网互相通讯
l UDP组播模式
4、多个串口设备通过以太网与多台PC互相通讯
l UDP组播模式
5、多台PC通过以太网与一台串口设备通讯
l TCP Server模式
l Real Com模式
l UDP Slave模式
三、不同模式下的参数配置方法和通讯示例
本节介绍CNS设备与PC之间或CNS设备之间都在同一个以太网络环境下的参数配置和通讯示例。在不同的网络内或者需要通过Internet访问,在后面的章节介绍。
在各种组网方案中,首先都需要CNS模块能够在网络内正常工作:如物理网络连接正确、MAC地址、本机IP地址、子网掩码配置正确。下面首先介绍与几种组网方式无关的和让CNS模块在网络内自身能正常工作的基本参数配置。
配置密码:通过网络配置CNS模块的操作密码,用户可以设置成自己希望的值。
设备名称和设备地址:这2个参数*不参与CNS模块的工作,用户可以把名称参数设成不同的字符来区别不同的CNS设备。
这几个参数是保证CNS模块能够在网络内正常工作的基本参数,MAC地址要保证*,即不同的CNS模块必须设置为不同的值;本机IP地址为CNS模块在以太网内的*IP地址,在同一个以太网内,所有CNS设备与所有PC的IP地址不能相同;子网掩码确定CNS模块所在的网络ID,所以在同一网络内,所有模块的网络ID必须相同,主机ID必须不同。简单的说就是子网掩码字节为255对应的IP字节在同一个网络内必须一样,子网掩码字节为0对应的IP字节在同一个网络内必须不一样。如果用户的网络内有DHCP服务器(大部分ADSL MODEM、路由器都可以设置成为允许DHCP),那么用户可以设置本机IP地址为0.0.0.0,自动获得IP地址参数设为“开”,这样CNS设备就能够自动从网络内分配到IP地址,但是DHCP分配的IP地址有可能经常改变,所以此方法只适用于CNS模块工作于TCP Client、UDP广播或组播等对方不需要知道此模块的IP地址的场合,如果模块需要被动接受对方的连接,而IP地址又经常变化,那可是一件很麻烦的事情。
上面几个参数中,I/O口参数配置根据用户需要自行设置,如果没用到CNS模块的IO口可以不予理睬此参数;维护端口号可以采用默认,也可以修改为用户自定义的端口;网关IP地址在跨网访问时才会用到;DNS服务器IP地址、自动获得DNS IP地址参数为需要访问Internet上的动态域名时才会用到;PPPoE的3个参数需要CNS模块自己拨号接入Internet时才需
要,后面的章节介绍。
上面的几个参数为串口配置参数,用户需要根据自己设备的串口配置决定。
以上参数配置好后,CNS设备就已经能够在网络内正常工作了,但是如果需要CNS设备能够与PC或者其他的CNS设备通讯传输数据,还需要配置网络模式、目标参数等,下面就介绍在不同的组网方案中如何配置和使用CNS模块。
1、两个串口设备之间通过以太网通讯
l 一个设为TCP Client,另一个设为TCP Server。
其中一方设置为TCP Client模式,另一方设置为TCP Server模式。参数配置的关键是TCP Client设备的远端IP地址和远端端口号必须与TCP Server设备的本机IP地址和本地端口号相对应。下面为参数配置示例,其中CNS00001模块工作于TCP Server模式,CNS00002模块工作于TCP Client模式。
设置CNS00001模块的IP为192.168.1.60,子网掩码为255.255.255.0,本地端口为65000。CNS00002模块的IP为192.168.1.59,子网掩码为255.255.255.0,确保两模块的IP在同一网络内。CNS00002模块要连接到CNS00001模块,必须设置CNS00002模块的远端IP为CNS00001模块的IP:192.168.1.60,远端端口为CNS00001模块的本地端口:65000。
l 都为UDP Master模式
设置的关键在于两个模块的远端IP地址和远端端口号与对方的本机IP地址和本地端口号相对应
参数设置好后,复位CNS设备,2台CNS设备即可通过UDP协议双向收发数据。本例以PC的两个串口模拟用户的串口设备进行数据收发。
2、一个(或多个)串口设备通过以太网与一台PC通讯
这种模式主要用于集中数据采集、集中监控等场合,串口设备之间并不需要交换数据,所有串口设备的数据都发送给PC,PC也可以给所有串口设备发送数据。这种模式可以设置CNS模块为TCP Client或UDP Master模式,使CNS模块主动访问PC。当然如果用户的设备是在PC的控制下才会发送数据,也可以设置为TCP Server模式或Real Com模式,让PC在需要CNS模块传输数据时主动连接CNS模块。TCP Client模式和UDP Master模式需要设置CNS模块的远端IP地址为PC机的IP地址,远端端口号为PC机相应应用程序使用的端口号即可。TCP Server模式不需要设置远端参数,由PC机主动连接CNS模块。Real Com模式对于设备端的设置与TCP Server一样,只需要在PC端用虚拟串口软件为每一个设备分别一个虚拟串口,这样用户以前基于串口的PC程序可以不经修改就能访问各个串口设备。
这种模式中,如果每个串口设备之间还需要传输数据,当然使用UDP组播就是较好的方式了,请参考后面有UDP组播模式的设置方法。
Ø TCP Client模式
Ø TCP Sever模式
侦听端口号,PC机需要连接此端口 TCP Server模式 PC机连接此IP
Ø Real Com模式
此模式的CNS设备的设置与TCP Server模式一样。实际上TCP Server模式与Real Com模式对于CNS设备来说*一样,CNS设备都是工作于TCP Server模式
虚拟串口软件会连接此IP Real Com模式 侦听端口号,虚拟串口软件会连接此端口
如果用户有多个CNS设备,可以根据上述方法,给每个CNS设备虚拟一个串口,这里以一个CNS设备为例,多个设备的操作方法*一样,需要操作不同的CNS设备时,选择不同的串口即可.所有串口添加成功后,点击确定,此时用户的系统就已经存在对应CNS设备的虚拟串口了。
这里需要说明一点的是,实际上,如果用户的系统是集中采集系统,即多台CNS设备都只与一个采集中心进行通讯,CNS设备设置为TCP Client模式,此时还是可以在中心端使用虚拟串口的模式。虚拟串口软件的“Routing mode”设置为Server模式。“Listening port”即为此虚拟串口的侦听端口号,每个虚拟串口使用不同的端口号,对应不同的CNS设备。CNS设备通过远端端口号对应相应虚拟串口的侦听端口。当然既然虚拟串口为Server模式,就不需要设置虚拟串口对应的CNS设备的IP地址和本地端口号了,CNS设备会自动连接此虚拟串口的侦听端口。
启动用户基于串口的软件,选择要操作的设备的虚拟串口号,就像用户设备直接连接PC机串口一样,可以双向与用户设备进行通讯.此例用1个配置工具打开连接CNS设备串口的PC串口,代表用户的串口设备,用另一个配置工具打开CNS设备的虚拟串口 ,代表用户的PC机基于串口的软件,进行双向通讯。
Ø UDP Master模式
UDP Master模式 PC机IP地址 PC机端口号
参数设置好后,复位CNS设备,在PC端启动SOCKET工具软件,在UDP Server或者UDP Client下创建一个SOCKET,端口号为CNS设备的远端端口号。理论上UDP没有Server和Client之分,这里的UDP Server只是用来表示此SOCKET没有目的地址,与zui近一次给此SOCKET发送数据的主机通讯。而UDP Client需要对方IP和端口,用来表示此SOCKET只给的IP和端口发送数据。这里在PC端以UDP Server为例,使用UDP Client同样可以,只不过只能与一个CNS设备通讯。
3、多个串口设备通过以太网互相通讯
Internet 以太网 用户设备 用户设备 用户设备 用户设备 用户设备 用户设备RS232
RS485
RS232
RS485
RS232
RS485
RS232
RS485
RS232
RS485
RS232
RS485
多个CNS设备都互相需要通讯,UDP组播当然是这种应用的工作模式了,例如用户的很多485设备需要通过以太网互联,这种方式可以直接取代以前的组网方案。
这种模式设置的关键在于同一组中的所有CNS设备的组播地址与本地端口号必须一致,即组播地址与本地端口号相同的CNS设备属于同一个组,他们之间任何一个设备发出的数据都会被同一组中的其他所有设备接收,并且不存在主从之分。组播方式下的CNS模块只是逻辑上的分组,而不需要物理上的分组,即同一个网络内可以有多个组,他们互不影响。
关于组播地址的设置问题,这里简单的作一介绍,用户也可以参考TCP/IP中关于组播的介绍。组播地址实际上为D类IP地址,即*个字节的高4位为1110的IP地址,所以组播地址的范围为11100000.00000000.00000000.00000000 ~ 11101111.1111 1111.11111111.11111111。即224.0.0.0 ~ 239.255.255.255。其中一些地址被系统占用,所以用户使用224.1.1.1以上的地址。CNS设备的组播地址在远端IP地址参数中设置。
参数设置好后,复位CNS设备,凡是加入224.1.1.1:65000的CNS设备都可以互相收发数据了。
4、多个串口设备通过以太网与多台PC互相通讯
这种结构与多台串口设备通讯的方式差不多,使用UDP组播模式。
Internet 以太网 用户设备RS232
RS485
由于CNS模块同一时刻只能设置一个目标地址,所以此模式下,CNS模块只能设置为被动访问模式,如TCP Server、Real COM、UDP Slave模式。
l TCP Server模式
CNS模块设置为TCP Server模式,等待PC机的连接,如果哪台PC需要访问这台串口设备,首先需要与CNS模块建立TCP连接,由于CNS模块在TCP Server模式下支持同时多个客户的连接,所以能够实现多台PC同时访问串口设备。但是有个情况需要说明的是,如果多台PC同时连接了这台CNS设备,CNS设备收到任意一台PC的数据都会发送给串口设备,CNS设备并不区分是哪台PC发送的数据,所以如果用户需要区别不同PC的数据,必须需要通过用户自己的上层协议来达到目的;同样,串口设备发送给CNS模块的数据,CNS模块也会同时发送给处于正常连接状态的多台PC,PC可以通过上层协议来区分是不是自己数据的应答数据。此模式CNS模块不需要设置目标地址。
l Real Com模式
可以在每台PC机上都把CNS设备虚拟成串口,当然每台PC上的串口号可以一样也可以不一样,没有关联.这样就相当于用户的一台串口设备通过串口同时连接了多台PC机,设置测试方法与前面介绍的Real Com模式一致。
l UDP Slave模式
CNS模块设置为UDP Slave模式,可以让多台PC分时访问。如果还从未有过PC给CNS模块发送数据时,CNS模块接收到的串口设备的数据并不知道向哪儿发送,一旦有一台PC给CNS模块发送了数据,CNS模块就会记忆该PC的地址,然后收到的所有串口设备的数据都会发送给PC,直到有下一个PC访问CNS模块,CNS模块会立即转为与下一个PC通讯。简单的说就是CNS模块只与zui近一次给自己发过数据的PC通讯。
此模式下CNS模块不需要设置目标地址。
参数设置好后,复位CNS设备,在PC端启动SOCKET工具软件,在UDP Client下创建一个SOCKET,对方IP设为CNS设备的本机IP,对方端口设为CNS设备的本地端口,SOCKET的本地端口随意
总结:多台PC都需要访问一台CNS设备的情况下,如果需要同时访问,使用TCP Server模式,但是多台主机都会都到用户串口设备响应的数据。如果需要分时访问,使用UDP Slave模式,此时的多台主机与CNS设备的通讯相互独立,不会受到其他数据的干扰。
四、跨网访问
前面介绍的各种模式都是假设所有设备(包括PC)都在一个局域网内的情况,实际上,CNS设备可以进行跨网访问,可以通过局域网内的网关访问另一局域网,或者通过网关访问Internet,甚至CNS设备可以自己进行PPPoE拨号访问Internet。本节以Internet为例,介绍CNS设备通过Internet与 PC通讯,实际上,前面介绍的各种组网方案,除了UDP广播和UDP组播不能用于Internet,其他组网方案都可以应用于跨Internet访问。
用户设备 路由器 LAN LAN LAN LAN WAN 路由器 LAN LAN LAN LAN WAN WAN/InternetRS232
RS485
当CNS设备跨网访问时,设置的关键除了前面介绍的局域网内各模式的设置方法外,还需要设置网关参数,因为此时所有CNS设备发往网外的IP包都必须经过网关转发。“网关IP地址”参数必须设为本网络内的网关(路由器)IP地址。
另外需要注意的是,如果局域网内的CNS设备(或PC)需要接收外网IP的主动访问,必须在网关上为此CNS设备(或PC)设置端口映射,有的路由器叫做虚拟服务器或者NAT等。因为对于这种以太网来说,网内的设备都是局域网IP地址,来自外网的访问只能发到网关,此时就需要为网内的每台设备分配不同的端口,发往此端口的数据包路由器都会根据用户设置的NAT功能转发至对应此端口的内网IP。
为了后面的实验,这里先在路由器上为IP地址为192.168.1.60的CNS设备映射一个端口50000,为IP地址为192.168.1.7的PC映射一个端口51000。
在IE浏览器输入路由器的IP地址,进入虚拟服务器界面,不同公司不同型号的路由器的配置界面和虚拟服务器名称可能不一样,这里以本公司使用的路由器为例,在NAT界面中添加2个内网IP的TCP和UDP映射
虚拟服务器名称:随意
内网主机IP地址:需要映射设备的内网IP地址
协议:根据用户使用的网络协议而定,TCP或UDP
外部端口:为内网设备映射的外部端口号,不同的设备必须不同
内部端口:发往外部端口的数据包转发至内网设备的哪个端口号
下面以2种模式说明跨网访问的情况,其他模式类似。
1、 PC为TCP Server,CNS设备为TCP Client
路由器IP地址 TCP Client模式 PC所在公网IP 为PC映射的端口
参数设置好后,复位CNS设备,在PC端启动SOCKET工具软件,在TCP Server下创建一个侦听65000的TCP Server端口,CNS设备会主动与这个端口建立TCP连接。为什么侦听65000而不是51000呢?因为路由器已经把51000端口上的数据包转发给了相应IP的65000端口。
2. PC为TCP Client, CNS设备为TCP Server
本地端口号为什么为65000而不是50000呢?因为路由器已经把50000端口上的数据包转发给了相应IP的65000端口。
参数设置好后,复位CNS设备,在PC端启动SOCKET工具软件,在TCP Client下创建一个SOCKET,对方IP为CNS设备所在网络的公网IP,对方端口为路由器给CNS设备映射的端口号50000。远端IP地址都为公网IP,与本机IP不在同一网络,可以判断是跨网关访问,2个实例中的公网IP一样,因为测试环境中PC机与CNS设备在同一个局域网内,但是实际上是通过公网通讯的,实际使用中,PC与CNS设备可以*在2个不同的网络。
跨网访问设置的关键在于必须设置正确的网关IP地址,Client模式的主机设置Server模式主机的公网IP地址,端口号设置为Server模式主机所在网络的路由器为该主机映射的外部端口。Server模式主机的本地端口号设为该主机所在网络的路由器为该主机映射的内部端口。
上面虽然分别为PC和CNS设备映射了端口,实际在使用中,只需要为Server模式的主机映射即可。
五、CNS设备的PPPoE功能
如果CNS设备所在的网络内没有能够接入Internet的网关,CNS设备可以*扮演这个角色,通过PPPoE拨入Internet。此时CNS设备同时具有内网IP和公网IP,可以同时扮演LAN和WAN的角色。当与CNS设备进行通讯的主机为同一本地网络的主机时,CNS设备使用LAN参数,当与CNS设备进行通讯的主机为Internet上的公网IP时,CNS设备使用WAN参数,甚至在TCP Server模式,CNS设备可以同时与网内主机和网外主机进行通讯。
CNS设备的PPPoE参数有3个
PPPoE模式:可以设置为“从不”、“总是”、“动态”3个值。“总是”和“动态”两个值可以让CNS设备允许PPPoE功能,“总是”表示让CNS设备随时都保持PPPoE为连接状态,出现任何故障CNS设备都会不断进行PPPoE,直到成功。“动态”表示让CNS设备有数据发送时并且对方IP为公网IP时才进行PPPoE连接,数据发送完成在一定时间内没有数据时断开PPPoE连接。
PPPoE用户名、PPPoE密码:PPPoE需要进行用户认证,请咨询当地的网络运营商。
当CNS设备使用PPPoE接入公网时,在网络内不再需要网关,CNS设备自己获得公网IP,此时如果外网访问此CNS设备,只需要设置CNS设备的公网IP即可。可是,如果CNS设备是通过普通ADSL上网,没有固定IP地址,CNS设备每进行一次PPPoE拨号都可能导致IP地址的变化,所以此时的CNS设备使用Client模式,主动访问对方,不要使用Server模式。虽然DNS可以解决动态IP的问题,但是当CNS设备进行PPPoE接入时,而CNS设备本身又不能运行域名解析软件,所以这种模式不能使用DNS解决问题。如果CNS设备是通过网关访问公网,在CNS设备的本地网络任一台PC上运行域名解析软件,即可解决本网络内任一台主机的动态IP问题。使用DNS的情况将在随后介绍
六、使用动态域名(DNS)的方式
在跨网访问中,如果Server模式的主机所在网络的公网IP是动态的,可以采用动态域名解析的方式。目前有很多动态域名服务商,可以向他们咨询动态域名的服务及资费问题。首先需要向DNS服务商申请一个动态域名,下载动态域名客户端,在Server模式主机的网络内的1台PC上运行动态域名客户端,客户端成功启动后,Server端即解决了动态IP的问题,在Client端的CNS设备上,远端IP地址必须清0,即设为“0.0.0.0”, 远端域名参数设为用户向DNS服务商申请的域名,DNS服务器IP地址参数设置为当地的DNS服务器,请向当地网络营运商咨询,或者把自动获得DNS IP地址参数设置为开,就可以不设置DNS服务器IP地址。下面举例说明CNS设备为TCP Client模式,PC(或另一台CNS设备)为TCP Server模式,通过域名方式访问的情况。
例子中,域名使用我公司申请的花生壳动态域名:,Server端使用PC机,花生壳客户端运行在Server主机上,实际使用中,只要在Server端所在局域网内任意一台PC上运行动态域名客户端都可,如果Server端也是使用CNS设备,当然根本不能在CNS设备上运行动态域名客户端了,只能在CNS设备所在网络内的PC上运行客户端,效果*一样。当然和上面一样,Server模式的主机需要在路由器上做端口映射*了。本例中,使用上面名称为pctcp的映射,与IP为192.168.1.7的PC进行通讯。
参数设置好后,复位CNS设备,在PC端启动SOCKET工具软件,在TCP Server下创建一个侦听65000的TCP Server端口,CNS设备会主动与这个端口建立TCP连接。为什么侦听65000而不是51000呢?因为路由器已经把51000端口上的数据包转发给了相应IP的65000端口。
七、使用DHCP的注意事项
如果用户的一个网络内需要使用多台CNS设备,必须为每个CNS设备分配不同的IP地址,要保证每个设备的IP地址在本网络内*,设备越多,工作量越大。CNS设备支持DHCP自动分配IP地址,使得用户不用为分配这么多IP地址烦恼。使用DHCP功能,只需要把本机IP地址参数清0,即设为“0.0.0.0”,把自动获得IP地址参数设为“开”即可,当然用户的网络内要必须具备DHCP服务器,大部分路由器都可以设置成为充当DHCP服务器的角色。CNS上电后,会自动从DHCP服务器分配到IP地址,并且这种方法DHCP服务器会自动保证所分配的IP地址的*性。但是使用DHCP分配IP地址也有弊端,DHCP分配的到的IP地址是动态的,有可能发生变化,所以CNS设备使用DHCP分配IP地址时,不能使用Server模式,使用Client模式。因为使用Server模式而IP又经常变化,Client无法找到你。
八、网络异常时CNS设备的处理
在实际使用中,出现网络异常比如突然拔掉网线、一方突然断电等时有发生。CNS设备是如何处理这些故障的呢?
在使用UDP协议的几种模式中,CNS设备不能探测到网络故障,因为UDP协议是无连接的简单协议,发送数据包时没有应答,无法达到探测网络故障的目的。比如当其中一方突然断电,另一方是无法知道的,当重新恢复后,由于UDP通讯不需要建立连接,以后的数据通讯是可以自动恢复的。
在使用TCP协议时,如果CNS设备工作于Client模式,对方Server出现异常比如突然断电或者网络硬件故障,此时Client模式的CNS设备不会有TCP正常断开的动作,所以CNS设备不能立即知道对方出现故障了,即使对方重新上电恢复正常后,由于TCP协议需要建立连接才能通讯,而此时的CNS设备又还没有探测出故障,不必担心,CNS设备在2种条件下会探测出故障,一是如果此时用户给CNS设备发送了数据,而CNS设备通过TCP发送数据时对方必定是无应答,此时CNS设备会自动重新与对方建立TCP连接,然后发送数据。另一种情况是,CNS设备支持的保活计时器(Keepalive)功能可以的解决此问题,CNS设备会在1分钟左右(此参数可以通过用户权限修改)为每个TCP连接进行保活探测,所以即使对方出现任何故障,CNS设备都会在一个保活周期内探测出异常,然后重新与对方建立连接。再看看CNS设备在Server模式的情况,由于CNS设备在Server模式是支持多连接的,但是同时连接的TCP数有一定限制,连接数满后,Client就不能与CNS设备建立连接了。所以此时的Keepalive功能就显得尤其重要了,当Client端出现异常时比如突然断电,Server模式下的CNS设备也不会收到TCP正常断开的动作,这样会导致Server端有很多无效的连接,当连接数满后,以后的Client就再也不能与他建立连接了,不必担心,CNS设备会在1个保活周期内为每个TCP进行保活探测,探测到无效的连接,CNS设备会释放资源,不会出现Client端连接不上的情况,除非有效的TCP连接达到了CNS设备支持的zui大连接。
版权与免责声明:凡本网注明“来源:智能制造网”的所有作品,均为浙江兴旺宝明通网络有限公司-智能制造网合法拥有版
展开全部