ARP

发送数据的流程

  1. 网络层封装IP
  2. 数据链路层封装MAC
    1. 查找ARP高速缓存
    2. 广播 - 单播获取目的MAC
  • 在实际网络的链路上传递数据时,必须使用MAC
  • ARP协议:完成IP地址到MAC地址的映射
  • 使用过程:
    1. 检查ARP高速缓存,有对应表项就写入MAC帧。
    2. 没有就用MAC地址为全1的帧封装并广播ARP请求分组,同一局域网中所有主机都能收到该请求。
    3. 目的主机收到请求后会向源主机单播ARP响应分组,源主机收到后将此映射写入ARP缓存(10-20min更新一次)
  • 典型情况
    1. 主机A发给本网络上的主机B:ARP找B的MAC地址
    2. 主机A发给另一网络上的主机B:ARP找路由器的MAC地址
    3. 路由器发给本网络的主机A:ARP找A的MAC地址
    4. 路由器发给另一网络的主机B:ARP找路由器的MAC地址
  • ARP协议是全自动的
  • ARP协议处于网络层最下方,为网络层服务

DHCP

不考?摸了~

ICMP

  • 支持主机和路由器
    • 差错(或异常)报告 - 发送特定的ICMP报文
    • 网络探寻
  • 是网络层的一个顶层协议

image.png

分类

  1. 差错报告报文
    1. 终点不可达(无法交付)
    2. 时间超过(TTL=0)
    3. 参数问题(首部字段有问题)
    4. 改变路由(Redirect)(有更好的路由选择)
      image.png
    • 对于差错报告报文,不发送差错报告报文
    • 只对第一个分片发送差错报告报文
    • 对于组播地址的数据报不发送差错报告
    • 对于特殊地址(环回、本主机)不发送差错报告报文
  2. 询问报文
    1. 回送(Echo)请求或回答
      测试目的站是否可达以及了解相关状态
    2. 时间戳(Timestamp)请求或回答
      用来请求时钟同步和测量时间

应用

  1. ping(回送请求和回答报文)
  2. Traceroute(时间超过差错报告报文)