TCP协议详解和STCP——面试·网络

本文深入解析TCP协议的特性、保证可靠性的机制及报头详情,包括三次握手、TIME_WAIT状态和四次断开流程。此外,还介绍了SCTP协议与TCP的主要区别,如多路径传输和多流传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tcp连接的特点

  • 提供面向连接的,可靠的字节流服务 。
  • 为上层应用层提供服务。不关心传输的具体内容。

tcp如何保证可靠性

分块传输:数据被分割成最合适的数据块(UDP的数据报长度不变)
等待确认:通过定时器等待接收端发送确认回复,收不到确认则重发
确认回复:收到确认后发送确认回复(稍微延迟一下发送)
数据校验:保持首部和数据的校验和,检测数据传输过程有无变化
乱序重排:接收端能重排数据,以正确的顺序交给应用端
重复丢弃:接收端能丢弃重复的数据包
流量缓冲:两端有固定大小的缓冲区(滑动窗口),防止速度不匹配丢数据

TCP报头讲解

宏观位置
在这里插入图片描述
TCP数据被封装在IP数据报中
TCP:传输控制协议
面向连接的可靠传输协议 --在完成了传输层基本工作的基础上还需要保证传输的可靠性
面向连接:传输数据前先通过三次握手建立端到端的虚链路
可靠传输:4种可靠传输机制 排序、确认、重传、流控(滑动窗口机制)
首部格式:
在这里插入图片描述

第1-2两个字节:源端口号
第3-4两个字节:目的端口号
第5-8四个字节:32位序号。tcp提供全双工服务,两端都有各自的序号。编号:解决网络包乱序的问题
第9-12四个字节:32位确认序列号。上次成功收到数据字节序号加1,ack为1才有效。确认号:解决丢包的问题
第13位字节:首部长度。因为任选字段长度可变
后面6bite:保留
随后6bite:标识位。控制各种状态
第15-16两个字节:窗口大小。接收端期望接收的字节数。解决流量控制的问题
第17-18两个字节:校验和。由发送端计算和存储,由接收端校验。解决数据正确性问题
第19-20两个字节:紧急指针

标识位的说明

紧急URG:为1时,表示紧急指针有效,告诉系统此报文段中有紧急数据;
确认ACK:确认标识,连接建立成功后,总为1。为1时确认号有效
推送PSH:接收方应尽快把这个报文交给应用层,为1
复位RST:复位标识,重建连接。当RST=1,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立连接;
同步SYN:建立新连接时,该位为0
终止FIN:关闭连接标识

URG (urgent紧急) — 紧急标志位,表示的是此报文段中有紧急数据,将紧急数据排在普通数据的前面;当接受端收到此报文后后必须先处理紧急数据,而后再处理普通数据。 通常用来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值