3.8 TCP面向字节流

1.TCP面向字节流


1.TCP面向字节流

csharp 复制代码
1).实现可靠, 有序的交付

TCP为每个传输的字节都分配了一个隐形的序列号, 这个序列号是基于字节的

a.发送端告诉接收端: "我现在要发送从序列号N开始的N个字节"

b.接收端确认: "我已经成功收到了直到序列号K的所有字节"

通过这种方式, 即使网络底层的数据包是乱序, 重复或丢失的, TCP协议栈也能在内部根据序列号将这些字节重新组成成正确

的, 连续的字节流, 再交付给应用层; 应用层完全感知不到底层网络的混乱

2).灵活的流量控制和拥塞控制

a.流量控制: 接收方通过滑动窗口机制告诉发送方: "我的缓冲区还能接收多少字节", 发送方就根据这个"窗口"大小来发送

相应数量的字节, 防止接收方被淹没

b.拥塞控制: TCP根据网络状态动态调整它能在网络中"飞行"的字节数量

这两种控制机制的核心度量单位都是字节, 面向字节流的设计使得这种精细的控制成为可能
csharp 复制代码
注: 使用TCP开发网络游戏(或任何应用)时, 必须在应用层自己建立"消息协议"来区分不同的消息("长度前缀法")
相关推荐
初听于你1 小时前
深入解析IP, ICMP, OSPF, BGP四大核心网络协议
服务器·网络·网络协议·计算机网络·信息与通信·信号处理
网硕互联的小客服1 小时前
如何解决 Linux 文件系统挂载失败的问题?
linux·服务器·前端·网络·chrome
门思科技1 小时前
主流 LoRaWAN 网络服务器深度对比:ThinkLink、TTS、ChirpStack、Loriot 与 Actility 选型指南
运维·服务器·网络
网安小白的进阶之路5 小时前
A模块 系统与网络安全 第四门课 弹性交换网络-6
网络·安全·web安全
无聊的小坏坏10 小时前
从单 Reactor 线程池到 OneThreadOneLoop:高性能网络模型的演进
服务器·网络·一个线程一个事件循环
还下着雨ZG10 小时前
TCP/IP协议族详细介绍
网络·网络协议·tcp/ip·计算机网络
国服第二切图仔10 小时前
Rust开发之Trait 定义通用行为——实现形状面积计算系统
开发语言·网络·rust
蒙奇D索大11 小时前
【计算机网络】[特殊字符] 408高频考点 | 数据链路层组帧:从字符计数到违规编码,一文学透四大实现方法
网络·笔记·学习·计算机网络·考研
奋斗的牛马11 小时前
OFDM理解
网络·数据库·单片机·嵌入式硬件·fpga开发·信息与通信