简析ip数据报格式

简介:

版本:通信双方使用的版本必须一致。目前广泛使用的是ipv4。

首部长度:请注意,这个字段所表示的数的单位是4个字节,因此,当ip的首部长度是1111时,首部长

         度就达到最大值60个字节。当ip分组的首部长度不是4字节的整数倍时,必须加以填充。

区分服务:(旧标准中叫服务类型),一般情况下不使用。

总长度:首部和数据之和的长度,单位是字节,因此最大的报文长度是65535(2的16次方-1)。 虽然

       使用尽可能长的数据报长度能提高传输效率,但是由于因特网的普遍使用,所以实际很少有

       超过1500字节的。为了不使ip数据报的传输效率降低,有关ip标准文档规定,所有主机和路

       由器必须能够处理的ip数据报长度不得小于576字节。当ip数据报过大时,超过帧的最大传输

       单元(MTU),就必须把数据报进行分片才能在网络上传输。这时,总长度是分片后的每一片

       的总长度。

标识:ip软件在存储器中维持一个计数器,没产生一个数据报,计数器就加 1,并将此值赋予标识字

     段。当数据报由于超过MTU而必须分片时,这个标识字段的值就被复制到所有的数据报片的标识

     字段中。相同的标识字段使分片后得数据报片最后能正确的重装成为原来的数据报。

标志:最低位记为MF(more fragment)。MF=1表示后面“还有分片”,MF=0表示这已是若干报片中的

     最后一个。    中间的一位记为DF(don't fragment),意思是“不能分片”。只有当DF=0时

     才允许分片。

片偏移:指出了较长的分组在分片后,谋片在原分组中的相对位置。片偏移以 8 个字节为偏移单位,

       也就是每个分片的长度一定是 8 字节的整数倍。

生存时间:TTL(time to live)路由器转发数据报就把TTL减 1 ,若减小到 0 ,就丢弃,不在转

         发。显然,数据报能在因特网中经过的路由器的最大数值是255。若把TTL初始值设置为1,

         表示这个数据报只能在本局域网中传送。

协议:指出此数据报携带的数据时使用何种协议,以便使目的主机知道应将数据部分上交给那个处理

     过程。

首部检验和:检验数据报的首部是否正确。

源地址:

目的地址:ip 地址。











本文转自 落花非有意  51CTO博客,原文链接:http://blog.51cto.com/1992zhong/1202215,如需转载请自行联系原作者
目录
相关文章
|
存储 算法 前端开发
Java——使用Map还是实体类?
Java——使用Map还是实体类?
|
消息中间件 存储 数据库
RabbitMQ之MQ的可靠性
RabbitMQ之MQ的可靠性
421 0
|
设计模式 缓存 前端开发
一款清新优雅的中后台模板,内置丰富可配置的主题(强烈推荐)
Soybean Admin 是一个基于 Vue3、Vite3、TypeScript、NaiveUI、Pinia 和 UnoCSS 的清新优雅的中后台模版,它使用了最新的前端技术栈,内置丰富的主题配置,有着极高的代码规范,基于 mock 实现的动态权限路由,开箱即用的中后台前端解决方案,也可用于学习参考。
|
9月前
|
监控 Kubernetes Java
最新技术栈驱动的 Java 绿色计算与性能优化实操指南涵盖内存优化与能效提升实战技巧
本文介绍了基于Java 24+技术栈的绿色计算与性能优化实操指南。主要内容包括:1)JVM调优,如分代ZGC配置和结构化并发优化;2)代码级优化,包括向量API加速数据处理和零拷贝I/O;3)容器化环境优化,如K8s资源匹配和节能模式配置;4)监控分析工具使用。通过实践表明,这些优化能显著提升性能(响应时间降低40-60%)同时降低资源消耗(内存减少30-50%,CPU降低20-40%)和能耗(服务器功耗减少15-35%)。建议采用渐进式优化策略。
478 2
|
安全 网络协议 Shell
Github代码仓库SSH配置流程
这篇文章是关于如何配置SSH以安全地连接到GitHub代码仓库的详细指南,包括使用一键脚本简化配置过程、生成SSH密钥对、添加密钥到SSH代理、将公钥添加到GitHub账户以及测试SSH连接的步骤。
1153 0
Github代码仓库SSH配置流程
|
机器学习/深度学习 编解码 算法
ICCV 2023 | 当尺度感知调制遇上Transformer,会碰撞出怎样的火花?
近年来,基于Transformer和CNN的视觉基础模型取得巨大成功。有许多研究进一步地将Transformer结构与CNN架构结合,设计出了更为高效的hybrid CNN-Transformer Network,但它们的精度仍然不尽如意。本文介绍了一种新的基础模型SMT(Scale-Aware Modulation Transformer),它以更低的参数量(params)和计算量(flops)取得了大幅性能的提升。
|
缓存 图形学 异构计算
【#Unity Shader#Amplify Shader Editor(ASE)_第二篇】
【#Unity Shader#Amplify Shader Editor(ASE)_第二篇】
|
设计模式 供应链 安全
多线程四大经典案例及java多线程的实现
多线程四大经典案例及java多线程的实现
1384 0
多线程四大经典案例及java多线程的实现
|
Java API 开发者
如何在Java中实现高效的文件读写
如何在Java中实现高效的文件读写
|
iOS开发 MacOS
Homebrew 安装卸载和配置使用
Homebrew 安装卸载和配置使用
722 0