引入
Internet上的每台机器都一个或者多个IP地址,但仅有这些地址还不足够支撑能够发送数据包。数据链路层硬件网卡,比如以太网卡不太了解Internet地址。
在以太网的环境中,每一块NIC在出厂时都会配置一个唯一的48位以太网地址。(也称之为MAC地址)以太网的制造商从IEEE请求一块以太网地址,确保不会出现任何两块网卡有相同的地址(以避免两块网卡出现在同一个LAN上时发生冲突)。NIC根据其48位以太网地址来发送和接收帧,它们对于32位的IP地址完全一无所知。
Q: 如何将IP地址映射到数据链路层的地址,(以太网的地址/MAC地址)?
一个很好的解决方案是主机1发送一个广播包到以太网络上请求拥有目的IP地址的主机。该广播包将会到达CS网络上的每一台主机,每一台主机都会检查自己的IP地址。只有主机2(IP地址是该目的IP地址)会用自己的以太网地址E2(MAC地址)作为应答,通过这种方式,主机1得知目的IP地址是一台拥有以太网地址为E2的主机。请求和获得应答这两个过程所使用的的协议称之为:地址解析协议(ARP, Address Resolution Protocol)
ARP优点:
系统管理员只需要给每一台机器分配一个IP地址,并确定好子网掩码,不需要做任何其他事情,ARP会负责处理好所有其他的事情。
附:MAC地址/IP地址
- 以太网地址亦称为MAC地址,位于七层网络模型的第二层(数据链路层),用来标示网络中的一个网卡,网络中的设备要有多个网卡,则每个网卡都有一个唯一的以太网地址,其长度为48bit,前24bit叫做组织唯一标志符,是由IEEE的注册管理机构给不同厂家分配的代码,区分了不同的厂家,后24位是厂家根据自身情况自己分配的,称为扩展标示符。
- MAC地址是每块网卡的硬件地址,用于数据链路层的帧传递地址;IP地址是网络层地址(也称逻辑地址),用于路由器寻址。
- IP地址长度为32bit,其为互联网上的每个网络或者每台设备分配一个地址,可以用来区分互联网上的设备,以及不同的网络。其位于七层网络模型的网络层。通过IP地址可以将数据包从一个网络转发到另一个网络,而通过以太网地址只能将一个数据包从一个节点传送到相同网络的另一个节点。而且IP地址可以由用户进行更改,但是以太网地址是出厂时已经设置好的,一般不能修改,所以IP地址的分配是基于网络拓扑的,而以太网地址的分配是基于厂商的。
- IP地址标识的是一台主机或路由器与网络的接口,而MAC地址唯一地标识一台主机。
- 网桥,Ethernet交换机属于数据链路层设备,使用MAC地址,不属于网络层设备,所以不分配IP。