<JavaEE> 了解网络层协议 -- IP协议

目录

初识IP协议

什么是IP协议?

IP协议中的基础概念

IP协议格式

图示

4bit版本号(version)

4bit头部长度(headerlength)

8bit服务类型(TypeOfService)

16bit总长度(total length)

16bit标识(id)

3bit标志字段

13bit分片偏移(framegament offset)

8bit生存时间(Time To Live,TTL)

8bit上层协议类型

16bit头部校验和

32bit源地址和32bit目标地址

选项字段

IP协议有什么功能?


初识IP协议

                                                  

什么是IP协议?

  • IP协议属于网络层协议,主要功能是通过地址管理和路由选择,将数据包传输到目标主机

  • IP协议定义了数据包的格式、寻址方式和路由规则,是互联网通信的基础


IP协议中的基础概念

  • 主机:配有IP地址,但不进行路由控制的设备。

  • 路由器:既配有IP地址,又能进行路由控制的设备。

  • 节点:主机和路由器的统称。


IP协议格式

                                                  

图示


4bit版本号(version)

  • 表示当前报文的IP协议版本,如IPv4

4bit头部长度(headerlength)

  • 表示IP头部的⻓度。

  • 4bit可以表示的最大数字是15,其中每个1表示一个32bit,即4字节,因此头部长度最长为15*4=60字节


8bit服务类型(TypeOfService)

具体包含以下内容:

  • 3bit优先权字段已弃用

  • 4bitTOS字段:表示IP协议的四种不同形态

    1. 最小延时

    2. 最大吞吐量

    3. 最高可靠性

    4. 最小成本

  • 1bit保留


16bit总长度(total length)

  • 表示IP数据报整体占多少字节

  • 16bit最多只能表示65535,即单个报文长度最长为64kb

  • 但是IP协议本身支持“拆包组包”功能,因此报文长度并不是固定的。


16bit标识(id)

  • 用于表示发出的报文,是一个唯一的标识

  • 当IP报文在数据链路层被分片,则每个分片中的id都是相同的,以此识别数据中的同一段报文。


3bit标志字段

具体包含以下内容:

  • 第一个bit,为保留位。

  • 第二个bit,为1表示禁止分片,此时如果报文长度超过MTU,则报文会被丢弃;为0表示可以分片

  • 第三个bit,表示分片结束标识,当存在分片且当前分片是报文的最后一片时,该bit为1;不是最后一片,则为0。


13bit分片偏移(framegament offset)

  • 表示当前分片在原报文中所处的位置

  • 偏移字节数通过该值*8计算得出,因此除最后一个报文外,其他报文长度必须为8的整数倍。


8bit生存时间(Time To Live,TTL)

  • 表示数据报到达目标地址的最大报文跳数

  • 每经过一个路由则跳数-1,当跳数为0时,报文将被丢弃

  • 这个属性的作用是防止出现路由循环


8bit上层协议类型

  • 表示上层(传输层)协议的类型。

  • 描述了IP数据报的载荷部分的协议类型,如UDP数据报或TCP数据报。


16bit头部校验和

  • 使用CRC进行校验,只用于鉴别头部是否损坏,并不校验载荷

32bit源地址和32bit目标地址

  • 是两个32bit的整数,分别表示发送端地址和接收端地址,是IP数据包中最关键的内容


选项字段

  • 长度不定,最多40字节,用于辅助上述字段工作,不做介绍。


IP协议有什么功能?

                                                  

  • IP协议的功能是地址管理和路由选择

<JavaEE> 理解IP协议的两个功能 -- 地址管理和路由选择-CSDN博客


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

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

相关文章

数据结构——循环链表,双向链表,线性表和有序表的合并详解

目录 1.循环链表 1.带尾指针循环链表的合并 代码示例: 2.双向链表 代码示例: 1.双向链表的插入 ​代码示例: 2.双向链表的删除 代码示例: 3.单链表,循环链表,双向链表时间效率的比较 4.顺序表和链…

JVM基础篇

什么是JVM java虚拟机 JVM的功能 1.解释和运行 对字节码文件中的指令,实时的解释成机器码,让计算机执行 2.内存管理 自动为对象、方法等分配内存 自动的垃圾回收机制,回收不再使用的对象(c不会自动回收,相当于降…

腾讯云轻量服务器地域选择教程以及不同地域的区别

腾讯云服务器地域怎么选择?不同地域之间有什么区别?腾讯云哪个地域好?地域选择遵循就近原则,访客距离地域越近网络延迟越低,速度越快。腾讯云百科txybk.com告诉大家关于地域的选择还有很多因素,地域节点选择…

net/http 框架源码解读

一、Hello World 使用net/http编写一个简单的web服务器, 定义了一个UserHandler的处理函数,通过HandleFunc来将路由和handler进行绑定,最后通过ListenAndServe启动web服务,后面我将handler统称为视图函数 package mainimport "net/htt…

PGA高端项目:FPGA基于GS2971+GS2972架构的SDI视频收发,提供3套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本方案的SDI接收图像缩放应用本方案的SDI接收纯verilog图像缩放纯verilog多路视频拼接应用本方案的SDI接收HLS图像缩放HLS多路视频拼接应用本方案的SDI接收OSD动态字符叠加输出应用本方案的SDI接收HLS多路视频融…

uniapp中人脸识别图片并圈起人脸

效果如上,我用的是阿里云的人脸识别。首先,我们先封装一个阿里云的请求js文件 faceRecognition.js import CryptoJS from crypto-js//SignatureNonce随机数字 function signNRandom() {const Rand Math.random()const mineId Math.round(Rand * 1000…

R语言lavaan结构方程模型(SEM)实践技术应用

基于R语言lavaan程序包,通过理论讲解和实际操作相结合的方式,由浅入深地系统介绍结构方程模型的建立、拟合、评估、筛选和结果展示的全过程。我们筛选大量经典案例,这些案例来自Nature、Ecology、Ecological Applications、Journal of Ecolog…

MySQL 数据库 下载地址 国内阿里云站点

mysql安装包下载_开源镜像站-阿里云 以 MySQL 5.7 为例 mysql-MySQL-5.7安装包下载_开源镜像站-阿里云

C#,图论与图算法,输出无向图(Un-directed Graph)全部环(cycle)的算法与源代码

1 无向图(Un-directed Graph)全部环 图算法中需要求解全部的环。 2 方法 使用图着色方法,用唯一的数字标记不同循环的所有顶点。图形遍历完成后,将所有类似的标记数字推送到邻接列表,并相应地打印邻接列表。 3 算法 将边插入到邻接列表中。调用DFS函数,该函数使用着色方…

C# wpf 使用GDI实现截屏

wpf截屏系列 第一章 使用GDI实现截屏(本章) 第二章 使用GDI实现截屏 第三章 使用DockPanel制作截屏框 第四章 实现截屏框热键截屏 第五章 实现截屏框实时截屏 第六章 使用ffmpeg命令行实现录屏 文章目录 wpf截屏系列前言一、导入gdi32方法一、NuGet获取…

解决无法登录到 ArcGIS Server Administrator

目录 问题复现原因分析解决办法 问题复现 今天在访问arcgisserver后台准备设置arcgis api for js请求路径时,登录之后出现500错误。Services Directoryhttp://xxx.xxx.xxx.xxx:6080/arcgis/admin/system/handlers/rest/servicesdirectory 原因分析 我实在两台虚拟机…

【经验分享】Windows10无法通过SSHFS连接服务器

【经验分享】Windows10如何通过SSHFS连接服务器 前言问题分析解决方法 前言 现在很多公司出于成本考虑,不会为每一台电脑都提供高配置,所以需要通过访问云服务器来进行编译等操作。程序员如果配备的是一台windows电脑,那么需要访问linux服务…

vue iview 级联选择器遇到的坑

我们PC项目用到的前端技术栈是vue+iview,最近有个需求,要做个级联选择器,并且是懒加载动态加载后端返回的数据。效果如下: 如下图所示,在我们封装的公共组件form-box.vue里有我们级联选择器: 代码如下: <!--级联选择器--><template v-else-if="item.type…

基于Java的海南旅游景点推荐系统(Vue.js+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户端2.2 管理员端 三、系统展示四、核心代码4.1 随机景点推荐4.2 景点评价4.3 协同推荐算法4.4 网站登录4.5 查询景点美食 五、免责说明 一、摘要 1.1 项目介绍 基于VueSpringBootMySQL的海南旅游推荐系统&#xff…

在Django中使用PyJWT实现登录及验证功能

目录 1、安装PyJWT 2、对信息加密及解密 3、配置登录视图和及url 4、登录装饰器 5、在验证有登录权限的的视图中登录 PyJWT的使用 1、安装PyJWT pip isntall pyjwt 2、对信息加密及解密 import jwt import datetime from jwt import exceptions# 加密盐 JWT_SALT &qu…

腾讯云轻量服务器地域选择教程,2024最新地域选择攻略

腾讯云服务器地域怎么选择&#xff1f;不同地域之间有什么区别&#xff1f;腾讯云哪个地域好&#xff1f;地域选择遵循就近原则&#xff0c;访客距离地域越近网络延迟越低&#xff0c;速度越快。腾讯云百科txybk.com告诉大家关于地域的选择还有很多因素&#xff0c;地域节点选择…

Android 异常重启--踩坑归来--干货篇

如果你未对自己的app进行过处理&#xff0c;那么线上各种偶发莫名其妙的闪退、白屏、数据丢失&#xff0c;请检查一下是否因此而引发的。 起因 异常重建指的是非配置变更情况下导致的 Activity 重新创建。 常见场景大多是因为内存等资源不足&#xff0c;从而导致后台应用被系…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:XComponent)

可用于EGL/OpenGLES和媒体数据写入&#xff0c;并显示在XComponent组件。 说明&#xff1a; 该组件从API Version 8 开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 构造参数type为"surface"时不支持。 从API version …

VsCode 使用密钥连接 Centos

在 centos 下生成密钥 ssh-keygen 执行上述命令后&#xff0c;一路回车&#xff0c;直到出现如下界面&#xff1a; 查看密钥生成情况 cd /root/.ssh ls 结果如下所示&#xff1a; 服务器上安装公钥 cd /root/.ssh cat id_rsa.pub >> authorized_keys ls >查看确…

Covalent Network(CQT)与 Celo 集成,推动 Web3 下一代现实资产解决方案的发展

Covalent Network&#xff08;CQT&#xff09;是一个统一的区块链 API 提供商&#xff0c;其已正式与 Celo 集成&#xff0c;Celo 是一个以移动优先的 EVM 兼容链。这一重要的里程碑旨在提升 Celo 生态系统中开发者的能力&#xff0c;通过授予他们访问关键链上数据的权限&#…