计算机网络(5.15)运输层-TCP的连接建立(三次握手)
运输连接的三个阶段
TCP是面向连接的协议,运输连接是用来传送TCP报文的。TCP运输连接的建立和释放是每一次面向连接的通信中必不可少的过程。
运输连接有三个阶段: 1、连接建立。2、数据传送。3、连接释放。
运输连接的管理就是使运输连接的建立和释放都能正常地进行。
TCP 连接建立过程中要解决的三个问题
(1) 要使每一方能够确知对方的存在。
(2) 要允许双方协商一些参数(如最大窗口值、是否使用窗口扩大选项和时间戳选项以及服务质量等)。
(3) 能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配。
客户−服务器方式
TCP连接的建立采用客户服务器方式。
主动发起连接建立的应用进程叫做客户(client),
被动等待连接建立的应用进程叫做服务器(server)。
TCP的连接建立
TCP建立连接的过程叫做握手。
握手需要在客户和服务器之间交换三个TCP报文段。 称之为三报文握手。
采用三报文握手主要是为了防止已失效的连接请求报文段突然又传送到了,因而产生错误。
TCP 的连接建立:采用三报文握手
A的TCP向B发出连接请求报文段,其首部中的同步位SYN = 1,并选择序号seq = x,表明传送数据时的第一个数据字节的序号是x。
B的TCP收到连接请求报文段后,如同意,则发回确认。 B在确认报文段中应使 SYN = 1,使 ACK = 1, 其确认号ack = x + 1,自己选择的序号 seq = y。
A收到此报文段后向B给出确认,其ACK= 1, 确认号ack=y + 1。 A的TCP通知上层应用进程,连接已经建立。
B的TCP收到主机A的确认后,也通知其上层应用进程:TCP连接已经建立。
采用三报文握手建立 TCP 连接的各状态