IP协议简单解析

我们首先来了解一下IP协议为报文格式,我们选择其中的一些进行说明:

  4位版本:我们的IP协议现在有两种版本:1.IPv4 2.IPv6,我们的4位版本就是用来确定我们的IP协议的版本是IPv4还是IPv6。

 4位首部长度:代表整个IP头部的长度是多少 * 32bit,也就是长度 * 4个字节数,所有我们的IP协议头部最长为60个字节。

16位总长度:代表整个IP的长度占多少个字节。

16位表示,3位标志,13位片偏移:这三个可以合在一起说明,这三个字段是用来对IP的数据进行分包和组包的,什么是分包和组包?分包就是把数据分为几份,组包就是把这几份数据组合成一个数据。为什么我们要进行分包?因为数据链路层协议只能运固定的一个数据长度,然后我们IP数据长度大于我们的数据链路层一次可以传输的长度,所有我们需要对数据进行分包处理,才能交给我们的数据链路层。那我们在组包的时候会遇到这样一个问题,我们不知道这一条数据被分的包是哪一些,我们要怎么进行组合呢?我们通过16位标识,来分辨哪些数据来源于同一个包中。这时候我们又有另一个问题,我们要怎么知道整个数据的组合顺序呢?我们这时候通过我们的13位片偏移就可以确定我们的一个数据的组合顺序。然后我们通过3位标志来判断后序是否还有数据需要组合。

8位协议:8位协议就是表示我们的传输层协议是什么?是TCP还是UDP,就是靠我们的8位协议弄清楚的。

32位源IP和32位目的IP:分别表示发送端和接收端。

  IP协议在我们TCP/IP模型里处于网络层,IP的作用其实就是路由寻址的一个功能,我们举一个具体的场景来进行说明,当我们把我们的快递交给快递公司之后,从发货地到目的地是有很多条路可以走的,IP协议就是用来规划这个路线。其实IP协议在路由选择的时候,是一个探索的一个过程,就像我们去要去一个地方,但是不知道怎么走,这时候我们会问路,如果路人知道我们要去的一个目的地我们就可以直接到达,但是如果这个路人不知道,但是他会给我们一个大概的方向,我们顺着这个方向就会里目的地越来越近,碰到直接知道这个目的地的人的概率就越来越大。这些路人我们就可以理解为一个个路由器,而路由器通过路由表,来给我们的IP协议指路,我们可以把路由表理解为路人自己熟悉的一个范围。那为什么不能像我们查看地图一样,直接一开始就确定走哪条路线?因为我们路由器的路由表的存储空间有限,不可能保存整个互联网的环境节点。我们的IP只是规划一个传输的路线,我们把这么一个从出发点到目的地理解成一个长期目标,而整个传输的过程就是从长期目标变成一个个短期目标,这就是由我们的数据链路层来做的事情。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python-CIP是用于解析CIP(Common Industrial Protocol)协议的Python库。CIP是用于工业自动化领域的一种通信协议,可用于在工业设备之间进行数据传输和控制。 Python-CIP库提供了一组工具和函数,用于解析和处理CIP协议中的数据和报文。它可以帮助开发人员在Python环境中轻松地解析和处理CIP协议。 使用Python-CIP库,我们可以通过以下步骤解析CIP协议: 1. 导入python_cip包:首先,我们需要在Python脚本中导入python_cip包,以便可以使用其中的函数和类。 2. 连接到设备:通过使用CIP协议的连接指令,我们可以建立与CIP设备的连接。可以指定设备的IP地址和端口号。 3. 发送和接收数据:使用CIP协议的数据传输指令,我们可以发送数据到设备或从设备接收数据。可以指定要发送或接收的数据的格式、大小和内容。 4. 解析和处理数据:使用Python-CIP库提供的函数,我们可以解析和处理从设备收到的数据。可以根据需要使用不同的数据类型进行解析,例如整数、浮点数、字符串等。 5. 关闭连接:在完成数据传输和处理后,我们可以使用CIP协议的断开连接指令来关闭与设备的连接。 通过使用Python-CIP库,开发人员可以方便地解析和处理CIP协议,实现工业自动化系统中的数据传输和控制功能。这使得在Python环境中开发和调试CIP协议相关的应用程序变得更加简单和高效。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值