TCP/IP详解卷一07

1.Ping:目的是为了测试另一台主机是否可达。Ping程序发送一份icmp回显请求报文给主机,并等待返回ICMP回显应答(用ping作为诊断工具山如剖析ICMP,检测IP记录路由和时间戳选项的机会)(地址掩码和时间戳请求也都直接在内核中处理)。

2.发送回显请求的ping程序为客户,被ping的主机为服务器。(Unix系统中在实现ping程序时是把ICMP报文中的标识符字段设置成发送进程的ID, 此时序列号从0开始,每发送一次回显请求就会加1(ping程序打印出返回的每个分组的序列号,允许查看是否有分组丢失、失序或者重复))

3.LAN输出:当打印ICMP回显应答时,要打印序列号和TTL,并计算往返时间。回显应答事宜发送的次序返回的(seq=0.1.2.)。

  ping程序通过在ICMP报文数据中的时间值来计算往返时间)

  第一行(DNS在此时确定主机名所对应的IP地址):包括目的主机IP地址(第一个往返时间比其他的大,因为目的端的硬件地址不在ARP高速缓存中(即在发送第一个回显请求之前要发送一个ARP请求并接受ARP应答))(提供具有微秒级分辨率的计数器,但是PIing程序只能打印出毫秒级的往返时间)

4.WAN输出(在广域网上会有很大的不同)(即在广域网上有可能看到重复的分组(即相同序列的分组被打印两次或者更多次),失序的分组(即序列号为N+1的分组在序列号为N的分组之前被打印))

5.线路SLIP链接

  计算往返时间:(1)IP数据报的总长度:ICMP报文(56个字节)+IP首部(20个字节)+ICMP首部(8个字节)

         (2)IP数据报的开始和结束加上END字符(2个字节)

         (3)SLIP链路层传输速率为1200b/s,(每个字节含有8bit数据,1bit起始位和1bit结束位),则传速速率是每秒120个字节(8.33ms)。

         (4)计算往返时间:1433*(86*8.33*2)ms

6.拨号SLIP链路(链路的两端添加了调制解调器(会带来时延,同时,随着数据的压缩,分组长度可能会减小,有使用了错误控制协议,分组长度又有可能增加,另外,接收端的调制解调器只能在验证了循环检验字符(检验和)后才能释放收到的数据))  

6.IP记录路由选项

  ping -r:提供记录路由的功能,使得ping程序在发送出去的IP数据报中设置IPRR选项。这样。每个处理该数据报的路由器都把它的IP地址放入选项字段中。当数据报到达目的端时,IP地址清单应该复制到ICMP回显应答中,这样返回途中所经过的路由器地址也被加入清单中。

  注意:一些系统不打ICMP请求中的IP清单复制到ICMP应答中。

          IP首部只有有限的空间来存放IP地址。其中,分组所经过的四站,每一站都会将自己的IP地址加入RR清单。

  code(一个字节):指明IP选项的类型。

  len:RR选项总字节长度(ping一般提供39字节的选项字段,最多可以记录9个IP地址,(IP首部留给选项的空间有限))

  ptr:指针字段,用来存放下一个IP地址的位置(基于1的指针);存放第一个IP地址的位置(最小值为4);ptr的值分别为8,12,16,最大为36;当记录下9个IP地址后,ptr的值为40,表示清单已满。

  路由器在清单中记录IP地址时记录出口IP地址,当原始主机收到带有RR选项的ICMP回显应答时,也要把它的入口IP地址放入清单中。

  路由器在不同方向分别加入不同的IP地址,始终是把出口的IP地址加入清单。ICMP回显系统到达原始系统时,将自己的入口IP地址加入了清单中。

  异常输出?????(以太网上有超过150台主机,怎么确定)

7.IP时间戳选项(根据标志字段来进行)

  只记录时间戳没有用处,需要表明时间戳与路由器之间的对应关系(不变的拓扑结构除外)。

8.ping程序是对两个TCP/IP系统连通性进行测试的基本工具。它只是利用ICMP回显请求和回显英达保温,而不经过传输层(TCP/UDP)。ping服务器一般在内核中实现ICMP的功能。

  

原文地址:https://www.cnblogs.com/any000yna/p/7467341.html