0
点赞
收藏
分享

微信扫一扫

计算机网络微课堂——第四章—网络层(下)

小迁不秃头 2022-01-06 阅读 70
  • 5.4 聚合了不存在的网络而导致路由环路

上例子:
在这里插入图片描述

好了,回到例子中,当R2转发IP数据报到绿色网络以及橙色网络时可以正常转发,就不赘述了。下面讲解会产生路由回路的情况。

实际上聚合路由‘192.168.0.0/22’中,包含了四个网络,如下图所示:
在这里插入图片描述
其中,绿色网络 和 橙色网络是实际存在的。而两个黑色网络在本例中是不存在的。
当R2给黑色网络发送IP数据报时,查表转发,走聚合路由,发送给R1,然后R1查表转发,由于黑色网络不存在,所以只能走默认路由,而默认路由的下一跳又是R2,这就又套娃了。如下图所示:
在这里插入图片描述

针对这种路由环路,使用黑洞路由来解决他:

黑洞路由:IP数据报进入黑洞路由则会被路由器直接丢弃,而不转发。
在这里插入图片描述
有了黑洞路由后,当R2再次尝试给黑色网络发送数据报时,能找到两条可选的路由条目,但是根据最长前缀匹配,选择了走黑洞路由。数据报被丢弃,这样就解决了路由环路问题。
在这里插入图片描述

  • 5.4 聚合了不存在的网络而导致路由环路

上例子:
在这里插入图片描述

好了,回到例子中,当R2转发IP数据报到绿色网络以及橙色网络时可以正常转发,就不赘述了。下面讲解会产生路由回路的情况。

实际上聚合路由‘192.168.0.0/22’中,包含了四个网络,如下图所示:
在这里插入图片描述
其中,绿色网络 和 橙色网络是实际存在的。而两个黑色网络在本例中是不存在的。
当R2给黑色网络发送IP数据报时,查表转发,走聚合路由,发送给R1,然后R1查表转发,由于黑色网络不存在,所以只能走默认路由,而默认路由的下一跳又是R2,这就又套娃了。如下图所示:
在这里插入图片描述

针对这种路由环路,使用黑洞路由来解决他:

黑洞路由:IP数据报进入黑洞路由则会被路由器直接丢弃,而不转发。
在这里插入图片描述
有了黑洞路由后,当R2再次尝试给黑色网络发送数据报时,能找到两条可选的路由条目,但是根据最长前缀匹配,选择了走黑洞路由。数据报被丢弃,这样就解决了路由环路问题。
在这里插入图片描述

  • 5.5 网络故障而导致路由环路

上例子,其中橙色网络出现故障,如下图所示:
在这里插入图片描述
R1能够检测到其接口0所连接的橙色网络出现故障,并自动在路由表中删除该目的网络
在这里插入图片描述
此时R2要给橘色网络发送数据报,查表转发,发给了R1的接口1,然后R1继续查表转发,找不到目的网络的路由记录,所以走默认路由的下一跳,又转发给了R2,这就又套娃了。如下图所示:
在这里插入图片描述
仍然可以人工配置黑洞路由来解决这种环路,当路由表中某个路由记录的目的网络故障时,人工添加针对该网络的黑洞路由,R2再发送数据报给R1时,R1就会直接丢弃,如下图所示:
在这里插入图片描述
若橙色网络又恢复正常,R1能自动得到其路由记录并写入路由表,之前针对橙色网络的黑洞路由自动失效,假设橙色网络又出了故障,R1能自动删除其路由条目,并自动生效之前的黑洞路由。也就是说只要第一次配置好黑洞路由,以后路由器就能自动管理针对某个网络的黑洞路由和普通路由。

6、路由选择协议

  • 6.1 概述

    • 6.1.1 静态 和 动态 路由选择
      路由选择协议分为 静态路由选择 和 动态路由选择两种:(如图)
      在这里插入图片描述
    • 6.1.2 因特网采用的路由选择协议特点在这里插入图片描述分层次举例:一个因特网供应商就可划为一个自治系统,系统内部和外部采用不同的路由选择协议,分别进行路由选择。如下图所示:在这里插入图片描述
    • 6.1.3 常见的路由选择协议
      在这里插入图片描述
    • 6.1.4 路由器的基本结构

路由器:有多个输入输出端口的 用于转发分组的 专用计算机。
路由器可分为两大部分(如下图所示):
在这里插入图片描述其中核心(大脑)部分是路由选择部分,功能是:根据使用的路由选择协议,周期性的 与其他路由器进行信息交互,从而更新路由表。
分组转发部分也可以划分为两个部分:交换结构 和 输入输出端口。其实路由器的端口都具有输入和输出功能,上图中分开是以便理解接收 转发分组的过程。

注:
  • 路由选择处理机还会周期性 给其他路由器 发送自己知道的路由信息。
  • 路由器有 输入输出缓冲区 ,可以暂存 收不过来或发不过来 的分组。
  • 6.2 路由信息协议RIP(Routing Information Protocol)

RIP的一些特性:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里说的路由表并不是严格意义上的路由表,理解其意思即可。
在这里插入图片描述
那么交换信息用来做什么呢?
用于更新‘路由条目’。发送方发送RIP更新报文,更新接收方的‘路由表’。以下图为例:来讲解C如何发送RIP更新报文(可以理解为C的‘路由表’)来更新D的‘路由表’。
在这里插入图片描述
RIP更新报文并不包含C‘路由表’中下一跳的信息,因为用C来更新D的话,顶多是把D的下一跳改成C,和C的下一跳无关。
D拿到C的‘路由表’后,先对所有目的网络的距离+1,因为D和这些目的网络已经隔了C这一层厚障壁,然后把下一跳全改成C,因为现在是打算用C来更新D,然后就可以更新自己的‘路由表’了。更新原则如下图所示:
在这里插入图片描述
了解以上知识,就能理解一个网络从刚建立,到完成RIP协议的完成过程,如下图所示:
在这里插入图片描述
在这里插入图片描述

RIP的坏消息传得慢的问题:

上例子,在下图所示的一个网络中:
在这里插入图片描述
假设网络N1突然出故障了,这时R1‘路由表’中对N1的记录应该为16,并等待RIP更新周期到时候,发送RIP更新报文提醒R2 网络N1连不上了,如下图所示:
在这里插入图片描述但是嘞,由于坏消息传得慢,R2先来更新R1了,如下图所示:
在这里插入图片描述
然后网络N1不可怜的信息就被覆盖了,R1就被这个RIP更新报文误导:认为可以通过R2到达N1。就这样R1的‘路由表’错误的被更新成了“N1 3 R2”,如下图所示:
在这里插入图片描述然后就又是相互套娃的过程,直到他们到N1的距离增加到16(也就是收敛),如下图所示:
在这里插入图片描述在套娃的过程中,R1和R2 也算是一个路由环路了,这个环路长达数分钟。
在这里插入图片描述
针对坏消息传得慢问题,有以下几种措施来防范:
在这里插入图片描述
但即便有了这些措施,还是不能完全解决坏消息传得慢带来的影响。

注:若某路由器检测到某网络发生故障,则该路由器必与该网络直连。


  • 例题:
    在这里插入图片描述

  • 6.3 开放最短路径优先OSPF(Open Shortest Path First)

这个OSPF协议乱得很,总的来说 这个协议用大量操作使得每个路由器内 都有他所在的那个自治系统的网络拓扑图,因此每个路由器都能结合这个图 + Dijkstra算法 求出到目的网络的‘最短路’,然后就能构建出效率最高的路由表了。下面的这些概念你都可以把他们往这个大的思路上去靠,就会稍微清晰一点了。

在这里插入图片描述
在这里插入图片描述
这个代价是不是很像权值?但他不完全是,因为要考虑的因素有很多,可以把它看成全职的一部分。拿上面的带宽来说的话,带宽越大代表权值越小。
在这里插入图片描述

在这里插入图片描述
泛洪转发就是向所有路由器转发。
在这里插入图片描述
每个路由器都把 周围链路的状态 收集起来,四处发送,尽快让所有路由器都生成 整个网络的拓扑图,存在路由器各自的数据库里面,然后每个路由器就都能用Dijkstra算法了。
如下图所示:
在这里插入图片描述
OSPF的实际工作过程:
就是一个 通过发送上述五个分组,不断 完善 更新 链路状态数据库的过程。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 6.4 边界网关协议BGP

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

7、IPv4数据报的首部格式

IPv4数据报首部的格式,如下图所示:
在这里插入图片描述

每个小格子称为字段 或 域,下面介绍每个字段的功能。

在这里插入图片描述
在这里插入图片描述

首部长度字段的单位是4字节,也就是说首部的长度只能是4字节的整数倍。因此才有了填充字段,用于补0使长度满足4字节整数倍。

在这里插入图片描述在这里插入图片描述

标识,标志,片偏移字段:这三个字段共同用于IP数据报分片。

为什么要分片呢?
数据链路层对MAC帧的长度有要求,若IP数据报太长则需要分片。如下图所示:
在这里插入图片描述
这三个字段的功能如下:
在这里插入图片描述

上个例子,如下图:
在这里插入图片描述
假设分片2还需要进行分片,如下图:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
例题:

7、网际控制报文协议ICMP

  • 7.1 ICMP概述

在这里插入图片描述差错报告报文 和 询问报文 有着不同的功能,下面主要围绕这两种功能来讲解。

  • 7.2 ICMP差错报告报文

差错报告报文共有五大类,下面逐一讲解。

终点不可达:

在这里插入图片描述
R1中没有网络N3的路由记录,默认路由,以及H2的特定主机路由,那只能丢弃,并向源主机发送报告。

源点抑制:

在这里插入图片描述
注:ICMP协议的使用范围是网络层,并不局限于路由器,主机也可以发送ICMP差错报告报文。
在这里插入图片描述

时间超过:

在这里插入图片描述
另外,对于分片数据报,终点在规定时间内收不到整个数据报的所有分片时,会把已收到的数据报片全丢掉。

参数问题:

在这里插入图片描述

改变路由:

在这里插入图片描述

注:

在这里插入图片描述
这与差错报告报文的类型无关。

  • 7.3 常用的ICMP询问报文

共有两大类。
在这里插入图片描述

  • 7.4 ICMP的应用

    • 7.4.1 分组网间探测PING(Packet InterNet Groper)

也就是Windows命令行中的命令 ping

ping一下我们学校官网:
在这里插入图片描述

    • 7.4.2 路由跟踪 traceroute

关于traceroute:
在这里插入图片描述
traceroute的实现原理:
源主机发送一个IP数据报,里面封装有ICMP回送请求和回答,关键点在于他首部的的TTL字段,该字段的初值为1,也就是说源主机发送的的第一个数据报只能到达一个路由器,然后在这个路由器TTL=0,这个路由器发送时间超过ICMP差错报告报文,好了,已经跟踪到了源主机到目的主机途径的第一个路由器了,下一步,只要将TTL字段的值改成2就能跟踪到第二个路由器,以此类推,还没完,直到源主机发送的数据报成功到达目的主机,目的主机拆开一看,是个ICMP回送请求和回答报文,那他必须得回应,源主机收到回答报文,就知道已经跟踪到了路径中的最后一站。(部分过程如下图所示)
在这里插入图片描述在这里插入图片描述

8、虚拟专用网VPN 和 网络地址转换NAT

  • 8.1 虚拟专用网VPN(Virtual Private Network)

引例:
在这里插入图片描述
所以只能使用无需申请的可自由分配的专用地址(Private-Use,下图中标粉的IP):
在这里插入图片描述
汇总一下就是下面这些IP:
在这里插入图片描述

但是使用私有地址又有一个问题,私有地址只能用于公司内部通信,他无法用于和因特网上的主机通信。换句话说:私有地址只能用作本地地址,而不能用于全球地址。

所以引例中的两个部门还是不能通信。怎么着每个部门也得至少有一个全球IP地址,然后私有地址才有可能通过全球IP访问因特网。如下图中两个橙色IP地质所示:在这里插入图片描述
那么私有地址如何通过全球IP访问因特网呢?这就是VPN解决的问题。
既然R1,R2有全球IP,那A、B间的数据报必要经过这两个路由器。
部门内:
跨部门通信的主机仍然正常组装IP数据报,源地址目的地址都使用部门内的私有IP。然后数据报给到R1、R2。
部门外:
R1,R2要改装通过的数据报:给整个数据报打包,并加密,作为新的数据载荷,然后加上新的首部,改装后的数据报就能在因特网中传输了。如下图所示:
在这里插入图片描述
在这里插入图片描述

  • 8.2 网络地址转换NAT(Network Address Translation)

    • 8.2.1 引入
      在这里插入图片描述

简单来说就是:NAT能让使用私有地址的主机访问因特网。
我们平时家里用的网就是NAT。

    • 8.2.2 NAT的原理

私有IP主机分时共享使用全球IP
在这里插入图片描述

路由器上必须装NAT软件。路由器把发过来的数据报中的私有地址替换成全球IP,并记录下两个IP的映射关系,在接收因特网传回数据报时通过这个映射,把数据报顺利给到目的主机。
在这里插入图片描述
多个私有IP要访问因特网:
在这里插入图片描述
那…因特网要是主动想给专用网发数据报呢?
可以到是可以,但是需要通过一些特殊手段,这里不赘述。
在这里插入图片描述在这里插入图片描述

举报

相关推荐

0 条评论