[信息与通信]第8章 TCP协议.ppt
《[信息与通信]第8章 TCP协议.ppt》由会员分享,可在线阅读,更多相关《[信息与通信]第8章 TCP协议.ppt(135页珍藏版)》请在三一文库上搜索。
1、第八章 传输控制协议TCP TCP/IP详解卷1:CH17、CH18、CH19、CH20、CH21、CH22、CH23、CH24,主要内容,8.1 TCP回顾 8.2 TCP连接的建立与终止 8.3 TCP的数据传输(交互数据流和成块数据流) 8.4 TCP的超时与重传 8.5 TCP的坚持定时器和保活定时器 8.6 TCP的未来和性能 课下作业,7.1 TCP回顾,T C P提供一种面向连接的、可靠的字节流服务 在一个T C P连接中仅有两方进行彼此通信 广播和多播不能用于T C P,端口,发送 TCP 报文段,TCP,TCP,接收缓存,发送缓存,报文段,报文段,报文段,端口,发送端,接收端
2、,向发送缓存 写入数据块,从接收缓存 读取数据块,应用进程,应用进程,TCP报文段被封装在一个IP数据报中进行传输,T C P提供可靠性的方式,应用数据被分割成T C P认为最适合发送的数据块 当T C P发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。 当T C P收到发自T C P连接另一端的数据时,它将发送一个确认。,当TCP收到发自TCP连接另一端的数据,它将发送一个确认。 TCP将保持它首部和数据的检验和 既然TCP报文段作为IP据报来传输,而IPP数据报的到达可能会失序,因此TCP报文段的到达也可能会失序。如果必要, TCP
3、将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层。 既然IP数据报会发生重复, TCP 的接收端必须丢弃重复的数据。 TCP还能提供流量控制,TCP的编号与确认,按字节编号 确认是对收到的数据的最高序号的确认,表示期望下次收到的第一个字节的序号。 由于TCP能够提供全双工通信,因此,可以采用捎带确认以提高传输效率。,TCP的简单确认,发送窗口大小 = 1,发方,收方,Send 1,Receive 1,发方,收方,发送窗口大小 = 1,Send 1,Receive 1,Receive ACK 2,Send ACK 2,发方,收方,发送窗口大小 = 1,Send 1,Receive
4、1,Receive ACK 2,Send ACK 2,Send 2,Receive 2,发方,收方,发送窗口大小 = 1,Send 1,Receive 1,Receive ACK 2,Send ACK 2,Send 2,Receive 2,Receive ACK 3,Send ACK 3,发方,收方,发送窗口大小 = 1,Send 1,Receive 1,Receive ACK 2,Send ACK 2,Send 2,Receive 2,Receive ACK 3,Send ACK 3,Send 3,Receive 3,发方,收方,发送窗口大小 = 1,Send 1,Receive 1,Rec
5、eive ACK 2,Send ACK 2,Send 2,Receive 2,Receive ACK 3,Send ACK 3,Send 3,Receive 3,Receive ACK 4,Send ACK 4,发方,收方,发送窗口大小 = 1,TCP 的编号与确认号,Source Port,Dest. Port,Sequence #,Acknowledgement #,Source,Dest.,Seq.,Ack.,1028,23,10,1,I just sent #10.,I just got #10, now I need #11.,Source Port,Dest. Port,Seque
6、nce #,Acknowledgement #,1028,23,Source,Dest.,10,Seq.,1,Ack.,1028,23,Source,Dest.,11,Seq.,1,Ack.,I just sent #10.,Source Port,Dest. Port,Sequence #,Acknowledgement #,1028,23,Source,Dest.,11,Seq.,2,Ack.,1028,23,Source,Dest.,10,Seq.,1,Ack.,1028,23,Source,Dest.,11,Seq.,1,Ack.,I just got #10, now I need
7、#11.,I just sent #11.,Source Port,Dest. Port,Sequence #,Acknowledgement #,1028,23,Source,Dest.,11,Seq.,101,Ack.,1028,23,Source,Dest.,10,Seq.,100,Ack.,1028,23,Source,Dest.,11,Seq.,100,Ack.,1028,23,Source,Dest.,12,Seq.,101,Ack.,I just got #11, now I need #12.,I just sent #11.,TCP 的包格式,源端口 (16),目的端口 (1
8、6),顺序号 (32),头长 (4),确认序号 (32),保留 (6),窗口 (16),检验和 (16),紧急指针(16),选项和填充 (可选 ),数据 (可变长),20 字节,位 0,15,16,31,TCP 首部,20 字节的 固定首部,目 的 端 口,首部 长度,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F I N,32 bit,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,TCP 数据部分,TCP 首部,TCP 报文段,IP 数据部分,IP 首部,发送在前,TCP 首部,
9、20 字节 固定 首部,目 的 端 口,首部 长度,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,源端口和目的端口字段各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。,TCP 首部,20 字节 固定 首部,目 的 端 口,首部 长度,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F I N,S Y N,R S T,P S H,
10、A C K,U R G,比特 0 8 16 24 31,填 充,序号字段占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。,TCP 首部,20 字节 固定 首部,目 的 端 口,首部 长度,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,确认号字段占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。,TCP 首部,20 字节 固定 首
11、部,目 的 端 口,首部 长度,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,首部长度占 4 bit,它指出 TCP 报文段首部有多少个4 字节,TCP 首部,20 字节 固定 首部,目 的 端 口,首部 长度,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,保
12、留字段占 6 bit,保留为今后使用,但目前应置为 0。,TCP 首部,20 字节 固定 首部,目 的 端 口,首部 长度,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,紧急比特 URG 当 URG 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。,TCP 首部,20 字节 固定 首部,目 的 端 口,首部 长度,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧
13、急 指 针,窗 口,确 认 号,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,确认比特 ACK 只有当 ACK 1 时确认号字段才有效。当 ACK 0 时,确认号无效。,TCP 首部,20 字节 固定 首部,目 的 端 口,首部 长度,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,推送比特 PSH (PuSH) 接收 TCP 收到推送比特置 1 的报文段
14、,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。,TCP 首部,20 字节 固定 首部,目 的 端 口,首部 长度,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,复位比特 RST (ReSeT) 当 RST 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。,TCP 首部,20 字节 固定 首部,目 的 端 口,首部 长度,检 验 和,选 项 (长
15、 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,同步比特 SYN 同步比特 SYN 置为 1,就表示这是一个连接请求或连接接受报文。,TCP 首部,20 字节 固定 首部,目 的 端 口,首部 长度,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,终止比特 FIN (FINal) 用来释
16、放一个连接。当FIN 1 时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。,TCP 首部,20 字节 固定 首部,目 的 端 口,首部 长度,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,窗口字段 占 2 字节,用来控制对方发送的数据量,单位为字节。TCP 连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限,也称为通知窗口。,TCP 首部,20 字节 固定 首部,目 的
17、 端 口,首部 长度,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,检验和 占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。,TCP 首部,20 字节 固定 首部,目 的 端 口,首部 长度,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F I N,S Y N,R S T,P S H,A C
18、K,U R G,比特 0 8 16 24 31,填 充,紧急指针字段 占 16 bit。紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。,TCP 首部,20 字节 固定 首部,目 的 端 口,首部 长度,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,选项字段 长度可变。TCP 只规定了一种选项,即最大报文段长度 MSS (Maximum Segment Size)。MSS 告诉对方 TCP:“我的缓存所能接收的报文段的
19、数据字段的最大长度是 MSS 个字节。”,MSS 是 TCP 报文段中的数据字段的最大长度。 数据字段加上 TCP 首部 才等于整个的 TCP 报文段。,TCP 首部,20 字节 固定 首部,目 的 端 口,首部 长度,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,填充字段 这是为了使整个首部长度是 4 字节的整数倍。,7.2 TCP连接的建立与终止,三次握手建立连接 提供全双工的可靠交付的服务 按字节编号 采用可变窗口进行流
20、量控制,一、建立连接,在连接建立过程中要解决三个问题: 要使每一方能够确知对方的存在 要允许双方协商一些参数,如:MTU、Wmax、QoS等 能对运输实体的资源进行分配,如:缓存大小、连接表中的项目等。 采用Client/Server方式工作,Send SYN (seq=100 ctl=SYN),SYN received,Host A,Host B,TCP 使用三次握手建立连接,Send SYN (seq=100 ctl=SYN),SYN received,Send SYN, ACK (seq=300 ack=101 ctl=syn,ack),Host A,Host B,SYN receive
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息与通信 信息与通信第8章 TCP协议 信息 通信 TCP 协议
链接地址:https://www.31doc.com/p-2001124.html