以太网数据帧格式详解,以太网帧数据部分-pg电子娱乐网址

大家好!今天让小编来大家介绍下关于以太网数据帧格式详解,以太网帧数据部分的问题,以下是酷知号的小编对此问题的归纳整理,让我们一起来看看吧。

以太网数据帧详细解析 详细解析以太网通信数据帧 测试环境 机器名macipporttcp_server00:0c:29:8b:37:da10.1.2.79502tcp_client00:50:56:c0:00:0810.1.2.112345抓包 客户端向服务端发送 ‘hello world’ # 原始数据帧00 0c 29 8b 37 da 00 50 56 c0 00 08 08 00 # ethernet_ii格式数据帧首部45 00 00 33 28 5b 40 00 80 06 ba 80 0a 01 02 01 0a 01 02 07 # ip头30 39 25 1e 84 a4 e6 82 cf f2 ea 28 50 18 10 0a 7b 45 00 00 # tcp协议头68 65 6c 6c 6f 20 77 6f 72 6c 64 # data 以太网数据帧构成

ethernet_ii格式数据帧首部 链路层 总长度 14b 字段名称长度byte)含义d.mac6接收方mac地址,网络包接收方的mac地址,在局域网中使用这一地址来传输网络包s.mac6网络包发送方的mac地址,接收方通过它来判断是谁发送了这个包type2使用的协议类型。
tcp通信中 ip协议与arp协议较常见
0000-05dc:ieee 802.3
0800 :ip协议
0806 :arp协议
86dd :ipv6实例 # ethernet_ii格式数据帧首部 14 bytes00 0c 29 8b 37 da # 目标mac地址 00:0c:29:8b:37:da00 50 56 c0 00 08 # 源mac地址 00:50:56:c0:00:0808 00 # ip协议 ip协议数据包首部 网络层 总长度 20b 字段名称长度bit)含义版本号version)4协议的版本一般的值为
0100(ipv4),
0110(ipv6)头部长度(ihl)4header length,描述ip包头的长度,
因为在ip包头中有变长的可选部分。长度 = 值 * 4,
4bit最大 ‘1111’ = 15, ip头长度为20 – 6015 * 4) 字节服务类型(tos)8type of service,服务类型8位 按位被如下定义 ppp dtrc0
ppp:定义包的优先级,取值越大越重要
000 普通 routine)
001 优先的 priority)
010 立即的发送 immediate)
011 闪电式的 flash)
100 比闪电还闪电式的 flash override)
101 cri/tic/ecp找不到这个词的翻译)
110 网间控制 internetwork control)
111 网络控制 network control)

d 时延: 0:普通 1:延迟尽量小
t 吞吐量: 0:普通 1:流量尽量大
r 可靠性: 0:普通 1:可靠性尽量大
m 传输成本: 0:普通 1:成本尽量小
0 最后一位被保留,恒定为0总长度16total length ip包总长度 以字节为单位计算的ip包的长度
包括头部和数据),所以ip包最大长度65535字节id号16该字段和flag和fragment offest字段联合使用,对较大的
上层数据包进行分段(fragment)操作。路由器将一个包拆
分后,所有拆分开的小包被标记相同的值,以便目的端设备
能够区分哪个包属于被拆分开的包的一部分。标志(flags)3长度3比特。该字段第一位不使用。第二位是df
(don’t fragment)位,df位设为1时表明路由器不能对该
上层数据包分段。如果一个上层数据包无法在不分段的情况
下进行转发,则路由器会丢弃该上层数据包并返回一个错误
信息。第三位是mf(more fragments)位,当路由器对一
个上层数据包分段,则路由器会在除了最后一个分段的ip包
的包头中将mf位设为1。分片偏移量13fragment offest 表示该ip包在该组分片包中位置,接收端
靠此来组装还原ip包。生存时间(ttl)8当ip包进行传送时,先会对该字段赋予某个特定的值。当ip
包经过每一个沿途的路由器的时候,每个沿途的路由器会将
ip包的ttl值减少1。如果ttl减少为0,则该ip包会被丢弃。
这个字段可以防止由于路由环路而导致ip包在网络中不停被转发。协议号8标识了上层所使用的协议。以下是比较常用的协议号:
1 icmp
2 igmp
6 tcp
17 udp
88 igrp
89 ospf头部校验和16header checksum
用来做ip头部的正确性检测,但不包含数据部分。 因为每个
路由器要改变ttl的值,所以路由器会为每个通过的数据包重
新计算这个值。发送方ip地址32source addresses 发送方ip地址。除非使用nat,否则
整个传输的过程中,这两个地址不会改变接收方ip地址32destination addresses 接收方ip地址。除非使用nat,否则
整个传输的过程中,这两个地址不会改变可选字段一般测试使用实例 # ip协议头20字节4 # 协议版本 ipv45 # ip协议头长度 5 * 4 = 20字节00 # 服务类型 000-0-0-0-0-0 00 33 # ip包总长度 hex => dec 51字节28 5b # id号 40 00 # 标志与分片偏移量 0100 0000 0000 0000 df位为1 不允许分包 偏移量为080 # 生存时间 dec 12806 # 协议号 tcp协议ba 80 # 头部校验和0a 01 02 01 # 发送方ip 10.1.2.10a 01 02 07 # 接收方ip 10.1.2.7# ip协议头 头部校验和计算方法# 1. 头部校验和置0;# 2. 对ip头部中的每16bit进行二进制求和;# 3. 如果和的高16bit不为0,则将和的高16bit和低16bit反复相加,直到和的高16bit为0,从而获得一个16bit的 值;# 4. 将该16bit的值取反,存入校验和字段。 tcp协议头 传输层 图示

总长度 20b 字段名长度bit)含义源端口号16发送网络包的程序的端口号目的端口号16网络包的接收方程序的端口号序列号 seq32发送的时候,tcp 协议为每个包编号(sequence number,
简称 seq),以便接收的一方按照顺序还原。万一发生丢包
,也可以知道丢失的是哪一个包。
当前序列号 数据长度 = 下一个包的序列号确认序列号 ack32期待要收到下一个数据包的编号,ack与seq搭配确保数据的
完整性,确认号只有ack位为1时才有效。首部长度数据偏移量)4表示数据部分的起始位置,也可以认为表示头部的长度保留6保留,未使用控制位6该字段中的每个比特分别表示以下通信控制含义。
urg:表示紧急指针字段有效

ack:接收数据序号字段有效,一般表示数据已被接收方接收
该位只有在连接未建立时为0,连接建立后始终为1

psh:表示通过flush操作发送的数据,指示接收方在接收到
该报文段以后,应尽快将这个报文段交给应用程序,而不是
在缓冲区排队。

rst:强制断开连接,用于异常中断的情况

syn:同步序号,用于建立连接过程,在连接请求中发送syn=1
和ack=0 , 应答 syn=1和ack=1

fin:用于释放连接,为1时表示发送方已经没有数据发送了,
即关闭本方数据流。窗口16接收方告知发送方窗口大小(即无需等待确认可一起发送的数据量)校验和16用来检查是否出现错误紧急指针16只有当 urg 标志置 1 时紧急指针才有效。紧急指针是一个
正的偏移量,和顺序号字段中的值相加表示紧急数据最后一
个字节的序号。 tcp 的紧急方式是发送端向另一端发送紧急
数据的一种方式。选项和填充不定最常见的可选字段是最长报文大小,又称为mss
(maximum segment size),每个连接方通常都在通
信的第一个报文段(为建立连接而设置syn标志为1的那
个段)中指明这个选项,它表示本端所能接受的最大报
文段的长度。选项长度不一定是32位的整数倍,所以要
加填充位,即在这个字段中加入额外的零,以保证tcp
头是32的整数倍。数据可选实例 # tcp协议头 20字节30 39 # 源端口 1234525 1e # 目的端口 9502 84 a4 e6 82 # 序列号 cf f2 ea 28 # 确认序列号5 # 首部长度 5 * 32 / 8 = 20 bytes0 1 8 # 000000 保留 011000 ack=1 psh=110 0a # 窗口大小 41067b 45 # 校验和00 00 # urg=0 无效# 传输的数据68 65 6c 6c 6f 20 77 6f 72 6c 64 # ascii码h e l l o w o r l d 附录

每一个数据包都带有下一个数据包的编号。如果下一个数据包没有收到,那么 ack 的编号就不会发生变化。举例来说,现在收到了4号包,但是没有收到5号包。ack 就会记录,期待收到5号包。过了一段时间,5号包收到了,那么下一轮 ack 会更新编号。如果5号包还是没收到,但是收到了6号包或7号包,那么 ack 里面的编号不会变化,总是显示5号包。这会导致大量重复内容的 ack。如果发送方发现收到三个连续的重复 ack,或者超时了还没有收到任何 ack,就会确认丢包,即5号包遗失了,从而再次发送这个包。通过这种机制,tcp 保证了不会有数据包丢失。

udp协议

以上就是小编对于以太网数据帧格式详解,以太网帧数据部分问题和相关问题的解答了,以太网数据帧格式详解,以太网帧数据部分的问题希望对你有用!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文链接:https://www.andon8.com/467725.html

网站地图