计算机网络-网络层

计算机网络-网络层

以下笔记整理为哔哩哔哩湖科大教书匠的《计算机网络微课堂》的教学视频。
链接:计算机网络微课堂

1. 网络层概述

1.1 网络层的主要任务是实现网络互联,进而实现数据包在各网络之间的传输。

1.2 要实现网络层任务,需要解决以下主要问题:

​ 1.2.1 网络层向运输层提供怎样的服务(“可靠传输” 还是 “不可靠传输”)

​ 1.2.2 网络层寻址问题

​ 1.2.3 路由选择问题

1.3 因特网是目前全世界用户数量最多的互联网,它使用TCP/IP协议栈

1.4 由于TCP/IP协议栈的网络层使用网际协议IP,它是整个协议栈的核心协议,因此在TCP/IP协议栈中网络层常称为网际层

1.5 综上所述,我们通过学习TCP/IP协议栈的网际层来学习网络层的理论知识和实践技术。

2. 网络层提供的两种服务

2.1 虚电路服务与数据报服务的比较:

对比方面虚电路服务数据报服务
思路可靠通信应当由网络来保证可靠通信应当由用户主机来保证
连接的建立必须建立网络层连接不需要建立网络层连接
终点地址仅在连接建立阶段使用每个分组都有终点的完整地址
分组的转发属于同一条虚电路的分组均按照同一路由进行转发每个分组可走不同的路由
当结点出故障时所有通过出故障的结点的虚电路均不能工作出故障的结点可能会丢失分组,一些路由可能会发生变化
分组的顺序总是按发送顺序到达终点到达终点时不一定按发送顺序
服务质量保证可以将通信资源提前分配给每一个虚电路,容易实现很难实现

2.2 由于TCP/IP体系结构的因特网的网际层提供的是简单灵活无连接的尽最大努力交付的数据报服务,因此本章主要围绕网际层如何传送IP数据报这个主题进行讨论。

3. IPv4地址概述

3.1 在TCP/IP体系中,IP地址是一个最基本的概念,我们必须把它弄清楚。

3.2 IPv4地址就是给因特网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内唯一的32比特的标识符。

3.3 IP地址由因特网名字和数字分配机构ICANN进行分配。

​ 3.3.1 我国用户可向亚太网络信息中心APNIC申请IP地址,需要缴费,一般不接受个人用户申请。

​ 3.3.2 2011年2月3日,互联网号码分配管理局IANA宣布,IPv4地址已经分配完毕。

​ 3.3.3 我国在2014至2015年也逐步停止了向新用户和应用分配IPv4地址。同时全面开展商用部署IPv6。

3.4 IPv4地址的编址方法经历了如下三个历史阶段:

1981年分类编址 --> 1985年划分子网 --> 1993年无分类编址

3.5 32比特的IPv4地址不方便阅读、记录以及输入等,因此IPv4地址采用点分十进制表示方法以方便用户使用。

4. 分类编址的IPv4地址

在这里插入图片描述

弄清楚ABC类地址的IPv4地址结构,知道怎么分配!

5. 划分子网的IPv4地址

5.1 为新增网络申请新的网络号会带来以下弊端:

​ 5.1.1 需要等待时间和花费更多的费用

​ 5.1.2 会增加其他路由器中路由表记录的数量

​ 5.1.3 浪费原有网络号中剩余的大量IP地址

5.2 可以从主机号部分借用一部分比特作为子网号

5.3 32比特的子网掩码可以表明分类IP地址的主机号部分被借用了几个比特作为子网号

​ 5.3.1 子网掩码使用连续的比特1来对应网络号和子网号

​ 5.3.2 子网掩码使用连续的比特0来对应主机号

​ 5.3.3 将划分子网的IPv4地址与其对应的子网掩码进行逻辑与(&)运算就可以得到IPv4地址所在子网的网络地址

5.4 给定一个分类的IP地址和其对应的子网掩码,就可以知道子网划分的细节:

重点掌握:

​ 5.4.1 划分出的子网数量

​ 5.4.2 每个子网可分配的IP地址数量

​ 5.4.3 每个子网的网络地址和广播地址

​ 5.4.4 每个子网可分配的最小和最大的地址

5.5 默认的子网掩码是指在未划分子网的情况下使用的子网掩码:

​ 5.5.1 A类:255.0.0.0

​ 5.5.2 B类:255.255.0.0

​ 5.2.3 C类:255.255.255.0

6. 无分类编址的IPv4地址

6.1 划分子网在一定程度上缓解了因特网在发展中遇到的困难,但是数量巨大的C类网因为其地址空间太小并没有得到充分使用,而因特网的IP地址仍在加速消耗,整个IPv4地址空间面临全部耗尽的威胁。

6.2 为此,因特网工程任务组IETF又提出采用无分类编址的方法来解决IP地址紧张的问题,同时还专门成立IPv6工作组负责研究新版本IP以彻底解决IP地址耗尽问题。

6.3 1993年IETF发布了无分类域间路由选择CIDR的RFC文档:

​ 6.3.1 CIDR消除了传统的A类、B类和C类地址,以及划分子网的概念;

​ 6.3.2 CIDR可以更加有效地分配IPv4的地址空间,并且可以在新的IPv6使用之前允许因特网的规模继续增长。

6.4 CIDR使用==“斜线记法”,或称为CIDR记法。即在IPv4地址后面加上’/',在斜线后面写上网络前缀所占的比特数量==。

6.5 CIDR实际上是将网络前缀都相同的连续的IP地址组成一个“CIDR地址块”。

6.6 我们只要知道CIDR地址块中的任何一个地址,就可以知道该地址块的全部细节:

重点掌握:

​ 6.6.1 地址块的最小地址

​ 6.6.2 地址块的最大地址

​ 6.6.3 地址块中的地址数量

​ 6.6.4 地址块聚合某类网络(A类、B类、C类)的数量

​ 6.6.5 地址掩码(也可继续称为子网掩码)

​ 地址掩码就是网络号部分全部取1,主机号部分全部取0

6.7 路由聚合(构造超网)的方法就是找共同前缀

6.7 网络前缀越长,地址块越小,路由越具体

6.8 若路由器查表转发分组时发现有多条路由可选,则选择网络前缀最长的那条,这称为最长前缀匹配,因为这样的路由更具体。

7. IPv4地址的应用规划

定长的子网掩码FLSM变长的子网掩码VLSM
使用同一个子网掩码来划分子网使用不同的子网掩码来划分子网
子网划分方式不灵活:只能划分出2的n次方个子网(n是从主机号部分借用的用来作为子网号的比特数量)子网划分方式灵活:可以按需分配
每个子网所分配的IP地址数量相同,容易造成IP地址浪费每个子网所分配的IP地址数量可以不同,尽可能减少对IP地址的浪费

8. IP数据报的发送和转发过程

8.1 主机发送IP数据报

判断目的主机是否与自己在同一个网络:

判断方法:

① 将源主机的主机地址与源主机的子网掩码做逻辑运算,得到源网络地址

② 将目的主机的主机地址与源主机的子网掩码做逻辑运算,得到目的网络地址

③ 若源网络地址与目的网络地址相同,则表示在同一个网络

若在同一个网络,则属于直接交付;

若不在同一个网络,则属于间接交付,传输给主机所在网络的默认网关(路由器),由默认网关帮忙转发;

8.2 路由器转发IP数据报

​ 8.2.1 检查IP数据报首部是否出错:

​ 若出错,则直接丢弃该IP数据报并通告源主机;

​ 若没有出错,则进行转发;

​ 8.2.2 根据IP数据报的目的地址在路由器表中查找匹配的条目:

​ 查找方法:

​ 若找到匹配的条目,则转发给条目中指示的吓一跳;

​ 若找不到,则丢弃该IP数据报并通告源主机;

9. 路由信息协议RIP的基本工作原理

9.1 路由信息协议RIP是内部网关协议IGP中最先得到广泛使用的协议之一,其相关标准文档为RFC1058 。

9.2 RIP要求自治系统AS内的每一个路由器都有维护从它自己到AS内其他每一个网络的距离记录。这是一组距离,称为“距离向量”。

9.3 RIP使用跳数作为度量来衡量到达目的网络的距离

​ 9.3.1 路由到直连网络的距离定义为1

​ 9.3.2 路由器到非直连网络的距离定义为所经过的路由器数加1

​ 9.3.3 允许一条路径最多只能包含15个路由器,距离等于16时相当于不可达。因此,RIP只适用于小型互联网。

9.4 RIP认为好的路由就是距离短的路由,也就是所通过路由器数量最少的路由。

9.5 当达到同一目的网络有多条距离相等的路由时,可以进行等价负载均衡

9.6 RIP包含以下三个要点:

重点:

① 和谁交换信息:仅和相邻路由器交换信息

② 交换什么信息:交换自己的路由表

③ 何时交换信息:周期性交换(例如每30秒)

9.7 RIP的基本工作过程

重点:

① 路由器刚开始工作时,只知道自己到直连网络的距离为1

② 每个路由器仅和相邻路由器周期性地交换并更新路由信息

③ 若干次交换和更新后,每个路由器都知道到达本AS内各网络的最短距离和下一跳地址,称为收敛

9.8 RIP路由条目的更新规则

重点:

① 发现了新的网络,添加

② 相同下一跳,最新消息,更新

③ 不同下一跳,距离更短,更新

④ 不同下一跳,距离更大,不更新

⑤ 不同下一跳,等价负载均衡

9.9 RIP存在“坏消息传播得慢”的问题

9.10 坏消息传播得慢又称为路由环路或距离无穷计数问题,这是距离向量算法的一个固有问题。

9.11 可以采取多种措施减少出现该问题的概率或减小该问题带来的危害

① 限制最大路径距离为15(16表示不可达)

② 当路由表发生变化时就立即发送更新报文(即“触发更新”),而不仅是周期性发送

③ 让路由器记录收到某特定路由信息的接口,而不让同一路由信息再通过此接口向反方向传送(即“水平分割”)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/266764.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java中静态修饰符(static)的使用

static-静态 修饰属性 静态属性,也称为静态变量 类变量等 static 数据类型 属性名; 使用 静态内容独立存放在方法区 静态内容在内存中只有一份,被该类所有对象共享 普通属性所有对象在对象内容中都有一份 可以通过类名.静态属性名的方式直接访问静态属性 静态属性封装之…

Milvus数据一致性介绍及选择方法

1、Milvus 时钟机制 Milvus 通过时间戳水印来保障读链路的一致性,如下图所示,在往消息队列插入数据时, Milvus 不光会为这些插入记录打上时间戳,还会不间断地插入同步时间戳,以图中同步时间戳 syncTs1 为例&#xff0…

MySQL 数据库系列课程 04:MySQL Workbench的安装

Workbench 是 MySQL 官方推出的免费的强大的可视化工具,不熟悉命令行工具的人,可以安装这一款软件,通过编写 SQL 进行数据库中数据的增删改查操作,接下来我们详细说明一下 Workbench 的安装。 一、Windows安装Workbench &#x…

postgresql vacuum流程分析

概述 VACUUM是postgresql MVCC机制不可分割的组成部分。 postgresql在管理同一个元组的多个版本时,采取在堆表页面上从老版本到新版本放置元组的方法,每个元组都记录了xmax和xmin用于判断其可见性。这样的好处是(1)在索引键没有…

HarmonyOS - 基础组件绘制

文章目录 所有组件开发 tipsBlankTextImageTextInputButtonLoadingProgress 本文改编自&#xff1a;<HarmonyOS第一课>从简单的页面开始 https://developer.huawei.com/consumer/cn/training/course/slightMooc/C101667360160710997 所有组件 在 macOS 上&#xff0c;组…

设计模式篇---职责链模式

文章目录 概念结构实例总结 概念 职责链模式&#xff1a;避免将一个请求的发送者与接收者耦合在一起&#xff0c;让多个对象都有机会处理请求。将接收请求的对象连接成一条链&#xff0c;并且沿着这条链传递请求&#xff0c;直到有一个对象能够处理它为止。 比如大学期间&…

DLLNotFoundException:xxx tolua... 错误打印

DLLNotFoundException:xxx tolua... 错误打印 一、DLLNotFoundException介绍二、Plugins文件夹文件目录结构如下&#xff1a; 三、Plugins中的Android文件夹四、Plugins中的IOS文件夹这里不说了没测试过不过原理应该也是选择对应的平台即可五、Plugins中的x86和X86_64文件夹 一…

C# Onnx Yolov8 Detect yolov8n、yolov8s、yolov8m、yolov8l、yolov8x 对比

目录 效果 yolov8n yolov8s yolov8m yolov8l yolov8x 模型信息 项目 代码 下载 C# Onnx Yolov8 Detect yolov8n、yolov8s、yolov8m、yolov8l、yolov8x 对比 效果 yolov8n yolov8s yolov8m yolov8l yolov8x 模型信息 Model Properties ------------------------- d…

持续集成交付CICD:Jira 远程触发 Jenkins 实现更新 GitLab 分支

目录 一、实验 1.环境 2.GitLab 查看项目 3.Jira新建模块 4. Jira 通过Webhook 触发Jenkins流水线 3.Jira 远程触发 Jenkins 实现更新 GitLab 分支 二、问题 1.Jira 配置网络钩子失败 2. Jira 远程触发Jenkins 报错 一、实验 1.环境 &#xff08;1&#xff09;主机 …

Python算法例26 落单的数Ⅳ

1. 问题描述 给定数组&#xff0c;除了一个数出现一次外&#xff0c;所有数都出现两次&#xff0c;并且所有出现两次的数都挨着&#xff0c;找出出现一次的数。 2. 问题示例 给出nums[3&#xff0c;3&#xff0c;2&#xff0c;2&#xff0c;4&#xff0c;5&#xff0c;5]&am…

HTML---网页布局

目录 文章目录 一.常见的网页布局 二.标准文档流 标准文档流常见标签 三.display属性 四.float属性 总结 一.常见网页布局 二.标准文档流 标准文档流常见标签 标准文档流的组成 块级元素<div>、<p>、<h1>-<h6>、<ul>、<ol>等内联元素<…

异常处理和单元测试python

一、实验题目 异常处理和单元测试 二、实验目的 了解异常的基本概念和常用异常类。掌握异常处理的格式、处理方法。掌握断言语句的作用和使用方法。了解单元测试的基本概念和作用。掌握在Python中使用测试模块进行单元测试的方法和步骤。 三、实验内容 编程实现如下功能&a…

智能优化算法应用:基于材料生成算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于材料生成算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于材料生成算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.材料生成算法4.实验参数设定5.算法结果6.…

交通流预测 | Matlab基于KNN-BiLSTM的交通流预测(对比SVR、LSTM、GRU、KNN-LSTM)

目录 预测效果基本介绍程序设计参考资料 预测效果 基本介绍 交通流预测 | Matlab基于KNN-BiLSTM的交通流预测&#xff08;对比SVR、LSTM、GRU、KNN-LSTM&#xff09; 程序设计 完整程序和数据获取方式&#xff1a;私信博主回复Matlab基于KNN-BiLSTM的交通流预测&#xff08;对…

Netty-2-数据编解码

解析编解码支持的原理 以编码为例&#xff0c;要将对象序列化成字节流&#xff0c;你可以使用MessageToByteEncoder或MessageToMessageEncoder类。 这两个类都继承自ChannelOutboundHandlerAdapter适配器类&#xff0c;用于进行数据的转换。 其中&#xff0c;对于MessageToMe…

3dsmax渲染太慢,用云渲染农场多少钱?

对于许多从事计算机图形设计的创作者来说&#xff0c;渲染速度慢是一个常见问题&#xff0c;尤其是对于那些追求极致出图效果的室内设计师和建筑可视化师&#xff0c;他们通常使用3ds Max这样的工具&#xff0c;而高质量的渲染经常意味着长时间的等待。场景复杂、细节丰富&…

案例144:基于微信小程序的自修室预约系统

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…

在Excel中,如何简单快速地删除重复项,这里提供详细步骤

当你在Microsoft Excel中使用电子表格时&#xff0c;意外地复制了行&#xff0c;或者如果你正在制作其他几个电子表格的合成电子表格&#xff0c;你将遇到需要删除的重复行。这可能是一项非常无脑、重复、耗时的任务&#xff0c;但有几个技巧可以让它变得更简单。 删除重复项 …

华为vrrp+mstp+ospf+dhcp+dhcp relay配置案例

1、左边是vlan 10主桥&#xff0c;右边是vlan 20的主桥&#xff0c;并且互为备桥 2、 vlan 10 vrrp网关默认用左边&#xff0c;vlan 20的vrrp 网关默认用右边&#xff0c;对应mstp生成树 3、两边都track检测&#xff0c;不通就把vrrp减掉60&#xff0c;这样就会自动切另一边了 …

循环神经⽹络中的梯度算法GRU

1. 什么是GRU 在循环神经⽹络中的梯度计算⽅法中&#xff0c;我们发现&#xff0c;当时间步数较⼤或者时间步较小时&#xff0c;**循环神经⽹络的梯度较容易出现衰减或爆炸。虽然裁剪梯度可以应对梯度爆炸&#xff0c;但⽆法解决梯度衰减的问题。**通常由于这个原因&#xff0…