RFC917——INTERNETSUBNETS因特网子网RFC文档中文翻译计划1组织:中国互动出版网()RFC文档中文翻译计划()E-mail:ouyang@china-pub.com译者:傅小均(michael_fufuxj@21cn.com)译文发布时间:2001-5-9版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必须保留本文档的翻译及版权信息。NetworkWorkingGroupJeffreyMogulRequestforComments:917ComputerScienceDepartmentCategory:StandardsTrackStanfordUniversityOctober1984因特网子网(RFC917——InternetSubnets)本备忘录的状态本文档是有关Internet的协议的提案,有待讨论。本备忘录的发布不受任何限制。摘要本文档讨论因特网中“子网”的效用。“子网”是整个因特网中的一部分。由于管理和技术的原因,许多机构选择把一个网络分成几个子网,而不是单纯的使用一系列的因特网地址。本文档提出使用子网的程序和过程,并讨论解决由此而产生的问题的方法,特别是路由问题。目录1.介绍........................................................................................................................................21.1.术语................................................................................................................................32子网地址分配标准.................................................................................................................32.1Internet地址的解析.....................................................................................................32.2为支持子网,软件所需的改动.....................................................................................42.3子网和广播.....................................................................................................................52.4决定子网字段的长度.....................................................................................................63.子网路由方法.........................................................................................................................64.例子.........................................................................................................................................7RFC917——INTERNETSUBNETS因特网子网RFC文档中文翻译计划24.1斯坦福大学.....................................................................................................................74.2麻省理工学院(MIT)..................................................................................................84.3卡内基-梅隆大学(CMU)...........................................................................................95.地址格式因特网信报控制协议(ICMP)...........................................................................95.1描述.................................................................................................................................95.2例子...............................................................................................................................10参考............................................................................................................................................121.介绍Internet在开始时被视为两层结构,高层是作为一个整体的链式网,其下是一系列“网络”的集合,每一个网络都有各自的网络号。(虽然Internet的拓扑结构其实是不分层的,但Internet的地址解析是分层的。)这种做法曾一度被证明是简单而有效的,但许多机构发现并不过充分。因此,在对Internet地址的解析中加入了第三层。从这个观点出发,某一特定的网络就需要(也可能不需要)分层一系列的子网。将Internet视为两层的观点是建立在这样一个假设之上的,即:对一台处于某网络中的主机而言,它所处的网络只有一个边界,也就是说,这个网络可以被视为一个有许多主机相连着的黑盒。这对Internet早期的ARPA网来说是对的。因为IMPs屏蔽了网络中的特殊连接的使用。对大多数局域网技术来说也是这样,比如以太网和环网。但这种假设在许多实践中却是不对的。在一个中等大小的机构中,比如有好几个建筑物的大学和公司,常常需要多条局域网网线将“局部地区”相连。在写这篇文档是,斯坦福大学就有18条这样的网线,而且更多的还在计划中。要用多条网线连接几个区域的原因有几个:不同的技术的网络:特别是在研究环境中,可能会有几个不同的局域网,例如,某个机构有一些设备支持以太网,而另一些则支持环网。技术的限制:多数技术由于起电气参数的限制,而对连接的主机数和网线的总长度有限制。这些限制,特别是网线长度很容易达到。网络拥塞:在一个局域网中,一小部分的主机很可能独占大部分的带宽。通常解决这个问题的方法是把主机根据相互间通信的多少分成几部分,各部分使用不同的网线。点对点的连接:有时一个“局部区域”被分成几个部分,而个部分之间的距离对上述局域网技术来说太远了。在这种情况下,高速的点对点连接可以用来连接这些局域网。对不得不使用多个局域网的机构来说,分配Internet地址有三种选择:1.为每一条网线分配一个网络号。2.为整个机构分配一个网络号,并给主机分配地址,而不理会主机在哪个局域网中。3.使用一个网络地址,并分成几个地址空间,从中给每个局域网分配一个子网地址(显式子网)。每一种方法都有缺点。第一种方法虽然不需要修改和增加现有协议,但会导致路由RFC917——INTERNETSUBNETS因特网子网RFC文档中文翻译计划3表的急剧增大,整个网络的内部连通性信息传播于整个Internet,而这些信息对这个机构以外的世界没有用处。特别是现在有些网关没有很大的路由表空间。所以这样的问题应该避免。第二种方法需要一定的协议把某些局域网的整合成一个单一的网络。例如,在使用地址解析协议(ARP)的局域网中,Internet地址被解析成为硬件地址,局域网间的网桥会拦截ARP对非本地目标的请求。但不是所有的局域网技术都可以做到这一点,特别是没有使用ARP或不支持广播协议的。一个更基本的问题是,网桥要知道每台主机在哪个局域网中(这些信息可以用广播算法获得),随着主机的增多,广播的代价也随之增大,转换所需的缓冲也随之增大。第三种方法的关键问题是:校友的标准认为所有同一局域网上的主机都是用同一网线相连的。解决方法是显式的支持子网。这就需要改变现有的Internet协议,改变现在正在使用的IP的实现方法。但我们认为,这样的改动不是很大,而且只需修改一次,就能得到一个简单有效的解决方法。我们在本文档中使用的方法会避免导致和现有的非子网上的主机不兼容的修改。当找到合适的方法,就有可能是子网内的主机并不知道自己处于子网中。这点在后面会解释。当不能修改主机以使其支持“显式子网”时,这样做是非常有用的。1.1.术语为了讲述的清楚和简洁,这里定义一些术语,并在以后的文中使用:链式网:连接在一起的网络的集合网络:Internet中的一个网络(可以分成子网,也可以不分)子网:网络中的一部分网络号:见参考[8]本地地址:Internet地址中没有分配给网络号使用的位,也叫“剩余位”子网号:网络中标识子网的号码子网位:Internet地址中分配给子网号使用的位主机位:Internet地址中用于指明特定主机使用的位网关:连接两个或更多不同网络或子网,传递数据的节点网桥:连接两个或更多物理上可分,但管理上不可分的子网,在必要使传递数据包的节点,主机不知道其存在。2子网地址分配标准根据参考[2]中的描述,划分子网也就是地址的分配问题。在这部分中,我们首先提出一个支持子网的地址解析方案,然后讨论这种地址格式和广播之间的关系,最后给出一个地址解析协议。2.1Internet地址的解析假设某机构分配到一个网络号,并将之分成一系列子网,再分配给主机。如何进行呢?因为对于Internet地址中本地地址部分的分配限制很少,因此对子网号的分配主要RFC917——INTERNETSUBNETS因特网子网RFC文档中文翻译计划4有以下几种方法:a)变长字段:本地地址部分任意位都可以给子网号使用,虽然这部分长度对某一特定网络是一定的,但各网络间可以不同。如果长度是0,则说明没有使用子网。b)定长字段:指定长度的字段(比如8位)用语子网号(在使用子网的情况下)。c)自编码变长字段:网络好的字段长度是由其高位决定,相似的,子网号的字段长度也由其高位决定。d)自编码定长字段:一定长度的字段给子网使用。如果最高位是1,则使用子网,否则没有使用。用什么标准从这四个方案中选择一个呢?首先,确定是否要选用自编码方案,也就是说能否通过检测一个因特网地址就能得知这个地址是否用道子网?自编码的一个优点是,人们能知道一个非本地的网络是否被划分成子网。这是否有用还不是很清楚。但主要的好处是不需要额外的信息来说明两个地址是否在同一子网上。然而,从另一个角度看,这也会是个缺点:对于非