以太网数据链路层

    在数据链路层,数据接收和发送的单元是以帧为单位的。链路层主要有3个目的:(1)为IP层服务,接收和发送IP数据报;(2)为ARP模块发送ARP请求和ARP应答;(3)为RARP模块发送RARP请求和RARP应答。下面以以太网为例,进行说明。

    1. 以太网MAC帧的封装格式:

前导码:包括同步码(用来使局域网中的所有节点同步,7字节长)和侦标志(帧的起始标志7,1字节)两部分;

目的地址:接收端的MAC地址,6字节长;

源地址:发送端的MAC地址,6字节长;

类型:数据包的类型(即上层协议的类型),2字节长;

数据:被封装的数据包,46-1500字节长;

校验码:错误检验,4字节长。

             

2. 一个ARP请求的例子:

         

    上图是用Wireshark捕获的一个ARP请求包,开头的ff ff ff ff ff ff是一个MAC帧的目的地址,这是一个广播地址,表示这一帧会被局域网中的所有站点接收,00 23 cd 55 ef e4是帧的源地址,是发送这个帧的网卡接口的标识,08 06表示帧的类型,这里的值是08 06表示一个ARP请求/应答,另外若是0800表示IP数据报,0835表示RIRP请求/应答。

    接下来是它的数据部分,00 23 cd 55 ef e4是源地址,c0 a8 01 01(192.168.1.1)发送者的ip,00 00 00 00 00 00 00是希望获取的mac地址,这里还不知道,所以全是0,c0 a8 01 65(192.168.1.101)。

    这里的意思是,192.168.1.1(00 23 cd 55 ef e4)在局域网广播说,192.168.1.101的mac地址是什么啊?当192.168.1.101收到这个ARP请求后,就会把192.168.1.1(00 23 cd 55 ef e4)这条信息存到自己的arp缓存中,同时向它发送一个ARP应答,告诉它自己的ARP。

猜你喜欢

转载自momoxiaoxiong.iteye.com/blog/1135878
今日推荐