传输层协议TCPT,三次握手和四次挥手及UDP协议
目录:
传输层位于OSI参考模型的表示层和网络层之间,位于TCP/IP模型的应用层和网络层之间。
主要负责向两个主机中进程的通信提供方向。定义数据传输协议的端口号,提供端到端的通信。
2,传输层协议
TCP(Transmission Control Protocol)传输控制协议
TCP是面向连接的,可靠的进程到进程的通信的协议
TCP提供双全工服务,即数据可在同一时间双向传输
UDP (User Datagram Protocol)用户数据协议
无连接,不可靠的传输协议
花费的开销小
序号:发送端为每个字节进行编号,便于接收端正确重组
确认号:用于确认发送端的信息
窗口大小:用于说明本地可接受数据段的条目,窗口大小是可变的
SYN:同步序号位,TCP需要建立连接时将该值设为1
ACK:确认序号位,当该位为1时,用于确认发送方的数据
FIN:当TCP断开连接时将该位置值设为1
第一次挥手:
客户端进程发出连接释放报文FIN=1,ACK=1,停止发送数据。Seq=X,Ack=Z。客户端进入FIN_WAIT-1状态
第二次挥手:
服务器收到连接释放报文,发出确认报文,ACK=1。Seq=Z,Ack=X+1。此时服务端进入到CLOSE_WAIT状态。客户端接口报文,进入FIN_WAIT-2状态。此时,处于半关闭状态。服务端可以发送数据,客户端只可以发送ACK应答报文。
第三次挥手:
服务端将最后数据发送完毕后,发送释放报文。FIN=1,ACK=1。Ack=X,Seq=Y。 服务端进入LAST_ACK状态。
第四次挥手:
客户端收到服务器的连接释放报文后,发出确认。ACK=1,确认号Ack=Y+1,序号Seq=X+1
UDP长度:用来指出UDP的总长度,为首部加上数据
校验和:用来完成UDP数据的差错校验,它是UDP协议提供的唯一的可靠机制
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现