3.TCP协议-序列号和确认号

TCP协议使用序列号确保数据在传输过程中能正确排序。每个字节都被分配一个序号,从初始序列号(ISN)开始。确认号用于告知发送方已接收到的数据,通常采用累积确认方式提高效率。TCP连接的建立和释放过程也与此密切相关。
摘要由CSDN通过智能技术生成

序列号

为什么要有序列号

在APUE基础中,我们通过TCP协议将数据发送给对方,就比如 helloworld,这一串字节流;

假设被拆分成了三个TCP报文段,第一个报文段携带了 hel,第二个报文段携带了 lowo,第三个报文段携带了 rld;

这三个报文段不一定是按照顺序送到目的地的,那么目的地收到这三个段是如何确定他们的顺序的呢?

此时序号的意义就体现在这里;

序列号

序号占用4字节,即32位。它的范围是 [0,2^32−1],也就是说一共有42 9496 7296个序号;

TCP协议中的序号,指的是报文段序号;

字节序号

TCP连接中,传送的字节流(数据)中的每一个字节都是按顺序编号;也就是说,在一次TCP连接建立的开始,到TCP连接的断开,你要传输的所有数据的每一个字节都会被编号;

这个序号称为字节序号;

初始序号ISN

当新连接建立的时候,第一个字节数据的序号称为ISN(Initial Sequence Number),即初始序号;

ISN并不一定就是1;在 RFC (规定网络协议的文档)中规定,ISN 的分配是根据时间来的;

当操作系统初始化的时候,有一个全局变量假设为 g_numb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值