1.MAC地址的基本概念
我们的MAC地址也叫物理地址,硬件地址,被固化在ROM中,MAC地址实际上就是网卡地址或网卡标识符.
当某个计算机使用某块网卡的时候,网卡上的标识符就是该计算机的MAC地址
MAC地址一共是六字节
前三位 由IEEE的注册管理机构分配(OUI 唯一标志符) 后三个字节由厂商自行分配(扩展标识符)
2.初识ARP
ARP(地址解析协议),就是通过解析IP地址得到数据链路层地址的,
在TCP/IP分层结构中,我们是把ARP划分成为网络层,
在网络层中,源主机与目标主机都是通过IP地址进行识别的,而所有的数据传输又依赖网卡底层硬件,也就是链路层,在所有的链路层中,比如我们的以太网是使用MAC地址进行寻址,标识不同的主机
ARP协议就是把IP地址转换成MAC地址,ARP协议就在网络层被应用,成为网络层和链路层连接的重要纽扣
3.以太网帧结构
(1)前同步码,该值都是10101010---0x55 大端模式,实现物理层帧输入输出的同步
(2)帧开始符 其值是101011(0xD5) 大端模式 表示以太网帧的开始
后面5个才是真正的以太网数据
(3)目标MAC地址(6字节),这个字段包含目标网卡的MAC地址.
(4)源MAC地址(6字节) 这个字段包含了传输该帧到局域网上的适配器的MAC地址
(5)类型字节(2字节)
类型字段允许以太网复用多种网络协议
我们一台主机事实上可以支持多种网络层协议,以对不同应用采用不同的协议.因此,当以太网帧到达网卡中,网卡需要知道它应该将数据字段的内容传递给哪个网络层协议,如IP协议,ARP协议等
注意:当这个字段的值小于1518时,他表示后面数据字段的数据长度,当大于1518时候才表示递交给哪个协议.
(6)数据字段(46~1500字节):
这个字段承载了IP数据包,以太网的最大传输单元(MTU)是1500字节,所以当IP数据包超过了1500字节,我们就要将他分片处理,
最小是46字节 这意味IP数据报小于46字节,数据包必须被填充到46字节.当采用填充时,传递到网络层的数据包括IP数据包和填充部分,这个时候网络层会使用IP数据包首部中的长度字段去除填充部分.
(7)CRC (4字节):CRC字段包括了以太网的差错校验信息.
了解一下
4.IP地址映射为物理地址
网络层发送数据只需要知道目标主机IP地址
链路层 以太网发送数据 需要知道对方硬件MAC地址
所以我们得要将IP地址映射成对应得MAC物理地址
32位IP地址 <--> 48位MAC地址
这时候就是ARP协议 中得ARP缓存表里来保存这些数据了,并且动态更新