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服务的特点

TCP协议的简单理解 写这篇的文章的目的是用最简单的语言,最通俗的意思去理解TCP,很多人因为TCP繁琐的解释望而却步。所以今天就简单的解释一下TCP协议中能够经常用到的一些内容。 TCP服务的特点 传输层协议主要有两个:TCP协议和UDP协议,TCP协议相对于UDP协议的特点是:面向连接,字节流可靠传输。 使用TCP协议通信的双方必须先建立连接,然后才能开始数据的读写。双方都必须为该连接分配必要的内核资源,以管理连接的状态和连接上数据的传输。TCP连接是全双工的,即双方的数据读写可以通过一个连接进行,完成数据交换不再使用该连接之后,通信双方都必须断开连接,以释放资源。 TCP协议的这种连接是一对一的,所以基于广播和多播(目标是多个主机)的应用程序不能使用TCP服务。而无连接协议的UDP则非常适用于广播和多播。 当发送端应用程序连续多次写操作时,TCP模块先将这些数据放入TCP发送缓冲区。当TCP模块真正开始发送数据时,发送缓冲区中这些等待发送的数据可能被封装成一个或者多个TCP报文段发出。因此TCP模块发送出的TCP报文段的个数和应用程序执行的写操作次数之间没有固定的数量关系。 当接收端收到一个或者多个TCP报文段后,TCP模块将它们携带的应用程序数据按照TCP报文段的序号依次放入TCP接收缓冲区中,并通知应用程序读取数据,这取决于用户指定的应用程序缓冲区的大小。因此,应用程序执行的读操作次数和TCP模块接收到的TCP报文段的个数也没有固定的数量上的关系。 综上所述,发送端执行的写操作的次数和接收端执行的读操作的次数之间没有任何的数量关系。这就是字节流的概念:应用程序对数据的发送和接收是没有边界限制的。UDP则不然。发送端每次执行一次写操作,UDP模块就将其封装成UDP数据包进行发送。接收端必须及时针对每一个UDP数据包执行读操作。否则就会造成丢包。并且,用户没有指定足够的应用程序缓冲区来读取UDP数据,则UDP数据将被截断。 下图显示了TCP字节流服务,图中省略了通信的细节。 send() 传输层 应用层 TCP报文段 TCP报文段 TCP发送缓冲区 send() TCP接收缓冲区 TCP报文段 TCP报文段 recv()  下图显示了UDP数据报服务 UDP数据报 UDP数据报 sendto() sendto() 传输层 应用层 recvfrom() recvfrom() UDP数据报 UDP数据报  UDP数据报服务 TCP 传输是可靠的。首先,TCP协议采用发送应答机制,即发送端发送的每个TCP报文段都必须得到接收方的回答,才认为这个TCP报文段传输成功。其次TCP协议采用超时重传机制,发送端在发送出一个TCP报文段后启动定时器,如果在定时时间内未收到应答,它将重发该报文段。最后,因为TCP报文段最终是以IP数据报发送的,而IP数据报到达接收端可能乱序,重复,所以TCP协议还会对接收到的TCP报文段重新排列,整理,再交付给应用层。

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档