跨子网的WinCC客户机/服务器如何实现通讯?

n

为了更有效地利用有限的IP地址,为了减少广播对网络带宽的占用从而提高带宽,为了实现在不同子网中应用不同的安全策略从而提高网络安全性,现场通常要求划分子网,将安全等级要求不同的计算机安置在不同的子网中,分开管理提高安全性。图1表示了这样的一种应用,在这种环境下,如何设置通讯连接参数以确保WinCC的客户机和服务器能够正常通讯?n

跨子网的WinCC客户机/服务器如何实现通讯?
图1n

在WinCC的帮助文档中提到,跨子网的WinCC服务器和客户机连接的条件是:①、WinCC站必须使用正确的静态IP地址;②、WinCC站必须具有解析项目中其它计算机的物理计算机名称(NetBIOS名称)的能力;③、WinCC站必须具有通过TCP/IP和ICMP相互连接又不出现任何问题的能力。
总之,当使用PING命令测试时,WinCC的客户机和服务器必须能够立即访问到对方,并且能够解析对方的NetBIOS名称。n

1 跨子网通讯需要的设备
在OSI七层模型中,用于网络层的扩展设备是路由器,其功能是使用常见的网络层协议连接多个逻辑上分开的网络。路由器分为软路由器和硬路由器。所谓软路由器是指并非专用于执行路由功能的设备,如Windows Server系统提供的路由管理服务;硬路由器是指专用的硬件路由设备,如思科的路由器。n

1.1 软路由器的设置n

1.1.1 安装路由服务
在一台装有Windows Server系统的计算机上安装两块网卡,分别分配静态的IP地址,安装路由管理服务,如图2所示。n

跨子网的WinCC客户机/服务器如何实现通讯?
图2n

1.1.2 组态路由功能n

添加路由接口,生成路由表,如图3所示。n

跨子网的WinCC客户机/服务器如何实现通讯?
图3n

生成的路由表中包括指向固定IP地址的主机路由、指向某个网段的网络路由、指向整个网络的默认路由。连接到此路由器上的计算机会在路由表中查找需要的路由信息,找到之后连接到目标计算机。n

1.2 硬路由器的设置
不同厂家的路由器在设置方法上有所不同,但原理基本相同,请参考您所用路由器的使用说明,配置好路由表。本文不做过多说明。
在配置好路由器之后,为网络中的每台计算机的本地连接设置TCP/IP属性,分配固定的IP地址,并设置默认网关为路由器的IP地址,之后计算机之间能够用“PING IP地址”通过,说明IP地址已设好,路由器也已发挥作用。n

2 NetBIOS名称解析
NetBIOS名称是用于标识计算机上NetBIOS服务的标识符,它由一个15个字符的名称加上一个用于标识服务的第16个字符(字节)组成。NetBIOS协议主要用于局域网内,占用系统资源少、传输效率高,尤为适于由 20 到 200 台计算机组成的小型局域网。客户机/服务器网络中的计算机需要彼此能够识别对方的NetBIOS名称,将名称和IP地址对应起来。名称解析有三种方式,分别是广播、WINS服务器、lmhosts文件。n

2.1 广播
同一局域网内的计算机之间通过广播方式向外发出名称解析的请求,如能接收到响应,那么请求者和响应者之间即实现了名称解析。n

2.2 WINS服务器
WINS是Windows Internet命名服务,它提供一个分布式数据库,能在路由网络的环境中动态地对IP地址和NetBIOS名称的映射进行注册与查询。WINS用来登记NetBIOS计算机名,并在需要时将它解析成IP地址。使用WINS可降低广播网络数据流,使客户机能跨网段解析NetBIOS名称,WINS数据库是动态更新的。
WINS服务器必须是一台装有Windows Server系统的计算机,拥有固定的IP地址,需要安装WINS服务。客户机需要添加WINS服务器的IP地址,如图4所示。n

跨子网的WinCC客户机/服务器如何实现通讯?
图4n

那么,当客户机开机时,它会将自己的NetBIOS名称和IP地址的对应关系注册到WINS服务器的数据库中;当一个WINS客户机想和另外一台主机通讯时,它会直接和WINS 服务器联系,查询NetBIOS名称和IP地址的关系;如果WINS服务器在自己的数据库中查到了被查计算机名和IP地址的映射关系,它就将目的计算机的IP 地址返回要求查询的WINS客户机。如此,实现了名称解析的过程。图5表示WINS服务器的数据库中的映射信息,这个数据库的信息是动态更新的。n

跨子网的WinCC客户机/服务器如何实现通讯?
图5n

2.3 lmhosts文件
lmhosts是用来进行NetBIOS名称静态解析的。将NetBIOS名称和IP地址对应起来,lmhosts文件是个纯文本文件,微软提供了一个示例程序lmhosts.sam,位于 C:WinNTSystem32DriversEtc 目录下。图6是该文件的部分内容。n

跨子网的WinCC客户机/服务器如何实现通讯?
图6n

可以在该文件中添加记录,每条记录包括IP地址和NetBIOS名称的映射关系,IP 地址必须放在一行的第一栏,地址和主机名之间必须有空格,#字符是用于注释的。在计算机的本地连接属性中,使能“TCP/IP的属性—高级—WINS—Enable lmhohsts lookup”,即启用了lmhosts查询,如图7所示,如此就可以通过查询lmhohsts实现名称解析。n

跨子网的WinCC客户机/服务器如何实现通讯?
图7n

以上三种方式都可以实现NetBIOS名称的解析,在实现解析之后,计算机之间能够用“PING 计算机名”测试通过。n

3 WinCC客户机/服务器的设置
通过前两步的设置,跨子网的WinCC客户机和服务器通讯的前提条件已经建立。
在客户机/服务器系统中,客户机需要在网络中找到服务器计算机,并能够浏览文件。在微软网络中,用户可以在浏览列表里看到整个子网上所有的计算机。浏览列表是通过广播查询浏览主控服务器,由浏览主控服务器提供的。如果在同一子网内,计算机通过广播浏览主控服务器,在浏览列表里面看到整个子网,就能看到同一工作组里的所有计算机;但不同子网的计算机之间无法广播,因此无法在网上邻居的工作组里看到其他计算机。针对此问题有两种解决办法。
3.1 网上邻居添加服务器文件夹
在客户机的网上邻居添加一个新的网络路径,直接通过WINS服务器找到对应NetBIOS名称的IP地址,从而找到另一子网的计算机,映射到对方的共享文件夹。如图8、图9所示。

跨子网的WinCC客户机/服务器如何实现通讯?
图8

跨子网的WinCC客户机/服务器如何实现通讯?
图9

添加好文件夹映射后,在“网上邻居”能够看到对应的文件夹,如图10。

跨子网的WinCC客户机/服务器如何实现通讯?图10

这样就添加好了服务器项目的文件夹映射,在多用户系统中,客户机可直接打开网上邻居中的这个文件夹映射,并打开服务器项目;在分布式系统中,客户机有自己的项目,在添加服务器数据包时,同样需要找到该文件夹映射,打开并找到里面的服务器数据包,如图11、图12。

跨子网的WinCC客户机/服务器如何实现通讯?
图11

跨子网的WinCC客户机/服务器如何实现通讯?

图12

这样客户机项目就能使用服务器项目中的数据了。

3.2 Simatic Shell中的特殊设置
在客户机打开SIMATIC Shell,在”Multicast proxy”中添加要连接的服务器的IP地址,可以直接在列表中列出服务器计算机,并列出服务器中共享的WinCC项目,如图13。

跨子网的WinCC客户机/服务器如何实现通讯?
图13

那么,和同一子网的情形相同,客户机上可以直接打开服务器中的WinCC项目。
按照本文前面所讲设置好路由器和NetBIOS名称解析之后,客户机通过任一种方式找到服务器的项目,接下来客户机和服务器的通讯就和同一子网的情形一样,具体配置方法可以参考下载中心的文档,编号A0457。

关键词
客户机、服务器、子网、通讯

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc328980.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论