IP协议图解详解

IP协议

IP数据包结构

  • 数据包结构
4位版本4位首部长度8位服务类型16位总长度
16位标志3位标志13位片偏移
8位生存时间(TTL)8位协议16位首部校验和
32位源IP地址
32位目的IP地址
选项
数据
  • 数据包结构解释
字段位数用法说明
版本(version)4说明用以创建该数据包的IP版本。所有接触该数据包的设备都必须支持本字段显示的版本。大部分TCP/IP产品都使用IPv4
首部长度(Header Length)4以32位为单位表明IP首部的长度。因为几乎所有的IP首部都是20字节长,这个字段的值几乎都是5
服务类型(Type-of-Service Flags)8给应用程序,主机和Internet上的路由器提供一个优先级服务。在这个字段设置合适的标志,应用程序可以要求这个数据包得到高优先级,而让其他数据包等待。
总长度(Total Packet Length)16以字节为单位说明全部IP包的长度,包括首部和主体部分
标识(Fragment Identifier)16标识数据包,在出现分片,并想把片段合并成原状时是有用的
标志(Fragmentation Flags)3说明可能出现的任何分片的某些方面,也提供了分片控制服务,例如不让路由器分片某个包
偏移(Fragmentation Offset)13说明这个片段提供的源IP数据包的字节范围,用8字节的偏移表示
生存时间(Time-to-Live)8说明数据包在不可发送和破坏之前还可以经过的跳数
协议(Protocol Identifier)8说明储存在IP数据包主体的高层协议
首部校验和(Header Checksum)16用来储存IP首部的校验和
源IP地址(Source IP Address)32用来储存最初发送该数据包的主机的32位的IP地址
目的IP地址(Destination IP Address)32用来储存该数据包到达目的的系统的32位的IP地址
选项(options)可变就像IP用type-of service 标志提供了一些优先级服务一样,附加的特殊处理选项能够通过Options字段定义。这些选项包括source routing,timestamp和其他一些选项。这些选>
Padding(如果有需要的话)可变IP数据包的首部的长度必须是32的倍数。如果首部中引入了某些选项,首部必须填充到能够被32整除的位数
数据(data)可变IP数据包的数据部分。正常情况下,会包含一个完全的TCP火UDP信息,但是它也可以是其他IP数据包的一个片段
  • 实例分析
000000600882d219000b46996a8008004500
0010049c19ce40007f065739c0a80202c0a8
0020030200140555e1c1f32705980a885018
45:4是使用的IP版本号,IPv4,5是Header Length首部长度,32位为一个单位,一般都为20字节,也就是5.
00:总共八位,0000 0000,前面3位是优先权要求,此处为0,也就是普通优先级,数据越高,越优先。第四位是延迟要求Delay,0是普通值,1,为最小延迟,第五位是通信要求Throughput,0为普通值,1为最大吞吐量,6位是可靠性要求Reliability,0为普通值,1为最高可靠性。第七八位是备用,Not Used
04 9c:Total Length总共16位,以16进制的形式,表示IP数据包的大小(字节),包括首部和数据部分。
19 ce:Identification,标识字段,用于唯一地标识主机发送的每一份数据包,产生的每一个数据包都有16位的序列号,用来让发送系统和接收系统识别该数据包。通常每发送一份报文它的值就会加1。当要发送一个数据包分片的时候,会把这个字段的内容复制到每个片中,表示这些被分割的片属于同一个数据包。
4:Flags只有3位,也就是010,第一位Reserved bit :目前没有使用。第二位don’t fragment :用于说明某一IP路由是否可以分片这个IP包。为1表示不可以。第三位more fragments:用于说明源数据包是否还有其他片段。为1时表示其后还有被分割的包。
40 00;Fragment Offset偏移定位,13位,0 0000 0000 0000当一个大的数据包经过一些传输单元(MTU)较小的路径时,会被分割成片进行传送,由于链路情况和其他因素的影响,数据到达时可能会失序,所以在分片时,每个片做好偏移定位标记,便于重组。这里为0表示数据包没有被分片。
7f:Time-to-Live,生存时间TTL,在许多网络协议中都会碰到,它指定某个数据包在不能发送并被丢弃之前可以经过的最大跳数。这里是7f换成10进制就是127次。表示最多还可以跳127次,每跳一次就会减去1,如果这个值到达最终目的系统之前减到0,这个包会被认为不可发送并被丢弃。
06:Protocol这个字段用来识别嵌入到IP数据包中的上层协议类型:值为1表示ICMP,值为2表示IGMP,值为6表示TCP,值为17表示UDP。这里值为6表示TCP
57 39:首部校验和,用以储存该IP首部的校验和,使得中间设备能够验证首部的内容并检验出可能的数据损坏,只应用与IP首部的值
c0 a8 02 02:标识该数据包的源发送者,也就是源端系统使用的32位IP地址。换算成10进制就是192.168.2.2
c0 a8 03 02:标识目的地的IP地址。

IP协议

一次传输流程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
SOME/IP(Scalable service-Oriented MiddlewarE over IP)是一种用于汽车领域的通信协议,它提供了一种标准化的方式来实现车辆内部和车辆之间的通信。下面是对SOME/IP协议的详细介绍: 1. 概述:SOME/IP协议是一种基于IP网络的通信协议,它允许不同的汽车电子控制单元(ECU)之间进行高效的通信。它提供了一种灵活的、可扩展的架构,使得不同的ECU可以通过网络进行数据交换和服务调用。 2. 架构:SOME/IP协议采用了客户端-服务器模型,其中客户端是请求服务的一方,而服务器是提供服务的一方。客户端和服务器之间通过SOME/IP消息进行通信。SOME/IP消息可以包含请求、响应和通知等不同类型的数据。 3. 服务发现:SOME/IP协议支持服务发现机制,使得ECU可以动态地发现和注册可用的服务。服务发现可以通过广播或者组播方式进行,从而实现了自动化的服务发现和注册过程。 4. 数据传输:SOME/IP协议使用UDP/IP作为底层传输协议,这使得它具有较低的延迟和较高的实时性。SOME/IP消息可以通过UDP数据报进行传输,同时支持数据的加密和压缩等功能。 5. 安全性:SOME/IP协议提供了一些安全机制,用于保护通信数据的机密性和完整性。它支持基于TLS(Transport Layer Security)的加密和身份验证,以及基于IPSec(Internet Protocol Security)的网络层安全。 6. 扩展性:SOME/IP协议具有良好的扩展性,可以支持不同的应用场景和需求。它定义了一套灵活的消息格式和协议扩展机制,使得新的功能和服务可以很容易地添加到协议中。 7. 应用领域:SOME/IP协议主要应用于汽车领域,用于实现车辆内部的通信和车辆之间的通信。它可以用于实现诸如车辆诊断、远程控制、软件更新等功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值