我定期在networking上遇到客户端 – 服务器通信问题,客户端看不到服务器,而其他服务没有问题。 很多时候,如果我必须打电话给支持人员,或者查找产品的知识库文章来解决通信问题,他们会告诉我要确保客户端和服务器在同一个子网上,即使服务器和客户端都是在networking上彼此可见。
为什么这是一些软件,而不是其他人? 这是否是特定的内置于具有networkingfunction的软件中的限制? 只要从客户端工作站可以看到目标系统,尽pipe我在networking协议方面的经验有限,但在编写支持networking的软件时,我个人并没有任何问题。
编辑这里是我今天刚刚遇到的一个具体的例子。 运行Kaspersky Security for Virtualization的虚拟机无法看到保护服务器,该服务器位于不同的子网上,但位于同一物理networking上。 他们的支持告诉我,在不同于保护服务器的子网上运行客户端是不受支持的,如果不把虚拟机放在与保护服务器相同的子网上,我将不会得到更多的帮助。
我不是问为什么这对卡巴斯基不起作用,但是一般来说,对于那些确实带有这些networking限制的不同软件。 我很想知道子网限制是否是一个实现决定(无论是通过默默无闻的安全还是其他方式),还是有一些跨子网stream量不能正常工作的情况。
这听起来像你在问为什么发现跨子网失败?
“发现”可以通过不同的方式完成,所以这是一个泛化:设想一个客户端应用程序,通过尝试在子网中的每个IP上打开端口12345来查找运行特定服务的所有服务器。 一个单一的homed服务器知道它自己的子网,所以如果在本地子网上找不到服务,它不知道下一个要search的子网,所以希望它停下来。
发现也可以通过广播而不是扫描来完成。 一种types,Netbios发现,广播devise局限于本地子网,以减less对networking的影响,防止广播风暴最终可能使networking中断。
发现1个“服务器”并不意味着没有第二个或第三个实例在相同或不同的子网上运行,所以扫描和广播发现方法都有一些内置的限制。
在这种情况下,似乎卡巴斯基决定不实施更强大的发现方法,或提供备用方法来设置服务器IP。 这是devise决定,而不是TCP / IP“子网限制”。
心连心