`
codepeak
  • 浏览: 31916 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论

ICMP(Internet 控制报文协议)

阅读更多

  ICMP经常被认为是IP层的一个组成部分。它传递差错报文以及其他需要注意的信息。ICMP报文通常被IP层或者是更高层协议(TCP,UDP等)使用。一些ICMP报文把差错报文返回给用户进程。

 

ICMP是在IP数据报中被传输的。

 

ICMP报文的类型由报文中的类型字段和代码字段共同决定。

 

当发送一份ICMP差错报文时,报文始终包含IP的首部和产生ICMP差错报文的IP数据报的前八个字节。这样,接收ICMP报文的模块就会把它和某个特定的协议(根据IP数据报首部中的协议字段来判断)和用户进程(根据包含在IP数据报前八个字节中的TCPUDP报文首部中的TCPUDP端口号来判断)联系起来。

 

为了防止广播风暴,下面各种情况都不会导致产生ICMP差错报文:

1) ICMP差错报文(但是ICMP查询报文可能会产生ICMP差错报文)

2) 目的地址是广播地址或多播地址(D类地址)的数据报。

3) 作为链路层广播的数据报

4) 不是IP分片的第一片

5) 源地址不是单个主机的数据报。就是说源地址不能是零地址、环回地址、广播地址或多播地址。

 

 

ping程序和Traceroute程序都使用了ICMP,详情见ping程序和Traceroute程序对应的笔记。

 

ICMP重定向差错,用来将重定向信息发送给主机。

 

IP重定向:

在一个子网中,可能同时存在几个路由,而某一个主机一般将某一个路由作为默认路由,这样,假设路由R1是主机H1的默认路由,而R2是在同一个子网中的另一个路由,H2是另一个网络中的某个主机,并且从R2可以到达(但是H1不知道这个事实)。现在,假设H1要向H2发送一个数据报,那么它将把数据报发送到默认路由R1,R1查询路由表,把这个数据报转发到R2(R1知道从R2可以到达H2),这时R1发现它收到这个数据报的接口和发出的接口是同一个接口,那么它就发送一个ICMP重定向差错报文给H1,告诉H1“下次你要发送给H2的东西,直接发送到R2去吧,不要发到我这来了”。

重定向一般可以用来让具有很少选路信息的主机逐渐建立更完善的路由表。(可以让主机启动时只需要一个默认路由,通过接收重定向报文来慢慢“学习”)

 

声明:文章内容来自《TCP/IP详解》第一卷,部分内容经过本人的整理,仅作学习笔记之用。

  • 大小: 8.5 KB
分享到:
评论

相关推荐

    ICMP 因特网控制报文协议

    ICMP 因特网控制报文协议ICMP 因特网控制报文协议

    计算机网络实验4 - 网际控制报文协议 ICMP 分析

    计算机网络实验4 - 网际控制报文协议 ICMP 分析

    实验五、因特网控制报文协议ICMP

    通过本实验,验证因特网控制报文协议ICMP的报文结构。 2、实验要求 利用数通实验平台仿真软件eNSP提供的工具,构造一个由一台路由器、两台交换机、四台或四台以上终端构成的小规模互联网络;验证其连通性,并分析...

    ICMP:Internet控制报文协议

    I C M P经常被认为是 I P层的一个组成部分。它传递差错报文以及其他需要注意的信息。 I C M P报文通常被I P层或更高层协议(T C P或U D P)使用。一些I C M P报文把差错报文返回给 用户进程。

    ICMP(Internet报文控制协议)

    ICMP(Internet报文控制协议)是在IP层由于IP的不可靠而引入的一个协议。其中主要包括查询报文和应答报文两大类。

    202001Internet协议分析实验报告(第2天).docx

    实验11 Internet控制报文协议(ICMP)分析 练习三 ICMP差错报文编辑与分析 任务一 差错报文编辑与分析 实验15 路由协议分析 练习一 静态路由配置与路由表分析 任务一 静态路由配置与路由表分析 练习二 动态路由...

    HeyMoon#notes#6-ICMP-Internet控制报文协议1

    下面各种情况都不会产生ICMP差错报文:ICMP差错报文(但是ICMP查询报文可能会产生ICMP差错报文)目的地址是广播地址或多播地址(D 类地址)的IP数据报

    NA学习笔记第一、二章 TCP/IP简介

    ICMP 因特网控制报文协议:工作在网络层,能为主机提供有关网络故障的信息。 ping 数据包的因特网探测/tracert:使用ICMP请求回应信息,验证地址配置情况 被保留的私有IP地址: A类 10.0.0.0——10.255.255.255 B类...

    ICMP协议的程序语言实现

    ICMP就是所谓的Internet控制报文协议(Internet Control Message Protocol),在网络中,一般用它来传递差错报文以及其他应注意的信息。ICMP一般被认为是和IP协议同一层的协议,IMCP报文通常被IP层或者更高层的协议...

    《TCPIP详解 卷1:协议》的读书笔记

    ICMP:Internet控制报文协议](6. ICMP:Internet控制报文协议.md) [7. Ping程序](7. Ping程序.md) [8. Traceroute程序](8. Traceroute程序.md) [9. IP选路](9. IP选路.md) [10. 动态选路协议](10. 动态选路协议...

    ICMP详解.rar

    ICMP 网际控制报文协议---internet control message protocol icmp一般被认为是ip的一个组成部分。 icmp向源节点报告关于向目的地址传输IP数据包的错误和信息。 icmp报文通常被ip层或更高层的协议(TCP/UDP)...

    ICMP.rar_icmp ip linux_命令介绍

    ICMP就是所谓的Internet控制报文协议(Internet Control Message Protocol),在网络中,一般用它来传递差错报文以及其他应注意的信息。ICMP一般被认为是和IP协议同一层的协议,IMCP报文通常被IP层或者更高层的协议...

    icmp.rar_TCP或者UDP_tracert

    ICMP就是所谓的Internet控制报文协议(Internet Control Message Protocol),在网络中,一般用它来传递差错报文以及其他应注意的信息。ICMP一般被认为是和IP协议同一层的协议,IMCP报文通常被IP层或者更高层的协议...

    icmp协议 数据包学习材料.

    为了提高 IP 数据报交付成功的机会,在网际层使用了因特网控制报文协议 ICMP (Internet Control Message Protocol)。 ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。 ICMP 报文作为 IP 层数据报的...

    网络协议仿真教学系统

    该系统以太网帧的构成,地址转换协议ARP,网际协议IP,Internet控制报文协议ICMP,Internet组管理协议IGMP,用户数据报协议UDP,传输控制协议TCP,简单网络管理协议SNMP,动态主机配置协议DHCP,域名服务协议DNS,...

    TCPIP常见协议及协议号及端口号

    ICMP——1 (Internet控制报文协议) IGMP——2 (Internet组管理协议) TCP ——6 (传输控制协议) EGP ——8 (外部网关协议) IGP ——9 (专用内部网关协议) UDP ——17 (用户数据报协议) IPv6 ——41 (互联网...

    网络方面基础知识

    ICMP:Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,...

    TCP-IP详解

    第6章ICMP:Internet控制报文协议 第7章Ping程序 第8章Traceroute程序 第9章IP选路 第10章动态选路协议 第11章UDP:用户数据报协议 第12章广播和多播 第13章IGMP:Internet组管理协议 第14章DNS:域名系统 第15章...

    TCPIP协议详解 卷二

    第11章ICMP:Internet控制报文协议 第12章IP 多播 第13章IGMP:Internet组管理协议 第14章IP多播选路 第15章插口层 第16章插口I/O 第17章插口选项 第18章Radix树路由表 第19章选路请求和选路消息 第20章选路插口 第...

    计算机网络课件-网络层

    4.4 网际控制报文协议 ICMP 4.4.1 ICMP 报文的种类 4.4.2 ICMP 的应用举例 4.5 因特网的路由选择协议 4.5.1 有关路由选择协议的几个基本概念 4.5.2 内部网关协议 RIP 4.5.3 内部网关协议 OSPF 4.5.4 外部网关...

Global site tag (gtag.js) - Google Analytics