TCP协议详解

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

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

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

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

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

相关推荐
JMchen123几秒前
Android UDP编程:实现高效实时通信的全面指南
android·经验分享·网络协议·udp·kotlin
临水逸33 分钟前
一次路径穿越漏洞引发的NAS安全危机:飞牛fnOS漏洞深度剖析与用户自救指南
网络·安全·web安全
强风79439 分钟前
Linux-传输层协议TCP
linux·网络·tcp/ip
狮驼岭的小钻风43 分钟前
汽车V模型开发流程、ASPICE、汽车功能安全的基石是国际标准 ISO 26262
网络·安全·汽车
崎岖Qiu1 小时前
【计算机网络 | 第十篇】以太网的 MAC 层
网络·笔记·计算机网络·mac地址
looking_for__1 小时前
【Linux】应用层自定义协议与序列化
linux·服务器·网络
JMchen1231 小时前
Android网络安全实战:从HTTPS到双向认证
android·经验分享·网络协议·安全·web安全·https·kotlin
m0_737302581 小时前
安卓证书在线生成_免费一键制作apk打包 一键制作工具
网络协议·https·ssl
科技块儿1 小时前
如何选择合适的IP查询工具?精准度与更新频率全面分析
网络·tcp/ip·安全
devmoon1 小时前
Polkadot SDK 自定义 Pallet Benchmark 指南:生成并接入 Weight
开发语言·网络·数据库·web3·区块链·波卡