当前位置: 首页 > news >正文

【25软考网工】第五章(5)ICMP和ICMPv6、NDP、IP组播技术和MPLS

目录

一、ICMP

1. ICMP基础

2.ICMP应用

1)ping命令

2)tracert原理演示

3)ICMP生存时间超时报文类型(网规2015年11月第29题)

ICMP生存时间超时报文类型

4)例题:ping命令失败原因判断(网规2018年11月第17题)

网络诊断基础

5)例题:IP数据报首部校验错误路由器动作(网规2019年11月第49题)

数据报错误处理机制

6)例题:服务器操作系统与跳数判断 网规2020年真题解析

路由追踪验证

TTL值原理与应用

操作系统类型判断

7)例题:ICMP封装层次(网工2021年5月第20题)

8)例题:Traceroute命令ICMP超时报文Type和Code(网工2023年5月第17题)

9)例题:IP报文TTL减至0发送的ICMP消息(网工2024年11月第20题)

3.知识小结

二、ICMPv6

1. 差错报文[0,127]

1)Path MTU发现

2. 信息报文[128,255]

1)Ping

三、NDP

1. NDP定义的信息和功能

2. NDP报文类型及功能

​编辑

3. IPv6地址自动配置的分类

1)IPv6地址无状态自动配置过程

4. 应用案例

1)例题:IPv6无状态配置过程

5.知识小结

四、组播技术

1. 组播应用场景

1)网络协议通信

2)互联网直播等视频业务

2. 组播IP地址

3. 组播MAC地址

4. 常见组播协议

5. 组播网络架构

6. 应用案例

1)例题#组播分组数量

五、MPLS

1. MPLS的发展历程

2. MPLS的标签分发与操作

1)例题#压标签操作设备

2)例题#传递标签协议

3.知识小结


一、ICMP

1. ICMP基础

        ICMP(Internet Control Message Protocol,Internet控制报文协议),封装在IP报文中,协议号为1,用来传递差错、控制、查询等信息,典型应用ping/tracert依赖ICMP报文。

2.ICMP应用

1)ping命令

Echo Request和Echo Reply分别用来查询某些信息,进行差错检测。

ICMP报文分析

报文类型:

  • Echo request: Type=8, Code=0 (ping请求)
  • Echo reply: Type=0, Code=0 (ping响应)
  • TTL超时报文: Type=11, Code=0 (传输过程中TTL超时)

关键字段:

  • Identifier: 标识字段(0x0001)
  • Sequence number: 序列号(52/13312等)
  • TTL值: 显示生存时间(64,53等)

2)tracert原理演示



  • 作用:跟踪从起点到目标节点经过的路径
  • 注意:二层交换机只负责转发数据
  • 原理: TTL递增,当TTL变为0返回报错信息
  • 工作流程:
    • 主机A发送TTL=1的ICMP Echo请求
    • 第一跳TTL=0,路由器(RTA)返回TTL超时报文,主机A因此获取到RTA的地址
    • 主机A发送TTL=2的ICMP Echo请求
    • 第二跳TTL=0路由器(RTB)返回TTL超时报文,主机A因此获取到RTB的地址
    • 依次递增TTL直到到达目标主机B

实际抓包分析

  • 报文序列:
    • 前3个包: TTL=1的Echo request(Type=8,Code=0)-->第一跳
    • 第4-6个包: TTL=2的Echo request-->第二跳
    • 第7-9个包: TTL=3的Echo request-->第三跳
  • 响应规律:
    • 每个TTL值发送3个探测包
    • 中间路由器返回TTL超时报文(Type=11,Code=0)
    • 最终目标返回Echo reply(Type=0)

关键知识点

  • 重要考点:
    • TTL超时报文: Type=11, Code=0 (考试出现概率70%)
    • Echo request/reply: Type=8/0, Code=0
  • 实际应用:
    • 百度服务器使用负载均衡(每次返回不同IP)
    • 正常网络路径跳数通常不超过30跳
    • 运营商地址可能使用二次NAT(如100.x.x.x)
  • 报文分析技巧:
    • 通过Sequence number跟踪报文序列
    • TTL值递增规律: 1→2→3...
    • 每个TTL值发送3个探测包计算平均延迟

实验注意事项

  • 实验验证:
    • 建议自行抓包观察TTL递增规律
    • 注意区分本地网关和公网路由器的响应
    • 超时(*)表示节点未响应ICMP报文
  • 常见误区:
    • 误认为每次探测TTL都会递增(实际每组3个相同TTL)
    • 忽略Type=11报文的诊断价值
    • 不理解100.x.x.x是运营商NAT地址

3)ICMP生存时间超时报文类型(网规2015年11月第29题)

  • 关键提示:题干明确"在数据包组装期间"的TTL=0情况
  • 选项分析:
    • A/B项(地址/网络不可达)属于ICMP目的不可达类型
    • C项(校验差错)与TTL机制无关
    • D项(分片丢失)是组装失败的典型原因
  • 答案验证:通过ICMP报文类型代码区分(类型11代码0为传输超时,类型11代码1为组装超时)

ICMP生存时间超时报文类型
  • 传输期间TTL=0:典型场景如tracert应用,路由器在TTL减为0时向客户端回复该报文
  • 组装期间TTL=0:发生在IP分片重组阶段表明存在分片丢失导致无法完成重组

4)例题:ping命令失败原因判断(网规2018年11月第17题)

  • 排除法应用:
    • 排除A项(TCP/IP配置):域名解析成功说明协议栈正常
    • 排除B项(DNS故障):已获取正确IP地址
    • 排除C项(ARP攻击):网关错误会导致DNS解析失败
  • D,正选依据:ACL拦截可能针对特定主机(其他主机访问正常)

网络诊断基础
  • DNS解析正常标志能正确显示域名对应的IP地址(202.117.112.36)
  • 网络不可达特征返回"Destination net unreachable"且往返时间为0ms

5)例题:IP数据报首部校验错误路由器动作(网规2019年11月第49题)

  • 行为判断:
    • 排除A项(纠正错误):网络设备不具备数据修正能力
    • 排除B项(转发):错误数据报必须丢弃
    • 排除D项(通知目的端):ICMP报文的正确发送方向
  • 核心考点:校验错误属于致命错误,必须终止传输
  • 答案:C
数据报错误处理机制
  • 纠错原则:网络层不进行数据修复(纠错码开销过大)
  • 标准流程:丢弃错误数据报并发送类型12代码0的ICMP差错报文
  • 通知对象:必须反馈给源端而非目的主机

6)例题:服务器操作系统与跳数判断 网规2020年真题解析



  • 解题步骤:
    • 观察返回TTL值为50,排除初始255(205跳不合理)和128(78跳不合理)的情况
    • 确认64-50=14跳符合网络实际情况
    • 查表确定TTL64对应FreeBSD系统
  • 易错点: 容易忽略全球路由跳数限制而选择理论计算值(如255−50=205跳)
  • 参考答案: (27)C-FreeBSD;(28)C-14跳
  • 考点强调: 第二空跳数计算是固定考点,需重点掌握计算方法和合理性验证。

路由追踪验证
  • 抓包分析原理: 通过Wireshark观察TTL递减过程,如初始255收到253说明经过2个三层设备。
  • 本地网关特征: 网关返回报文TTL通常为64(未减),证明与终端直接相连无中间设备。
  • 实验验证建议: 推荐使用ping+tracert组合命令配合抓包工具进行实践验证。
TTL值原理与应用
  • TTL作用机制: 表示数据包在网络中经过的最大跳数每经过一个路由器减1。常见初始值有255、128和64三种。
  • 跳数计算方法: 用初始TTL减去接收到的TTL值例如初始64收到50,则跳数=64−50=14跳。
  • 全球路由限制: 实际网络中任意两点间路由跳数通常不超过30跳,这是判断计算合理性的重要依据。
操作系统类型判断
  • 判断依据: FreeBSD系统默认TTL为64,Windows系统多为128,Unix类系统可能为255
  • 可靠性说明: 该方法在现代网络环境中准确性有限,因操作系统可自定义TTL初始值,不同版本也可能存在差异。
  • 重点提示: 考试中需记忆典型系统的默认TTL值,实际工作中应结合其他检测手段。

7)例题:ICMP封装层次(网工2021年5月第20题)

  • 协议层级:ICMP是TCP/IP分层模型中的第三层(网络层)协议
  • 封装方式:ICMP报文直接封装在IP数据报中进行传送

抓包验证:通过Wireshark抓包可见ICMP报文上层直接对应IPv4头部

  • 选项分析:
    • A.以太帧:错误,这是第二层封装
    • B.IP数据报:正确,网络层协议直接封装
    • C.UDP报文:错误,属于传输层
    • D.TCP报文:错误,属于传输层
  • 答案:B
  • 考点提醒:这是基础考点,注意区分不同协议的分层位置
  • 记忆技巧:网络层协议(如ICMP)直接使用IP封装,类比信件(ICMP)需要信封(IP)邮寄

8)例题:Traceroute命令ICMP超时报文Type和Code(网工2023年5月第17题)

  • 关键考点: 中间路由器返回的ICMP报文类型和代码值
  • 选项分析:
    • A选项(Type=3)是目的不可达报文
    • B选项(Type=8)是回显请求报文
    • C选项(Type=11)是TTL超时报文
    • D选项(Type=12)是参数问题报文
  • 正确答案: C(Type=11,Code=0)
  • 记忆要点: "TTL exceeded in transit"对应Type=11,Code=0
  • 平台差异: Windows系统使用tracert命令,Linux系统使用traceroute命令,两者功能相同但名称不同
  • 返回机制: 中间路由器返回TTL超时报文(Type=11,Code=0),终点返回端口不可达报文

9)例题:IP报文TTL减至0发送的ICMP消息(网工2024年11月第20题)

  • 关键考点: TTL减至0时触发的ICMP消息类型
  • 选项分析:
    • A选项是目的不可达消息
    • B选项是TTL超时消息
    • C选项是参数问题消息
    • D选项是源站抑制消息
  • 正确答案: B(TTL Exceeded)
  • 技术细节: 实际返回的是"TTL exceeded in transit"消息,属于ICMP超时报文

相关概念

  • TTL机制: 当IP报文在网络中传输时,每经过一个路由器TTL值减1
  • 触发条件: 当TTL值减至0时,路由器会丢弃该报文并返回ICMP错误消息

3.知识小结

知识点

核心内容

考试重点/易混淆点

难度系数

ICMP协议基础

- 直接封装在IP报文中,协议号为1;

- 功能:传递差错、控制、查询网络状态

协议号=1(高频考点);

与TCP/UDP协议号区分

★★☆☆☆

ICMP报文类型

- Type 8 Code 0:Echo Request(拼请求);

- Type 0 Code 0:Echo Reply(拼回应);

- Type 11 Code 0:TTL超时(传输期间);

- Type 11 Code 1:组装超时(分片丢失)

Type/Code组合(必考);

区分传输超时 vs 组装超时

★★★☆☆

Ping命令原理

- 发送Echo Request,接收Echo Reply;

- 测试连通性、时延(如41ms)

底层为ICMP协议;

防火墙过滤需放行协议号1

★★☆☆☆

Traceroute原理

- 通过TTL递增触发超时报文(Type 11);

- 每跳发送3次探测包(默认)

TTL超时报文=11/0(高频考点);

二层交换机不显示IP地址

★★★★☆

TTL值分析

- 初始值:Windows=128,Linux=64;

- 跳数计算:初始TTL

- 接收TTL(如64-50=14跳)

操作系统推断(不准确);

实际跳数限制(≤30)

★★★☆☆

ICMP错误处理

- 校验错误:丢弃报文并通知源端;

- 不纠正错误(仅检错重传)

通知源端(非目的端); 与纠错码区别

★★☆☆☆

典型考题

- 过滤Ping需配置协议号1;

- Traceroute返回Type 11 Code 0;

- TTL超时原因(传输/组装)

协议号、Type/Code(70%出现率);

ACL拦截导致拼不通(非ARP攻击)

★★★★☆


二、ICMPv6

        IPv6下的ICMP报文,主要分为差错报文信息报文

1. 差错报文[0,127]

        类型范围:Type字段最高bit为0,取值范围[0,127]用于报告IPv6数据包转发过程中的错误

        典型应用目的不可达、超时等错误反馈

        底层机制:通过报错信息实现功能类似traceroute记录路径信息

1)Path MTU发现



  • IPv6特性中间设备不进行分片,分片仅在源节点完成
  • 工作原理通过ICMPv6差错报文反馈路径最小MTU值
  • 性能优势避免中途分片导致的性能下降,类似TCP的MSS协商
  • 工作示例:1500→1400→1300的MTU递减过程,最终以1300字节通信
  • PMTU(Path MTU)就是路径上的最小接口MTU

2. 信息报文[128,255]

        类型范围:Type字段最高bit为1,取值[128,255]用于网络管理和配置

        典型应用地址自动配置、组播成员管理

1)Ping



  • 报文类型:
    • Echo Request(Type=128,Code=0):探测请求
    • Echo Reply(Type=129,Code=0):响应回复
  • 协议差异:与IPv4的ICMP类型值不同,但功能实现相同

三、NDP

1. NDP定义的信息和功能

        协议基础:基于ICMPv6实现的邻居发现协议

        包括路由器宣告、路由器请求、路由重定向、邻居请求和邻居宣告

  • 核心功能
    • 路由器发现:通过RS/RA报文发现链路上路由器,获得路由器上的通告信息。
    • 无状态自动配置:利用路由器通告RA报文的前缀信息,终端自动生成IPv6地址
    • DAD检测/重复地址解析:获得地址后,进行重复地址检测,确保地址不存在重复冲突,类似免费ARP的地址冲突检测,替代IPv4的ARP功能(NS/NA报文)
    • 地址解析:请求目的网络地址对应的数据链路层地址,类似ARP的功能
    • 邻居状态跟踪:通过NDP发现链路上的邻居并跟踪邻居状态,IPv6邻居表和在IPv4中的ARP表类似
    • 前缀重编址:路由器对所有通告的地址前缀进行灵活配置,实现网络重编制
    • 重定向:告知其他设备,到达目标网络的更优下一跳,优化路由路径(类似ICMP重定向)

2. NDP报文类型及功能

报文对应:

  • RS(133)/RA(134):路由请求报文/路由器通告报文可以实现路由器发现地址生成配置
  • NS(135)/NA(136):邻居请求报文/邻居通告报文类似ARP请求和ARP通告
  • 重定向(137):路径优化

功能映射:

  • RS/RA实现路由器发现和前缀重编址
  • NS/NA实现地址解析(ARP等效功能)和重复地址检测

3. IPv6地址自动配置的分类



无状态配置:

  • 特点:不需要IPv6地址分配服务器保存和管理每个节点的状态,不记录终端具体地址,仅分配前缀(不完整)
  • 实现:基于NDP协议(RS/RA报文)

有状态配置:

  • 特点:IPv6分配服务器必须保存每个节点的状态信息(全部)
  • 实现:DHCPv6服务器记录全地址

类比:"全款购房"与"按揭购房"的区别

1)IPv6地址无状态自动配置过程



        生成链路地址:PC1基于本地的接口ID自动生成链路本地单播地址fe80::/10地址

        DAD检测:PC1使用NS/NA检测地址冲突,如果改地址无冲突则可启用,此时PC1具备IPv6连接能力

        RS报文--路由器发现:PC1发送RS请求,尝试发现路由器

        RA报文--获取前缀:R1回应RA,鞋带IPv6前缀,PC1接收RA报文获得/64前缀

        生成全局地址:PC1使用前缀+接口ID(EUI-64)组成128位IPv6单播地址

        最终检测:PC1对新地址再次执行DAD检测

4. 应用案例

1)例题:IPv6无状态配置过程

  • 关键步骤:首先生成链路本地地址(fe80::),再发送RS报文
  • 报文对应:RS(133)请求路由器信息,RA(134)回复前缀,如果需要进行的是冲突检测则发送NS
  • 典型错误:容易混淆NS与RS的适用场景
  • 正确答案:(33)D链路本地地址;(34)B Router Solicitation

5.知识小结

知识点

核心内容

考试重点/易混淆点

难度系数

ICMPv6报文分类

分为差错报文(Type 0-127)和信息报文(Type 128-255)

差错报文用于反馈网络问题(如目的不可达、超时);信息报文用于地址自动配置、组播管理

⭐⭐

Path MTU发现机制

通过ICMPv6差错报文动态探测路径最小MTU,避免IPv6中间设备分片

依赖ICMPv6差错报文(类似Traceroute原理),仅源节点分片

⭐⭐⭐

NDP协议(邻居发现协议)

基于ICMPv6实现,包含5种报文类型(RS/RA/NS/NA/重定向)

功能对比:

- RS/RA:路由器发现、前缀获取(类似DHCP)

- NS/NA:地址解析、重复检测(替代ARP)

⭐⭐⭐⭐

IPv6地址自动配置

无状态(依赖NDP的RA报文) vs 有状态(DHCPv6)

无状态流程:

1. 生成链路本地地址(FE80::)

2. DAD检测(NS/NA)

3. 发RS请求前缀

4. 组合前缀+MAC生成全局地址

⭐⭐⭐

NDP典型应用

- 路由器发现(RS/RA)

- 地址解析(NS/NA替代ARP)

- 重定向优化路径(Type 137报文)

易混淆点:

RA报文可强制指定前缀(与接口地址无关)

⭐⭐⭐⭐


四、组播技术

1. 组播应用场景

1)网络协议通信

  • 典型协议:RIPv2(224.0.0.9)、OSPF(224.0.5和6)、VRRP(224.0.0.18)使用组播交互信息
  • 效率优势比单播更高效,是选择题高频考点
  • 地址记忆:协议对应的组播地址需重点记忆(如OSPF使用224.0.0.5/6)

2)互联网直播等视频业务

  • 典型应用:IPTV、网络直播(如抖音)、视频会议
  • 技术原理:底层通过组播实现数据分发,源端只需发送一份数据

2. 组播IP地址

  • 地址范围:224.0.0.0∼239.255.255.255(D类地址)
  • 进制转换:十进制23对应十六进制17(7×16^0+1×16^1=23)
  • IPv6特性:IPv6地址采用十六进制表示

3. 组播MAC地址

  • 固定前缀0100.5E(前25位固定)
  • 生成规则后23位由组播IP地址映射生成(如230.20.15.23→01005E14OF17)
  • 格式差异IP地址用十进制MAC地址用十六进制表示

4. 常见组播协议

  • 核心协议IGMP(加入组播组)、PIM、MSDP、MBGP
  • 易混淆点:IGMP与ICMP区别(IGMP用于组播组管理,ICMP用于差错控制)
  • 考试注意:协议名称拼写差异是常见考点(如IGMP的"G"与ICMP的"C")

5. 组播网络架构



  • 在接受组播报文时,判断该报文是否在正确的接口上到达,从而确保组播数据转发的无环化
  • 无环机制:通过组播分发树(组播流量转发的路径树)实现无环转发
  • 组播分发树表项标识:(S,G)表示特定源组播,(∗,G)表示任意源组播
  • 带宽优势源端只需发送单份数据,接收者通过加入组播组获取

6. 应用案例

1)例题#组播分组数量

  • 核心原理:无论接收者数量多少,组播源只需发送1个分组
  • 干扰项:路由器数量(2个)和成员数量(6个)均为干扰信息
  • 答案:A(1个分组)

五、MPLS

        多协议标签交换(Muti-Protocol Label Swithing,MPLS)通过在数据链路层网络层之间增加4字节的MPLS标签,基于MPLS标签实现数据快速转发。

1. MPLS的发展历程



  • 技术定位数据链路层网络层间增加4字节标签(类似802.1Q标签)
  • 发展转折:早期解决IP转发效率问题,后因硬件芯片发展转向VPN应用
  • 典型场景:电子政务外网等广域网互联与业务隔离需求

2. MPLS的标签分发与操作

  • 标签分发:通过LDP协议实现(需记忆协议全称)
  • 三大操作
    • PUSH:指当IP标签进入MPLS域时,MPLS边界设备在报文二层首部和IP首部之前插入一个新标签或者MPLS中间设备根据需要,在标签栈顶增加一个新标签(即标签嵌套封装)
    • SWAP当报文在MPLS域内转发时,根据标签转发表,用下一跳分配的标签替换MPLS报文的栈顶标签。(如10→20)
    • POP:当报文离开MPLS域时将MPLS报文的标签去掉,或者在MPLS倒数第二跳的节点处去掉栈顶标签减少标签栈中的标签数目

1)例题#压标签操作设备



  • 关键概念:PUSH操作只在MPLS入口边界设备(LER)执行
  • 排除法:B/C/D选项均包含非边界设备
  • 答案:A(入口LER设备)

2)例题#传递标签协议



  • 协议功能:标签分发协议LDP专用于标签分发(区分BGP/OSPF等路由协议)
  • 实践应用:实际网络多采用LDP动态分发,静态配置较少
  • 答案:A(LDP协议)

3.知识小结

知识点

核心内容

考试重点/易混淆点

难度系数

主播技术应用场景

网络协议通信(RIP/VRRP/OSPF等)和互联网直播/视频业务(IPTV/抖音直播/视频会议)

D类IP地址范围(224-239)

★★☆☆☆

主播地址体系

IP地址(D类)和MAC地址(前25位固定为01-00-5E,后23位由IP映射)

十六进制转换(如23→0x17)

★★★☆☆

主播协议

IGMP(组管理协议) vs ICMP(差错控制协议)

字母拼写差异(G/C)导致功能完全不同

★★★★☆

主播网络架构

无环分发树机制,源端只需发送单份数据

转发效率对比(主播vs单播)

★★☆☆☆

MPS技术本质

二层与三层间插入4字节标签,原为提升IP转发效率,现主要用于MPLS VPN

标签操作类型(push/swamp/pop)

★★★☆☆

MPLS标签分发

LDP协议动态分配标签,支持三种操作:

- push:入口压标签;

- swamp:中间交换标签;

- pop:出口弹标签

LER设备功能(标签边缘路由器)

★★★★☆

MPLS应用场景

电子政务外网等广域网互联与业务隔离

典型组网(国家-省-市-县多级架构)

★★★☆☆

相关文章:

  • 算法笔记.求约数
  • 【iOS】 分类 拓展 关联对象
  • Spring AI 实战:第九章、Spring AI MCP之万站直通
  • 聊聊对Mysql的理解
  • 每日c/c++题 备战蓝桥杯(洛谷P1015 [NOIP 1999 普及组] 回文数)
  • 从头训练小模型: 4 lora 微调
  • 性能优化实践:内存优化技巧
  • LeetCode 热题 100 994. 腐烂的橘子
  • 宏任务与微任务
  • 高等数学第三章---微分中值定理与导数的应用(3.4~3.5)
  • 【前端】【总复习】HTML
  • 互联网大厂Java面试:从基础到实战
  • 运算放大器的主要技术指标
  • 33.降速提高EMC能力
  • SpringBoot中接口签名防止接口重放
  • 前端面经-VUE3篇(三)--vue Router(二)导航守卫、路由元信息、路由懒加载、动态路由
  • Java后端开发day40--异常File
  • 【QT】QT中http协议和json数据的解析-http获取天气预报
  • express 怎么搭建 WebSocket 服务器
  • Linux | 了解Linux中的任务调度---at与crontab 命令
  • 人民日报今日谈:坚决克服麻痹思想,狠抓工作落实
  • 五一假期天气将大转变,南方新一轮降雨来袭
  • 中国固体火箭发动机领域杰出专家赵殿礼逝世,享年92岁
  • 家政阿姨如何炼成全国劳模?做饭、收纳、养老、外语样样都会
  • 中央宣传部、全国总工会联合发布2025年“最美职工”先进事迹
  • 解读|特朗普“助攻”下加拿大自由党“惨胜”,卡尼仍需克服“特鲁多阴影”