传输层协议

TCP传输控制协议

特点:有连接的,可靠性高,效率低,适用于文本流量

封装内容:(20字节)

端口号占16bit,知名端口号:0-1023,自定义端口号:1024-65535

源端口号来自自定义端口号,目的端口,目的端口号标识上层协议的

Sequence序列号、ack确认号、Reserved保留位,固定为0

Control bits控制位,有SYN、ACK、FIN、RST、PSH、URG位

SYN表示建立连接

ACK表示确认连接

FIN表示断开连接

RST表示TCP连接建立失败后,重新建立TCP连接

window窗口值:用来控制TCP的流量

可靠机制:

1、建立TCP连接(通道),通过三次握手的方式来建立TCP连接(双向)

主动端使用SYN置位的TCP报文,携带随机序列号a,请求TCP连接

被动端生成ACK和SYN置位的TCP报文,携带ack+1用来确认主动端到被动端的连接,同时携带随机序列号c,用来请求被动端到主动的连接

主动端生成ACK置位的TCP报文,携带ack=c+1用来确认连接

2、确认机制/重传机制

所有的TCP流量都会携带一个序列号,对端收到TCP流量之后,会进行ACK的确认回复,接着才可以继续发送下一份TCP流量,如果没有收到ACK确认,一直进行重传

3、滑动窗口机制

控制数据的传输速率,防止缓冲区不够导致数据发生丢包

在TCP三次握手时,双方告诉对方自己的缓冲大小为多少

4、关闭连接

数据传输完成之后,需要关闭TCP连接,通过四次挥手的方式进行关闭

主动端发送FIN请求断开TCP连接

被动端收到后,发送ACK确认主动端到被动端的连接断开

被动端发送FIN请求断开TCP连接

主动端收到后,发送ACK确认被动端到主动端的连接断开

UDP用户数据协议

特点:无连接的,可靠性低,效率高,适用于视频流量

相关推荐
笨笨饿几秒前
80_聊聊SPI以及它们的变体
linux·c语言·网络·stm32·单片机·算法·个人开发
ITyunwei09879 分钟前
数字化转型与遗留系统:如何为老旧的IT系统“减负“并注入新活力?
运维·网络·数据库
xhbh6661 小时前
从零实现Linux软路由:报文转发配置+静态路由+NAT实战
网络·端口转发·流量端口转发·ssh端口转发·端口转发工具
wangl_921 小时前
Modbus RTU 与 Modbus TCP 深入指南-决策树与选型建议
网络·网络协议·tcp/ip·tcp·modbus·rtu
xhbh6662 小时前
Windows自带端口转发完全教程:netsh命令详解与实战案例
网络·端口转发·流量端口转发·ssh端口转发·端口转发工具
暴力求解2 小时前
Linux---网络基础概念
linux·运维·服务器·网络·操作系统
Simon523142 小时前
常见404 500错误解析
网络·学习·servlet·html5
pengyi8710152 小时前
共享IP全面优缺点解析,适合什么人群使用?
linux·运维·服务器·网络·tcp/ip
小船跨境2 小时前
ChatGPT助力高效网页数据抓取实战
人工智能·网络协议
IpdataCloud2 小时前
IPv6时代,IP归属地查询服务精准度面临哪些挑战?实测对比+提升方案
运维·服务器·网络