本文主要是介绍闭关修炼---网络原理之TCP协议,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
TCP协议段格式
这图很重要!这图很重要!这图很重要! 重要的事说三遍,之后的TCP机制都是依靠这张图讲解。
确认的数据编号——确认序列号(Acknowledge Sequence Number) ASN
TCP原理
一、安全机制
①确认应答机制
此机制和 序列号SN、确认序列号ASN 以及 确认号是否有效ACK 有关。
因为TCP协议即需要扮演了发送者(send Segment)的角色,同时还需要扮演接收者(acknowledge segment)的角色,为了TCP身兼两种不同的角色,在TCP设计之初就有一个标志位(ACK),在需要角色设转换的时候发挥作用。
ACK == 1开关打开 ACK == 0开关关闭
而ASN则表示确认应答序号,假设A发送1000个数据给B,而B确认应答是从这个数据的下个字节开始。如1000个数据是从1~1000,则确认应答是从1001开始的。ASN只有在ACK==1时才有意义。
具体的应答过程如下图所示:
为什么ISN不设置成从О开始,而是采用随机值?
这是从安全角度考虑的,如果ISN设计从О开始,很容易有恶意的用户推算出来合法的SN的值
这样伪造TCP SN的成本很低。使用随机值,相对来说可以避免一部分这个情况。
②超时重传机制
关于重传
如果没有接收到应答,可能会有两种情况导致。
1.接收方没收到,所以没应答
这篇关于闭关修炼---网络原理之TCP协议的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!