王道计算机网络 ARP协议

451 阅读3分钟

发送数据的过程  主机1和主机3之间进行通信,二者处于同一个网段之内

  • 应用层:报文
  • 传输层:报文分段,数据大于
  • 网络层:加上源IP地址和目的地址;IP3是目的地址,他是通过传输层的DNS解析得到的;网络层形成IP数据包,也叫做分组;最大传输单元不超过MTU的大小
  • 数据链路层:增加源MAC地址和目的Mac地址,但是不知道目的Mac地址,这就涉及到ARP协议,ARP高速缓存,存储的是IP地址和Mac地址之间的映射关系。这些记录仅仅涉及本局域网之内的数据信息,如果曾经记录了IP3和Mac3之间的映射关系,直接使用;此外还需要补充其余的信息,比如 帧检验序列
  • 如果ARP高速缓存没有记录 IP3和Mac3之间的映射关系,需要广播一个ARP分组请求,IP1是指我的IP地址,IP3是指我要查询的IP地址,Mac1源IP地址,目的物理地址全是1,表明这个请求会在此局域网内进行广播;因为是广播地址,交换机会将此信息转发给物理主机2和3,虽然是请求,其实本质是一个数据帧
  • 3号物理机会响应广播需求,返回一个单播ARP响应分组,这个消息只有IP1会接收,这个消息包括 目的的IP地址和Mac地址
  • IP1收到IP3的Mac地址,还需要补充FCS帧检验序列,封装数据链路层的报文放到物理层以模拟信号或者物理信号的方式进行传播

源主机和目的主机处于不同局域网

  • 交换机无mac地址
  • 路由器不同线路配置不同的物理地址,比如第一个路由器左边是MAC6,右边是MAC7;第二个路由器左边是MAC8,右边是MAC9
  • 目的 是IP5 
  • ARP高速缓存不存在5号主机的MAC地址,因此主机1使用子网掩码和目的主机的IP地址进行相& 运算,验证这个目的IP地址是否与主机1处在同一个网段内,如果不是,需要查询默认网关的IP地址,将希望转接为 默认网关
  • 下一跳:主机1可以转发报文到 主机2、主机3 和 路由器
  • 默认网关是指 路由器
  • 广播ARP请求分组,路由器响应请求,返回路由器主机的MAC6 地址;如果通信双方不在一个局域网内,使用ARP协议,得到网关的MAC地址,将信息转发到路由器
  • ip1 ip5 MAC1 MAC6
  • ip1 ip5 MAC7 MAC8  两个路由器之间进行数据通信,如果是点对点通信,目的地址填写8个1;如果不是点对点,比如星型,需要指定目的主机的MAC地址
  • ip1 ip5 MAC9 MAC5  第二个路由器 到目标主机,使用ARP协议得到MAC5的地址