当前位置: 首页 > news >正文

tcp基础协议

网络层

  • 可路由协议:可跨越三层设备进行路由转发的协议,如 IPIPX

  • 不可路由协议:不可跨越三层设备,也不能进行路由转发的协议,如 NETBEUI

  • 路由协议:在路由器之间传递路由信息并计算路由,为可路由协议选择转发路径的协议,如 RIPOSPFBGP

IP协议

IP协议特点

  • 无连接性:IP协议在传输数据之前不需要建立连接。这意味着每个数据包都是独立发送的,不会受到其他数据包的影响。

  • 尽力而为的服务:IP提供的是尽力而为的服务,即超过转发能力时直接丢弃数据包,不保证数据的可靠传输。

  • 无序传输:IP数据包在网络中的传送是无序的,在转发过程中,不考虑到达接收端的顺序,每个数据包单独进行路由(即单独选择到达目的地的路径)。

  • 不可靠性:IP分组传送是不可靠的,发送端只管发送数据,不关心接收端是否收到数据,IP的可靠性需要上层协议(如TCP)来解决。

IP包头结构

版本号:4位,IPv4:值为4。 包头长度:4位,IP包头长度,单位为4字节。 包头长20字节,值为5;带选项的包头长24字节,值为6。 服务类型:8位,QOS使用;前3位为IP优先级,前6位为DSCP。 报文长度:16位,IP包总长度(包头+数据),单位为字节。

标识符:16位 同一IP数据包的各个分片的标识符相同。

标志位(Flags):3位 第1位:未使用。 第2位:DF位(Don't Fragment),DF=1表示不允许对该包进行分片,DF=0表示允许分片。 第3位:MF位(More Fragment),MF=1表示后面还有分片,MF=0表示这是最后一个分片。

分段偏移量:13位 本分片数据载荷在原IP包数据载荷中的相对位置,单位为8字节。

例如,一个4000字节的IP包在MTU=1500字节下的分片: 4000字节IP包的内容长3980字节,内容的第一个字节偏移量为0。 第1个分片长1500字节,MF=1,分段偏移量0,含原包内容1480字节; 第2个分片长1500字节,MF=1,分段偏移量185,含原包内容1480字节; 第3个分片长1040字节,MF=0,分段偏移量370,含原包内容1020字节。

TTL,8位,每路由转发一次减1,用于防环。 协议:8位,标识上层协议。如TCP协议号6,UDP协议号17。 包头校验和:16位,因IP包头长度可变,用于IP包头完整性校验。

MTU(最大传输单元) 链路层MTU: 链路层能传的最大的帧,含链路层头部。 网络层MTU: 网络层能传的最大的包,含网络层头部。

路由器IP分片 数据包大于入接口MTU,Cisco设备将丢弃该包。 数据包大于出接口MTU 该包的DF=1时,丢弃该包;该包的DF=0时,将该包分片。 IP分片只在目标主机上重组。

tcp协议

TCP协议概述

Transmission Control ProtocolTCP TCP 是面向连接的,数据传输需要经过建立连接、传输数据、断开连接三个阶段。 全双工通信,数据可在同一连接上同一时间内双向流动。 TCP 提供有序的数据传输,接收端按字节对数据进行确认。 TCP 数据传输是可靠的,包头中含有校验和可对数据进行校验,并具有超时重传机制重传丢失的数据。 TCP 提供高质量的传输服务,通过滑动窗口机制实现流量控制。 TCP 适合于可靠性要求高的应用。

TCP包头结构

端口号:16位,0——65536,1024以下为知名端口号。 窗口:16位,滑动窗口的大小,单位为字节,即能接收的字节数。 报头长度:4位,TCP包头长度,单位为4字节。 校验和:16位,TCP报头和数据的校验和。

字节号 TCP把要在一个连接上发送的数据都按字节编号。通信双方的编 号是相互独立的,编号不一定要从0开始,TCP选择0~(2的32次方-1)之间的一个随即数作为第1个字节的编号。 序号 TCP把要在一个连接上发送的数据分成若干报文段,然后给每个 报文段指派一个序号,序号就是该报文段第一个字节的编号。 确认号 期望接收到的下一个字节的编号。

序号案例 假设一条TCP连接要传送一个5000字节的文件。第一个字节的编号是10001。如果该数据用5个报文段来发送,且每个报文段携带1000字节的数据,那么每个报文段的序号分别是什么?

tcp包头结构

编码位(TCP Flag) FIN:结束标志;为1时,请求断开连接。 SYN:同步标志;为1时,请求建立连接。 RST:复位标志;为1时,请求重新建立TCP连接。 PSH:通知接收端立即将数据交给用户进程,不要停留在缓存中,等待更多的数据。 ACK:确认标志;确认号有效位,表明该数据包包含确认信息。 URG:紧急标志;紧急指针有效位,与16位紧急指针配合使用。

tcp工作机制

TCP连接建立——TCP MSS TCP MSS是TCP的一个重要选项,TCP数据分段的最大长度,该参数在三次握手时发给对方。

tcp连接断开--四次断开机制

TCP流量控制

滑动窗口机制

TCP为每个方向的数据传送都使用两个窗口(发送窗口和接收窗口),共4个窗口。

TCP通过强制发送方和接收方不断调整窗口大小,来实现流量控制。

出现拥塞时,窗口减半;

传输稳定时,窗口慢慢变大。

tcp的可靠性主要是通过确认应答+超时重传来实现的。

1 确认应答机制

先看发送方:在没有滑动窗口机制之前,发送方一次只能发送一段报文,且每次发送完后要等待接收方的ACK确认,只有在收到接收方的ACK确认应答后,才能将发送缓冲区里对应的数据释放掉,并开始发送第二段报文。如果在规定时间内未收到ACK确认,则尝试重传这段报文(超时重传机制)。
​再看接收方:接收方每次接收到报文后,都要给发送方返回一个确认应答报文ACK,告知对方已正确接收数据,期望下次收到报文段的起始序列号是ack。

udp协议

UDP包头结构

http://www.lryc.cn/news/598935.html

相关文章:

  • node.js中的path模块
  • MySQL深度理解-MySQL索引优化
  • AI服务器给一体成型电感带来多大的市场空间
  • Java学习日记_廖万忠
  • 深度解析:在Odoo 18中基于原生Owl框架为PWA定制功能丰富的底部导航栏
  • 面经 - 车载多媒体系统
  • Vue2——5
  • [CH582M入门第十一步]DS18B20驱动
  • 金仓数据库:从国产替代到AI融合的破局之路
  • Mysql窗口函数
  • 2025年海外短剧独立站开发:H5+PC端双平台技术实践与增长策略
  • 《AI流程编排中的Graph观测:设计原理与集成实践》
  • 高并发系统设计面试题
  • 深度分析Java多线程机制
  • MinIO 版本管理实践指南(附完整 Go 示例)
  • 【AI】Java生态对接大语言模型:主流框架深度解析
  • P1308 [NOIP 2011 普及组] 统计单词数
  • PH73211L_VC1/PH73211LQ_VC1:低功耗USB HiFi音频解码器固件技术解析
  • 力扣刷题HOT100——跳跃游戏
  • 康养休闲旅游服务虚拟仿真实训室:赋能人才培养的创新路径
  • 2025年7月23日 AI 今日头条
  • 2025最新MySQL面试题实战记录,互联网公司常问题目
  • day46day47 通道注意力
  • 高级04-Java 设计模式:常用模式详解与实战
  • 【STM32项目】智能台灯
  • 大模型Prompt优化工程
  • 将Scrapy项目容器化:Docker镜像构建的工程实践
  • 跨境支付入门~国际支付结算(稳定币)
  • 最大团--贪心例题
  • uboot FPGA调试环境搭建