2 路由器


三、IP地址
在可路由的网络层协议中,协议地址必须含有两部分信息:网络地址和主机地址 。存贮这种信息最明显的方法是用两个分离的域,这样我们必须考虑到两个域的最大长度,有些协议(如IPX)就是这样的,它在小型和中型的网络里可以工作的很好 。
另一种方案是减少主机地址域的长度,如24位网络地址、8位主机地址,这样就有了较多的网段,但每个网段内的主机数目很少 。这样一来,对于多于256个主机的网络,就必须分配多个网段,其问题是很多的网络给路由器造成了难以忍受的负担 。
IP把网络地址和主机地址一起包装在一个32位的域里,有时主机地址部分很短,有时很长,这样可以有效利用地址空间,减少IP地址的长度,并且网络数目不算多 。有两种将主机地址分离出来的方法:基于类的地址和无类别的地址 。
1、主机和网关
主机和网关的区别常产生混淆,这是由于主机意义的转变 。在RFC中(1122/3和1009)中定义为:
主机是连接到一个或多个网络的设备,它可以向任何一个网络发送和从其接收数据,但它从不把数据从一个网络传向另一个 。
网关是连接到多于一个网络的设备,它选择性的把数据从一个网络转发到其它网络 。
换句话说,过去主机和网关的概念被人工地区分开来,那时计算机没有足够的能力同时用作主机和网关 。主机是用户工作的计算机,或是文件服务器等 。现代的计算机的能力足以同时担当这两种角色,因此,现代的主机定义应该如此:
主机是连接到一个或多个网络的设备,它可以向任何一个网络发送和从其接收数据 。它也可以作为网关,但这不是其唯一的目的 。
路由器是专用的网关,其硬件经过非凡的设计使其能以极小的延迟转发大量的数据 。然而,网关也可以是有多个网卡的标准的计算机,其操作系统的网络层有能力转发数据 。由于专用的路由硬件较便宜,计算机用作网关已经很少见了,在只有一个拨号连接的小站点里,还可能使用计算机作为非专用的网关 。
2、基于类的地址
最初设计IP时,地址根据第一个字节被分成几类:
0: 保留
1-126:A类(网络地址:1字节,主机地址:3字节)
127: 保留
128-191: B类(网络地址:2字节,主机地址:2字节)
192-223: C类(网络地址:3字节,主机地址:1字节)
224-255: 保留
3、子网划分
虽然基于类的地址系统对因特网服务提供商来说工作得很好,但它不能在一个网络内部做任何路由,其目的是使用第二层(桥接/交换)来导引网络中的数据 。在大型的A类网络中,这就成了个非凡的问题,因为在大型网络中仅使用桥接/交换使其非常难以治理 。在逻辑上其解决办法是把大网络分割成若干小的网络,但在基于类的地址系统中这是不可能的 。为了解决这个问题,出现了一个新的域:子网掩码 。子网掩码指出地址中哪些部分是网络地址,哪些是主机地址 。在子网掩码中,二进制1表示网络地址位,二进制0表示主机地址位 。传统的各类地址的子网掩码为:
A类:255.0.0.0
B类:255.255.0.0
C类:255.255.255.0
假如想把一个B类网络的地址用作C类大小的地址,可以使用掩码255.255.255.0 。
用较长的子网掩码把一个网络分成多个网络就叫做划分子网 。要注重的是,一些旧软件不支持子网,因为它们不理解子网掩码 。例如UNIX的routed路由守护进程通常使用的路由协议是版本1的RIP,它是在子网掩码出现前设计的 。
上面只介绍了三种子网掩码:255.0.0.0、255.255.0.0和255.255.255.0,它们是字节对齐的子网掩码 。但是也可以在字节中间对其进行划分,这里不进行具体讲解,请参照相关的TCP/IP书籍 。

推荐阅读