907TCPIP网络原理与应用.ppt
《907TCPIP网络原理与应用.ppt》由会员分享,可在线阅读,更多相关《907TCPIP网络原理与应用.ppt(65页珍藏版)》请在三一办公上搜索。
1、TCP/IP网络原理与应用之TCP协议介绍1,TCP/IP网络原理与应用,袁巍华中科技大学电信系2011.10,TCP/IP网络原理与应用之TCP协议介绍1,主要内容,TCP协议概述TCP数据编号与确认TCP运输连接管理,TCP/IP网络原理与应用之TCP协议介绍1,TCP协议演进,1975,1980,1985,1990,1982TCP&IPRFC 793&791,1974TCP described byVint Cerf and Bob KahnIn IEEE Trans Comm,1983BSD Unix 4.2supports TCP/IP,1984Nagels algorithmto
2、reduce overheadof small packets;predicts congestion collapse,1987Karns algorithmto better estimate round-trip time,1986Congestion collapseobserved,1988Van Jacobsons algorithmscongestion avoidance and congestion control(most implemented in 4.3BSD Tahoe),19904.3BSD Renofast retransmitdelayed ACKs,1975
3、Three-way handshakeRaymond TomlinsonIn SIGCOMM 75,TCP/IP网络原理与应用之TCP协议介绍1,TCP Through the 1990s,1993,1994,1996,1994ECN(Floyd)Explicit CongestionNotification,1993TCP Vegas(Brakmo et al)real congestion avoidance,1994T/TCP(Braden)TransactionTCP,1996SACK TCP(Floyd et al)Selective Acknowledgement,1996HoeI
4、mproving TCP startup,1996FACK TCP(Mathis et al)extension to SACK,TCP/IP网络原理与应用之TCP协议介绍1,TCP的特点,与UDP的最大区别:TCP是面向连接的,UDP是无连接的TCP提供一种面向连接的、可靠的字节流服务,TCP/IP网络原理与应用之TCP协议介绍1,TCP的特点,面向连接两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接可靠应用数据被分割成TCP认为最适合发送的数据块。当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重
5、发这个报文段。当TCP收到发自TCP连接另一端的数据,它将发送一个确认。TCP将计算首部和数据的检验和。如果收到段的检验和有差错,T CP将丢弃这个报文段和不确认收到此报文段(希望发端超时并重发)如果必要,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层。既然IP数据报会发生重复,TCP的接收端必须丢弃重复的数据。TCP还能提供流量控制。TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据。这将防止较快主机致使较慢主机的缓冲区溢出。,TCP/IP网络原理与应用之TCP协议介绍1,TCP的特点,字节流两个应用程序通过TCP连接交换
6、8 bit字节构成的字节流。TCP不在字节流中插入记录标识符。我们将这称为字节流服务。如果一方的应用程序先传1 0字节,又传2 0字节,再传5 0字节,连接的另一方将无法了解发方每次发送了多少字节。收方可以分4次接收这8 0个字节,每次接收2 0字节。一端将字节流放到TCP连接上,同样的字节流将出现在T C P连接的另一端。TCP对字节流的内容不作任何解释。TCP不知道传输的数据字节流是二进制数据,还是ASCII字符或者其他类型数据。对字节流的解释由T C P连接双方的应用层解释。,TCP/IP网络原理与应用之TCP协议介绍1,TCP发送报文段,端口,发送 TCP 报文段,TCP,TCP,接收
7、缓存,发送缓存,报文段,报文段,报文段,端口,发送端,接收端,向发送缓存写入数据块,从接收缓存读取数据块,应用进程,应用进程,TCP/IP网络原理与应用之TCP协议介绍1,发送缓存与接收缓存的作用,发送缓存用来暂时存放:发送应用程序传送给发送方 TCP 准备发送的数据;TCP 已发送出但尚未收到确认的数据。接收缓存用来暂时存放:按序到达的、但尚未被接收应用程序读取的数据;不按序到达的数据。,TCP/IP网络原理与应用之TCP协议介绍1,TCP首部,20 字节的固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留
8、,FIN,32 bit,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,TCP 数据部分,TCP 首部,TCP 报文段,IP 数据部分,IP 首部,发送在前,TCP/IP网络原理与应用之TCP协议介绍1,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,源端口和目的端口字段各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。,TC
9、P/IP网络原理与应用之TCP协议介绍1,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,序号字段占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。,TCP/IP网络原理与应用之TCP协议介绍1,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指
10、针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,确认号字段占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。,TCP/IP网络原理与应用之TCP协议介绍1,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,数据偏移占 4 bit,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。“数据偏移”的
11、单位不是字节而是 32 bit 字(4 字节为计算单位)。,TCP/IP网络原理与应用之TCP协议介绍1,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,保留字段占 6 bit,保留为今后使用,但目前应置为 0。,TCP/IP网络原理与应用之TCP协议介绍1,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确
12、认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,紧急比特 URG 当 URG 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。,TCP/IP网络原理与应用之TCP协议介绍1,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,确认比特 ACK 只有当 ACK 1 时确认号字段才有效。当 ACK 0
13、时,确认号无效。,TCP/IP网络原理与应用之TCP协议介绍1,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,推送比特 PSH(PuSH)接收 TCP 收到推送比特置 1 的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。,TCP/IP网络原理与应用之TCP协议介绍1,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端
14、口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,复位比特 RST(ReSeT)当 RST 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。,TCP/IP网络原理与应用之TCP协议介绍1,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,同步比特 S
15、YN 同步比特 SYN 置为 1,就表示这是一个连接请求或连接接受报文。,TCP/IP网络原理与应用之TCP协议介绍1,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,终止比特 FIN(FINal)用来释放一个连接。当FIN 1 时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。,TCP/IP网络原理与应用之TCP协议介绍1,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验
16、 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,窗口字段 占 2 字节。窗口字段用来控制对方发送的数据量,单位为字节。TCP 连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。,TCP/IP网络原理与应用之TCP协议介绍1,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,AC
17、K,URG,比特 0 8 16 24 31,填 充,检验和 占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。,TCP/IP网络原理与应用之TCP协议介绍1,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,紧急指针字段 占 16 bit。紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。,TCP/IP网络原理与应用之T
18、CP协议介绍1,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,选项字段 长度可变。TCP的一种选项是最大报文段长度 MSS(Maximum Segment Size)。MSS 告诉对方 TCP:“我所能接收的报文段的数据字段的最大长度是 MSS 个字节。”,MSS 是 TCP 报文段中的数据字段的最大长度。数据字段加上 TCP 首部才等于整个的 TCP 报文段。,TCP/IP网络原理与应用之TCP
19、协议介绍1,其他选项,窗口比例选项 占 3 字节,其中有一个字节表示移位值 S。新的窗口值等于TCP 首部中的窗口位数增大到(16+S),相当于把窗口值向左移动 S 位后获得实际的窗口大小。时间戳选项占10 字节,其中最主要的字段时间戳值字段(4 字节)和时间戳回送回答字段(4 字节)。选择确认选项,TCP/IP网络原理与应用之TCP协议介绍1,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,填充字
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 907 TCPIP 网络 原理 应用
链接地址:https://www.31ppt.com/p-4888508.html