IP 协议

IP协议格式

在这里插入图片描述

四位版本号

用来表示IP协议的版本,现有的IP协议只有两个版本,IPv4,IPv6,其他版本只在实验室中存在,没有大规模商用

四位首部长度

设定和TCP一样,IP报头是可变长的,IP报头又是带有选项(可以有,可以没有)的,这里的单位也是4个字节,也就是最大有16*4=64个字节的长度

8位服务类型

真正只有四位才有效果,类似于模式切换:
最小延时,传输一个数据报的时间尽量短
最大吞吐量,一定时间内传输的数据尽量多
最高可靠性,在传输过程中最不容易丢包
最小成本,在传输过程中消耗的硬件资源最低
四种形态互斥,只能切换一种情况

16位总长度

IP报头+载荷的长度
总长度-IP报头的长度=载荷长度=TCP报文的总长度
TCP报文总长度-TCP报头长度=TCP载荷长度
这里的16总长度,确实也涉及到64kb的问题
但是IP协议,自身是支持"拆包组包"机制
这里的64kb只是约束了一个ip数据报,如果我们要携带一个比较长的数据报的时候,IP协议会自动的把一个数据报拆分为多个数据报,接收方在进行分用的时候,也会把多个数据报合并成一个数据报

16位标识符,3位标志位,13位片偏移

这三个标志描述了整个IP数据报拆包租包的过程
当IP数据报需要携带比较长的TCP数据的时候就在IP协议这一层触发拆包操作
把一个大包拆分成多个小包
多个小的IP数据报都会携带有IP报头,载荷是TCP数据报的几个部分
在这里插入图片描述
16位标识:拆出的这几个包,16位标识符是相同的
13位片偏移:不同的,前一个包,片偏移更小,后一个更大,通过片偏移就可以区分拆分包的顺序
3位标志位:其中有一位是不用的,还有一位表示是否允许拆包,显然上面这里是1,剩下一位表示"结束标记"标识当前的包是否是最后一个,这一位为0就表示当前是最后一个包了

8位生存时间TTL

单位是次
初始情况下TTL会有个数值(32/64/128)
每次经过一个路由器转发,TTL就会-1,减到0了就会被丢弃
正常来说,TTL足以支持数据到达网络的任意一个位置,如果确实出现0了,基本可以认为目标IP不可到达

8位协议

描述了传输层是使用了哪种协议

16位首部校验和

校验数据是否正确的机制,这里只需要校验首部即可,因为载荷是TCP和UDP数据报,而它们自己可以校验自己

32位源地址 32位目的地址

IP协议中最重要的部分,数据报从哪来,到哪去??
网络上有很多主机,需要有办法去描述主机的具体位置
IP地址就是解决这个问题的关键,所谓的IP地址,其实就是一个32位的整数(4字节)
点分十进制:由于按照32位的方式表示,会使得这个数字变得很大,很难理解记忆,一般都会把IP地址,按照点分十进制的方式来表示(使用三个.把32位分成四个部分,每个部分就是8位,也就是一个字节,每个字节的范围是0-255(不带符合))
比如:192.168.22.56
但是,32位表示的数据是有限的,差不多是42亿九千万,既然是地址,原则上是不能重复的,每个设备的IP得不相同,但是实际上是世界上能上网的设备,早就超过了这个数值,那么问题来了,IP地址不够用了该怎么办呢?
1.动态分配IP(DHCP)
设备不会一直需要上网,需要上网,就分配IP,不需要上网就先不分配IP
这个方案,只能缓解,不能根治
2.NAT机制(网络地址转换)(理解网络结构的关键要点)
把IP地址分为两大类:
1].内网IP;不同的局域网内的设备,内网IP可以重复,同一个局域网内的设备,内网IP不能重复
内网IP有三类:
10.*
172.16.*-172.31. *
192.168. *
2].外网IP:外网IP不能重复
1)局域网内部的设备之间的通信,是可以的(局域网内部的内网IP都是唯一的)
2)A局域网中的设备,想和B局域网中的设备进行通信,和可能会有IP冲突的情况,因此,这里的规则是禁止不同的局域网之间进行通信.想要通信,就需要有一个带有外网IP的设备进行中转
3)局域网内部的设备访问带有外网IP的设备
我们平时使用的电脑,平板,手机,都是在局域网内部使用的,它们会有一个内网IP
还有一类设备,是"服务器",服务器可以有外网IP
在这里插入图片描述
路由器配有自己的外网IP,用来与服务器的外网IP进行交互
当客户端给服务器发送请求的过程中,途径路由器的时候,就会触发NAT机制,路由器在转发数据的时候,就会使用自己的外网IP替换掉当前客户端发来的IP数据报中的源IP,当这个数据报到达服务器之后,服务器不知道这个数据报是来自原本的源IP的,只知道来源于路由器这里的外网IP地址
NAT机制下,意义在于说,一个外网IP代表的不一定是一个设备了,而是很多设备
那么服务器怎么把响应返回给客户端呢
在这里插入图片描述
服务器在返回IP数据报的时候,会先到达路由器,
对于NAT设备(路由器)来说,会在触发NAT机制的时候,维护一个映射表(抓换表),里面包含了替换前后的源IP,以及源端口
在返回响应的途中经过路由器之后,就会通过查表,把IP给替换回来
NAT的缺点很明显:
(1).效率不高
(2).非常繁琐
(3).不方便直接访问局域网内的设备
但是NAT是一个纯软件实现的方案,这个优点足以使得NAT一统天下
3.IPv6,从根本上解决IP不够用的问题
IPv4是4个字节,32位表示IP地址
IPv6是16个字节,128位表示IP地址
其实IPv6的诞生时间和NAT差不多,为什么NAT能成功,而IPv6发展起来举步维艰呢?
这是因为IPv4和IPv6不兼容,想要升级IPv6,就需要更换路由器设备=>花钱
相比之下,NAT方案,只需要路由器开发商开发出新版本的软件(路由器固件),升级软件,即可直接支持,成本非常低

IP地址的组成

IP地址分为两个部分,网络号和主机号
网络号:标识网段(局域网),保证相互连接的两个网段具有不同的标识;
主机号:标识主机,同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号;
IP地址,可以自动分配(家用设备,网络环境简单)
也可以手动分配(企业设备,网络环境复杂,需要网管来配置)
一个IP地址,哪些部分是网络号,哪些部分是主机号呢?
通过子网掩码来识别
子网掩码和IP地址一样,也是四字节,32位的整数
左侧必须是连续的1,右侧必须是连续的0
1的范围就对应了网络号的范围,0的范围则是对应了主机号的范围
一般家用路由器上的子网掩码是255.255.255.0
除此之外,上古时期,还有一种方案,
在这里插入图片描述

特殊的IP地址

在这里插入图片描述
此处广播,在传输层只能使用UDP,不能使用TCP,因为TCP不能针对广播地址进行三次握手,建立连接的操作

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP8中调换数组中的键值和元素值-PHP8知识详解

在php8中使用array_flip()函数可以调换数组中的键值和元素值。 在PHP8中使用array_flip()函数可以调换数组中的键值和元素值&#xff0c;示范代码如下&#xff1a; <?php$stu array("子涵"> 001,"欣怡"> 002,"梓涵">003,"晨曦…

华为云云耀云服务器L实例评测|centos7.9在线使用cloudShell下载rpm解压包安装mysql并开启远程访问

文章目录 ⭐前言⭐使用华为cloudShell连接远程服务器&#x1f496; 进入华为云耀服务器控制台&#x1f496; 选择cloudShell ⭐安装mysql压缩包&#x1f496; wget下载&#x1f496; tar解压&#x1f496; 安装步骤&#x1f496; 初始化数据库&#x1f496; 修改密码&#x1f4…

外卖小程序开发指南:打造完美的点餐体验

第一步&#xff1a;项目设置和初始化 首先&#xff0c;您需要选择一个适合您的开发平台&#xff0c;例如微信小程序、支付宝小程序或其他移动应用平台。接下来&#xff0c;创建一个新的小程序项目&#xff0c;并初始化所需的文件和目录。 示例代码&#xff08;微信小程序&am…

02_elasticsearch 核心概念

02_elasticsearch 核心概念 1、lucene和elasticsearch的前世今生2、elasticsearch的核心概念 1、lucene和elasticsearch的前世今生 1、lucene和elasticsearch的前世今生 lucene&#xff1a;最先进、功能最强大的搜索库。但是直接基于lucene开发&#xff0c;非常复杂&#xff…

pcl--第十节 点云曲面重建

曲面重建技术在逆向工程、数据可视化、机器视觉、虚拟现实、医疗技术等领域中得到了广泛的应用 。 例如&#xff0c;在汽车、航空等工业领域中&#xff0c;复杂外形产品的设计仍需要根据手工模型&#xff0c;采用逆向工程的手段建立产品的数字化模型&#xff0c;根据测量数据建…

透视俄乌网络战之四:西方科技巨头的力量

透视俄乌网络战之一&#xff1a;数据擦除软件 透视俄乌网络战之二&#xff1a;Conti勒索软件集团&#xff08;上&#xff09; 透视俄乌网络战之三&#xff1a;Conti勒索软件集团&#xff08;下&#xff09; 西方科技巨头的力量 1. Palantir2. SpaceX3. Maxar Technologies4. Cl…

【虚幻引擎】UE5 VLC接入网络监控、视频直播、网络直播支持RTSP、RTMP

一、如何更新自己的插件匹配自己想要的UE版本 我们在网上下载的插件一般是UE4版本的插件&#xff0c;这个时候就需要我们自己去修改编译&#xff0c;接下来教大家修改插件来适配自己的引擎。 如果不想自己编译代码&#xff0c;可以直接找我拿编译好的UE5.0、UE5.1、UE5.2的插件…

【算法思想】排序

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

机器学习笔记 - 视频分析和人类活动识别技术路线简述

一、理解人类活动识别 首先了解什么是人类活动识别,简而言之,是对某人正在执行的活动/动作进行分类或预测的任务称为活动识别。 我们可能会有一个问题:这与普通的分类任务有什么不同?这里的问题是,在人类活动识别中,您实际上需要一系列数据点来预测正确执行的动作。 看看…

servlet开发-通过Tomcat部署一个简单的webapp

首先我们得下载安装Tomcat&#xff0c;推荐看Tomcat&#xff08;HTTP服务器&#xff09;下载以及认识&#xff0c; 我们将通过打印一个hello word的方式来熟悉servlet开发,通过Tomcat部署一个webapp的流程 servlet的含义 Tomcat提供了一系列的api接口&#xff0c;这些api背后…

【进阶C语言】字符串与内存库函数认识与模拟实现

本章内容大致目录&#xff1a; 1.strlen函数 2.strcpy函数 3.strcmp函数 4.strcat函数 5.strstr函数 6.strtok函数 7.strerror与perror函数 8.字符操作函数 9.内存操作函数 10.总结 以上函数均属于库函数&#xff0c;有的函数则会介绍如何模拟实现。 一、strlen函数…

【DDPM论文解读】Denoising Diffusion Probabilistic Models

0 摘要 本文使用扩散概率模型合成了高质量的图像结果&#xff0c;扩散概率模型是一类受非平衡热力学启发的潜变量模型。本文最佳结果是通过根据扩散概率模型和朗之万动力学的去噪分数匹配之间的新颖联系设计的加权变分界进行训练来获得的&#xff0c;并且本文的模型自然地承认…

UE 虚幻引擎 利用LOD,Nanite技术优化场景性能

目录 0 引言1 LOD1.1 LOD定义1.2 UE5中的LOD技术1.3 HLOD&#xff08;Hierarchical Level of Detail&#xff09; 2 Nanite2.1 UE5的Nanite技术2.2 Nanite介绍2.2.1 Nanite的优势2.2.2 Nanite网格体与传统静态网格体的不同2.2.3 Nanite支持的类型2.2.4 在地形中使用Nanite 0 引…

递归,搜索与回溯

1.汉诺塔问题 在经典汉诺塔问题中&#xff0c;有 3 根柱子及 N 个不同大小的穿孔圆盘&#xff0c;盘子可以滑入任意一根柱子。一开始&#xff0c;所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时受到以下限制: (1) 每次只能移动…

VOP —— Noise

目录 Turbulent Noise —— 计算1D/3D类型的Noise Anti-Aliased Flow Noise —— 生成抗锯齿噪波 Anti-Aliased Noise —— 生成抗锯齿噪波 Curl Noise —— 创建divergence-free 3D噪波 Curl Noise 2D —— 创建divergence-free 2D噪波 Flow Noise —— 生成1D/3D Perli…

人力资源HR 怎么选择在线人才测评工具

测评已经是普及度很好了&#xff0c;不仅仅是大企业&#xff0c;中小企业也都在启用人才测评&#xff0c;也有叫素质测评等等&#xff0c;内容多样化。但是根本形式是一样的&#xff0c;那就是在线测评&#xff0c;目的也是一样的&#xff0c;就是为了招来最适合的职员。 而市…

以太坊智能合约的历史里程碑: 从DAO到数据隐私的技术演进

文章目录 系列文章目录前言一、时间线 项目介绍总结 前言 在短短的几年内&#xff0c;以太坊不仅成为了去中心化应用和智能合约的主导平台&#xff0c;而且也见证了区块链技术和应用的多次重大革命。本文详细回顾了自2016年至今&#xff0c;以太坊生态所经历的几个关键时刻与技…

阿里云产品试用系列-容器镜像服务 ACR

阿里云容器镜像服务&#xff08;简称 ACR&#xff09;是面向容器镜像、Helm Chart 等符合 OCI 标准的云原生制品安全托管及高效分发平台。 ACR 支持全球同步加速、大规模/大镜像分发加速、多代码源构建加速等全链路提效&#xff0c;与容器服务 ACK 无缝集成&#xff0c;帮助企业…

Windows 基于Visual Studio 开发Qt 6 注意事项

前提条件&#xff1a; 1、Visual Studio 2022 社区版(免费版) 2、Qt-6.5.1版本 Qt Vistual Studio Tools下载 先打开Visual Studio 2022 社区版 &#xff1a; 点击扩展-》管理拓展按钮后&#xff0c;在搜索框中输入Qt&#xff0c;点击这里第一个扩展安装。 Qt Visual Stud…

iterator和generator

iterator和generator iterator es6: let/const ...展开 迭代器 是一种机制&#xff0c;比如在控制台输出Iterator是没有这个类的&#xff0c;为不同的数据结构提供迭代循环的机制。 迭代器对象&#xff1a;具备next方法&#xff0c;next能够对你指定的数据进行迭代循环&#x…