参考模型--传输层

一、传输层协议: TCP UDP

传输层是提供端口号到端口号的链接

网络层是提供点到点的链接(点指路由器)

TCP传输控制协议: 面向连接可靠的协议,但传输速度慢;

UDP用户数据报协议:面向非连接不可靠的协议,但传输速度快;

TCP报头封装格式

源端口号(16) 目标端口号(16) 4字节

序列号(32) 4字节

确认号(32) 4字节

首部长度(4) 保留位(6)六大控制位(SYN,ACK,RST,FIN,URG,PSH,)(6) 端口大小(16) 4字节

校验和(16) 紧急指针(16) 4字节

可选项

数据

源端口号:发送端主机的端口号

目标端口号:接收端主机的端口号

序列号:TCP数据报的编号

确认号:接收方主机对发送方报文的确认编号,(发送方的序列号+1)

首部长度:TCP数据报的长度(20-60字节)

保留位:

控制位: SYN=1 发起连接

ACK=1 确认连接

FIN=1 中断连接

RST=1 重置链接

URG=1 开启紧急指针

PSH=1 开启数据缓冲

窗口大小:发送数据前,双方协商每次发送数据的大小

校验和:提供校验

紧急指针:优先级发送

可选项:备注(0-40字节)

二、TCP建立的三次握手和断开的四次挥手:

TCP的三次握手(序列号:seq)

主机A 主机B

第一次 序列号100,SYN=1

第二次 确认:确认号:101,ACK=1

请求:序列号300,SYN=1

第三次 序列号101,确认号=301,控制位=1

TCP的四次分手

主机A 主机B

第一次 序列号:100,FIN=1,ACK=1

第二次 序列号:300,确认号101,ACK=1

第三次 序列号:300,确认号101,FIN=1,ACK=1

第四次 序列号:101,确认号301,ACK=1

TCP的计时器

1、TCP的重传计时器:发送数据后开启重传计时器(时间为60s),如果时间内没有收到接收方的确认报文,则重传数据;

2、TCP保活计时器:客户端跟服务器建立好链接后,服务器会开启时间为2小时的保活计时器,在两小时内如果客户端没

有任何活动,服务器会每隔75秒给客户发送一个探测数据段,发送10个,如果客户端还是没有任何活动则断开链接;

3、TCP的时间等待计时器:客户机发送完最后一次分手报文后,开启一个时间等待计时器,时间不固定,在此时间内,

如果没有再次收到对方的分手报文,则断开链接。

基于TCP的应用层协议:FTP(21)、Telnet(23)、DNS(53)、HTTP(80)。

UDP(用户数据报协议)的封装格式

源端口号(16) 目标端口号(16) 4字节

UDP长度(16) UDP校验和(16) 4字节

数据

基于UDP的应用层协议:TFTP(69)、NTP(123)、DNS(53)、RPC(111)。

相关推荐
xixingzhe224 分钟前
AI 对话打字机效果:SSE 和 HTTP 的区别与适用场景
网络·网络协议·http
xiaoye-duck42 分钟前
《C++ 项目:手写大模型接入 SDK》Gemini接口设计(上):初始化、全量响应实现和测试
开发语言·网络·c++·语言模型
布裘1 小时前
【银河麒麟】重启后时区丢失?排查发现 localtime 被业务程序替换成硬链接
linux·运维·网络
zhikouai2 小时前
把外部助手接进聊天软件的架构分层与参数配置
服务器·网络·php
huainingning2 小时前
锐捷10.X路由器版本升级不生效问题排查
运维·网络·智能路由器
QZ166560951596 小时前
政务泛监测体系能力排行:AI 重塑监测边界,治理的颗粒度革命
网络·人工智能·安全·网络安全·政务
叼烟扛炮6 小时前
Linux 学习笔记(五十八):IO 多路复用封神——epoll 底层原理揭秘
linux·运维·服务器·网络·笔记·学习·php
叼烟扛炮6 小时前
Linux 学习笔记(五十一):数据链路层与 ARP 协议——局域网寻址与黑客骗局
linux·网络·网络协议·php·tcpdump
星恒随风7 小时前
Linux网络编程:彻底理解IO多路复用select!从fd_set位图、读写就绪到手写TCP多客户端字典服务器
linux·服务器·网络
xyzzklk9 小时前
在Open-WebUI中提升向量化速度
网络·人工智能·爬虫·ai·语言模型·自然语言处理·安卓