当前位置: 首页 > news >正文

《TCP/IP详解 卷一:协议》第5章的IPv4数据报的总长度字段出现“不需要大于576字节的IPv4数据报“相关内容的解释

《TCP/IP详解 卷一:协议》第5章的IPv4数据报的总长度字段的一些解释,出现以下内容(有省略):

....另外,主机不需要接收大于576字节的IPv4数据报.....以避免576字节的IPv4限制。

英文原文的内容(有省略):

Furthermore, a host is not required to be able to receive an IPv4 datagram larger than 576 bytes. ....Many applications that use the UDP protocol (see Chapter 10) for data transport (e.g., DNS, DHCP, etc.) use a limited data size of 512 bytes to avoid the 576-byte IPv4 limit. 

首先说明一下,这就是作者和译者不假思索,照搬RFC文档的结果,又没有任何解释。

在RFC791文档里面说

  Total Length:  16 bitsTotal Length is the length of the datagram, measured in octets,including internet header and data.  This field allows the length ofa datagram to be up to 65,535 octets.  Such long datagrams areimpractical for most hosts and networks.  All hosts must be preparedto accept datagrams of up to 576 octets (whether they arrive wholeor in fragments).  It is recommended that hosts only send datagramslarger than 576 octets if they have assurance that the destinationis prepared to accept the larger datagrams.The number 576 is selected to allow a reasonable sized data block tobe transmitted in addition to the required header information.  Forexample, this size allows a data block of 512 octets plus 64 headeroctets to fit in a datagram.  The maximal internet header is 60octets, and a typical internet header is 20 octets, allowing amargin for headers of higher level protocols.

然后我找了一些资料,最合理的解释就是,

在1981年9月通过RFC 791和RFC 793的发布,TCP/IP正式标准化。

在1981年,内存还是很贵的,一次最多发为576字节就够了。

——不是说现在MTU最大就是576字节啊,因为TCP/IP标准也是持续更新的,RFC文档也是不断增加的,更新的内容是在新文档的,不会在旧文档里面改的。

相关文章:

《TCP/IP详解 卷一:协议》第5章的IPv4数据报的总长度字段出现“不需要大于576字节的IPv4数据报“相关内容的解释

《TCP/IP详解 卷一:协议》第5章的IPv4数据报的总长度字段的一些解释,出现以下内容(有省略): ....另外,主机不需要接收大于576字节的IPv4数据报.....以避免576字节的IPv4限制。 英文原文的内容(有…...

PO-java客户端连接错误can not connect to server

问题描述: 换电脑或者网络环境改变了,PO下载EST ID的jnlp提示can not connect to server*** ;**message server***这类错误 原因分析: 基本上都是PO消息服务器连接不上导致的错误,原理有均衡负载对应的IP转接后端口不…...

PM2 vs Kubernetes:在部署 Node.js 服务时使用哪个?

Node.js 已成为 Web 开发中的热门技术之一,但如果我们想成功地将 Node.js 应用程序交付给用户,我们需要考虑部署和管理这些应用程序。两个常见的选项是 PM2 和 Kubernetes。PM2 是一个用于运行和管理 Node.js 应用程序的进程管理器,它能够创建…...

配置git并把本地项目连接github

一.配置git 1.下载git(Git),但推荐使用国内镜像下载(CNPM Binaries Mirror) 选好64和版本号下载,全部点下一步 下载完成后打开终端,输入 git --version 出现版本号则说明安装成功 然后继续…...

pytorch笔记 GRUCELL

1 介绍 GRU的一个单元 2 基本使用方法 torch.nn.GRUCell(input_size, hidden_size, biasTrue, deviceNone, dtypeNone) 输入:(batch,input_size) 输出和隐藏层:(batch,hidden_size&#xf…...

不解压,也能列出文件信息

gz文件,不解压,查看压缩前文件的大小: gzip -l ~$ ll -rw-r--r-- 1 fee fee 17343450 Nov 2 12:02 xxx.log.2023-11-02T04-02-56.000.1 -rw-r--r-- 1 fee fee 3150599 Nov 2 12:02 xxx.log.2023-11-02T04-02-56.000.1.gz ~$ gzip -l gb…...

微型计算机组成原理

1、微型计算机组成 一个传统微型计算机硬件组成如下图 CPU通过地址线、数据线和控制信号线组成的本地总线(内部总线)与系统其他部分进行数据通信。 地址线用于提供内存或I/O设备的地址,即指明需要读/写数据的具体位置;数据线用…...

基站/手机是怎么知道信道情况的?

在无线通信系统中,信道的情况对信号的发送起到至关重要的作用,基站和手机根据信道的情况选择合适的资源配置和发送方式进行通信,那么基站或者手机是怎么知道信道的情况呢? 我们先来看生活中的一个例子,从A地发货到B地…...

进程/线程

进程是资源单位, 线程是执行单位。 每一个进程至少要有一个线程,启动每一个程序默认都会有一个主线程 1.多线程的两种实现 from threading import Thread#方法一 def func(name):for i in range(10):print(name, i)if __name__ __main__:t Thread(targetfunc, …...

Python 应用 之 转换音频格式

目录 一、python音频转换 1、pydub 音频包安装 2、 ffmpeg安装 1)、解压后,添加到环境变量中 2)、可以直接放在python安装目录下 3、python程序 1)、引入相关包 2)、重命名 3)、to Mp3 4&#xf…...

Oracle JDK 和OpenJDK两者有什么异同点

Oracle JDK 和 OpenJDK 是两种不同版本的 Java Development Kit(Java 开发工具包),它们都提供了用于开发 Java 程序的一系列工具和库。以下是它们之间的一些主要异同点: 相同点: 功能:在大多数情况下&…...

GPT引发智能AI时代潮流

最近GPT概念爆火,许多行业开始竞相发展AI ,工作就业也将面临跳转,目前测试就业形势就分为了两大类,一类是测试行业如功能、性能、自动化综合性人才就业技能需求,另一类便是AI测试行业的需求普遍增长,原本由…...

FreeSWITCH mrcp-v2小记

最近得知有人受mrcp的困扰,于是写了这篇小文,希望能有所帮助 FreeSWITCH版本选择 目前当然选择1.10.10,不建议老版本,差别在于老版本用到的libmrcp比较旧,是1.2版本,bug比较多,有时会crash&am…...

如何将你的PC电脑数据迁移到Mac电脑?使用“迁移助理”从 PC 传输到 Mac的具体操作教程

有的小伙伴因为某一项工作或者其它原因由Windows电脑换成了Mac电脑,但是数据和文件都在原先的Windows电脑上,不知道怎么传输。接下来小编就为大家介绍使用“迁移助理”将你的通讯录、日历、电子邮件帐户等内容从 Windows PC 传输到 Mac 上的相应位置。 在…...

Elasticsearch集群搭建、数据分片以及位置坐标实现附近的人搜索

集群搭建、数据分片 es使用两种不同的方式来发现对方: 广播单播也可以同时使用两者,但默认的广播,单播需要已知节点列表来完成 一 广播方式 当es实例启动的时候,它发送了广播的ping请求到地址224.2.2.4:54328。而其他的es实例使用同样的集群名称响应了这个请求。 一般这…...

深度学习_3 数据操作之线代,微分

线代基础 标量 只有一个元素的张量。可以通过 x torch.tensor(3.0) 方式创建。 向量 由多个标量组成的列表(一维张量)。比如 x torch.arange(4) 就是创建了一个1*4的向量。可以通过下标获取特定元素(x[3]),可以通…...

树莓派安装Ubuntu22.04LTS桌面版

工具:树莓派4B Raspberry Pi 自己下载的ubuntu22.04LTS img磁盘镜像文件 这里有一个小技巧:这个Raspberry Pi的选择镜像的时候在最后面一行可以选择自定义的镜像,哈哈哈哈,这就使得我们可以自己下载,而且知道那个文…...

Rust编程基础之函数和表达式

1.Rust函数 在之前的文章中,我们已经见到了一个函数:main函数, 它是很多程序的入口点。也见过 fn 关键字,它用来声明新函数。 Rust 代码中的函数和变量名使用 snake case 规范风格。在 snake case 中,所有字母都是小写并使用下划线分隔单词。这是一个包…...

关于preempt count的疑问

Linux中的preempt_count - 知乎 https://www.cnblogs.com/hellokitty2/p/15652312.html LWN:关于preempt_count()的四个小讨论!-CSDN博客 主要是参考这些文章 之前一直认为只要是in_interrupt()返回非0值,那么就可以认为当前在中断上下文。即…...

Windows 开启 Kerberos 的火狐 Firefox 浏览器访问yarn、hdfs

背景:类型为IPA或者MIT KDC,windows目前只支持 firefoxMIT Kerberos客户端的形式,其他windows端浏览器IE、chrome、edge,没有办法去调用MIT Kerberos Windows客户端的GSSAPI验证方式,所以均无法使用 Windows 开启 Kerb…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...

MMaDA: Multimodal Large Diffusion Language Models

CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

OpenLayers 分屏对比(地图联动)

注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...

Python 高效图像帧提取与视频编码:实战指南

Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解

进来是需要留言的&#xff0c;先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码&#xff0c;输入的<>当成字符串处理回显到页面中&#xff0c;看来只是把用户输…...