|
ICMP协议(1)
ICMP协议 http://91mail.51.net提供,要详细的附图的翻译,请到http://91mail.51.net下载 英特网控制信息协议目地和特征被概略说明在RFC 792中,如提供为非短暂的错误情况送错误信息的方法, 和提供一个为了要测定有关网络的一般特性而探查网络的手段。后来RFC 1122, 和RFC 1812阐明了一些ICMP协议的特征。为了要可靠地而且一致的用其他的ICMP协议进行工作,我们需要合并RFC 792 , RFC 1122和RFC 1812 。其他的RFCS为ICMP协议定义了其他的功能性: RFC 896- 源路由失败 RFC 950- 地址掩饰扩展 RFC 1191- MTU 路径的发现 RFC 1256- 路由器发现 RFC 1349- 在英特网协议组1中的服务类型 一种比较正确的定义英特网控制信息协议的目标,和特征可能是它使用的两种操作的类型:当一个路由器或一个目的地主机在一数据报处理中需要告知有关错误的来源主机的时候 ,和为了要测定有关网络的一般特性 而使用的网络测定请求和答复信息. 1 ICMP规范 ICMP信息在IP数据报中传送。 虽然ICMP使用IP做于底层支持,好象它是一个高层协议,而实际上它是IP的一部分,必须由其它IP模块实现。IP并非设计为设计为绝对可靠,这个协议的目的是为了当网络出现问题的时候返回控制信息,而不是使IP协议变得绝对可靠,并不保证数据报或控制信息能够返回。一些数据报仍将在没有任何报告的情况下丢失。上层协议必须使用自己的差错控制程序来判断通信是否正确.RFC 792为ICMP定义IP协议的ID号是1 。它也规定IP类型—服务域值和优先权地位的数值应该和零相等。依照RFC 1812,路由器将会使用价值6或7如他们的IP优先一点点用 ICMP错误信息评价。 1.1有关ICMP信息的特殊情况 对於暂态错误信息 应该不发送ICMP错误信息。 对於接着的情况ICMP协议有在RFC 792中被定义的内部工作的严格规则: .为避免无限重复在ICMP错误信息返回之後将不在发送ICMP错误信息. .对於支离破碎的IP数据报只是在零碎片上发送错误的ICMP信息.(第一个碎片) .ICMP错误信息从不在注定到广播或多点传送地址的数据报回应中发送。 .ICMP错误信息从不在作为联结层广播的数据报回应中发送. .ICMP错误信息从不在源地址不表示唯一主机—源IP位址不可能是零,环路地址,一个广播地址或一个多点广播地址的数据报回应中发送。 .ICMP错误信息并不在任意类型的IGMP信息回应中被发送。当未知类型的一个ICMP信息是被收到的时候,它必须默默的被丢弃。 .除了信息到达 目的主机的之外,路由器将会几乎总是产生ICMP信息 (s),被产生的ICMP信息的数目是由执行来决定的。 从比较靠近的角度看各种不同的规则,我们能得出一个有关 “网络风暴” 的想法,而且额外的网络通信量是在绝大部份的ICMP协议特别条件之后。 2 ICMP信息 ICMP习惯用于两种操作类型: 。报告非暂态错误的条件。 。为了要测定有关网络的一般特性用请求和 应答信息的 测试 网络。 一个被做为”信息类型”的数字代码,被分配给每个ICMP信息;它详细叙述信息的类型。另外的一个数目码为被叙述的ICMP类型表现 “码” 。 它当作一个子类型使用,和它的描述取决于信息类型。 ICMP协定有二种类型的运算;因此它的信息也被分成两种: ICMP错误信息 ICMP查询信息 英特网分配数字当局 (IANA) 有一个现在已被注册的定义ICMP信息类型的列表。 它也列出定义ICMP信息的RFC 。 该列表查询网址 : http://www.isi.edu/in-注意/iana/指定/icmp-叁数。表1定义各种不同的ICMP类型和码。 1 ICMP错误信息 ICMP错误信息用来报告一个妨碍传输的问题。问题的本质应该是一个非暂态传送问题。 在ICMP错误信息里面一些域位总是被传送: ICMP错误信息的一般格式 。ICMP错误信息长度 每个ICMP错误信息包括IP表头 (20到60位字节) 和引起了错误的至少最初的8个数据字节,;超过8位字节可以被传送; 收到的数据包中这个表头和数据从被一定是为改变的。因此,一个ICMP错误信息长度应该是 在36到72位字节之间 . ICMP错误信息 目的地不能到达(类型3)源地址丢失 (类型4)再直接的 (类型5)时间超时 (类型11)叁数问题 (类型12)
|