王道《计算机网络》第四章网络层学习笔记(2019)

网络层


4.1.1 网络层功能概述

网络层

主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务
网络层传输单位是数据报
在这里插入图片描述
拥塞是网络全局性的一个状态,整个网络每个结点都处于忙碌状态。而流量控制是平衡接收方和发送方的发送速率。解决拥塞有**开环控制(静态)闭环控制(动态)**两种方式。


数据交换方式

网络的“掌中宝”

路由器

为什么要数据交换

在这里插入图片描述

数据交换方式
1 电路交换

以电话网络为例
在这里插入图片描述
独占资源体现在,一旦通信双方建立起了连接,即使他们不传数据,此条电路也不能为其他人所用。

报文交换

报文:源应用发送的信息整体
在这里插入图片描述
存储转发:报文到了交换设备后,不立即发送出去,而是在交换设备处存储到有链路空闲再转发。这样以来,发送途径的路径是不固定的。
在这里插入图片描述

分组交换

将报文分组,进行传输(分组:把大的数据块分割成小的数据块)
在这里插入图片描述
总的来说,分组交换的时延还是小于报文交换

报文交换&分组交换

分组交换是并行转发分组,而报文交换是串行转发分组
在这里插入图片描述
此处视频结合了一个例题,建议去看一下。

三种数据交换方式比较总结

在这里插入图片描述
电路交换是直通式的,交换设备就像打开的闸门;报文交换和分组交换都是存储转发的。

数据报与虚电路

分组交换包括数据报的交换方式和虚电路的交换方式

数据报方式&虚电路方式

在这里插入图片描述

几种传输单元名词辨析
层次名词
应用层报文
传输层报文段
网络层IP数据报,分组
数据链路层
物理层比特流
数据报(因特网使用)

在这里插入图片描述
检索转发表:找到和当前分组携带目的地址相同的记录,进而确定了从哪个链路接口转发出去。

虚电路

在这里插入图片描述
每个交换设备都维持一张表,记载了不同的虚电路号对应的转发接口,因此经过交换设备的携带相同虚电路号的分组会从同一个链路接口转发出去。
虚电路在源主机和目的主机之间建立起了一条类似于电路的逻辑连接。

数据报&虚电路

在这里插入图片描述

IP数据报格式
TCP/IP协议栈

在这里插入图片描述

IP数据报格式

IP数据报如果过大,会分片,即网络层的分组。在此章不用区分二者
在这里插入图片描述
数据部分就是传输层的报文段
首部部分
在这里插入图片描述
在这里插入图片描述
首部长度:4bit表示0~15个数,单位是4B,因为就像上图那样每一行都是32bit=4B,首部长度一定是4B的整数倍;最小为5(0101)是因为固定部分的长度固定是20B,首部超过20B的部分,由可变部分占据。
总长度:最大值65535,但是实际上长度过大就会分片,以满足数据链路层MTU(最大数据传输单元)的要求

IP数据报分片
最大传送单元MTU

在这里插入图片描述

IP数据报格式

在这里插入图片描述
标识(16bit):同一数据报的分片使用同一标识
标志(3bit):只有2位有意义

  • 中间位DF(Don’t Fragment)
    • DF=1,禁止分片
    • DF=0,允许分片
  • 最低位MF(More Fragment)(前提是DF=0)
    • MF=1,后面“还有分片”
    • MF=0,代表最后一片/没有进行分片

片偏移(13bit):指出较长分组分片后,某片在原分组中的相对位置**(即某片的数据部分在原数据部分中的偏移)**,以8B为单位。可以推出,除了最后一个分片,每个分片长度一定是8B的整数倍。

IPV4地址
IP地址
IP编址的历史阶段
  • 分类的IP地址
  • 子网的划分
  • 构成超网(无分类编址方法)
分类的IP地址

在这里插入图片描述
注意IP地址不是标识主机,而是接口/端口,比如一台主机可能有有线接口和无线接口,路由器也有很多端口,每一个端口/接口都会分配一个IP地址

互联网中的IP地址

在这里插入图片描述
回顾:网桥不能分割广播域,所以网桥相连的属于同一个局域网
每个网络可以用一个网络号来代表。比如最左边的为222.1.3.0(主机号为0)

分类的IP地址

在这里插入图片描述

特殊IP地址

在这里插入图片描述
0.0.0.0:表示本网络
255.255.255.255(全1):作为广播地址,向本网所有主机进行广播。路由器由于隔离广播域,所以不转发
127.xxx.xx.xx:不会离开主机,用于测试。

私有IP地址

用于本地网络或者专用网
在这里插入图片描述
A类网段:10.0.0.0
B类网段:172.16.0.0~172.31.0.0
C类网段:192.168.0.0~192.168.255.0

分类的IP地址

在这里插入图片描述
左边:-1代表减去网络号全0(不包括类号)(此处待查证:网络号包不包括前面的类别号),-2再减去A类中的127.0环回地址
右边:-2代表减去主机号全为0和全为1的情况。注意最右边代表的是每个网络中的最大主机数,即网络号固定时主机号的变化范围。

网络地址转换(NAT)
私有IP地址

在这里插入图片描述

网络地址转换NAT

本地私有IP如何和外部IP进行通信?
在这里插入图片描述
端口号:传输层概念,唯一地标识主机中的某一个进程。不同主机可以有相同的端口号。
在NAT路由器处,LAN端和WAN端中的“IP地址:端口号”互相转换,由NAT发入的数据报,目的IP地址要转换;由NAT发出的数据报,源IP地址要转换。
PS:对于端口号的转换,有待后面进一步学习

子网划分与子网掩码
子网划分

在这里插入图片描述
在这里插入图片描述
主机号最少2位,子网号最少0位

子网掩码

在这里插入图片描述
子网掩码:网络号全为1,主机号全为0

子网掩码习题

在这里插入图片描述
可以看出,同一个IP地址,经过不同的子网掩码,可以得到相同的网络地址。区别在于,这不同的子网掩码中网络号位数(连续的1的个数)和主机号位数(连续的0的个数)不同,即可划分的子网个数和每一个子网中可使用的最大主机数不同。
另:根据子网掩码可以判断出网络号+子网号多少位,主机号多少位,但是要判断子网号多少位,要根据前面分类的IP地址那张图。

使用子网时分组的转发

在这里插入图片描述
路由表转发分组的算法:
1.首先判断目的IP是否能直接交付:将目的IP和路由器相连的子网的子网掩码相与,看是否得到几个子网地址中的一个。
2.是否特点主机路由:路由表中特殊行,含特殊的IP地址
3.检测路由表中有无路径:将目的IP和路由表中每一行的子网掩码相与,即对于有些非相连的子网,不能直接交付,但是可以知道下一跳的地址
4.默认路由0.0.0.0:发给默认路由,默认路由会发给另一个路由,再重复上述过程
5.丢弃,报告转发分组出错:步骤四也不是无限制的,超时即丢弃报错

无分类编址CIDR(构成超网)

在这里插入图片描述
网络前缀的位数不固定

无分类编址CIDR

举例,由一个CIDR地址推出地址块的最小地址和最大地址

构成超网

在这里插入图片描述
针对情形:R1要与网络1和网络2通信,下一跳都是R2。于是想要将所有下一跳都是R2的网络合并起来,这样在R1的路由器转发表中就能减少冗余数据。
网络1:206.1.0|0000000.0(‘|’表示网络前缀分割处)
网络2:206.1.1|0000000.0
所以缩短网络前缀,将网络1和网络2融合成一个更大的地址块:206.1.0.0/16(找公共前缀)。这个网络前缀对应的下一跳地址就是R2。

最长前缀匹配

在这里插入图片描述
例题
在这里插入图片描述
该题就是对CIDR编址再进行子网划分。CIDR中,如果再进行子网划分,子网号可以全0或者全1,所以最大子网个数不用减2。

ARP协议
发送数据的过程

在这里插入图片描述
1号主机要给3号主机发文件,网络层填入3号主机的IP是通过传输层的DNS获取的,数据链路层要填入MAC地址,这是通过ARP高速缓存中存储的IP到MAC的映射来获取。ARP通常存储的是局域网内的映射
如果ARP中没有找到对应IP地址的记录,1号主机就会广播ARP请求分组,只有3号主机才会响应并返回一个单播ARP响应分组。


如果1号主机要和5号主机通信
在这里插入图片描述
交换机是没有MAC地址的,路由器有。
1号主机的ARP中肯定没有5号主机的映射,此时1号主机将目的IP地址与自己的子网掩码相与,发现目的IP不在自己的网段内。然后就查询自己默认网关IP6的IP地址(每个主机知道默认网关),通过广播ARP请求分组,得到并填入默认网关IP6的MAC6地址(数据链路层)。即跨局域网情况下,通过ARP协议得到本局域网默认网关的MAC地址
然后默认网关IP6处解封装和封装。由于路由器是个三层设备,所以解封装最多到网络层,再进行封装。到了MAC7处如下图,封装时IP地址不变,MAC地址改变
在这里插入图片描述
到了MAC9处如下。MAC5的获取也是通过广播ARP请求分组
在这里插入图片描述

ARP协议

在这里插入图片描述

习题

在这里插入图片描述
答案是6次
1.路由之间不一定是点对点,所以也会使用ARP获取MAC地址。
2.此题应该是最多使用6次ARP。

PS:MAC转化为IP地址使用RARP协议

DHCP协议
主机如何获得IP地址

在这里插入图片描述

DHCP协议

在这里插入图片描述
为什么STEP3还要用广播:告知其他所提供的IP未被采用的DHCP服务器,其提供的IP可以给其他主机。

ICMP协议
TCP/IP协议栈

在这里插入图片描述

网际控制报文协议ICMP

在这里插入图片描述
IP数据报的首部也有一个检验和,但只能检验首部是否出错,不能检验ICMP报文(数据部分)是否出错。

ICMP差错报告报文(5种)

在这里插入图片描述
2是源点抑制

ICMP差错报告报文数据字段

在这里插入图片描述

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

在这里插入图片描述
组播是一点到多点(非所有点)

ICMP询问报文

在这里插入图片描述
后两种不再使用

ICMP的应用

在这里插入图片描述
Traceroute原理:
源主机发送一系列数据报,不同的是TTL不同(比如1,2,3,4…)。不同TTL的数据报,其TTL减为0时所处的位置也不同,而TTL为0时会返回主机ICMP差错报告报文,通过这样来确定距离,跟踪路径。(大概理解)

IPv6
为什么会有IPv6

在这里插入图片描述
CIDR和NAT只是划分已有的地址空间,治标不治本
改进首部格式:IPv4的首部字段太多

IPv6数据报格式

在这里插入图片描述
扩展首部的理解:相当于IPv4首部的可变部分。
在这里插入图片描述
下一个首部:基本首部和扩展首部都含有该字段,这样从上一个首部可以找到下一个首部(就像链表)。而标识上层协议首部是指扩展首部的最后一个的下一个首部指向数据部分,而数据部分就是上层(运输层)传来的报文段。

IPv4和IPv6

在这里插入图片描述
6和7:链路层MTU太小,而IPv6数据报很大,那么在路由器处仍然会丢弃,再返回差错报告报文(使用ICMPv6协议),即7中的分组过大。

IPv6地址表示形式

在这里插入图片描述

IPv6基本地址类型

在这里插入图片描述
任播的本质还是单播,与任播组中距离最近的进行通信

IPv6向IPv4过渡的策略

在这里插入图片描述
隧道技术理解:IPV6数据报在到达IPv4路由器时,封装进一个IPv4数据报的数据部分,进而能通过IPv4路由器进行传播。之后碰到IPv6路由器再解封装。

路由算法与路由协议概述
路由算法

在这里插入图片描述

路由算法的分类

在这里插入图片描述

分层次的路由选择协议

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

RIP协议及距离向量算法
路由选择协议分类回顾

在这里插入图片描述

RIP协议

在这里插入图片描述
距离向量的距离,就是跳数。
R2如何填写路由表信息?通过与其他路由器交换信息来学习。

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

在这里插入图片描述

距离向量算法

在这里插入图片描述

练习

练习1
较简单,此处略过
练习2
在这里插入图片描述

RIP协议的报文格式

在这里插入图片描述
UDP是传输层协议,其用户数据来自高层应用层。

RIP协议特点:坏消息传得慢,好消息传得快

特点:当网络出现故障时,要经过比较长的时间(例如数分钟)才能将此信息传送到所有的路由器。
理解建议看视频中的例子。

OSPF协议及链路状态算法

此节应该是非重点,注意关键名词的记忆和大致理解

OSPF协议

在这里插入图片描述
与RIP相比:

  • 交换的信息不同:RIP交换的是自己路由表的内容,包含跳数的信息,而OSPF协议交换的是和相邻路由器的链路代价(图中边的权值)。
  • 多久交换不同:RIP每隔30s就会交换路由表。
链路状态路由算法

在这里插入图片描述

OSPF的区域

在这里插入图片描述

OSPF分组

在这里插入图片描述
按考纲:OSPF是网络层协议

OSPF其他特点

在这里插入图片描述
这里视频解释的也有些迷,记住就好,后面再查书。

BGP协议
BGP协议

在这里插入图片描述
BGP发言人:在配置BGP时,每一个自治系统的管理员都要选择至少一个路由器,来作为BGP发言人。往往是BGP边界路由器。BGP发言人同样会使用自治系统内部的协议(OSPF,RIP)。

BGP协议交换信息的过程

在这里插入图片描述
BGP发言人交换路径向量。
并不要求最佳路由,而是较好路由(因为网络规模大)。

BGP协议报文格式

在这里插入图片描述

BGP协议特点

在这里插入图片描述

BGP-4的四种报文

在这里插入图片描述

三种路由协议比较

(考研这部分不会太深入)
RIP:考察距离向量的算法
OSPF/BGP:内部/外部,区分所使用的路由选择算法。
在这里插入图片描述
王道书上的总结
在这里插入图片描述
这几个协议很多地方解释的比较模糊,可能是由于非重点吧,估计这部分还是以概念记忆和区分为主。

IP组播
IP数据报的三种传输方式

在这里插入图片描述
单播
在这里插入图片描述
组播,并不需要一开始就复制90份,而是逐步复制,起初的几个链路上都只有一个数据报。
在这里插入图片描述

IP组播地址

在这里插入图片描述
UDP的优点是实时性。

局域网上的硬件组播

在这里插入图片描述
有可能的情况:目的IP地址不同,即数据报要发送给不同的主机。但是他们后23位相同, 所以由IP地址映射到MAC地址时,得到相同的MAC地址。解决办法是在IP层进行过滤,就能过滤掉那些目的IP地址不是本主机,但是映射MAC后可能指向本主机的那些数据报。
考察:IP->MAC的映射

IGMP协议与组播路由选择协议(针对在因特网范围内组播)

IGMP协议:一个组播路由器,通过使用IGMP协议,就可以知道它所连的局域网中,是否含有可以接收组播数据报的主机。
组播路由选择协议:组播路由器之间协同合作

网际组管理协议IGMP

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

IGMP工作的两个阶段

在这里插入图片描述

组播路由选择协议

组播路由选择协议目的是找出以源主机为根节点的组播转发树
在这里插入图片描述
对于算法,选择题能选出即可,具体内容略。

移动IP

区别于动态IP:通过使用DHCP协议,在一个局域网内部的一台主机可以动态地获得一个IP地址。

相关术语

在这里插入图片描述

通信过程

在这里插入图片描述
这里的隧道和前面的意思差不多,本质就是封装数据报(完整放入数据部分)。
局域网内是通过MAC地址通信,当A移入外部网络并和外部代理第一次通信时,外部代理就获得了A的MAC地址,以便后面将发给A的数据报转发给A。
A离开这个外部网络后,A在这个外部网络得到的转交地址注销(可给其他主机使用)
在这里插入图片描述

网络层设备
路由器

在这里插入图片描述
输入端口对线路上收到的分组的处理
在这里插入图片描述
输出端口将交换结构传送来的分组发送到线路
在这里插入图片描述
路由器是三层的设备:网络层,数据链路层,物理层

三层设备的区别

在这里插入图片描述
交换机的每一个端口都是一个冲突域。不能隔离广播域:广播分组发到局域网,不管有没有交换机/网桥,局域网内的每一个主机都会收到。

路由表和路由转发

在这里插入图片描述
第四章总结里的思维导图可以看一下

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值