首页 > 其他分享 >读<Wireshark数据包分析实战-第3版>之协议 ICMP,STP,DHCP

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

时间:2023-06-04 18:13:16浏览次数:51  
标签:报文 网络 STP IP地址 DHCP ICMP

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地址。

标签:报文,网络,STP,IP地址,DHCP,ICMP
From: https://www.cnblogs.com/zhao-jie-li/p/17456027.html

相关文章

  • Satori指纹识别原理及dhcp分析
    Satori是被动识别中的一款独树一帜的软件,和ettercap等软件不同,它专门采用dhcp进行识别。本文通过对satori进行测试、读源码对其识别机制进行简单的分析,并在最后一部分对Satori开发者的paper进行了解读。解压后有如下几个文件其中,dhcp.xml和tcp.xml在下文会详细分析,p0f.fp,p0fa.fp是......
  • lINUX iCmp协议
    ICMP是(InternetControlMessageProtocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的......
  • 一个由于不同微服务框架混搭导致BeanPostProcessors处理bean异常导致的问题
        前天到昨天晚上,某开发报告了一个问题,我们的一个应用程序接入了腾讯的TSF微服务框架后,使用feign访问接口,会导致token丢失,无法解决。    大体介绍下项目情况,我们的应用使用了某第三方微服务框架,不是源生的springcloud或springcloudalibaba框架,第三方厂家基于s......
  • Unity的AssetPostprocessor之Model:深入解析与实用案例 1
    UnityAssetPostprocessor模型相关函数详解在Unity中,AssetPostprocessor是一个非常有用的工具,它可以在导入资源时自动执行一些操作。在本文中,我们将重点介绍AssetPostprocessor中与模型相关的函数,并提供多个使用例子。OnPostprocessModelOnPostprocessModel是AssetPostprocessor......
  • 华为—DHCP中继实验配置-通过两种配置方法实现功能
     实验说明本实验将通过两种中继配置方法实现DHCP中继功能  第一种:在接口下直接指定DHCP服务器IP地址  第二种:通过在接口下调用DHCP服务器组实验拓扑图实验要求1、将路由器R1作为DHCP服务器,创建全局地址池分配地址;2、通过DHCP中继实现为PC1和PC2分配不同网段地址 ......
  • Unity的IPostprocessBuild:深入解析与实用案例
    UnityIPostprocessBuild技术文章UnityIPostprocessBuild是Unity引擎中的一个非常有用的功能,它可以让开发者在构建项目后自动执行一些操作。这个功能可以帮助开发者提高工作效率,减少手动操作的时间和错误率。在本文中,我们将介绍UnityIPostprocessBuild的使用方法,并提供三个使用......
  • Unity的IPostprocessBuildWithReport:深入解析与实用案例
    UnityIPostprocessBuildWithReportUnityIPostprocessBuildWithReport是Unity引擎中的一个非常有用的功能,它可以让开发者在构建项目后自动执行一些操作,并且可以获取构建报告。这个功能可以帮助开发提高工作效率,减少手动操作的时间和错误率。在本文中,我们将介绍UnityIPostprocess......
  • Unity中的PostProcessBuild:深入解析与实用案例
    Unity中的PostProcessBuild:深入解析与实用案例在Unity游戏开发中,我们经常需要在构建完成后对生成的应用程序进行一些额外的处理。这时,我们可以使用Unity提供的PostProcessBuild功能。本文将详细介绍Unity中的PostProcessBuild方法,并通过三个实用案例来展示其强大的功能。什么是P......
  • Unity中的PostProcessScene:深入解析与实用案例
    Unity中的PostProcessScene:深入解析与实用案例在Unity游戏开发中,我们经常需要对场景进行后处理,以实现更丰富的视觉效果。Unity提供了一个名为PostProcessScene的功能,可以让我们在场景加载完成后,对场景进行一系列的处理。本文将详细介绍PostProcessScene的使用方法,并通过三个实用案......
  • Unity中的PostProcessBuild:深入解析与实用案例
    Unity中的PostProcessBuild:深入解析与实用案例在Unity游戏开发中,我们经常需要在构建完成后对生成的应用程序进行一些额外的处理。这时,我们可以使用Unity提供的PostProcessBuild功能。本文将详细介绍Unity中的PostProcessBuild方法,并通过三个实用案例来展示其强大的功能。什么是Po......