计算机网络湖科大微课堂笔记 p47-49 IPv4地址的应用规划IP数据报的发送和转发过程静态路由配置及其可能产生的路由环路问题
Posted karshey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络湖科大微课堂笔记 p47-49 IPv4地址的应用规划IP数据报的发送和转发过程静态路由配置及其可能产生的路由环路问题相关的知识,希望对你有一定的参考价值。
文章目录
IPv4地址的应用规划
- 定长的子网掩码FLSM
- 变长的子网掩码VLSM
定长的子网掩码FLSM
举例说明:
注意,两个路由器之间也要看成是一个网络。
因为要划分为5个子网,所有主机号中要借用3个比特作为子网号——23=8>5.
此时每个子网上的地址数量为:2(8-3)=32,也可以满足。
开始划分子网:
以此类推,得到答案:
变长的子网掩码VLSM
举例:
求主机号位数x:
2x >= 合计IP地址需求。
开始分配:
小结
IP数据报的发送和转发过程
举例说明:
有两个交换式以太网,用一个路由器连起来。
源主机和目的主机在同一个网络中:直接交付。
不在同一个网络中:间接交付。
如何判断源主机和目的主机是否在同一个网络中呢?
假设主机C要给主机F发送数据报:
则主机C把自己的IP与子网掩码相与,得到自己的网络号。
再把F的IP与C的子网掩码相与,得到F的网络号。
若C的网络号与F的相同,则它们在同一个网络中,可以直接交付。
否则不在同一个网络中,要间接交付。
那么,主机C如何知道路由器R的存在呢?
答:默认网关。
主机C的默认网关的地址就是对应路由器的接口的地址——主机C要转发出去的数据报都要先发送到默认网关对应的路由器再进行转发。
假设本例中的A要给D发数据报:是间接交付。
A的网络号与D的不同,则A要把数据发送给自己的默认网关,即192.168.0.126,则数据报传送到了路由器。
接下来是路由器的转发——
- 检查IP数据报的首部是否出错:若出错,则丢弃IP数据报并通告源主机;若没有出错,则进行转发
- 根据IP数据报的目的地址在路由表中查找匹配的条目:若找到,则转发给匹配条目的下一跳;否则,则丢弃IP数据报并通告源主机
这里我们假设A->D的IP数据报首部没有出错,则:
- 取出IP数据报首部的源地址(A)和目的地址(D)
- 查表转发:查找路由表中匹配的路由条目——将目的地址与路由条目中的地址掩码相与,若得到的网络地址与路由条目中的目的网络相匹配,则找到了,转发该IP数据报。
如图,这里找到了,则转发到接口1直连的IP地址。
假设主机A给本网络上的各设备发送了一个广播IP数据报
则该网络上的各主机都会收到该广播,路由器也会收到,但不会转发。
也就是说,路由器会隔离广播域。
如果路由器不会隔离广播域,则可能产生巨大的广播风暴。
同理,主机A给另一个网络发送广播数据报
路由器也不会转发。
小结
一些例题
例题1:
解:
D。
例题2:
解:
C。
省流:对IP分组头进行差错校验,若错了,则丢弃。而不是“不丢失”。
例题3:
解:
静态路由配置及其可能产生的路由环路问题
举例说明:静态路由配置
已知有一个这样的小型网络,路由表如图所示。
假设R1->R2,则查路由表,发现没有目的网络为R2的条目,此时我们可以使用路由器的相关配置命令,给R1添加一条达到该目的网络的路由条目。
则:
- 目的网络:192.168.2.0/24
- 下一跳:10.0.0.2
- 类型:静态
这就是如果R1要发送给R2的要参照的条目。
假设R2->R1,则查路由表,发现没有目的网络为R1的条目,此时我们也添加一条到达该目的网络的路由条目:
- 目的网络:192.168.1.0/24
- 下一跳:10.0.0.1
- 类型:静态
举例说明:默认路由
初始状态如图所示:
假设R1->因特网中某个主机,如图可知,R1的下一跳应该转发给R2的接口0,但是,因特网中网络很多,如果对每一网络都配置一条路由条目,会给人工配置带来巨大的工作量,使得路由表巨大,降低了查表速度。
实际上,对于有相同下一跳的不同目的网络的路由条目,我们可以用一条默认路由条目来替代。默认路由条目:
- 目的网络:0.0.0.0
- 地址掩码:0.0.0.0
- CIDR形式:0.0.0.0/0
对于本例,默认路由条目的下一条是R2接口0的地址10.0.0.2,类型是静态(因为也是由人工配置的)。
配置了默认路由后,对于本例,其实可以删除一条路由条目。
举例说明:特定主机路由
我们可以给路由器添加针对某个主机的特定主机路由条目,一般用于网络管理人员对网络的管理和测试。
举例说明:静态路由配置错误而导致路由环路
初始状态如图:
对于R2路由表的第一条人工配置的静态路由的第一个路由条目,它的意思是:若R2要转发一个IP数据报到目的网络192.168.1.0/24,则它的下一跳为10.0.0.1——这是我们配置的正确的路由条目。
假设我们把下一跳错误地改成10.0.1.2,即把下一跳改为R3的接口0:R3接收到IP数据报后进行查表转发,找到了匹配的路由条目,其下一跳为10.0.1.1,即R2的接口1,R2收到IP数据报后进行查表转发,下一跳又为10.0.1.2——显然,由于我们静态路由配置错误,导致R2和R3之间产生了路由环路。
注意右上角:为了防止IP数据报在路由环路中永久兜圈,在IP数据报首部设有生存时间TTL字段。IP数据报进入路由器后,TTL字段-1,若为0则丢弃。
举例说明:聚合了不存在的网络而导致路由环路
假设R2要转发IP数据报到网络192.168.2.0/24,进行查表转发,找到了匹配的路由条目,下一跳为10.0.0.1,R1收到该IP数据报后,查表转发,下一跳为接口2直接交付。
如下图:
我们来看看192.168.0.0/22这条聚合路由的细节,它包含了以下四个网络,但这四个网络并不是都存在:
- 192.168.0.0/24 不存在
- 192.168.1.0/24
- 192.168.2.0/24
- 192.168.3.0/24 不存在
假设R2要转发IP数据报给网络192.168.3.0/24,这个网络不存在,但是查表转发查到了(目的网络为192.168.0.0/22),则下一跳会发往10.0.0.1,也就是R1的接口1,R1也查表,也查到了(目的网络为0.0.0.0/0),下一跳为10.0.0.2,也就是R2的接口0——显然,R1与R2之间产生了路由环路。
针对这种情况,我们可以针对聚合网络中的不存在的网络添加黑洞路由。
当下一跳是null0时,路由器会丢弃该IP数据报。
假设R2要发送IP数据报到网络102.168.3.0/24,进行查表转发,找到了两条匹配的路由条目:
- 192.168.0.0/22
- 192.168.3.0/24
根据最长前缀匹配原则,将会选择这条不存在的网络的黑洞路由,它的下一跳是虚拟接口null0,则IP数据报会被丢弃。
举例说明:网络故障而导致路由环路
==假设路由器R1检测到了其接口0所直连的网络出现了故障而不可达,就会自动在其路由表中删除该直连网络的路由条目。==之后,R2要转发IP数据报到该网络,查表找到下一跳为10.0.0.1,即R1的接口1。R1收到该IP数据报后,进行查表转发,找不到该IP数据报的目的网络的相关路由条目,则走默认路由,下一跳为10.0.0.2,即R2的接口0——显然,R1和R2之间形成了路由环路。
针对这种情况,我们可以在R1路由表中添加针对该不可达网络的黑洞路由,这样,就不会产生路由环路了。
一段时间后,若故障消失了,则该黑洞路由条目自动失效,且自动配置的路由条目会重新出现。
小结
以上是关于计算机网络湖科大微课堂笔记 p47-49 IPv4地址的应用规划IP数据报的发送和转发过程静态路由配置及其可能产生的路由环路问题的主要内容,如果未能解决你的问题,请参考以下文章
计算机网络湖科大微课堂笔记 p54-57 IPv4数据报的首部格式网际控制报文协议ICMP虚拟专用网VPN与网络地址转换NAT
计算机网络湖科大微课堂笔记 p17-18 编码与调制信道的极限容量
计算机网络湖科大微课堂笔记 p24-27 可靠传输的基本概念和实现机制