计算机网络 | 网络层知识点汇总

649 阅读32分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 19 天,点击查看活动详情

一、网络层的几个重要概念

1、互联网设计思路

①问:网络层应该向运输层提供怎样的服务?面向连接还是无连接? ②问:在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统?

  • 网络层(核心部分)要尽量设计得简单向其上层只提供简单灵活的、无连接的、尽最大努力交付的数据报服务
  • 网络层==不提供服务质量的承诺==,不保证分组

2、虚电路与数据报服务

👉虚电路只是一条逻辑上的连接,并不是真正建立了一条物理连接

对比的方面虚电路服务数据报服务
思路可靠通信应由网络来保证可靠通信应由主机来保证
连接的建立必须有不需要
终点地址仅在建立阶段使用,每个分组使用短的虚电路号每个分组都有终点的完整地址,即IP地址
分组的转发属于同一条虚电路的分组均按照同一路由进行转发每个分组独立选择路由进行转发
当结点出故障时所有通过出故障的结点的虚电路均不能工作出故障的结点可能会丢失分组,一些路由可能会发生变化
分组的顺序总是按发送顺序到达终点到达终点时不一定按发送顺序
端到端的差错处理和流量控制可以由网络负责,也可以由用户主机负责由用户主机负责

3、网络层的两个层面

在这里插入图片描述

[数据层面]

  • 每一个路由器根据本路由器生成的【转发表】,把收到的分组,从查找到的对应接口转发出去
  • 独立工作
  • 采用硬件进行转发[路由器],速度快

[控制层面]

  • 根据路由选择协议所用的路由算法计算路由,创建出本路由器的路由表
  • 许多路由器协同动作
  • 采用软件计算,慢

二、网际协议 IP

1、配套协议

  • ARP【地址解析协议】
  • ICMP【网际控制报文协议】
  • IGMP【网际组管理协议】

在这里插入图片描述

2、互连虚拟网络

问:实现异构网络的互连互通方法,哪种好?

  • 答:若是使用相同的网络会使得没有一种单一的网络能够适应所有用户的需求。因此使用==中间设备==好,一是可以满足不同需求;二是实用
  • 以下是各层的中间设备

在这里插入图片描述

互联网可以由多种异构网络互连组成

  • IP网是虚拟的,因为从网络层上看,IP网就是一个统一的、抽象的网络(实际上是异构的)。IP层抽象的互联网屏蔽了下层网络很复杂的细节,使我们能够使用统一的、抽象的IP地址处理主机之间的通信问题

互联网上主机交互方式

  • 直接交付不经过路由器
  • 间接交付至少经过一次路由器,但最后一次一定是直接交付

在这里插入图片描述

  • 可以注意到,每一跳两端的两个节点都必定直接连接在同一个网络上

【IP网的意义】:如果在这种覆盖全球的IP网的上层使用TCP协议,那么就是现在的互联网(Internet)

3、IP地址

(1)IP 地址及其表示方法

  • 首先是对于IP地址的表示方式

在这里插入图片描述

IP 地址 ::= { <网络号>, <主机号>}

==一个IP地址在整个互联网范围内是唯一的==

(2)分类的 IP 地址

地址类别网络号(net - id)主机号(host - id)
A类地址8位24位
B类地址16位16位
C类地址24位8位
D类地址多播地址-
E类地址保留为今后使用-

在这里插入图片描述

【IP地址】

  • A类网络的IP地址范围为:1.0.0.1 ~ 127.255.255.254
    • 因为A类网络的网络号为8位,第一个字节最高位固定为0,1~127差了128-1
    • 第一个字节展开后七位不超127,0 | 0000000 ~ 0 | xxxxxxx
  • B类网络的IP地址范围为:128.1.0.1 ~ 191.255.255.254
    • 因为B类网络的网络号为16位,第一个字节的最高位固定为1,128~191差了64-1
    • 第一个字节展开后六位不超63,10 | 000000 ~ 1 | xxxxxx
  • C类网络的IP地址范围为:192.0.1.1 ~ 223.255.255.254
    • 因为C类网络的网络号为24位,第一个字节的前两位固定为11,192~223差了32-1
    • 第一个字节展开后五位不超31,110 | 00000 ~ 11 | xxxxx

【例】:A类地址的网络号占位8位,即一个字节,已经固定死,只有余下七位可供使用;A类地址的主机号占24位,即三个字节

接下去说说特殊的网络号和主机号:

  • 全0(00000000)的网络号表示本网络【A类】
  • 网络号为127(01111111),保留作为本地软件环回测试【A类】

===========================================================

  • 全0的主机号表示该IP地址是“本主机”所连接到的单个网络地址【0.0.0.0】
  • 全1的主机号表示该网络上的所有主机【1.1.1.1】

分类IP地址的优点和缺点

  • 优点:

管理简单、使用方便、转发分组迅速、划分子网,灵活地使用

  • 缺点:

设计上不合理、大地址块,浪费地址资源、即使采用划分子网的方法,也无法解决 IP 地址枯竭的问题

(3)无分类编址 CIDR

  • CIDR全名:无分类域间路由选择
  • 更加有效地分配IPv4地址空间,无法解决IP地址枯竭的问题

CIDR 记法:斜线记法 (slash notation) a.b.c.d / n:二进制 IP 地址的前 n 位是网络前缀。 例如:128.14.35.7/20:前 20 位是网络前缀

  • IP地址举例

在这里插入图片描述

【地址掩码】

  • A类网络,地址掩码为255.0.0.0或255.0.0.0/8(CIDR记法)
  • B类网络,地址掩码为255.255.0.0或255.255.0.0/16(CIDR记法)
  • C类网络,地址掩码为255.255.255.0或255.255.255.0/32(CIDR记法)

⭐⭐⭐ 网络地址 = (二进制的 IP 地址) AND (地址掩码) 在这里插入图片描述

  • 下面是常用的CIDR地址

在这里插入图片描述

  • 接下去是三个特殊的地址块,==重点记忆== 在这里插入图片描述
  • 使用CIDR的一个好处就是可以更加有效地分配IP地址空间
  • 【路由聚合】可以大大压缩转发表所占空间,减少了查找转发表所需的时间

在这里插入图片描述

  • 从上图可以看出【==网络前缀越短的地址块所包含的地址数就越多==】
  • 所以我们应该选择网络前缀最长的路由。前缀越长,地址块越小,路由更具体

(4)IP 地址的特点

  • 每个 IP 地址都由网络前缀和主机号两部分组成
  • IP 地址是一种分等级的地址结构
  • 路由器根据目的主机所连接的网络前缀来转发分组,使得转发表中的项目大大减少,从而减少转发表所占的存储空间,缩短查找转发表的时间
  • IP 地址是标志一台主机(或路由器)和一条链路的接口
  • 多归属主机:主机就必须同时具有两个相应的 IP 地址,其网络号必须是不同的
  • 转发器或交换机连接起来的若干个局域网仍为一个网络
  • 转发器或交换机连接起来的若干个局域网都具有同样的网络号,它们仍为一个网络
  • 具有不同网络号的局域网必须使用路由器进行互连
  • 在 IP 地址中,所有分配到网络前缀的网络都是平等的
  • 互联网同等对待每一个 IP 地址

【在同一个局域网上的主机或路由器的IP地址中的网络前缀必须是同样的】


4、IP地址与MAC地址

  • MAC地址
  • 物理层和数据链路层使用的地址
  • 硬件地址、物理地址
  • 放在 MAC 帧的首部
  • 固化在网卡上的 ROM 中
  • IP地址
  • 网络层和以上各层使用的地址
  • 虚拟地址、软件地址、逻辑地址
  • 放在 IP 数据报的首部

从协议栈的层次上看 IP 地址和 MAC 地址

  • 在IP层抽象的互联网上只能看见IP数据报; 在局域网的链路层,只能看见MAC地址
  • 路由器只根据目的站的IP地址进行转发
  • IP数据报不会发生变化,原地址和目的地址始终保持不变;MAC地址在IP数据报转发的过程中会发生不断的变化
  • IP层抽象的互联网==屏蔽了下层很复杂的细节==。只要我们在网络层上讨论问题,就能够使用统一的、抽象的IP地址研究主机和主机或路由器之间的通信

5、地址解析协议ARP

⭐地址解析协议ARP把IP地址解析为MAC地址,它解决同一个局域网上的主机或路由器的IP地址和MAC地址的【映射问题】。ARP的==高速缓存==可以大大减少网络上的通信问题

(1)ARP高速缓存

在每台主机上都设有一个【ARP高速缓存】,里面存有本局域网上的各主机和路由器IP地址到MAC地址的映射表 :loop:下面举一个例子来说明讲解

在一个局域网中,主机A要向主机B发送IP数据报时,就会先在ARP告诉缓存中查看有无主机B的IP地址。如果有就根据ARP查出对应的MAC地址,然后将这个MAC地址写入MAC帧中;若是没找到主机A便会自动运行ARP,去寻找主机B的MAC地址,下面是寻找的过程👇

  • ARP进程会在本局域网上广播发送一个ARP请求分组。在里面写入自己的IP地址和MAC地址以及要查找的IP地址【发出去后本局域网上的所有主机都会收到这个ARP请求分组】
  • 当主机B看到有请求分组发来就会对照自己的IP是否与此分组中的IP地址一致,如果一致就会收下这个请求分组并向这个发送的IP方发出ARP响应分组,并且写入自己的MAC地址
  • 然后当主机A在收到主机B发还回来的ARP响应分组后,就在起其RP高速缓存中写入主机B的IP地址到MAC地址的映射
    • 可能之后主机A和主机B还会在进行数据报的发送,因此主机A和主机B就会把对方的地址映射==写入自己的ARP高速缓存中==,之后若是需要通信就可以直接在高速缓存中找到所需要的MAC地址就不需要再用广播的方式发送ARP请求分组了

在这里插入图片描述

通过上面这个案例,相信你对ARP高速缓存一定有了一个自己的理解

我们可以来总结一下ARP高速缓存的作用

  1. 存放最近获得的 IP 地址到 MAC 地址的绑定
  2. 减少 ARP 广播的通信量
  3. 为进一步减少 ARP 通信量,主机 A 在发送其 ARP 请求分组时,就将自己的 IP 地址到 MAC 地址的映射写入 ARP 请求分组
  4. 当主机 B 收到 A 的 ARP 请求分组时,就将主机 A 的 IP 地址及其对应的 MAC 地址映射写入主机 B 自己的 ARP 高速缓存中。不必在发送 ARP 请求

(2)疑难解析【✔】

问:2 台主机不在同一个局域网上怎么办?

  • ARP用于解决同一个局域网上的主机或路由器的IP地址和MAC地址的映射问题
  • 从IP地址到MAC地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的

问:既然在网络链路上传送的帧最终是按照MAC地址找到目的主机的,那么为什么我们还要使用两种地址【IP地址】和【MAC地址】呢?

  • 答:不同网络使用不同的 MAC 地址。MAC 地址之间的转换非常复杂。对以太网 MAC 地址进行寻址也是极其困难的。IP 编址把这个复杂问题解决了
  • 连接到互联网的主机只需各自拥有一个唯一的 IP 地址,它们之间的通信就像连接在同一个网络上那样简单方便,即使必须多次调用 ARP 来找到 MAC 地址,但这个过程都是由计算机软件自动进行的,对用户来说是看不见的。
  • 因此,在虚拟的 IP 网络上用 IP 地址进行通信非常方便

6、IP数据报的首部格式【IPv4】

IP数据报分为首部和数据两部分。首部的前一部分是固定长度,共20字节,是所有IP数据包必须具有的(源地址、目的地址、总长度等重要字段都在固定首部中),一些长度可变的可选字段放在固定首部的后面

在这里插入图片描述

1、IP数据包首部的固定部分中的各字段(只讲解重点)

  • 【首部长度】:固定20字节,若是首部长度不足4字节的整数倍,必须利用最后的填充字段加以填充

  • 【总长度】:当一个IP数据包封装成链路层的帧时,此数据报的长度一定不能超过下面的数据链路层所规定的的MTU(最大传送单元)值

  • 【生存时间(==TTL==)】:防止无法交付的数据报无限制地在互联网中兜圈子 在这里插入图片描述

  • 【首部检验和】:只检验数据报的首部,但不包括数据部分

  • 【源地址】:占32位。发送IP地址数据报的主机的IP地址

  • 【目的地址】:占32位。接收IP地址数据报的主机的IP地址

2、IP数据包首部的可变部分

  • 【可选字段】:长度可变,从1字节到40字节不等
  • 【填充】:当不够4字节的整数被时进行填充

增加首部分可变部分是为了增加IP数据报的功能,但也增加了每一个路由器处理数据报的开销。新的IP版本IPv6把把IP数据报的首部长度做成固定的了

三、IP 层转发分组的过程

1、基于终点的转发

一句话:查找转发表的过程就是==逐行寻找前缀匹配的过程==

  • 在这过程中需要将目的主机的IP与转发表中的各网络掩码进行按位与,观察前缀是否匹配,若是则表示该目的主机在此网络中

2、最长前缀匹配

  • 在采用CIDR编码时,如果一个分组在转发表中可以找到多个匹配的前缀,那么就应当选择==前缀最长==的一个作为匹配的前缀

然后记住两个特殊路由

  • 主机路由:网络前缀为32位【255.255.255.255】【11111111 11111111 11111111 11111111】
  • 默认路由:网络前缀为0位【0.0.0.0】【00000000 00000000 00000000 00000000】 在这里插入图片描述

四、网际控制报文协议 ICMP

  • 这一块有两个知识点,首先是两种ICMP报文的——> 差错报告报文和询问报文

在这里插入图片描述 还有一个是ICMP的重要应用:【分组网间探测PING】

  • 用来==测试两个主机之间的连通性==
  • 使用了ICMP回送请求与回送回答报文
  • 是应用层使用网络层ICMP的例子,没有通过运输层的TCP或UDP

在这里插入图片描述

五、IPv6

1、前言

对于IP,它是互联网的核心协议,可以随着互联网的飞速发展,越来越多的人连上了网络,所以需要分配的IP地址就越来越多,则对于之前使用的IPv4地址已经全部耗尽,现在已经全面部署IPv6

解决IP地址耗尽的根本措施:采用具有更大地址空间的新版本IP,即IPv6

2、IPv6的基本首部

首先来看看随着IPv6的引进所带来的变化

  • 更大的地址空间。从IPv4的32位扩大的128位,也就是2^128^,【可以为世界上每一粒沙子做个编号】
  • 扩展的地址层次结构
  • 灵活的首部格式
  • 改进的选项
  • 允许协议继续扩充
  • 支持即插即用
  • 支持资源的预分配

IPv4 VS IPv6记重点

  • IPv6取消了首部长度字段,因为它的首部长度是固定的【40字节】
  • IPv6将地址从32为(4B)扩大到128位(16B),更大的地址空间
  • 把TTL字段改为跳数限制字段,但作用是一样的
  • 取消了检验和字段,==加快了路由器处理数据报的速度==
  • 取消了选项字段,而用扩展首部来实现选项功能

在这里插入图片描述

  • 还是书上这张图比较好理解一些

在这里插入图片描述

接下去谈一些重点的字段

  • 有效载荷长度【扩展首部+数据部分】
  • 下一个首部【相当于IPv4的协议字段或可选字段】,可以看上面的图,这个字段的值就指向下一个首部的首地址
  • 跳数限制:用来防止数据报在网络中无限制地存在。当路由器要转发数据报的时候,先把跳数字段中的值减1,==当跳数限制的值为0时,就要把这个数据报丢弃==

3、IPv6的地址

  • 首先就是IPv6的三种基本类型地址:单播、多播和任播
  • IPv6采用【==冒号十六进制计法==】。例:255.255.255.255 ===》 FFFF.FFFF(两个8位合并,4位变两位)
  • ==零压缩==:一连串连续零可以为一对冒号所取代【例:0:0:0 : 0:0 等价于 ::
    • 在任一地址中,零压缩【双冒号表示法】仅可出现一次
    • 在使用零压缩时,CIDR的斜线表示法任然可用

4、IPv4向IPv6过渡的过程

IPv4向IPv6过渡只能采用【逐步演进】的办法,同时还必须使新安装的IPv6系统能够向后兼容,因此我们需要采取两种IPv6过渡策略:双协议栈和隧道技术

(1)双协议栈

  • 对于双协议栈,它使用【域名系统DNS】来查询。若协议栈主机在和IPv6通信时采用IPv6地址;在和IPv4通信时采用IPv4地址
  • 但是双协议栈需要付出的代价太大,要安装上两套协议,因此在过渡时期最好采用下面的【==隧道技术==】 在这里插入图片描述

(2)隧道技术

  • 这种技术的原理就相当于将IPv6封装在IPv4的内部,作为其数据部分。从路由器B经过路由器C和D传送到E,在传输前要将IPv4协议字段的值设置为41,表示它的数据部分是IPv6的数据报。在当IPv4要离开IPv4网络时,就将它的数据部分交给这头的IPv6协议栈,就完成了传送工作

在这里插入图片描述

六、互联网的路由选择协议

1、有关路由选择协议的几个基本概念

  • 首先有张重要的图,有关【网络层】的两个层次分步,分别是控制层面和数据层面。弄清楚这张图可以有助于你理解网络层的一些架构本图在初步讲网络层概念时有提及

在这里插入图片描述

  • 路由算法的概念不做叙述,来说说路由算法的分类和选择问题
  • 静态路由选择策略】
    • 非自适应路由选择;
    • 不能及时适应网络状态的变化;
    • 简单,开销较小
  • 动态路由选择策略】
    • 自适应路由选择;
    • 能较好地适应网络状态的变化;
    • 实现较为复杂,开销较大

分层次的路由选择协议

  • 自制系统(AS)就是在单一的技术管理下的一组路由。一个自治系统对其他自治系统表现出的是一个单一的和一致的路由选择策略

接下去看看互联网中的路由选择协议分类,==这些很重要==,后面的模块都会展开说明

  • 内部网关协议IGP —— 域内路由选择
  • RIP协议【小型简单网络】⭐
  • OSPF协议【大型复杂网络】
  • 外部网关协议EGP —— 域间路由选择
  • BGP- 4协议

  • 接下去就详细来说说这三个协议,以下是它们的框架分类图

在这里插入图片描述

2、内部网关协议 RIP

(1)协议RIP的工作原理

RIP是==分布式==的基于距离向量的路由选择协议,其最大优点就是简单,只适用于小型互联网

RIP的距离定义

  • 从以路由器到直接相连的网络的距离定义为1;从一主机到非直连的网络的距离定义为所经过的路由器数加1

问:为何RIP只适用于小型互联网?

  • 答:RIP认为好的路由就是它==通过的网络数目少==,即“距离短”。所以RIP允许一条路径最多只能包含15个网络,从而“距离”为16的时候就表示不可到达

一定要弄清的RIP三个要点✔

  • 和哪些路由器交换信息?
  • 答:仅和相邻路由器交换信息
  • 交换什么信息?
  • 答:交换的信息是当前本路由器所知道的全部信息,即自己现在的【路由表】
  • 什么时候交换信息?
  • 答:按固定的时间间隔交换信息【每隔30秒】。当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息

注:路由器在刚刚开始工作时,它的路由表是空的。然后路由器就得出到直接相连的几个网络的距离(这些距离定义为1)。接着,每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。 👉经过若干次的更新后,所有的路由器最终都会到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址【即所有路由器的路由表均更新完毕后,便可以知道到达它"最短"路由器的距离和地址】

  • 路由表更新的法则:找出到每个目的网络的最短距离

(2)距离向量算法【⭐⭐⭐】

  • 接下去来到本节的重点,也是==考试必考的一个知识点==,也就是通过【距离向量算法】去求解路由表的信息

算法三步走

  • 对相邻路由器发来的地址为X的RIP报文,将此报文中所有项目的【下一跳地址】均改为X
  • 将修改完后的路由表信息与当前路由器进行一个计算更新,规则如下
  • 若是原路由表中【没有】目的网络Net,就将其【添加】到路由表中
  • 若是两个目的网络的下一跳路由器是【一样】的,则更新路由表为【新修改】的路由信息
  • 若是两个目的网络的下一跳路由器是【不同】的,则比较距离,【谁距离短选谁】
  • 若是3分钟(180s)还没有收到相邻路由器的更新路由表,就将此路由器记为不可达的路由器,即把距离置为16【RIP允许一条路径最多只能包含15条个网络,距离16表示不可达】
  • 以上这个【距离向量算法】的基础就是Bellman - Ford算法(或Ford - Fulkerson算法

如果不懂,可以看看这个视频👇讲的还不错

[video(video-6ToEB1Qx-1674786852651)(type-bilibili)(url-player.bilibili.com/player.html…)]

3、内部网关协议 OSPF

(1)OSPF基本特点

📚采用洪泛法(flooding),向本自治系统中所有路由器发送信息。

  • 通过所有输出端口向相邻路由器发送信息,然后相邻路由器再向它的所有相邻路由器发送。但是不会向刚刚发来信息的那个路由器发送信息【形成了一个一传多,多传多的场面】
    • RIP协议仅仅是向自己相邻的几个路由器发送信息仅仅是向自己相邻的几个路由器发送信息

📚 发送的信息是与本路由器相邻的所有路由器的链路状态

  • 【链路状态】:说明本路由器都和哪些路由器相邻,以及该链路的度量 (metric)
    • RIP协议发送的信息是[到所有网络的距离和下一跳的路由器]

📚当链路状态发生变化或每隔一段时间(如30分钟),路由器才用洪泛法向所有路由器发送此信息

  • RIP协议若是3分钟(180s)没有收到相邻路由器的更新,便会把相邻路由器记为不可达

  • OSPF采用层次结构的区域划分,位于上层中间的叫做【主干区域】,标识符规定为【0.0.0.0】。在主干区域中的路由器称为主干路由器
  • 而且对于每一个边界区域来说都有着【区域边界路由器】主干路由器相连,这些路由器恰好也是主干路由器 在这里插入图片描述

👉OSPF的其他特点(了解即可)👈

  • 对于不同类型的业务可计算出不同的路由
  • 可实现多路径间的负载均衡
  • 所有在 OSPF 路由器之间交换的分组都具有鉴别的功能
  • 支持可变长度的子网划分和无分类编址 CIDR
  • 32 位的序号,序号越大状态就越新。全部序号空间在 600 年内不会产生重复号

(2)OSPF与RIP协议的对比

🍒首先我们来说说RIP协议的==缺陷==

  1. 以跳数评估的路由并非最优路径
  2. 最大跳数15导致网络规模小
  3. 更新发送全部RIP路由表浪费网络资源
  4. 收敛速度慢

然后再对它们进行一个对比🤺

  • 对于RIP协议协议来说,它只知道到所有网络的距离以及下一跳路由器,但是不知道全网的拓扑结构,只适用于小型网络
    • 距离矢量路由协议
    • 基于跳数选择最优路径
    • 每隔30s向邻居广播自己的整个RIP路由表
  • 对于OSPF协议来说,它可以知道全自治系统的所有网络和路由器。因为其更新收敛快的优点,使得【链路状态数据库】能较快地更新,使各个路由器能及时更新其路由表。因此OSPF可以使用于规模很大的网络
    • 链路状态路由协议
    • 基于连续开销选择最优路径
    • 触发更新或每隔30分钟向邻接路由器发送链路状态信息的摘要,增量更新机制

(3)OSPF协议工作过程

  1. 发现邻居,确定邻站可达
    • 通过组播hello包
    • 所有邻居都可能跟自己交换链路状态信息
  2. 建立邻接关系
    • 只有建立邻接关系的邻居路由器才会交换链路状态信息
    • 不是跟所有邻居都建立邻接关系
    • 相邻路由器每隔 10 秒钟要交换一次问候分组
  3. 同步数据库,传递链路状态信息
    • 每台设备都有一个LSDB(链路状态数据库)
    • 触发更新(若网络发生变化,则不需要等到30分钟后,就可以立刻向邻居发送信息)或每隔30分钟更新一次
    • 只要链路状态发生变化,路由器就使用链路状态更新分组,采用可靠的洪泛法向全网更新链路状态

在这里插入图片描述

(4)OSPF协议视频讲解

本视频来源于b站UP主——> 豆豆家姐姐 | 讲解的比较详细,因此做个分享

[video(video-XgSkTsbi-1673938031600)(type-bilibili)(url-player.bilibili.com/player.html… 路由技术基础)]

4、外部网关协议 BGP

本协议考试不会太多涉及,但是比较重要,因此做些讲解

  • 对于我们前面所学的RIP协议和OSPF协议都是内部网关协议,都只能在一个自治系统AS内部工作
  • 因此,若是它们没有BGP这种粘合剂,那这些自治系统便是一个个没有联系的孤岛:mountain:BGP就相当于是一个链接器一般,也可以把它想想成为两个岛屿之间的跨海大桥,是==很重要的一个东西==

(1)协议BGP的主要特点

👉力求选择出一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要计算出一条最佳路由

BGP在使用的时候要考虑一些问题:↓

  • 互联网规模太大,使得自治系统AS之间的路由选择非常困难
  • 自治系统AS之间的路由选择必须考虑有关策略

七、中英互译【背背就能拿分👈】

在这里插入图片描述

八、终极压题密卷📰

书本页数均以谢希仁《计算机网络(第8版)》为例

  1. 网络层提供的两种服务:虚电路、数据报;
    • 也就是我在开头提供的表格:chart_with_downwards_trend:要记住网络层不提供可靠的服务,只是向上层尽最大努力交付数据报
    • 对于【虚电路服务】来说是面向连接的,是可靠的;对于【数据报服务】来说是无连接的,是不可靠的
对比的方面虚电路服务数据报服务
思路可靠通信应由网络来保证可靠通信应由主机来保证
连接的建立必须有不需要
终点地址仅在建立阶段使用,每个分组使用短的虚电路号每个分组都有终点的完整地址,即IP地址
分组的转发属于同一条虚电路的分组均按照同一路由进行转发每个分组独立选择路由进行转发
当结点出故障时所有通过出故障的结点的虚电路均不能工作出故障的结点可能会丢失分组,一些路由可能会发生变化
分组的顺序总是按发送顺序到达终点到达终点时不一定按发送顺序
端到端的差错处理和流量控制可以由网络负责,也可以由用户主机负责由用户主机负责
  1. 在网络层中,与IP协议配套使用的还有哪些?【这个也可以放到英文题记】

    • 地址解析协议ARP
    • 网际控制报文协议ICMP
    • 网际组管理协议IGMP
  2. 将网络互联起来的中间设备分成四类【⭐】

    • 物理层 —— 转发器
    • 数据链路层 —— 网桥或桥接器
    • 网络层 —— 路由器
    • 网络层以上(传输层、应用层)—— 网关
  3. IP网络交付方式:直接交付和间接交付,概念是什么?

    • 【直接交付】:不需要经过任何路由器而是直接交互
    • 【间接交付】:至少经过一次路由器,但最后一次一定是直接交付 在这里插入图片描述
  4. IP地址编址方法有三个阶段:分类IP地址、子网划分、构成超网

  5. IP地址构成,常用书写方式?

    • IP地址 ::= {<网络号>,<主机号>}【例:192.168.1.2 —— 点分十进制】
  6. IP地址ABCD类分类的特点;会对一个IP地址段划分子网。

    • A类地址网络号8位(首位确定为0)占一个字节,主机号16位;
    • B类地址网络号16位(首位确定为10)占两个字节,主机号16位;
    • C类地址网络号24位(首位确定为110)占三个字节,主机号24位;
    • D类地址(首位确定为1110)占四个字节,后面均为多播地址; ——> 子网划分可以看看这篇文章:链接
  7. IP地址特点;

    • 一个IP地址在整个互联网范围内是唯一的,由【网络号】和【主机号】组成
  8. IP头部的数据包格式,最小IP包头部有几个字节(固定部分)

    • 20字节
  9. IP首部两个重要字段:源地址目标地址

  10. IP包分片的概念,会具体分片,offset和MF字段的计算。P137

    • 概念:在数据链路层规定了一个叫做MTU即最大传送单元的东西;当我们将一个IP数据报封装成链路层的帧时,此数据报的总长度必须 <= MTU。若是超过了就要对过长的数据报文进行分片
    • 标志字段中的最低位记为MF,MF = 1表示后面“还有分片”;MF = 0表示这已经是若干数据包分片中的最后一个(这一块有个习题,放到最后讲)
  11. IP分组转发的算法?在划分子网情况下,路由器转发策略?P140

    • IP分组转发算法
      • 路由器收到IP数据报后,从其中提取出目的主机地址D,再从D中提取出目的网络地址N
      • 如果N就是与此路由器直接相连的某个网络,直接交付
      • 查看路由表,如果有目的为D的特定主机路由,交付给该路由间接交付
      • 查看路由表,如果有到达网络N的路由,则转发给下一跳路由间接交付
      • 如果有默认下一跳路由,转发给默认下一跳路由
      • 报告转发分组出错
    • 路由器转发策略
      • 待定。。。
  12. 会根据IP地址和子网掩码,计算网络地址。P127

    • 即是在上面说到过的这个运算 在这里插入图片描述
  13. ICMP报文种类?

    • ==分为ICMP差错报告报文和ICMP询问报文==
    • 【ICMP应用】:pingtraceroute(tracert)
  14. 网络诊断命令:ping、traceroute(tracert)、ARP、DNS、net、netstat、ipconfig、 route【了解一下就行】

  15. TCP/IP配置主要参数:IP地址、掩码、默认路由、DNS服务器

  16. 路由选择协议的分类?每一类的典型路由?(可到英文题去记)

    • 内部网关协议IGP
      • RIP - 距离向量
      • OSPF - 链路状态
    • 外部网关协议EGP
      • BGP - 路径向量
  17. RIP协议特点。P160

    • 仅和相邻路由器交换信息
    • 交换的信息是当前本路由器所知道的全部信息,即自己现在的【路由表】
    • 按固定的时间间隔交换路由信息
  18. 会根据RIP协议更新路由表,填写路由表信息。P156

    • 利用距离向量算法👆(后面也会有习题)
  19. RIP协议默认更新时间

    • 30秒
  20. RIP和OSPF协议报文传输格式?

    在这里插入图片描述

在这里插入图片描述

  1. OSPF协议的特点?P164

📚采用洪泛法(flooding),向本自治系统中所有路由器发送信息。

  • 通过所有输出端口向相邻路由器发送信息,然后相邻路由器再向它的所有相邻路由器发送。但是不会向刚刚发来信息的那个路由器发送信息【形成了一个一传多,多传多的场面】
    • RIP协议仅仅是向自己相邻的几个路由器发送信息仅仅是向自己相邻的几个路由器发送信息

📚 发送的信息是与本路由器相邻的所有路由器的链路状态

  • 【链路状态】:说明本路由器都和哪些路由器相邻,以及该链路的度量 (metric)
    • RIP协议发送的信息是[到所有网络的距离和下一跳的路由器]

📚当链路状态发生变化或每隔一段时间(如30分钟),路由器才用洪泛法向所有路由器发送此信息

  • RIP协议若是3分钟(180s)没有收到相邻路由器的更新,便会把相邻路由器记为不可达
  1. IPv6比IPv4的主要变化。P150
  • IPv6取消了首部长度字段,因为它的首部长度是固定的【40字节】
  • IPv6将地址从32为(4B)扩大到128位(16B),更大的地址空间
  • 把TTL字段改为跳数限制字段,但作用是一样的
  • 取消了检验和字段,==加快了路由器处理数据报的速度==
  • 取消了选项字段,而用扩展首部来实现选项功能
  1. IPv6的基本首部。P151
    • 可往上翻看IPv6
  2. IPv6三种主要基本基本类型地址?P152
    • 单播 —— 传统的点对点通信
    • 多播 —— 一点对多点通信
    • 任播 —— 终点是一组计算机,通常是按照路由算法得出距离最近的一个
  3. IPv6地址:常用写法、零压缩写法 P153
    • 常用写法 :冒号十六进制
    • 零压缩写法:将一串连续的0用一对冒号取代

日常练习题讲解 —— 考试高频题型🔥

接下去放几道日常学习过程中做的一些练习题,考试中的题目很多也是来自这里

  1. 试说明下列协议的作用:IP、ARP和ICMP
  • 【IP协议】:实现网络互连。使参与互连的性能各异的网络从用户看起来好像是一个统一的网络。网际协议IP是TCP/IP体系中两个最主要的协议之一,与IP协议配套使用的还有三个协议(ARP、ICMP、IGMP
  • 【ARP协议】:把IP地址解析为MAC地址,用于解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题
  • 【ICMP协议】:可以提供差错报文和询问报文,以提高IP数据交付成功的机会。其还可以用来测试两个主机之间的连通性(ping)

  1. 试辨认以下IP地址的网络类别。 (1)128.36.199.3
    (2)21.12.240.17
    (3)183.194.76.253
    (4)192.12.69.248
    (5)89.3.0.1
    (6)200.3.6.2
  • (2)与(5)是A类 —— 【A类网络的IP地址范围为:1.0.0.1 ~ 127.255.255.254】
  • (1)与(3)是B类 —— 【B类网络的IP地址范围为:128.1.0.1 ~ 191.255.255.254】
  • (4)与(6)是C类 —— 【C类网络的IP地址范围为:192.0.1.1 ~ 223.255.255.254】

  1. 有两个CIDR地址块208.128/11208.130.28/22。是否有那一个地址块包含了另一个地址?如果有,请指出,并说明理由。

可以看出,对于208.128/11这个地址块的前11位和208.130.28/22的前11位是一样的,所以可以说前者包含后者

在这里插入图片描述


  1. 以下地址中的哪一个和86.32/12匹配:请说明理由。 (1)86.33.224.123: (2)86.79.65.216; (3)86.58.119.74; (4)86.68.206.154

在这里插入图片描述


在这里插入图片描述

本题的思路很简单,就是将每一个目的地址与目的网络的子网掩码做一个与运算,看看计算所得的目的网络是哪个,便可以对应地找到其目的地址【计算还不会的翻上去】

在这里插入图片描述


  1. 某单位分配到一个B类地址,其net-id为129.250.0.0。该单位有4000多台机器。分布在16个不同的地方。如选用子网掩码为255.255.255.0,试给每一个地点分配一个子网掩码,并算出每个地点主机号码的最大值和最小值

在这里插入图片描述


  1. 有如下的4个/24地址块,试进行最大可能性的聚会。 212.56.132.0/24 212.56.133.0/24 212.56.134.0/24 212.56.135.0/24

本题的求解思路就是将每个地址块扩展开来,就可以观察到每个地址块的前22位都是相同的,便可以进行一个路由聚合

在这里插入图片描述


在这里插入图片描述

本题就是我们上面讲到过的RIP【距离向量算法】,正好做一个检验 在这里插入图片描述

  1. 【压轴题】一个数据报长度为4000字节(固定首部长度)。现在经过一个网络传送,但此网络能够 传送的最大数据长度为1500字节。试问应当划分为几个短些的数据报片?各数据报片的数据字段长度、片偏移字段和MF标志应为何数值?

首先来分析一下,题目中首先给到了数据包的长度字段,但是我们知道需要减去其固定首部的长度,对于IPv4和IPv6来说是不一样的,前者为20字节,后者为40字节,所以要先去确定是IPv4还是IPv6?

  • 可以看到题目中要我们求解的是片偏移MF标志,但是经过上面的学习可以知道在IPv6中==已经是取消了标识、标志和片偏移字段==,所以可以得出其为IPv4的数据报文。因此在减去首部长度的20B之后数据包长度还剩下3980B
  • 然后就可以画出这个数据报片去进行分片,划分如下👇

在这里插入图片描述

  • 对于【片偏移】来说就是使用当前部分的数据报片长度 / 8即可,即每8个字节这个划片的长度为多少
  • 对于【MF标志】很简单,前面两个数据报片后面很明显都还有分片,所以为1;但是对于数据报片3后面已经无分片了,因为3980B已经被瓜分完了,因此为0

以上便是对于《计算机网路》中网络层这部分知识点的期末汇总,期盼正在阅读的你可以取得一个好成绩:heart:

在这里插入图片描述