任何一个站点,仅知道对方IP,不知道对方物理地址;
IP地址:全局性;
物理地址:本址性;
物理网内要知道源物理地址,目的物理地址;
网络层协议;
Address Resolution
逻辑地址->物理地址
静态映射;
静态映射:用到ARP动态改变映射;
ARP IP->MAC
每个主机都有一个ARP缓存表;
A获取B的MAC地址的过程:
A发送本地网广播请求IP地址为B的MAC地址,主机B返回相应的MAC地址返回;
封装
与IP分组一样,
ARP分组直接
封装在数据帧中传递;
ARP类型:0x0806; IP类型:0x0800;
其中的pad为填充字节;以太网帧最少64字节;
操作
ARP请求的是物理网的物理地址,所以ARP只能在本地物理网内,其它物理网内可以不知道该物理网的MAC地址,因为物理网间可能都不一样;
情况1:A与B在同一个同络;
A缓存中没有B的MAC地址,将数据帧的目的地址设为48位为1的广播地址;
B与R1收到ARP请求报文后都更新自己的ARP缓存; // 自学习过程
B返回ARP应答帧;
情况2:A与D在不同的网络中;
A广播帧,B, R1记录A的ARP缓存;A发现D不与自己在同一个网内,所以请求的是R1的MAC地址;
R1返回一个应答ARP报文,将MAC地址设为默认网关的MAC地址;
A往默认网关发送一个IP分组,目的MAC地址是MAC1,不是D的MAC地址,A即便知道了目的MAC地址,也没用,因为A与D的MAC地址可能完全不同;
A将包含MAC1的数据帧,发送出去,R1取得IP目的地址,查路由表;
如果这时R1发现没有下一跳的MAC地址,将会在下一跳端口里广播一个ARP请求报文;
如果R1有下一跳的MAC地址,则直接转发;
直到D的路由;发送给D;
MAC是用于物理网内,而IP用于网间;
帧的目的IP与源IP不随转换而变,而MAC地址是要更新的;
代理ARP
转发ARP应答报文;
特征:保留网络外部特性,隐藏了内部网络的结构;(内部网络可能会是由多个路由器组成的)
RARP : MAC->IP // 网络层
作用:
无盘机器的引导、动态IP地址配置; (没有硬盘保存相应的IP信息)
封装类型:0x8035
操作:
请求:广播发送,sIP, tIP不填,
sMAC=tMAC
应答:由RARP服务器应答,单播发送;
RARP替代成DHCP,BOOTP
RARP只能获得IP地址,不能得到掩码、默认网关、DNS服务器协议;(这在网间通信是不可能的)所以RARP很少用;
DHCP,BOOTP除了IP外还可以获得另外的参数;