Bootstrap

读《计算机网络》——深入浅出——以考研为目标学技术面试知识二刷计网——网络层

📑本篇内容:读《计算机网络》——深入浅出——以考研为目标学技术面试知识二刷计网——网络层

📘 文章专栏:《计算机网络》——深入浅出

🎬最近更新:2022年2月6日 读《计算机网络》——深入浅出——以考研为目标学技术面试知识——计算机网络体系结构

🙊个人简介:一只二本院校在读的大三程序猿,本着注重基础,打卡算法,分享技术作为个人的经验总结性的博文博主,虽然可能有时会犯懒,但是还是会坚持下去的,如果你很喜欢博文的话,建议看下面一行~(疯狂暗示QwQ)

🌇点赞 👍 收藏 ⭐留言 📝 一键三连 关爱程序猿,从你我做起

王道研友专用书籍《2022王道考研系列计算机网络考研复习指导》

书籍pdf:百度网盘

提取码:HHXF

视频教学地址:王道计算机考研 计算机网络_哔哩哔哩_bilibili

本文有参照视频教学以及书籍课后习题加以总结概括,同时囊括了面试中可能会出现的考点来进行学习的笔记知识,不喜勿喷~QwQ

📑计算机网络——网络层

✨1、网络层概述(重点)✨

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

其功能特点:

  • 路由选择与分组转发 —— 最佳路径
  • 异构网络互连——依靠路由器将异构网络互连形成一个大的网络
  • 拥塞控制:若所有的节点都来不及接受分组,而要丢弃大量的分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞。

🚀2、IP数据报格式

在这里插入图片描述

  • 版本:对应的当前IPv4 还是 IPv6 版本
  • 首部长度:代表的是IP数据报中IP的首部长度大小,单位是4B因为固定部分有20B所以最小长度为5对应的4位数是0101
  • 区分服务:指代的是期待获取那种方式的服务
  • 总长度:单位是1B,总长度 = 首部长度 + 数据部分 最大值为65536 = 2^16 -1字节,但是通常不会到达这么大,因为会被分组切片
  • 生存时间:IP分组保质期,每次经过一个路由器的时候-1.变为0的时候会丢弃。
  • 协议:数据部分的协议。6代表可靠的TCP协议17代表的是不可靠连接UDP(17嘛遗弃)~
  • 首部检查和:用于检查首部的和
  • 源IP地址和目的IP地址:32位
  • 可选字段:用来支持排错的、测量等安全等措施。
  • 填充:全0,把首部补成4B的整数倍

🎗1、IP数据报的分片

在这里插入图片描述

  • 标识:同一数据报的分片使用同一标识
  • 标志:只有2位有意义x__
    • 中间位DFDon't Fragment
      • DF = 1,禁止分片
      • DF = 0,允许分片
    • 最低位 MFMore Fragment):
      • MF = 1 后面“还有分片
      • MF = 0 代表最后一片/没分片
  • 片偏移:指出较长分组分片之后,某片在原分组中的相对位置。以8B位单位

🚀3、分类IP地址

在这里插入图片描述

分析:

  • A类地址 (网络号占8位 第一位必须是0):

    • 最大可用网络数:最大可用的网络号位全为0时表示的是本网络的意思,全为1的时候表示的环路地址 127.x.x.x,所以要减去两个。
    • 每个网络中的最大主机数:网络中主机号位全为0时表示的是本主机所连接的网络地址——本网的网络号,全为1的时候代表的是广播地址(不能只配置固定的接口)。
  • B类地址 (网络号占16位 前两位必须是10):

    • 最大可用网络数:最大可用的网络号位全为0时表示的是本网络的意思,所以之用减去1个。
    • 每个网络中的最大主机数:网络中主机号位全为0时表示的是本主机所连接的网络地址——本网的网络号,全为1的时候代表的是广播地址(不能只配置固定的接口)。
  • C类地址 (网络号占24位 前三位必须是110):

    • 最大可用网络数:最大可用的网络号位全为0时表示的是本网络的意思,所以之用减去1个。
    • 每个网络中的最大主机数:网络中主机号位全为0时表示的是本主机所连接的网络地址——本网的网络号,全为1的时候代表的是广播地址(不能只配置固定的接口)。

✨4、网络地址转换NAT(重点)✨

什么是网络地址转换NAT

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

在这里插入图片描述

当我们此时内网ip为192.168.0.3想要给主机B公网ip为213.18.2.4的主机发送请求信息,那此时主机A需要通过一个安装了NAT(网络地址转换)且含有公网ip172.38.1.5的NAT路由器来帮我们将信息发送到公网ip为213.18.2.4的主机B上。

  • 例如: 当此时局域网内主机A源地址为192.168.0.3,目的地址为213.18.2.4进行IP封装后交付给传输层,传输层对端口号30000进行了封装发送到NAT路由器中,随后路由器将其源地址替换为172.38.1.5目的访问端口进行改写发送请求到处于公网上的主机B:213.18.2.4上。

🚀5、子网划分和子网掩码

🎗1、例题

在这里插入图片描述

通过对例题的理解理解本知识点

  • 第一个知识点:该主机向其所在子网发送广播分组,可说明主机号位全为1才可以。
  • 第二个知识点:通过主机的IP地址子网掩码与运算可以得出子网所在网络号

解答过程

通过得知主机IP地址为180.80.77.55,可知当前IP号属于一个B类地址,那么它的对应的就是16位网络号16位主机号

随后通过主机的IP地址与 子网掩码进行与运算求得 其所在网络。—— 180.80.76.0所在网络。但是我们需要向其发送广播分组,所以除去前面计算得到的 8 + 8 + 6位的所在网络位以外的 32 - 22 = 10 主机号位都应该全为1

即: 180.80.76/22位 后面 10位 11.11111111

故本题选D , 180.80.79.255

✨6、路由器的分组转发流程(重点)✨

  1. 当从IP数据包中提取到了目的IP地址时,找到其对应的网络
  2. 然后路由器进行判断能否直接交付,如何判断呢?通过目的地址与子网掩码逐位相与,查找是否有对应的子网网络。如果有则直接交付,反之跳转到第三步。
  3. 检查路由表中是否有目的IP对应的特定主机路由。如果有就按照路由表跳转到下一跳路由器中,反之进行第四步骤。
  4. 检查路由表中的每一行子网掩码与目的地址IP进行相与运算,若无法找到,则进入第五步骤。
  5. 如果路由表中设置了默认路由则会跳转到默认路器中重复上述操作,直至TTL(生存时间)至0时,就会丢弃报告转发分组出错

🚀7、CIDR无分类编址

无类别域间路由选择CIDR

Classless Inter-Domain Routing

  • 消除了传统的A类、B类和C类地址以及划分子网的概念。

在这里插入图片描述

🎗1、例题

在这里插入图片描述

本题考察点在于

  • CIDR定长子网划分:此时对网络IP空间再进行子网划分,一部分作为子网网络号,剩余部分作为分配值的主机号
  • 注意点:在于主机号位均为1时作为广播地址,主机号位均为0时作为本机所连接的网络地址故可分配的地址个数应该减少这两个

✨8、ARP协议(面试重点!)✨

地址解析协议,即ARP(Address Resolution Protocol)

ARP 高速缓存(IP 地址的映射与MAC地址的映射)

ARP协议解决的是同一个局域网上的主机地址和路由器IP和MAC地址的解析。

这里用发送数据的过程来熟悉一下ARP是如何工作的

在这里插入图片描述

  • 当咱们的 用户1 想要给 用户3 发送一个PDF文件时, 按照五层参考模型中如图所示:

在这里插入图片描述

  1. 文件从应用层到达传输层后将数据报分割 并且每层加上对应的协议进行包装,包装过后的数据再次进行向临层传输。
  2. 到达网络层后,会将上层传输下来的数据报 简称4-PDU进行再次追加IP数据报 包含了 源地址IP1目的地址IP3,将其封装之后向下传输。
  3. 到达数据链路层之后,又会对其进行数据追加,不仅需要主机1的MAC地址还需要主机3的目的MAC地址,此时主机1并不知道主机3的MAC地址,所以主机1会通过发送广播请求:在这里插入图片描述
    去请求获取得到主机3的MAC地址, 广播请求发送后,只有主机3会对其进行响应,其他主机都不回应,所以返回一个单播的响应分组,返回的单播ARP响应分组包含的信息有主机3的IP地址和主机3的MAC地址。 在这里插入图片描述
    将映射信息返回,随后数据链路层再次向数据尾部追加校验部分FCS(帧尾校验序列)然后向其物理层传输。
  4. 傻瓜物理层呢就会直接将数据以01…10的方式将数据传输到指定的地址中去。

注意点:ARP高速缓存中存储的是局域网 内IP地址和路由器与MAC地址之间的映射解析关系

在这里插入图片描述

由于在实际网络的链路上传送数据帧时,最终必须使用MAC地址。


ARP协议:完成主机或者路由器IP地址到MAC地址的映射


ARP协议使用过程:

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

小付总结:简单来说,ARP协议中主要是两步骤,首先局域网步的主机/路由器 通过广播ARP请求分组, 然后 被请求的主机/路由器 发送单播ARP响应分组,生成一个叫做ARP高速缓存列表的IP地址与MAC地址的映射解析表。

在这里插入图片描述

✨9、ICMP

在这里插入图片描述

ICMP(Internet Control Message Protocol)网络控制报文协议

作用:作为一个桥梁的作用,**更好的转发IP数据报 ** 和 提高交付成功的机会

因为其是网络层的一个子协议所以ICMP协议支持主机或者路由器

  • 差错(或者异常)报告
  • 网络探寻

————发送特定的ICMP报文

在这里插入图片描述

了解ICMP差错报告报文的数据字段组成:

在这里插入图片描述

简单概括:就是获取IP数据报的首部与数据字段的前8个字节在其前位增加ICMP的前8字节构成ICMP差错报告报文,之后拿着ICMP差错报告报文与网络层首部进行拼接获取IP数据报用于传输。


ICMP 回送请求和回答报文


ICMP的应用

  • PING 是用于测试两个主机之间的连通性,使用了ICMP回送请求和回答报文.
  • Traceroute 跟踪一个分组从源点到终点的路径,使用了ICMP时间超过差错报告报文

✨10、路由算法以及路由协议✨

路由算法的分类

  • 静态路由算法(非自适应路由算法)管理员手动配置路由信息
    • 优点:简便、可靠,在负载稳定、拓扑变化不大的网络中运行效果很好,广泛应用于高度安全性的军事网络和较小的商业网络。
  • 动态路由算法(自适应路由算法)路由器间彼此交换信息,按照路由算法优化出路由表项
    • 优点:路由更新快,适用于大型网络及时响应链路费用或网络拓扑变化。

动态路由算法中两种特性分别对应的路由算法

  • 全局性:链路状态路由算法 OSPF Open Shortest Path First
    • 所有路由器掌握完整的网络拓扑和链路费用信息
  • 分散性:距离向量路由算法 RIP Routing Information Protocol
    • 路由器只掌握物理相连的邻居链路费用

分层次之间使用的路由选择协议——AS自治系统Autonomous System

  • 内部网关协议IGP——一个AS自治系统内部使用的 RIP\OSPF
  • 外部网关协议EGP——AS之间使用的 BGP

用例题来说明 RIP 协议

在这里插入图片描述

  • 此时我们已经知道了路由器R6的路由表了,现在收到了相邻路由器R4发来的路由更新信息。
    • 此时我们的RIP协议会将R4路由器发来的更新信息做出修改版距离为原来发过来时的距离+1
    • 随后将更新信息的修改版与R6的路由表进行比照
      • 如果当前目的网络不存在于R6路由表中则直接进行添加
      • 如果当前目的网络存在转发表项,则进行比对
        • 如果下一跳路由器一致则必须更新路由表距离
        • 反之下一跳路由器不一致,则更新其当前最小距离的路由位置或者原本路由距离较短的予以保留

总结

  • RIP 是一种分布式的基于距离向量内部网关路由选择协议,通过广播UDP报文来交换路由信息
  • OSPF 是一个内部网关协议,要交换的信息量较大,应使报文的长度尽量的短,所以不使用传输层的协议(TCP/UDP)
  • BGP 是一个外部网关协议,在不同的自治系统之间交换路由信息,由于网络过于复杂,需要保证可靠传输,所以采用的是TCP协议

在这里插入图片描述

✨11、IGMP

ICMP:网络组管理协议(Internet Group Management Protocol)

作用: IGMP协议让路由器知道本局域网上是否有主机(的进程)参加了或退出了某个组播组

IP组播地址

  • IP组播地址能让源设备将分组发送给一组设备属于多播组的设备将会被分配一个组播组IP地址(一群共同需求主机的相同标识)。
  • 组播地址范围为:224.0.0.0~239.255.255.255(D类地址),一个D类地址表示一个组播组,只能用作分组的目标地址 源地址总是单播地址

硬件组播地址

在这里插入图片描述

分析图来理解硬件组播地址: 我们都知道IPv4 的地址为32位既然是一个D类地址(组播地址)那么 IP地址的前四位就是(1110),而MAC帧的地址是48位 按照iana(internet assigned number authority)规定,组播MAC地址的高24bit为0x01005e第25bit为0即高25bit为固定值。剩下的低23位则来自与IP地址的低23位,前缀D类地址占了4位(1110),再加上这低位23位 共28位,那么多出来的5位bit信息丢失,结果使得出现了 2 5 2^5 25IP组播地址映射到同一个MAC地址上

🚀12、三层设备区别

在这里插入图片描述

🚀13、思维总结

王道计算机考研 计算机网络——网络层思维导图知识总结

✨计算机网络——网络层面试考点✨

常见网络层面试根据:Leetcode书籍:《计算机网络面试突击》 汇总而来——也是通常常见八股文中的面试考点。

1.IP协议的定义和作用?

IP(Internet Protocal)网络协议。工作在网络层上的用于提高网络的可扩展性,提供了一种无连接/不可靠的尽自己最大努力交付数据报传输的服务协议。其作用如下:

  • 寻址和路由
  • 分段与重组

2.IPv4地址不够如何解决?

DHCP(动态主机配置协议)、CIDR(无类别域间路由编址)、NAT(网络地址转换)、IPv6

3.路由器分组转发过程

见 6、路由器的分组转发流程(重点)

4.路由器和交换机的区别(这里指的是两层交换机)?

路由器:工作于网络层,其可通过IP数据报中的目的IP地址识别不同的网络,根据路由选择协议路由表进行跳转转发路径直到到达目的地址,既可以屏蔽广播域,又能隔离冲突

交换机:两层和和交换机工作在数据链路层和物理层,可以隔离冲突但是不能屏蔽广播域,主要用于利用主机的MAC地址确定数据转发的目的地址。

5.ARP(Address Resolution Protocal)原理及其解析过程?

见 8、ARP协议(面试重点!)

6.传输层协议和网络层协议的区别?

  • 网络层协议主机间的逻辑通信无连接不可靠;因为IP(Internet Protocal)是尽自己最大努力去交付IP数据报,也不建立连接进行确立数据交互,所以其是无连接不可靠的
  • 传输层协议进程逻辑通信;其中TCP面向连接的可靠性传输

补充一点:PPP(point-to-point protocol)是面向连接的不可靠传输——原因在于其协议没有编码和确认机制的同时:

在这里插入图片描述

在这里插入图片描述

;