TCP可靠传输的实现.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TCP可靠传输的实现 组员:李晓将 王孟珂 申琳 沈默 朱炳冰 2010年12月1日 目录 1.什么是TCP/IP? 3 2.TCP的作用 4 3. TCP连接的建立与终止 4 3.1 TCP连接的建立 4 TCP的三次握手 5 3.2 TCP连接的终止 5 TCP连接的终止 6 4. TCP的服务流程 6 5. TCP所提供服务的主要特点 9 6. TCP的重传策略 9 7. TCP协议是如何确保数据传输高可靠性 9 计算机网络是一个非常复杂的系统。可以将现代网络抽象的划分为五个层次:物理层,数据链路层,网络层,运输层,应用层。而TCP(Transmission Control Protocol是一种面向连接(连接导向)的、可靠的、基于字节流的运输层通信协议,在简化的中,它完成第四层所指定的功能1.什么是TCP/IP?    TCP/IP(Transmission Control Protocol/Internet Protocol) 即传输控制协议/网间协议 ,是一个工业标准的协议集它是为广域网(WAN)设计的。 有时我们将TCP/IP描述为集TCP和IP是其中的两个协议。由于TCP和IP是大家熟悉的协议,以至于用TCP/IP或IP/TCP这个词代替了整个协议集 作用 在中,层是位于层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是层不提供这样的流机制,而是提供不可靠的包交换。 应用层向层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分割成适当长度的报文段。之后TCP把结果包传给层,由它来通过网络将包传送给接收端实体的层。TCP为了保证不发生丢包,就给每个字节一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认;如果发送端实体在合理的往返时延内未收到确认,那么对应的数据将会被重传。TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。 TCP连接的建立与终止 TCP连接的建立    TCP协议通过三个报文段完成连接的建立,这个过程称为三次握手(three-way handshake),过程如下图所示。    TCP的三次握手 3.2 TCP连接的终止 建立一个连接需要三次握手,而终止一个连接要经过四次握手,这是由TCP的半关闭(half-close)造成的。具体过程如下图所示。    TCP连接的终止 TCP的服务流程   TCP协议提供的是可靠的、面向连接的传输控制协议,即在传输数据前要先建立逻辑连接,然后再传输数据,最后释放连接3个过程。TCP提供、全双工通信;采用字节流方式,如果字节流太长,将其分段;提供紧急数据传送功能。 TCP提供一种面向连接的、可靠的字节流服务TCP通过下列方式来提供可靠性: 应用数据被分割成TCP认为最适合发送由TCP传递给IP的信息单位称为报文段或TCP如何确定报文段的长度。 当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。当TCP收到发自TCP连接另一端的数据,它将发送一个确认。 TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到此报文段。 既然TCP报文段作为IP数据报来传输,而IP数据报的到达可能会失序,因此TCP报文段的到达也可能会失序。如果必要,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层。 既然IP数据报会发生重复,TCP的接收端必须丢弃重复的数据。 TCP还能提供流量控制。TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据。这将防止较快主机致使较慢主机的缓冲区溢出。   两个应用程序通过TCP连接交换8bit字节构成的字节流。TCP不在字节流中插入记录标识符。我们将这称为字节流服务bytestreamservice)。如果一方的应用程序先传10字节,又传20字节,再传50字节,连接的另一方将无法了解发方每次发送了多少字节。收方可以分4次接收这80个字节,每次接收20字节。一端将字节流放到TCP连接上,同样的字节流将出现在TCP连接的另一端。   另外,TCP对字节流的内容不作任何解释。TCP不知道传输的数据字节流是二进制数据,还是ASCII字符、EBCDIC字符或者其他类型数据。对字节流的解释由TCP连接双方的应用层解释。TCP是因特网中的传输层协议,使用建立连接。当主动方发出连接请求后,等待对方回答ACK)。这种建立连接的方法可以防止产生错误的连接,TCP使用的

文档评论(0)

16588ww + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档