TCP三次握手的第三次的 ack包丢失会怎样?
面试题:
在 TCP 建立连接的三次握手连接阶段,如果客户端发送的第三个ACK包丢了,那么客户端和服务端分别进行什么处理呢?
相信了解 tcp 协议的人,三次握手的过程肯定很了解了。第三次的 ack 包丢失就是说在 client 端接收到 syn + ack 之后,向 server 发送的 ack 包 由于各种原因 server 没有收到。这时 client, server 分别会进行怎样的处理呢?
Server 端
第三次的ACK在网络中丢失,那么Server 端该TCP连接的状态为SYN_RECV,并且会根据 TCP的超时重传机制,会等待3秒、6秒、12秒后重新发送SYN+ACK包,以便Client重新发送ACK包。
而Server重发SYN+ACK包的次数,可以通过设置/proc/sys/net/ipv4/tcp_synack_retries修改,默认值为5.
如果重发指定次数之后,仍然未收到 client 的ACK应答,那么一段时间后,Server自动关闭这个连接。
Client 端
在linux c 中,client 一般是通过 connect() 函数来连接服务器的,而connect()是在 TCP的三次握手的第二次握手完成后就成功返回值。也就是说 client 在接收到 SYN+ACK包,它的TCP连接状态就为 established (已连接),表示该连接已经建立。那么如果 第三次握手中的ACK包丢失的情况下,Client 向 server端发送数据,Server端将以 RST包响应,方能感知到Server的错误。
TCP三次握手的第三次的 ack包丢失会怎样?相关推荐
- 【1】TCP三次握手的第三次的 ack包丢失会怎样?
面试题: 在 TCP 建立连接的三次握手连接阶段,如果客户端发送的第三个ACK包丢了,那么客户端和服务端分别进行什么处理呢? 相信了解 tcp 协议的人,三次握手的过程肯定很了解了.第三次的 ack ...
- mysql三次握手_TCP的三次握手和四次挥手详解
TCP的概述 TCP把连接作为最基本的对象,每一条TCP连接都有两个端点,这种端点我们叫作套接字(socket),它的定义为端口号拼接到IP地址即构成了套接字. 例如,若IP地址为192.3.4.16 ...
- 三次握手的第三个ACK包丢了,会发生什么?
转载自三次握手的第三个ACK包丢了,TCP的处理方式 三次握手的第三个ACK包丢了,客户端认为连接建立,写数据时,会触发RST. 当Client端收到Server的SYN+ACK应答后,其状态变为ES ...
- 淘宝二面,面试官居然把TCP三次握手问的这么详细
TCP 的三次握手和四次挥手,可以说是老生常谈的经典问题了,通常也作为各大公司常见的面试考题,具有一定的水平区分度.看似是简单的面试问题,如果你的回答不符合面试官期待的水准,有可能就直接凉凉了. 本文 ...
- Android Studio --- [学习笔记]RadioButton、CheckBox、ImageView、ListView、TCP的三次握手
说明 源代码 在2.x里有TCP的三次挥手与四次握手,先对它进行简单的回答(百度).预计在下一篇里,会继续说明TCP 接上一篇: Android Studio - > [学习笔记]Button. ...
- TCP连接——三次握手和四次断开
1.面向连接 TCP是一个面向连接的协议,面向连接是指任何一方向对方发送数据前必须先建立通道,比如像打电话一样:必须要等到对方的手机响铃,并且对方接听电话时,才能与对方通信.而UDP则不是面向连接的协 ...
- tcp状态机-三次握手-四次挥手以及常见面试题
TCP状态机介绍 在网络协议栈中,目前只有TCP提供了一种面向连接的可靠性数据传输.而可靠性,无非就是保证,我发给你的,你一定要收到.确保中间的通信过程中,不会丢失数据和乱序.在TCP保证可靠性数据传 ...
- 计算机网络 —— TCP的三次握手四次挥手
TCP的6个标志位 SYN -- synchronous :建立联机. ACK -- acknowledgement :确认. PSH -- push :传输. FIN -- finish :结束. ...
- TCP三次握手和四次挥手的解释
基础知识 在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG. 其中,对于我们日常的分析有用的就是前面的五个字段. 它们的含义是: SYN ...
最新文章
- Android m 自定义下拉菜单,Android实现动画效果的自定义下拉菜单功能
- 程序员职场:拥有一个学位将会在你的职业生涯中更加顺利!
- JavaScript玩转机器学习:保存并加载 tf.Model
- python散点图解_python 画三维图像 曲面图和散点图的示例
- Swiper插件的基本使用方法和案例
- angular要多久学会_成为优秀Angular开发者所需要学习的19件事
- 动态时间归整/规整/弯曲(Dynamic time warping,DTW)
- 成为Oracle 10g DBA之路
- 云计算IaaS核心技术全景指南
- CMS系列远程代码执行—Discuz
- win10系统无线服务器出错,win10系统中Wi-Fi证书错误的解决方法
- html页面 关键字高亮,HTML高亮关键字的完美解决方案
- MATLAB读取xls文件的内容
- php抓取微信图片,PHP使用CURL采集微信图片(公众号)如何绕过防盗链系统?
- 怎样开好项目启动大会
- 基于Python(Django)+MongoDB实现的(Web)新闻采集和订阅系统【100010319】
- APNS部署教程2(证书配置)
- 3D图像重建中的颜色预测误差研究
- 特殊符号: 和 | | 和 ?? 和 ?作用详解
- C语言源代码系列-管理系统之会员计费系统