- 热门文章:
- · ICMP时间戳请求与应答
- · ICMP地址掩码请求与应答
- · ICMP报文的类型
- · ICMP:Internet控制报文协议
- · RARP:逆地址解析协议
- · 免费ARP
- · ARP代理
- · 对不存在主机的ARP请求
- · 运行Telnet这样的普通TCP工具软件ARP会做些什…
- · IP的未来
- · ifconfig命令
- · 一个子网的例子
上一篇:Ping程序在TCP/IP中的应用 >>
ICMP端口不可达差错
ICMP查询报文—地址掩码和时间戳查询及应答。现在来分析一种ICMP差错报文,即端口不可达报文,它是ICMP目的不可到达报文中的一种,以此来看一看ICMP差错报文中所附加的信息。使用UDP来查看它。
UDP的规则之一是,如果收到一份UDP数据报而目的端口与某个正在使用的进程不相符,那么UDP返回一个ICMP不可达报文。可以用TFTP来强制生成一个端口不可达报文。
对于TFTP服务器来说,UDP的公共端口号是69。但是大多数的TFTP客户程序允许用connect命令来指定一个不同的端口号。这里,我们就用它来指定08端口:
c o n n e c t命令首先指定要连接的主机名及其端口号,接着用g e t命令来取文件。敲入g e t 命令后,一份U D P数据报就发送到主机s v r 4上的8 8 8 8端口。t c p d u m p命令引起的报文交换结果如图6 - 8所示。
一个I C M P端口不可达差错是立刻返回的(第4行)。但是,T F T P客户程序看上去似乎忽略了这个I C M P报文,而在5秒钟之后又发送了另一份U D P数据报(第5行)。在客户程序放弃之前重发了三次。
注意,I C M P报文是在主机之间交换的,而不用目的端口号,而每个2 0字节的U D P数据报则是从一个特定端口(2 9 2 4)发送到另一个特定端口(8 8 8 8)。
跟在每个U D P后面的数字2 0指的是U D P数据报中的数据长度。在这个例子中,2 0字节包括T F T P的2个字节的操作代码,9个字节以空字符结束的文件名t e m p . f o o,以及9个字节以空字符结束的字符串n e t a s c i i。
如果用- e选项运行同样的例子,我们可以看到每个返回的I C M P端口不可达报文的完整长度。这里的长度为7 0字节,各字段分配如图6 - 9所示。
一个重要的事实是包含在U D P首部中的内容是源端口号和目的端口号。就是由于目的端口号(8 8 8 8)才导致产生了I C M P端口不可达的差错报文。接收I C M P的系统可以根据源端口号(2 9 2 4)来把差错报文与某个特定的用户进程相关联(在本例中是T F T P客户程序)。
导致差错的数据报中的I P 首部要被送回的原因是因为I P首部中包含了协议字段,使得I C M P可以知道如何解释后面的8个字节(在本例中是U D P首部)。如果我们来查看T C P首部,可以发现源端口和目的端口被包含在T C P首部的前8个字节中。I C M P不可达报文的一般格式如图6 - 1 0所示。
我们还要以时间系列的格式给出t c p d u m p命令的输出,如图6 - 11 所示。
当I C M P报文返回时,为什么T F T P客户程序还要继续重发请求呢?这是由于网络编程中的一个因素,即B S D系统不把从插口( s o c k e t )接收到的I C M P报文中的U D P数据通知用户进程,除非该进程已经发送了一个c o n n e c t命令给该插口。标准的BSD TFTP 客户程序并不发送c o n n e c t命令,因此它永远也不会收到I C M P差错报文的通知。
这里需要注意的另一点是T F T P客户程序所采用的不太好的超时重传算法。它只是假定5 秒是足够的,因此每隔5秒就重传一次,总共需要2 5秒钟的时间。在后面我们将看到T C P有一个较好的超时重发算法。
T F T P客户程序所采用的超时重传算法已被R F C所禁用。不过,在作者所在子网上的三个系统以及Solaris 2.2仍然在使用它。AIX 3.2.2采用一种指数退避方法来设置超时值,分别在0、5、1 5和3 5秒时重发报文,这正是所推荐的方法。
最后需要指出的是,I C M P报文是在发送U D P数据报3.5 ms后返回的,这与第7章我们所看到的P i n g应答的往返时间差不多。
下一篇:ICMP时间戳请求与应答 >>
相关文章:
- · 特殊情况的IP地址
- · 子网掩码
- · IP子网寻址
- · HypertextHTTP协﹚蒓WWW
- · 基于混合TCP-UDP的HTTP协议实现方法
- · HTTP协议状态码的含义
- · 在无线J2ME设备上实现HTTP协议
- · HTTP协议基础
- · 协议分析的优势—HTTP分析器检测网络攻击
- · 利用HTTP协议的特性进行拒绝服务攻击的一些构…
- · HTTP协议三--断点续传
- · SOAP 1.1规范
- · IPV6的选路问题
- · IP地址对IP网络的影响
- · IPv6扩展头的用法
- · IPV6的地址类型
- · 地址表达方式、寻址模型及地址空间
- · ICMPV6
- · 从垃圾邮件看技术劣根性
- · Microsoft SMTP 服务器在第三方测试中可能显示…
- · 电信管理网采用VLAN分析
- · ADSL+MSTP构建城域综合传输网
- · 如何建大规模VoWLAN
- · RPR与MPLS技术融合催生新一代MSTP
- · 如何在交换机上配置VLAN
- · VoWLAN应用凸现
- · 趋势报告
- · 2900XL VLAN config
- · 配置NetScreen 208+C3550 VLAN间路由
- · 大型企业网设VLAN
- · 第三层交换建设企业VLAN
- · VLAN技术在宽带接入系统中的应用
- · 在公司内部如何进行VLAN划分?
- · 如何在交换机上配置VLAN
- · 局域网实现VLAN实例
- · 飞船宽带无线通信
- · 无线Web的挑战
- · 无线LAN走近家庭
