2009年5月19日星期二

TCP/IP Guide : 第二篇 TCP/IP 较低层的核心协议 (6) IP 支持协议

IP 设备之间通过 ICMP 控制报文交互可进行各种类型的通信

ICMP 负责IP层的诊断、测试、差错报告

图31-1 ICMP一般操作

ICMP差错报文只能发给源端

ICMP报文:差错报文、信息报文

表31-2 ICMP报文类别、类型、编码

31.4.1 不能生成ICMP差错报文的情况:

ICMP差错报文

广播或多播数据报

第一个分片以外的其他IP数据报分片

非单播源地址数据报

表31-3 ICMP通用报文格式

31.5.2 ICMPv4与ICMPv6 差错报文区别

ICMP差错报文:将初始IP首部及部分或所有载荷封装在ICMP报文中,随后再封装到一个新的IP首部中,作为差错报文报告发送给源端

32 ICMPv4差错报文类型和格式

超时报文:TTL 或 重组定时器 超时

图32-5 使用ICMP重定向报文进行主机重定向

ICMP 重定向报文用于路由器告知主机一个优先路由器,不用于更改路由器之间的路由

回显报文的常见方式是ping,测试主机可达性

路由器定时发送ICMP路由器通知报文向主机通知它们的存在和特征(多播地址224.0.0.1)

新加入网络的主机可以发送路由器请求报文(多播地址224.0.0.2 或 广播地址 255.255.255.255)

提示监听到这些报文的路由器发送路由器通知报文

使用IP选项的traceroute : 当该测试报文沿着路由传输时,经过的每台路由器均向源设备响应一个ICMP Traceroute 报文

使用ICMP 超时报文的traceroute : 依次发送TTL = 1, 2, 3, ...... 的 IP 报文

表34-2 ICMPv4 目的地不可达报文子类型

ICMPv6 回显请求及回显应答报文用于测试设备之间是否能够成功进行通信(ping 程序)

IPv6 路由器定时发送ICMPv6路由器通知报文

ICMPv6邻居通告及邻居请求报文 用于IPv6 ND 协议的部分 主机-路由器 发现功能

35.3 邻居请求报文允许设备检查某个邻居是否存在及可达并使设备能够启动地址解析

邻居通告报文证实主机或路由器存在,并可提供第2层地址信息

35.3.3 邻居通告和邻居请求报文寻址

邻居请求报要么以单播形式发送到目标设备的地址,要么发送到目标设备的请求节点多播地址

为响应邻居请求报文而产生邻居通告报文时,通告报文将以单播形式发送到发出请求报文的设备。如果请求报文是从一个未指明的地址发出的,此时通告报文将被多播到全节点多播地址

ICMPv6 重定向报文总是以单播形式发送到初始发送数据报的设备的地址

36 IPv6 邻居发现(Neighbor Discovery, ND)协议

ND协议规范了与本地网络设备之间通信相关的许多功能

ND是一个报文传递协议,并不实现某一具体的功能,而是通过报文交换完成一组活动

图36-1 邻居发现协议功能组及其功能

36.2 IPv6 ND 概述

36.3 IPv6 ND 的改进

IPv6 ND 主机-主机 通信功能之重复地址检测:当一主机使用IPv6 自动配置功能时,必须确保网络上不存在它试图使用的地址。通过向设备希望使用的地址发送一个邻居请求报文来完成,如果收到一个回应的邻居通告报文,则表明该地址已被使用

没有评论:

发表评论