TCP服务的特点.doc_第1页
TCP服务的特点.doc_第2页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

TCP协议的简单理解写这篇的文章的目的是用最简单的语言,最通俗的意思去理解TCP,很多人因为TCP繁琐的解释望而却步。所以今天就简单的解释一下TCP协议中能够经常用到的一些内容。l 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数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论