四.网络层(上)
目录
4.1网络层功能概述
4.2 SDN基本概念
4.3 路由算法与路由协议
4.3.1什么是路由协议?
4.3.2什么是路由算法?
4.3.3路由算法分类
(1)静态路由算法
(2)动态路由算法
①全局性
OSPF协议与链路状态算法
②分散性
RIP协议与距离向量算法
4.3.4分层次的路由选择协议
AS
路由选择协议
内部网关协议IGP
外部网关协议BGP
4.4 IP数据报格式
4.5 IP数据报分片
4.6 IPv4地址
互联网中的IP地址
分类的IP地址
特殊IP地址
私有IP地址
4.7网络地址转换NAT
IP地址的概念
公网地址和私网地址
公网地址
私网地址
公网地址和私网地址的区别
私网地址的分类
NAT技术
总结
4.8子网划分和子网掩码
子网网络地址的求取
使用子网时的分组转发
例题
4.1网络层功能概述
主要任务是把分组从源端传送到目的端,为分组交换网上的不同主机提供通信服务。
网络层传输单位是数据报。

1.路由选择与分组转发【最佳路径】

2.异构网络互联

3.拥塞控制
若所有节点都来不及接收分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞。
4.2 SDN基本概念
4.3 路由算法与路由协议
4.3.1什么是路由协议?

4.3.2什么是路由算法?
我们知道,网络层的一个主要设备就是路由器,而路由器的主要功能就是进行分组转发和路由选择。为了完成这些功能,路由器就需要进行维护自身的一张路由表。

而维护这张路由表的方法就是路由算法。
提一个概念:
最佳路由:“最佳”只能是相对于某一个特定情况下的出的较为合理的选择而已。
4.3.3路由算法分类
(1)静态路由算法
也叫非自适应路由算法,需要管理员手动配置路由信息。
其优点是:简单,可靠,在负荷稳定,拓扑结构变化不大的网络中运行的效果很好,广泛用于高度安全的军事网络和较小的商业网络。
缺点是:路由更新慢,不适用于大型网络。
(2)动态路由算法
也叫自适应路由算法:路由器间彼此交换信息,按照路由算法优化出路由表项。
其优点是:路由更新快,适用大型网络,及时响应链路费用或网络拓扑变化。
缺点是:算法复杂,增加网络负担。
①全局性
链路状态路由算法OSPF
所有路由器掌握完整的网络拓扑和链路费用信息。
OSPF协议与链路状态算法
②分散性
距离向量路由算法RIP
路由器只掌握物理相连的邻居及链路费用。
RIP协议与距离向量算法
4.3.4分层次的路由选择协议
由于:
因特网规模很大;
许多单位不想让外界知道自己的路由选择协议,但还是想连入因特网。
就诞生了分层次的路由选择协议。
AS
自治系统AS:在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定在该AS内的路由,同时还使用一种AS之间的路由协议以确定在AS之间的路由。
一个AS内的所有网络都属于一个行政单位来管辖,一个自治系统的所有路由器都在本自治系统内都必须连通。
路由选择协议

内部网关协议IGP
一个AS内使用的RIP,OSPF
外部网关协议BGP
AS之间使用的BGP
4.4 IP数据报格式

IP数据报分为首部和数据部分,数据部分就是运输层的传输单元,其中有TCP段和UDP段。


版本:表示该数据报的版本是IPv4还是IPv6?
首部长度:单位是4B,最小为5(数据报的首部是强迫症,必须是4B的整数倍)
填充:全0,用来将数据报补成4B的整数倍。
区分服务:指期望获得哪种类型的服务。
总长度:首部加上数据,单位是1B。
生存时间(TTL):IP分组的保质期。经过一个路由器就会减一,变为零就会被丢弃。
协议:数据部分的协议。

首部检验和:只检验首部。
源地址和目的地址:IP地址为32位。
可选字段:0~40B,用来支持排错,测量以及安全等措施。
标识:同一数据报的分片使用同一标识。
标志:只有2位有意义x _ _
中间位DF(Don’t Fragment):
DF=1;禁止分片
DF=0;允许分片
最低位MF(More Fragment):
MF=1,后面还有分片
MF=0,代表最后一片/没分片
片偏移:指出较长分组分片后,某片在原分组中的相对位置。以8B为单位。
除了最后一个分片,每个分片长度一定是8B的整数倍。
单位长度总结:

4.5 IP数据报分片
先提及一个概念:最大传送单元MTU,其为链路层数据帧可封装数据的上限。(例如:以太网的MTU是1500Byte)。

如图中一个IP数据报作为一个链路层数据帧的数据部分,假设其超过了这个链路层的最大传送单元呢?
所以有一个策略就是把该IP数据报进行分片。
如果某IP数据报不支持分片,那么其将无法在链路上传输下去,因此就会返回一个ICMP的差错报文。

根据链路层的MTU进行分片,除去每一片开头都要加上的首部,身下的就是每一片数据部分的长度。

4.6 IPv4地址
IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。
同身份证号码表示的信息一样,IP地址就是表示一个主机抑或是主机的某个接口,在哪个网络下的地址信息。

IP地址:全世界唯一的32位/4字节标识符,标识路由器主机的接口。
IP地址::={<网络号>,<主机号>}

互联网中的IP地址

分类的IP地址

A类地址最大可用网络数要减去全零的还有一个127的环回地址,每个网络中的最大主机数都要减去全零和全一的。
特殊IP地址

私有IP地址

4.7网络地址转换NAT
在计算机网络中,每个设备都需要一个唯一的地址来进行通信。这个地址称为IP地址,是Internet协议的基础。IP地址可以分为公网地址和私网地址两种类型。
IP地址的概念
IP地址是Internet协议的一部分,用于在计算机网络中唯一地标识主机。它由32位二进制数表示,通常写成四段用点号分隔的十进制数。例如,192.168.0.1就是一个IP地址。
IP地址可以分为两种类型:IPv4地址和IPv6地址。IPv4地址由32位二进制数组成,因此最多只能表示42亿个地址。而IPv6地址则由128位二进制数组成,可以表示更多的地址。
公网地址和私网地址
公网地址和私网地址是两种不同的IP地址类型,其区别在于它们所在的网络范围和使用方式。

公网地址
公网地址也称为全球唯一IP地址,是指可以直接在Internet上访问的IP地址。这些地址由互联网注册机构分配,具有全球唯一性和全球可达性。
公网地址通常用于互联网上的服务器、路由器和其他网络设备。它们可以直接访问Internet上的其他设备,可以通过Internet进行通信和数据传输。
私网地址
私网地址也称为局域网IP地址,是指在局域网内部使用的IP地址。它们不具有全球唯一性和全球可达性,只能在局域网内部使用。
私网地址通常用于组建局域网,例如家庭网络、企业内部网络、校园网络等。在局域网内部,可以通过私网地址进行设备间的通信和数据传输。但是,如果要访问Internet上的其他设备,必须通过路由器进行转发。
公网地址和私网地址的区别
公网地址和私网地址之间的区别主要体现在以下几个方面:
- 分配方式不同:公网地址由互联网注册机构分配,而私网地址由局域网管理员自行分配。
- 使用范围不同:公网地址用于Internet上的设备,私网地址用于局域网内部的设备。
- 唯一性和可达性不同:公网地址具有全球唯一性和全球可达性,而私网地址只在局域网内部唯一,不具有全球可达性。
- 转发方式不同:公网地址可以直接访问Internet上的其他设备,而私网地址需要通过路由器进行转发才能访问Internet上的其他设设备。
私网地址的分类
私网地址有三个类别,分别是A类、B类和C类地址。它们的范围如下:
- A类地址:10.0.0.0-10.255.255.255,其中10.0.0.0是网络地址,10.255.255.255是广播地址。
- B类地址:172.16.0.0-172.31.255.255,其中172.16.0.0是网络地址,172.31.255.255是广播地址。
- C类地址:192.168.0.0-192.168.255.255,其中192.168.0.0是网络地址,192.168.255.255是广播地址。
这些地址范围是私有地址,可以在局域网内部使用,但是不能在Internet上进行路由。
NAT技术
在局域网内部使用私网地址时,有时需要访问Internet上的其他设备。这时就需要使用NAT技术。
NAT技术可以将私网地址转换成公网地址,从而实现局域网内部设备访问Internet上的其他设备。NAT技术可以分为静态NAT和动态NAT两种。

静态NAT是指在NAT设备上预先配置好一个映射表,将私网地址映射成公网地址。这种方式比较简单,但是需要手动配置映射表,不太适合大规模部署。
动态NAT是指NAT设备在需要时动态地为私网地址分配公网地址。这种方式比较灵活,适合大规模部署,但是需要消耗一定的系统资源。
总结
公网地址和私网地址是IP地址的两种类型,它们分别用于Internet上的设备和局域网内部的设备。私网地址有A类、B类和C类地址,分别对应不同的IP地址范围。使用NAT技术可以实现私网地址访问Internet上的其他设备。理解公网地址和私网地址的区别和应用,对于计算机网络的学习和实际应用非常重要。
4.8子网划分和子网掩码
由于分类的IP地址存在以下弊端:
-
- IP地址空间利用率有时很低。
- 两级IP地址不够灵活。
故此我们要进行子网划分:
实际上就是将主机号中较高的几位拿出来当做子网号,剩下的部分再作为主机号。
【注意:子网是单位申请到网络号后自己内部划分的事情。】
且主机号不能全0全1,子网号能否全0全1看情况。

某单位划分子网后,对外仍表现为一个网络,即本单位外的网络看不见本单位内子网的划分。
子网网络地址的求取

使用子网时的分组转发
路由表中:
- 1.目的网络地址
- 2.目的网络子网掩码
- 3.下一跳地址
路由器转发分组的算法:
- 1.提取目的IP地址
- 2.是否直接交付
- 3.特定主机路由
- 4.检测路由表中有无路径
- 5.默认路由0.0.0.0
- 6.丢弃,报告转发分组出错
例题

相关文章:
四.网络层(上)
目录 4.1网络层功能概述 4.2 SDN基本概念 4.3 路由算法与路由协议 4.3.1什么是路由协议? 4.3.2什么是路由算法? 4.3.3路由算法分类 (1)静态路由算法 (2)动态路由算法 ①全局性 OSPF协议与链路状态算法 ②分散性 RIP协议与距离向量算法 4.3.…...
Leecode热题100-56.合并区间
以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例 1: 输入:intervals [[1,3…...
安全帽未佩戴预警系统 劳保防护用品穿戴监测系统 YOLO
在建筑、矿山、电力等高危行业中,工人面临着各种潜在的危险,如高空坠物、物体打击等。安全帽能够有效地分散和吸收冲击力,大大降低头部受伤的严重程度。一旦工人未正确佩戴安全帽,在遭遇危险时,头部将直接暴露在危险之…...
【python机器学习】线性回归 拟合 欠拟合与过拟合 以及波士顿房价预估案例
文章目录 线性回归之波士顿房价预测案例 欠拟合与过拟合线性回归API 介绍:波士顿房价预测数据属性:机器学习代码实现 拟合 过拟合 欠拟合 模拟 及处理方法(正则化处理)导包定义函数表示欠拟合定义函数表示拟合定义函数表示过拟合 正则化处理过拟合L1正则化L2正则化 线性回归之波…...
IT招聘乱象的全面分析
近年来,IT行业的招聘要求似乎越来越苛刻,甚至有些不切实际。许多企业在招聘时,不仅要求前端工程师具备UI设计能力,还希望后端工程师精通K8S服务器运维,更有甚至希望研发经理掌握所有前后端框架和最新开发技术。这种招聘…...
一入递归深似海,算法之美无止境
最近在刷leetcode hot100,在写二叉树中最大路径和的时候,看到了一个佬对递归的理解,深受启发,感觉自己对于递归的题又行了!!! 这里给大家分享一下(建立大家先去尝试一下这道题再来看 124. 二叉树中的最大路径和 二叉树中的 路径 被定义为一条节点序列,序列中每…...
进程的状态的理解(概念+Linux)
文章目录 进程的状态并行和并发物理和逻辑 时间片进程具有独立性等待的本质运行阻塞标记挂起等待 Linux下的进程状态(一)运行状态(R - running)(二)睡眠状态(S - sleeping)ÿ…...
Apache Linkis + OceanBase:如何提升数据分析效率
计算中间件 Apache Linkis 构建了一个计算中间件层,以实现上层应用程序和底层数据引擎之间的连接、治理和编排。目前,已经支持通过数据源的功能,实现用户通过Linkis 对接并使用 OceanBase数据库。 本文详细阐述了在 Apache Linkis v1.3.2中&a…...
Day01-postgresql数据库基础入门培训
Day01-postgresql数据库基础入门培训 1、PostgresQL数据库简介2、PostgreSQL行业生态应用3、PostgreSQL版本发展与特性4、PostgreSQL体系结构介绍5、PostgreSQL与MySQL的区别6、PostgreSQL与Oracle、MySQL的对比 1、PostgresQL数据库简介 PostgreSQL【简称:PG】是加…...
打卡第四天 P1081 [NOIP2012 提高组] 开车旅行
今天是我打卡第四天,做个省选/NOI−题吧(#^.^#) 原题链接:[NOIP2012 提高组] 开车旅行 - 洛谷 题目描述 输入格式 输出格式 输入输出样例 输入 #1 4 2 3 1 4 3 4 1 3 2 3 3 3 4 3 输出 #1 1 1 1 2 0 0 0 0 0 输入 #2 10 4 5 6 1 …...
Jenkins Pipline流水线
提到 CI 工具,首先想到的就是“CI 界”的大佬--]enkjns,虽然在云原生爆发的年代,蹦出来了很多云原生的 CI 工具,但是都不足以撼动 Jenkins 的地位。在企业中对于持续集成、持续部署的需求非常多,并且也会经常有-些比较复杂的需求,此时新生的 CI 工具不足以支撑这些很…...
鸿蒙harmonyos next flutter混合开发之开发FFI plugin
创建FFI plugin summation,默认创建的FFI plugin是求两个数的和 flutter create --templateplugin_ffi summation --platformsandroid,ios,ohos 创建my_application flutter create --org com.example my_application 在my_application项目中文件pubspec.yaml引…...
oracle数据库安装和配置
Oracle数据库安装 一、安装前的准备 系统要求: 硬件:内存至少1GB(推荐2GB以上),硬盘至少10GB的可用空间,CPU至少2核心。 操作系统:支持Oracle版本的Windows(如Windows 10或更高版本…...
猫玖破密啦
题目: 终究还是猫哥:3d5a3a0cfff7fb2e29194c0b7a89f284ff19a8 玖离:收到消息Oh,what_is_the_flag 玖离:7468655f666c61675f69735f666c13556d2cf2faec1e2d0f330b7dcceea1c62cb2 终究还是猫哥:收到消息************************************ 已…...
SpringBoot框架:服装生产管理的现代化工具
摘 要 本协力服装厂服装生产管理系统设计目标是实现协力服装厂服装生产的信息化管理,提高管理效率,使得协力服装厂服装生产管理作规范化、科学化、高效化。 本文重点阐述了协力服装厂服装生产管理系统的开发过程,以实际运用为开发背景&#…...
Android Preference的使用以及解析
简单使用 values.arrays.xml <?xml version"1.0" encoding"utf-8"?> <resources><string-array name"list_entries"><item>Option 1</item><item>Option 2</item><item>Option 3</item&…...
HCIP——GRE和MGRE
目录 VPN GRE GRE环境的搭建 GRE的报文结构 GRE封装和解封装报文的过程 GRE配置编辑 R1 R2 GRE实验编辑 MGRE 原理 MGRE的配置 R1 R2 R3 R4 查看映射表 抓包 MGRE环境下的RIP网络 综合练习编辑 VPN 说到GRE,我们先来说个大…...
微信小程序——音乐播放器
一、界面设计 播放页面: 显示当前播放歌曲的封面图片、歌曲名称、歌手名称。有播放 / 暂停按钮、上一首、下一首按钮。进度条显示播放进度,可以拖动进度条调整播放位置。音量调节滑块。 歌曲列表页面: 展示歌曲列表,包括歌曲名称、…...
OceanBase 4.x 部署实践:如何从单机扩展至分布式部署
OceanBase 4.x 版本支持2种部署模式:单机部署与分布式部署,同时支持从单机平滑扩展至分布式架构。这样,可以有效解决小型业务向大型业务转型时面临的扩展难题,降低了机器资源的成本。 以下将详述如何通过命令行,实现集…...
大数据新视界 --大数据大厂之TeZ 大数据计算框架实战:高效处理大规模数据
💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...
别再手动刷纹理了!用Blender 3.6的镂版映射,5分钟给苹果模型贴上真实贴图
别再手动刷纹理了!Blender 3.6镂版映射实战指南 在数字艺术创作中,给3D模型添加纹理是赋予物体真实感的关键步骤。许多Blender初学者在掌握了基础UV展开后,往往会陷入手动绘制纹理的低效循环——用笔刷一点一点"涂抹"贴图ÿ…...
告别警告与强制刷新:Unity聊天对话框自适应布局的纯净实现方案
1. 为什么需要纯净的自适应聊天对话框? 在Unity中实现一个聊天对话框看似简单,但要让它在各种情况下都能完美自适应却是个技术活。很多开发者都遇到过这样的困扰:明明按照教程加了Content Size Fitter和LayoutGroup,UI却总是出现奇…...
别再只调图表了!用Vue+Echarts做大屏,这5个布局与性能优化技巧才是关键
VueEcharts大屏实战:从布局到性能优化的进阶指南 当数据可视化大屏成为企业展示核心指标的标准配置,开发者们逐渐从"能实现功能"转向追求"极致体验"。本文将分享五个鲜少被系统总结的实战技巧,这些经验来自多个千万级PV项…...
TVA视觉新范式:工业视觉的百年未有之大变局(4)
重磅预告:本专栏将独家连载系列丛书《智能体视觉技术与应用》部分精华内容,该书是世界首套系统阐述“因式智能体”视觉理论与实践的专著,特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。Bohan先生师从美国三院院士、“…...
Rust内存安全:所有权、借用与生命周期深度解析
Rust内存安全:所有权、借用与生命周期深度解析 引言 在Rust开发中,内存安全是其最核心的特性。作为一名从Python转向Rust的后端开发者,我深刻体会到Rust在内存安全方面的革命性设计。Rust通过所有权系统、借用机制和生命周期注解࿰…...
训练和微调
训练和微调微调本质上就是在调整(更新)模型的参数。当我们说“调整参数”时,指的是调整神经网络内部数以亿计的权重(Weights)和偏置(Biases)。全量微调(Full Fine-Tuning)…...
别再只盯着原理图了!FPGA/SoC硬件工程师必看的RGMII接口PCB布线实战指南(含时序约束与等长规则)
RGMII接口PCB设计实战:从时序规范到千兆以太网稳定通信 在FPGA和SoC硬件开发中,RGMII接口设计一直是工程师们又爱又恨的挑战。爱它的简洁高效——相比GMII接口减少了近一半的引脚数量;恨它的时序敏感——一个看似微小的PCB布线失误就可能导致…...
从地图导航到推荐系统:欧式距离在真实业务场景中的Python应用避坑指南
从地图导航到推荐系统:欧式距离在真实业务场景中的Python应用避坑指南 当你在外卖App上查看"3公里内的餐厅",或在电商平台看到"相似用户还买了"的推荐时,背后可能都在使用同一个数学工具——欧式距离。这个看似简单的距离…...
Boomi 与 Gong 达成合作,将 Revenue AI 引入 Boomi Agentstudio
Gong 的 Revenue AI 现已原生集成至 Boomi Enterprise Platform 面向 AI 时代的数据激活公司 Boomi 今日宣布,与 Revenue AI 领域领导者 Gong 达成合作,将 Gong 捕获的营收信号原生整合至 Boomi Enterprise Platform。通过此次合作,企业可构…...
NVDC充电器设计实战:从架构解析到动态负载响应的工程挑战
1. 项目概述:为什么NVDC充电器设计是个技术活最近在做一个项目,需要为一批采用NVDC(Narrow Voltage DC)架构的笔记本电脑设计配套的充电器。本以为就是个普通的电源适配器,照着规格书选型、画板、调试就完事了…...
