2、主机A如何通过主机B的IP地址解析得到主机B的MAC地址? ARP( Address resolution protocol)主要任务是根据IP地址解析对应的 MAC地址 (1)源主机A与目的主机B位于同一物理网段 主机A ARP request 主机B 广播地址主机BI主机BMAC ARP repl. 主机AMAC主机BMAC 当主机A不知道主机B的MAC地址时,发送 ARP request广播包; 主机B收到 ARPrequest广播包后,发现目的IP地址是自己,于是将 自己的MAC地址通过 ARP reply包送回主机A,同时主机B将广播包 中主机A的P地址和MAC地址存入本地的 ARP cache中,以备后用 网上其他主机不作响应; 主机A收到 ARP reply包后将包中主机B的P地址和MAC地址存入本 地 ARP cache中,并开始向主机B发送数据
2、 主机A如何通过主机B的IP地址解析得到主机B的MAC地址? ARP(Address Resolution Protocol)主要任务是根据IP地址解析对应的 MAC地址。 (1)源主机A与目的主机B位于同一物理网段 主机A 主机B 主机A MAC 主机B MAC 广播地址 主机B IP 主机B MAC? ARP request ARP reply — 当主机A不知道主机B的MAC地址时,发送ARP request 广播包; — 主机B 收到 ARP request 广播包后,发现目的IP地址是自己,于是将 自己的MAC地址通过ARP reply 包送回主机A,同时主机B将广播包 中主机A的IP地址和MAC地址存入本地的ARP cache中,以备后用; 网上其他主机不作响应; — 主机A收到ARP reply包后将包中主机B的IP地址和MAC地址存入本 地ARP cache中,并开始向主机B发送数据
(2)源主机A与目的主机B位于不同物理网段 主机B 主机A ARP request 广播地址主机BP主机BMAC? 路由器 ARP repl. 主机AMAC路由器MAC 当主机A不知道主机B的MAC地址时,发送 ARP request广播包 (第二层广播帧); 路由器能收到此广播包后,路由器能够根据主机A和B的I地址 可以知道主机A和主机B不在同一P子网(或同一广播域),且 主机B不可能收到 ARP request广播包(广播包不跨路由器), 因此路由器则以ARP代理身份将自己的MAC地址发送给主机A; 主机A收到来自路由器的 ARP reply包后,将包中主机B的P地址和 路由器的MAC地址存入本地 ARP cache中,以后主机A发往主机B 的数据帧用的是主机B的IP地址和路由器的MAC地址,数据帧首 先送往路由器,然后由路由器转发
(2)源主机A与目的主机B位于不同物理网段 主机A 主机B 主机A MAC 路由器 MAC 广播地址主机B IP 主机B MAC? ARP request ARP reply — 当主机A不知道主机B的MAC地址时,发送ARP request 广播包 (第二 层广播帧); — 路由器能收到此广播包后,路由器能够根据主机A和B的IP地址 可以知道主机A和主机B不在同一IP子网(或同一广播域),且 主机B不可能收到ARP request 广播包(广播包不跨路由器), 因此路由器则以ARP代理身份将自己的MAC地址发送给主机A; —主机A收到来自路由器的ARP reply包后,将包中主机B的IP地址和 路由器的MAC地址存入本地ARP cache中,以后主机A发往主机B 的数据帧用的是主机B的IP地址和路由器的MAC地址,数据帧首 先送往路由器,然后由路由器转发。 路由器
3、当主机A不知道主机B的MAC地址时是通过发送 ARP request,广播 包获取主机B的MAC地址,然后再向主机B发送数据帧,为什么 不可直接用广播的方式将数据帧发送给主机B? 在网中每次都以广播方式传送数据帧是低效的,因网中每一台 主机都要花费一定的代价去处理广播包,所以不直接用广播方式 发送数据帧。 为提高地址解析的效率,每一台主机都必须在本地建立一张ARP cache表,记录本地子网中所有主机包括路由器的IP地址和MAC 地址的对应关系 4、主机本地 ARP cache表的建立和维护: 通过发送和接收 ARP request包获取对方的IP和MAC地址; 接收网上任一 ARP request广播包,取得发送主机的IP和MAC地址 为 ARP cache中每一表项设定生存时间,以防某台主机的IP地址 或MAC地址发生变更(动态更新) 5、ARP解析过程 主机A向主机B发送数据前,根据主机B的IP地址首先查找本地的 ARP cache表,若查到则向主机B发送数据; 若主机A在本地没查到主机B的MAC地址,则发 ARP request广播 包,从 ARP reply包中获取主机B的P和MAC地址并存入本地ARP cache表中,然后才向主机B发送数据
3、 当主机A不知道主机B的MAC地址时是通过发送ARP request广播 包获取主机B的MAC地址,然后再向主机B发送数据帧,为什么 不可直接用广播的方式将数据帧发送给主机B? — 在网中每次都以广播方式传送数据帧是低效的,因网中每一台 主机都要花费一定的代价去处理广播包,所以不直接用广播方式 发送数据帧。 — 为提高地址解析的效率,每一台主机都必须在本地建立一张ARP cache表,记录本地子网中所有主机包括路由器的IP地址和MAC 地址的对应关系。 4、主机本地ARP cache表的建立和维护: — 通过发送和接收ARP request包获取对方的IP和MAC地址; — 接收网上任一ARP request 广播包,取得发送主机的IP和MAC地址; — 为ARP cache中每一表项设定生存时间,以防某台主机的IP地址 或MAC地址发生变更(动态更新)。 5、ARP 解析过程 — 主机A向主机B发送数据前,根据主机B的IP地址首先查找本地的 ARP cache表,若查到则向主机B发送数据; — 若主机A在本地没查到主机B的MAC地址,则发ARP request广播 包,从ARP reply 包中获取主机B的IP和MAC地址并存入本地ARP cache表中,然后才向主机B发送数据
AR地址解析和数据包在网间的传递 数据包 A 目的主机B的IP地址 Router1MAC地址 数据包 Router 1 目的主机B的IP Router 2 MAC 描址 uter 目的主机B的IP地址 Router3MAC地址 outer B 数据包 目的主机B的IP地址 数据包 目的主机BMAC地址 跨路由器后主机A不可能知道主机B的MAC地址; 数据包传送过程中,不仅仅是主机A,所经过的路由器都要进行地址解析 数据包传送过程中源、目IP地址始终不变,而源、目MAC地址逐段变化
A B Router 1 Router 2 Router 3 目的主机B的IP地址 Router 1 MAC地址 数据包 Router 2 MAC地址 数据包 目的主机B的IP地址 Router 3 MAC地址 数据包 目的主机B的IP地址 数据包 目的主机B MAC地址 目的主机B的IP地址 ARP地址解析和数据包在网间的传递 — 跨路由器后主机A不可能知道主机B的MAC地址; — 数据包传送过程中,不仅仅是主机A,所经过的路由器都要进行地址解析; — 数据包传送过程中源、目IP地址始终不变,而源、目MAC地址逐段变化
反向句地址解析协议RARP (1)主要功能: RARP( Reverse address resolution protocol)根据给定主机 的MAC地址获取该主机的IP地址 (2)适用范围 RARP一般仅适用于无盘工作站在启动时获取自身IP地址。 通常主机将自己的IP地址存放在硬盘中,无盘工作站因为没有 盘无法记忆自己的P地址。所有无盘工作站的P地址由RARP 服务器集中保存,无盘工作站启动时通过发送RARP请求,从 RARP服务器获得自己的P地址 (3)限制条件: RARP的应用仅局限在一个物理网段内(不能跨越路由器等第 三层设备),因无盘工作站和RARP服务器之间的通信仅依赖 于双方的MAC地址,故无盘工作站和RARP服务器必须位于同 子网内
反向地址解析协议RARP (1)主要功能: RARP(Reverse Address Resolution Protocol)根据给定主机 的MAC地址获取该主机的IP地址; (2)适用范围: RARP一般仅适用于无盘工作站在启动时获取自身IP地址。 通常主机将自己的IP地址存放在硬盘中,无盘工作站因为没有 盘无法记忆自己的IP地址。所有无盘工作站的IP地址由RARP 服务器集中保存,无盘工作站启动时通过发送RARP请求,从 RARP服务器获得自己的IP地址; (3)限制条件: RARP的应用仅局限在一个物理网段内(不能跨越路由器等第 三层设备),因无盘工作站和RARP服务器之间的通信仅依赖 于双方的MAC地址,故无盘工作站和RARP服务器必须位于同 一子网内