传输控制协议TCP概述

TCP全称Transmission Control Protocol,即传输控制协议,提供的是面向连接,可靠的字节流服务。当客户与服务器彼此交换数据前,必须现在双方之间建立一个TCP连接,之后才能传输数据。

TCP的最主要特点:

1、TCP是面向连接的运输层协议

这也就是说应用程序在使用TCP协议之前,必须先建立TCP连接。在传送数据后,必须释放已经建立的TCP连接。应用进程之间的通信就像打电话一样:通话前需要先拨号建立连接,通话结束后需挂机释放连接。

2、每一条TCP连接只能有两个端点(endpoint)

每一条TCP连接只能是点对点的(一对一)。

3、TCP提供可靠交付的服务

通过TCP连接传送的数据,无差错,不丢失,不重复,并且按序到达。

4、TCP提供全双工通信

TCP允许通信双方的应用进程在任何时候都能发送数据。TCP连接的两端都设有发送缓存和接收缓存,用来临时存放双向通信的数据。在发送时,应用程序把数据传送给TCP的缓存后,就可以做自己的事情,而TCP在合适的时候把数据发送出去。在接收时,TCP把收到的数据放入缓存,上层的应用进程在合适的时候读取缓存中的数据。

5、面向字节流

TCP中的“流”(stream)指的是流入到进程或从进程流出的字节序列。面向字节流的含义是:虽然应用程序和TCP的交互是一次一个数据块(大小不等),但TCP把应用程序交下来的数据仅仅看成是一连串的无结构的字节流。TCP并不知道所传送的字节流的含义。TCP不保证接收方应用程序所收到的数据块和发送方应用程序所发出的数据块具有对应大小的关系(例如:发送方应用程序交给发送方的TCP共10个数据块,但接收方的TCP可能只用了4个数据块就把收到的字节流交付上层的应用程序)。但接收方应用程序收到的字节流必须和发送方应用程序发出的字节流完全一样。接收方的应用程序必须有能力识别收到的字节流,把它还原成有意义的应用层数据。

计算机网络(第七版)学习笔记

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容