ICMP端口号问题_听闻的技术博客_51CTO博客

blog.51cto.com · · 2341 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

ICMP端口号的深思

朋友面试的时候回来问我:小温,说一下ICMP的端口号是多少呢?

当时我也懵了,我是这样回答的:ICMP是Internet控制报文协议,没有端口号吧?这个不太清楚啊。

呵呵,一个常见的协议问题,很纠结:所以稍作总结:

ICMP简介:

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

ICMP功能:

从技术角度来说,ICMP就是一个“错误侦测与回报机制”,其目的就是让我们能够检测网路的连线状况﹐也能确保连线的准确性﹐其功能主要有:

  • 侦测远端主机是否存在。

  • 建立及维护路由资料。

  • 重导资料传送路径。

ICMP报文格式:
ICMP报文包含在IP数据报中,属于IP的一个用户,IP头部就在ICMP报文的前面,所以一个ICMP报文包括IP头部、ICMP头部和ICMP报文。

IP头部的Protocol值为1就说明这是一个ICMP报文,ICMP头部中的类型(Type)域用于说明ICMP报文的作用及格式;代码(Code)域用于详细说明某种ICMP报文的类型,所有数据都在ICMP头部后面。RFC定义了11种ICMP报文格式(其中代码为15  信息请求;16     信息应答,的信息报文已经作废),具体如下:
类型代码     类型描述
0     响应应答(ECHO-REPLY)
3     不可到达
4     源抑制
5     重定向
8     响应请求(ECHO-REQUEST)
11     超时
12     参数失灵
13     时间戳请求
14     时间戳应答
17     地址掩码请求
18     地址掩码应答
ICMP报文格式就分析到这里了(后续我会通过抓包的形式截图分析的)。

最后补充一点:

ICMP是网络层协议;

Ping使用的是ICMP协议,ICMP不像http,FTP应用层有传输层的端口号,(它们使用TCP的端口号80和20/21)。ICMP直接封装在IP包内,所使用IP协议号为1。

总结:Ping用到的是ICMP协议。不是端口。ICMP没有端口号可言。

欢迎关注微信公众号:小温研习社

欢迎关注yanxishe.png

本文来自:blog.51cto.com

感谢作者:blog.51cto.com

查看原文:ICMP端口号问题_听闻的技术博客_51CTO博客

2341 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传