Introduction to Computer Networking学习笔记(七):ICMP协议

本文深入探讨了保证网络层正常运作的三大核心机制:IP协议、转发表与ICMP协议的功能与工作原理。通过理解IP协议如何封装数据报,转发表如何通过算法更新路由,以及ICMP如何在终端与路由间传递网络层信息并帮助诊断问题,读者可以全面掌握网络层的工作机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

保证网络层能够正常工作的三个机制:

1.IP协议

封装datagram;

端对端hop to hop传输。

 

2.转发表

通过算法更新路由中的转发表。

 

3.互联网报文控制协议ICMP(Internet Control Message Protocol)

在终端与路由之间传递网络层信息;

报告出现的问题反馈;

帮助诊断问题。

 

ICMP详解:
概念:


ICMP协议是在网络层之上的,也就是说严格意义上来说它是属于传输层的。当路由想要报告一个错误并返回给源发送者时,它会将源数据封装进ICMP payload,并传输到网络层,形成datagram之后发送给源发送者。比如当一条以太网帧TTL过期,也就是认为该帧陷入了循环,就会产生ICMP消息。并且ICMP消息是不可靠的,有点类似于UDP。

产生过程:


下面是一个ICMP包产生的过程,最上面一条是出现错误的原始IP报文,它会将原始报文的首部及DATA部的前8byte内容封装到ICMP message中,前面添加TYPE及CODE之后封装到一条新的IP报文中,添加IP首部,源地址为当前路由IP,目标地址为原始报文发送者IP。发送回去。

可能导致ICMP消息产生的原因及对应TYPE、CODE:

ICMP TPYEICMP CODEDESCRIPTION
00

Echo Reply (used by ping)

30

Destination Network Unreachable

31

Destination Host Unreachable

33

Destination Port Unreachable

80

Echo Request (used by ping)

110

TTL Expired (used by traceroute)

 

其中ping利用ICMP的机制如下图:

traceroute也是利用里ICMP,我们可以在terminal用traceroute查看一个请求经过的所有的路由,工作机制如下图:host A依次发送TTL=1,2,...的UDP协议消息,这样依次第1,2,...个路由器会返回ICMP消息,这样就知道了各个路由的信息。同时这些消息会包含一个错误的端口号,当到达host B时,host B会返回port UNreachable的ICMP消息,这样就获得host B的信息。



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值