数据通信模型&网络层协议

网络层协议 ARP/ICMP

ARP(Address Resolution Protocol)协议

  • 当网络设备有数据要发送给另一台网络设备是,必须要知道对方的网络层地址(即地址)。IP地址由网络层来提供,但是仅有IP地址是不够得,IP数据报文必须封装成帧才能通过数据链路进行发送。数据帧必须包含目的MAC地址,因此发送端还必须获取到目的的MAC地址。通过目的IP地址来获取目的MAC地址的过程就是由ARP(Address Resolution Protocol)协议来实现的。

  • ARP工作过程

  • ARP缓存

  • ARP数据包格式

    ARP报文不能穿越路由器,不能被传播到广播域。

  • ARP请求

  • ARP响应

  • ARP代理

    位于不同网络的网络设备在不配置网关的情况下,可以通过ARP代理实现相互通信。

  • 免费ARP

    免费ARP可以用来探测IP地址是否冲突

注:

​ 1、ARP请求以广播发送、以单播回应
​ 2、路由器隔离广播。每一个网段都是独立的广播域
​ 3、跨越网段通信需要使用网关的MAC地址


ICMP(Internet Control Message Protocol)协议

  • Internet控制信息协议ICMP是网络层的一个重要协议。ICMP协议用来在网络设备间传递各种差错和控制信息,并对于收集各种网络信息、这段和排除各种网络故障等方面起着至关重要的额作用。

  • ICMP差错检测:ICMP Echo Request和ICMP Echo Reploy消息常用于诊断源和目的地之间的网络连通性。

  • ICMP重定向(Redirect)

  • ICMP错误报告

    当网络设备无法访问目标网络时,会自动发送ICMP目的不可达报文到发送端设备。

  • ICMP数据包格式

  • ICMP消息类型和编码类型

类型 编码 描述
0 0 Echo Reply
3 0 网络不可达(Network Unreachable)
3 1 主机不可达(Host Unreachable)
3 2 协议不可达(Protocol Unreachable)
3 3 端口不可达(Port Unreachable)
5 0 重定向(Redirect For Network)
8 0 Echo Request
  • ICMP应用-Ping

  • ICMP应用-Tracert

    Tracert显示数据包在网络传输过程中所经过的每一跳