常见问题

TCP 协议的特点

时间:2019-11-30 09:20 作者:admin 分享到:
           TCP 协议的特点如下:
          (I) TCP 协议提供面向连接的服务,在传送数据之前必须先建立连接,数据传送结束后要释放连接。
         (2) TCP 协议不提供广播或多播服务。每一条 TCP 连接只能有两个端点( End Point) , 每一条TCP 连接只能是点对点的。
         (3) TCP 协议提供可靠的数据交付。数据可靠传输保证是 TCP 的核心功能,也是 TCP 协议区别于其他协议的最重要特性。所谓数据可靠性传输不仅仅指将数据成功的由本地主机传送到目的主机,其具体涉及到以下内容:
a、CD 能够处理数据传输过程中被破坏问题;
b、能够处理重复数据接收问题;
c、 能够发现数据丢失以及对此进行有效地解决;
d、 能够处理接收端数据乱序到达问题。
        TCP协议必须对上面提到的所有问题提供完整可行的解决方案才可保证其所声称的数据可靠传输。TCP  协议规范和当前绝大多数 TCP  协议实现代码均采用数据重传和数据确认应答机制来完成 TCP    协议的可靠性数据传输。数据超时重传和数据应答机制的基本前提是对每个传输的字节进行编号,即我们通常所说的  序列号。数据超时重传是发送端在某个报文发送出去 ,如果在一段固定时间后没有收到对该报文的确认应答,则(假定该报文在传输过程中丢失)重新发送该报文。而数据确认应答是指接收端在成 功接收到一个有效数据包后,发送一个确认应答报文给发送端主机,该确认应答报文中所包含的应答 序列号即指已接收到的数据中最后一个字节的序列号加 1。加 1 的目的在千指出此时接 收端期望接收的下一个数据包中第一个字节的序列号。数据超时重传和数据确认应答以及对每个 传输的字节分配序列号是 TCP 协议提供可靠性数 据传输的核心本质。关于该问题还将在稍后的TCP 报文格式讲解中具体举例说明。
        (4) TCP  提供全双工通信。TCP  允许通信双方的应用进程在任何时候都能发送数据。TCP   连接的两端都设有发送缓存和接收缓存,用 来临时存放双向通信的数据。在发送时,应用程序在把数据传送 给 TCP 的缓存后,就可以做自己的事,而TCP 在合适的时候把数据发送出去 。在接收时,T CP 把收到的数据放入缓存,上层的应用进程在合适的时候读取缓存中的数据。
       ( 5 ) 面向字节流。TCP 中的“流" ( Stream ) 指的是流入到进程或从进程流出的字节序列。“面向字节流” 的含义是:虽然应用程序和TCP 的交互是 一次一个数据块,但 TCP 把应用程序交下来的数据仅看成是一连串的无结构的 字节流。TCP 并不知道所传送的字节流的含义 。TCP 不保证接收方应用程序所收到的数据块和发送方应用程序所发出的数据块具有对应大小的关 系。例如,如果应用进程传送到TCP 缓存的数据块太长 ,T CP 就可以把它划分短一些再传送。而如果应用进程一次只发来一个字节,T CP 也可以等待积累到有足够多的字节后再构成报文段发送出去。但接收方应用程序收到的字节流必须和发送方应用 程序发出的字节流完全一样。

版权所有:融合通信:http://www.alloll.com 转载请注明出处

融合通信行业案例SUCCESS CASE