TCP连接建立:三次握手 TCP连接释放:四次握手
一、概述 TCP是面向连接的协议。 TCP连接有三个阶段:
二、连接建立 TCP连接的建立采用C/S方式 主动发起连接建立的应用进程叫做客户 被动等待连接建立的应用进程叫做服务器
TCP建立连接的过程叫做握手 握手需要在客户和服务器之间交换三个TCP报文段,称为三次握手 采用三次握手主要是为了防止已失效的连接请求报文段突然又传送到了,因而产生错误。
TCP连接释放 A 必须等待 2MSL 的时间 第一,为了保证 A 发送的最后一个 ACK 报文段能够到达 B。 最后一个ACK可能会丢失,此时B会重发FIN,在这段等待时间内能收到重发的FIN并再次回复ACK。 第二,防止 “已失效的连接请求报文段”出现在本连接中。 可以使本连接持续的时间内所产生的所有报文段都从网络中消失。这样就可以使下一个新的连接中不会出现旧连接的报文段
保活计时器 用来防止在TCP连接出现长时期的空闲。 通常设置为2小时 。 若服务器过了2小时还没有收到客户的信息,它就发送探测报文段。 若发送了10个探测报文段(每一个相隔75秒)还没有响应,就假定客户出了故障,因而就终止该连接。
例题
例一:主机甲向主机乙发送一个( SYN=1 ,seq=11220 )的TCP 段,期望与主机乙建立TCP 连接,若主机乙接收该连接请求,则主机乙向主机甲发送的正确的TCP 段可能是 A.(SYN=0 ,ACK=0 ,seq=11221 ,ack=11221 ) B.(SYN=1 ,ACK=1 ,seq=11220 ,ack=11220 ) C.(SYN=1 ,ACK=1 ,seq=11221 ,ack=11221 ) D.(SYN=0 ,ACK=0 ,seq=11220 ,ack=11220 ) 答案:C
例二:若主机甲主动发起一个与主机乙的TCP 连接, 甲、乙选择的初始序列号分别为2018 和2046,则第三次握手TCP 段的确认序列号是 A. 2018 B. 2019 C. 2046 D. 2047 答案:D 第一次握手:2018。 第二次握手:2046,2019。 第三次握手:2019,2047
|