TCP协议由浅入深(1) ——TCP连接

本文深入探讨TCP协议,重点讲解TCP连接的建立(三次握手)和断开过程,包括TCP首部的各个字段及其作用,如序号、确认序号和标志位。此外,还分析了为何是三次握手而非两次或四次,以及特殊情况如两次连接和两次挥手的情况。
摘要由CSDN通过智能技术生成

认识TCP
TCP是工作在网络层,向应用层提供一种可靠的,面向字节流的协议。
1.TCP的首部

这里写图片描述
TCP首部通常占用20字节。
TCP首部中的两个记录端口的字段再加上IP首部中的源IP和目的IP来确认一个唯一的TCP连接。
序号用来标识TCP的发送端发送的字节流,每发送一个字节,序号就加一。这里写图片描述
为什么图中SEQ是从1开始呢?因为在TCP连接的是否发送了一个只包含SYN的包,将SEQ初始为1,从图中可以看出序号对单向传输的每一个字节进行计数。
确认序号是用来确认前面收到的字节。这里写图片描述
从图中可以看出第355号包确认的是第354的seq加上len再加一。如果发送方的包在传输过程中出错,导致接收方的检验和对不上,这样将不会确认这个包,例如A能接受B的1024~2047,但是其中数据出现错误的话,A只会确认1025。这样发送方收到重复的ACK,如果这样发生三次这样就能判断这个包丢包或者发生错误,发送方就会重传这个包。
下面介绍TCP首部中六个标志位:
URG:紧急指针有效、 <

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值