读<Wireshark数据包分析实战-第3版>之ICMP,STP,DHCP

发布时间 2023-06-04 18:04:37作者: 严_青

ICMP协议

ICMP(Internet Control Message Protocol,互联网控制报文协议)是一个网络层协议,用于在IP 主机和路由器之间传递控制消息。它主要负责提供关于网络通信问题的反馈,如无法到达的目标主机、不可达的网络等。ICMP 位于 TCP/IP 协议栈中的第三层,即网络层。

ICMP有许多类型的消息,常见的包括:

  1. Echo Request(回显请求)和 Echo Reply(回显应答):这两种消息在ping命令中被广泛使用。当您 ping 一个 IP 地址时,发送方向目标地址发送一个 ICMP Echo Request 消息。如果目标主机可达,它会发送一个 ICMP Echo Reply 消息作为响应。这可以帮助检测网络连通性和延迟。

  2. Destination Unreachable(目的地不可达):当数据包无法正确送达目标主机时,路由器或目标主机可能会发送此类型的消息。这可能是因为网络故障、路由问题或目标主机关闭等原因。

  3. Time Exceeded(超时):当数据包在网络中传输时间过长(超过其生命周期,即 TTL 值减少至0)时,路由器会发送此类型的消息。这有助于避免因为循环路由等问题导致的数据包持续在网络中传输。

ICMP 并不直接与应用程序交互,而是为其他层次的协议提供错误报告和诊断功能。使用 ICMP,系统管理员可以检测网络问题并帮助诊断潜在的连接问题。

STP

STP(Spanning Tree Protocol,生成树协议)是一种网络协议,用于防止局域网(LAN)中的环路(loop)现象。环路会导致广播风暴和重复数据传输,消耗网络资源并影响网络性能。

STP 最初由 Dr. Radia Perlman 在 1985 年发明,后来成为 IEEE 802.1D 标准。STP 的工作原理是通过在 LAN 中创建一个无环拓扑结构(即生成树),从而有效地阻止环路产生。生成树协议会选择一个根桥(Root Bridge),然后基于路径成本(path cost)计算出到达根桥的最佳路径。

STP 通过以下几个步骤实现环路防止:

  1. 选举根桥:比较所有交换机的桥ID(Bridge ID),具有最低桥ID的交换机被选为根桥。
  2. 选举根端口:非根桥设备上,与路径成本最小的接口被选为根端口。
  3. 选举指定端口:每个网络段选取与路径成本最小的接口作为指定端口。
  4. 状态确定:将未被选为根端口或指定端口的接口置于阻塞状态(Blocking state),以阻止环路产生。

STP 防止了环路产生,但也带来了一定延迟,因为网络拓扑变化时需要重新计算生成树。为了改进 STP 的性能和可扩展性,后来出现了许多生成树协议的变种,如 RSTP(Rapid Spanning Tree Protocol,快速生成树协议)和 MSTP(Multiple Spanning Tree Protocol,多生成树协议)。这些变种在很大程度上提高了收敛速度和网络灵活性。

DHCP

动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)是一种用于自动分配IP地址和其他网络配置信息给局域网中的设备的网络协议。通过使用DHCP,设备在加入网络时可以自动获取分配给它们的IP地址、子网掩码、默认网关以及DNS服务器等信息。这简化了网络管理过程,并有助于防止地址冲突。

当一个设备加入支持DHCP的网络时,该设备会执行以下操作:

  1. DHCP发现:设备向网络发送DHCP发现报文,寻找可用的DHCP服务器。
  2. DHCP提供:收到发现报文的DHCP服务器会响应并发送DHCP提供报文,包含一个分配给客户端设备的IP地址和其他DHCP选项(如子网掩码、默认网关等)。
  3. DHCP请求:设备选择其中一个提供报文,并向相应的DHCP服务器发送DHCP请求报文,请求分配提供的IP地址。
  4. DHCP确认:DHCP服务器确认分配的IP地址,并发送DHCP确认报文至设备。此时,设备更新其网络设置并使用分配的IP地址进行通信。

DHCP服务器通常可以在路由器、专用服务器或其他网络设备上运行。管理员可以配置DHCP服务器的地址池、租期及其他相关设置。地址池是用于分配给设备的可用IP地址范围。租期是设备可以保留所分配IP地址的时间,租期到期后,设备需要重新请求DHCP服务器分配IP地址。