→→ TCP/IP技术大全 424页 13.8M 超清书签版 ←←
发布时间:2011-4-28 21:48
发布者:tyw
封面 1 第1 章概述 2 1.1 引言 2 1.2 分层 2 1.3 TCP/IP 的分层 5 1.4 互联网的地址 6 1.5 域名系统 7 1.6 封装 8 1.7 分用 9 1.8 客户-服务器模型 10 1.9 端口号 10 1.10 标准化过程 11 1.11 RFC 12 1.12 标准的简单服务 12 1.13 互联网 13 1.14 实现 13 1.15 应用编程接口 14 1.16 测试网络 14 1.17 小结 14 第2 章链路层 16 2.1 引言 16 2.2 以太网和IEEE 802 封装 16 2.3 尾部封装 18 2.4 SLIP :串行线路IP 18 2.5 压缩的SLIP 19 2.6 PPP :点对点协议 19 2.7 环回接口 20 2.8 最大传输单元MTU 22 2.9 路径MTU 22 2.10 串行线路吞吐量计算 22 2.11 小结 23 第3 章IP :网际协议 25 3.1 引言 25 3.2 IP 首部 25 3.3 IP 路由选择 28 3.4 子网寻址 31 3.5 子网掩码 33 3.6 特殊情况的IP 地址 33 3.7 一个子网的例子 34 3.8 ifconfig 命令 35 3.9 netstat 命令 37 3.10 IP 的未来 37 3.11 小结 38 第4 章ARP :地址解析协议 39 4.1 引言 39 4.2 一个例子 39 4.3 ARP 高速缓存 41 4.4 ARP 的分组格式 41 4.5 ARP 举例 41 4.5.1 一般的例子 41 4.5.2 对不存在主机的ARP 请求 43 4.5.3 ARP 高速缓存超时设置 44 4.6 ARP 代理 44 4.7 免费ARP 45 4.8 arp 命令 46 4.9 小结 47 第5 章RARP :逆地址解析协议 48 5.1 引言 48 5.2 RARP 的分组格式 48 5.3 RARP 举例 48 5.4 RARP 服务器的设计 49 5.4.1 作为用户进程的RARP 服务器 49 5.4.2 每个网络有多个RARP 服务器 50 5.5 小结 50 第6 章ICMP :Internet 控制报文协议 51 6.1 引言 51 6.2 ICMP 报文的类型 51 6.3 ICMP 地址掩码请求与应答 53 6.4 ICMP 时间戳请求与应答 54 6.4.1 举例 55 6.4.2 另一种方法 56 6.5 ICMP 端口不可达差错 57 6.6 ICMP 报文的4.4BSD 处理 60 6.7 小结 61 第7 章Ping 程序 62 7.1 引言 62 7.2 Ping 程序 62 7.2.1 LAN 输出 63 7.2.2 WAN 输出 64 7.2.3 线路SLIP 链接 65 7.2.4 拨号SLIP 链路 66 7.3 IP 记录路由选项 66 7.3.1 通常的例子 67 7.3.2 异常的输出 69 7.4 IP 时间戳选项 70 7.5 小结 71 第8 章Traceroute 程序 72 8.1 引言 72 8.2 Traceroute 程序的操作 72 8.3 局域网输出 73 8.4 广域网输出 76 8.5 IP 源站选路选项 77 8.5.1 宽松的源站选路的t r a c e r o u t e 程序示例 78 8.5.2 严格的源站选路的t r a c e r o u t eL?? 80 8.5.3 宽松的源站选路t r a c e r o u t e 程序的往返路由 81 8.6 小结 82 第9 章IP 选路 84 9.1 引言 84 9.2 选路的原理 84 9.2.1 简单路由表 85 9.2.2 初始化路由表 87 9.2.3 较复杂的路由表 88 9.2.4 没有到达目的地的路由 88 9.3 ICMP 主机与网络不可达差错 88 9.4 转发或不转发 90 9.5 ICMP 重定向差错 90 9.5.1 一个例子 91 9.5.2 更多的细节 92 9.6 ICMP 路由器发现报文 93 9.6.1 路由器操作 94 9.6.2 主机操作 94 9.6.3 实现 94 9.7 小结 95 第10 章动态选路协议 96 10.1 引言 96 10.2 动态选路 96 10.3 Unix 选路守护程序 97 10.4 RIP :选路信息协议 97 10.4.1 报文格式 97 10.4.2 正常运行 命令 98 10.4.3 度量 99 10.4.4 问题 99 10.4.5 举例 99 10.4.6 另一个例子 101 10.5 RIP 版本2 103 10.6 OSPF :开放最短路径优先 103 10.7 BGP :边界网关协议 104 10.8 CIDR :无类型域间选路 105 10.9 小结 106 第11 章UDP :用户数据报协议 108 11.1 引言 108 11.2 UDP 首部 108 11.3 UDP 检验和 109 11.3.1 tcpdump 输出 110 11.3.2 一些统计结果 111 11.4 一个简单的例子 111 11.5 IP 分片 112 11.6 ICMP 不可达差错(需要分片) 114 11.7 用Traceroute 确定路径MTU 115 11.8 采用UDP 的路径MTU 发现 117 11.9 UDP 和ARP 之间的交互作用 119 11.10 最大UDP 数据报长度 120 11.11 ICMP 源站抑制差错 121 11.12 UDP 服务器的设计 123 11.12.1 客户IP 地址及端口号 123 11.12.2 目的IP 地址 123 11.12.3 UDP 输入队列 123 11.12.4 限制本地IP 地址 125 11.12.5 限制远端IP 地址 126 11.12.6 每个端口有多个接收者 126 11.13 小结 127 第12 章广播和多播 129 12.1 引言 129 12.2 广播 130 12.2.1 受限的广播 130 12.2.2 指向网络的广播 130 12.2.3 指向子网的广播 130 12.2.4 指向所有子网的广播 130 12.3 广播的例子 131 12.4 多播 133 12.4.1 多播组地址 134 12.4.2 多播组地址到以太网地址的转换 134 12.4.3 FDDI 和令牌环网络中的多播 135 12.5 小结 135 第13 章IGMP :Internet 组管理协议 137 13.1 引言 137 13.2 IGMP 报文 137 13.3 IGMP 协议 137 13.3.1 加入一个多播组 137 13.3.2 IGMP 报告和查询 137 13.3.3 实现细节 139 13.3.4 生存时间字段 139 13.3.5 所有主机组 139 13.4 一个例子 139 13.5 小结 142 第14 章DNS :域名系统 143 14.1 引言 143 14.2 DNS 基础 143 14.3 DNS 的报文格式 145 14.3.1 DNS 查询报文中的问题部分 147 14.3.2 DNS 响应报文中的资源记录部分 147 14.4 一个简单的例子 148 14.5 指针查询 151 14.5.1 举例 151 14.5.2 主机名检查 152 14.6 资源记录 153 14.7 高速缓存 154 14.8 用UDP 还是用TCP 157 14.9 另一个例子 157 14.10 小结 158 第15 章TFTP :简单文件传送协议 160 15.1 引言 160 15.2 协议 160 15.3 一个例子 161 15.4 安全性 162 15.5 小结 163 第16 章BOOTP :引导程序协议 164 16.1 引言 164 16.2 BOOTP 的分组格式 164 16.3 一个例子 166 16.4 BOOTP 服务器的设计 167 16.5 BOOTP 穿越路由器 168 16.6 特定厂商信息 168 16.7 小结 169 第17 章TCP :传输控制协议 171 17.1 引言 171 17.2 TCP 的服务 171 17.3 TCP 的首部 172 17.4 小结 174 第18 章TCP 连接的建立与终止 175 18.1 引言 175 18.2 连接的建立与终止 175 18.2.1 t c p d u m p 的输出 175 18.2.2 时间系列 176 18.2.3 建立连接协议 176 18.2.4 连接终止协议 177 18.2.5 正常的t c p d u m p 输出 178 18.3 连接建立的超时 179 18.3.1 第一次超时时间 179 18.3.2 服务类型字段 180 18.4 最大报文段长度 180 18.5 TCP 的半关闭 181 18.6 TCP 的状态变迁图 183 18.6.1 2MSL 等待状态 184 18.6.2 平静时间的概念 187 18.6.3 FIN_WAIT_2 状态 187 18.7 复位报文段 187 18.7.1 到不存在的端口的连接请求 187 18.7.2 异常终止一个连接 188 18.7.3 检测半打开连接 189 18.8 同时打开 190 18.9 同时关闭 192 18.10 TCP 选项 193 18.11 TCP 服务器的设计 193 18.11.1 TCP 服务器端口号 194 18.11.2 限定的本地IP 地址 195 18.11.3 限定的远端IP 地址 196 18.11.4 呼入连接请求队列 196 18.12 小结 199 第19 章TCP 的交互数据流 201 19.1 引言 201 19.2 交互式输入 201 19.3 经受时延的确认 202 19.4 Nagle 算法 203 19.4.1 关闭Nagle 算法 205 19.4.2 一个例子 205 19.5 窗口大小通告 208 19.6 小结 209 第20 章TCP 的成块数据流 210 20.1 引言 210 20.2 正常数据流 210 20.3 滑动窗口 213 20.4 窗口大小 214 20.5 PUSH 标志 216 20.6 慢启动 217 20.7 成块数据的吞吐量 218 20.7.1 带宽时延乘积 221 20.7.2 拥塞 222 20.8 紧急方式 222 20.9 小结 225 第21 章TCP 的超时与重传 227 21.1 引言 227 21.2 超时与重传的简单例子 227 21.3 往返时间测量 228 21.4 往返时间RTT 的例子 229 21.4.1 往返时间RTT 的测量 230 21.4.2 RTT 估计器的计算 232 21.4.3 慢启动 233 21.5 拥塞举例 233 21.6 拥塞避免算法 236 21.7 快速重传与快速恢复算法 237 21.8 拥塞举例(续) 238 21.9 按每条路由进行度量 241 21.10 ICMP 的差错 241 21.11 重新分组 244 21.12 小结 244 第22 章TCP 的坚持定时器 246 22.1 引言 246 22.2 一个例子 246 22.3 糊涂窗口综合症 247 22.4 小结 251 第23 章TCP 的保活定时器 252 23.1 引言 252 23.2 描述 252 23.3 保活举例 254 23.3.1 另一端崩溃 254 23.3.2 另一端崩溃并重新启动 255 23.3.3 另一端不可达 255 23.4 小结 256 第24 章TCP 的未来和性能 257 24.1 引言 257 24.2 路径MTU 发现 257 24.2.1 一个例子 258 24.2.2 大分组还是小分组 259 24.3 长肥管道 260 24.4 窗口扩大选项 263 24.5 时间戳选项 264 24.6 PAWS :防止回绕的序号 266 24.7 T/TCP :为事务用的TCP 扩展 266 24.8 TCP 的性能 268 24.9 小结 269 第25 章SNMP: 简单网络管理协议 271 25.1 引言 271 25.2 协议 271 25.3 管理信息结构 273 25.4 对象标识符 275 25.5 管理信息库介绍 275 25.6 实例标识 277 25.6.1 简单变量 277 25.6.2 表格 277 25.6.3 字典式排序 278 25.7 一些简单的例子 278 25.7.1 简单变量 279 25.7.2 get-next 操作 279 25.7.3 表格的访问 280 25.8 管理信息库(续) 280 25.8.1 s y s t e m 组 280 25.8.2 interface 组 281 25.8.3 a t 组 282 25.8.4 i p 组 284 25.8.5 i c m p 组 286 25.8.6 t c p 组 286 25.9 其他一些例子 289 25.9.1 接口MTU 289 25.9.2 路由表 289 25.10 Trap 291 25.11 ASN.1 和BER 292 25.12 SNMPv2 293 25.13 小结 293 第26 章Telnet 和Rlogin :远程登录 294 26.1 引言 294 26.2 Rlogin 协议 295 26.2.1 应用进程的启动 296 26.2.2 流量控制 296 26.2.3 客户的中断键 297 26.2.4 窗口大小的改变 297 26.2.5 服务器到客户的命令 297 26.2.6 客户到服务器的命令 298 26.2.7 客户的转义符 298 26.3 Rlogin 的例子 299 26.3.1 初始的客户-服务器协议 299 26.3.2 客户中断键 300 26.4 Telnet 协议 303 26.4.1 NVT ASCII 303 26.4.2 Telnet 命令 303 26.4.3 选项协商 304 26.4.4 子选项协商 305 26.4.5 半双工、一次一字符、一次一行或行方式 306 26.4.6 同步信号 306 26.4.7 客户的转义符 307 26.5 Telnet 举例 307 26.5.1 单字符方式 307 26.5.2 行方式 311 26.5.3 一次一行方式(准行方式) 313 26.5.4 行方式:客户中断键 314 26.6 小结 315 第27 章FTP :文件传送协议 317 27.1 引言 317 27.2 FTP 协议 317 27.2.1 数据表示 317 27.2.2 FTP 命令 319 27.2.3 FTP 应答 320 27.2.4 连接管理 321 27.3 FTP 的例子 322 27.3.1 连接管理:临时数据端口 322 27.3.2 连接管理:默认数据端口 324 27.3.3 文本文件传输:NVT ASCII 表示还是图像表示 326 27.3.4 异常中止一个文件的传输:Telnet 同步信号 327 27.3.5 匿名FTP 330 27.3.6 来自一个未知IP 地址的匿名FTP 331 27.4 小结 331 第28 章SMTP: 简单邮件传送协议 333 28.1 引言 333 28.2 SMTP 协议 334 28.2.1 简单例子 334 28.2.2 SMTP 命令 335 28.2.3 信封、首部和正文 336 28.2.4 中继代理 336 28.2.5 NVT ASCII 337 28.2.6 重试间隔 337 28.3 SMTP 的例子 338 28.3.1 MX 记录:主机非直接连到Internet 338 28.3.2 MX 记录:主机出故障 339 28.3.3 VRFY 和EXPN 命令 341 28.4 SMTP 的未来 341 28.4.1 信封的变化:扩充的SMTP 341 28.4.2 首部变化:非ASCII 字符 343 28.4.3 正文变化:通用Internet 邮件扩充 344 28.5 小结 347 第29 章网络文件系统 348 29.1 引言 348 29.2 Sun 远程过程调用 348 29.3 XDR: 外部数据表示 350 29.4 端口映射器 350 29.5 NFS 协议 352 29.5.1 文件句柄 354 29.5.2 安装协议 354 29.5.3 NFS 过程 355 29.5.4 UDP 还是TCP 356 29.5.5 TCP 上的NFS 356 29.6 NFS 实例 357 29.6.1 简单的例子:读一个文件 357 29.6.2 简单的例子:创建一个目录 358 29.6.3 无状态 358 29.6.4 例子:服务器崩溃 359 29.6.5 等幂过程 360 29.7 第3 版的NFS 361 29.8 小结 362 第30 章其他的TCP/IP 应用程序 364 30.1 引言 364 30.2 Finger 协议 364 30.3 Whois 协议 365 30.4 Archie 、WAIS 、Gopher 、Veronica 和WWW 366 30.4.1 Archie 366 30.4.2 WAIS 367 30.4.3 Gopher 367 30.4.4 Veronica 367 30.4.5 万维网WWW 368 30.5 X 窗口系统 368 30.5.1 Xscope 程序 369 30.5.2 LBX :低带宽X 371 30.6 小结 371 附录A tcpdump 程序 372 A.1 BSD 分组过滤器 372 A.2 SunOS 的网络接口分接头 373 A.3 SVR4 数据链路提供者接口 374 A.4 tcpdump 的输出 374 A.5 安全性考虑 376 A.6 插口排错选项 376 附录B 计算机时钟 377 附录C sock 程序 379 附录D 部分习题的解答 382 附录E 配置选项 396 E.1 BSD/386 版本1.0 396 E.2 SunOS 4.1.3 398 E.3 SRV4 399 E.4 Solaris 2.2 400 E.5 AIX 3.2.2 405 E.6 4.4BSD 406 附录F 可以免费获得的源代码 407 参考文献 410 缩略语 421 |
网友评论