RuiCode

  • 首页
  • 归档

  • 搜索
操作系统 并发 排序 网络 源码分析 二分法 面试 不重复算法 指针移动 java 算法 mysql Linux

【面试经】计算机网络1 -- TCP的建立和断开

发表于 2020-02-21 | 分类于 面试经 | 0 | 阅读次数 275
  1. TCP三次握手
  • 三次握手示意
服务器状态SYNACKseqack客户端状态传输方向
SYN_SENT1NOxNOLISTENING->
SYN_SENT11yx+1SYN_RCVD<-
ESTABLISHEDNO1x+1y+1SYN_RCVD->
  • 三次握手是为了保证服务器和客户端同时具备收发的能力和确认对方具备收发能力
  • 如果只有两次握手,很可能出现脏连接:在断开连接后,假如有一个超时的连接请求,接收方就会创建连接
  1. TCP四次挥手
  • 示意
服务器状态FINACKseqack客户端状态传输方向
ESTABLISHED1NOxNOESTABLISHED->
FIN_WAIT_1NO1yx+1CLOSE_WAIT<-
FIN_WAIT_2NO1y+ix+1CLOSE_WAIT
单向传输数据
<-
FIN_WAIT_211zx+1LAST_ACK<-
TIME_WAITNO1x+1z+1LAST_ACK->
CLOSEDNONONONOCLOSED
  • TIME_WAIT 等待时间为2MSL,这段时间确保客户端顺利关闭连接。如果客户端没有收到服务器第四次挥手的报文,会重发第三次FIN+ACK报文,如果服务器关闭,将收不到这个报文
  • 本文作者: RuiCode
  • 本文链接: https://www.ruicode.cn/archives/面试经计算机网络1--tcp的建立和断开
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# 操作系统 # 并发 # 排序 # 网络 # 源码分析 # 二分法 # 面试 # 不重复算法 # 指针移动 # java # 算法 # mysql # Linux
【面试经】JVM基础知识1 -- JAVA内存区域
快速排序总结
  • 文章目录
  • 站点概览
RuiCode

RuiCode

19 日志
5 分类
13 标签
Creative Commons
© 2021 RuiCode
由 Halo 强力驱动
|
主题 - NexT.Pisces v5.1.4

冀公网安备 13050002001906号