TCP三次握手
发布日期:2021-05-07 21:08:12 浏览次数:25 分类:精选文章

本文共 703 字,大约阅读时间需要 2 分钟。

1. 学习内容

计算机网络传输层内容,“TCP三次握手”流程。
参考网站:

2. TCP报文格式

  • 源端口:发送数据的进程号。16位,0~6 5535。
  • 目的端口:接受数据的进程号。

端口号对+IP地址对+MAC地址对唯一确定一条TCP链路,可以实现进程与进程之间的通信。

  • 序号:序列号,即数据包本身的序列号,为连接以后传输数据使用。32位,0~42 9496 7295。如果序号为100,数据有200个字节,那么下一个报文的序号就为300。

  • 确认号:如果确认号为n,代表发送的前n-1个字节都收到了。

  • ACK:确认标识,当ACK=1时确认字段才有效。

  • SYN:同步序列号,用来发起一个连接。SYN=1的报文不能携带数据。

3. “TCP三次握手”

明明没有握手,却叫“TCP握手”。这些突然冒出的笼统词儿,让人心累脑袋疼。
“TCP三次握手”过程如图所示。
在这里插入图片描述
第一次:
TCP报文
A-------------------->B
TCP报文:
SYN=1(仅仅发起一个TCP连接,报文不发送数据)
seq(序号)=x(占一个序号,设它为x)
第二次:
TCP报文
A<--------------------B
TCP报文:
SYN=1(仅仅发起一个TCP连接,报文不发送数据)
seq=y(占一个序号,设它为y)
确认序号=x+1(0~x个字节数据已收到)
ACK=1(确认序号字段有效)
第三次:
TCP报文
A-------------------->B
TCP报文:
SYN=0(已建立TCP连接,报文发送数据)(图中没有在此添加)
seq=x+1(发送第x+1个序列)
确认序号=y+1
ACK=1

上一篇:C语言编程·执行记事本中的.exe可执行文件
下一篇:反转链表

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2025年04月09日 10时23分40秒