TCP协议详解

TCP协议特点:面向连接、字节流、可靠传输。

**面向连接:**使用TCP协议通信的双方必须先建立连接,然后才能开始数据的读写。双方都必须为该链接分配必要的内河资源,以管理连接的状态和连接上数据的传输。TCP连接是全双工的,双方的数据读写可以通过一个连接进行。完成数据交换之后,通信双方都必须断开连接以释放系统资源。

**字节流:**发送端可以逐个字节地向数据流(发送缓冲区)中写入数据,接收端也可以逐个字节地将他们读出(从接收缓冲区)。基于流的数据没有边界(长度)限制。当发送端应用程序连续执行多次写操作时,TCP模块先将这些数据放入TCP发送缓冲区中。当TCP模块真正开始发送数据时,发送缓冲区中这些等待发送的数据可能被封装成一个或多个TCP报文段发出。应用程序执行的读写操作次数和TCP模块发送/接收的报文段个数之间没有固定的数量关系。

**可靠传输:**1.应答机制:发送端发送的每个TCP报文段都必须得到接收方的应答,才认为该报文段传输成功。2.超时重传机制:发送端在发送出一个TCP报文段之后启动定时器,如果定时时间内未收到应答,将重发该报文段。3.接收端的TCP协议程序会对接收到的TCP报文段排序、去重,交给上层(应用层)应用程序。

TCP连接建立过程(四次握手):

相关推荐
计算机安禾9 小时前
【计算机网络】第16篇:TCP流量控制——接收窗口调度的缓冲管理问题
网络·tcp/ip·计算机网络
中议视控9 小时前
网络中控系统通过推流软件实现可视化:RTSP,H265,WEB等推流
前端·网络
Cx330❀9 小时前
Qt 入门指南:从零搭建开发环境到第一个图形界面程序
xml·大数据·开发语言·网络·c++·人工智能·qt
南境十里·墨染春水10 小时前
linux 学习进展 网络编程 ——TCP 协议 TIME_WAIT 状态详解
linux·网络·学习
嵌入式×边缘AI:打怪升级日志10 小时前
[特殊字符] 摄像头模块(七):编写 V4L2 设备框架
网络·网络协议
小李子呢021111 小时前
前端八股网络浏览器---输入 URL 到页面呈现
前端·网络
里晓山11 小时前
SOME/IP协议(上)
网络·网络协议·tcp/ip·车载系统
wangl_9212 小时前
Modbus TCP/IP 地址完全解析手册
网络·tcp/ip·php·modbus·kepware·kepserverex
许泽宇的技术分享12 小时前
别再把 AI Agent 当“会聊天的脚本”:Hermes Agent 源码级拆解(架构、框架、实战、趋势,一文吃透)
java·linux·网络
Yupureki12 小时前
《Linux网络编程》9.数据链路层原理
linux·运维·服务器·网络