TCP/IP详解:保活定时器的作用与争议

需积分: 10 4 下载量 147 浏览量 更新于2024-07-25 收藏 1.6MB PDF 举报
"TCP-IP详解卷1:协议00006" TCP/IP通信协议是互联网的核心部分,它定义了不同设备如何交换数据。在TCP/IP模型中,TCP(传输控制协议)负责确保数据可靠传输,而IP(互联网协议)处理数据包的路由。在本章节,我们聚焦于TCP的一个特定特性——保活定时器。 保活定时器是TCP实现中的一种附加功能,并非TCP规范的强制要求。它的主要目的是解决长时间无数据交换的TCP连接状态问题。在标准的TCP连接中,如果没有数据流动,连接会保持开放状态,即使中间的网络设备出现问题或者客户端主机崩溃,连接也不会自动断开。这种情况可能导致服务器浪费资源,等待永远不会到来的数据。 TCP的保活定时器设定了一定的时间间隔,例如,每隔一段时间,TCP发送一个保活探测报文段到对端,以确认连接的活性。如果连续多次收不到对端的响应,TCP会认为连接已经丢失,从而发起连接关闭。这样的机制对于服务器应用程序尤其有用,服务器可以通过保活定时器检测客户端是否崩溃,以便及时释放资源。 然而,保活定时器的使用也存在争议。首先,它可能会因短暂的网络故障导致误判,将原本正常的连接错误地断开。其次,定期发送探测报文会消耗网络带宽,尤其是在流量计费的网络环境中可能增加费用。最后,保活功能的实现和管理被认为更适合在应用层由具体的应用程序来完成,而不是TCP层。 尽管有这些争议,很多TCP实现仍然选择提供保活定时器,特别是在一些服务器应用中,如远程登录(Telnet)和文件传输协议(FTP)服务器,它们需要确保及时清理不再使用的资源。例如,当用户使用个人电脑通过TCP/IP连接到 Telnet 主机后,若直接断电而不正常退出,保活定时器可以帮助识别这种情况并关闭连接,避免资源被占用。 TCP的保活定时器是一种用于监控和维护长期无数据交换的TCP连接的机制,旨在提高系统资源的有效利用和网络稳定性。虽然它不是TCP规范的基本要求,但其在某些场景下能提供实用的价值,特别是在服务器端管理客户主机连接的场景。然而,正确理解和配置保活定时器对于避免不必要的连接中断至关重要,这也是网络管理员和开发者需要考虑的问题。
2010-12-29 上传
该文件共分12个压缩包,必须下载到同一个文件夹后解压。 简介: 《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输的不同分组。对tcpdump输出的研究可以帮助理解不同协议如何工作。 本书适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。 目 录 译者序 前言 第1章 概述 1 1.1 引言 1 1.2 分层 1 1.3 TCP/IP的分层 4 1.4 互联网的地址 5 1.5 域名系统 6 1.6 封装 6 1.7 分用 8 1.8 客户-服务器模型 8 1.9 端口号 9 1.10 标准化过程 10 1.11 RFC 10 1.12 标准的简单服务 11 1.13 互联网 12 1.14 实现 12 1.15 应用编程接口 12 1.16 测试网络 13 1.17 小结 13 第2章 链路层 15 2.1 引言 15 2.2 以太网和IEEE 802封装 15 2.3 尾部封装 17 2.4 SLIP:串行线路IP 17 2.5 压缩的SLIP 18 2.6 PPP:点对点协议 18 2.7 环回接口 20 2.8 最大传输单元MTU 21 2.9 路径MTU 21 2.10 串行线路吞吐量计算 21 2.11 小结 22 第3章 IP:网际协议 24 3.1 引言 24 3.2 IP首部 24 3.3 IP路由选择 27 3.4 子网寻址 30 3.5 子网掩码 32 3.6 特殊情况的IP地址 33 3.7 一个子网的例子 33 3.8 ifconfig命令 35 3.9 netstat命令 36 3.10 IP的未来 36 3.11 小结 37 第4章 ARP:地址解析协议 38 4.1 引言 38 4.2 一个例子 38 4.3 ARP高速缓存 40 4.4 ARP的分组格式 40 4.5 ARP举例 41 4.5.1 一般的例子 41 4.5.2 对不存在主机的ARP请求 42 4.5.3 ARP高速缓存超时设置 43 4.6 ARP代理 43 4.7 免费ARP 45 4.8 arp命令 45 4.9 小结 46 第5章 RARP:逆地址解析协议 47 5.1 引言 47 5.2 RARP的分组格式 47 5.3 RARP举例 47 5.4 RARP服务器的设计 48 5.4.1 作为用户进程的RARP服务器 49 5.4.2 每个网络有多个RARP服务器 49 5.5 小结 49 第6章 ICMP:Internet控制报文协议 50 6.1 引言 50 6.2 ICMP报文的类型 50 6.3 ICMP地址掩码请求与应答 52 6.4 ICMP时间戳请求与应答 53 6.4.1 举例 54 6.4.2 另一种方法 55 6.5 ICMP端口不可达差错 56 6.6 ICMP报文的4.4BSD处理 59 6.7 小结 60 第7章 Ping程序 61 7.1 引言 61 7.2 Ping程序 61 7.2.1 LAN输出 62 7.2.2 WAN输出 63 7.2.3 线路SLIP链接 64 7.2.4 拨号SLIP链路 65 7.3 IP记录路由选项 65 7.3.1 通常的例子 66 7.3.2 异常的输出 68 7.4 IP时间戳选项 69 7.5 小结 70 第8章 Traceroute程序 71 8.1 引言 71 8.2 Traceroute 程序的操作 71 8.3 局域网输出 72 8.4 广域网输出 75 8.5 IP源站选路选项 76 8.5.1 宽松的源站选路的traceroute 程序示例 78 8.5.2 严格的源站选路的traceroute 程序示例 79 8.5.3 宽松的源站选路traceroute程序 的往返路由 80 8.6 小结 81 第9章 IP选路 83 9.1 引言 83 9.2 选路的原理 84 9.2.1 简单路由表 84 9.2.2 初始化路由表 86 9.2.3 较复杂的路由表 87 9.2.4 没有到达目的地的路由 87 9.3 ICMP主机与网络不可达差错 88 9.4 转发或不转发 89 9.5 ICMP重定向差错 89 9.5.1 一个例子 90 9.5.2 更多的细节 91 9.6 ICMP路由器发现报文 92 9.6.1 路由器操作 93 9.6.2 主机操作 93 9.6.3 实现 93 9.7 小结 94 第10章 动态选路协议 95 10.1 引言 95 10.2 动态选路 95 10.3 Unix选路守护程序 96 1