《第12讲网络层3复习课程》由会员分享,可在线阅读,更多相关《第12讲网络层3复习课程(51页珍藏版)》请在金锄头文库上搜索。
1、第12讲网络层(3),知识回顾,ARP协议 IP数据报格式,本讲教学内容和教学目标,理解IP转发分组的流程 理解划分子网的必要性 掌握划分子网的方法 掌握默认子网掩码 理解使用子网进行分组转发 掌握CIDR的网络前缀 理解路由聚合的概念和应用,IP 层转发分组的流程,有四个 A 类网络通过三个路由器连接在一起。每一个网络上都可能有成千上万个主机。 可以想像,若按目的主机号来制作路由表,则所得出的路由表就会过于庞大。 但若按主机所在的网络地址来制作路由表,那么每一个路由器中的路由表就只包含 4 个项目。这样就可使路由表大大简化。,查找路由表,根据目的网络地址就能确定下一跳路由器,这样做的结果是:
2、 IP 数据报最终一定可以找到目的主机所在目的网络上的路由器(可能要通过多次的间接交付)。 只有到达最后一个路由器时,才试图向目的主机进行直接交付。,特定主机路由,这种路由是为特定的目的主机指明一个路由。 采用特定主机路由可使网络管理人员能更方便地控制网络和测试网络,同时也可在需要考虑某种安全问题时采用这种特定主机路由。,默认路由(default route),路由器还可采用默认路由以减少路由表所占用的空间和搜索路由表所用的时间。 这种转发方式在一个网络只有很少的对外连接时是很有用的。 默认路由在主机发送 IP 数据报时往往更能显示出它的好处。 如果一个主机连接在一个小网络上,而这个网络只用一
3、个路由器和因特网连接,那么在这种情况下使用默认路由是非常合适的。,N1,R1,因特网,目的网络 下一跳 N1 直接 N2 R2 默认 R1,路由表,N2,R2,只要目的网络不是 N1 和 N2, 就一律选择默认路由, 把数据报先间接交付路由器 R1, 让 R1 再转发给下一个路由器。,必须强调指出,IP 数据报的首部中没有地方可以用来指明“下一跳路由器的 IP 地址”。 当路由器收到待转发的数据报,不是将下一跳路由器的 IP 地址填入 IP 数据报,而是送交下层的网络接口软件。 网络接口软件使用 ARP 负责将下一跳路由器的 IP 地址转换成硬件地址,并将此硬件地址放在链路层的 MAC 帧的首
4、部,然后根据这个硬件地址找到下一跳路由器。,分组转发算法,(1) 从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N。 (2) 若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是间接交付,执行(3)。 (3) 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。 (4) 若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行(5)。 (5) 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。 (6) 报告转发分组出错。,划分子网,
5、从两级 IP 地址到三级 IP 地址 在 ARPANET 的早期,IP 地址的设计确实不够合理。 IP 地址空间的利用率有时很低。 给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。 两级的 IP 地址不够灵活。 从 1985 年起在 IP 地址中又增加了一个“子网号字段”,使两级的 IP 地址变成为三级的 IP 地址。 这种做法叫作划分子网(subnetting) 。划分子网已成为因特网的正式标准协议,划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。 从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位。
6、 IP地址 := , , (4-2),划分子网的基本思路,凡是从其他网络发送给本单位某个主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号 net-id,先找到连接在本单位网络上的路由器。 然后此路由器在收到 IP 数据报后,再按目的网络号 net-id 和子网号 subnet-id 找到目的子网。 最后就将 IP 数据报直接交付目的主机。,划分子网的基本思路(续),145.13.3.10,145.13.3.11,145.13.3.101,145.13.7.34,145.13.7.35,145.13.7.56,145.13.21.23,145.13.21.9,145.13.21.8,所
7、有到网络 145.13.0.0的分组均到达此路由器,我的网络地址 是 145.13.0.0,R1,R3,R2,一个未划分子网的 B 类网络145.13.0.0,划分为三个子网后对外仍是一个网络,145.13.3.10,145.13.3.11,145.13.3.101,145.13.7.34,145.13.7.35,145.13.7.56,145.13.21.23,145.13.21.9,145.13.21.8,子网 145.13.21.0,子网 145.13.3.0,子网 145.13.7.0,所有到达网络 145.13.0.0 的分组均到达 此路由器,网络 145.13.0.0,R1,R3,
8、R2,当没有划分子网时,IP 地址是两级结构。 划分子网后 IP 地址就变成了三级结构。 划分子网只是把 IP 地址的主机号 host-id 这部分进行再划分,而不改变 IP 地址原来的网络号 net-id。 从一个 IP 数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网划分。 使用子网掩码(subnet mask)可以找出 IP 地址中的子网部分。,子网掩码,IP 地址的各字段和子网掩码,145 . 13 .,3 . 10,两级 IP 地址,子网号为 3 的网络的网络号,三级 IP 地址,主机号,子网掩码,net-id,host-id,子网的 网络地址,0,net-id,su
9、bnet-id,host-id,145 . 13 .,145 . 13 . 3,3 . 10,(IP 地址) AND (子网掩码) =网络地址,网络号 net-id,主机号 host-id,两级 IP 地址,网络号,三级 IP 地址,主机号,子网号,子网掩码,子网的 网络地址,net-id,subnet-id,0,逐位进行 AND 运算,1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1,0 0 0 0 0 0 0 0,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1,1
10、1 1 1 1 1 1 1,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,net-id,net-id,host-id 为全 0,net-id,网络地址,A 类 地 址,默认子网掩码 255.0.0.0,网络地址,B 类 地 址,默认子网掩码 255.255.0.0,网络地址,C 类 地 址,默认子网掩码 255.255.255.0,host-id 为全 0,host-id 为全 0,默认子网掩码,子网掩码是一个重要属性,子网掩码是一个网络或一个子网的重要属性。 路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路
11、由器。 路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码。 若一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码。,141 . 14 . 0 1 0 0 0 0 0 0,1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0,【例4-2】已知 IP 地址是 141.14.72.24,子网掩码是 255.255.192.0。试求网络地址。,(a) 点分十进制表示的 IP 地址,(c) 子网掩码是 255.255.192.0,0 0 0 0 0 0 0 0,141 . 14 .,72 . 24,141 . 14
12、.,64 . 0,. 0,0 1 0 0 1 0 0 0,141 . 14 .,. 24,(b) IP 地址的第 3 字节是二进制,(d) IP 地址与子网掩码逐位相与,(e) 网络地址(点分十进制表示),计算子网号例题,141 . 14 . 0 1 0 0 0 0 0 0,1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0,【例4-3】在上例中,若子网掩码改为255.255.224.0。试求网络地址,讨论所得结果。,(a) 点分十进制表示的 IP 地址,(c) 子网掩码是 255.255.224.0,0 0 0 0 0 0 0 0,141 . 14
13、 .,72 . 24,141 . 14 .,64 . 0,. 0,0 1 0 0 1 0 0 0,141 . 14 .,. 24,(b) IP 地址的第 3 字节是二进制,(d) IP 地址与子网掩码逐位相与,(e) 网络地址(点分十进制表示),不同的子网掩码得出相同的网络地址。 但不同的掩码的效果是不同的。,在不划分子网的两级 IP 地址下,从 IP 地址得出网络地址是个很简单的事。 但在划分子网的情况下,从 IP 地址却不能唯一地得出网络地址来,这是因为网络地址取决于那个网络所采用的子网掩码,但数据报的首部并没有提供子网掩码的信息。 因此分组转发的算法也必须做相应的改动。,使用子网掩码的分
14、组转发过程,在划分子网的情况下路由器转发分组的算法,(1) 从收到的分组的首部提取目的 IP 地址 D。 (2) 先用各网络的子网掩码和 D 逐位相“与”,看是否和 相应的网络地址匹配。若匹配,则将分组直接交付。 否则就是间接交付,执行(3)。 (3) 若路由表中有目的地址为 D 的特定主机路由,则将 分组传送给指明的下一跳路由器;否则,执行(4)。 (4) 对路由表中的每一行的子网掩码和 D 逐位相“与”, 若其结果与该行的目的网络地址匹配,则将分组传送 给该行指明的下一跳路由器;否则,执行(5)。 (5) 若路由表中有一个默认路由,则将分组传送给路由表 中所指明的默认路由器;否则,执行(6
15、)。 (6) 报告转发分组出错。,128.30.33.1,0,128.30.33.13,H1,子网1: 网络地址 128.30.33.0 子网掩码 255.255.255.128,128.30.33.130,1,R2,子网2:网络地址 128.30.33.128 子网掩码 255.255.255.128,H2,128.30.33.138,0,1,128.30.33.129,H3,128.30.36.2,子网3:网络地址 128.30.36.0 子网掩码 255.255.255.0,128.30.36.12,【例4-4】已知互联网和路由器 R1 中的路由表。主机 H1 向 H2 发送分组。试讨论 R1 收到 H1 向 H2 发送的分组后查找路由表的过程。,主机 H1 要发送分组给 H2,128.30.33.1,0,R1 的路由表(未给出默认路由器),128.30.33.13,H1,子网1: 网络地址 128.30.33.0 子网掩码 255.255.255.128,128.30.33.130,R1,1,R2,子网2:网络地址 128.30.