TCP-IP详解卷1:协议 学习笔记(5) RARP ICMP

参考:TCP-IP详解卷1:协议

RARP

RARP分组的格式与ARP分组基本一致,它们之间的主要差别是RARP请求或应答的帧类型为0x8035,RARP请求的操作码为3,应答操作码为4。

RARP请求以广播的方式传送,RARP应答一般是单播传送的。

RARP服务器实现的一个复杂因素是RARP请求是在硬件层上进行广播的,这意味着它们不经过路由器进行转发。为了让无盘系统在RARP服务器关机状态下也能引导,通常在一个网络上要提供多个RARP服务器。

当服务器的数目增加时,网络流量也随之增加,因为每个服务器对每个RARP请求都要发送RARP应答。发送RARP请求的无盘系统一般采用最先收到的RARP应答。另外,还有一种可能发生的情况是每个RARP服务器同时应答,这样会增加以太网发送冲突的概率。

RARP协议是许多无盘系统在引导时用来获取IP地址的。RARP分组格式基本上与RAP分组一致,一个RARP请求在网络上进行广播,在分组中标明发送端的硬件地址,以请求相应IP地址的响应。应答通常是单播传送的。

ICMP Internet控制报文协议

ICMP经常被认为是IP层的一个组成部分。传递差错报文以及其他需要注意的信息。ICMP报文通常被IP层或更高层协议(TCP或UDP)使用。一些ICMP报文把差错报文返回给用户进程。

ICMP报文是在IP数据报内部被传输的

ICMP报文的格式如下图所示,所有报文的前4个字节都是一趟的,但是剩下的其它字节则互不相同。

类型字段可以有15个不同的值,以描述特定类型的ICMP报文。某些ICMP报文还使用代码字段的值来进一步描述不同的条件。

检验和字段覆盖整个ICMP报文,ICMP的检验和是必须的。

当发送一份ICMP差错报文时,报文始终包含IP的首部和产生ICMP差错报文的IP数据报的前8个字节。这样,接收ICMP差错报文的模块就会把它与某个特定协议(根据IP数据报首部中的协议字段来判断)和用户进程(根据包含在IP数据报前8个字节中的TCP或UDP报文首部中的TCP或UDP端口号来判断)联系起来。

下面各种情况都不会导致产生ICMP差错报文:

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

(2)目的地址时广播地址或多播地址的IP数据报

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

(4)不是IP分片的第一片

(5)源地址不是单个主机的数据报。就是说,源地址不能为零地址、环回地址、广播地址或多播地址。

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

ICMP地址掩码请求用于无盘系统在引导过程中获取自己的子网掩码。系统广播它的ICMP请求报文(这一过程与无盘系统在引导过程中用RARP获取IP地址时类似的)。无盘系统获取子网掩码的另一个方法是BOOTP协议。ICMP地址掩码请求和应答报文的格式:

ICMP报文中的标识符和序列号字段由发送端任意选择设定,这些值在应答中将被返回。

ICMP时间戳请求允许系统向另一个系统查询当前的时间。返回的建议值是自午夜开始计算的毫秒数。协调的统一时间。这种ICMP报文的好处是它提供了毫秒级的分辨率,而利用其它方法从别的主机获取的时间只能提供秒级的分辨率。由于返回的时间是从午夜开始计算的,因此调用者必须通过其他方法获知当时的日期,这是一个缺陷。

请求端填写发起时间戳,然后发送报文。应答系统收到请求报文时填写接收时间戳,在发送应答时填写发送时间戳。大多数的实现把后面的两个字段都设成相同的值(提供三个字段的原因是可以让发送方分别计算发送的请求时间和发送应答的时间)。

ICMP端口不可达报文,是ICMP目的不可达报文中的一种。

UDP的规则之一是,如果收到一份UDP数据报,而目的端口与某个正在使用的进程不相符,那么UDP返回一个ICMP不可达报文,可以用TFTP强制生成一个端口不可达报文。

ICMP报文是在主机之间交换的,不用目的端口号,而每个20字节的UDP数据报则是从一个特定端口号发送到另一个特定端口。

跟在每个UDP后面的数字20是指UDP数据报中的数据长度。

ICMP的一个规则是,ICMP差错报文,必须包括生产该差错报文的数据报IP首部(包含任何选项),还必须至少包括跟在该IP首部后面的前8个字节。

一个重要的事实是包含在UDP首部中的内容是源端口号和目的端口号。就是由于目的端口号才导致产生了ICMP端口不可达的差错报文。接受ICMP的系统可以根据源端口号把差错报文来把差错报文与某个特定用户进程相关联。

导致差错的数据报中的IP首部要被送回的原因是IP首部中包含了协议字段,使得ICMP可以知道如何解释后面的8个字节。

有16种不同类型的ICMP不可达报文,代码分别从0到15。ICMP端口不可达差错代码是3。

猜你喜欢

转载自blog.csdn.net/sxllllwd/article/details/83614921
今日推荐