【计网】第四章 网络层

目录

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 子网划分和子网掩码

一、子网划分出现的问题

二、子网划分

三、子网掩码

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

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

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

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

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

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 协议和谁交换?多久交换一次?交换什么?

四、距离向量算法

五、距离向量算法

(1)练习1

(2)练习2

六、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 网络层设备

一、路由器

二、输入端口对线路上收到的分组处理

三、输出端口将交换结构传送来的分组发送到线路

四、三层设备的区别

五、路由表与路由转发


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 位,最大可达 2^{16}-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;

720100 0010
1921100 0000
结果0100 0000

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

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

修改第三步,将 72 与 224 转换成八位二进制,再做按位与运算,将结果转换成十进制;

720100 0010
2241110 0000
结果0100 0000

结果 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

二进制(左高位右低位)右 8右 7右 6右 5右 4右 3右 2右 1
每一位对应的十进制1286432168421
1000 0000128
1100 0000128 + 64 = 192
1110 0000128 + 64 + 32 = 224
1111 0000128 + 64 + 32 + 16 = 240
1111 1000128 + 64 + 32 + 16 + 8 = 248
1111 1100128 + 64 + 32 + 16 + 8 + 4 = 252
1111 1110128 + 64 + 32 + 16 + 8 + 4 + 2 = 254
1111 1111128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255

Q1:有一个IP地址为192.168.1.200,子网掩码是255.255.255.224,要求计算其网络地址,主机地址和广播地址。

 计算机网络————IP地址分类以及网络地址的计算[通俗易懂]

网络地址的计算_jiudihanbing的博客-CSDN博客
在10年上半年的软考题中,涉及到了网络地址的计算。而07-09这三年的软考题这方面没怎么涉及到,05年有网络地址计算的问题。从网上搜索了一下这方面的知识。感觉这篇博文讲解不错就粘过来了。
认真看一下对网络地址计算会有用的。

利用子网数来计算   
ex1.如欲将B类IP地址168.195.0.0划分成27个子网:
        1)27=11011
        2)该二进制为五位数,N = 5
        3)将B
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 位,

这个地址块包含 2^{5} = 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)

聚合网络地址的网络掩码1111 1111.1111 1111.1111 1100.0000 0000
目的地址206          .             0.0100 0111.130
与运算后结果206.0.68.0/22

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

网络一:206.0.71.128/25 网络掩码为前 25 位为网络号,全 1

网络一的网络掩码1111 1111.1111 1111.1111 1111.1000 0000
目的地址206.         0.               71.          .1000 0010
与运算后结果206.0.71.128/25

网络二:206.0.71.0/25 网络掩码为前 25 位为网络号,全 1

网络二的网络掩码1111 1111.1111 1111.1111 1111.1000 0000
目的地址206.         0.               71.          .1000 0010
与运算后结果206.0.71.128/25

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

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

例题:

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

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

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

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

R3 匹配之后的结果应该为:

R3 网络掩码1111 1111.1111 1111.1111 1100.0000 0000
目的地址132.          19.           1111101.5
结果132.19.236.0

不匹配,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 数据包的方法。

UDP_百度百科Internet 协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP,User Datagram Protocol)。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。RFC 768 描述了 UDP。Internet 的传输层有两个主要协议,互为补充。无连接的是 UDP,它除了给应用程序发送数据包功能并允许它们在所需的层次上架构自己的协议之外,几乎没有做什么特别的事情。面向连接的是 TCP,该协议几乎做了所有的事情。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)是一种面向连接的、可靠的、基于字节流的传输层通信协议。

TCP(传输控制协议)_百度百科传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。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 网络层设备

一、路由器

二、输入端口对线路上收到的分组处理

三、输出端口将交换结构传送来的分组发送到线路

四、三层设备的区别

五、路由表与路由转发


版权声明:本文为weixin_37706349原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。