【云计算 IT 基础知识】5.4 传输层--5.4.1 TCP

muzilan 2016-07-30 03:39:50
加精

【云计算 IT 基础知识】系列1 目录/汇总(持续更新)

------------------------------------------------------------

5.4 传输层


5.4.1 TCP



概念

传输控制协议TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字 节流的传输层通信协议(在RFC793中定义)。




特点

TCP具有以下特点:
l 面向连接的传输。
l 端到端的通信。
l 高可靠性,确保传输数据的正确性,不出现丢失或乱序。
l 全双工方式传输。
l 采用字节流方式,即以字节为单位传输字节序列。
l 紧急数据传送功能。
l 使用缓冲区。
l 提供重传机制。





原理


可靠性保障

TCP通过下列方式来保障数据传输的可靠性:
l 数据被分割成TCP最适合发送的数据块,也就是最大报文段长度。当一个连接建立 时,连接的双方都要通告各自的最大报文段长度。
l 当TCP发出一个报文段后,它启动一个定时器,等待目的端确认收到这个报文段。 如果不能及时收到一个确认将重发这个报文段。
l 当TCP收到发自TCP连接另一端的数据,它将发送一个确认。这个确认通常将推迟 几分之一秒发送,以便将ACK与需要沿该方向发送的数据一起发送。绝大多数实现 采用的时延为200ms。
l TCP通过端到端的首部和数据的检验和,检测数据在传输过程中的任何变化。如果 收到段的检验和有差错,TCP将丢弃这个报文段并不确认收到此报文段,希望发送 端超时并重发。
l 如果TCP报文段的到达顺序错误,TCP会对收到的数据进行重新排序,将数据以正 确顺序交给应用层。
l TCP接收端会丢弃重复的数据。
l TCP可提供流量控制。TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端 只允许另一端发送接收端缓冲区所能接纳的数据,从而防止缓冲区溢出。



建立TCP连接

TCP通过三次握手完成连接的建立,如图5-27所示。


TCP连接建立的过程:
1. 客户端执行主动打开:客户端发送SYN包给服务器,其中包含序列号X。
2. 服务器收到SYN(SEQ=X)包后,向客户端回SYN(SEQ=Y)+ACK(SEQ=X+1)包作为应答以及对客户端SYN(SEQ=X)包的确认。
3. 客户端向服务器发送ACK(SEQ=Y+1)包,对服务器SYN(SEQ=Y)包进行确认。
同时打开:在很偶然的情况下,TCP连接的两方会同时彼此执行主动打开。这种情况下,每一方必须发送一个SYN,且这些SYN必须传递给对方。每一方均使用一个对方熟知的端口作为本地端口。例如,主机A中的一个应用程序使用 地端口7000,并与主机B的端口8000执行主动打开。主机B的一个应用程序则使用本地端口8000,并与主机A的 端口7000执行主动打开。它们仅建立一条连接而不两条连接,且每一端既是客户机又是服务器。


终止TCP连接

由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。TCP通过四次握手完成
连接的终止,如图5-28所示。



TCP连接终止的过程:
1. 客户端执行主动关闭:客户端发送FIN包给服务器,其中包含序列号X。
2. 服务器收到FIN(SEQ=X)包后,向客户端回ACK(SEQ=X+1)包作为对客户端FIN(SEQ=X)包的确认。从客户端到服务器的传送被关闭。
3. 服务器执行被动关闭:服务器向客户端发送FIN(SEQ=Y) ACK(SEQ=X+1)包。
4. 客户端向服务器发送ACK(SEQ=Y+1)包,对服务器FIN(SEQ=Y)包进行确认。从服 务器到客户端的传送被关闭。

同时关闭:TCP连接的两方都可以执行主动关闭。

异常释放:通常情况下,TCP通过发送FIN包关闭连接。若使用的是复位报文来结束连接,则称为异常释放。使用异常释放,可以使复位报文的发送方立即丢弃待发数据,减少资源浪费,而接受方可以判断出发送方是正常关闭还是异常关闭。


流量控制

为了实现流量控制,TCP使用一种滑动窗口协议。TCP连接的双方为每个连接使用一个窗口。窗口区间是缓冲区的一部分,包含一方在等待另一方的确认期间所能发送的字节数据。该窗口之所以称为滑动窗口,是因为它能随着数据的发送、确认的接收,在整个缓冲区内滑动。
TCP的滑动窗口是面向字节的。滑动窗口的使用使传输效率更高,同时也能控制数据流量,使接收端不被数据所淹没。


拥塞控制

TCP提供4种拥塞控制机制来确保有效的利用带宽,并快速修复拥塞和错误:

l 慢速启动
新建立的连接不在一开始就大量发送数据包,而是根据网络情况逐步增加每次发送的数据量。当新建连接时,拥塞窗口大小初始化为1个最大报文段长度(以字节为
单位),发送端开始按照拥塞窗口大小发送数据。每当有一个报文段被确认,拥塞 窗口大小就增加1个最大报文段长度。拥塞窗口大小的值随着网络往返时间呈指数级增长。

l 拥塞避免

当拥塞窗口大小超过慢启动门限(通常是65536字节)后,慢速启动过程结束,进入拥塞避免阶段。拥塞避免的主要思想是加法增大,即拥塞窗口大小的值不再指数级往上升,而是开始加法增加。当窗口中所有的报文段都被确认时,拥塞窗口大小加1。拥塞窗口大小的值随着网络往返时间的增加而线性增加,从而避免增长过快 导致网络拥塞,逐渐增加调整到网络的最佳值。

l 快速重传

TCP在收到乱序到达包时会立即发送ACK,TCP利用3个相同的ACK来判定数据包的丢失。此时进行快速重传,包括把慢启动门限值设置为拥塞窗口大小的一半,把拥塞窗口大小重新设置为慢启动门限的值(具体实现有些为慢启动门限的值+3), 并重新进入拥塞避免阶段。

l 快速恢复

快速恢复与快速重传类似,但当收到3个重复ACK时,TCP最后进入的不是拥塞避免阶段,而是快速恢复阶段。快速恢复的思想是“数据包守恒”原则,即同一个时刻在网络中的数据包数量是恒定的,只有当“老”数据包离开了网络后,才能向网 络中发送一个“新”的数据包。如果发送方收到一个重复的ACK,根据TCP的ACK重传机制,就表明有一个数据包离开了网络,于是拥塞窗口大小加1。




报文格式


TCP的报文格式如图5-29所示。



报文中各字段的定义如表5-11所示。







------------------------------------------------------------













...全文
1990 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2016-10-12
  • 打赏
  • 举报
回复
muzilan 2016-10-11
  • 打赏
  • 举报
回复
muzilan 2016-10-11
  • 打赏
  • 举报
回复
大家讨论交流,才收获多
muzilan 2016-10-11
  • 打赏
  • 举报
回复
引用 5 楼 zhao4zhong1 的回复:
还是要先学会使用抓包软件比如wireshark。
这个最实用
赵4老师 2016-08-08
  • 打赏
  • 举报
回复
还是要先学会使用抓包软件比如wireshark。
muzilan 2016-08-07
  • 打赏
  • 举报
回复
引用 3 楼 iseehell 的回复:
不明觉厉啊,TCP中包的封装和包头字段,能否来个介绍说明
TCP包头   TCP包头占有20个字节,即:   18 98 00 17 37 8d 49 3b 00 46 74 e0 50 18 fe d9 ea f7 00 00   (1) “18 98”,表示本地端口号,转换为十进制就是3368。   (2) “00 15”,表示目标端口号,转换为十进制就是23,因为我是连接TELNET站点,所以,这个就是23。   (3) “37 8d 49 3b”,是顺序号(Sequence Number),简写为SEQ。   (4) “00 46 74 e0”,是确认号(Acknowledgment Number),简写为ACKNUM。   (5) “50 18”,转换为二进制,“0101 0000 0001 1000”。这两个字节,总共16bit,有好多东西。第一个4bit“0101”,是TCP头长,十进制为5,表示20个字节。接着的6bit现在TCP协议没有用上,都为0。最后的6bit“01 1000”是六个重要的标志。这是两个计算机数据交流的信息标志。接收和发送断根据这些标志来确定信息流的种类。下面是一些介绍:    URG:(Urgent Pointer field significant)紧急指针。用到的时候值为1,用来处理避免TCP数据流中断。   ACK:(Acknowledgment fieldsignificant)置1时表示确认号(AcknowledgmentNumber)为合法,为0的时候表示数据段不包含确认信息,确认号被忽略。   PSH:(Push Function),PUSH标志的数据,置1时请求的数据段在接收方得到后就可直接送到应用程序,而不必等到缓冲区满时才传送。   RST:(Reset the connection)用于复位因某种原因引起出现的错误连接,也用来拒绝非法数据和请求。如果接收到RST位时候,通常发生了某些错误。  SYN:(Synchronize sequence numbers)用来建立连接,在连接请求中,SYN=1,ACK=0,连接响应时,SYN=1,ACK=1。即,SYN和ACK来区分Connection Request和Connection Accepted。    FIN:(No more data from sender)用来释放连接,表明发送方已经没有数据发送了。    这6个标志位,对号入座。本例中SYN=0,ACK=1,当然就是表示连接请求了。在分析TCP包头时候,要注意这两位的变换。    (6) “fe d9”,窗口值,用来控制实现流量控制。   (7) “ea f7”,检验和,TCP的检验和是强制的。   (8) “00 00”,紧急指针。
iseehell 2016-08-03
  • 打赏
  • 举报
回复
不明觉厉啊,TCP中包的封装和包头字段,能否来个介绍说明
muzilan 2016-08-02
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
《TCP-IP详解卷一:协议》 《TCP-IP详解卷二:实现》 《TCP-IP详解卷三:TCP事务协议,HTTP,NNTP和UNIX域协议》
仔细研读啊
赵4老师 2016-08-01
  • 打赏
  • 举报
回复
《TCP-IP详解卷一:协议》 《TCP-IP详解卷二:实现》 《TCP-IP详解卷三:TCP事务协议,HTTP,NNTP和UNIX域协议》
计算机网络相关知识、网络结构等等。 序言 前言 第1章 引言 1.1 计算机网络的产生和发展 1.2 计算机网络的功能 1.3 计算机网络分类 1.3.1 局域网 1.3.2 城域网 1.3.3 广域网 1.3.4 互联网 1.3.5 无线网 1.4 网络体系结构 1.4.1 协议分层 1.4.2 服务类型 1.4.3 服务原语 1.5 ISO/OSI参考模型 1.5.1 参考模型 1.5.2 模型评价 1.6 本书的结构 第一部分 数据通信 第2章 数据通信基础知识 2.1 基本概念 2.1.1 信号与通信 2.1.2 模拟通信 2.1.3 数字通信 2.2 数据通信基础理论 2.2.1 信号的频谱和带宽 2.2.2 信道的截止频率与带宽 2.2.3 信道的最大数据传输率 2.3 传输介质 2.3.1 双绞线 2.3.2 同轴电缆 2.3.3 光纤 2.3.4 无线介质 2.4 多路复用 2.4.1 频分多路复用 2.4.2 波分多路复用 2.4.3 时分多路复用 2.5 数据交换技术 2.5.1 电路交换 2.5.2 报文交换 2.5.3 分组交换 2.6 调制解调器 2.6.1 调制方式 2.6.2 Modem标准 2.6.3 Modem分类 2.6.4 工作模式 2.7 小结 习题 第3章 物理层接口 3.1 RS-232-C接口 3.1.1 机械特性 3.1.2 电气特性 3.1.3 功能特性 3.1.4 过程特性 3.1.5 空Modem电缆 3.2 其他接口 3.2.1 RS-449接口 3.2.2 RS-530接口 3.3 小结 习题 第二部分 底层物理网络 第4章 广域网 4.1 广域网结构 4.1.1 虚电路和数据报 4.1.2 两者比较 4.2 广域网实例 4.2.1 PSTN 4.2.2 X.25 4.2.3 DDN 4.2.4 帧中继 4.2.5 SMDS 4.2.6 B-ISDN/ATM 4.3 各种广域网的比较 4.4 小结 习题 第5章 局域网 5.1 介质访问控制协议 5.1.1 ALOHA协议 5.1.2 CSMA协议 5.1.3 CSMA/CD协议 5.2 以太网和IEEE 802.3 5.2.1 物理层标准 5.2.2 MAC协议 5.2.3 性能分析 5.3 令牌环网和IEEE 802.5 5.3.1 MAC协议 5.3.2 管理与维护 5.3.3 性能分析 5.4 网桥 5.4.1 透明网桥 5.4.2 源选径网桥 5.5 小结 习题 第6章 高速局域网 6.1 FDDI网络 6.1.1 与OSI的关系 6.1.2 帧格式 6.1.3 MAC协议 6.1.4 工作原理 6.1.5 拓扑结构 6.1.6 网络容错 6.1.6 技术指标 6.2 快速以太网 6.3 千兆位以太网 6.4 局域网交换机 6.5 小结 习题 第三部分 网络互联 第7章 网络互联与TCP/IP 7.1 网络互联层次 7.1.1 应用级互联 7.1.2 网络级互联 7.2 TCP/IP参考模型 7.3 TCP/IP参考模型的特点 7.3.1 TCP/IP的两大边界 7.3.2 IP层的地位 7.3.3 TCP/IP的可靠性思想 7.3.4 TCP/IP模型的特点 7.4 TCP/IP与ISO/OSI 7.5 小结 习题 第8章 IP 8.1 IP数据报 8.1.1 数据报格式 8.1.2 地址格式 8.2 IPv6 8.2.1 固定头部格式 8.2.2 IPv6地址 8.2.3 扩展头部 8.3 小结 习题 第9章 ARP、RARP和ICMP 9.1 ARP和RARP 9.1.1 ARP 9.1.2 RARP协议 9.1.3 报文格式 9.2 ICMP 9.2.1 ICMP报文类型 9.2.2 ICMP报文格式 9.2.3 ICMP差错报文 9.2.4 ICMP控制报文 9.2.5 ICMP请求/应答报文 9.3 小结 习题 第10章 IP路由协议 10.1 路由器与路由选择 10.1.1 路由器 10.1.2 路由选择 10.2 Internet结构 10.3 基本路由算法 10.3.1 D-V路由算法 10.3.2 L-S路由算法 10.4 IGP:内部网关协议 10.4.1 RIP 10.4.2 IGRP 10.4.3 OSPF协议 10.5 外部网关协议EGP 10.6 Internet组播 10.6.1 组播协议 10.6.2 组的维护 10.6.3 组播范围 10.7 移动IP路由 10.8 无类域间路由 10.9 小结 习题 第11章 传输层协议:TCP和UDP 11.1 传输层基本原理 11.1.1 服务质量 11.1.2 传输层端口 11.2 UDP 11.2.1 UDP报文格式 11.2.2 UDP伪头部 11.2.3 UDP多路复用 11.3 TCP 11.3.1 TCP报文格式 11.3.2 TCP连接端点 11.3.3 TCP可靠传输 11.3.4 TCP流量控制 11.3.5 TCP拥塞控制 11.3.6 TCP连接建立 11.3.7 TCP连接删除 11.3.8 TCP紧急数据传输 11.4 小结 习题 第四部分 网络应用 第12章 客户/服务器模型与套接字编程接口 12.1 网络间进程通信 12.2 客户/服务器模型 12.3 套接字编程接口 12.3.1 套接字基本概念 12.3.2 套接字系统调用 12.3.3 其它系统调用 12.4 基于客户/服务器模型的套接字编程举例 12.4.1 客户/服务器模型流程图 12.4.2 套接字实现机制 12.4.3 Unix环境下的套接字编程举例 12.5 小结 习题 第13章 DNS域名系统 13.1 域名结构 13.1.1 平面型命名机制 13.1.2 层次型命名机制 13.1.3 层次型名字管理 13.1.4 TCP/IP域名 13.2 域名解析 13.2.1 TCP/IP域名服务器 13.2.2 域名解析 13.2.3 逆向域名解析 13.2.4 域名解析的效率 13.3小结 习题 第14章 远程登录Telnet和Rlogin 14.1 为什么要引入远程登录? 14.2 TELNET协议 14.2.1 Telnet工作原理 14.2.2 网络虚终端 14.2.3 Telnet选项 14.3 Rlogin 14.4 小结 习题 第15章 文件传输与访问 15.1 FTP:文件传输协议 15.1.1 FTP特点 15.1.2 FTP工作原理 15.1.3 FTP连接建立 15.1.4 FTP访问控制 15.2 TFTP:简单文件传输协议 15.3 NFS:网络文件系统 15.4 小结 习题 第16章 电子邮件 16.1 电子邮件系统体系结构 16.1.1 ISO/OSI电子邮件系统 16.1.2 TCP/IP电子邮件系统 16.2 TCP/IP电子邮件地址 16.3 TCP/IP电子邮件标准 16.3.1 TCP/IP电子邮件格式 16.3.2 MIME:多用途Internet邮件扩展 16.3.3 SMTP:简单邮件传输协议 16.4 邮箱访问 16.5 小结 习题 第17章 万维网 17.1 Web页面浏览 17.1.1 浏览器和服务器 17.1.2 HTTP 17.1.3 HTML语言 17.2 交互式动态页面 17.2.1 CGI 17.2.2 Java 17.2.3 ASP 17.3小结 习题 第五部分 网络管理与安全 第18章 网络管理 18.1 互连网管理 18.2 SNMP网管体系 18.2.1 管理员/代理模型 18.2.2 MIB:管理信息库 18.2.3 ASN.1 18.2.4 SNMP 18.3 小结 习题 第19章 网络安全 19.1 基本概念 19.2 网络安全攻击 19.3 安全策略 19.4 安全机制 19.4.1 加密 19.4.2 鉴别 19.4.3 数字签名 19.5 防火墙 19.5.1 包过滤 19.5.2 应用级网关 19.6 小结 习题 第20章 网络技术的未来发展 20.1 新型网络应用技术 20.2 宽带网络技术 20.3 无线接入技术 20.4 统一网络技术 20.5 网络安全技术 20.6 主动网络技术 20.7 小结 参考文献
目 录 译者序 前言 第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
目 录 译者序 前言 第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
TCP/IP详解,卷1:协议》(共3卷,其他卷请到我的空间下载)是一本完整而详细的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 没有到达目

450

社区成员

发帖
与我相关
我的任务
社区描述
云计算开发
社区管理员
  • 云计算
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧