【计网】第四章 网络层

news2024/11/27 2:39:16

文章目录

  • 4.1-1 网络层概述
  • 4.1-2 SDN 的基本概念
    • 一、路由器功能:转发,路由选择
    • 二、数据平面
    • 三、控制平面介绍
      • (1)传统方法/每路由器法
      • (2)SDN 方法:Software-Defined Networking
    • 四、控制平面中的路由选择处理器
    • 五、SDN 控制平面
    • 六、SDN 控制器的三个层次
  • 4.2-1 路由算法与路由协议概述
    • 一、路由算法
    • 二、路由算法的分类
    • 三、分层次的路由选择协议
  • 4.3-1 IP 数据报格式
    • 一、TCP/IP 协议栈
    • 二、IP 数据报格式
  • 4.3-2 IP 数据报分片
    • 一、最大传输单元 MTU
    • 二、IP 数据报分片例题
    • 三、IP 数据报格式中的单位
  • 4.3-3 IPv4地址
    • 一、IP 地址
    • 二、IP 编址的历史阶段
    • 三、分类的 IP 地址
    • 四、互联网中的 IP 地址
    • 五、分类的 IP 地址(A 类、B 类、C 类、D 类、E 类)
    • 六、特殊 IP 地址(实际当中不能使用,比较特殊)
    • 七、私有 IP 地址
  • 4.3-4 网络地址转换 NAT
    • 一、网络地址转换 NAT
  • 4.3-5 子网划分和子网掩码
    • 一、子网划分出现的问题
    • 二、子网划分
    • 三、子网掩码
    • 四、子网掩码习题(!求网络地址)
    • 五、使用子网时分组的转发
  • 4.3-6 无分类编址 CIDR
    • 一、无分类编址 CIDR
    • 二、CIDR 应用一——构成超网
    • 三、CIDR 应用二——最长前缀匹配
  • 4.3-7 ARP 协议
    • 一、发送数据的过程
    • 二、ARP 协议特点
  • 4.3-8 DHCP 协议
    • 一、主机如何获得 IP 地址
    • 二、DHCP 协议
  • 4.3-9 ICMP 协议
    • 一、TCP/IP 协议栈
    • 二、网际控制报文协议 ICMP
    • 三、ICMP 差错报告报文(5种)
    • 四、ICMP 差错报告报文数据字段
    • 五、不应发送 ICMP 差错报文的情况
    • 六、ICMP 询问报文
    • 七、ICMP 的应用
  • 4.4-1 IPv6
    • 一、为什么要有 IPv6
    • 二、IPv6 数据报格式
    • 三、IPv4 与 IPv6 区别
    • 四、IPv6 地址表示形式
    • 五、IPv6 基本地址类型
    • 六、IPv6 向 IPv4 过度的策略
    • 七、总结 思维导图
  • 4.5-1 RIP 协议与距离向量算法
    • 一、路由选择协议分类回顾
    • 二、RIP 协议
    • 三、RIP 协议和谁交换?多久交换一次?交换什么?
    • 四、距离向量算法
    • 五、距离向量算法
    • 六、RIP 协议报文格式
    • 七、RIP 协议好消息传得快,坏消息传得慢
    • 八、总结思维导图
  • 4.5-2 OSPF 协议及链路状态算法
    • 一、路由选择协议分类回顾
    • 二、OSPF 协议
    • 三、链路状态路由算法
    • 四、OSPF 的区域
  • 4.5-3 BGP 协议
    • 一、路由选择协议分类回顾
    • 二、BGP 协议
    • 三、BGP 协议交换信息的过程
    • 四、BGP 协议报文格式
    • 五、BGP 协议特点
    • 六、BGP-4 的四种报文
    • 七、三种路由协议比较
  • 4.6-1 IP 组播
    • 一、IP 数据报的三种传输方式
    • 二、IP 组播地址
    • 三、硬件组播
    • 四、IGMP 协议与组播路由选择协议
    • 五、网际组管理协议 IGMP
    • 六、IGMP 工作的两个阶段
    • 七、组播路由选择协议
    • 八、总结思维导图
  • 4.7-1 移动 IP
    • 一、移动 IP 相关概念
    • 二、移动 IP 通信过程
  • 4.8-1 网络层设备
    • 一、路由器
    • 二、输入端口对线路上收到的分组处理![在这里插入图片描述](https://img-blog.csdnimg.cn/e2e2267b7f574e5f9e606f6f35690823.png)
    • 三、输出端口将交换结构传送来的分组发送到线路![在这里插入图片描述](https://img-blog.csdnimg.cn/bbb2dedc5fdb4ac7bd65e01e34424500.png)
    • 四、三层设备的区别
    • 五、路由表与路由转发


4.1-1 网络层概述

在这里插入图片描述
网络层是路由器最高层。

转发发生在路由器内部(微观),路由选择发生在路由器外部(宏观路由器之间)。

网络层:主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。

网络层的传输单位是数据报。(把数据报切割成分组

网络层功能:

(1)路由选择与分组转发,确定最佳路径

(2)实现异构网络互联(手机、电脑、4G、WiFi、校园网,依靠路由器连接在一起)

(3)拥塞控制:若所有结点都来不及接收分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞。

拥塞解决方法:开环控制(静态,提前规划),闭环控制(动态,运行时调整)
在这里插入图片描述

4.1-2 SDN 的基本概念

一、路由器功能:转发,路由选择

在这里插入图片描述

转发:达到路由器输入链路之一的数据报如何转发到该路由器的输出链路之一

路由选择:控制数据报沿着从源主机到目的主机的端到端路径中路由器之间的路由方式。

数据平面 数据平面对于数据处理过程中各种具体处理转发过程。(转发。数据平面用时短,通常用硬件解决)

控制平面:控制平面用于控制和管理网络协议的运行,比如 OSPF 协议、RIP 协议,BGP 协议。(路由选择。控制平面用时长,通常用软件解决)

二、数据平面

数据平面执行的主要功能是根据转发表进行转发,这是路由器的本地动作。
在这里插入图片描述

三、控制平面介绍

(1)传统方法/每路由器法

在这里插入图片描述

控制平面(传统方法)路由选择算法运行在每台路由器中,并且在每台路由器中都包含转发和路由器选择两种功能

具体方法:在一台路由器中的路由选择算法与其他路由器中的路由选择算法通信(通过交换路由选择报文),计算出路由表和转发表。

(2)SDN 方法:Software-Defined Networking

在这里插入图片描述

控制平面(传统方法):控制平面从路由器物理上分离路由器仅实现转发,远程控制器计算和分发转发表以供每台路由器所使用。

远程控制器可能在具有高可靠性的远程数据中心中,并可能由 ISP 或某些第三方管理。(外置大脑)
在这里插入图片描述

具体方法:路由器通过交换包含转发表和其他路由选择信息的报文与远程控制器通信。因为计算转发与路由器交互的控制器是用软件实现的,所以网络是“软件定义的”。

四、控制平面中的路由选择处理器

在这里插入图片描述

传统方法路由选择处理器执行控制平面功能。在传统的路由器中,它执行路由选择协议,维护路由选择表关联链路状态信息,并为该路由器计算转发表。

SDN 方法:在 SDN 路由器中,路由选择处理器负责远程控制器通信,目的是接受远程控制器计算的转发表项。

五、SDN 控制平面

在这里插入图片描述

  1. SDN 控制器:维护准确的网络状态信息(远程链路,路由器和主机的状态);为运行在控制平面中的网络控制应用程序提供这些信息(逻辑集中,在多台服务器上实现)

  2. 网络控制应用程序:根据 SDN 控制器提供的方法,这些应用程序通过这些方法能够监视、编程和控制下面的网络设备。

北向 API 向上,南向 API 向下

六、SDN 控制器的三个层次

在这里插入图片描述

上层,北向 API 以上:
对于网络控制应用程序的接口:SDN 控制器通过“北向接口”与网络控制应用程序交互,该 API 允许网络控制应用程序在状态管理层之间读写网络状态。

中层,SDN 控制器部分:
网络范围状态管理层:由 SDN 控制平面作出的最终控制决定,将要求控制器具有有关网络的主机、链路等最新状态信息。

下层,南向 API 以下:

通信层:SDN 控制器与受控网络设备之间的通信(OpenFlow 协议),包含“南向接口”。

**习题:

  1. 假定你要在 SDN 控制平面中实现一个新型路由选择协议,你将在哪个层次中实现该协议?**

网络范围状态管理层。因为在这一层能获得有关网络的主机,链路,交换机和其他 SDN 控制设备的最新状态信息,可以根据这些信息的基础上实现新型路由选择协议,并通知给控制器落地执行。

2. 谁是从控制器跨越南向接口发送的这些报文的接收者?谁是跨越北向接口从控制器发送的这些报文的接受者?

① 受控网络设备(路由器);② 网络控制应用程序;

总结:

数据平面(转发):从哪个出站口等车;
控制平面(路由选择):本地火车站(传统方法)或者远程中央火车站为你规划线路(SDN),车的下一站到哪;
SDN:上层是聪明的应用程序来计算,中层上下层的衔接,给出最终路线,下层是被 SDN 控制的本地火车站;

4.2-1 路由算法与路由协议概述

一、路由算法

最佳路由:“最佳”只能是相对于某一种特定要求下得出的较为合理的选择而已。
在这里插入图片描述

二、路由算法的分类

在这里插入图片描述

三、分层次的路由选择协议

在这里插入图片描述

4.3-1 IP 数据报格式

一、TCP/IP 协议栈

在这里插入图片描述

二、IP 数据报格式

固定部分:对任一 ip 数据报,它的固定部分大小都相同且一定会有,为 20 字节。

可变部分:可有可无,大多数情况狂下没有可变部分。
在这里插入图片描述

首部长度:IP 数据报首部固定部分为 20B,所以最低为 20B。转换成十进制就是需要 20/4 = 5 个单位(1 个单位 4B),5 转换成 2 进制是 0101(首部长度共4B,容纳四个数字),首部长度最小值为 0101。

填充部分:填充成 4 的整数倍,因为数据报单位为“位”,而首部长度使用的单位是4B。

总长度:共 16 位,最大可达 216−1=65535(单位 1字节)。

协议:指数据部分协议。TCP 面向服务的连接,字段值为 6;UDP 不面向连接,字段值为 17。
在这里插入图片描述在这里插入图片描述

4.3-2 IP 数据报分片

一、最大传输单元 MTU

链路层数据帧可封装数据的上限。以太网的 MTU 是 1500 字节。
在这里插入图片描述

数据帧的数据部分太大时就需要分片。
在这里插入图片描述

二、IP 数据报分片例题

在这里插入图片描述

三、IP 数据报格式中的单位

在这里插入图片描述

4.3-3 IPv4地址

一、IP 地址

IP 地址:给网络中每一台主机接口、路由器接口都赋予一个全球唯一化的标识符。

二、IP 编址的历史阶段

分类的 IP 地址 → 子网的划分 → 构成超网(无分类编址方法)

三、分类的 IP 地址

在这里插入图片描述

四、互联网中的 IP 地址

一个路由器下的主机地址只有最后一位不同,一个路由器可以有多个地址(因为它有多个接口)。
在这里插入图片描述

五、分类的 IP 地址(A 类、B 类、C 类、D 类、E 类)

在这里插入图片描述

六、特殊 IP 地址(实际当中不能使用,比较特殊)

在这里插入图片描述

{<全0>, <全0>}:只可以作为 IP 分组的源地址,表示本网范围内的当前主机,而不可以作为 IP 分组目的地址;

{<全0>, <特定值>}:可作为源地址,表示本网内的某一个特定主机,不可作为目的地址;

{<全1>, <全1>}:点分十进制表示为 255.255.255.255 ,不可作为源地址,可作为目的地址,表示本网络内的广播地址,发送给了本网内的所有主机,也可以叫做受限地址,路由器会因为隔离广播域而不转发该广播;

{<特定值>, <全0>}:不可以作为源地址,不可以作为目的地址,表示本网;

{<特定值>, <全1>}:不可以作为源地址,可以作为目的地址,对特定网络上的所有主机广播,也就是对其他网络上所有主机进行广播;

{<127>, <任何数(非全 0/1)>} : 例子中的 127 为 a 类网络,用于本地环回测试来测试网络功能,发出去就回来了,不会进入网络,称为环回地址,可以作为源地址,也可以作为目的地址;

七、私有 IP 地址

在这里插入图片描述

这些只适用于内部网络,比如本网、本地网、专用网,例如学校,单位。

路由器对目的地址是私有 IP 地址的数据报一律不进行转发。

4.3-4 网络地址转换 NAT

一、网络地址转换 NAT

网络地址转换 NAT (Network Address Translation):在专用网连接到因特网的路由器上安装 NAT 软件,安装了 NAT 软件的路由器叫 NAT 路由器,他至少有一个有效的外部全球 IP 地址

NAT 转换表中,第一列 WAN 端为广域网段(外网),第二列 LAN 端为局域网端(内网)。

端口号可以唯一的标识主机当中的某一个具体进程,在同一主机内,不同进程的端口号是不同的。
在这里插入图片描述

从 A 发送到 B 的过程中,数据报在 A 处,前面加源地址,后面加目的地址,端口号,通过 NAT 路由器时,源地址和目的地址被替换;

从 B 发送到 A 的过程中,数据报在 B 处,前面加源地址,后面加目的地址,端口号,通过 NAT 路由器时,源地址和目的地址被替换,替换规则在 NAT 转换表里;

4.3-5 子网划分和子网掩码

一、子网划分出现的问题

在这里插入图片描述

分类 IP 地址的弱点:

  1. IP 地址空间的利用率有时很低;

  2. 二级 IP 地址不够灵活;

二、子网划分

主机号不能全 0 或者全 1,所以主机号至少两位;

子网号需看情况,如果应用到 CIDR 技术就可以全 0 和全 1;
在这里插入图片描述在这里插入图片描述

三、子网掩码

在这里插入图片描述

四、子网掩码习题(!求网络地址)

(1)已知 IP 地址是 141.14.72.24,子网掩码是 255.255.192.0,求网络地址。

第一步,明白解题思路。应该把 IP 地址与子网掩码的“点分十进制”转化为二进制的形式,做“逻辑与运算”。

第二步,简化运算。因为两级 IP 地址要与两级 IP 地址的二进制子网掩码做“逻辑与运算”(全 1 为 1),所以后面子网掩码的 255 化为十进制就是 1111 1111 (8 个 1),141.14 部分就不用再转化为二进制了,即使转化了,逻辑与运算之后得到的结果转化为点分十进制还是 141.14;

第三步,将两个地址中的第三个字节 72,192 转化成二进制,逻辑与运算之后结果是 0100 0000,转换成十进制为 64;
在这里插入图片描述

第四步,网络地址结果转换为点分十进制为 141.14.64.0

(2)已知 IP 地址是 141.14.72.24,子网掩码是 255.255.224.0,求网络地址。

修改第三步,将 72 与 224 转换成八位二进制,再做按位与运算,将结果转换成十进制;
在这里插入图片描述

结果 0100 0000 转换成十进制是 64,最后的网络地址仍然是 141.14.64.0

观察(1)题第一个子网掩码 255.255.192.0,第三个字节 192 转化为二进制为 1100 0000,子网号占了 2 位,第三字节还有剩下的 6 位,第四字节还有剩下的 8 位,给主机号留了 6 + 8 = 14 位;

观察(2)题第一个子网掩码 255.255.224.0,第三个字节 224 转化为二进制为 1110 0000,子网号占了 3 位,第三字节还有剩下的 5 位,第四字节还有剩下的 8 位,给主机号留了 5 + 8 = 13 位;

得出结论:相同的网络地址,可以划分的子网个数、以及每一个子网中可以使用的最大主机数是不同的。

八位二进制与十进制转换表 128、64、32、16、8、4、2、1
在这里插入图片描述

Q1:有一个IP地址为192.168.1.200,子网掩码是255.255.255.224,要求计算其网络地址,主机地址和广播地址。
在这里插入图片描述https://blog.csdn.net/jiudihanbing/article/details/6022969

3)某主机的 IP 地址为 180.80.77.55,子网掩码为 255.255.252.0.若该主机向其所在子网发送广播分组,则目的地址可以是( )。

A. 180.80.76.0

B. 180.80.76.255

C. 180.80.77.255

D. 180.80.79.255

广播分组就是广播地址,目的地址一定是一个广播地址,广播地址主机号全是 1 (IP 地址={<网络号>,<主机号>}),排除 A 选项;

子网掩码第三字节 252 转换成二进制为 1111 1100,前面 8 + 8 + 6 = 22 位为子网号,后面 2 + 8 = 10 位作为主机号;

IP 地址 180 开头属于 B 类地址,前两个字节(16 位)作为网络号;6 位子网号,10 位主机号;

第三个字节为 77,转换成 8 位二进制为 0100 1101,子网号占 6 位,0100 1100 转换成十进制为 77,180.80.77.0 为主机所占的子网号;

广播分组就是目的地址为全部主机,需要把剩下的主机号全设为 1,第三字节就变成了 0100 1111 即 79, 180.80.79.255 选 D。

五、使用子网时分组的转发

Q:如何判断是否直接交付?

A:目的网络子网掩码和路由器中存放的三个字网的子网掩码进行“逻辑与”运算,如果结果能得出目的网络地址,就说明能直接交付。

图中画起来的目的网络子网掩码 1 为 145.13.3.10 根据子网号可得子网掩码为 255.255.255.0,进行“逻辑与”运算之后结果为 145.13.3.0 所以它为直接地址。
在这里插入图片描述

4.3-6 无分类编址 CIDR

CIDR 出现的原因:B 类地址要被分完了;将网络号和子网号统一称为“网络前缀”,它是可变的。
在这里插入图片描述

一、无分类编址 CIDR

在这里插入图片描述

例如 CIDR 地址 192.199.170.82/27 中,/27 表示网络号占了 27 位,则主机号剩下了 4*8-27=5 位,

这个地址块包含 25=32个地址,

第四字节为 82,即 0101 0010,最小地址 0100 0000 ,即 192.199.170.64;最大地址 0101 1111,即 192.199.170.95,

CIDR 地址块为主机号全 0 的最小地址,表示本网络;

子网掩码为:前 27 位为 1,主机号为 0;

二、CIDR 应用一——构成超网

路由器 R1 的路由表中,到达网络 1 与网络 2 都需要通过接口 a,造成了数据冗余。

将多个子网聚合成一个较大的子网,叫做构成超网,或路由聚合。

解决方法:将网络前缀缩短(所有网络地址取交集)。
在这里插入图片描述

例题

某路由表中有转发接口相同的 4 条路由表项,其目的网络地址分别为

35.230.32.0/21、

35.230.40.0/21、

35.230.48.0/21、

35.230.56.0/21,将该 4 条路由聚合后的目的网络地址为( )。

A. 35.230.0.0/19

B. 35.230.0.0/20

C. 35.230.32.0/19

D. 35.230.32.0/20

前 21 位为网络地址,即前两字节加第三字节的 5 位

第三字节转换成八位二进制再按位与

32 0010 0000

40 0010 1000

48 0011 0000

56 0011 1000

结果 0010 0000 ,将前3 位划给网络号,即 35.230.32.0/19

三、CIDR 应用二——最长前缀匹配

使用 CIDR 时,查找路由表可能得到几个匹配结果(跟网络掩码按位相与),应选择具有最长网络前缀的路由。

聚合网络地址:206.0.68.0/22

网络一:206.0.71.128/25

网络二:206.0.71.0/25

一个目的地址为 206.0.71.130 的数据报想发给网络一。

71 0100 0111

130 1000 0010

将目的地址和网络掩码进行按位相与,

聚合网络地址的子网掩码为:(前 22 位为网络号,全1)
在这里插入图片描述

恰好是聚合网络地址,匹配成功,还要计算另外两个网络地址网络掩码,看是否有更长的一个网络前缀。

网络一:206.0.71.128/25 网络掩码为前 25 位为网络号,全 1
在这里插入图片描述

网络二:206.0.71.0/25 网络掩码为前 25 位为网络号,全 1
在这里插入图片描述

匹配失败,不能发给网络二。

发给网络一的网络前缀更长,所以发给网络一。

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

解题思路:想看能不能匹配成功,再看匹配成功的哪个网络前缀最长,就选哪个。

最后一行全 0 的目的网络代表默认路由,路由器的路由表中,所有网络都匹配不上的话,才用默认路由;

R1 匹配之后的结果应该为:132.0.0.0/8

R2 匹配之后的结果应该为:132.0.0.0/11

R3 匹配之后的结果应该为:
在这里插入图片描述

不匹配,R1 与 R2 相比 R2 网络掩码更长,选 R2。

4.3-7 ARP 协议

处于链路层和网络层中间的协议,结合了 IP 地址与 MAC 地址。

一、发送数据的过程

主机 1,向主机 3 发送数据的过程,当主机 1 找不到主机 3 的 MAC 地址时,就广播 ARP 分组请求,问遍局域网内 所有的主机,来得到主机 3 的回应。
在这里插入图片描述

当主机 1 与主机 5 行进通话时,首先得到的目的 MAC 地址得到的是 MAC6;MAC7 再与 MAC8 通信,MAC9 再与 MAC5通信;
在这里插入图片描述

路由器会再次使用 ARP 协议进行广播,找目的 MAC地址。
在这里插入图片描述

二、ARP 协议特点

ARP 协议的产生:在实际网络的链路上传送数据帧时,最终必须使用 MAC 地址。

有的主机在自己的高速缓存中找不到目的主机对应的 MAC 地址,就需要用 ARP 协议帮助自己找下一跳。

ARP 协议:完成主机或路由器 IP 地址到 MAC 地址的映射。(解决下一跳走哪的问题)

ARP 协议使用过程:检查 ARP 高速缓存,有对应表项则写入 MAC 帧,没有则用目的 MAC 地址为 FF-FF-FF-FF-FF-FF 的帧封装并广播 ARP 请求分组同一局域网中所有主机都能收到该请求。目的主机收到请求后就会向源主机单播一个 ARP 响应分组,源主机收到后将此映射写入 ARP 缓存(10~20 min 更新一次)。

ARP 协议四中典型情况:

(1)主机 A 发给本网络上的主机 B:用 ARP 找到主机 B 的硬件地址;

(2)主机 A 发给另一网络上的主机 B:用 ARP 找到本网络上一个路由器(网关)的硬件地址;

(3)路由器发给本网络的主机 A:用 ARP 找到主机 A 的硬件地址;

(4)路由器发给另一网络的主机 B:用 ARP 找到本网络上的另一个路由器的硬件地址;

习题:

主机发送 IP 数据报给主机 B,经过了 5 个路由器,请问此过程总共使用了几次 ARP 协议?
6次

4.3-8 DHCP 协议

一、主机如何获得 IP 地址

静态配置:像机房电脑,IP 地址是挨着的;静态配置主要配置的是 IP 地址、子网掩码、默认网关;

动态配置:手机,笔记本等可以自由移动的设备,由当地的 DHCP 服务器给它们分配 IP地址;

二、DHCP 协议

动态主机配置协议 DHCP 是应用层协议,使用客户/服务器方式,客户端和服务端通过广播方式进行交互,基于 UDP

DHCP 提供即插即用联网的机制,主机可以从服务器动态获取 IP 地址、子网掩码、默认网关、DNS 服务器名称与 IP 地址,允许地址重用,支持移动用户加入网络,支持在用地址续租。

DHCP 协议工作过程:
(1)主机广播 DHCP 发现报文(主机询问本网络有没有 DHCP 服务器,之后 DHCP 服务器会得到该主机的 IP 地址);

(2)DHCP 服务器广播 DHCP 提供报文(DHCP 回复主机,服务器拟分配给主机一个 IP 地址及相关配置,先到先得);

(3)主机广播 DHCP 请求报文(主机使用被 DHCP 分配的 IP 地址);

(4)DHCP 服务器广播 DHCP 确认报文(正式将 IP 地址分配给主机);
在这里插入图片描述

4.3-9 ICMP 协议

一、TCP/IP 协议栈

在这里插入图片描述

二、网际控制报文协议 ICMP

ICMP 报文分为 ICMP 差错报文、ICMP询问报文;
在这里插入图片描述

三、ICMP 差错报告报文(5种)

1)终点不可达:当路由器或主机不能交付数据报时就向源点发送终点不可达报文。

(2)源点抑制: 当路由器或者主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢。

(3)时间超过:当路由器收到生存时间 TTL = 0 的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文。当终点在预先规定时间内不能收到一个数据报的全部数据片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文。

(4)参数问题: 当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文。

(5)改变路由(重定向):路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器,也就是可通过更好的路由

四、ICMP 差错报告报文数据字段

(1)将收到的IP数据报的首部和数据字段前8字节取出;

(2)将(1)装入新的ICMP差错报告报文+新的ICMP前8字节;

(3)装入新的IP报文的数据字段;
在这里插入图片描述

五、不应发送 ICMP 差错报文的情况

(1)对 ICMP 差错报告报文不再发送 ICMP 差错报告报文;

(2)对第一个分片的数据报片的所有后续数据报片都不发送 ICMP 差错报告报文;

(3)对具有组播地址的数据报都不发送 ICMP 差错报告报文;(组播就是有选择性的发给多个主机)

(4)对具有特殊地址(如 127.0.0.0 环回地址或 0.0.0.0 本主机地址)的数据报不发送 ICMP 差错报告报文;

六、ICMP 询问报文

(1)回送请求和回答报文:主机或路由器向特定目的主机发出的询问,收到此报文的主机必须给源主机或路由器发送 ICMP 回送回答报文。(ping)测试目的站是否可达以及了解其相关状态。

(2)时间戳请求和回答报文:请某个主机或路由器回答当前的日期和时间。用来进行时钟同步和测量时间。

(3)掩码地址请求和回答报文;
(4)路由器询问和通告报文;

七、ICMP 的应用

PING 测试两个主机之间的连通性,使用了 ICMP 回送请求和回答报文。(询问报文)

Traceroute 跟踪一个分组从源点到终点的路径,使用了 ICMP 时间超过差错报告报文。

4.4-1 IPv6

一、为什么要有 IPv6

32 位 IPv4 地址空间已分配得快没了,CIDR 与 NAT 技术治标不治本,IPv6 会从根本上解决地址耗尽问题。

IPv6 想要通过改进首部格式,来快速处理/转发数据报、支持 QoS。

QoS(Quality of Service,服务质量)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。

二、IPv6 数据报格式

在这里插入图片描述

下图为 IPv6 基本首部与有效载荷;

基本首部的版本:指明了协议版本,总是6;

优先级:本数据报的优先级,什么时候进行处理;

流标签:“流”是互联网上从特定源点到指定终点的一系列数据报。所有属于同一个流的数据报都具有同样的流标签。

有效载荷长度:指有效载荷部分的长度;

下一个首部:标识下一个扩展首部或上层协议首部,在 IPv6 的基本首部中下一个首部指“扩展首部一”;“扩展首部一”的下一个首部指的就是“扩展首部二”…最后一个扩展首部的“”

跳数限制:相当于 IPv4 的 TTL,如果到达零路由器就会把这个数据报丢弃,并且返回一个 ICMP 差错报告报文;

源地址/目的地址:由 IPv4 的 32 位,扩充为 128 位;
在这里插入图片描述

三、IPv4 与 IPv6 区别

(1)IPv6 将地址从 32 位(4B)扩大到 128 位(16B),更大的地址空间;

(2)IPv6 将 IPv4 的校验和字段彻底移除,以减少每跳的处理时间;

(3)IPv6 将 IPv4 的可选字段移出首部,变成了扩展首部,成为灵活的首部格式,路由器通常不对扩展首部进行检查,大大提高了路由器的处理效率;

(4)IPv6 支持即插即用(即自动配置),不需要 DHCP 协议;

(5)IPv6 首部长度必须是 8B 的整数倍,IPv4 首部是 4B 的整数倍;

(6)IPv6 只能在主机处分片,IPv4 可以在路由器和主机分片;

(7)ICMPv6:附加报文类型“分组过大”;

(8)IPv6 支持资源的预分配,支持实时视像等要求,保证一定的带宽和时延的应用;

(9)IPv6 取消了协议字段,改成下一个首部字段;

(10)IPv6 取消了总长度字段,改用有效载荷长度字段;

(11)IPv6 取消了服务类型字段;

四、IPv6 地址表示形式

在这里插入图片描述

五、IPv6 基本地址类型

在这里插入图片描述

六、IPv6 向 IPv4 过度的策略

(1)双栈协议:双协议栈技术就是指在一台设备上同时启用 IPv4 协议栈和 IPv6 协议栈。这样的话,这台设备就能进行两个协议栈的网络通信。

如果这台设备是一个路由器,那么这台设备是一个路由器,那么这台路由器的不同接口上,分别配置了 IPv4 地址和 IPv6 地址,并很可能分别连接了 IPv4 网络和 IPv6 网络。

如果这台设备是一个计算机,那么他将同时拥有 IPv4 地址和 IPv6 地址,并具备同时处理这两个协议地址的功能。

(2)隧道技术:通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将其他协议的数据帧或包重新封装然后通过隧道发送。

数据报在过 IPv4 路由器时会加一个 IPv4 数据报的头,伪装成 IPv4 数据报。

七、总结 思维导图

在这里插入图片描述

4.5-1 RIP 协议与距离向量算法

一、路由选择协议分类回顾

RIP 协议 路由算法选择的距离向量,适用于网络大小较小的网络;

OSPF 协议 使用链路状态,适用于网络大小较大的网络;
在这里插入图片描述

二、RIP 协议

在这里插入图片描述

三、RIP 协议和谁交换?多久交换一次?交换什么?

(1)仅和相邻路由器交换信息;

(2)路由器交换的信息是自己的路由表

(3)每 30 秒交换一次路由信息,然后路由表根据新信息更新路由表。若超过 180s 没收到邻居路由器的通告,则判定邻居没了,并更新自己路由表;

路由器刚开始工作时,只知道直接连接的网络距离(距离为 1),接着每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。

经过若干次更新后,所有路由器都会知道到达本自治系统任何一个网络的最短距离和下一跳路由器的地址,即“收敛”。

四、距离向量算法

在这里插入图片描述

五、距离向量算法

(1)练习1
在这里插入图片描述

(2)练习2
在这里插入图片描述

六、RIP 协议报文格式

在这里插入图片描述

UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。https://baike.baidu.com/item/UDP/571511?fr=aladdin

七、RIP 协议好消息传得快,坏消息传得慢

在这里插入图片描述

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

八、总结思维导图

在这里插入图片描述

4.5-2 OSPF 协议及链路状态算法

一、路由选择协议分类回顾

在这里插入图片描述

二、OSPF 协议

在这里插入图片描述

三、链路状态路由算法

在这里插入图片描述

四、OSPF 的区域

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

4.5-3 BGP 协议

一、路由选择协议分类回顾

在这里插入图片描述

二、BGP 协议

在这里插入图片描述

三、BGP 协议交换信息的过程

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

四、BGP 协议报文格式

在这里插入图片描述

Q:为什么使用 TCP 而不是UDP?

A:为了提供一个可靠服务

传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。https://baike.baidu.com/item/TCP/33012?fr=aladdin

五、BGP 协议特点

在这里插入图片描述

六、BGP-4 的四种报文

在这里插入图片描述

七、三种路由协议比较

在这里插入图片描述

在这里插入图片描述

4.6-1 IP 组播

一、IP 数据报的三种传输方式

在这里插入图片描述

单播:
在这里插入图片描述

组播:
在这里插入图片描述

二、IP 组播地址

在这里插入图片描述

三、硬件组播

在这里插入图片描述

四、IGMP 协议与组播路由选择协议

在这里插入图片描述

五、网际组管理协议 IGMP

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

六、IGMP 工作的两个阶段

在这里插入图片描述

七、组播路由选择协议

在这里插入图片描述

八、总结思维导图

在这里插入图片描述

4.7-1 移动 IP

一、移动 IP 相关概念

在这里插入图片描述

二、移动 IP 通信过程

在这里插入图片描述

4.8-1 网络层设备

一、路由器

在这里插入图片描述

二、输入端口对线路上收到的分组处理在这里插入图片描述

三、输出端口将交换结构传送来的分组发送到线路在这里插入图片描述

四、三层设备的区别

在这里插入图片描述

五、路由表与路由转发

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/525060.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文掌握DTC

1. 前言 从单片机STM32开始转到汽车电子已经有一年时间了&#xff0c;到如今为止&#xff0c;很少写文章了&#xff0c;原因很简单&#xff0c;肚子里面没有墨水&#xff0c;就不给大家献丑了。而现在写在这篇文章&#xff0c;属实也是有了一定的了解。所以还不是很了解这个方…

从一到无穷大 #9 Firestore:开发者友好的Serverless NoSQL Database

引言 简单浏览了下ICDE 2023 industry-and-applications-track 部分的文章&#xff0c;其中我感兴趣的文章有三篇&#xff0c;分别为&#xff1a; Accelerating Cloud-Native Databases with Distributed PMem StoresBackward-Sort for Time Series in Apache IoTDBFirestore…

10年测开经验面试35K公司后,吐血整理出高频面试题和答案!

一&#xff1a;前言 在当今竞争激烈的职场环境中&#xff0c;拥有丰富的测试开发经验已成为众多企业青睐的重要条件之一。而在面试过程中&#xff0c;高频面试题更是能够考察应聘者的实际能力和知识水平。本文作者具备10年的测试开发经验&#xff0c;并通过面试获得了35K公司的…

VMWare16和Ubuntu20.04虚拟机安装记录

VMWare网盘链接&#xff1a;https://pan.baidu.com/s/1zZvtwnH9N47_k3pAy2dZCg 提取码&#xff1a;1234 Ubuntu下载网址&#xff1a;Ubuntu Release 推荐20.04&#xff0c;网上的教程也比较多 列举两个我参考的&#xff0c;其实都大差不差。 保姆级教程|VMware安装Ubuntu20…

Android之 activity活动页面详解

一 四大组件 1.1 Activity组件&#xff0c;它一个单独的窗口&#xff0c;程序流程都必须在Activity中运行&#xff0c;所有它是最基本的模块。 1.2 service组件&#xff0c;用于在后台完成用户指定的操作。 1.3 content provider组件&#xff0c;会为所有的应用准备一个内容…

线对象QgsLineString

几何对象中线用QgsLineString进行封装支持Z和M值&#xff0c;用于表示2维的&#xff0c;2. 5维的&#xff0c;3维的线线是由一串点连接而成 创建线 QgsLineString() #创建空的线QgsLineString(points: Iterable[QgsPoint]) #从一串QgsPoint创建QgsLineString(x: Iterable…

[JavaScript]JSON对象

eval函数 eval函数能将一个字符串当做一段JS代码解释并执行。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name&quo…

大数据经典项目案列——滴滴数据分析(云服务器-零基础从配置到项目落地1)

本次我们项目采用阿里云服务器&#xff0c;采用以下技术及框架协议&#xff0c;进行数据分析&#xff1a; HDFSHiveSpark SQLZeppelin 当然我们也可以利用数据库清洗好的数据&#xff0c;采用 1.Tableau 2.Pythonechartsweb前端 3.腾讯云、阿里云BI报表 4.当然我们也可以采…

51单片机(十四)LCD1602

❤️ 专栏简介&#xff1a;本专栏记录了从零学习单片机的过程&#xff0c;其中包括51单片机和STM32单片机两部分&#xff1b;建议先学习51单片机&#xff0c;其是STM32等高级单片机的基础&#xff1b;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 &#xff1a;适用于想要…

SpringCloud Alibaba 配置中心功能

一、快速入门 1、创建工程nacos-client7777 pom <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation&q…

基于企业网的信息安全防护系统的设计与实现_kaic

摘 要 这篇文章提供了一种新的&#xff0c;基于“禁止一切”安全策略和VxD技术的企业网络安全保障方案&#xff0c;旨在帮助企业更好地应对外界的威胁。通过设计一套完善的企业网信息安全防护系统&#xff0c;不仅可以有效地解决企业网络中存在的问题&#xff0c;而且还可以有…

一文带你了解和掌握Markdown编辑神器mdnice

无论你是博客写作爱好者&#xff0c;还是想要自己动手开发一个网站&#xff0c;你都可能会接触到Markdown。Markdown是一种轻量级的标记语言&#xff0c;它允许人们使用易读易写的纯文本格式编写文档&#xff0c;然后转换成有效的HTML内容。然而&#xff0c;当你想要将你的Mark…

MYSQL主从复制和读写分离.2

搭建MYSQL读写分离 master :192.168.142.10 slave1:192.168.142.20 slave2:192.168.142.30 Amoeba:192.168.142.40 客户端:192.168.142.50 ----Amoeba服务器配置---- ##安装 Java 环境## 因为 Amoeba 基于是 jdk1.5 开发的&#xff0c;所以官方推荐使用 jdk1.5 或 1.6 版…

Linux 指令3

文章目录 标题日期date时间戳 cal 日历find -name 查找which ls 搜指令whereisgrep 行文本过滤工具&#xff08;例如找到main函数入口&#xff09;例子 ps ajx 进程 打包压缩&#xff0c;解包解压&#xff08;过程是这么个过程&#xff0c;简化成压缩->解压&#xff09;zip多…

使用gitee上传vue项目

菜鸟教程&#xff1a;https://www.runoob.com/git/git-tutorial.html 参考文档&#xff1a;https://blog.csdn.net/handy_csdn/article/details/117400151#:~:text%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BAvue%E9%A1%B9%E7%9B%AE%EF%BC%8C%E5%B9%B6%E4%BD%BF%E7…

试用chatgpt写一篇文章,关于自动化测试框架的思路

当涉及到软件测试和自动化框架时&#xff0c;Python是一种广泛使用的编程语言。它提供了丰富的库和工具&#xff0c;使得构建测试框架变得相对容易。本文将介绍一个基于Python的自动化测试框架&#xff0c;结合了pytest、allure报告、日志记录、YAML配置、MySQL数据库以及钉钉和…

JNI 中Get<PrimitiveType>ArrayElements 和 Release<PrimitiveType>ArrayElements 函数讲解

文章目录 Get<*PrimitiveType*>ArrayElements 函数族Release<*PrimitiveType*>ArrayElements 函数族使用场景 Get<PrimitiveType>ArrayElements 函数族 函数原型&#xff1a; NativeType *Get<PrimitiveType>ArrayElements(JNIEnv *env, ArrayType ar…

vscode 标签的使用

使用标签就可以快速跳转到某一段代码,十分方便 安装 首先,我们需要安装 设置快捷键 shiftcommandp. 调出命令行 输入bookmark, 即可看到标签的相关指令 生成一个标签 设置一个你喜欢的快捷键 ,这代表 在光标所在的行上添加一个标签。需要设置一个label 调出列表 可以显示…

CMakeList.txt -- 编写保姆式教程

致每一个还坚持在互联网和软件行业的同路人。 最近有朋友问我为什么选择当程序员&#xff0c;我也不明白。可能是缺少社交能力&#xff0c;可能更喜欢心理上保存平静&#xff0c;可能是为了那份对于从无到有的沉浸感和满足感。 目录 欢迎加入陈达书--C交流群: Errrr113(非诚勿扰…

LitCTF Writeup By AheadSec

文章目录 Web我Flag呢&#xff1f;Follow me and hack mePing导弹迷踪PHP是世界上最好的语言&#xff01;&#xff01;作业管理系统Vim yyds这是什么&#xff1f;SQL &#xff01;注一下 &#xff01;就当无事发生Flag点击就送&#xff01;Http pro max plus1zjs彩蛋 Pwn只需要…