什么是TCP
传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
TCP协议的特点:
就如同定义一样,TCP具有以下特点:
- 面向连接;
- 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的;
- TCP提供可靠交付的服务;
- TCP提供全双工通信。 数据在两个方向上独立的进行传输。 因此,连接的每一端必须保持每个方向上的传输数据序号;
- 面向字节流。 面向字节流的含义:虽然应用程序和TCP交互是一次一个数据块,但TCP把应用程序交下来的数据仅仅是一连串的无结构的字节流
既然定义确定了特点,那么定义也要确定他的规则。
TCP的使用规则:
1.面向连接:
因为TCP是面向连接的协议,所以在进行接下来的操作时需要先建立连接。
在使用完后又得释放。
2.有序性:
一个数据被分包之后再合成是需要知道他的顺序的,就如同拼图,每一块都有自己的位置。那么怎么确认这个顺序?这就需要序列号来确定
3.流量控制:
每一条道路都有他们的承载量,也包括网络道路,需要控制流量的大小防止接收方无法处理大量数据。
4.拥堵控制:
在道路堵塞时需要控制这条道路的车辆来保证这条道路顺利运行,网络道路则是用动态规划来确保这条道路能够顺利运行。
5.可靠性:
为什么说可靠呢,因为TCP三次握手和四次挥手就确保了道路是通的,而添加了超时重传又确保了这个数据包是能够到达的,而ack确认机制则防止数据包丢失。