我开发了一个基于 Beancount 的账本托管服务 HostedBeans,欢迎大家来了解纯文本复式记账并试用我的服务。
查看源代码

TCP/IP 笔记(5.ICMP)

IP是不可靠的传输协议,并没有提供错误处理相关的功能. 错误处理的能力由ICMP(Internet Control Message Protocol,互联网控制消息协议)提供.

ICMP是配合IP运行的不可或缺的重要机制,IMCP也运行于网际层,利用IP的传输能力来发送消息.

TCP/IP的错误报告与信息性功能主要是通过ICMP来传达的.

ICMP可用于进行:

  • 流程控制

当数据报抵达的速度太快而来不及处理时,目的主机或中间网关会回传一个SQM(ICMP Source Quench Message)给发送方,要求数据报的来源停止传送.

  • 无法到达目的地

当无法将数据报送达目的地时,检测到此问题的系统会发出DUM(Destination Unreachable Message)给数据包的来源.

所谓目的地,可能是某网络或某主机,也可能是目标主机的通讯端口.

对于前者,由中间网关发出DUM, 后者则由目标主机发出DUM.

  • 重定向路由

网关通过RM(ICMP Redirect Message)让主机知道另一个网关或许是比较好的选择. 只有源主机与网关都位于同一个网络上时,才能使用该消息.

  • 检查远程主机

主机可利用EM(ICMP Echo Message)来检查远程主机的IP是否已经激活,以及是否能正常运行. 当一个系统收到EM后,他会将收到的数据返回给源主机.

ping命令使用的就是EM.

撰写评论

如希望撰写评论,请发邮件至 jysperm@gmail.com) 并注明文章标题,我会挑选对读者有价值的评论附加到文章末尾。

精子生于 1995 年,英文 ID jysperm.

订阅推送

通过 Telegram Channel 订阅我的博客日志、产品和项目的动态:

王子亭的博客 @ Telegram


通过邮件订阅订阅我的博客日志、产品和项目的动态(历史邮件):

该博客使用基于  Hexo  的  simpleblock  主题。博客内容使用  CC BY-NC-ND  授权发布。最后生成于 2024-04-08.