IPv4数据报格式

news2024/11/22 16:40:23
  • IPv4是IP协议的第四个版本(版本1-3和版本5都未曾使用过)
  • IP地址不能反映任何有关主机位置的地理信息
  • 以前还有个逆地址解析协议RAPR(Reverse APR),它的作用是使只知道自己MAC地址的主机能通过RAPR找到其IP地址,而现在的DHCP(Dynamic Host Configuration Protocol)协议已经包含了RARP的功能,所以RARP已淘汰不用了
  • 在Internet中,允许一台主机有两个或两个以上IP地址,这两个IP地址的网络号必然不同。如果一台主机有两个或两个以上IP地址,说明这个主机属于两个或两个以上的逻辑网络。同一时刻一个合法的内网IP地址只能分配给一台主机,否则会引起IP地址冲突

IP数据报的格式

当IP数据报每经过一个路由器,生存时间TTL就减1,并重新计算首部检验和

  • 版本:占4位,IP协议的版本
  • 首部长度:占4位,以4字节为单位,0101就代表5个4字节,即20字节(不使用可选字段)
  • 区分服务:占8位,一般情况不使用这个字段
  • 总长度:占16位,指首部和数据之和的长度,以字节为单位,因此数据报最大长度为65535B。以太帧的最大传送单元为1500B,因此当一个IP数据报封装成帧时,总长度超过了1500B,就要分片(一片就是一个帧的数据部分)(每一片都有首部,并且都是20字节)

  • 标识(identification):占16位,是一个计数器。每产生一个数据报就+1,并赋值给标识字段,但它并不是“序号”(因为IP是无连接服务),同属一个数据报的数据报片用相同的标识,以便最后重装成原来的数据报。(目的主机根据IP首部中的标识、标志、片偏移字段来完成对片的重组)
  • 标志(flag):占3位,目前只有两位有意义。最低位是MF(more fragment),MF=1表示后面还有分片,MF=0表示最后一个分片,中间一位是DF(don't fragment),DF=0时才允许分片
  • 片偏移:占13位,指出较长的分组在分片后,某片在原分组的相对位置(相对于数据报的数据字段的起点),以8个字节为偏移单位,除了最后一个分片外,每个分片的长度一定是8B的整数倍
  • 生存时间(Time To Live,TTL):占8位,是数据报在网络中可通过的路由器数量的最大值(跳数限制),路由器在转发分组前,把TTL减1,若TTL被减为0,则该分组必须丢弃
  • 协议:占8位,指出分组携带的数据部分使用何种协议,即分组数据应上交给哪个协议处理。值为6表示TCP,为17表示UDP,1表示ICMP,89表示OSPF
  • 首部检验和:占16位,只检验分组首部(不是CRC检验码,是反码求和运算),不检验分组数据部分
  • 源地址字段:占4B,标识发送方的IP地址
  • 目的地址字段:占4B,标识接收方的IP地址
  • 选项字段:动态增加IP数据报功能,但实际上很少被使用,因此IPv6的IP数据报的首部长度(指的是基本首部)就做成固定的了
  • 填充:当IP分组首部长度不是4字节整数倍时,用填充字段填充

路由器转发分组的过程

网络利用率并非越高越好。根据排队论,网络利用率增大时,所引起的时延也会迅速增加

转发表里的两种特殊路由

主机路由的子网掩码是255.255.255.255

默认路由的子网掩码是0.0.0.0

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

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

相关文章

Leetcode—876.链表的中间结点【简单】

2023每日刷题(三十三) Leetcode—876.链表的中间结点 实现代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* middleNode(struct ListNode* head) {struct ListNod…

vue-组件通信(二)

​🌈个人主页:前端青山 🔥系列专栏:Vue篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来vue篇专栏内容:vue-组件通信(二) 目录 组件通信(二) (1) props / $emit 1. 父组件向子组…

动手学深度学习——循环神经网络(原理解释与代码详解)

文章目录 一、循环神经网络1. 无隐状态的神经网络2. 有隐状态的循环神经网络3. 基于循环神经网络的字符级语言模型4. 困惑度5. 小结 二、循环神经网络的从零开始实现1. 独热编码2. 初始化模型参数3. 循环神经网络模型4. 预测5. 梯度裁剪6. 训练 一、循环神经网络 n元语法模型&…

想要精通算法和SQL的成长之路 - 摩尔投票法的运用

想要精通算法和SQL的成长之路 - 摩尔投票法的运用 前言一. 多数元素1.1 摩尔投票法 二. 多数元素II2.1 分析 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 多数元素 原题链接 1.1 摩尔投票法 简单来说,假设数组 num 的众数是 x,数组长度为n。 有…

超聚变服务器关闭超线程CPU的步骤(完整版)

前言: 笨鸟先飞,好记性不如烂笔头。 我们项目都用不到超线程CPU,所以调测设备的时候都需要关掉,最近新设备换成了超聚变的服务器,这篇记录我关闭(超聚变)服务器超线程CPU的方法步骤。 关闭超线程CPU的步骤…

【SpringBoot3+Vue3】四【实战篇】-前端(vue基础)

目录 一、项目前置知识 二、使用vscode创建 三、vue介绍 四、局部使用vue 1、快速入门 1.1 需求 1.2 准备工作 1.3 操作 1.3.1 创建html 1.3.2 创建初始html代码 1.3.3 参照官网import vue 1.3.4 创建vue应用实例 1.3.5 准备div 1.3.6 准备用户数据 1.3.7 通过…

C++题目练习第二十天__有效的完全平方数

题目链接: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 题目: 给你一个正整数 num 。如果 num 是一个完全平方数,则返回 true ,否则返回 false 。 完全平方数 是一个可以写成某个整数的平方的整数。…

python基础练习题库实验3

题目1 编写一个程序,根据以下定价计算成本。 Number of itemsCost1-50每件3美元 邮费: 10美元超过50每件2美元 邮寄:免费 举个例子: 代码 items_num input("Enter the number of items: ") items_num_i int(items_num) ite…

Vite 启动默认只能访问localhost解决方法

事情的经过是因为我需要测试本地项目的接口,然后因为burp默认不抓取localhost,127.0.0.1 .而且我也不想去修改burp. 所以我通过本地IP地址访问项目, 发现项目无法访问。 默认启动 所以特此记录一下。 在本地项目的package.json 中需要运行的脚本后 添加 --host即可。 具体如下…

Web之HTML笔记

Web之HTML、CSS、JS Web标准一、HTML(超文本标记语言)HTML 基本结构标签常用标签1.font标签2.p标签3.注释4.h系列标题5.img6.超链接a7.列表8.表格9.表单 Web之CSS笔记 Web标准 结构标准用于对网页元素进行整理和分类(HTML)表现标准用于设置网页元素的版…

Redis持久化机制详解

使用缓存的时候,我们经常需要对内存中的数据进行持久化也就是将内存中的数据写入到硬盘中。大部分原因是为了之后重用数据(比如重启机器、机器故障之后恢复数据),或者是为了做数据同步(比如 Redis 集群的主从节点通过 …

公司防泄密软件科普:防止公司文件泄露的软件有什么功能?哪个好?

公司防泄密软件的主要功能是保护企业的重要文件和数据,以防止未经授权的访问和泄露。以下是防泄密软件的一些常见功能: 1、数据加密:防泄密软件可以使用加密算法对文件进行加密,使得未经授权的人无法读取或复制文件。 2、文件备份…

ExcelBDD PHP Guideline

在PHP里面支持利用Excel的BDD,也支持利用Excel进行参数化测试 ExcelBDD Use Excel file as BDD feature file, get example data from Excel files, support automation tests. Features The main features provided by this library are: Read test data acco…

QT专栏1 -Qt安装教程

#本文时间2023年11月18日,Qt 6.6# Qt 安装简要说明: Qt有两个版本一个是商业版本(收费),另一个是开源版本(免费); 打开安装程序时,通过判断账号是否有公司,安…

SpringCloud 之Feign的性能优化

Feign底层默认是JDK自带的HttpURLConnection,它是单线程发送HTTP请求的,不能配置线程池,我们使用Okhttp或者HttpClien 朵发送http请求,并且它们两个都支持线程池。 常见HTTP客户端 HttpClient HttpClient 是 Apache Jakarta Comm…

竞赛 题目:基于深度学习卷积神经网络的花卉识别 - 深度学习 机器视觉

文章目录 0 前言1 项目背景2 花卉识别的基本原理3 算法实现3.1 预处理3.2 特征提取和选择3.3 分类器设计和决策3.4 卷积神经网络基本原理 4 算法实现4.1 花卉图像数据4.2 模块组成 5 项目执行结果6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 基…

shopee跨境选品工具——知虾,助您精准选品和科学运营

在如今的电商时代,shopee跨境选品是每个卖家都面临的重要任务。而Shopee作为一家知名的跨境电商平台,为卖家提供了一系列有用的工具和功能来帮助他们进行精准选品和科学运营。其中,知虾作为Shopee的大数据采集及分析平台,为卖家提…

Failed to execute org.scala-tools:maven-scala-plugin:2.15.2解决

原因也不是很清楚,查看一个博主文章(net.alchim31.maven:scala-maven-plugin:maven依赖无法下载或无法编译)得到的解决方案: 在idea的terminal执行以下语句即可实现maven对scala代码的编译: mvn clean scala:compile compile pac…

基于黑猩猩算法优化概率神经网络PNN的分类预测 - 附代码

基于黑猩猩算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于黑猩猩算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于黑猩猩优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神经网络…