什么是传输控制协议 (TCP)?
TCP(传输控制协议)是 Internet 协议套件的主要协议之一。它位于应用层和网络层之间,用于提供可靠的交付服务。它是一种面向连接的通信协议,有助于通过网络在不同设备之间交换消息。
TCP的工作
为了确保每条消息完好无损地到达其目标位置,TCP/IP 模型将数据分解为小包,然后将这些包重新组合成另一端的原始消息。与一次性发送所有信息相比,以小包信息的形式发送信息更容易保持效率。
在将特定消息分解成束后,如果一条路线阻塞但目的地保持不变,这些束可能会沿着多条路线行进。
例如,当用户在世界某个地方的 Internet 上请求网页时,服务器会处理该请求并将 HTML 页面发送回该用户。服务器使用称为 HTTP 协议的协议。然后 HTTP 请求 TCP 层设置所需的连接并发送 HTML 文件。
现在,TCP 将数据分成小数据包并将其转发到 Internet 协议 (IP) 层。然后数据包通过不同的路由发送到目的地。
用户系统中的 TCP 层等待传输完成,并在收到所有数据包后进行确认。
TCP/IP的特点
传输控制协议的一些最突出的特性是
1. 航段编号系统
- TCP 通过为每个段分配编号来跟踪正在传输或接收的段。
- 为要传输的数据字节分配一个特定的字节编号,而为段分配序列号。
- 确认号被分配给接收到的段。
2.流量控制
- 流控制限制发送方传输数据的速率。这样做是为了确保可靠的交付。
- 接收方不断提示发送方可以接收多少数据(使用滑动窗口)
3.错误控制
- TCP为可靠的数据传输实现了错误控制机制
- 错误控制是面向字节的
- 检查段以进行错误检测
- 错误控制包括——损坏的段和丢失的段管理、乱序段、重复段等。
4.拥塞控制
- TCP 考虑了网络中的拥塞程度
- 拥塞级别由发送方发送的数据量决定
好处
- 这是一个可靠的协议
- 它提供了一种错误检查机制以及一种用于恢复的机制
- 它提供流量控制
- 它确保数据按照发送的确切顺序到达正确的目的地
- 开放协议,不归任何组织或个人所有
- 它为网络上的每台计算机分配一个 IP 地址,为每个站点分配一个域名,从而使每个设备站点在网络上都是可区分的。
缺点
- TCP 是为广域网而设计的,因此它的大小可能会成为资源不足的小型网络的问题
- TCP 运行多层,因此它可以减慢网络的速度
- 它本质上不是通用的。意思是,它不能代表除 TCP/IP 套件之外的任何协议栈。例如,它不能与蓝牙连接一起工作。
- 自大约 30 年前开发以来,没有任何修改。