本篇博客是考研期间学习王道课程 传送门 的笔记,以及一整年里对
计算机网络
知识点的理解的总结。希望对新一届的计算机考研人提供帮助!!!
关于对网络层
章节知识点总结的十分全面,涵括了《计算机网络》课程里的全部要点(本人来来回回过了三遍视频),其中还陆陆续续补充了许多内容,所以读者可以相信本篇博客对于考研计算机网络 “网络层” 章节知识点的正确性与全面性;
但如果还有自主命题的学校,还需额外读者自行再观看对应学校的自主命题材料。
计算机网络
笔记导航
- 第一章 计算机网络体系结构
- 第二章 物理层
- 第三章 数据链路层
- 第四章 网络层
⇦当前位置
- 第五章 传输层
- 第六章 应用层
计算机网络 复试精简笔记 (未完成)
- 408 全套初复试笔记汇总 传送门
如果本篇文章对大家起到帮助的话,跪求各位帅哥美女们,
求赞 、求收藏 、求关注!
你必考上研究生!
我说的,耶稣来了也拦不住!
食用说明书:
第一遍学习王道课程时,我的笔记只有标题和截图,后来复习发现看只看图片,并不能很快的了解截图中要重点表达的知识点。
在第二遍复习中,我给每一张截图中 标记了重点,以及 每张图片上方总结了该图片 对应的知识点 以及自己的 思考 。
最后第三遍,查漏补缺。
所以 ,我把目录放在博客的前面,就是希望读者可以结合目录结构去更好的学习知识点,之后冲刺复习阶段脑海里可以浮现出该知识结构,做到对每一个知识点熟稔于心!
请读者放心!目录展示的知识点结构是十分合理的,可以放心使用该结构去记忆学习!
注意(⊙o⊙)!,每张图片上面的文字,都是该图对应的知识点总结,方便读者更快理解图片内容。
【考纲内容】
王道 152
(一) 网络层的功能
网课耗时:
0.5 h
- 异构网络互联
- 路由与转发
- SDN基本概念
- 拥塞控制
(二) 路由算法
网课耗时:
0.5 h
- 静态路由与动态路由
- 距离-向量路由算法
- 链路状态路由算法
- 层次路由
(三) IPv4
网课耗时:
2.5 h
- IPv4分组
- IPv4地址 与 NAT
- 子网划分 与 子网掩码、CIDR、路由聚合、ARP、DHCP 与 ICMP
(四) IPv6
网课耗时:
0.5 h
- IPv6的主要特点
- IPv6地址
(五) 路由协议
网课耗时:
1 h
- 自治系统
- 域内路由 与 域间路由
- RIP路由协议
- OSPF路由协议
- BGP路由协议
(六) IP组播
网课耗时:
0.5 h
- 组播的概念
- IP组播地址
(七) 移动IP
网课耗时:
0.5 h
- 移动IP的概念
- 移动IP通信过程
(八) 网络层设备
网课耗时:
0.5 h
- 路由器的组成和功能
- 路由表与路由转发
【复习提示】
本章是历年考查的 重中之重 ,尤其是结合第3章、第5章、第6章出综合题的概率很大;
其中IPv4以及路由的相关知识点是核心,历年真题都有涉及,因此必须牢固掌握其原理,也要多做题,以便灵活应用;
本章的其他知识点,如 IP组播、移动P、IPv6也要有所了解;
数据报 是比较长的数据,分组 是对数据报进行切割;
功能一:路由选择与分组转发
- 路由选择:选择哪一条路;
- 分组转发:当一个分组到达时所采取的动作 (不保证有序到达);
功能二:异构网络互联
将多个计算机网络,通过一定方法和一些中间设备(中继系统)相互连接起来,构成更大的网络系统;
- 物理层中继系统:转发器、集线器;
- 数据链路层中继系统:网桥或交换机;
- 网络层中继系统:路由器;
- 网络层以上的中继系统:网关;
使用物理层或数据链路层的中继系统时,只是把一个网络扩大了,而从网络层的角度看,它仍然是同一个网络,一般并不称为网络互联。 因此网络互联通常是指用路由器进行网络互联和路由选择。
路由器是一台专用计算机,用于在互联网中进行路由选择。
功能三:拥塞控制
当整个网络负载过重,会导致分组转发速率很慢,很多分组被丢弃的情况;
拥塞:出现过量分组而引起网络性能下降的现象;
拥塞控制的两种方法:
- 开环控制:拥塞预防;
- 闭环控制:拥塞检测与处理;
网络层的主要任务是转发和路由选择,可以将网络层抽象地划分为 数据层面 (也称转发层面) 和 控制层面,
- 转发 是 数据层面 实现的功能;
- 路由选择 是 控制层面 实现的功能。
可以单纯地将 数据平面 当做 搬运工 的角色;
控制平面有两种实现方法:
① 传统方法(每路由器法) 每台路由器之间的路由选择算法互相通信,得到路由表;
数据平面与控制平面都是在一个路由器内,
数据平面负责转发(搬运工),控制平面负责计算转发表并执行路由选择算法;
② SDN方法
控制平面从路由器中分离出来,路由器只负责转发; 远程控制器来负责计算和分发转发表;
路由选择处理器
SDN 控制平面
SDN 控制器的三个层次
习题
小结
1. IPv4 分组格式
IP数据报如果过大,就会对其分片,就是分组;
在本章节的学习中,可以宏观地将IP数据报看作分组;
数据部分是传输层的报文段,这里暂不对其介绍,关注首部即可;
2. IP 数据报分片
IP数据报分片由 标识、标志、片偏移 字段记录;
例题
注意总长度、片偏移、首部长度单位的区别
1. IPv4 地址
IP地址的格式
IP地址分成两个字段:网络号 + 主机号 ;
简单认识下互联网中的IP地址
分类的IP地址
- A类:网络号占1B (8位),类别位
0
;- B类:网络号占2B (16位),类别位
10
;- C类:网络号占3B (24位),类别位
110
;- D类:多播地址,一对多通信使用,类别位
1110
;- E类:类别位
1111
,待到未来再使用;
特殊IP地址
A类:
- 最大可用网络数:27 - 2 ,
0000 0000、01111 1111
网络号不可用;- 最大主机数:224 - 2 ,全0全1不可用;
B类:
- 最大可用网络数:214 - 1 ;
- 最大主机数:216 - 2 ,全0全1不可用;
C类:
- 最大可用网络数:221 - 1 ;
- 最大主机数:28 - 2 ,全0全1不可用;
2. 网络地址转换 NAT
路由器对目的地址是私有IP地址的数据报一律不进行转发,也就是无法与外界网络通信;
此时就需要使用 网络地址转换NAT 进行网络通信;
端口号:可以唯一地标识主机中的某一个具体进程;
举例:
假设现在A主机要发送数据给B主机,那么发送信息中的地址字段有 源地址、目的地址、端口号 ;
到了NAT路由器就会发生转换,源IP地址替换为Lan端对应的WAN端的IP地址,端口号也同样;
B主机要发信息给C主机,源地址就是B主机的IP地址,目的地址就是A主机连接的NAT的IP地址;
B发送信息的端口号就是 4002 ,到了NAT会被识别,转换成 C主机的端口号 30001 ;
1. 子网划分
因为 分类的IP地址 存在缺点,所以改进采用 子网划分 技术;
- IP地址空间的利用率低:主机号的位数很多,但是很多情况下,某个网络连接的主机数并不多;
- 两级IP地址不过灵活:不能灵活增加本地单位的网络;
网络内部可以任意划分子网,每个子网自身的IP地址不同,但是对外展示的都是源网络IP地址;
外界无论发送信息到子网中的某台主机,就需要借助 子网掩码 ;
2. 子网掩码
习题练习
每个路由器都有一个路由转发表
3. 无分类编址 CIDR
举例说明
构成超网
ARP | DHCP | ICMP | |
---|---|---|---|
提供服务的协议 | UDP | IP | |
属于哪一层 | 应用层 |
1. 地址解析协议 ARP
ARP 高速缓存 (主机或路由器内):存放 局域网内 的 IP 地址 到 MAC 地址 的映射;
若ARP中没有对应IP地址的MAC映射,此时就要使用到 ARP地址解析协议 ;
- 1号主机 广播 ARP请求分组 (从交换机广播出去),包含:自身 IP1 、目的主机 IP3 、自身 MAC1、目的主机物理地址 (全F) ;
(全F就是全1,表示局域网内广播效应的请求分组);- 远方传来 单播 ARP响应分组,包含:目的主机 IP3 、目的主机物理地址 MAC3 ;
上图是同一个局域网内,1号主机 与 3号主机 通信时 缺少地址映射 的情况;
下图介绍不同局域网内,1号主机 与 5号主机 的通信情况:
- ① 1号主机 在 ARP中 查找5号主机的相关信息,查找失败;
- ② 1号主机使用自己的子网掩码,与 IP5 想与,查看是否在同一个 网段 内,发现不在;
- ③ 查看默认网关 (路由器) 的MAC地址,此时数据帧中的目的物理地址暂填 MAC6(路由器靠近1号主机的端口物理地址);
- ④ 1号主机 广播 ARP请求分组,得到默认网关的IP地址 (IP6) ;
- ⑤ 远方传来 单播 响应分组,得到 IP6 、MAC6 ;
- 此时数据到达邻接路由器,路由器的网络层对信息再一次封装,其中一些信息就会发送相应的改变;
- ⑥ 源IP地址、目的IP地址不变,源MAC地址、目的MAC地址 发生改变;
- ⑦ 路由器A 转到 路由器 B;
- ⑧ 数据到了路由器B,此时就和5号主机处在同一个局域网内,问题就变回上图中的情况;
小结下 ARP协议 的使用过程
课上例题
2. 动态主机配置协议 DHCP
主机如何获得IP地址 ?
静态配置:管理员给机房静态地、按序地分配IP地址(IP地址、子网掩码、默认网关);
- 默认网关:一个局域网,与外界进行交流的 网络关口 ;
动态配置:主机从DHCP服务器动态获取 IP地址、子网掩码、默认网关、DNS服务器名称 ;
3. 网际控制报文协议 ICMP
小结下 TCP/Ip协议栈 的层级关系,注意 从属、大小 关系;
ICMP协议负责实现 差错报告 / 网络探询 ,针对出错的分组,除了丢弃之外,还需要发送特定的 ICMP报文 ;
① ICMP 差错报告报文
ICMP差错报告报文的数据字段的形成过程
什么样的报文出错时,ICMP 不管它 ?
(选择题可能考)
② ICMP 询问报文
ICMP的应用举例(具体去百度)
1. IPv6 数据报格式
IPv6的基本首部是 固定 的 (40B),把IPv4的 可变部分 移到 有效载荷 中的 扩展首部 字段;
2. IPv6 和 IPv4 的区别
- 更大
- 更快
- 更灵活
- 更强大
3. IPv6 地址的表示形式
实现 IPv4 与 IPv6 的通信;
- 双栈协议;
- 隧道技术;
哪一层 | 协议 | |
---|---|---|
RIP | 应用层 | UDP |
OSPF | 网络层 | IP数据报 |
BGP | 应用层 | TCP |
把这个因特网分成几个小团体,每个小团体就是一个 自治系统 ;
自治系统 使用的协议对于外界是 透明的 ;
1. RIP协议
2. 距离-向量算法
==RIP 报文:==各路由器交换信息的报文;
举例练习
3. RIP协议的报文格式
并不需要记忆RIP报文各字段,只需要了解 RIP报文 - UDP用户数据报 - IP数据报 之间的层次关系即可;
慢收敛:一个网络出故障,需要较长时间才能发现;
好信息传的快:有最新的更短路径信息,更新的很快;
小结
1. OSPF协议
最短路径算法 SPF
2. 链路状态路由算法
==OSPF 区域:==对 自治系统 AS 进一步划分,主干区域 和 普通区域;
采用分层次的划分区域方法,可以使得每个路由区域内的信息通信量大大减少;
OSPF 分区
OSPF 其它特定
- 30分钟一次,很持久;
- OSPF适用于较大网络;
- 发生问题,很快就能发现;
1. BGP协议的基本概念
2. BGP协议交换信息的过程
BGP发言人 交换 路径向量
3. BGP协议报文格式
章节小结
① 单播
点 对 点;
② 广播
点 对 所有点;
③ 组播 (多播)
点 对 可选择的点
IP组播的两种情况:
- 在因特网的范围内进行组播;
- 只在局域网上进行硬件组播;
硬件组播
组播MAC地址都以 01-00-5E 开头
1. 网际组管理协议 IGMP
一个主机有多个进程,若这多个进程都是组播组的成员,那么每个进程都可以有一个组播的IP地址;
下图中
226.15.37.123
是下图中加入多播组的主机共同的多播地址,而图中各主机的IP地址是它们本身的IP地址; 每个路由器可以使用IGMP协议,当它收到一个组播组,可以判断是否给它局域网内的主机;
IGMP协议不知道哪些局域网内组播成员的个数,也不知道成员在哪个局域网;
IGMP只能帮助路由器知道自身局域网内有没有组播成员;
注意下ICMP与IGMP的层级关系,它们都可以使用 IP数据报- 传递报文;
ROUND 1:
A:我要加入 (IGMP 报文);
管理员1:这小子要加入 (组播路由选择协议);
ROUND 2:
管理员1:你们哪一个是二五仔?(没有二五仔了,不上报消息了);
2. 组播路由选择协议
章节小结
归属代理 (老妈)、外部代理 (亲戚)
A 刚进入外部网络 (去亲戚家玩)
- ① 我来了,该住哪里啊?
- ② 亲戚告诉老妈我住哪里;
- ③ 老妈回到:我知道了;
- ④ 亲戚:我告诉你妈关于你的消息了;
路由器按功能分成两大部分:
- 路由选择部分:为构建、维护 路由表 所服务;
- 分组转发部分;根据 转发表 对分组进行转发 (转发表 由 路由表得来的);
转发 v.s 路由选择
- 转发在 路由器内部 ,从输入端口 选择 一个输出端口进行转发 (并不是收到的所有分组都会被转发,例如RIP/OSPF分组);
- 路由选择在 路由器之间 ,选择一个合适的路由路径;
输入端口对分组的处理
输出端口对分组的处理
三层设备的区别 ⭐
1. “尽最大努力交付”有哪些含义 ?
1)不保证源主机发送的P数据报一定无差错地交付到自的主机。
2)不保证源主机发送的IP数据报都在某一规定的时间内交付到目的主机。
3)不保证源主机发送的IP数据报一定按发送时的顺序交付到目的主机。
4)不保证源主机发送的P数据报不会重复交付给目的主机。
5)不故意丢弃IP数据报。丢弃P数据报的情况是:路由器检测出首部校验和有错误;
或由于网络中通信量过大,路由器或目的主机中的缓存已无空闲空间。
但要注意,IP数据报的首部中有一个“首部校验和”。
当它检验出IP数据报的首部出现了差错时,就丢弃该数据报。
因此,凡交付给目的主机的IP数据报都是IP首部没有差错的或没有检测出差错的。
也就是说,在传输过程中,出现差错的IP数据报都被丢弃了。
现在因特网上绝大多数的通信量都属于“尽最大努力交付”。
如果数据必须可靠地交付给目的地,那么使用P的高层软件必须负责解决这一问题。
2.“IP网关”和“IP路由器”是否为同义语?“互连网”和“互联网”有没有区别 ?
当初发明TCP/IP的研究人员使用TP Gateway作为网际互联的设备,可以认为“IP网关”和“I路由器”是同义词。
“互连网”和“互联网”都是推荐名,都可以使用,不过建议优先使用“互联网”。
3. 在一个互联网中,能否用一个很大的交换机( switch)来代替互联网中很多的路由器 ?
不行。交换机和路由器的功能是不相同的。
交换机可在单个网络中与若干计算机相连,并且可以将一台计算机发送过来的帧转发给另一台计算机。从这一点上看,交换机具有集线器的转发帧的功能,但交换机比集线器的功能强很多。在同一时间,集线器只允许一台计算机发送数据。
路由器连接两个或多个同构的或异构的网络,在网络之间转发分组(即·P数据报)。
因此,如果许多相同类型的网络互联时,那么用一个很大的交换机(如果能够找其他计算机进行通信,交换机允许找得到)代替原来的一些路由器是可行的。但若这些互联的网络是异构的网络,那么就必须使用路由器来进行互联。
4. 网络前缀是指网络号字段( net-id)中前面的几个类别位还是指整个的网络号字段 ?
是指整个的网络号字段,包括最前面的几个类别位在内。网络前缀常常简称为前缀。例如一个B类地址10100000 00000000 00000000 00010000,其类别位就是最前面的两位:10,而网络前缀就是前16位:10100000 00000000。
5. IP有分片的功能,但广域网中的分组则不必分片,这是为什么?
IP数据报可能要经过许多个网络,而源结点事先并不知道数据报后面要经过的这些网络所能通过的分组的最大长度是多少。等到P数据报转发到某个网络时,中间结点可能才发现数据报太长了,因此在这时就必须进行分片。
但广域网能够通过的分组的最大长度是该广域网中所有结点都事先知道的,源结点不可能发送网络不支持的过长分组。因此广域网没有必要将已经发送出的分组再进行分片。
6. 数据链路层广播和IP广播有何区别 ?
数据链路层广播是用数据链路层协议(第二层》在开个以太网上实现的对该局域网上的所有主机进行广播MAC帧,而P广播则是用P通过因特网实现的对一个网络(即目的网络)上的所有主机进行广播IP数据报。
7. 主机在接收一个广播帧或组播帧时,其CPU所要做的事情有何区别?
在接收广播帧时,主机通过其适配器〔即网络接口卡(NIC)〕接收每个广播帧,然后将其传递给操作系统。CPU执行协议软件,并界定是否接收和处理该帧。在接收组播帧时,CPU要对适配器进行配置,而适配器根据特定的组播地址表来接收帧。凡与此组播地址表不匹配的帧都将被NIC丢弃。因此在组播的情况下,是适配器NIC而不是CPU决定是否接收一个帧。
8. 假定在一个局域网中计算机A发送ARP请求分组,希望找出计算机B的硬件地址。
这时局域网上的所有计算机都能收到这个广播发送的ARP请求分组。
试问这时由哪个计算机使用ARP响应分组将计算机B的硬件地址告诉计算机A?
这要区分两种情况。第一,如果计算机B和计算机A都连接在同一个局域网上,那么就是计算机B发送ARP响应分组。第二,如果计算机B和计算机A不连接在同一-个局域网上,那么就必须由一个连接计算机A所在局域网的路由器来转发ARP请求分组。这时,该路由器向计算机A发送ARP回答分组,给出自己的硬件地址。
9. 路由器实现了物理层、数据链路层、网络层,这句话的含义是什么 ?
第1章中提到了网络中的两个通信结点利用协议栈进行通信的过程。发送方一层一层地把数据“包装”,接收方一层一层地把“包装”拆开,最后上交给用户。路由器实现了物理层,数据链路层和网络层的含义是指路由器有能力对这三层协议的控制信息进行识别、分析以及转换,直观的理解是路由器有能力对数据“包装”这三层协议或者“拆开”这三层协议。自然,路由器就有能力互联这三层协议不同的两个网络。