四.网络层(上)
目录
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 大数据计算框架实战:高效处理大规模数据
💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...

关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...

ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
Modbus RTU与Modbus TCP详解指南
目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...

实战设计模式之模板方法模式
概述 模板方法模式定义了一个操作中的算法骨架,并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。简单来说,就是在一个方法中定义了要执行的步骤顺序或算法框架,但允许子类…...