数据链路层(MAC 地址)
目录
一、前言:
二、以太网:
三、MAC 地址的作用:
四、ARP协议:
一、前言:
数据链路层主要负责相邻两个节点之间的数据传输,其中,最常见数据链路层的协议有 以太网(通过光纤 / 网线 进行传输) 和 WIFI (无线局域网)。简单了解即可。
二、以太网:
以太⽹的帧格式:
1、源 / 目的地址:
是指网卡的硬件地址(也叫 MAC 地址 / 物理地址),长度是 6 个字节,是在网卡出厂时固定的。
2、类型:
表示载荷数据的协议类型。(比如 IP )
3、帧尾(CRC):
表示校验和。
三、MAC 地址的作用:
IP 地址描述的是路途的起点和终点(负责规划路线);而 MAC 地址描述的是路途的每个区间的起点和终点(路线的两个相邻节点之间)。
比如:
从 A - B - C - D -E ,这个路程, IP 关心的是 从 A 到 E ; 而 MAC 关心的是从A 到 B ,B 到 C......。
输入命令 ipconfig /all 可以看到当前自己主机 MAC 地址:
可以看到, MAC 地址的表示方式,通常是十六进制的。两个十六进制的数字,相当于一个字节。两两一组(比如 CC ),组和组之间使用 - 来分割开来。
四、ARP协议:
ARP 协议是在 数据链路层 和 网络层 之间的协议,ARP 不携带业务数据,而是为了实现网络转发(给数据链路层的转发)提供必要的支持。因为网络转发的时候,发送方给接收方发送一个数据时,发送方不仅要知道接收方的 IP 地址,也需要知道接收方的 MAC 地址。尤其是发送方和接收方相邻的时候。
在网络通信的时候,发送方的应用程序知道接收方主机的 IP 和 端口号,却不知道接收方的主机的 MAC 地址。因为数据包首先是被网卡接收到再去处理上层的协议的,如果接收到的数据包的 MAC 地址与本机不符合,则直接丢弃。因此在通信前必须获取接收方的主机 MAC 地址。
之前我们说到,IP 协议中,路由器存在一个路由表,保存了发送方的 IP 地址与端口和路由器公网 IP 的映射关系。
而在数据链路层中,交换机存在一个转发表。记录 MAC 地址与交换机的网口(网口可以类似理解为多个主机连接的路由器不同的 LAN 口,这里改成了交换机的 LAN 口)映射关系。ARP 就是为了协助构造出这个转发表。ARP 就能根据 IP 地址,获取对应设备的 MAC地址。