概述
TCP/IP不是一个协议,而是一个协议族的统称。里面包括IP协议、IMCP协议、TCP协议。
-
面向连接的(Connection-oriented)
一个tcp connection有两个端(endpoint),每一个endpoint可以用一个 (ip、port)来表达,所以两端的话就可以用(local IP address, local port number, remote IP address, remote port number) 来表达。 -
数据是双向流动的
双向的传递二进制流。 -
按序传送的
接受者接收数据一定是会按照发送者发送数据的顺序的。通过一个32-bit integer做标记。通过ACK来保证可靠性,如果发送者收不到接受者的ACK,则会重新发送。 -
流量控制
发送方会根据接收方提供的的窗口大小来决定如何发送数据,不会超过接收方的缓冲能力。 -
拥塞控制
拥塞窗口(congestion window)区别于receive window,是发送方自己根据包ACK的状态结合特定的拥塞算法计算出的一个window。它表达的当前的网络状态。发送发发送的数据上限受到流量控制和拥塞控制共同的作用。
三次握手 保证面向连接
确认、重传 保证数据可靠
重排序是做了分片在传输层利用序列号重新排序
流量控制是优化机制,网络稳定时发送较多分片;不稳定时发送较小分片