TCP的三次握手

TCP作为可靠稳定的传输方式要建立会话,会话的发起者是请求者(客户机),下文中A为客户机,B为服务器。

1.客户机(A)从closed状态转化为主动打开,服务器(B)此时从closed状态转为LISTEN状态(服务状态),等待客户的连接请求。

2.A向B发送请求报文段,SYN=1,ACK=0,初始序号seq为x。

3.B收到连接请求,同意建立连接的话,会向A发送确认报文,内容为SYN=1,同时ACK=1,确认号为ack=x+1,同时标记回复序号seq=y。

4.A收到B的同意连接报文,需要向B发出确认,序号为seq=x+1,确认号为seq=y+1。

三次握手原因:防止失效连接请求错误打开服务器连接。

因为传输问题(时延或者链路断开终端重新发送等)客户端请求在网络中滞留,客户端因没有在时限内收到连接确认,重新发送了请求。而滞留请求在稍后到达服务器,如果没有三次握手,服务器就会打开错误连接,会导致服务器资源被浪费。


最新文章

  1. MySQL获取汉字的首字母
  2. hdf第二周,每天加班,周末加班,周日健身
  3. Asp.net Session保存到Redis: 使用 RedisSessionStateProvider
  4. Asp.net的服务器推技术 (Server Push)
  5. Android Handler的使用
  6. Github 的一些基本操作
  7. v$session_wait p1 p1raw p1_16
  8. SWT中Display和Shell是个什么东东
  9. vs2013执行Add-Migration出现的问题
  10. 《Shell脚本学习指南》学习笔记之自定义函数
  11. Python基础(解压序列)
  12. c# 创建项目时提示:未能正确加载“microsoft.data.entity.design.bootstrappackage
  13. hanlp在Python环境中的安装失败后的解决方法
  14. Python脚本语言第一行的写法
  15. Git工程迁移方法总结(命令行) .(转载)
  16. phpmailer SMTP Error: Could not connect to SMTP host. 错误解决
  17. mac电脑iTerm2链接linux服务器断线解决方案
  18. lnmp集成环境Access Denied的问题
  19. Java 设计模式六原则及23中常用设计模式
  20. Android-显示意图和隐式意图

热门文章

  1. C# SerialPort 读写三菱FX系列PLC
  2. 三分钟学会使用Derby数据库
  3. 关于HTTP协议与HTTP状态码的简要介绍
  4. 吴裕雄--天生自然KITTEN编程:滂沱大雨
  5. 云服务器离线安装MariaDB安装步骤和解决办法
  6. mysql-5.7.25解压版本安装和navicat 12.1版本破解-4.8破解工具
  7. 神经网络的Python实现(一)了解神经网络
  8. 杀入红海市场 ZUK手机底气在哪?
  9. Mybatis分页插件的使用流程
  10. 查漏补缺:QObject类介绍