🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
这个例子是本文中采用的子网,以及如何使用两个不同的子网掩码。具体安排如图3-10所示。 ![](https://box.kancloud.cn/2016-04-12_570c98923c19a.png) 如果把该图与扉页前图相比,就会发现在图3-10中省略了从路由器sun到上面的以太网之间的连接细节,实际上它们之间的连接是拨号SLIP。这个细节不影响本节中讨论的子网划分问题。我们在4 . 6节讨论A R P代理时将再回头讨论这个细节。 问题是我们在子网13中有两个分离的网络:一个以太网和一个点对点链路(硬件连接的SLIP链路)(点对点链接始终会带来问题,因为它一般在两端都需要I P地址)。将来或许会有更多的主机和网络,但是为了不让主机跨越不同的网络就得使用不同的子网号。我们的解决方法是把子网号从8 bit 扩充到11 bit,把主机号从8 bit减为5 bit。这就叫作变长子网,因为140.252网络中的大多数子网都采用8 bit 子网掩码,而我们的子网却采用11 bit的子网掩码。 RFC 1009[Braden and Postel 1987]允许一个含有子网的网络使用多个子网掩码。新的路由器需求RFC[Almquist 1993]则要求支持这一功能。 但是,问题在于并不是所有的路由选择协议在交换目的网络时也交换子网掩码。 在第10章中,我们将看到RIP不支持变长子网,RIP第2版和OSPF则支持变长子网。在我们的例子中不存在这种问题,因为在我的子网中不要求使用RIP协议。 作者子网中的IP地址结构如图3-11所示,11位子网号中的前8 bit始终是13。在剩下的3 bit中,我们用二进制001表示以太网,010表示点对点SLIP链路。这个变长子网掩码在140.252网络中不会给其他主机和路由器带来问题—只要目的是子网140.252.13的所有数据报都传给路由器sun(IP地址是140.252.1.29),如图3-11所示。如果sun知道子网13中的主机有11 bit子网号,那么一切都好办了。 ![](https://box.kancloud.cn/2016-04-12_570c9892526ed.png) 140.252.13子网中的所有接口的子网掩码是255.255.255.224,或0xffffffe0。这表明最右边的5 bit 留给主机号,左边的27 bit留给网络号和子网号。 图3-10中所有接口的I P地址和子网掩码的分配情况如图3-12所示。 ![](https://box.kancloud.cn/2016-04-12_570c98926654e.png) 第1栏标为是“主机”,但是sun和bsdi也具有路由器的功能,因为它们是多接口的,可以把分组数据从一个接口转发到另一个接口。 这个表中的最后一行是图3-10中的广播地址140.252.13.63:它是根据以太网子网号(140.252.13.32)和图3-11中的低5位置1(16+8+4+2+1=3 1)得来的(我们在第12章中将看到,这个地址被称作以子网为目的的广播地址( subnet-directed broadcast address))。