网际层的 IP 协议及配套协议
网络互连
互连在一起的网络要进行通信,会遇到许多问题需要解决,如:
- 不同的寻址方案
- 不同的最大分组长度
- 不同的网络接入机制
- 不同的超时控制
- 不同的差错恢复方法
- 不同的状态报告方法
- 不同的路由选择技术
- 不同的用户接入控制
- 不同的服务(面向连接服务和无连接服务)
- 不同的管理与控制方式
网络互相连接起来要使用一些中间设备 :中间设备又称为中间系统或中继(relay)系统。
- 物理层中继系统:转发器(repeater)。
- 数据链路层中继系统:网桥或桥接器(bridge)。
- 网络层中继系统:路由器(router)。
- 网桥和路由器的混合物:桥路器(brouter)。
- 网络层以上的中继系统:网关(gateway)。
网络互连使用路由器 :当中继系统是转发器或网桥时,一般并不称之为网络互连,因为这仅仅是把一个网络扩大了,而这仍然是一个网络。 网关由于比较复杂,目前使用的较少。互联网都是指用路由器进行互连的网络。由于历史的原因,许多有关 TCP/IP 的文献将网络层使用的路由器称为网关。
虚拟互连网络
所谓虚拟互连网络也就是逻辑互连网络。互连起来的各种物理网络的异构性本来是客观存在的,但利用IP协议可以使这些性能各异的网络从用户角度看起来好像是一个统一的网络。 使用 IP 协议的虚拟互连网络可简称为 IP 网。 使用虚拟互连网络的好处是:当互联网上的主机进行通信时,就好像在一个网络上通信一样,而看不见互连的各具体的网络异构细节。
如果我们只从网络层考虑问题,那么 IP 数据报就可以想象是在网络层中传送。
把整个因特网看成为一个单一的、抽象的网络。IP地址就是给每个连接在因特网上的主机(或路由器)分配的一个全世界范围唯一的32位标识符。IP地址现在由因特网名字与号码指派公司ICANN (Internet Corporation for Assigned Names and Numbers) 进行分配 。
IP 地址的编址方法
- 分类的IP地址。这是最基本的编址方法,在 1981 年就通过了相应的标准协议。
- 子网的划分。这是对最基本的编址方法的改进,其标准[RFC 950]在 1985 年通过。
- 构成超网。这是比较新的无分类编址方法。1993 年提出后很快就得到推广应用。
分类 IP 地址
每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。 两级的 IP 地址可以记为:
IP 地址 ::= { <网络号>, <主机号>} := 代表“定义为”
IP 地址中的网络号字段和主机号字段
IP 地址的使用范围
**点分十进制记法 :**机器中存放的 IP 地址是 32 位 二进制代码,每隔 8 位插入一个空格能够提高可读性,将每8位的二进制数转换为十进制数,采用点分十进制记法,则进一步提高可读性。000000000010110000001100011111 -> 28.11.3.31
IP 地址的一些重要特点
- IP 地址是一种分等级的地址结构。分两个等级的好处是:
- 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了 IP 地址的管理。
- 器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。
- 实际上IP地址是标志一个主机(或路由器)和一条链路的接口。
- 个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的IP地址,其网络号net-id 必须是不同的。这种主机称为多归属主机(multihomed host)。
- 由器至少应当连接到两个网络(这样它才能将IP数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的 IP 地址。
- 用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号net-id。
- **所有分配到网络号net-id的网络都是平等的,**不管是范围很小的局域网,还是可能覆盖很大地理范围的广域网。
在同一个局域网上的主机或路由器的 IP 地址中的网络号必须是一样的。
路由器总是具有两个或两个以上的 IP 地址。路由器的每一个接口都有一个不同网络号的 IP 地址。
两个路由器直接相连的接口处,可指明也可不指明 IP 地址。如指明 IP 地址,则这一段连线就构成了一种只包含一段线路的特殊“网络” 。现在常不指明 IP 地址。
IP 层转发分组的流程
IP 层转发分组的流程 :有四个 A 类网络通过三个路由器连接在一起。每一个网络上都可能有成千上万个主机。可以想像,若按目的主机号来制作路由表,则所得出的路由表就会过于庞大。但若按主机所在的网络地址来制作路由表,那么每一个路由器中的路由表就只包含 4 个项目。这样就可使路由表大大简化。
在路由表中,对每一条路由,最主要的是(目的网络地址,下一跳地址)
IP 数据报的首部中没有地方可以用来指明“下一跳路由器的 IP 地址”。当路由器收到待转发的数据报,不是将下一跳路由器的 IP 地址填入 IP 数据报,而是送交下层的网络接口软件。网络接口软件使用 ARP 负责将下一跳路由器的IP 地址转换成硬件地址,并将此硬件地址放在链路层的 MAC 帧的首部,然后根据这个硬件地址找到下一跳路由器。
分组转发算法
- 从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N。
- 若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是间接交付,执行(3)。
- 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否 则,执行(4)。
- 若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行(5)。
- 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。
- 报告转发分组出错。
划分子网 :从两级 IP 地址到三级 IP 地址
在 ARPANET 的早期,IP 地址的设计确实不够合理。IP 地址空间的利用率有时很低。给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。两级的 IP 地址不够灵活。
从 1985 年起在 IP 地址中又增加了一个“子网号字段”,使两级的 IP 地址变成为三级的 IP 地址。这种做法叫作划分子网(subnetting) 。划分子网已成为因特网的正式标准协议。
划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。
从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位。
IP地址 ::= {<网络号>, <子网号>, <主机号>}
凡是从其他网络发送给本单位某个主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号 net-id,先找到连接在本单位网络上的路由器。然后此路由器在收到 IP 数据报后,再按目的网络号net-id 和子网号 subnet-id 找到目的子网。最后就将 IP 数据报直接交付目的主机。
一个未划分子网的 B 类网络145.13.0.0
划分为三个子网后对外仍是一个网络
子网掩码
从一个 IP 数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网划分。使用子网掩码(subnet mask)可以找出IP 地址中的子网部分。
IP 地址的各字段和子网掩码 :
子网掩码是一个网络或一个子网的重要属性。路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器。路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码。若一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码。
已知 IP 地址是 141.14.72.24,子网掩码是255.255.192.0。试求网络地址。
若子网掩码改为255.255.224.0
不同的子网掩码得出相同的网络地址。但不同的掩码的效果是不同的。
使用子网掩码的分组转发过程
在不划分子网的两级 IP 地址下,从 IP 地址得出网络地址是个很简单的事。但在划分子网的情况下,从 IP 地址却不能唯一地得出网络地址来,这是因为网络地址取决于那个网络所采用的子网掩码,但数据报的首部并没有提供子网掩码的信息。 因此分组转发的算法也必须做相应的改动。
- 从收到的分组的首部提取目的 IP 地址 D。
- 先用各直接相连网络的子网掩码和D逐位相“与”,看是否和相应的网络地址匹配。若匹配,则将分组直接交付。否则就是间接交付,执行(3)。
- 若路由表中有目的地址为 D 的特定主机路由,则将分组传送给指明的下一跳路由器;否则,执行(4)。
- 对路由表中的每一行的子网掩码和 D 逐位相“与”,若其结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行(5)。
- 若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行(6)。
- 报告转发分组出错。
已知互联网和路由器 R1 中的路由表。主机 H1 向 H2发送分组。试讨论 R1 收到 H1 向 H2 发送的分组后查找路由表的过程。
- H1 首先检测目的IP地址和自己是否在同一个子网 。将目的地址与自己的子网掩码做与运算。
- 255.255.255.128 & 128.30.33.138 = 128.30.33.128 ≠ 128.30.33.0
- 结果与本网络的网络地址不一致,所以不在一个网段。
- H1 必须把分组传送到路由器 R1然后逐项查找路由表。
- 与第一个路由项的子网掩码做与运算。
6. 255.255.255.128 & 128.30.33.138 = 128.30.33.128 ≠ 128.30.33.0
7. 不一致,与第二个路由项的子网掩码做与运算。 - 255.255.255.128 & 128.30.33.138 = 128.30.33.128 = 128.30.33.128
- 一致,转发接口1。
无分类编址
划分子网在一定程度上缓解了因特网在发展中遇到的困难。然而在 1992 年因特网仍然面临三个必须尽早解决的问题,这就是:B 类地址在 1992 年已分配了近一半,眼看就要在 1994 年 3 月全部分配完毕!因特网主干网上的路由表中的项目数急剧增长(从几千个增长到几万个)。整个 IPv4 的地址空间最终将全部耗尽。
CIDR
CIDR 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,因而可以更加有效地分配 IPv4 的地址空间。CIDR 使用各种长度的 “ 网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。IP 地址从三级编址(使用子网掩码)又回到了两级编址。
无分类的两级编址的记法是:
IP地址 ::= {<网络前缀>, <主机号>}
CIDR 还使用“斜线记法”(slash notation),它又称为CIDR记法,即在 IP 地址后面加上一个斜线“/”,然后写上网络前缀所占的位数(这个数值对应于三级编址中子网掩码中 1 的个数)。CIDR 把网络前缀都相同的连续的 IP 地址组成“CIDR 地址块”。
128.14.32.0/20 表示的地址块共有 212 个地址(因为斜线后面的 20 是网络前缀的位数,所以这个地址的主机号是 12 位)。这个地址块的起始地址是 128.14.32.0。在不需要指出地址块的起始地址时,也可将这样的地址块简称为“/20 地址块”。128.14.32.0/20 地址块的最小地址:128.14.32.0,最大地址:128.14.47.255。全 0 和全 1 的主机号地址一般不使用。
128.14.32.0/20所有地址的 20 位前缀都是一样的
路由聚合(route aggregation)
一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由。路由聚合也称为构成超网(supernetting)。CIDR 虽然不使用子网了,但仍然使用“掩码”这一名词(但不叫子网掩码)。对于 /20 地址块,它的掩码是 20 个连续的 1。斜线记法中的数字就是掩码中1的个数。
- 10.0.0.0/10 隐含地指出 IP 地址 10.0.0.0 的掩码是 255.192.0.0。
- 10.0.0.0/10 可简写为 10/10,也就是把点分十进制中低位连续的 0 省略。
- *CIDR的其他表示方法:网络前缀的后面加一个星号 * 的表示方法如 00001010 00,在星号 * 之前是网络前缀,而星号 * 表示 IP 地址中的主机号,可以是任意值。
构成超网
前缀长度不超过 23 位的 CIDR 地址块都包含了多个 C 类地址。这些 C 类地址合起来就构成了超网。CIDR 地址块中的地址数一定是 2 的整数次幂。网络前缀越短,其地址块所包含的地址数就越多。
这个 ISP 共有 64 个 C 类网络。如果不采用 CIDR 技术,则在与该 ISP 的路由器交换路由信息的每一个路由器的路由表中,就需要有 64 个项目。但采用地址聚合后,只需用路由聚合后的 1 个项目 206.0.64.0/18 就能找到该 ISP。
最长前缀匹配
使用 CIDR 时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果。应当从匹配结果中选择具有最长网络前缀的路由:最长前缀匹配(longest-prefix matching)。网络前缀越长,其地址块就越小,因而路由就越具体(more specific) 。最长前缀匹配又称为最长匹配或最佳匹配。
例如:
收到的分组的目的地址 D = 206.0.71.128
路由表中的项目:206.0.68.0/22(大学)、206.0.71.128/25 (四系)
D AND (11111111 11111111 11111100 00000000) = 206.0.68.0/22 匹配
D AND (11111111 11111111 11111111 10000000) = 206.0.71.128/25 匹配
选择两个匹配的地址中更具体的一个,即选择最长前缀的地址。
使用二叉线索查找路由表
使用二叉线索查找路由表 :当路由表的项目数很大时,怎样设法减小路由表的查找时间就成为一个非常重要的问题。为了进行更加有效的查找**,通常是将无分类编址的路由表存放在一种层次的数据结构中,然后自上而下地按层次进行查找。这里最常用的就是二叉线索**(binarytrie)。 IP 地址中从左到右的比特值决定了从根结点逐层向下层延伸的路径,而二叉线索中的各个路径就代表路由表中存放的各个地址。为了提高二叉线索的查找速度,广泛使用了各种压缩技术。
用 5 个前缀构成的二叉线索
IP 地址与硬件地址
- 在 IP 层抽象的互联网上只能看到 IP 数据报。图中的 IP1→IP2 表示从源地址 IP1 到目的地址 IP2 。两个路由器的 IP 地址并不出现在 IP 数据报的首部中。
- 路由器只根据目的站的 IP 地址的网络号进行路由选择
- 在具体的物理网络的链路层只能看见 MAC 帧而看不见 IP 数据报
- IP层抽象的互联网屏蔽了下层很复杂的细节。在抽象的网络层上讨论问题,就能够使用统一的、抽象的 IP 地址研究主机和主机或主机和路由器之间的通信
IP 数据报的格式
一个 IP 数据报由首部和数据两部分组成。首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。首部固定部分后面是一些可选字段,它们的长度可变。
- 版本——占 4 位,指 IP 协议的版本目前的 IP 协议版本号为 4 (即 IPv4)
- 首部长度——占 4 位,可表示的最大数值是 15 个单位(一个单位为 4 字节)因此 IP 的首部长度的最大值是 60 字节。
- 区分服务——占 8 位,用来获得更好的服务在旧标准中叫做服务类型,但实际上一直未被使用过。1998 年这个字段改名为区分服务。只有在使用区分服务(DiffServ)时,这个字段才起作用。在一般的情况下都不使用这个字段。
- 总长度——占 16 位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节。总长度必须不超过最大传送单元 MTU。
- 标识(identification)—— 占 16 位,它是一个计数器,用来产生数据报的标识。每产生一个数据报,标识就加一,因为是无链接服务,数据报不存在按序接受的问题。当必须对IP数据报分片时,可将标识复制到其他数据报片中,用于回复数据报。
- 标志(flag) ——占 3 位,目前只有前两位有意义。标志字段的最低位是 MF (More Fragment)。MF = 1 表示后面“还有分片”。MF = 0 表示最后一个分片。标志字段中间的一位是 DF (Don’t Fragment) 。只有当 DF = 0 时才允许分片。
- 片偏移——占 13 位,指出较长的分组在分片后某片在原分组中的相对位置。片偏移以 8 个字节为偏移单位,也就是说每个分片的长度一定是8字节(64位)的整数倍。
- 生存时间——占 8 位,记为 TTL (Time To Live)数据报在网络中可通过的路由器数的最大值。
- 协议——占 8 位,字段指出此数据报携带的数据使用何种协议,以便目的主机的 IP 层将数据部分上交给哪个处理过程(如TCP/UDP/ICMP/IGMP/OSPF等)。
- 首部检验和——占 16 位,字段只检验数据报的首部不检验数据部分。这里不采用 CRC 检验码而采用简单的计算方法。
- 源地址和目的地址—— 各占 4 字节
- 可选字段必须为 4 字节的倍数,否则就要进行填充。该选项很少被使用。IP 首部最大长度为 60 字节,而固定长度为 20 字节,所以该字段最大长度为 40 字节。
IP 数据报分片
首部检验和 :不采用 CRC 检验码而采用简单的计算方法,只检验数据报的首部。
IP 数据报首部的可变部分
IP 首部的可变部分就是一个选项字段,用来支持排错、测量以及安全等措施,内容很丰富。选项字段的长度可变,从 1 个字节到 40 个字节不等,取决于所选择的项目。增加首部的可变部分是为了增加 IP 数据报的功能,但这同时也使得 IP 数据报的首部长度成为可变的。这就增加了每一个路由器处理数据报的开销。实际上这些选项很少被使用。
IP的编址问题
子网掩码和基本分类的一些基本问题
例 1.1:子网掩码和基本分类的一些基本问题。
- 子网掩码为255.255.255.0代表什么意思?(有三种含义)
- 其一是一个A类网的子网掩码,对于A类网络的IP地址,前8位表示网络号,后24位示主机号,使用子网掩码255.255.255.0表示前8位为网络号,中间16位用于子网段的划分,最后8位为主机号。
- 第二种情况为一个B类网,对于B类网络的IP地址,前16位表示网络号,后16位表示主机号,使用子网掩码255.255.255.0表示前16位为网络号,中间8位用于子网段的划分,最后8位为主机号。
- 第三种情况为一个C类网,这个子网掩码为C类网的默认子网掩码。
- 一网络的现在掩码为255.255.255.248,问该网络能够连接多少个主机?
- 255.255.255.248即11111111.11111111.11111111.11111000.
- 每一个子网上的主机为(2^3)=6 台
- 掩码位数29,该网络能够连接8个主机,扣除全1和全0后为6台。
- 一A类网络和一B网络的子网号subnet-id分别为16个1和8个1,问这两个子网掩码有何不同?
- A类网络:11111111 11111111 11111111 00000000
- 给定子网号(16位“1”)则子网掩码为255.255.255.0
- B类网络:11111111 11111111 11111111 00000000
- 给定子网号(8位“1”)则子网掩码为255.255.255.0,但子网数目不同
- 一个B类地址的子网掩码是255.255.240.0。试问在其中每一个子网上的主机数最多是多少?
- (240)10=(128+64+32+16)10=(11110000)2
- Host-id的位数为4+8=12,因此,最大主机数为:2^12-2=4096-2=4094
- 11111111.11111111.11110000.00000000 主机数2^12-2
- 一A类网络的子网掩码为255.255.0.255;它是否为一个有效的子网掩码?
- 是
- 10111111 11111111 00000000 11111111
- 某个IP地址的十六进制表示C2.2F.14.81,试将其转化为点分十进制的形式。这个地址是哪一类IP地址?
- C2 2F 14 81 – 194.47.20.129
- C2 2F 14 81 – 11000010.00101111.00010100.10000001
- C类地址
- C类网络使用子网掩码有无实际意义?为什么?
- 有实际意义.
- C类子网IP地址的32位中,前24位用于确定网络号,后8位用于确定主机号.
- 如果划分子网,可以选择后8位中的高位,这样做可以进一步划分网络,并且不增加路由表的内容,但是代价是主机数相信减少.
子网划分的实际问题
例1.2 : 子网划分的实际问题。
单位分配到一个B类IP地址,其net-id为129.250.0.0.该单位有4000台机器,分布在16个不同的地点。如选用子网掩码为255.255.255.0,试给每一个地点分配一个子网掩码号,并算出每个地点主机号码的最小值和最大值?
4000/16=250,平均每个地点250台机器。如选255.255.255.0为掩码,则每个网络所连主机数=28-2=254>250,共有子网数=28-2=254>16,能满足实际需求。
可给每个地点分配如下子网号码 :
地点 | 子网号(subnet-id) | 子网网络号 | 主机IP的最小值和最大值 |
---|---|---|---|
1 | 00000001 | 129.250.1.0 | 129.250.1.1—129.250.1.254 |
2 | 00000010 | 129.250.2.0 | 129.250.2.1—129.250.2.254 |
3 | 00000011 | 129.250.3.0 | 129.250.3.1—129.250.3.254 |
4 | 00000100 | 129.250.4.0 | 129.250.4.1—129.250.4.254 |
5 | 00000101 | 129.250.5.0 | 129.250.5.1—129.250.5.254 |
6 | 00000110 | 129.250.6.0 | 129.250.6.1—129.250.6.254 |
7 | 00000111 | 129.250.7.0 | 129.250.7.1—129.250.7.254 |
8 | 00001000 | 129.250.8.0 | 129.250.8.1—129.250.8.254 |
9 | 00001001 | 129.250.9.0 | 129.250.9.1—129.250.9.254 |
10 | 00001010 | 129.250.10.0 | 129.250.10.1—129.250.10.254 |
11 | 00001011 | 129.250.11.0 | 129.250.11.1—129.250.11.254 |
12 | 00001100 | 129.250.12.0 | 129.250.12.1—129.250.12.254 |
13 | 00001101 | 129.250.13.0 | 129.250.13.1—129.250.13.254 |
14 | 00001110 | 129.250.14.0 | 129.250.14.1—129.250.14.254 |
15 | 00001111 | 129.250.15.0 | 129.250.15.1—129.250.15.254 |
16 | 00010000 | 129.250.16.0 | 129.250.16.1—129.250.16.254 |
哪些子网掩码是不推荐使用的
例 1.3 :
以下有4个子网掩码。哪些是不推荐使用的?为什么?
(1)176.0.0.0,(2)96.0.0.0,(3)127.192.0.0,(4)255.128.0.0。
只有(4)是连续的1和连续的0的掩码,是推荐使用的。
无分类编址
例 :无分类编址
有如下的4个/24地址块,试进行最大可能性的聚会。
- 212.56.132.0/24
- 212.56.133.0/24
- 212.56.134.0/24
- 212.56.135.0/24
212=(11010100)2,56=(00111000)2
132=(10000100)2
133=(10000101)2
134=(10000110)2
135=(10000111)2
所以共同的前缀有22位,即11010100,00111000,100001,聚合的CIDR地址块是: 212.56.132.0/22
哪一个地址块包含了另一个地址
例 1.4 :
有两个CIDR地址块208.128/11和208.130.28/22。是否有哪一个地址块包含了另一个地址?如果有,请指出,并说明理由。
- 208.128/11的前缀为:11010000 100
- 208.130.28/22的前缀为:11010000 10000010 000101
208.130.28/22的前11位与208.128/11的前缀是一致的,所以208.128/11地址块包含了208.130.28/22这一地址块。
分组转发的问题
子网掩码的分组转发
例 2.1:子网掩码的分组转发
设某路由器建立了如下路由表:
目的网络 | 子网掩码 | 下一跳 |
---|---|---|
128.96.39.0 | 255.255.255.128 | 接口m0 |
128.96.39.128 | 255.255.255.128 | 接口m1 |
128.96.40.0 | 255.255.255.128 | R2 |
192.4.153.0 | 255.255.255.192 | R3 |
*(默认) | —— | R4 |
现共收到5个分组,其目的地址分别为: |
- 128.96.39.10
- 128.96.40.12
- 128.96.40.151
- 192.153.17
- 192.4.153.90
试分别计算下一跳。
- 分组的目的站IP地址为:128.96.39.10。
- 先与子网掩码255.255.255.128相与,得128.96.39.0,
- 可见该分组经接口0转发。
- 分组的目的IP地址为:128.96.40.12。
- 与子网掩码255.255.255.128相与得128.96.40.0,不等于128.96.39.0。
- 与子网掩码255.255.255.128相与得128.96.40.0,
- 经查路由表可知,该项分组经R2转发。
- 分组的目的IP地址为:128.96.40.151
- 与子网掩码255.255.255.128相与后得128.96.40.128,
- 与子网掩码255.255.255.192相与后得128.96.40.128,
- 经查路由表知,该分组转发选择默认路由,经R4转发。
- 分组的目的IP地址为:192.4.153.17。
- 与子网掩码255.255.255.128相与后得192.4.153.0。
- 与子网掩码255.255.255.192相与后得192.4.153.0,
- 经查路由表知,该分组经R3转发。
- 分组的目的IP地址为:192.4.153.90,
- 与子网掩码255.255.255.128相与后得192.4.153.0。
- 与子网掩码255.255.255.192相与后得192.4.153.64,
- 经查路由表知,该分组转发选择默认路由,经R4转发。
无分类编址的分组转发
例 2.2 :无分类编址的分组转发
已知路由器R1的路由表如下表所示。
地址掩码 | 目的网络地址 | 下一跳地址 | 路由器接口 |
---|---|---|---|
/26 | 140.5.12.64 | 180.15.2.5 | m2 |
/24 | 130.5.8.0 | 190.16.6.2 | m1 |
/16 | 110.71.0.0 | …… | m0 |
/16 | 180.15.0.0 | …… | m2 |
/16 | 196.16.0.0 | …… | m1 |
默认 | 默认 | 110.71.4.5 | m0 |
试画出个网络和必要的路由器的连接拓扑,标注出必要的IP地址和接口。对不能确定的情应该指明。