使不同子网互相通讯的方法

上一篇博文贴出了怂QQ的文章<<IP地址,子网掩码、默认网关,DNS服务器是什么意思?>>. 在这里, 我举个小例子, 并贴出一个利用Windows的Routing and Remote Access Role来完成IP route.

比如说, 我们有两个子网:

  • 10.4.1.0/24
  • 10.4.2.0/24

第一个子网的IP用二进制的方式写出来应该是0000 1010, 0000 0010, 0000 0001, 0000 0000. 斜杠后面的24是掩码长度. 即, 第一个子网的掩码是24个1, 跟着8个0, 1111 1111, 1111 1111, 1111 1111, 0000 0000. 即这个子网内可以有2^8=256台主机. 用怂QQ文章中举的例子来讲, 就是说这个子网的"街道号"是10.4.1.0; 这个街道可以有256户人家; 每家的门牌号为从0000 0000到1111 1111的数字. 该子网只能有254台主机, 因为要从256个数字中去掉两个, 10.4.1.0是网段地址, 10.4.1.255是广播地址.

第二个子网的"街道号"为10.4.2.0, 即跟第一个子网不属于一个街道, 在第一个子网内喊话(广播), 第二个子网无法听不到. 于是就需要有个网段间被广播的消息转发的角色, 这个角色就是网关(gateway).

网关(Gateway)就是一个网络连接到另一个网络的“关口”。网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。网络B向网络A转发数据包的过程也是如此。

当一个局域网中必须存在两个以上网段时,分属于不同网段内的主机彼此互不可见。为了解决这个问题,就必须在不同的网段之间设置路由器。如果花费上万元资金购买一台路由器,仅仅用于连接局域网中的两个网段,实在不值得。有什么好的解决方案吗?当然有,这就是Windows中的IP路由。

文章<<巧设IP路由 实现不同网段互通>>对具体步骤进行了详细描述.

参考资料

====================

巧设IP路由 实现不同网段互通

http://hi.baidu.com/darkvisitor/blog/item/8763f22b74a493325243c15c.html

原文地址:https://www.cnblogs.com/awpatp/p/2584868.html