MAC地址,IP地址,ARP协议
MAC地址
概述:
- MAC地址是以外网的MAC子层所使用的地址。属于数据链路层
解释:
-
当多个主机连接在同一个广播信道上,要想实现两个主机之间的通信,则每一个主机就必须有唯一的一个标识,既一个数据链路层地址
-
在每个主机发送的帧中必须携带标识发送主机和接收主机的地址,由于这类地址是用于媒体接入MAC,因此这类地址被称为MAC地址
- MAC地址一般被固化在网卡上,的电可擦可编程只读存储器EEPROM中,因此MAC地址也被称为硬件地址
- MAC地址有时也被称为物理地址。这并不意味着MAC地址属于网络体系结构中的物理层
-
一般情况下,用户主机会包括两个网络适配器:有线局域网适配器(有线网卡)和无线局域网适配器(无线网卡),每个适配器都有一个全球唯一的MAC地址,而交换机和路由器往往拥有更多的网络接口,所以会拥有更多的MAC地址。综上所述:严格来说,MAC地址是对网络上各个接口的唯一标识,而不是对网络上各设备的唯一标识
IEEE 802局域网的MAC地址格式
IP地址
- IP地址是TCP/IP体系结构网际层所使用的的地址
IP地址的作用
- IP地址是因特网上主机和路由器所用的地址,用于标识两部分信息
- 网络编号:标识因特网上属于百万计的网络
- 主机编号:标识同一网络上的不同主机(或路由器的各接口)
- 很显然,MAC地址不具备区分不同网络的功能
- 如果只是一个单独的网络,不接入因特网,可以只使用MAC地址(这不是一般用户的应用方式)
- 如果主机所在的网路要接入因特网,则IP地址和MAC地址都需要使用
从网络体系结构上看IP地址与MAC地址
数据包转发过程中IP地址与MAC地址的变换的情况
- 数据包转发过程中,源IP地址和目的IP地址保持不变
- 数据包转发过程中源MAC地址和目的MAC地址逐个链路(逐个网络)改变
这里就涉及到下面的ARP协议
例题:
ARP协议
- ARP协议属于TCP/IP体系结构的网际层,其作用是已知设备所分配到的IP地址,使用ARP协议可以通过该IP地址获取到设备的MAC地址
实现过程:
- 每台主机在其内部有一个ARP高速缓存表,当想给另一台主机发报文时,会首先查询是在自己的缓存表中有没有该主机的IP地址
- 如果有,直接使用
- 如果没有,就向网络中发送ARP广播报文(广播),发送给全网的所有主机,信息大概为我的想知道IP地址=“我的目的主机”,我想知道它的MAC地址。
- 各台主机收到该报文后,会将该广播报文交付上层处理,上层的ARP处理检查这个IP地址是不是自己的
- 如果不是就丢弃
- 如果是就会先将这个信息记录到自己的ARP高速缓存表中,再向其响应报文