<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.rhkb.cn/news/276079.html

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

相关文章

jenkins+maven+gitlab自动化构建打包、部署

Jenkins自动化部署实现原理 环境准备 1、jenkins已经安装好 docker安装jenkins 2、gitlab已经安装好 docker安装gitlab 一、Jenkins系统配置 1.Global Tool Configuration 任务构建所用到的编译环境等配置,配置参考: jdk配置(jenkins自带…

多维时序 | MATLAB实现BiTCN-selfAttention自注意力机制结合双向时间卷积神经网络多变量时间序列预测

多维时序 | MATLAB实现BiTCN-selfAttention自注意力机制结合双向时间卷积神经网络多变量时间序列预测 目录 多维时序 | MATLAB实现BiTCN-selfAttention自注意力机制结合双向时间卷积神经网络多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.M…

SpringCloud(22)之Sentinel实战应用

一、Sentinel核心库 sentinel主页:主页 alibaba/Sentinel Wiki GitHub 1.1 Sentinel介绍 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点&…

C# wpf 使用GDI实现截屏

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

88. 合并两个有序数组 (Swift版本)

题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并…

Python数据分析-5

1.时间序列 2.pandas重采样 重采样:指的是将时间序列从一个频率转化为另一个频率进行处理的过程,将高频率数据转化为低频率数据为降采样,低频率转 化为高频率为升采样。 统计出911数据中不同月份电话次数的变化情况&#xff1a…

PlantUML Integration 编写短信服务类图

PlantUML Integration 写一个类图,主要功能为 1、编写一个serviceSms短信服务类; 2、需要用到短信的地方统一调用基建层的服务即可; 3、可以随意切换、增加短信厂商,不需要更改场景代码,只需要更改application.yml 里面…

边缘计算与物联网的核心 —— 低功耗芯片

一、低功耗芯片 在边缘计算与物联网(IoT)中,低功耗芯片扮演了至关重要的角色,主要体现在以下几个方面: 延长设备寿命:物联网设备通常需要部署在难以更换电池或不方便进行频繁维护的环境中,比如…

学习使用postman软件上传文件发起api接口请求

学习使用postman软件上传文件发起api接口请求 设置headers头信息设置body 设置headers头信息 如图设置: KEY:Content-Type VALUE:multipart/form-data 设置body 设置需要上传的key对应的类型为File,上传类型 设置需要上传的文件…

物联网技术助力智慧城市转型升级:智能、高效、可持续

目录 一、物联网技术概述及其在智慧城市中的应用 二、物联网技术助力智慧城市转型升级的路径 1、提升城市基础设施智能化水平 2、推动公共服务智能化升级 3、促进城市治理现代化 三、物联网技术助力智慧城市转型升级的成效与展望 1、成效显著 2、展望未来 四、物联网技…

import gdal 报错

1.下载gdal https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal 2.安装正确版本 (1)查看python版本 python -v我的版本Python 3.7.9 建议下载 GDAL-3.4.2-cp37-cp37m-win_amd64.whl (2)放到Scripts文件夹下 执行 pip install GD…

CVPR2024 | 大核卷积新高度101x101,美团提出PeLK

https://arxiv.org/pdf/2403.07589.pdf 本文概述 最近,一些大核卷积网络以吸引人的性能和效率进行了反击。然而,考虑到卷积的平方复杂度,扩大内核会带来大量的参数,而大量的参数会引发严重的优化问题。由于这些问题,当…

网络编程套接字(4)——Java套接字(TCP协议)

目录 一、Java流套接字通信模型 二、TCP流套接字编程 1、ServerSocket ServerSocket构造方法: ServerSocket方法: 2、Socket Socket构造方法: Socket方法: 三、代码示例:回显服务器 1、服务器代码 代码解析 2、客户端…

机械女生,双非本985硕,目前学了C 基础知识,转嵌入式还是java更好?

作为单片机项目开发的卖课佬,个人建议,先转嵌入式单片机开发方向,哈哈。 java我也学过,还学过oracle、mysql数据库,只是当时没做笔记,找不好充分的装逼证据了。 从实习通过业余时间,学到快正式毕…

AI 大模型赋能手机影像,小米14 Ultra 让真实有层次

2月22日,小米龙年第一场重磅发布会,正式发布专业影像旗舰小米14 Ultra。 此前小米发布的两代 Ultra,在不同维度,引领了移动影像行业的走向。最新的小米14 Ultra 在定义的时候,我们反复在思考:怎么才能把移动…

HBase安装,配置,启动,检查

目录: 一、HBase安装,配置 1、下载HBase安装包 2、解压,配置环境变量并激活 3、hbase 配置 4、将hadoop和zookeeper的配置文件创建软连接放在hbase配置目录 5、配置 regionserver 和 backup-master 二、HBase启动与关闭,安装检验 1、启动关闭…

吴恩达深度学习笔记:神经网络的编程基础2.9-2.14

目录 第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)第二周:神经网络的编程基础 (Basics of Neural Network programming)2.9 逻辑回归中的梯度下降(Logistic Regression Gradient Descent) 第一门课&#xff…

蓝牙耳机链接电脑莫名奇妙关机问题(QQ浏览器)

蓝牙耳机连接电脑听歌的时候,如果听歌软件是暴风影音,或者其它播放器,蓝牙不会自动关机,但如果是QQ浏览器,蓝牙耳机经常莫名其妙的关机,时间间隔忽长忽短,没有规律,解决办法就是重启…

【C++ 设计模式】简单工厂模式

文章目录 前言一、简单工厂模式是什么?二、实现原理三、UML类图四、简单工厂模式具体代码总结 前言 在软件开发中,设计模式是解决特定问题的可复用解决方案。其中,简单工厂模式是一种创建型设计模式,旨在封装对象的创建过程&…

使用耳机壳UV树脂制作私模定制耳塞的价格如何呢?

耳机壳UV树脂制作私模定制耳塞的价格因多个因素而异,如材料、工艺、设计、定制复杂度等。 根据我目前所了解到的信息,使用UV树脂制作私模定制耳塞的价格可能在数百元至数千元不等。具体价格还需根据用户的需求和预算进行综合考虑。 如需获取更准确的报…