`
mmdev
  • 浏览: 12891339 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

【网络层】精析网络层 -- 网际控制报文协议ICMP

 
阅读更多

网际控制报文协议ICMP(Internet Control Message Protocol)

1)报文格式:ICMP报文封装到IP报文的数据部分

而ICMP报文的数据部分为要报告差错的IP数据报的IP头部和数据部分前8个字节(IP地址和端口号)

2)ICMP的种类:差错控制报文、询问报文

1> 终点不可达 :路由器不能正确交付数据报。比如UDP包头包含未知端口号

2> 源点抑制 :路由拥塞丢弃报文

3> 时间超过 :TTL = 0

4> 参数问题 :报文头部字段有问题

5> 改变路由(重定向):让主机知道下次应将数据报发送给另外路由器

就是发现到达某个主机,不应该先走默认路由,而应该走另外的路由。

3)以下几种情况都不会导致产生ICMP差错报文

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

2> 目的地址是广播地址或多播地址的IP数据报

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

4> 不是IP分片的第一片

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

这些规则是为了防止过去允许ICMP差错报文对广播分组响应所带来的广播风暴。

4)ICMP询问报文有四种回送请求和回答,时间戳请求和回答,掩码地址请求和回答,以及路由器询问和通过。

1>ICMP回送请求报文:向主机发出询问,接收ICMP回送应答报文测试目的站是否可达以及了解其有关状态。

2>ICMP时间戳请求报文

5)ping命令详解 【应用层直接使用网络层】

网间探测(Packet Internet Groper):测试两个主机之间的连通性。使用ICMP的会送请求与回送回答报文。

ping 127.0.0.1 与 ping 本机网卡地址不同 :区别在于拔掉网线之后

6)Traceroute或Tracert

作用:跟踪一个分组从源点到终点的路径

原理:发送IP数据报(包含无法交付的UDP数据报),第一个TTL =1 得到一个 ICMP时间超过的 差错控制报文

第二个IP数据报TTL =2 得到一个ICMP时间超过的差错控制报文

……

最后一个IP报文传输的是一个无法交付的运输层UDP,返回ICMP 终点不可达的差错报告报文

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics