Server2003系统上的内置服务器设置某类IP无法访问问题
最近测试过程中遇到了一个很奇怪的现象,把服务器(测试产品)部署在Server2003系统的外网A上,把客户端(测试产品)部署在内网B,网络A,B用路由器相连,设置网络A为200.1.1.255,发现客户端连不上服务器,把服务器部署在Server2008,设置同一个IP,又能正常连接。或者在2003上设置IP为:200.1.1.254.也能正常连接。部署大致如下图所示:
wan口端的子网掩码是22位,则网络位占22位,主机位占10位。IP与子网掩码进行and与计算后,得到的是网络号:200.1.0.0。主机号全为1(3.255)加上网络号就是广播地址200.1.3.255.即使服务器设置IP是255,且是合法的IP地址,在Server2003还是不能用的。查阅官方文档:https://support.microsoft.com/en-us/kb/281579。
Windows Server 2003和Windows XP,因为微软的停止更新,已经正式退役了,导致产生一个后果当客户端发出一个x.x.x.255地址,从DHCP服务器或静态配置,客户端可能无法利用TCP/IP协议进行通讯。因为该地址被看作是“广播地址”,而不是在网络上的主机地址,即使它可能是一个有效的主机地址。这类现象还会发生在:
C类地址x.x.x.255基础
B类地址x.x.255.255和基础
A类基地址x.255.255.255可能是有效的,这些都是不允许的。
例如,假设网络地址与子网掩码分别为:200.57.8.0, 255.255.252.0,这两个地址,第一个字节必须完全匹配,这第三个字节的前六位必须匹配(252 = 111111 00)和最后一个字节不要紧。这个范围,200.57.8.0是网络地址和200.57.11.255是子网广播地址。这两者之间的每一个地址都是有效的。但是,下面的地址是不允许的因为他们是子网广播地址(基于标准的C类子网掩码255.255.255.0):
200.57.8.255
200.57.9.255
200.57.10.255
如果服务器设置成以上这样,都是会出现这类问题的。解决方法有很多种,避免使用该版本服务,设置iP的时候稍微注意下,避免设置位数255即可。
现象分析:服务器设置成200.1.1.0/22 这类是超网,是你说的聚合形,合理的IP范围是200.1.0.0(网络号)-200.1.3.255(广播地址) ,在2003上设置wan口IP为200.1.1.255不行,是因为基于标准的C类子网掩码255.255.255.0,对应的广播地址为200.1.1.255.而 Windows Server 2003和Windows XP已经把这类地址看成了“广播地址”,而不是在网络上的主机地址,即使它可能是一个有效的主机地址。
最新文章
- Windows 7您的凭据不工作
- Python Q&;A
- objc/runtime
- Oracle时间戳 与时间之间的相互转换
- hive中同列多行数据组合的方法以及array to string要点(行转列)
- 神奇的 echo 命令
- SharePoint表单和工作流 - Nintex篇(六)
- C/C++学习之路
- ResourceManager高可用配置
- 二分图的最大匹配-hdu-3729-I'm Telling the Truth
- Android利用文本分割拼接开发一个花藤文字生成
- ZOJ 2042 Divisibility (DP)
- CLR类型设计之属性
- Python学习笔记(1)-列表
- Flash10下复制到剪切板的一种新方法
- Hibrenate关系映射(一对一外键关联)
- 前端js实现 blob转base64位 和 base64位转blob
- 17 多校1 Add More Zero 水题
- MySQL全文本搜索
- System.Data.SQLite安装的相关问题