网络层重点协议之IP协议(IPv4)
网络层的作用就是来路由的选择,规划传输的路径,其中网络层的重点协议就是IP协议。
4位版本号
版本号的取值只有4和6
4位首部长度
描述了IP报头有多长,报头中有一个选项部分,是变长的,是可有可无的部分,所以IP报头是变长的。其中单位是4个字节。
8位服务类型(TOS)
实际上只有4位有效,而且这4位中只有一位可以是1,其它都是0,这4位就表示了IP协议的四种工作模式(最小延时,最大吞吐量,最高可靠性,最小成本)。在实际开发中就可以根据需要,来切换IP的模式,达到最优的效果。但是在实际开发中很少这样去设定,因为性能瓶颈往往是业务带来的。
16位总长度(字节数)
描述了一个IP数据包的长度(头+载荷)。这个长度减去前面的IP报头的长度,剩下的就是载荷长度,一个完整的TCP/UDP数据报长度。16位总长度,就是最大能支持64KB,如果一个IP数据报携带的数据载荷太长了,超过了64KB,就会在网络层针对数据进行拆分,把一个数据拆成多个IP数据报,再分别发送,接收方,再重新拼装。
16位标识
同一个数据拆成的多个包的标识是一样的。
13位片偏移
标识了多个包的先后顺序。
3位标志
相当于是分包的结束标志。
8位生存时间(TTL)
一个数据报在网络上能够传输的最大时间,但是这个时间的单位不是"秒”而是“次数”。一个数据报构造出来,会有一个初始的 TTL 数值(比如 32 或者 64, 或者128....) 这个报每次经过一个路由器转发,TTL - 1,如果一直减到 0 了,还没有到达目标,此时就认为这个包永远也到不了了,就可以丢弃了。
8位协议
描述了当前载荷部分内容是属于那个协议的(TCP/UDP)。
16位首部校验和
此处只需要针对首部进行校验,载荷部分(TCP/UDP 数据报)自身已经有校验和了。
IP地址(IPv4 & IPv6)
我们日常能看到的IP地址是一串数字,但是实际上IP地址是32位的二进制数,使用“.”把32位二进制数分割为4个“8位二进制数”(也就是4个字节)。但是32位只能表示42亿9千多万个数字,对于全世界来说,IP地址是完全不够的。非常推荐大家看看这个视频(讲的是IPv6关系到国家安全)https://www.bilibili.com/video/BV1i14y157YV/?spm_id_from=333.1007.top_right_bar_window_default_collection.content.click&vd_source=b5701c7bfe1c913f3002eee3d6d787d9
为了解决IP地址不够用的问题,NAT技术(网络地址转换)的发展,使用一个IP代表了一批设备。在NAT背景下,就把IP地址分成了两个大类:
内网IP:10.*,172.16.*-172.31.*,192.168.*
外网IP:剩下的是公网IP
NAT 要求,公网 IP 必须是唯一的。私网 IP 可以在不同的局域网中重复出现。如果某个私网里的设备想访问公网的设备,就需要对应的 NAT 设备(路由),把 地址进行映射,从而完成网络访问。反之,公网的设备,无法直接访问私网的设备的,不同局域网的私网的设备没法直接相互访问。内网 IP 只要在局域网内部不重复即可,不同局域网中则是允许重复的。内网中的电脑接入运营商路由器,去访问外部服务器都会被路由器替换成路由器自己的IP地址。
NAT 机制能够有效的解决 IP 不够用的问题,但是带来的副作用就是网络环境更加复杂以及其他问题.....
IPv6从根本上解决了 IP 不够用的问题,使用 16 字节 表示IP 地址,128 位。42亿*42亿*42亿*42亿 约等于天文数字,可以给地球上的每一粒砂子都分配一个 IPv6 地址。
IP协议之地址管理
网络号: 标识网段,保证相互连接的两个网段具有不同的标识;
主机号:标识主机,同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号
把一个 IP 地址,分成了两个部分一个叫做网络号,一个叫做主机号。
例如:192.168.0.10
网络号是 192.168.0,主机号 是 10,当前的局域网下的设备,网络号都是 192.168.0。
网络号不一定就是前面的三个字节来表示,是通过子网掩码来动态调整的。
此处 255.255.255.0 就是子网掩码,是32位,左侧都是 1, 右侧都是 0,1 的部分就描述了 IP 有多少位是 网络号。
IP协议之路由选择
路由选择就是规划路径。
每个路由器都会保存一定的周围设备的信息(路由表),每次有一个 IP 数据报经过路由器,就需要匹配路由表,看看接下来怎么走。如果路由表上有匹配的项(该路由器认识路) ,直接按照要求走就行了。如果没有匹配的项,(路由器不认识路),会提供一个默认路径,沿着这个方向继续走。
每经过一个路由器问一次, TTL - 1,如果减到 0 了,还没到, 说明这个包就永远也到不了。
相关文章:
网络层重点协议之IP协议(IPv4)
网络层的作用就是来路由的选择,规划传输的路径,其中网络层的重点协议就是IP协议。4位版本号版本号的取值只有4和64位首部长度描述了IP报头有多长,报头中有一个选项部分,是变长的,是可有可无的部分,所以IP报…...
CentOS Stream 8配置DNS
1:用CentOS搭建DNS的目的是想解析一台下载服务器,IP地址172.18.0.58,现在是用IP地址方的式访问,想搭建DNS服务器用域名的方式访问。 使用下面的命令查看一下当前系统的Bind版本。 yum info bind 版本是9.11.36.我的CentOS是最小…...
【roLabelImg】windows下旋转框标注软件安装、使用、rolabelimg打包成exe
主要参考: roLabelImg安装、使用、数据格式roLabelImg在Win10系统下打包成exe - 问雪的文章 - 知乎 一、安装 1.1 直接下载exe运行 劝大家直接去下别人编译好的吧,本来是训练模型标记的,结果搞了半天去了解这个软件了,哎~ 我…...
2023美赛F题:绿色经济
文章目录背景要求词汇表背景 国内生产总值(GDP)可以说是最知名且最常用的衡量一个国家经济健康的指标之一。它通常用于确定一个国家的购买力和贷款能力,为国家提出提高GDP的政策和项目提供了动力。GDP “衡量一个国家在一段特定时间内生产的…...
华为OD机试 - 剩余可用字符集 | 备考思路,刷题要点,答疑 【新解法】
最近更新的博客 【新解法】华为OD机试 - 关联子串 | 备考思路,刷题要点,答疑,od Base 提供【新解法】华为OD机试 - 停车场最大距离 | 备考思路,刷题要点,答疑,od Base 提供【新解法】华为OD机试 - 任务调度 | 备考思路,刷题要点,答疑,od Base 提供【新解法】华为OD机试…...
“笨办法”学Python 3 ——练习 40. 模块、类和对象
练习40 模块、类和对象 知识点: 40.1.0 模块就像字典 my_stuff[apple] #my_stuff是字典,访问字典apple键的值 import mystuff mystuff.apple() #mystuff是模块,模块访问函数apple() print(mystuff.tangerine) #模块访问变量tangerine说明P…...
自动驾驶:BEVDet
自动驾驶:BEVDetIntroductionMethodoloData AugmentationNetwork StructureScale-NMS实验Introduction 作者通过现有的算法(LSS)、独特的数据增强方案与新的NMS方案整合了一个BEV框架(BEVDet)。 如下图: …...
vue的组件通信
文章目录3. 组件通信3.1 父组件-->子组件3.3组件自定义事件(子->父)3.4.全部事件总线(两代以上)3.5消息的订阅与发布3. 组件通信 3.1 父组件–>子组件 <Student name"张三" :age"18"></St…...
Typescript的定义及使用优势
编程语言的类型: 动态类型语言 (Dynamically Typed Language)静态类型语言 (Statically Typed Language) 两种语言的含义及区别: 比如JS、python就是动态类型语言,什么是动态类型语言,通俗的讲࿰…...
正则验证:手机号码验证
<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title></title> </head> <body> 手机号码<input type"text" id"phone"> <span…...
视频融合 flv流格式对接(上)
FLV 是FLASH VIDEO的简称,FLV流媒体格式是随着Flash MX的推出发展而来的视频格式。由于它形成的文件极小、加载速度极快,使得网络观看视频文件成为可能,它的出现有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大…...
提问:影视剪辑解说都是怎样配音的,软件合成还是自己配音?
“影视剪辑解说都是怎样配音的,软件合成还是自己配音?”这是一个很好的问题并且困扰着很多人,因为不知道该如何选择。究竟应该使用软件来完成配音工作呢?还是自己动手配音呢?这是一个很难回答的问题。如果你问我的话,…...
基于RK3588的嵌入式linux系统开发(二)——uboot源码移植及编译
由于官方的SDK占用空间较大(大约20GB左右),需要联系相关供应商提供,且官方的SDK通过各种脚本文件进行集成编译,难以理解系统开发的详细过程。本章介绍直接从官方Github网站下载源码进行移植,进行uboot移植及…...
excel报表技巧:几个关于汇报演示方面的小功能
年终了,总结汇报避免不了。如果你的PPT还不够好,那就直接用Excel做汇报吧~这里有5条小技巧,可以帮助你最高效地展示自己的成绩报表!想象一下,用SHIFTCTRLF1全屏显示你的工作表,配合上CtrlPageDown进行工作表…...
【数据结构与算法】Manacher算法
🌠作者:阿亮joy. 🎆专栏:《数据结构与算法要啸着学》 🎇座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉…...
【CMake】CMake构建C++代码(一)
在Linux开发过程中,难免会用到CMake来构建你的代码。本文将说明如何构建自己的代码,将自己的代码变为共享库,共其他代码使用。 文章目录在Linux开发过程中,难免会用到CMake来构建你的代码。本文将说明如何构建自己的代码ÿ…...
让我们,从头到尾,通透I/O模型
什么是IO 一句话总结 IO就是内存和硬盘的输入输出 I/O 其实就是 input 和 output 的缩写,即输入/输出。 那输入输出啥呢? 比如我们用键盘来敲代码其实就是输入,那显示器显示图案就是输出,这其实就是 I/O。 而我们时常关心的磁盘…...
Word控件Spire.Doc 【Table】教程(16):C#/VB.NET:在 Word 表格中插入或提取图像
Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转…...
C++如何实现系统语言切换功能,MessageBox的确认/取消按钮语言显示如何跟程序一致
文章目录前言 一、新建工程二、添加多国语言的资源三、程序语言设置四、语言切换五、字符串处理六、MessageBox的问题七、相关函数和类型参考文章前言 目前很多软件都是要出口到多个国家,多个地区,因此,为软件提供多国语言支持就成为了一个基…...
计算机组成原理学习笔记:循环冗余校验码
循环冗余校验码 CRC 码 循环冗余校验码 (cyclic redundancy Check, CRC) 十进制除法 从熟悉的十进制出发,假设现在你要给另一个人传送882这样的一个10进制数据,为了防止传送数据的过程中某一个数据发生错误你可以和你的另一个小伙伴约定一个除数&…...
Educational Codeforces Round 143 (Rated for Div. 2) A — C
Educational Codeforces Round 143 (Rated for Div. 2) 文章目录A. Two Towers题目大意题目分析codeB. Ideal Point题目大意题目分析codeC. Tea Tasting题目大意题目分析codeA. Two Towers 题目大意 有两个有红蓝两种颜色组成的塔,每次操作可以将其中一个塔顶的色…...
【Unity VR开发】结合VRTK4.0:将浮点数从交互器传递到可交互对象
语录: 愿你熬得过万丈孤独,藏得下星辰大海。 前言: 默认情况下,交互器只能将单个布尔操作传递给可交互对象,后者控制可交互对象上的抓取操作。在其他时候,交互器中的其他操作可能希望传递给可交互对象&…...
【图像分类】基于PyTorch搭建卷积神经网络实现MNIST手写数字识别(附项目完整代码)
写在前面: 首先感谢兄弟们的关注和订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 在【图像分类】基于PyTorch搭建LSTM实现MNIST手写数字体识别(单向LSTM,附完整代码和数据集)文章中,我们使用了…...
4.4 MQC
1. 实验目的 熟悉MQC的应用场景掌握MQC的配置方法2. 实验拓扑 实验拓扑如图4-10所示: 图4-10:MQC 3. 实验步骤 (1) IP地址的配置 AR1的配置 <Huawei>system-view...
ClickHouse列存储(十一)—— ClickHouse
文章目录一、重点内容:1.数据库基本概念2.列式存储3.clickHouse存储设计4.clickHouse典型应用场景二、准备工作:1、了解数据库基本概念2、了解列式存储相关概念3、了解ClickHouse存储设计4、了解 ClickHouse典型应用场景三、详细知识点介绍:1…...
公司来了个卷王,真让人奔溃
2022年已经结束结束了,最近内卷严重,各种跳槽裁员,相信很多小伙伴也在准备今年的金三银四的面试计划。 在此展示一套学习笔记 / 面试手册,年后跳槽的朋友可以好好刷一刷,还是挺有必要的,它几乎涵盖了所有的…...
什么是refresh?Spring refresh 流程
refresh 是 AbstractApplicationContext 中的一个方法,负责初始化 ApplicationContext 容器,容器必须调用 refresh 才能正常工作。它的内部主要会调用 12 个方法,我们把它们称为 refresh 的 12 个步骤:1. prepareRefresh2. obtain…...
Python登陆系统
前言 #源码见文末公众号哈# 登录系统 一个简单的登录系统包含了登录账户、注册账户、修改密码以及注销账户的操作。 1. 登录账户 登录系统主要需要判断账户是否存在,不存在就注册一个账户,如果第一次登录系统,我们需要先新建一个文件&…...
【新2023】华为OD机试 - 重组字符串(Python)
华为 OD 清单查看地址:blog.csdn.net/hihell/category_12199275.html 重组字符串 题目 给定一个非空字符串 S,其被 N 个‘-’分隔成 N+1 的子串,给定正整数 K, 要求除第一个子串外,其余的子串每 K 个字符组成新的子串,并用‘-’分隔。 对于新组成的每一个子串,如果它…...
视频监控流程图
<html> <head> <meta http-equiv"Content-Type" content"text/html; charsetUTF-8"/> <link rel"stylesheet" type"text/css" href"visio.css"/> <title> 视频监控流程图 </title> <…...
全屋定制十大名牌排行2023/北京seo推广外包
在上一篇文章里,我介绍了如何对一个简单的Activity进行单元测试。(参见上一篇)我们为Activity提供了两个参数LastName和FirstName,Activity会根据这两个参数生成一个Email地址。在上一篇中,我们输入了两个“合法”的参…...
苹果网站用什么做的/中国十大电商培训机构
解决报告 http://blog.csdn.net/juncoder/article/details/38136193 题目传送门 题意: n头m个机器,求最大匹配。 ps 一分钟前刚做了POJ1469 直接改了输入输出就交了,题意全然一样,,,sad ,代码传…...
做装饰画的行业网站/深圳推广公司有哪些
在一万英尺的天空一跃而下感受肾上腺素飙升带来的快感嗯没错,就是这种感觉如果跳伞是你人生TO DO LIST中的一个空白项,那就不要再犹豫了,将这项空白填充起来,就能够发现,在天空中的这段时间,将会是自己未来…...
云南省建设厅标准员网站/怎样建立自己网站
对于一些操作seo优化的小伙伴来说,一个网站真正通过首页进入的流量是占据总流量小部分,绝大部分的流量都是通过文章内容页面进入的网站,这部分的流量占据绝大多数部分,这个就是网站优化中的二八定律。那么我们在网站seo优化中文章…...
mac wordpress数据库文件路径/今日大事件新闻
--- 说明闪回数据库 --- 使用闪回表将表内容还原到过去的特定时间点 --- 从删除表中进行恢复 --- 使用闪回查询查看截止到任一时间点的数据库内容 --- 使用闪回版本查询查看某一行在一段时间内的各个版本 --- 使用闪回事务查询查看事务处理历史记录或行 优点: …...
wordpress mysql版本/网站维护费用
今天来点硬核东西,进度调度概述,在讲调度之前,总是要吹一波水,其实我的吹水能力并不好,但是也没办法,相关专题的第一篇都是吹水中度过。 15.1 调度简介 我们现在的操作系统,基本都是多道程序设…...