TCP建立连接的三次握手
2015-08-19 18:01
991 查看
1.TCP建立连接的过程采用三次握手,已知第三次握手报文的发送序列号为1000,确认序列号为2000,请问第二次握手报文的发送序列号和确认序列号分别为
1999,999
1999,1000
999,2000
999,1999
应该选 B
发送序列是自己发送报文的序列号,当前发送序列号是上一次发送序列号+1
确认序列号是从对方接收到的发送序列号+1
第三次握手发送的序列号是1000,那说明第一次握手发送的序列号是999,注意:这里是握手
,因此,第二次握手的确认序列号是1000,即确认序列号是从对方接收到的发送序列号+1。
第三次握手发送的确认号是2000,说明第二次握手的发送序列号是1999。
所以,选B
简化一下,其实有两个序列,客户端发送X,服务器发送Y。三次握手分别是
客户端:发送X
服务端:发送Y, 确认X+1
客户端:发送X+1(1000),确认Y+1(2000)
可以反推第二次为1999,确认1000
这不是同一端的数据包。
2.下列TCP连接建立过程描述正确的是:
服务端收到客户端的SYN包后等待2*ml时间后就会进入SYN_SENT状态
服务端收到客户端的ACK包后会进入SYN_RCVD状态
当客户端处于ESTABLISHED状态时,服务端可能仍然处于SYN_RCVD状态
服务端未收到客户端确认包,等待2*ml时间后会直接关闭连接
答案:C
此题主要考察TCP三次握手,四次挥手的状态变化,对着图看吧,加深印象。
三次握手如下:
(此图第三次握手的ack应该等于y+1,而不是y,但不影响解这题)
四次挥手如下:
1999,999
1999,1000
999,2000
999,1999
应该选 B
发送序列是自己发送报文的序列号,当前发送序列号是上一次发送序列号+1
确认序列号是从对方接收到的发送序列号+1
第三次握手发送的序列号是1000,那说明第一次握手发送的序列号是999,注意:这里是握手
,因此,第二次握手的确认序列号是1000,即确认序列号是从对方接收到的发送序列号+1。
第三次握手发送的确认号是2000,说明第二次握手的发送序列号是1999。
所以,选B
简化一下,其实有两个序列,客户端发送X,服务器发送Y。三次握手分别是
客户端:发送X
服务端:发送Y, 确认X+1
客户端:发送X+1(1000),确认Y+1(2000)
可以反推第二次为1999,确认1000
这不是同一端的数据包。
2.下列TCP连接建立过程描述正确的是:
服务端收到客户端的SYN包后等待2*ml时间后就会进入SYN_SENT状态
服务端收到客户端的ACK包后会进入SYN_RCVD状态
当客户端处于ESTABLISHED状态时,服务端可能仍然处于SYN_RCVD状态
服务端未收到客户端确认包,等待2*ml时间后会直接关闭连接
答案:C
此题主要考察TCP三次握手,四次挥手的状态变化,对着图看吧,加深印象。
三次握手如下:
(此图第三次握手的ack应该等于y+1,而不是y,但不影响解这题)
四次挥手如下:
相关文章推荐
- 虚拟机网络配置
- 架设CA服务器实现https通信,web服务器使用CA自签证书与https通信
- Apache HttpClient Examples
- Http Status Code
- 浅谈HTTP中Get与Post的区别
- TCP 的那些事儿(下)
- TCP 的那些事儿(上)
- Java HttpClient
- python Flask 使用https 安全协议
- 虚拟化--网络最佳实践
- The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- Http Digest 认证在android平台的实现
- 【网络流24题之餐巾计划】xoj 1247
- apache的https访问配置
- Haproxy+keepalived TCP 层的负载均衡
- Android,http传送url链接中文乱码
- http_build_query
- Basic and Digest Access Authentication (rfc2617) 及HttpClient实现
- HTTP协议详解
- 确保安全的HTTPS(对HTTP加密的几种技术,前端面试常问)第一篇