tcp建立连接时的三次握手几乎是校招面试在考察网络编程知识时,必问的一个问题。必须清楚的知道tcp三次握手的流程,面试官可能会拿出一张白纸,让你简单画出该流程,然后展开追问。
tcp建立连接三次握手流程
tcp三次握手的流程如下(客户端主动发起连接):
建立过程为:
(1)B首先建立传输控制块TCB,进入LISTEN(收听)状态,等待用户的连接请求。如有,则建立连接。(这个过程在套接字编程中为服务器端调用socket函数、bind函数和listen函数的过程)
备注:一个TCB数据块包含了数据发送双方对应的socket信息以及用于装载数据的缓冲区。在两个设备要建立连接发送数据之前,双方都必须要做一些准备工作,分配内存建立起TCB数据块就是连接建立前必须要做的准备工作。
(2)A建立传输控制块TCB,然后向B发送连接请求报文段,报文段中首部的同步位SYN=1,同时选择一个序列号seq=x&