传输层 TCP主要特点和TCP连接

TCP协议的主要特点


TCP是面向连接的传输层协议。(在正式传数据之前需要发3个数据包,这叫三次握手,建立了连接之后协商参数,比如缓存多大,接受的每个段是多少个字节)

每一条TCP连接只能有两个端点(end point),只能是点对点的(一对一,多播和广播都是不行的)。

TCP提供可靠交付的服务。也就是说,通过TCP连接传送的数据,无差错、不丢失、不重复且按序发送。

TCP提供全双工通信。(一但发送端和接收端建立了连接,那么可以使用这个连接双向通信)

面向字节流。TCP中的“流”(steam)指的是流入到进程或从进程流出的字节序列。(不管是网页还是图片等,都按照字节8比特,一个一个字节往缓存里面放,应用层交给传输层的是字节流,udp是报文,应用程序要传的内容全部给了udp协议)

IP网络提供的是不可靠传输


TCP是面向连接的运输层协议,在无连接的、不可靠的 IP 网络服务基础之上提供可靠交付的服务。为此,在 IP的数据报服务基础之上,增加了保证可靠性的一系列措施。

TCP面向字节流


将字节分成段,然后加上首部,首部有编号这些功能。

注意


TCP连接是一条虚连接而不是一条真正的物理连接。

TCP对应用进程一次把多长的报文发送到TCP的缓存中是不关心的。TCP限据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节(UDP发送的报文长度是应用进程给出的)。

TCP可把太长的数据块划分短一些再传送。

TCP也可等待积累有足够多的字节后再构成报文段发送出去。

TCP的连接


TCP把连接作为最基本的抽象. 每一条 TCP连接有两个端点。

TCP连接的端点不是主机,不是主机的IP地址,不是应用进程,也不是运输层的协议端口。TCP连接的端点叫做套接字(socket)或插口。

端口号拼接到(contatenated with)IP 地址即构成了套接字。

套接字


 

 一个IP+端口标识TCP的一端,这个就叫做套接字。

TCP连接 IP地址 套接字


TCP 连接就是由协议软件所提供的一种抽象。

TCP连接的端点是个很抽象的套接字,即(IP地址∶端口号)。

同一个 IP 地址可以有多个不同的 TCP连接。同一个端口号也可以出现在多个不同的 TCP连接中。

猜你喜欢

转载自blog.csdn.net/qq_34556414/article/details/125566837
今日推荐