- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Ch8 传输控制协议(TCP).ppt
第8章 传输控制协议(TCP) 主要内容 TCP的服务 TCP的端口号和套接字地址 TCP的报文段 TCP的连接管理与释放 TCP的连接管理状态转换图 流量控制 傻瓜窗口综合症 差错控制 拥塞控制 定时器管理 8.1 TCP的服务 8.1.1 面向连接的服务 要获得TCP服务,在一个应用进程向另一个应用进程开始发送数据之前,必须先在双方之间建立一条连接,数据传送结束后要释放连接。 启动连接的进程称为客户进程。 接收连接请求的进程称为服务器进程。 8.1 TCP的服务 8.1.2 全双工服务 TCP连接提供全双工服务,只要建立了TCP连接,就能支持双向的数据流。 TCP连接的每一端都有各自的发送缓存和接收缓存。 确认信息采用捎带。 所有TCP连接都是点到点的。不支持广播和多播。 8.1.3 字节流传递服务 字节流服务:字节流中不插入记录标识符。 一个TCP连接就是一个字节流,端到端之间不保留消息的边界。 字节流中的每一个字节都分配了一个序号,接收端TCP把接收到的这些字节按正确的顺序装配好交给高层。 TCP 面向流的概念 8.2 TCP的端口号和套接字地址 8.2.1 TCP的端口号 TCP采用16bit端口号来识别应用程序。服务器一般都是通过熟知端口来识别。而客户端通常使用的是临时端口号。 一些熟知的端口: WWW 80 FTP 21 20 TELNET 23 SMTP 25 DNS 53 TCP和UDP都具有端口号,而且TCP和UDP对端口号的使用是彼此独立的。 8.2 TCP的端口号和套接字地址 8.2.2 套接字地址 要使用TCP的服务,需要一对套接字地址。 IP地址+端口号 (32bit+16bit=48bit) 一个套接字有可能同时被用于多个连接。也就是说,两个或多个连接可能终止于同一个套接字。 8.3???? TCP的报文段 TCP报文段由首部和数据两部分组成。 首部前20字节是固定部分,后面有4N字节是根据需要而增加的选项。 选项部分最多是40字节。 无任何数据的TCP报文段是合法的,通常被用于确认和控制。 窗口字段 —— 占 2 字节,用来让对方设置发送窗口的依据,单位为字节。 其他选项 窗口扩大选项 ——占 3 字节,其中有一个字节表示移位值 S。新的窗口值等于TCP 首部中的窗口位数增大到(16 + S),相当于把窗口值向左移动 S 位后获得实际的窗口大小。 时间戳选项——占10 字节,其中最主要的字段时间戳值字段(4 字节)和时间戳回送回答字段(4 字节)。 选择确认选项 TCP连接:在源进程和目的进程之间建立一条虚路径。 连接管理就是使连接的建立和释放都能正常进行。 采用客户-服务器模式。 8.4.1 建立连接 TCP协议中建立连接采用三次握手(three-way handshake)的方式实现。 从服务器开始,服务器被动打开。 客户应用程序主动打开。 8.4.2 连接释放 TCP连接释放四次握手的步骤: 1)首先进行关闭的客户端TCP发送第一个报文段,终止比特FIN标志置1。将执行主动关闭,不再发送数据。 2) 服务器端TCP发送第二个报文段,用来确认从客户发来的FIN报文段。 3)当服务器端没有数据发送时,它就发送第三个报文段,终止比特FIN标志置1。 4) 客户端TCP发送第四个报文段, 用来确认从服务器端TCP收到了FIN报文段。 8.4.3 连接复位 当TCP需要连接复位时使用RST报文段,其复位比特RST置1。 三种情况: 一端的TCP请求连接到并存在的端口,另一端的TCP就可以发送一个复位报文段,其复位位RST置1,来取消这个请求。 一端的TCP出现了异常情况,而愿意把连接异常终止。它就可以发送一个复位报文段,其复位位RST置1,来关闭这一连接。 一端的TCP可能发现在另一端的TCP已经空闲了很长的时间,则它可以把这个连接撤销。它就可以发送一个复位报文段,其复位位RST置1,来撤销这个连接。 8.5?? TCP的连接管理状态转换 在任何时刻,机器只处于某一种状态,并一直保持这个状态,直到某个事件发生。发生的事件使机器进入一个新的状态,即事件可使机器完成某种操作。 状态转换表示一个状态到另一个状态的迁移,包括迁移的条件和迁移的动作。 TCP的有限状态机 8.6 流量控制 TCP采用可变大小的滑动窗口协议进行流量控制。 TCP的滑动窗口是面向字节的。 窗口包括已发送的字节和未被确认的字节,以及可以发送的字节。 接收方窗口是说明接收方还能再接收的字节数。 在TCP报文段首部的窗口大小字段的值就是当前给对方设置的窗口值。 8.6 流量控制 8.6 流量控制 8.7 傻瓜窗口综合症 接收方通告一个小
文档评论(0)