TCP的主要特性
2017-05-16 00:44
197 查看
摘自:《深入理解计算机网络》 王达著 机械工业出版社
TCP的传输单元是数据段,数据段又是在应用层传送的数据基础上进行封装的,每次的TCP数据段大小取决于不同的应用进程。当然,如果应用层传送的报文太长,超出了MSS,则需要对报文进行分段,总的来说,每次传输的TCP数据段大小是由应用层数据和MSS双重决定的。
这样一来,每次可以发送的TCP数据段数也是不固定的,可以一次仅发送一个TCP数据段,也可以一次发送多个TCP数据段,只要在当前可用的“发送窗口大小”限制之内即可。另外,如果应用进程传送到TCP缓存中的数据太长,TCP可以对它分段,反之,如果传到TCP缓存中的数据太小,则TCP会等待缓存中有足够多的数据后在组成一个数据段发送。
TCP的主要特性
TCP是TCP/IP体系结构中最主要的传输协议,在功能上与本章具体介绍OSI网络中的TP4类传输层协议类似,但TCP只能提供面向连接的数据传输服务,而且TCP还具有以下主要特性:面向连接型的传输协议
也就是说,应用程序在使用TCP之前,必须先建立TCP传输连接,在传输数据完毕后,必须释放已建立的TCP传输连接。仅支持单播传输
每条TCP传输连接只能有两个端点,只能进行点对点的数据传输,不支持多播(multicast)和广播(broadcast)传输方式。传输单位为数据段
TCP仍采用传统的“数据段”作为数据传输单元。由于数据段大小受应用层传送的报文大小和所途经网络中MTU(Maximum Transmission Unit)值大小决定,所以每次发送的TCP数据段大小是不固定的。在一个具体的网络中,有一个MSS(Maximum Segment Size,最大数据段大小),最小的数据段可能仅有21字节(其中20字节属于TCP数据段头部,数据部分仅1字节)。仅一种TPDU格式
TCP的数据传输数据单元称为“数据段”,其实也可以按照OSI/RM中的说法称为TPDU(Transport Protocol Data Unit,传送协议数据单元),因为在TCP数据段头部已包括了各种TPDU所需的特征字段,只要是通过其中的多个控制位来实现的,具体说明在会在TCP数据段格式时介绍。支持全双工传输
TCP允许通信双方的应用程序在任何时候都能发送数据,因为TCP连接的两端都设有缓存,用来临时存放双向通信的数据。当然,TCP可以立即发送一个数据段,也可以缓存一段时间以便一次发送更多的数据段(最大的数据段大小取决于MSS)。TCP连接是基于字节流的,而非报文
TCP不像UDP一样那样一个个报文独立地传输,而是在不保留报文边界的情况下以字节流方式进行传输。每次发送的TCP数据段大小和数据段数都是可变的
在TCP中,因为每次发送多少字节的数据不是固定的,也不是由主机当前可用缓存决定的,而是根据双方给出的窗口大小和当前网络的拥塞程度决定的(后面会介绍UDP发送的报文长度是由应用进程给出的),所以每次可以发送的TCP数据大小是不固定的。TCP的传输单元是数据段,数据段又是在应用层传送的数据基础上进行封装的,每次的TCP数据段大小取决于不同的应用进程。当然,如果应用层传送的报文太长,超出了MSS,则需要对报文进行分段,总的来说,每次传输的TCP数据段大小是由应用层数据和MSS双重决定的。
这样一来,每次可以发送的TCP数据段数也是不固定的,可以一次仅发送一个TCP数据段,也可以一次发送多个TCP数据段,只要在当前可用的“发送窗口大小”限制之内即可。另外,如果应用进程传送到TCP缓存中的数据太长,TCP可以对它分段,反之,如果传到TCP缓存中的数据太小,则TCP会等待缓存中有足够多的数据后在组成一个数据段发送。
相关文章推荐
- IBM xSeries--常用RAID适配器主要特性与适用机型
- Java5和Java6的主要新特性
- JMS、AMQP和MQTT主要特性
- 【前端童鞋看过来!】给大家分享和推荐前端相关书籍,主要是和网络通信(HTTP/TCP/IP)及javascript相关的
- “主要的编程范型”及其语言特性关系(多图)
- ATMEL8051系列单片机主要特性列表 (一
- 二极管几个主要特性
- MATLAB主要特性http://cn.mathworks.com/products/matlab/
- ES6的主要特性
- 操作系统学习-2. 操作系统的基本特性与主要功能
- TCP应用层主要协议
- 华为secpath系列产品最新特性之“nat的tcp会话数的限制
- java nio mina 学习笔记2 介绍Mina的TCP的主要接口
- TCP/IP模型及OSI七层参考模型各层的功能和主要协议
- JAVA 8主要新特性
- 帝国CMS建站系统主要特性介绍
- ES6 主要的新特性
- C/S (TCP/IP,流式套接字)架构下的 因特网上语音实时传输方案的解决 (主要解决帧间延时缝隙带来的震颤和杂音问题)
- Highlights of Products with Major New Features and Enhancements--强调产品的主要新特性和增强功能
- iOS 新特性分列式 之 iOS 9.x - 主要内容:苹果笔 API 引入、3D Touch、iPad 多任务加强、应用瘦身、应用传输安全、Swift 加强