IP协议详解(一)

深入剖析IPv4和IPv6

深入剖析IP协议,大部分时间就是深入剖析IP头部协议,随着现在的IPv6马上的普及,我们今天就来详细分析一下IPv4和IPv6的头部。

IPv4

1.版本号:占四位,就是IP协议的版本,通信双方的IP协议必须要达到一致,IPv4的版本就是4.

2.首部长度:占四位,因为长度为四比特,所以首部长度的最大值为1111,15,又因为首部长度代表的单位长度为32个字(也就是4个字节),所以首部长度的最小值就是0101,当然,也确实如此,大部分的ip头部中首部字节都是0101.也就是5*4=20个字节,如果是最大值15的话,ip首部的最大值就是60个字节,所以记好了,ipv4首部长度的最大值就是60,当然当中我们又能发现,IPv4的首段长度一定是4字节的整数倍,要是不是怎么办呢?别急,后面的填充字段会自动填充补齐到4字节的整数倍的。

3.区分服务:这个没有什么用处,也没有什么好讲的了,只要自动这玩意占八位,一个字节就可以了。

4.总长度:占16位,这个的意思就是ip数据报中首部和数据的总和的长度,因为占16位,所以很好理解,总长度的最大值就是2的16次方减一,65535,这玩意也对应着还有一个很简单的概念,最大传输单元mtu,意味着一个IP数据报的最大长度就只能装下65535个字节,要是传输的长度超过这个怎么办,很简单,分片。

对于最大传输单元,我们可以调用netstat -in来进行查看:

 对于分片我们放在片偏移里面进行详细分析。

5.标识:占16位,标识这玩意很好理解,IP在存储器中维持一个计数器,每产生一个 数据报,计数器就加1,并将此值赋给标识字段。但这个标识并不是平常的序号,因为IP是 无连接服务,数据报不存在按序接收的问题。当数据报由于长度超过网络的MTU而必须分 片时,这个标识字段的值就被复制到所有的数据报片的标识字段中,等到重组的时候,相同标识符的值的数据报就会被重新组装成一个数据报。

6.标志:占三位,一般有用的是前两位,

最低位叫做MF,MF=1表示后面还有若干个数据报,MF=0表示这已经是最后一个数据报了。

中间位叫做DF,DF表示不能进行分片,DF=0才可以进行分片操作。

7.片偏移:占13位,片偏移就是,在原来的数据报分片以后,该片在原分组中的相对位置,片偏移中的基本单位是8字节,所以,也就是说,只要是分片,每个分片的长度都是8字节的整数倍,最后一个分片不够八字节的一样是填充。

8.生存时间ttl:占8位,(time to live),表明数据报在网络中的寿命,这个值被设定成跳数,顾名思义,就是这个数据报可以经过多少个路由器的数量,每经过一个路由器,该值就减一,减到为零的时候就被抛弃,显而易见,这个跳数的最大值就是2的8次方减一,255.

9.协议:就是用来指明数据报携带了哪种协议,占8位。

10.首部效验和:占16位,这个字段用来效验数据报首段,下面给出简单的计算方法:

 首先在发送端的时候,将效验和全部置为0,然后把数据报首段数据全部进行反码相加,得到的值为效验和,放入首段效验和里面,然后接收端将数据报首段数据和效验和一起全部反码相加,最后若是得到零,则保留,若是不为零,则说明数据报在传输的过程中发生了改变,则丢弃该数据报。

11.IP源地址:占32位,将IP地址看作是32位数值则需要将网络字节顺序转化位主机字节顺序。转化的方法是:将每4个字节首尾互换,将2、3字节互换。

12.目的地址:也占32位,转换方法和来源IP地址一样。

13.到了可变部分IPv4的头部基本上就已经讲完了,增加头部的可变选项实际上就是增加了数据报的功能,可变选项在实际上是很少用到的。

在IP协议中,IP协议是面向非连接的,所谓的非连接就是在数据的传递过程中,不需要检测网络是否连通,所以是不可靠的数据报协议。IP协议主要用于在主机之间的寻址和选择数据包路由。

IPv6

与IPv4相比,IPv6的头部做了如下修改:

1.取消了首部长度,因为IPv6的首部长度是固定40个字节。

2.取消了服务类型,因为流标号和优先级结合起来实现了服务类型的功能。

3.取消了总长度字段,改用为有效载荷长度,有效载荷就是后面的扩展首部加上数据报中的数据。

4.取消了标识,标志和片偏移,因为这些功能都包含在了扩展首部里面。

5.取消了协议字段,改用为下一个首部,功能不变,这样更容易理解。

6.取消了生存时间ttl,改用为跳数限制,功能不变,这样更容易理解,更形象了。

7.取消了首部效验和,这样加快了路由器对数据报的处理速度,在数据链路层中,当我们发现有差错的帧就会抛弃,在运输层中,在udp中,当发现有差错就会抛弃,在tcp中,当发现有差错就会重传,直到传送到目的进程为止。因此在网路层的检测就可以精简掉。

8,取消了选项字段,功能归并在了扩展首部上。

 

 

 

  • 18
    点赞
  • 137
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
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协议主要应用于汽车领域,用于实现车辆内部的通信和车辆之间的通信。它可以用于实现诸如车辆诊断、远程控制、软件更新等功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值