最后更新:2022-04-16 13:42
目录:
1、OSI模型
2、各协议首部
2.1 以太网首部
2.2 初始IP(网络协议)
TCP(转让控制协议) 启动时
ARP(地址分割协议)第二.4号
UDP(用户数据报告程序)的初始部分为2.5。
ICMP(网络管制报告议定书)第二版第二.6版
3. 提交共同的国际CMP
1) 答复电文(代码0或类型8)。
2) 有时间戳的电文(第13和14类)
4. 关于MAC、IP和港口
5. IP地址、MAC地址和解决解决协议之间的联系。
6、参考资料
---------------------------------
TCP/IP/ARP/IPCMP 初步分析
STM32使用以太网应用来解释一种技术。
STM32 Ethernet方案二的剖析
II STM32 以太网方案分析
STM32 Ethernet 方案分析 4
--------------------------------------------------------------------------------------------------------------------
1、OSI模型
以下的OSI-7模型图像描述了每一层使用的七层模型和规程:应用层、表达层、届会层、传输层、网络层、数据链接层和物理层。

因为每一层的数据,我们使用什么协议, 我们用在下图中 列出一些使用最广泛的协议, 并评估其不同的协议 在每个层次上。

我们用来展示一幅图象的几种共同方法。
IP:I want to send data to 127.127.127.127
UDP:我想向N港传送一个数据表。
TCP:我希望以可靠的方式提供关于N港的数据。
ARP:who knows 127.127.127.127's MAC address?
RARP: who knows 21.21.12.21's IP address?
ICMP: 我使用本议定书传递或接收询问或问题。
DHCP/BOOTP:I want to get an IP address
DNS:what is the IP address of www.st.com?
网络数据已上传。我们除去外层一层获取必要的真实世界数据。分布网的数据也附在不同的协议标题(加盖)之后,并提供给网络。这不是我第一次 找到摆脱困境的方法让我们看看互联网上数据包的 IP-TCP结构。这样我们才能更好地审查和理解现实世界的数据。
--------------------------------------------------------------------------------------------------------------------
例如,考虑从Tainet获取数据。
2、各协议首部
2.1 以太网首部
我们从以太网获得的第一件物品是台网的正面, 它有14字节长。 它的格式是..

目标 MAC 地址:6 字节将接收网络数据包的MAC地址。如果MAC地址的第一个字节的最小值为零,地址由一个字节组成;如果停战委员会地址的第一个字节是一个字节,第一个字节是合法的。地址是广播的目标载有广播目标地址的整套节目将分发到一套预定的电子网络节点;如果目标地址栏载有保留广播地址FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-这是一个无线电包,它是一个无线电包, 它是一个无线电包,它是一个无线电包, 它是一个无线电包,它是一个无线电包, 它是一个无线电包,它是一个它将分发给共享网络的每一个节点。
资料来源MAC地址:6字节;将这一数据包传送到网络MAC地址。
协议类型:确定下一个数据包的两字节。 IP协议是8800,ARP协议是0806,RRP协议是8035。此外,如果字段的值小于05DCh 1500,则字段是一个长度字段,用于确定数据未填充的数据字段的长度。
注意:MAC是互联网卡的硬件地址。在出厂时固化,它由两部分构成,前三个字节称为该组织的独特身份(OUI)。OUI提供 ICC 分发。获得OUI的公司设定的地址字节是最后三个字节。如果框架小于64字节,则使用Tai Net的尾巴进行4字节CRC检查。则要求"填充",将框架大小增加到64字节。
---------------------------------
2.2 初始IP(网络协议)
然后是IP的第一个组件, 它有20字节长,组织起来像..

版本:四位数版本号,最常见的是4(100),即IPv4;
头长: 4 个字节, 最少5个字节, 也就是说, 第一大臣最少20个字节。 我们这里有一个 20 个字节页头, 在 IP 开始时没有选项, 最长长度为 4 * 15 = 60 字节 。
服务类型:8比特 ToS 字段包含三个点,以优先报告IP数据(现已过时),四个点,以具体指定可选服务类型(最小延迟度、最大呕吐量、最大可靠性和最低成本),一个点始终为零。
整个软件包长度:当前数据包的长度(包含 IP 标题和 IP 数据)。
标识的重组:提供主机提供的标识、每个通行证的IP数据报告、16个标记加1个可用于数据报告分割和重新组装的标记。
标志:3位标志,
1位保留;
(a) 一个在不可计量地点:0表示数据包是允许的,而一个表示数据包是不允许的。
1对1以上:0对无包件,1对上一个包件,1对附加包件
用于帮助接收分节分组信息的额外部分的13位数抵销。
TTL: 这是 PING 命令所解释的 生存时间 。 每个路由器将值降低一个,如果它达到零,它就表示线路对主机网络来说太长,无法发现目标,因此被废弃。 因此,这种存在的时间是用跳而不是秒来衡量的。
程序代码: 软件包的上层程序 TCP是6 , ICMP是1,IGMP是2,UDP是17。
16个初次IP校验和形成头部校验和。
有32个IP源地址和32个IP目的地地址。
---------------------------------
TCP(转让控制协议) 启动时
最后,TCP的第一部分包括20字节,格式如下:

来源港口2字节和目的地港口2字节:用于寻找来源和接收申请程序。这两个变量以及IP地址第一部分的IP地址来源和目的地地址构成唯一的TCP连接。有时,插件或套接字( 套接字) 是IP 地址和端口号的另一个术语 。第一个短语出现在第一个TPCP(区域环境方案793)中。后来,它被用作伯克利版的编程接口。插头或系带配对(由客户IP地址、客户端口号、服务器IP地址和服务器端口号组成的四组组合)确定互联网上每个TCP连接的唯一当事方。
TCP 为交付的字节生成一个数字, 它包含当前数据包的起始字节数。 如果字节流被视为两个程序之间的单向流, TCP 使用序列号计算每个字节 。
TCP向接收方发出信号,希望下次收到包件的第一个字节编号。
偏移偏移:四个偏移点,类似于IP 地址,标明32个数据包的数目
6个标志比特:
U: URG 紧急位数。 当 URL = 1 表示此信息有紧急数据时, 应尽快发送 。
A: ACK 确认 Bit 。 只有当 ACK=1 (3 TCP 握手) 时, 野外确认才能被接受 ;
P:PSH用于通知消费者,如果必须以更快的速度传送数据,则需要增加数据输送量。
R: RST 迁移比特。 显示 TCP 连接程序的重大错误要求释放连接, 然后重置三次( TCP 握手) 。
SYN 同步比特(b) 表示它是连接请求或通过连接收到的电文;
F: FIN 结束比特。 指定信件发件人的数据已发送, 并要求释放连接 。
窗口字段:管理彼此以字节形式传输的数据数量。一个 TCP 连接部分根据指定的缓冲空间大小估计其接收窗口的大小,然后互相通知,以确定对方发送窗口的上限。
Packet 校验和: 包含初始部分和数据部分,并在计算校验和时在 TCP 条目之前插入一个 12 字节假头。
紧急情况说明:在本报告中具体说明紧急情况数据的最后字节。
---------------------------------
ARP(地址分割协议)第二.4号
在以太网的第一部分之后, 它直接是ARP或RRP的第一部分, 用于 ARP和RRP的包。 它有28 字节长 。

硬件类型: 是地址的硬件类型, 值为 1 表示电子网络地址 。
协议类型:指定协议的地图地址类型。 其值 0x0800 表示 IP 地址。 其值与 Ethernet 数据框中带有 IP 数据的类型字段值相同, 该类型字段是故意构造的 。
硬件地址的长度和协议地址的长度分别以字节表示硬件地址和协议地址的长度。对于在 IP 地址的ARP 询问或回答,其值分别为 6 和 4 。
行动类型是指以下四种行动: ARP请求(价值1)、ARP答复(价值2)、RARP请求(价值3)和RARP答复(价值4) 之所以需要这个字段,是因为美国退休人员协会期望的野外框架类型值与RARP相同。
下文重复了MAC和IP地址。
当美国退休人员协会提出要求时,除目标硬件地址外,所有字段都填满了。当系统收到原打算属于自己的退休计划申请人的请求时,它可以将其作为工具使用。它含有硬件地址。更改了两个发件人地址,一个换一个换两个目的地地址,另一个换两个发件人地址。然后在作业场中输入两个,最后把它发送回去。
---------------------------------
UDP(用户数据报告程序)的初始部分为2.5。
UDP软件包的第一个组成部分是在IP软件包的第一部分之后。 UDP软件包第一阶段包含8字节,其结构是..

UDP 长度: 包含头和数据部件。
校验和:包括UDP第一和UDP数据。
联合DP数据简报和TCP都有一个12位位伪头来计算测试,而伪头在IP标题中包含一些字段。 TCP有一个超时机制,尽管联合DP没有。
关于UDP伪首部的问题请看这位博友的帖子: TCP&UDP伪首部详解
---------------------------------
ICMP(网络管制报告议定书)第二版第二.6版
ICMP属于TCP/IP协议中的同一层,并包含在IP数据中。

类型:用于识别电文的8种电文类型
8位数的代码用来提供有关这种类型的补充信息。
校验总和:有16个校验总和仅涵盖国际CMP提交材料。
对于不同的国际CMP职能背后的差异,在提交的国际CMP报告中,上述四个字节保持不变。
这个国际CMP进程的身份识别特征用来代表它。
序列号是一个数据包,用来计算回声响应。

--------------------------------------------------------------------------------------------------------------------
3. 提交共同的国际CMP
1) 答复电文(代码0或类型8)。
我们每天的Ping是回应(8)和(0)请求,以便向节点发送8份国际海事委员会报告,如果不是异常的话,则退回0份国际海事委员会报告,表明东道方存在。
---------------------------------
2) 有时间戳的电文(第13和14类)
请求13和答复14。它用来测试数据在两台机器之间传输所需的时间(网络主机通常是独立的),它用来测试数据在两台机器之间传输所需的时间。每台机器都有自己的时钟查询的主机系统的当前时间是要求和答复的时间。从午夜到现在的毫秒被还回去。这一价值用于实现时间和谐。事实上因为延时,这个值是不准确的,平均数值往往被多次衡量。)
--------------------------------------------------------------------------------------------------------------------
4. 关于MAC、IP和港口
如果MAC地址不是局域网内独有的,由于其他东道国冲突,通信将失败。
IP地址与MAC地址一样,是局域网中唯一无法与其他主机共享的IP地址。开发董事会和计算机的IP地址必须保存在网络的同一区域,即IP地址的前三部分不同。
关于具体数据包操作请看下一篇博文 STM32使用以太网应用来解释一种技术。
--------------------------------------------------------------------------------------------------------------------
5. IP地址、MAC地址和解决解决协议之间的联系。
《美国退休人员地址解决议定书》是一个TCP/IP机制,使用IP地址来确定实际地址。OSI模式将网络工作分成七个层次。IP地址位于OSI模型的第三级。在二楼可找到停战委员会地址。彼此不直接打交道。在通过以太网传输IP数据包时然后,第三级(32个IP地址)和二楼(48个MAC地址)必须密封信头。然而,由于在传输时只有目的地IP地址,因此无法确定IP地址。我不知道他的MAC在哪里, 我不知道它是什么。二级和三级无法进入。因此,你必须利用地址来分析协议。使用地址解析协议,网络级 IP 数据包信头中的 IP 地址信息可用于推断目的地硬件地址(MAC 地址)。保证通讯顺利运作。
《RARP议定书》的反面地址转换协议。反向地址转换协议将主机在局域网中的物理地址转换为IP地址。例如,在局域网中,有一个只知道实际地址而不是IP地址的东道主。RRP协议可用于发送IP地址请求书。RRP服务器负责回复。
假设存在两个主机,当地主机A和目标主机B将进行交流。

(1) IP和MAC通过ARP绘制地址图
图1-1显示了TCP/IP社区的等级组织。数据集经常使用以太网发送。链层的MAC地址随后在包件传输过程中封存。最后,这是台网框架信息以太网框架包含以下信息:目标地址、源地址和框架类型。以太网装置有48位置地址它只承认MAC地址,而不是32位IP地址(IPV4)。因为以太网只是提供 设备MAC地址, 无法识别它。那么问题就来了,我们知道的来源地址是主机A的MAC地址那目标的MAC地址呢?我们也许知道,也许不知道。我们如何获得目标的停战委员会地址?地址解析进程将完成将IP地址映射到停战委员会地址的工作。获取主机B的MAC地址这是解决分歧议定书的责任。
最初,主机A根据路线列表的内容确定主机B的IP地址。在此主机上 ARP 缓存的 ARP 表格被搜索, 以确定是否有与 B 主机IP 地址对应的 MAC 地址的过去记录 。如果可用,则在以太框架中附加目标地址。如果ARP数据库中没有与主机IPB相对应的MAC地址,主机A将向当地网络上的所有主机广播ARP请求框架(包括主机B的IP地址)。主机IP 地址和 MAC 地址)比较接收ARP的东道方收到的请求框中的目标IP地址。如果您的 IP 地址与 ARP 请求不符, 您必须为此支付 。如果主机B符合主机A,并提供其IP地址和MAC地址,以便主机A发出请求,同时,主机B更新或记录主机A的IP地址和MAC地址,以ARP格式。
当收到数据时, A 主机首先决定框架的类型 。图1-1显示,收到的数据可能是IP数据或ARP数据。如果收到实施伙伴数据,则按实施伙伴框架格式加以解释。如果收到ARP数据框架,并被重新评为答复或请求框架,则该数据框架即为请求框架。如果回答框架 A 主机, 本地的 ARP 表格将会更新 。如果有请求框架,东道方的IP地址和MAC地址将归还给发件人。
---------------------------------
2)ARP帧的格式
美国退休人员申请和答复框架的结构相同,美国退休人员申请框架在塔内目标地址(FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF

硬件类型:ARP协议是按什么网络执行的,使用Tainet的硬件类型为1。
协议类型:使用ARP或RARP时,IPV4值为0x0800。
Ethernet 6 硬件地址长度:物理地址长度
《议定书》的地址期限:IPV4《议定书》的地址期限为4。
操作代码:指定提交类型;1 表示美国退休人员协会的请求;2 表示美国退休人员协会的答复;3 表示俄罗斯退休人员协会的请求;4 表示美国退休人员协会的答复。
发件人MAC地址:发件人MAC地址
发件人的 IP 地址:发件人的 IP 地址
MAC目标地址:当ARP是请求框架时,MAC目标地址没有人口。
目标IP地址是:目标IP地址。
由于Tainet数据框架至少有46个字节,而且ARP框架仅包含28个字节,因此将在ARP框架结束时提供18个字节的PAD数据。
--------------------------------------------------------------------------------------------------------------------
6、参考资料
TCP、IPIP、ARP和ICCMP初步分析_a827415225博客-CSDN博客_icmp第一分析
--------------------------------------------------------------------------------------------------------------------
本文由 在线网速测试 整理编辑,转载请注明出处。