TCP传输控制协议

传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 7931定义。

TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。

数据的加工和传输过程

TCP/IP 模型每个层都有各自的功能和分工,当有用户数据想要发送给另一台设备的时候,数据自上而下,从应用层向链路层传递有一个复杂的过程。

以 Telnet 为例,Telnet 在传输层是使用 TCP 协议的。

数据从应用层进入,到达传输层,添加上 TCP首部,将数据加工成 TCP 段,称为 Segment。这是为了保证数据的可靠性。

接着数据到达网络层,在网络层使用 IP 协议,被添加上 IP 首部,将数据加工成 IP数据报,称为 datagram 。经过网络层 IP 协议的加工,指定目标地址和 MAC 地址,保证数据准确的发送到目标机器。

接着数据到达链路层,添加上以太网头部,将数据加工成以太网帧,称为 frame,包含了网卡等硬件相关的数据。

无论是 Telnet 还是 HTTP,都至少涉及到两台设备才能称之为网络互连,那发送方有一个数据自应用层向底层链路层的加工过程,对应的,在数据接收方,有一个数据从链路层向应用层解析的过程。这中间可能经历了漫长的传输介质,比如光纤,还可能有若干个中间设备,比如路由器、交换机等等。要保证数据在这么复杂的网络环境中可靠、准确的发送到目标机器,就是靠的 TCP、IP协议精巧的设计。

相关推荐
Dovis(誓平步青云)2 分钟前
从Redis指标采集到异常告警:redis_exporter + Prometheus 完整实战
服务器·数据库·人工智能·redis·架构·prometheus·vibe coding
垂钓的小鱼11 小时前
用关联图谱做量化选股:让基本面惊喜沿着网络扩散
服务器·php·apache
Lonely 净土8 小时前
Linux 运维文件写入操作
linux·运维·服务器·文件管理
城管不管8 小时前
重生——第十一次面试之挖财一面2026.8.19已OC
java·服务器·jvm·数据库·spring·面试·职场和发展
飞英思特无线充电8 小时前
严苛场景巡检机器人的无线补能设计:点位、BMS、认证与运维边界
运维·机器人
Jimmy_jimi9 小时前
利用nginx代理完成url重定位
运维·nginx
liuyicenysabel9 小时前
多服务上线日记三:
运维·服务器·笔记·学习
吠品10 小时前
Wine 在 Linux 上运行 Windows 软件完整指南
java·linux·服务器
一只鹿鹿鹿10 小时前
大数据中心安全系统解决方案(Word文件)
大数据·运维·物联网·安全·政务
深念Y13 小时前
从 Windows 迁移到 Linux 开发环境的记录
linux·windows·链接·bun·ram·imdisk