image.png
image.png
image.png
image.png

MAC地址

MAC地址、IP地址以及ARP协议 - 图5

广播信道的数据链路层必须使用地址(MAC)

MAC地址、IP地址以及ARP协议 - 图6
MAC地址、IP地址以及ARP协议 - 图7
对于使用EUI-48空间的应用程序,IEEE的目标寿命为100年(直到2080年),但是鼓励采用EUI-64作为替代
image.png

IEEE 802局域网的MAC地址发送顺序

MAC地址、IP地址以及ARP协议 - 图9

单播MAC地址举例

MAC地址、IP地址以及ARP协议 - 图10
主机B将该单播帧发送出去,主机A和C都会收到该单播帧
主机A的网卡发现该单播帧的目的MAC地址与自己的MAC地址不匹配,丢弃该帧
主机C的网卡发现该单播帧的目的MAC地址与自己的MAC地址匹配,接受该帧
并将该帧交给其上层处理

广播MAC地址举例

MAC地址、IP地址以及ARP协议 - 图11
假设主机B要发送一个广播帧,主机B首先要构建该广播帧,在帧首部中的目的地址字段填入广播地址,也就是十六进制的全F,源地址字段填入自己的MAC地址,再加上帧首部中的其他字段、数据载荷以及帧尾部,就构成了该广播帧

多播MAC地址举例

MAC地址、IP地址以及ARP协议 - 图12

  • 假设主机A要发送多播帧给该多播地址。将该多播地址的左起第一个字节写成8个比特,第一个字节的最低比特位是1,这就表明该地址是多播地址。
  • 快速判断地址是不是多播地址,就是上图所示箭头所指的第十六进制数不能整除2(1,3,5,7,9,B,D,F),则该地址是多播地址
  • 假设主机B,C和D支持多播,各用户给自己的主机配置多播组列表如下所示

MAC地址、IP地址以及ARP协议 - 图13

  • 主机A首先要构建该多播帧,在帧首部中的目的地址字段填入该多播地址,源地址点填入自己的MAC地址,再加上帧首部中的其他字段、数据载荷以及帧尾部,就构成了该多播帧

MAC地址、IP地址以及ARP协议 - 图14

  • 主机A将该多播帧发送出去,主机B、C、D都会收到该多播帧
  • 主机B和C发现该多播帧的目的MAC地址在自己的多播组列表中,主机B和C都会接受该帧
  • 主机D发现该多播帧的目的MAC地址不在自己得多播组列表中,则丢弃该多播帧

给主机配置多播组列表进行私有应用时,不得使用公有的标准多播地址

IP地址

IP地址属于网络层的范畴,不属于数据链路层的范畴

基本概念

MAC地址、IP地址以及ARP协议 - 图15

从网络体系结构看IP地址与MAC地址

MAC地址、IP地址以及ARP协议 - 图16

数据包转发过程中IP地址与MAC地址的变化情况

图上各主机和路由器各接口的IP地址和MAC地址用简单的标识符来表示
MAC地址、IP地址以及ARP协议 - 图17

数据包转发过程中IP地址与MAC地址的变化情况

图上各主机和路由器各接口的IP地址和MAC地址用简单的标识符来表示
MAC地址、IP地址以及ARP协议 - 图18
MAC地址、IP地址以及ARP协议 - 图19
image.png
image.png

ARP协议

如何从IP地址找出其对应的MAC地址? ARP(地址解析协议)
MAC地址、IP地址以及ARP协议 - 图22
ARP高速缓存表
MAC地址、IP地址以及ARP协议 - 图23

  • 当主机B要给主机C发送数据包时,会首先在自己的ARP高速缓存表中查找主机C的IP地址所对应的MAC地址,但未找到,因此,主机B需要发送ARP请求报文,主动获取主机C的MAC地址

MAC地址、IP地址以及ARP协议 - 图24

  • ARP请求报文有具体的格式,上图的只是简单描述
  • ARP请求报文被封装在MAC帧中发送,目的地址为广播地址
  • 主机B发送封装有ARP请求报文的广播帧,总线上的其他主机都能收到该广播帧

MAC地址、IP地址以及ARP协议 - 图25

  • 收到ARP请求报文的主机A和主机C会把ARP请求报文交给上层的ARP进程
  • 主机A发现所询问的IP地址不是自己的IP地址,直接丢弃
  • 主机C的发现所询问的IP地址是自己的IP地址,需要进行响应

MAC地址、IP地址以及ARP协议 - 图26
MAC地址、IP地址以及ARP协议 - 图27
MAC地址、IP地址以及ARP协议 - 图28
动态与静态的区别
MAC地址、IP地址以及ARP协议 - 图29
ARP协议只能在一段链路或一个网络上使用,而不能跨网络使用
MAC地址、IP地址以及ARP协议 - 图30

ARP协议的使用是逐段链路进行的