《TCP/IP路由技术(第一卷)(第二版)》一1.5 ICMP

简介:

本节书摘来自异步社区《TCP/IP路由技术(第一卷)(第二版)》一书中的第1章,第1.5节,作者【美】Jeff Doyle,CCIE #1919,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.5 ICMP

Internet消息控制协议(ICMP)指定了多种消息类型,这些消息的共同目的就是管理网络,详见RFC792。ICMP的消息可以分为错误消息、请求消息和响应消息。图1-16给出了一般的ICMP数据包格式。数据包可以通过类型来标识,许多数据包类型都有多个指定的类型,可以用代码字段来标识它们。表1-6列出了多种ICMP的数据包类型和代码,详见RFC1700。


c5eff4ae51cb680ae80bdbe8daef1b29b967d376


b96d79f5d1e5bc6a5b9e6c8d665f82f4b4e61890


10cf2efa13da7fedc81edebb773510ca57cd4753


205b2329ad28c316ba27c690a77d3d4387f9f8c1

示例1-11和示例1-12给出了协议分析器捕捉到的两种众所周知的ICMP消息——Echo请求和Echo回复,它们常用在ping命令的功能中。

示例1-11 ICMP的Echo消息及其IPv4头部


643d4a826c794fa350b64a993b7766e1286a5b6b

示例1-12 ICMP的Echo回复消息


6bca06cc911f5a2ec79831bfdf3f301955d0bb96

虽然大部分ICMP类型都与路由选择功能有关,但是有3个类型特别重要:

  • 路由器通告(Router Advertisement)和 路由器选择(Router Selection)——分别是类型9和类型10,它们用于ICMP路由器发现协议(IRDP)。IRDP协议用于某些操作系统发现本地的路由器(例如微软Windows操作系统的大多数版本)。
  • 重定向(Redirection)——是ICMP的类型5,被路由器用于通知主机去往指定目标的网关,是数据链路上的另一台路由器。假设路由器A和路由器B连接在相同的以太网上,主机X也在以太网上,而且X还把路由器A配置为自己的缺省网关。如果主机向路由器A发送数据包,而路由器A发现该数据包目的地址需通过路由器B才可以到达(即路由器A必须在接收此数据包的端口再次转发此数据包)。路由器A不仅要向路由器B转发数据包,而且还要向主机X发送ICMP重定向消息,通知它如果继续向特定的目标发送数据包,那么请直接将数据包发送给路由器B。示例1-13显示出路由器发送了一个重定向消息。
    示例1-13 使用调试功能debug ip icmp,可以看到路由器向主机10.158.43.25发送了一个重定向消息,通知它到达目的地10.158.40.1的正确网关应该是路由器10.158.43.10


ac9422da9fbbb4166eec1028023683b09ab1e533

当数据链路上连接多台路由器时,避免数据包重定向的一个窍门是将每一台主机的缺省网关设置为主机自己的IPv4地址。于是主机对任何目的地址都会发送ARP请求,当目的地址不属于本地数据链路时,合适的路由器将通过代理ARP功能回复请求。使用这种策略避免重定向是有争议的,因为重定向会被减少或消除,但是ARP的流量又增加了。

在IOS软件系统中,缺省状态下重定向功能是打开的。在接口上使用命令no ip redirects可以关闭此功能。

相关文章
|
8月前
|
机器学习/深度学习 人工智能 网络协议
TCP/IP五层(或四层)模型,IP和TCP到底在哪层?
TCP/IP五层(或四层)模型,IP和TCP到底在哪层?
144 4
|
2月前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
99 2
|
4月前
|
缓存 网络协议 网络架构
网络抓包分析【IP,ICMP,ARP】以及 IP数据报,MAC帧,ICMP报和ARP报的数据报格式
本文详细介绍了如何使用网络抓包工具Wireshark进行网络抓包分析,包括以太网v2 MAC帧、IP数据报、ICMP报文和ARP报文的格式,以及不同网络通信的过程。文章通过抓包分析展示了IP数据报、ICMP数据报和ARP数据报的具体信息,包括MAC地址、IP地址、ICMP类型和代码、以及ARP的硬件类型、协议类型、操作类型等。通过这些分析,可以更好地理解网络协议的工作机制和数据传输过程。
网络抓包分析【IP,ICMP,ARP】以及 IP数据报,MAC帧,ICMP报和ARP报的数据报格式
|
8月前
|
网络协议 Linux 网络安全
IP 数据包格式 ICMP协议
IP 数据包格式 ICMP协议
|
7月前
|
网络协议 安全 Linux
【内网安全】隧道技术&SSH&DNS&ICMP&SMB&上线通讯Linux&Mac
【内网安全】隧道技术&SSH&DNS&ICMP&SMB&上线通讯Linux&Mac
109 0
|
7月前
|
安全 网络协议 Linux
【内网安全】 隧道技术&SMB&ICMP&正反向连接&防火墙出入规则上线
【内网安全】 隧道技术&SMB&ICMP&正反向连接&防火墙出入规则上线
|
监控 网络协议 网络架构
IP协议【图解TCP/IP(笔记九)】
IP协议【图解TCP/IP(笔记九)】
165 0
|
负载均衡 网络协议 安全
DNS协议、ICMP协议、NAT技术(二)
DNS协议、ICMP协议、NAT技术
261 0
|
域名解析 存储 缓存
DNS协议、ICMP协议、NAT技术(一)
DNS协议、ICMP协议、NAT技术
276 0
|
域名解析 网络协议
IP协议, TCP协议 和DNS 服务分别是干什么的?
大家好,我是阿萨。昨天讲解了网络四层协议[TCP/IP协议族分为哪4层?]今天我们学习下IP 协议, TCP 协议和DNS 协议分别是干什么的。
318 0
IP协议, TCP协议 和DNS 服务分别是干什么的?

热门文章

最新文章