1. 网络层的功能
- 功能一:路由选择与分组转发
- 功能二:异构网络互联
- 功能三:拥塞控制
若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施缓解这种拥塞。
2. 数据交换方式
2.1 电路交换
-
在进行数据传输前,两个结点之间必须先建立一条专用 (双方独占)的物理通信路径(由通信双方之间的交换设备和链路逐段连接而成),该路径可能经过许多中间结点。这一路径在整个数据传输期间一直被独占,直到通信结束后才被释放。
-
从通信资源的分配角度来看,“交换”就是按照某种方式动态地分配传输线路的资源。电路交换的关键点是,在数据传输的过程中,用户始终占用端到端的固定传输带宽。
-
流量控制和拥塞控制的区别:
- 流量控制往往是指在发送端和接收端之间的点对点通信量的控制。流量控制所要做的是抑制发送端发送数据的速率,以便使接收端来得及接收。
- 拥塞控制必须确保通信子网能够传送待传送的数据,是一个全局性的问题,涉及网络中所有的主机、路由器及导致网络传输能力下降的所有因素。
-
电路交换技术的优点如下:
- 通信时延小。由于通信线路为通信双方用户专用,数据直达,因此传输数据的时延非常小。当传输的数据量较大时,这-优点非常 明显。
- 有序传输。双方通信时按发送顺序传送数据,不存在失序问题。
- 没有冲突。不同的通信双方拥有不同的信道,不会出现争用物理信道的问题。
- 适用范围广。电路交换既适用于传输模拟信号,又适用于传输数字信号。
- 实时性强。通信双方之间的物理通路一旦建立, 双方就可以随时通信。
- 控制简单。电路交换的交换设备(交换机等)及控制均较简单。
-
电路交换技术的缺点如下:
- 建立连接时间长。电路交换的平均连接建立时间对计算机通信来说太长。
- 线路独占,使用效率低。电路交换连接建立后,物理通路被通信双方独占,即使通信线
路空闲,也不能供其他用户使用,因而信道利用率低。 - 灵活性差。只要在通信双方建立的通路中的任何一点出了故障,就必须重新拨号建立新
的连接,这对十分紧急和重要的通信是很不利的。 - 难以规格化。电路交换时,数据直达,不同类型、不同规格、不同速率的终端很难相互
进行通信,也难以在通信过程中进行差错控制。
2.2 报文交换
-
数据交换的单位是报文,报文携带有源地址,目标地址,数据等信息。
-
报文交换的主要特点是:
存储接受到的报文,判断其目标地址以选择路由,最后,在下一跳路由空闲时,将数据转发给下一跳路由。 -
报文交换技术的优点如下:
- 无须建立连接。报文交换不需要为通信双方预先建立一条专用的通信线路,不存在建立
连接时延,用户可以随时发送报文。 - 动态分配线路。当发送方把报文交给交换设备时,交换设备先存储整个报文,然后选择
一条合适的空闲线路,将报文发送出去。 - 提高线路可靠性。如果某条传输路径发生故障,那么可重新选择另一条路径传输数据,
因此提高了传输的可靠性。 - 提高线路利用率。通信双方不是固定占有一条通信线路,而是在不同的时间一段一段地
部分占有这条物理通道,因而大大提高了通信线路的利用率。 - 提供多目标服务。一个报文可以同时发送给多个目的地址,这在电路交换中是很难实现的。
- 无须建立连接。报文交换不需要为通信双方预先建立一条专用的通信线路,不存在建立
-
报文交换技术的缺点如下:
- 由于数据进入交换结点后要经历存储、转发这一过程,因此会引起转发时延(包括接收
报文、检验正确性、排队、发送时间等)。 - 报文交换对报文的大小没有限制,这就要求网络结点需要有较大的缓存空间。
- 由于数据进入交换结点后要经历存储、转发这一过程,因此会引起转发时延(包括接收
2.3 分组交换
分组交换限制了每次传送的数据块大小的上限,把大的数据块划分为合理的小数据块,再加上一些必要的控制信息(如源地址、目的地址和编号信息等),构成分组(Packet)。 网络结点根据控制信息把分组送到下一结点,下一结点接收到分组后,暂时保存并排队等待传输,然后根据分组控制信息选择它的下一个结点,直到到达目的结点。到达目地之后的数据分组再重新组合起来,形成一条完整的数据。
- 分组交换的优点如下:
- 无建立时延。不需要为通信双方预先建立一条专用的通信线路,不存在连接建立时延,用户可随时发送分组。
- 线路利用率高。通信双方不是固定占有- -条通信线路,而是在不同的时间一-段一段地部分占有这条物理通路,因而大大提高了通信线路的利用率。
3)**简化了存储管理(**相对于报文交换)。因为分组的长度固定,相应的缓冲区的大小也固定,在交换结点中存储器的管理通常被简化为对缓冲区的管理,相对比较容易。 - 加速传输。分组是逐个传输的,可以使后-一个分组的存储操作与前一一个分组的转发操作并行,这种流水线方式减少了报文的传输时间。此外,传输一个分组所 需的缓冲区比传输一次报文所需的缓冲区小得多,这样因缓冲区不足而等待发送的概率及时间也必然少得多。
- 减少了出错概率和重发数据量。因为分组较短,其出错概率必然减小,所以每次重发的数据量也就大大减少,这样不仅提高了可靠性,也减少了传输时延。
- 分组交换的缺点如下:
- 存在传输时延。尽管分组交换比报文交换的传输时延少,但相对于电路交换仍存在存储转发时延,而且其结点交换机必须具有更强的处理能力。
- 需要传输额外的信息量。每个小数据块都要加上源地址、目的地址和分组编号等信息,从而构成分组,因此使得传送的信息量增大了5%~10%,一定程度上降低了通信效率,增加了处理的时间,使控制复杂,时延增加。
- 当分组交换采用数据报服务时,可能会出现失序、丢失或重复分组,分组到达目的结点时,要对分组按编号进行排序等工作,因此很麻烦。若采用虚电路服务,虽无失序问题,但有呼叫建立、数据传输和虚电路释放三个过程。
分组交换根据其通信子网向端点系统提供的服务,还可进一步分为面向连接的虚电路方式和无连接的数据报方式。
这两种服务方式都由网络层提供。要注意数据报方式和虚电路方式是分组交换的两种方式。
- 计算题中要注意的几点:
- 单位换算:b/B,Mbps,kbps
- 是否考虑传播延迟
- 时间至少是多少ーー选择最少跳数
- 起始时间(从发送开始到接收完为止/从发送开始到发送完毕)
- 是否有分组头部大小的开销
- 报文交换时延更长,分组交换时延可能不是整数
2.4 数据报与虚电路
- 虚电路方式为网络层提供连接服务。
连接服务:首先为分组的传输确定传输路径(建立连接),然后沿该路径(连接)传输系列分组,系列分组传输路径相同,传输结束后拆除连接。 - 数据报(因特网在用)
- 数据报方式为网络层提供无连接服务。
无连接服务:不事先为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径可能不同。 - 每个分组携带源和目的地址
- 路由器根据分组的目的地址转发分组:基于路由协议/算法构建转发表检索转发表;每个分组独立选路。
- 数据报方式为网络层提供无连接服务。
- 虚电路
-
虚电路将数据报方式和电路交换方式结合,以发挥两者优点。
-
一条源主机到目的主机类似于电路的路径(逻辑连接),路径上所有结点都要维持这条虚电路的建立,都维持一张虚电路表,每一项记录了一个打开的虚电路的信息。
-
建立连接(虚电路建立)
每个分组携带虚电路号,而非目的地址。源主机发送“呼叫请求”分组并收到“呼叫应答”分组后才算建立连接。 -
数据传输
-
释放连接(虚电路释放)
源主机发送“释放请求”分组以拆除虚电路。 -
在虚电路方式中,端系统每次建立虚电路时,选择一个未用过的虚电路号分配给该虚电路,以区别于本系统中的其他虚电路。在传送数据时,每个数据分组不仅要有分组号、校验和等控制信息,还要有它要通过的
虚电路号
,以区别于其他虚电路上的分组。在虚电路网络中的每个结点上都维持–张虚电路表
,表中的每项记录了一个打开的虚电路的信息,包括在接收链路和发送链路上的虚电路号
、前一结点
和下一结点
的标识。数据的传输是双向
进行的,上述信息是在虚电路的建立过程中确定的。
-
- 数据报&虚电路
数据报服务 | 虚电路服务 | |
---|---|---|
连接的建立 | 不要 | 必须有 |
目的地址 | 每个分组都有完整的目的地址 | 仅在建立连接阶段使用,之后每个分组使用长度较短的虚电路号 |
路由选择 | 每个分组独立地进行路由选择和转发 | 属于同一条虚电路的分组按照同一路由转发 |
分组顺序 | 不保证分组的有序到达 | 保证分组的有序到达 |
可靠性 | 不保证可靠通信,可靠性由用户主机来保证 | 可靠性由网络保证 |
对网络故障的适应性 | 出故障的结点丢失分组,其他分组路径选择发生变化,可正常传输 | 所有经过故障结点的虚电路均不能正常工作 |
差错处理和流量控制 | 由用户主机进行流量控制,不保证数据报的可靠性 | 可由分组交换网负责,也可由用户主机负责。 |
3. 路由算法
3.1 静态路由与动态路由
路由器转发分组是通过路由表转发的,而路由表是通过各种算法得到的。从能否随网络的通信量或拓扑自适应地进行调整变化来划分,路由算法可分为两大类:静态路由与动态路由。
- 路由算法的分类
- 链路状态路由算法和距离向量路由算法的比较
- 在距离-向量路由算法中,每个结点仅与它的
直接邻居
交谈,它为它的邻居提供从自己到网络中所有其他结点的最低费用估计。 - 在链路状态路由算法中,每个结点通过
广播
的方式与所有其他结点交谈,但它仅告诉它们与它直接相连的链路的费用。 - 相较之下,距离-向量路由算法有可能遇到路由环路等问题。
- 在距离-向量路由算法中,每个结点仅与它的
- 自治系统AS:
在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由协议以确定在AS之间的路由。
一个AS内的所有网络都属于一个行政单位来管辖,一个自治系统的所有路由器在本自治系统内都必须连通。
3.2 距离向量路由算法RIP
- RIP是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单。
- RIP协议要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录(即一组距离)
- 距离:通常为“跳数”,即从源端口到目的端口所经过的路由器个数,经过一个路由器跳数+1。特别的,从一路由器到直接连接的网络距离为1。RIP允许一条路由最多只能包含15个路由器,因此距离为16表示网络不可达。
- RIP协议只适用于小型互联网。
- 特点:
- 仅和
相邻路由器
交换信息。 - 路由器交换的信息是自己的
路由表
。 - 每
30秒
交换一次路由信息,然后路由器根据新信息更新路由表。若超过180s
没收到邻居路由器的通告,则判定邻居没了,并更新自己路由表。 - 路由器刚开始工作时,只知道直接连接的网络的距离(
距离为1
),接着每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。 - 经过若干次更新后,所有路由器最终都会知道到达本自治系统任何一个网络的最短距离和下一跳路由器的地址,(
收敛
)
- 仅和
- 距离向量算法
- RIP协议的报文格式
RIP的特点:当网络出现故障时,要经过比较长的时间(例如数分钟)才能将此信息传送到所有的路由器,(慢收敛
)。
3.3 链路状态路由算法OSPF
开放最短路径优先OSPF协议:“开放”标明OSPF协议不是受某一家厂商控制,而是公开发表的;“最短路径优先”是因为使用了 Dijkstra提出的最短路径算法SPF。
OSPF最主要的特征就是使用分布式的链路状态协议。
- 特点
- 每隔
30min
,要刷新一次数据库中的链路状态。 - 由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。因此当互联网
规模很大
时,OSPF协议要比距离向量协议RIP好得多。 - OSPF不存在坏消息传的慢的问题,它的
收敛速度很快
- 每隔
- 链路状态路由算法
- OSPF的区域
- 为使OSPF能够用于规模很大的网络,OSPF将一个自治系统再划分为若干更小的范围,称为区域。
- 划分区域的好处是,将利用洪泛法交换链路状态信息的范围局限于每个区域而非整个自治系统,减少了整个网络上的通信量。
- 在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑情况。
- 这些区域也有层次之分。处在上层的域称为主干区域,负责连通其他下层的区域,并且还连接其他自治域。
- OSPF的分组
3.4 层次路由-BGP协议
-
BGP所交换的网络可达性的信息就是要到达某个网络所要经过的一系列AS。当BGP发言人互相交换了网络可达性的信息后,各BGP发言人就根据所采用的策略从收到的路由信息中找出到达各AS的较好路由。
-
交换信息包含
路径向量
-
BGP协议报文格式
-
BGP-4的四种报文
- OPEN(打开)报文:用来与相邻的另一个BGP发言人建立关系,并认证发送方。
- UPDATE(更新)报文:通告新路径或撤销原路径。
- KEEPALIVE(保活)报文:在无 UPDATE时,周期性证实邻站的连通性;也作为OPEN的确认。
- NOTIFICATION(通知)报文:报告先前报文的差错;也被用于关闭连接
-
BGP协议特点
- BGP支持
CIDR
,因此BGP的路由表也就应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。 - 在BGP刚刚运行时,BGP的邻站是交换整个的BGP路由表。但以后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销都有好处。
- BGP支持
-
RIP、OSPF、BGP协议比较
- RIP是一种
分布式
的基于距离向量的内部网关路由选择协议,通过广播UDP报文来交换路由信息。 - OSPF是一个
内部
网关协议,要交换的信息量较大,应使报文的长度尽量短,所以不使用传输层协议(如UDP或TCP),而是直接采用IP。 - BGP是一个
外部
网关协议,在不同的自治系统之间交换路由信息,由于网络环境复杂,需要保证可靠传输,所以采用TCP。
- RIP是一种
4. IPv4
TCP/IP协议栈
4.1 IPv4分组
网络层将传输层的数据打包后,如果数据很小,可以称为IP数据报,如果数据过大则进行分片,每一片称为IPv4分组。一般数据都比较多,大部分情况都是分组。
4.1.1 IPv4分组格式
- IP首部的部分重要字段含义
- 版本。占
4位
。指IP的版本,目前广泛使用的版本号为4。 - 首部长度。占
4位
。以4B
为单位,最大值为60B
(15*4B)。最常用的首部长度是20B
,此时不使用任何选项(即可选字段)。 - 总长度。占
16位
。指首部和数据之和的长度,单位为B,因此数据报的最大长度为 2 16 − 1 = 65535 B 2^{16}-1= 65535B 216−1=65535B。以太网帧的最大传送单元(MTU)为1500B
,因此当一个IP数据报封装成帧时,数据报的总长度(首部加数据) 一定不能超过下面数据链路层的MTU值。 - 标识。占
16位
。它是一个计数器,每产生一个数据报就加1,并赋值给标识字段。但它并不是“序号”(因为IP是无连接服务)。当一个数据报的长度超过网络的MTU时,必须分片,此时每个数据报片都复制一次标识号, 以便能正确重装成原来的数据报。 - 标志。占
3位
。标志字段的最低位为MF,MF= 1
表示后面还有分片,MF= 0表示最后一个分片。” 标志字段中间的一位是DF,只有当DF = 0
时才允许分片。 - 片偏移。占
13位
。它指出较长的分组在分片后,某片在原分组中的相对位置。片偏移以8个字节为偏移单位,8B,即每个分片的长度一定是8B (64 位)的整数倍
。 - 首部校验和。占16位。IP数据报的首部校验和只校验分组的首部,而不校验数据部分。
- 生存时间(TTL)。占
8位
。数据报在网络中可通过的路由器数的最大值,标识分组在网络中的寿命,以确保分组不会永远在网络中循环。路由器在转发分组前,先把TTL减1。若TTL被减为0,则该分组必须丢弃。 - 协议。占
8位
。指出此分组携带的数据使用何种协议,即分组的数据部分应交给哪个传输层协议,如TCP、UDP等。其中值为6表示TCP,值为17表示UDP。 - 源地址字段。占
4B
,标识发送方的IP地址。 - 目的地址字段。占
4B
,标识接收方的IP地址。
- 版本。占
4.1.2 IP数据报分片
- 最大传送单元MTU
链路层数据帧可封装数据的上限。以太网的MTU是1500字节。 - 【分片例题】
4.1.3 分组转发算法
- 从数据报的首部提取目的主机的IP地址D,得出目的网络地址N。
- 若网络N与此路由器直接相连,则把数据报直接交付给目的主机D,这称为路由器的直接交付;否则是间接交付,执行步骤3。
- 若路由表中有目的地址为D的特定主机路由(对特定的目的主机指明一个特定的路由,通常是为了控制或测试网络,或出于安全考虑才采用的),则把数据报传送给路由表中所指明的下一跳路由器;否则,执行步骤4。
- 若路由表中有到达网络N的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行步骤5。
- 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行步骤6。
- 报告转发分组出错。
4.2 IPv4地址
-
IP地址:全世界唯一的32位/4字节标识符,标识路由器主机的接口。
-
特殊IP地址
-
私有IP地址
-
常用IP地址ABC使用范围
4.3 网络地址转换NAT
- 网络地址转换NAT(
Network Address Translation
):在专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫NAT路由器,它至少有一个有效的外部全球P地址。 - 在因特网中的所有路由器,对目的地址是私有地址的数据报一律不进行转发。这种采用私有IP地址的互联网络称为专用互联网或本地互联网。私有IP地址也称可重用地址。
4.4 子网划分、子网掩码、路由聚集与CIDR
- 两级IP地址的缺点:IP地址空间的利用率有时很低;给每个物理网络分配一个网络号会使路由表变得太大而使网络性能变坏;两级的IP地址不够灵活。
4.4.1 子网划分、子网掩码
-
子网划分
- 某单位划分子网后,对外仍表现为一个网络,即本单位外的网络看不见本单位内子网的划分。
- 从
主机号
借用若干比特作为子网号
,当然主机号也就相应减少了相同的比特。三级IP地址的结构如下:IP地址={<网络号>,<子网号>, <主机号>}
。 - 凡是从其他网络发送给本单位某台主机的IP数据报,仍然是根据IP数据报的目的网络号,
先找到连接到本单位网络上的路由器
。然后该路由器在收到IP数据报后,按目的网络号和子网号
找到目的子网。最后把IP数据报直接交付给目的主机。 - 子网中主机号
全0
的地址为子网的网络号
,主机号全1
的地址为子网的广播地址
。
-
子网掩码
- 使用子网掩码来表达对原网络中主机号的借位。为了使外部可以连接子网内的网络。
- 子网掩码是一个与IP地址相对应的、长32bit的二进制串,它由一串1和跟随的一串0组成。
- 其中,1对应于IP地址中的网络号及子网号,而0对应于主机号。
- 计算机只需将IP地址和其对应的子网掩码逐位“与”(逻辑AND运算),就可得出相应子网的网络地址。
-
在的因特网标准规定:所有的网络都必须使用子网掩码。如果一个网络未划分子网,那么就采用默认子网掩码。
-
A、B、C类地址的默认子网掩码分别为
255.0.0.0
、255.255.0.0
、255.255.255.0
. -
使用子网时的分组转发
由于子网掩码是一个网络或一个子网的重要属性,所以路由器在相互之间交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉对方。
路由表中的每个条目,除要给出目的网络地址和下一跳地址外,还要同时给出该目的网络的子网掩码。 -
在使用子网掩码的情况下:
- 一台主机在设置IP地址信息的同时,必须设置
子网掩码
。 - 同属于一个子网的
所有主机及路由器的相应端口
,必须设置相同的子网掩码。 - 路由器的路由表中,所包含信息的主要内容必须有
目的网络地址
、子网掩码
、下一 跳地址
。
- 一台主机在设置IP地址信息的同时,必须设置
-
使用子网掩码时路由器的分组转发算法如下:
- 从收到的分组的首部提取目的IP地址,记为D。
- 先判断是否为直接交付。对路由器直接相连的网络逐个进行检查:用各网络的子网掩码和D逐位相“与”,看结果是否和相应的网络地址匹配。若匹配,则将分组直接交付,否则间接交付,执行步骤3。
- 若路由表中有目的地址为D的特定主机路由,则将分组传送给路由表中所指明的下一跳路由器;否则,执行4。
- 检测路由表中有无路径。对路由表中的每一行(目的网络地址、子网掩码、下一跳地址)中的子网掩码和D逐位相“与”,其结果为N。若N与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行步骤5。
- 若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行步骤6。
- 报告转发分组出错。
4.4.2 路由聚集与CIDR
将多个子网聚合成一个较大的子网,叫做构成超网,或路由聚合。
方法:将网络前缀缩短。
使用CIDR时,査找路由表可能得到几个匹配结果,应选择具有最长网络前缀的路由。前缀越长,地址块越小,路由越具体。
4.5 ARP协议、DHCP协议与ICMP协议
4.5.1 ARP协议
- IP地址与硬件地址的概念
- IP地址是网络层使用的地址,它是分层次等级的。
- 硬件地址是数据链路层使用的地址(如MAC地址),它是平面式的。
- 在网络层及网络层之上使用IP地址,IP地址放在IP数据报的首部,而MAC地址放在MAC帧的首部。
- 通过数据封装,把IP数据报分组封装为MAC帧后,数据链路层看不见数据报分组中的IP地址。
- 无论网络层使用什么协议,在实际网络的链路上传送数据帧时,最终必须使用硬件地址。所以需要一种方法来完成 IP地址到MAC地址的映射,这就是地址解析协议(Address Resolution Protocol, ARP)
- 工作过程:
4.5.2 DHCP协议
- 动态主机配置协议(
Dynamic Host Configuration Protocol, DHCP
)常用于给主机动态地分配IP地址,它提供了即插即用联网的机制,这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与。 - DHCP是
应用层
协议,它是基于UDP
的。 - DHCP的工作原理
- 使用客户/服务器方式
- 需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文,这时该主机就成为DHCP客户。
- 本地网络上所有主机都能收到此广播报文,但只有DHCP服务器才回答此广播报文。
- DHCP服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。
- 若找不到,则从服务器的IP地址池中取一个地址分配给该计算机。DHCP服务器的回答报文称为提供报文。
- 过程
- 主机广播DHCP发现报文。
试图找到网络中的服务器,服务器获得一个IP地址。 - DHCP服务器广播DHCP提供报文
服务器拟分配给主机一个IP地址及相关配置,先到先得。 - 主机广播DHCP请求报文
主机向服务器请求提供P地址。 - DHCP服务器广播DHCP确认报文
正式将IP地址分配给主机。
- 主机广播DHCP发现报文。
4.5.3 ICMP协议
网际控制报文协议(Internet Control Message Protocol, ICMP
)让主机或路由器报告差错和异常情况。
-
ICMP 报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。ICMP是IP层协议。
-
ICMP差错报告报文
- 终点不可达:当路由器或主机不能交付数据报时就向源点发送终点不可达报文。(
无法交付
) - 源点抑制:路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报反送运放慢。(
拥塞丢数据
) - 时间超过:当路由器收到生存时间TL=0的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文。当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把己收到的数据报片都丢弃,并向源点发送时间超过报文。(
TTL=0
) - 参数问题:当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文。(
首部字段有问题
) - 改变路由(重定向):路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器。(
可通过更好的路由
)
- 终点不可达:当路由器或主机不能交付数据报时就向源点发送终点不可达报文。(
-
不应发送ICMP差错报文的情况
- 对ICMP差错报告报文不再发送ICMP差错报告报文
- 对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。
- 对具有组播地址的数据报都不发送ICMP差错报告报文
- 对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文。
-
ICMP询问报文
- 回送请求和回答报文主机或路由器向特定目的主机发出的询问,收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文。(
测试目的站是否可达以及了解其相关状态
)。 - 时间戳请求和回答报文请某个主机或路由器回答当前的日期和时间。(
用来进行时钟同步和测量时间
)。
- 回送请求和回答报文主机或路由器向特定目的主机发出的询问,收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文。(
-
ICMP的应用
-
PING
测试两个主机之间的连通性,使用TCMP送请求和回答报文。 -
Traceroute
跟踪一个分组从源点到终点的路径,使用了ICMP时间超过差错报告报文。(Traceroute/Tracert工作在网络层)
5. IPv6
- 为什么要有IPV6?
①采用无类别编址CIDR,使IP地址的分配更加合理;
②采用网络地址转换(NAT)方法以节省全球IP地址;
③采用具有更大地址空间的新版本的IPv6。
其中前两种方法只是延长了IPv4 地址分配结束的时间,只有第三种方法从根本上解决了IP地址的耗尽问题。
5.1 Pv6数据报格式
- IPV6与IPV4的比较
5.2 IPv6地址
- IPV6的地址表示形式
- IPV6基本地址类型
- 单播。单播就是传统的点对点通信。
- 多播。多播是一点对多点的通信,分组被交付到一-组计算机的每台计算机。
- 任播。这是IPv6增加的一-种类型。任播的目的站是一组计算机,但数据报在交付时只交付其中的一台计算机,通常是距离最近的一台计算机。
- IPV6向IPV4过滤的策略
6. IP组播
- 单播
单播用于发送数据包到单个目的地,且每发送一份单播报文都使用一个单播IP地址作为目的地址。是一种点对点
传输方式。 - 广播
广播是指发送数据包到同一广播域或子网内的所有设备的一种数据传输方式,是一种点对多点
传输方式。 - 组播(多播)
当网络中的某些用户需要特定数据时,组播数据发送者仅发送一次数据,借助组播路由协议为组播数据包建立组播分发树,被传递的数据到达距离用户端尽可能近的节点后才开始复制和分发,是一种点对多点
传输方式。
组播提高了数据传送效率。减少了主干网出现拥塞的可能性。组播组中的主机可以是在同个物理网络,也可以来自不同的物理网络(如果有组播路由器的支持)。
6.1 IP组播地址
- IP组播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个组播组IP地址(一群共同需求主机的相同标识)。
- 组播地址范围为
224.0.0.0~239.255.255.255(D类地址)
,一个D类地址表示一个组播组。只能用作分组的目标地址。源地址总是为单播地址。 - 注意:
- 组播数据报也是“尽最大努力交付”,不提供可靠交付,应用于UDP。
- 对组播数据报不产生ICMP差错报文。
- 并非所有D类地址都可以作为组播地址。
- 硬件组播
同单播地址一样,组播P地址也需要相应的组播MAC地址在本地网络中实际传送帧。组播MAC地址以十六进制值01-00-5E
打头,余下的6个十六进制位是根据IP组播组地址的最后23位
转换得到的。
6.2 IGMP协议与组播路由选择协议
- 网际组管理协议—IGMP
IGMP协议让路由器知道本局域网上是否有主机(的进程)参加或退出了某个组播组。
- 组播路由选择协议
组播路由选择协议目的是找出以源主机为根节点的组播转发树。
构造树可以避免在路由器之间兜圈子。
对不同的多播组对应于不同的多播转发树;同一个多播组,对不同的源点也会有不同的多播转发树。 - 组播路由选择选择协议常用的三种路由算法
- 基于链路状态的路由选择
- 基于距离-向量的路由选择
- 协议无关的组播(稀疏/密集)
7. 移动IP
7.1 移动IP的概念
- 移动IP技术是移动结点(计算机/服务器等)以固定的网络IP地址,实现跨越不同网段的漫游功能,并保证了基于网络IP的网络权限在漫游过程中不发生任何改变。
- 移动结点具有永久IP地址的移动设备。
- 归属代理(本地代理) 一个移动结点拥有的就“居所”称为归属网络,在归属网络中代表移动节点执行
移动管理功能的实体叫做归属代理。 - 外部代理(外地代理) 在外部网络中帮助移动节点完成移动管理功能的实体称为外部代理。
- 永久地址(归属地址/主地址) 移动站点在归属网络中的原始地址。
- 转交地址(辅地址) 移动站点在外部网络使用的临时地址。
7.2 移动IP通信过程
8. 网络层设备
8.1路由器的组成和功能
- 输入端口中的查找和转发功能在路由器的交换功能中是最重要的。
- 若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。
- 路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。
8.2 路由表与路由转发
【参考文章】
https://blog.youkuaiyun.com/weixin_43914604/article/details/104722679