精华内容
下载资源
问答
  • 以太网数据帧格式

    2019-09-30 14:12:33
    以太网帧格式 目的MAC地址(6字节) ... 三种类型以太网数据帧 1.IP数据报 目的MAC地址(6B) 源MAC地址(6B) 类型0x0800 IP数据报 CRC 2.ARP请求应答 目的MAC地址(6B) ...

    以太网帧格式

    目的MAC地址(6字节)

    源MAC地址(6字节)

    类型(2字节)

    数据(46--1500字节)CRC

    三种类型的以太网数据帧

    1.IP数据报

    目的MAC地址(6B)

    源MAC地址(6B)类型0x0800IP数据报CRC

    2.ARP请求应答

    目的MAC地址(6B)

    源MAC地址(6B)

    类型0x0806

    ARP请求应答(28B)CRC

    3.RARP请求应答

    目的MAC地址(6B)源MAC地址(6B)类型0x8035RARP请求应答CRC

    ICMP协议: 差错控制协议

    ARP协议 : 地址解析协议

     

     

    展开全文
  • 以太网数据帧格式及ARP协议

    千次阅读 2020-08-29 15:59:52
    在物理层上看,一个完整的以太网帧有7个字段,事实上,前两个字段并不能算是真正意义上的以太网数据帧,它们是以太网在物理层上发送以太网数据时添加上去的。为了实现底层数据的正确阐述,物理层使用7个字节前同步码...

    一、以太网中数据帧结构

    以太网是目前最流行的一种局域网组网技术(其他常见局域网组网技术还有令牌环局域网、无线局域网、ATM局域网),以太网技术的正式标准是IEEE 802.3标准,它规定了在以太网中传输的数据帧结构,如下图所示。

                  

    在物理层上看,一个完整的以太网帧有7个字段,事实上,前两个字段并不能算是真正意义上的以太网数据帧,它们是以太网在物理层上发送以太网数据时添加上去的。为了实现底层数据的正确阐述,物理层使用7个字节前同步码(0和1交替的56位(55-55-55-55-55-55-55))实现物理层帧输入/输出同步;使用1个字节的SFD(帧首定界符,固定为10101011)标识帧的开始。上图中剩下的5个字段是真正的以太网数据,其中包含了目的地址和源地址,它们都是6字节长度(通常每个网卡都有1个6个字节MAC地址,以在以太网中唯一地标识自己)。网卡接收数据时,通过将目的地址字段和自身的MAC地址做比较,判断是否接收该数据包。通常,将这里的6字节目的地址按照下面的格式来书写,如:00-01-02-03-04-05。这6个字节在以太网中是按照从左到右的顺序发送的,同时对每个字节来说,最先发送的是最低位bit0,最后是最高位bit7。

          在以太网帧中,目的地址可以分为三类:单播地址、多播地址和广播地址。单播地址通常与一个具体网卡的MAC地址相对应,它要求第一个字节的bit0(即最先发出去的位)必须是0;多播地址则要求第一个字节的bit0为1,这样,在网络中多播地址不会与任何网卡的MAC相同,多播数据可以被很多个网卡同时接收;广播地址的所有48位全为1(即FF-FF-FF-FF-FF-FF),同一局域网中的所有网卡可以接收广播数据包。

    上图中的长度/类型具有两个意义,当这两个字节的值小雨1518时,那么它就代表其后数据字段的长度;如果这两个字节的值大于1518,则表示该以太网帧中的数据属于哪个上层协议(例如0x800,代表IP数据包;0x806,代表ARP数据包等。)

    在使用网卡进行数据包的发送与接收时,网卡已为我们完成了物理层的所有工作,驱动程序要做的是,在发送数据时,将目的地址、源地址、类型/长度、数据和填充这些值写入网卡,网卡自动计算其CRC并添加在数据帧尾部,同时对数据帧进行物理层的封装,最后将数据帧发送出去;在接收数据时,网卡会自动检测并接收数据包,验证校验和并把上述四个字段的值放在内部SRAM中供控制器读取。

    TCP/IP协议有自己的地址:32bit的IP地址(网络地址),网络层发送数据包时只知道目的地址的IP地址,而底层接口(如以太网驱动程序)必须知道对方的硬件地址才能将数据发送出去。

    二、ARP协议

    ARP的功能是在32bit的IP地址和采用不同网络技术的硬件地址之间提供动态映射,为上层将底层的物理地址差异屏蔽起来,这样上层的因特网协议就可以灵活地使用IP地址进行通信了。ARP协议的基本功能是使用目标主机的IP地址,查询其对应的MAC地址,以保证底层链路上数据包通信的进行。为了实现在网络接口物理地址与IP地址间的转换,ARP协议中引入了ARP缓存表的概念。ARP缓存表中记录了一条一条的<IP地址,MAC地址>对,他们是主机最近运行获得的关于周围其他主机的IP地址到物理地址的绑定,当需要发送IP数据包时,ARP层根据目的IP地址来查找ARP缓存表,并将匹配的MAC地址装入以太网帧首部,最后发送以太网数据。

    ARP缓存表的建立与ARP数据包是密切相关的。在以太网中,ARP数据包和IP数据包是两个独立的部分,它们都封装在以太网帧中发送。ARP数据包的种类有两种:一是ARP请求包,它是通过以太网广播的方式发送的,用于向具有某个IP地址的主机发送请求,希望该主机返回其MAC地址;二是ARP应答包,收到ARP请求的主机会比对该数据包中的IP地址与自己的IP地址是否符合,若是,则该主机向源主机返回一个ARP应答包。向源主机报告自己的MAC地址。源主机通过提取ARP应答包中的相关字段来更新ARP缓存表。在Windows控制台上输入arp -a,可以查看操作系统中使用的ARP缓存表。

    举一个简单的例子来看看ARP的功能。假如我们的主机(192.168.1.11)需要向开发板(192.168.1.37)发送一个IP数据包,当发送数据时,主机会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址为(04-02-35-00-00-01),此时,主机直接把目标MAC地址写入以太网首部发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,此时比较不幸,我们的数据需要被延迟发送,随后主机会先在网络上发送一个广播(ARP请求,以太网目的地址为FF-FF-FF-FF-FF-FF),广播的ARP请求表示同一网段内所有主机将会收到这样一条信息:“192.168.1.37的MAC地址是什么?请回答”。网络IP地址为192.168.1.37(开发板)的主机接收到这个帧后,它有义务做出这样的回答(ARP应答):“192.168.1.37的MAC地址是(04-02-35-00-00-01)”。这样,主机就知道了开发板的MAC地址,先前被延时的数据包就可以被发送了,此外,主机将这个地址对保存在缓存表中,以便后续数据包发送时使用。

    ARP协议的核心就是对ARP缓存表的操作。发送数据包时,查找缓存表以得到目的MAC地址,此外,ARP还需要不断地处理ARP请求包和ARP应答包,以保证缓存表中各个表项的有效性。ARP的实质就是对缓存表的建立、更新、查询等操作。

    2.2 ARP报文

    要在源主机上建立关于目标主机的IP地址与MAC地址对应表项,则源主机和目的主机的基本信息交互式必须的,简单地说就是,源主机如何告诉目的主机:我需要你的MAC地址;而目的主机如何回复:这就是我的MAC地址。这时ARP报文(ARP数据包)就派上用场了。

    ARP请求和ARP应答都是被组装在一个ARP数据包中发送的,ARP包的组成结构如下图所示。需要注意的是:ARP包时被封装在以太网帧中发送的,所以在图中也列出了以太网帧头部。

          以太网帧头部中的前两个字段是以太网的MAC地址和源MAC地址,目的地址为全1的特殊地址是以太网广播地址。在ARP表项建立前,源主机只知道目的主机的IP地址,并不知道其MAC地址,所以在数据链路上,源主机只有通过广播的方式将ARP请求数据包发送出去,同一网段上的所有以太网接口都会接收到广播的数据包。

           两个字节长的以太网帧类型表示帧中数据的类型。对于ARP包来说,该字段值为0x0806;对IP包来说,该字段的值为0x0800。接下来就是ARP数据包部分了,第一个硬件类型字段表示发送方想要知道的硬件接口类型,对于以太网MAC地址,它的值为1.协议类型字段表示要映射的协议地址类型,它的值为0x0800时,即表示要映射为IP地址,该值与以太网数据帧头中的类型字段的值使用相同的一组值。

    接下来的两个单字节长度的字段,称为硬件地址长度和协议地址长度,它们分别指出硬件地址和协议地址的长度,长度单位为字节。对于以太网上ARP请求或应答来说,它们的值分别为6和4,代表MAC地址的长度和IP地址的长度。在ARP协议包中流出硬件地址长度和协议地址长度字段可以使得ARP协议在任何网络中被使用,而不仅仅只在以太网中。

          操作字段op指出ARP数据包的类型,它们可以使ARP请求(值为1)、ARP应答(值为2)。

          接下来的四个字段是发送端的以太网MAC地址、发送端的IP地址、目的端的以太网MAC地址和目的端的IP地址。

     

     

    展开全文
  • 关于pcap截取的网卡数据帧的分析;一个Demo说明网络协议封分层以及具体截获的包分析说明 一个实际的包数据分析 packet_header ------>包帧的头部---16字节 --------packet_content start--------- 52 54 00 12 35 ...
  • 以太网数据帧和ARP协议

    千次阅读 2019-07-02 13:12:14
    以太网数据帧 在以太网环境下,数据链路层的数据帧格式为: 在以太网环境下,需要得知目的主机的mac地址才可以进行数据帧的发送,但是在数据帧从上层向下封装时,并无法得知目的主机的mac地址,所以在数据链路层...

    原文链接:https://www.ahaoaha.top/2019/07/01/以太网数据帧和ARP协议/

    以太网数据帧

    在以太网环境下,数据链路层的数据帧格式为:

    Z8vMfU.png

    在以太网环境下,需要得知目的主机的mac地址才可以进行数据帧的发送,但是在数据帧从上层向下封装时,并无法得知目的主机的mac地址,所以在数据链路层进行数据帧格式的封装时,需要用到ARP协议

    • 前导码和帧开始符:以太网上的每一个数据帧都会7字节的前导码和1字节的帧开始符作为数据帧的开始,该部分是定值(10101010 10101010 10101010 10101010 10101010 10101010 10101010)
    • 帧间距:作为数据帧的结束标识

    ARP协议

    ARP协议的作用就是在发送方不知道目的主机的mac地址时,通过ARP协议可以获得目的主机的mac地址使得数据链路层完成数据帧的发送。

    ARP协议格式:

    Z8vUk6.png

    • 硬件类型:表明发送方硬件接口的类型,以太网为1
    • 协议类型:表明发送方提供的高层协议类型,IP协议为0x0800
    • 操作类型:用来表示当前报文的动作,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4

    当数据报经过IP协议封装之后,就要在数据链路层进行帧打包,从以太网数据帧的结构中可以看出要对数据进行帧打包必须得到数据帧下一站的主机的mac地址。

    所以在进行数据帧打包的上层以及IP协议封装的下层会使用ARP协议获得数据帧下一站主机的mac地址。

    1. 首先根据发送端主机的路由表确定下一站的IP地址
    2. 发送方主机会在本地ARP缓存中查找对应机器的mac地址,如果找到,则无需进行以下步骤
    3. 如果在发送方本地缓存中没有找到对应机器的mac地址,或者缓存过期时,发送方主机会进行ARP广播,将发送方主机的IP地址和mac地址都包含在ARP报文中对局域网中所有的主机进行广播(进行广播及就是将目的mac地址设置为FF FF FF FF)
    4. 局域网中的所以机器在收到ARP报文之后都会对报文中的目的IP地址与自身IP地址进行对比,如果不同则丢弃报文,相同时,目的机器会将发送方的IP和mac地址映射保存在自身机器的ARP缓存中,再将自身的mac地址通过ARP响应返回给发送方
    5. 发送方将目的机器的IP和mac地址映射保存进本机ARP缓存中,再对数据报文进行帧打包

    通过arp -a可以查看当前机器上所有的ARP缓存

    展开全文
  • 以太网数据帧相关

    千次阅读 2013-09-25 16:23:07
    以太网帧格式如下: 802.3 以太网帧结构 前导码 开始符 MAC 目标地址 MAC 源地址 802.1Q 标签 (可选) 以太类型或长度 负载 冗余校验 间距 10101010 7个octet ...

    以太网帧格式如下:

    802.3 以太网帧结构
    前导码 帧开始符 MAC 目标地址 MAC 源地址 802.1Q 标签 (可选) 以太类型或长度 负载 冗余校验 帧间距
    10101010 7个octet10101011 1个octet6 octets6 octets(4 octets)2 octets46–1500 octets4 octets12 octets
      64–1522 octets 
    72–1530 octets 
    84–1542 octets

    1、前导码和帧开始符:
    一个帧以7个字节的前导码和1个字节的帧开始符作为帧的开始。快速以太网之前,在线路上帧的这部分的位模式是10101010 10101010 10101010 10101010 10101010 10101010 10101010 10101011。由于在传输一个字节时最不重要的位最先传输(即低位最先传输),因此其相应的16进制表示为0x55 0x55 0x55 0x55 0x55 0x55 0x55 0xD5。
    10/100M 网卡(MII PHY)一次传输4位(一个半字)。因此前导符会成为7组0x5+0x5,而帧开始符成为0x5+0xD。1000M网卡(GMII)一次传输8位,而10Gbit/s(XGMII) PHY芯片一次传输32位。 注意当以octet描述时,先传输7个01010101然后传输11010101。由于8位数据的低4位先发送,所以先发送帧开始符的0101,之后发送1101。

    2、目的地址:6字节

    3、源地址:6字节

    4、类型/长度:2字节,0~1500保留为长度域值,1536~65535保留为类型域值(0x0600~0xFFFF)

    5、数据:46~1500字节

    6、帧校验序列(FCS):4字节,使用CRC计算从目的MAC到数据域这部分内容而得到的校验和。


        当数据帧到达网卡时,在物理层上网卡要先去掉前导同步码和帧开始定界符,然后对帧进行CRC检验,如果帧校验和错,就丢弃此帧。如果校验和正确,就判断帧的目的硬件地址是否符合自己的接收条件(目的地址是自己的物理硬件地址、广播地址、可接收的多播硬件地址等),如果符合,就将帧交"设备驱动程序"做进一步处理。这时我们的抓包软件才能抓到数据。


        以太网规定,以太网帧数据域部分最小为46字节,以太网帧最小是6+6+2+46+4=64。


    展开全文
  • 以太网数据帧最短帧长问题

    万次阅读 2019-09-06 20:41:13
    1.以太网帧的最短长度为64字节,或者中的数据不得少于46个字节,其中以太网帧头有18字节(以太网2的值为:MAC+2类型+4CRC,注意,如果是802.3的规范,它支持SNAP和802.3以太,其中的2个字节的类型字段就变为的长度),...
  • 以太网数据帧详细解析 逐字节分析

    千次阅读 2020-08-25 21:18:49
    以太网数据帧详细解析 详细解析以太网通信数据帧 测试环境 机器名 mac ip port tcp_server 00:0c:29:8b:37:da 10.1.2.7 9502 tcp_client 00:50:56:c0:00:08 10.1.2.1 12345 抓包 客户端向服务端发送 '...
  • 以太网数据帧内容详解

    千次阅读 2019-09-13 18:52:26
    在学习计算机网络的时候,好像更偏重于了解ip头部的格式,经常忽略了数据链路层下数据帧的格式,今天在书上看到一个不错的关于数据帧格式的介绍,翻译并分享给大家。 Preamble 前导码,序言:7byte或56bits的...
  • 以太网数据帧结构分析

    千次阅读 2014-07-23 09:15:16
    实验目的:分析IP报头数据段组件,了解数据帧结构 实验软件:Wireshark(OmniPeek下载中……朋友介绍说该软件抓包更强大) 实验线路:ADSL 随便抓的一个数据帧,结构如下 802.3 以太网帧结构 前导...
  • 以太网数据帧结构以及大小限制

    千次阅读 2018-04-09 21:47:58
    以太网数据帧结构 以太网是目前最流行的一种局域网组网技术(其他常见局域网组网技术还有令牌环局域网、无线局域网、ATM局域网),以太网技术的正式标准是IEEE 802.3标准,它规定了在以太网中传输的数据帧结构,如...
  • 以太网数据帧协议分析

    万次阅读 2015-10-17 17:58:53
    通过本次总结,更直观的学习了数据报和格式和入户正确快速利用搜索的其他主机的MAC地址和IP地址(121.42.123.186),将数据填入格式中。在实验中遇到不懂的问题及时细读实验要求和实验内容原理或者直接问同学,增强...
  • 下面列出了常见的以太网错误帧类型:1) CRC错误帧CRC错误较为常见。数据帧传输过程中,某些比特位可能会从0变为1或者从1变为0。这样,接收端根据报文内容计算的校验和,就和报文尾部携带的校验和不一致。这样的数据...
  • 以太网数据帧结构

    千次阅读 2013-03-28 23:37:24
    协议类型 0x0800 网际协议(IP) 0x0806 地址解析协议(ARP : Address Resolution Protocol) 0x 814C 简单网络管理协议(SNMP:Simple Network Management Protocol) 0x86DD 网际协议v6 (IPv6,Internet...
  • 以太网数据帧的格式分析

    千次阅读 2009-07-23 11:18:00
    一、 以太网数据帧的格式分析大家都知道我们目前的局域网大多数是以太网,但以太网有多种标准,其数据帧有多种格式,恐怕有许多人不是太清楚,本文的目的就是通过帧格式和Sniffer捕捉的数据包解码来区别它们。...
  • 为什么以太网数据帧最小为64字节

    千次阅读 2014-01-05 11:24:28
    如果把“以太网”比作是一栋“房子”,这栋房子可以算得上是人类构建的非常了不起的“建筑”了,以太网设计人员制定了一系列的... 首先我们先来看一下以太网数据帧的格式:      
  • 参考链接 14[单选题] 以太网中计算机间以帧为单位... 参考解析:以太网数据帧:前导码(7字节)、帧起始定界符(1字节)、目的MAC地址(6字节)、源MAC地址(6字节)、类型/长度(2字节)、数据(46~1500字节)、帧校验序列(...
  • 以太网数据帧(802.3)最大与最小长度2017年03月20日 19:40:01 Farmwang 阅读数:5370更多个人分类: TCP/IP以太网(IEEE 802.3)帧格式: 1、前导码:7字节0x55,一串1、0间隔,用于信号同步2、帧起始定界符:1字节0...
  • 目的地址 源地址 类型 数据 校验序列 前导码(7字节):使接收器建立比特同步 其实定界符SFD(1字节):指示一的开始 目的地址DA(6字节):指出要接收该的工作站 源地址SA(6字节):指示发送该的工作站...
  • 以太网(IEEE 802.3)格式: 1、前导码:7字节0x55,一串1、0间隔,用于信号同步 2、起始定界符:1字节0xD5(10101011),表示一开始 3、DA(目的MAC):6字节 4、SA(源MAC):6字节 5、类型/长度:2字节,0~...
  • 以太网帧类型字段

    2019-12-26 10:14:15
    1.0x800 IP数据报 2.0x806 ARP请求或应答报文 3.0x835 RARP请求或应答报文
  • 以太网帧类型总结

    万次阅读 2016-09-12 09:27:06
    以太网帧类型速查   EtherType :以太网类型字段及值 EtherType 是以太帧里的一个字段,用来指明应用于帧数据字段的协议。根据 IEEE802.3,Length/EtherType 字段是两个八字节的字段,含义两者取一,这取决...
  • 以太网链路传输的数据包称做以太帧,或者以太网数据帧。在以太网中,网络访问层的软件必须把数据转换成能够通过网络适配器硬件进行传输的格式。 以太帧的工作机制 当以太网软件从网络层接收到数据报之后,需要完成...
  • 以太网帧内容可以自己构造任意的帧类型和内容;也可以使用wireshark抓包,然后利用本软件来重放。 wireshark抓包后取数据方法:在wireshark的收到的帧上点右键,选择 复制 -> 为一个HEX流,然后粘贴到一个空文件内...
  • 以太网帧类型速查

    万次阅读 2012-12-18 09:59:33
    以太网帧类型速查   EtherType :以太网类型字段及值 EtherType 是以太帧里的一个字段,用来指明应用于帧数据字段的协议。根据 IEEE802.3,Length/EtherType 字段是两个八字节的字段,含义两者取一,这取决...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 35,900
精华内容 14,360
关键字:

以太网数据帧类型