MAC地址、IP地址以及ARP协议
MAC地址是以太网的MAC子层所使用的的地址,属于数据链路层
IP地址是TCP/IP体系结构网际层所使用的的地址
ARP协议属于TCP/IP体系结构的网际层,其作用是已知设备所分配到的IP地址,使用ARP协议可以通过该IP地址获取设备的MAC地址
1.1、MAC地址
- 使用点对点信道的数据链路层不需要使用地址
- 使用广播信道的数据链路层必须使用地址来区分各主机
- 当多个主机连接在同一个广播信道上,要想实现两个主机之间的通信,则每个主机都必须有一个唯一的标识, 即一个数据链路层地址;
- 在每个主机发送的 帧中必须携带标识发送主机和接收主机的地址。由于这类地址是用于媒体接入控制 MAC(Media Access Control),因此这类地址被称为 MAC地址
- MAC 地址一般被固化在网卡(网络适配器)的电可擦可编程只读存储器EEPROM中,因此MAC地址也被称为硬件地址
- MAC地址有时也被称为物理地址,注意:这并不意味着MAC地址属于网络体系结构中的物理层!
- 一般情况下,用户主机会包含两个网络适配器:有线局域网适配器(有线网卡)和无线局域网适配器(无线 网卡)。每个网络适配器都有一个全球唯一的 MAC 地址。 而交换机和路由器往往拥有更多的网络接口,所以 会拥有更多的MAC地址。综上所述,严格来说,MAC地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识。
1.2、IEEE 802局域网的MAC地址格式 IEEE 802 局域网 MAC 地址格式:(共 6 字节,48位) 前 3 位字节(OUI) + 后 3 位(扩展标识符) 第 1 位字节的低位为 1、3、5、7、9、B、D,则为多播地址,48 位全为 1 时,则为广播地址。 1.3、 IEEE 802 局域网 MAC 地址发送顺序 1.4 单播/多播/广播地址举例 (1)单播地址 主机B将本主机地址填入单播帧源地址,主机C地址填入目的地址,形成该单播帧。 (2)广播地址 主机B将本机地址填入源地址,将 FF-FF-FF-FF-FF-FF 广播地址填入目的地址,构成广播帧(接收主机接收帧,并交给上层处理)。 (3)多播地址 主机A发送含有多播地址的多播帧,其他主机根据自己的多播组列表,判断是否接收帧。 多播地址判断若第二位十六进制数不能整除2(1,3,5,7,9,B,D,F)即为多播地址 随机MAC地址(为了安全)
2.1 IP地址
- IP地址是因特网(Internet)上的主机和路由器所使用的地址, 用于标识两部分信息:
- 网络编号:标识因特网上数以百万计的网络
- 主机编号:标识同一网络上不同主机(或路由器各接口)
- 很显然, 之前介绍的MAC地址不具备区分不同网络的功能
- 如果只是一个单独的网络,不接入因特网,可以只使用MAC地址(这不是一般用户的应用方式)
- 如果主机所在的网络要接入因特网,则IP地址和MAC地址都需要使用。
2.2 从网络体系结构看IP地址与MAC地址 IP 地址属于网络层,MAC 地址属于数据链路层。 2.3 数据包转发过程中IP地址与MAC地址的变化情况
- 数据包转发过程中源IP地址和目的IP地址保持不变
- 数据包转发过程中源MAC地址和目的MAC地址逐个链路(或逐个网络)改变。
暂且这么认为:H1知道应该把数据包传给R1,由R1帮其把数据包转发出去。H1知道R1相应接口的IP地址为IP3,但不知道其对应的MAC地址是什么!
3.1地址解析协议 ARP 协议:由 IP 地址获取 MAC 地址的一种协议。 主机的ARP高速缓存表存放的是IP地址和MAC地址的对应关系 3.2 ARP:地址解析协议原理
- B 发送带有广播 MAC 地址广播帧,以获取指定 IP 地址的固化 MAC 地址。
- 主机B在高速缓存表中查找主机C的IP地址所对应的MAC地址,未找到,主机B需要发送ARP请求报文来获取主机C的MAC地址。
ARP请求报文被封装在MAC帧中发送,目的地址为广播地址,主机B发送封装有ARP请求报文的广播帧,主机A收到帧送交上层ARP进程解析ARP请求报文,判断IP地址是不是自己的IP地址;主机C判断是,则需要相应: 1、将B的IP地址一MAC地址记录到自己的ARP高速缓存表中; 2、给B发送ARP相应,一告知自己的MAC地址 ARP相应报文(单播 ),B接收C的相应报文将主机C的IP和MAN地址写入自己的ARP高速缓存表中,然后主机B就可以向主机C发送数据了。
3.3高速缓存表分类 动态:自动获取,生命周期默认为两分钟; 静态:手工设置,不同操作系统下的生命周期不同,例如系统重启后不存在或系统重启后依然有效。 ARP 协议只在同一段链路间使用。 总结:
|