ARP运行在局域网,所谓局域网相对于广域网而言的。本地PC和路由构成一个局域网,这个路由和另外一个路由又构成一个局域网。这一点最开始一直不懂
在OSI模型中,第三层网络层负责 IP地址,第二层数据链路层则负责 MAC位址。因此一个网卡会有一个全球唯一固定的MAC地址,但可对应多个IP地址。
在网络底层的物理传输过程中,是通过物理地址来识别主机的,它一般也是全球唯一的。比如,著名的以太网卡,其物理地址是48bit(比特位)的整数,如:44-45-53-54-00-00,以机器可读的方式存入主机接口中。以太网地址管理机构(除了管这个外还管别的)(IEEE)(IEEE:电气和电子工程师协会)将以太网地址,也就是48比特的不同组合,分为若干独立的连续地址组,生产以太网网卡的厂家就购买其中一组,具体生产时,逐个将唯一地址赋予以太网卡。
形象的说,MAC地址就如同我们身份证上的身份证号码,具有全球唯一性。
作用:
无论是局域网,还是广域网中的计算机之间的通信,最终都表现为将数据包从某种形式的链路上的初始结点出发,从一个结点传递到另一个结点,最终传送到目的结点。数据包在这些节点之间的移动都是由ARP(Address Resolution Protocol:地址解析协议)负责将IP地址映射到MAC地址上来完成的。
1. 什么是ARP?
ARP (Address Resolution Protocol) 是个地址解析协议。最白的说法是:在IP-以太网中,当一个上层协议要发包时,有了节点的IP地址,ARP就能提供该节点的MAC地址。 2. 为什么要有ARP? OSI 模式把网络工作分为七层,彼此不直接打交道,只通过接口(layre interface). IP地址在第三层, MAC地址在第二层。协议在发生数据包时,得先封装第三层 (IP地址),第二层 (MAC地址)的报头, 但协议只知道目的节点的IP地址,不知道其MAC地址,又不能跨第二、三层,所以得用ARP的服务。
2.运行原理:
在TCP/IP协议中,A给B发送IP包,在报头中需要填写B的IP为目标地址,但这个IP包在以太网上传输的时候,还需要进行一次以太包的封装,在这个以太包中,目标地址就是B的MAC地址.
计算机A是如何得知B的MAC地址的呢?解决问题的关键就在于 ARP协议 。 在A不知道B的MAC地址的情况下,A就广播一个ARP请求包,请求包中填有B的IP(192.168.1.2),以太网中的所有计算机都会接收这个请求,而正常的情况下只有B会给出ARP应答包,包中就填充上了B的MAC地址,并回复给A。 A得到ARP应答后,将B的MAC地址放入本机缓存,便于下次使用。本机MAC缓存是有生存期的,生存期结束后,将再次重复上面的过程。