以太网数据包协议头结构详解

以太网首部
  目地mac地址(8字节)
源mac地址(8字节)
类型(2字节)
1、ip头的结构 (1)字节和数字的存储顺序是从右到左,依次是从低位到高位,而网络存储顺序是从左到右,依次从低位到高位。
(2)版本:占第一个字节的高四位。头长度:占第一个字节的低四位。
(3)服务类型:前3位为优先字段权,现在已经被忽略。接着4位用来表示最小延迟、最大吞吐量、最高可靠性和最小费用。
(4)封包总长度:整个ip报的长度,单位为字节。
(5)存活时间:就是封包的生存时间。通常用通过的路由器的个数来衡量,比如初始值设置为32,则每通过一个路由器处理就会被减一,当这个值为0的时候就会丢掉这个包,并用icmp消息通知源主机。
(6)协议:定义了数据的协议,分别为:tcp、udp、icmp和igmp。定义为:
#define protocol_tcp  0x06#define protocol_udp  0x11#define protocol_icmp  0x06#define protocol_igmp  0x06 (7)检验和:校验的首先将该字段设置为0,然后将ip头的每16位进行二进制取反求和,将结果保存在校验和字段。
(8)来源ip地址:将ip地址看作是32位数值则需要将网络字节顺序转化位主机字节顺序。转化的方法是:将每4个字节首尾互换,将2、3字节互换。
(9)目的ip地址:转换方法和来源ip地址一样。
在网络协议中,ip是面向非连接的,所谓的非连接就是传递数据的时候,不检测网络是否连通。所以是不可靠的数据报协议,ip协议主要负责在主机之间寻址和选择数据包路由。
2、icmp协议的头结构 (1)类型:一个8位类型字段,表示icmp数据包类型。
(2)代码:一个8位代码域,表示指定类型中的一个功能。如果一个类型中只有一种功能,代码域置为0。
(3)检验和:数据包中icmp部分上的一个16位检验和。
3、tcp协议的头结构 (1)tcp源端口(source port):16位的源端口包含初始化通信的端口号。源端口和ip地址的作用是标识报文的返回地址。(2)tcp目的端口(destination port):16位的目的端口域定义传输的目的。这个端口指明报文接收计算机上的应用程序地址接口。
(3)序列号(sequence number):tcp连线发送方向接收方的封包顺序号。
(4)确认序号(acknowledge number):接收方回发的应答顺序号。
(5)头长度(header length):表示tcp头的双四字节数,如果转化为字节个数需要乘以4。
(6)urg:是否使用紧急指针,0为不使用,1为使用。
(7)ack:请求/应答状态。0为请求,1为应答。
(8)psh:以最快的速度传输数据。
(9)rst:连线复位,首先断开连接,然后重建。
(10)syn:同步连线序号,用来建立连线。
(11)fin:结束连线。如果fin为0是结束连线请求,fin为1表示结束连线。
(12)窗口大小(window):目的机使用16位的域告诉源主机,它想收到的每个tcp数据段大小。
(13)校验和(check sum):这个校验和和ip的校验和有所不同,不仅对头数据进行校验还对封包内容校验。
(14)紧急指针(urgent pointer):当urg为1的时候才有效。tcp的紧急方式是发送紧急数据的一种方式。
4、udp协议的头结构 (1)源端口(source port):16位的源端口域包含初始化通信的端口号。源端口和ip地址的作用是标识报文的返回地址。
(2)目的端口(destination port):6位的目的端口域定义传输的目的。这个端口指明报文接收计算机上的应用程序地址接口。
(3)封包长度(length):udp头和数据的总长度。
(4)校验和(check sum):和tcp和校验和一样,不仅对头数据进行校验,还对包的内容进行校验。
5、arp报头结构 (1)硬件类型字段指明了发送方想知道的硬件接口类型,以太网的值为1;
(2)协议类型字段指明了发送方提供的高层协议类型,ip为0800(16进制);
(3)硬件地址长度和协议长度指明了硬件地址和高层协议地址的长度,这样arp报文就可以在任意硬件和任意协议的网络中使用;
(4)操作字段用来表示这个报文的类型,arp请求为1,arp响应为2,rarp请求为3,rarp响应为4;
(5)发送方的硬件地址(0-3字节):源主机硬件地址的前3个字节;
(6)发送方的硬件地址(4-5字节):源主机硬件地址的后3个字节;
(7)发送方ip(0-1字节):源主机硬件地址的前2个字节;
(8)发送方ip(2-3字节):源主机硬件地址的后2个字节;
(9)目的硬件地址(0-1字节):目的主机硬件地址的前2个字节;
(10)目的硬件地址(2-5字节):目的主机硬件地址的后4个字节;
(11)目的ip(0-3字节):目的主机的ip地址。
arp的工作原理如下: 首先,每台主机都会在自己的arp缓冲区(arp cache)中建立一个 arp列表,以表示ip地址和mac地址的对应关系。
当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 arp列表中是否存在该 ip地址对应的mac地址,如果有﹐就直接将数据包发送到这个mac地址;如果没有,就向本地网段发起一个arp请求的广播包,查询此目的主机对应的mac地址。此arp请求数据包里包括源主机的ip地址、硬件地址、以及目的主机的ip地址。
网络中所有的主机收到这个arp请求后,会检查数据包中的目的ip是否和自己的ip地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的mac地址和ip地址添加到自己的arp列表中,如果arp表中已经存在该ip的信息,则将其覆盖,然后给源主机发送一个 arp响应数据包,告诉对方自己是它需要查找的mac地址;
源主机收到这个arp响应数据包后,将得到的目的主机的ip地址和mac地址添加到自己的arp列表中,并利用此信息开始数据的传输。如果源主机一直没有收到arp响应数据包,表示arp查询失败


中国传感器工艺技术的发展历程
重庆电信发布“智能随选”产品,以四大优势为企业解困
回顾人工智能开发者大会上声智科技远场语音交互技术实力获认可
AVL公司展示高性能氢燃料发动机
华为p40pro怎么升级鸿蒙系统 教程如下
以太网数据包协议头结构详解
基于模块化设计方法实现FPGA动态部分重构
东芝拆分半导体业务招标启动 出售股份不足两成
蓝牙网关EW-DTU01如何接入阿里云MQTT?
可编程控制器的基本应用详细讲解
动物疫病诊断仪使用注意事项
三星Galaxy Z系列产品国行版发布
信号发生器基础知识科普
人工智能存在诸多隐患
仅剩2天,错过后悔! 618活动钜惠荣耀FlyPods 3到手价599元
未来UPS技术趋势:无变压器技术解析
基于MOSFET控制的PWM型直流可调电源的设计与实现
CPU整体框架是由哪几部分组成的
三星欲推出新款 Galaxy Buds+ 无线耳机 基本外形设计与初代 Galaxy Buds 保持一致
无人机倾斜摄影技术的原理及优势