ICMP协议

ICMP协议详解

  • ICMP协议是一个网络层协议
    一个新搭建好的网络,为了检测网络是否畅通;但是IP协议并不提供可靠传输,如果丢包了,IP协议并不能通知传输层是否丢包以及丢包的原因。所以就需要一种协议来完成这样的功能——ICMP协议
  • ICMP协议的功能
    1.确认IP包是否成功到达目标地址
    2.通知在发送过程中IP包被丢弃的原因
    我们注意以下两点:
    1.ICMP是基于IP协议工作的,但是它并不是传输层的功能,因此把它归结为网络层协议
    2.ICMP只能搭配IPv4使用,如果是IPv6的情况下,需要用ICMPv6
  • ICMP报文格式
    ICMP报文包含在IP数据报中,IP报头在ICMP报文的最前面。一个ICMP报文包括在IP报头(至少20字节)、ICMP报头(至少8字节)和ICMP报文。当IP报头中的协议字段值为1时,就说明这是一个ICMP报文。如图所示:
    在这里插入图片描述
  • 类型:占1字节,表示ICMP报文的类型,从类型值来看ICMP报文可分为两大类。第一类是取值为1-127的差错报文,第二类是取值128以上的信息报文
  • 代码:占一字节,表示对应ICMP报文的代码。它与类型字段一起共同标识了ICMP报文的详细类型
  • 校验和:这是对包括ICMP报文数据部分在内的整个ICMP数据报的校验和,以检验报文在传输过程中是否出现了差错

ping命令

ping www.baidu.com
此处ping的是域名,不是url,域名可以通过DNS解析程IP地址
ping命令的功能
(1)能检验网络的连通性
(2)会统计响应事件和TTL(IP包中的Time To Live,生存周期)
那么如何验证的呢?
(1)ping命令会先发送一个ICMP Echo Request给对端
(2)对端接收到之后,会返回一个ICMP Echo Reply
(3)若没有返回,就是超时了,会认为指定的网络地址不存在
问题:telnet是23端口,ssh是22端口,那么ping是什么端口?
答:ping命令是基于ICMP,是在网络层。
而端口号是在传输层的内容,所以在ICMP中根本就不会关注端口号这样的信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值