C
TCP连接需要经过三次握手操作,方可建立完整的TCP连接。其过程如下:(1)请求端发送一个SYN段指明客户打算连接的服务器的端口,发送SYN控制位报文,这个SYN报文段为报文段1。(2)服务器端发回包含服务器的初始序号的SYN报文段(报文段2)作为应答。同时将确认序号设置为客户的序列号加1以对客户的SYN报文段进行确认。一个SYN将占用一个序号。(3)客户必须将确认序号设置为服务器的ISN加1以对服务器的SYN报文段进行确认(报文段3)。这3个报文段完成连接的建立,称为三次握手。发送第一个SYN的一端将执行主动打开,接收这个SYN并发回下一个SYN的另一端执行被动打开。之所以要采用三次握手建立TCP连接是防止产生错误的连接。TCP的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端期望接收的字节数。窗口大小是一个16位的字段,窗口大小最大为65535字节。