当前位置: 首页 > news >正文 做网站的流量怎么算钱企业装修展厅公司 news 2025/10/21 8:52:00 做网站的流量怎么算钱,企业装修展厅公司,广西网红排名前20名,wordpress 头像函数一、tcp链接中的正常四次挥手过程#xff1f; 刚开始双方都处于 ESTABLISHED 状态#xff0c;假如是客户端先发起关闭请求。四次挥手的过程如下#xff1a; 1、客户端打算关闭连接#xff0c;此时会发送一个 TCP 首部 FIN 标志位被置为 1 的报文#xff0c;也即 FIN 报文…一、tcp链接中的正常四次挥手过程 刚开始双方都处于 ESTABLISHED 状态假如是客户端先发起关闭请求。四次挥手的过程如下 1、客户端打算关闭连接此时会发送一个 TCP 首部 FIN 标志位被置为 1 的报文也即 FIN 报文之后客户端进入 FIN_WAIT_1 状态。2、接着当服务端在 read 数据的时候最后⾃然就会读到 EOF接着 read() 就会返回 0这时服务端应⽤程序如果有数据要发送的话就发完数据后才调⽤关闭连接的函数如果服务端应⽤程序没有数据要发送的话可以直接调⽤关闭连接的函数这时服务端就会发⼀个 FIN 包这个 FIN 报⽂代表服务端不会再发送数据了之后处于 LAST_ACK 状态。 3、客户端收到服务端的 ACK 应答报文后之后进入 FIN_WAIT_2 状态。 4、等待服务端处理完数据后也向客户端发送 FIN 报文之后服务端进入 LAST_ACK 状态。 5、客户端收到服务端的 FIN 报文后回一个 ACK 应答报文之后进入 TIME_WAIT 状态 6、服务端收到了 ACK 应答报文后就进入了 CLOSE 状态至此服务端已经完成连接的关闭。 7、客户端在经过 2MSL 一段时间后自动进入 CLOSE 状态至此客户端也完成连接的关闭。 你可以看到每个方向都需要一个 FIN 和一个 ACK因此通常被称为四次挥手。 这里一点需要注意是主动关闭连接的才有 TIME_WAIT 状态。 二、为什么挥手需要四次 服务器收到客户端的 FIN 报⽂时内核会⻢上回⼀个 ACK 应答报⽂但是服务端应⽤程序可能还有数据要发送所以并不能⻢上发送 FIN 报⽂⽽是将发送 FIN 报⽂的控制权交给服务端应⽤程序 1、关闭连接时客户端向服务端发送 FIN 时仅仅表示客户端不再发送数据了但是还能接收数据。 2、服务端收到客户端的 FIN 报文时先回一个 ACK 应答报文而服务端可能还有数据需要处理和发送等服务端不再发送数据时才发送 FIN 报文给客户端来表示同意现在关闭连接。 从上⾯过程可知是否要发送第三次挥⼿的控制权不在内核⽽是在被动关闭⽅上图的服务端的应⽤程序因为应⽤程序可能还有数据要发送由应⽤程序决定什么时候调⽤关闭连接的函数当调⽤了关闭连接的函数内核就会发送 FIN 报⽂了所以服务端的 ACK 和 FIN ⼀般都会分开发送。 FIN 报⽂⼀定得调⽤关闭连接的函数才会发送吗不一定 如果进程退出了不管是不是正常退出还是异常退出如进程崩溃内核都会发送 FIN 报⽂与对⽅完成四次挥⼿。 三、粗暴关闭 vs 优雅关闭 前⾯介绍 TCP 四次挥⼿的时候并没有详细介绍关闭连接的函数其实关闭的连接的函数有两种函数 close 函数同时 socket 关闭发送⽅向和读取⽅向也就是 socket 不再有发送和接收数据的能⼒。如果有多进程/多线程共享同⼀个 socket如果有⼀个进程调⽤了 close 关闭只是让 socket 引⽤计数-1并不会导致 socket 不可⽤同时也不会发出 FIN 报⽂其他进程还是可以正常读写该 socket 直到引⽤计数变为 0才会发出 FIN 报⽂。shutdown 函数可以指定 socket 只关闭发送⽅向⽽不关闭读取⽅向也就是 socket 不再有发送数据的能⼒但是还是具有接收数据的能⼒。如果有多进程/多线程共享同⼀个 socketshutdown 则不 管引⽤计数直接使得该socket 不可⽤然后发出 FIN 报⽂如果有别的进程企图使⽤该 socket 将会受到影响。 如果客户端是⽤ close 函数来关闭连接那么在 TCP 四次挥⼿过程中如果收到了服务端发送的数据由于客户端已经不再具有发送和接收数据的能⼒所以客户端的内核会回 RST 报⽂给服务端然后内核会释放连接这时就不会经历完成的 TCP 四次挥⼿所以我们常说调⽤ close 是粗暴的关闭。 当服务端收到 RST 后内核就会释放连接当服务端应⽤程序再次发起读操作或者写操作时就能感知到连接已经被释放了 如果是读操作则会返回 RST 的报错也就是我们常⻅的Connection reset by peer。如果是写操作那么程序会产⽣ SIGPIPE 信号应⽤层代码可以捕获并处理信号如果不处理则默 认情况下进程会终⽌异常退出。 相对的shutdown 函数因为可以指定只关闭发送⽅向⽽不关闭读取⽅向所以即使在 TCP 四次挥⼿过程中如果收到了服务端发送的数据客户端也是可以正常读取到该数据的然后就会经历完整的 TCP 四次挥⼿所以我们常说调⽤ shutdown 是优雅的关闭。 但是注意shutdown 函数也可以指定「只关闭读取⽅向⽽不关闭发送⽅向」但是这时候内核是不会发送 FIN 报⽂的因为发送 FIN 报⽂是意味着我⽅将不再发送任何数据⽽ shutdown 如果指定「不关闭发送⽅向」就意味着 socket 还有发送数据的能⼒所以内核就不会发送 FIN。 四、什么情况会出现三次挥⼿ 当被动关闭⽅上图的服务端在 TCP 挥⼿过程中「没有数据要发送」并且「开启了 TCP 延迟确认机制」那么第⼆和第三次挥⼿就会合并传输这样就出现了三次挥⼿。 然后因为 TCP 延迟确认机制是默认开启的所以导致我们抓包时看⻅三次挥⼿的次数⽐四次挥⼿还多。 什么是 TCP 延迟确认机制 当发送没有携带数据的 ACK它的⽹络效率也是很低的因为它也有 40 个字节的 IP 头 和 TCP 头但却没有携带数据报⽂。为了解决 ACK 传输效率低问题所以就衍⽣出了 TCP 延迟确认。 TCP 延迟确认的策略 当有响应数据要发送时ACK 会随着响应数据⼀起⽴刻发送给对⽅当没有响应数据要发送时ACK 将会延迟⼀段时间以等待是否有响应数据可以⼀起发送如果在延迟等待发送 ACK 期间对⽅的第⼆个数据报⽂⼜到达了这时就会⽴刻发送 ACK 文章转载自: http://www.morning.czxrg.cn.gov.cn.czxrg.cn http://www.morning.kgjyy.cn.gov.cn.kgjyy.cn http://www.morning.xpqyf.cn.gov.cn.xpqyf.cn http://www.morning.klwxh.cn.gov.cn.klwxh.cn http://www.morning.xscpq.cn.gov.cn.xscpq.cn http://www.morning.kqbwr.cn.gov.cn.kqbwr.cn http://www.morning.gtbjf.cn.gov.cn.gtbjf.cn http://www.morning.srbfz.cn.gov.cn.srbfz.cn http://www.morning.yongkangyiyuan-pfk.com.gov.cn.yongkangyiyuan-pfk.com http://www.morning.mpyry.cn.gov.cn.mpyry.cn http://www.morning.cxryx.cn.gov.cn.cxryx.cn http://www.morning.cprls.cn.gov.cn.cprls.cn http://www.morning.nwgkk.cn.gov.cn.nwgkk.cn http://www.morning.kbqws.cn.gov.cn.kbqws.cn http://www.morning.beiyishengxin.cn.gov.cn.beiyishengxin.cn http://www.morning.mnslh.cn.gov.cn.mnslh.cn http://www.morning.llcsd.cn.gov.cn.llcsd.cn http://www.morning.jnrry.cn.gov.cn.jnrry.cn http://www.morning.bswxt.cn.gov.cn.bswxt.cn http://www.morning.gjqnn.cn.gov.cn.gjqnn.cn http://www.morning.zgdnd.cn.gov.cn.zgdnd.cn http://www.morning.rbnnq.cn.gov.cn.rbnnq.cn http://www.morning.xxlz.cn.gov.cn.xxlz.cn http://www.morning.rmyqj.cn.gov.cn.rmyqj.cn http://www.morning.kycxb.cn.gov.cn.kycxb.cn http://www.morning.nbnq.cn.gov.cn.nbnq.cn http://www.morning.ljxxl.cn.gov.cn.ljxxl.cn http://www.morning.glcgy.cn.gov.cn.glcgy.cn http://www.morning.zyytn.cn.gov.cn.zyytn.cn http://www.morning.zrgx.cn.gov.cn.zrgx.cn http://www.morning.hhqtq.cn.gov.cn.hhqtq.cn http://www.morning.wrfk.cn.gov.cn.wrfk.cn http://www.morning.zcqgf.cn.gov.cn.zcqgf.cn http://www.morning.tkyxl.cn.gov.cn.tkyxl.cn http://www.morning.yzsdp.cn.gov.cn.yzsdp.cn http://www.morning.xbzfz.cn.gov.cn.xbzfz.cn http://www.morning.skdhm.cn.gov.cn.skdhm.cn http://www.morning.fnfhs.cn.gov.cn.fnfhs.cn http://www.morning.hymmq.cn.gov.cn.hymmq.cn http://www.morning.wkpfm.cn.gov.cn.wkpfm.cn http://www.morning.thwhn.cn.gov.cn.thwhn.cn http://www.morning.zpyh.cn.gov.cn.zpyh.cn http://www.morning.hwycs.cn.gov.cn.hwycs.cn http://www.morning.mmsf.cn.gov.cn.mmsf.cn http://www.morning.cfjyr.cn.gov.cn.cfjyr.cn http://www.morning.lxlfr.cn.gov.cn.lxlfr.cn http://www.morning.wjxyg.cn.gov.cn.wjxyg.cn http://www.morning.mlhfr.cn.gov.cn.mlhfr.cn http://www.morning.qclmz.cn.gov.cn.qclmz.cn http://www.morning.xhhzn.cn.gov.cn.xhhzn.cn http://www.morning.lhyhx.cn.gov.cn.lhyhx.cn http://www.morning.wpsfc.cn.gov.cn.wpsfc.cn http://www.morning.youprogrammer.cn.gov.cn.youprogrammer.cn http://www.morning.qbwmz.cn.gov.cn.qbwmz.cn http://www.morning.ltpph.cn.gov.cn.ltpph.cn http://www.morning.mfjfh.cn.gov.cn.mfjfh.cn http://www.morning.gfrjs.cn.gov.cn.gfrjs.cn http://www.morning.nsfxt.cn.gov.cn.nsfxt.cn http://www.morning.pphbn.cn.gov.cn.pphbn.cn http://www.morning.smxrx.cn.gov.cn.smxrx.cn http://www.morning.mfnsn.cn.gov.cn.mfnsn.cn http://www.morning.rqlqd.cn.gov.cn.rqlqd.cn http://www.morning.stmkm.cn.gov.cn.stmkm.cn http://www.morning.xldpm.cn.gov.cn.xldpm.cn http://www.morning.nrgdc.cn.gov.cn.nrgdc.cn http://www.morning.skrcn.cn.gov.cn.skrcn.cn http://www.morning.krxzl.cn.gov.cn.krxzl.cn http://www.morning.xmyrn.cn.gov.cn.xmyrn.cn http://www.morning.ryspp.cn.gov.cn.ryspp.cn http://www.morning.mwjwy.cn.gov.cn.mwjwy.cn http://www.morning.kmldm.cn.gov.cn.kmldm.cn http://www.morning.qrlkt.cn.gov.cn.qrlkt.cn http://www.morning.gcqdp.cn.gov.cn.gcqdp.cn http://www.morning.dktyc.cn.gov.cn.dktyc.cn http://www.morning.lyhry.cn.gov.cn.lyhry.cn http://www.morning.xtrzh.cn.gov.cn.xtrzh.cn http://www.morning.lhzqn.cn.gov.cn.lhzqn.cn http://www.morning.fwdln.cn.gov.cn.fwdln.cn http://www.morning.tkrpt.cn.gov.cn.tkrpt.cn http://www.morning.rwzqn.cn.gov.cn.rwzqn.cn 查看全文 http://www.tj-hxxt.cn/news/236406.html 相关文章: 网站建设及外包杭州富阳做网站 景区网站建设方案 费用电商 wordpress主题 网站证书怎么做网页版式设计分析 dede 两个网站图片路径模板公司 如何提交网站给百度福州大型网站设计公司 网站建设外包服务广告设计专业有哪些 虚拟主机代理商的网站打不开了怎么办高端品牌网站建设电商网站设计 阿里巴巴有几个网站是做外贸的旅行社网站怎么做 网站建设如何更改背景图片四川旅游seo整站优化 资阳网站设计做网站干什么 网站后台数据采集澧县网页设计 微信小程序跳转到网站网站首页怎么做全屏swf 如何建设商城网站wordpress使用方法 公司做网站计入什么科目自动做图在线网站 推荐手机网站建设南阳专业网站建设 广州做网站 timhi用阿里云和大淘客做网站 北京网站建设熊掌号阿里巴巴网站威海哪里做 番禺论坛网站建设珠海做网站费用 佛山网站优化有移动分销系统代理 制作公司的网站我的网站在百度搜不到了 网站建站思路网站建设消费者群体分析 美食网站建设页面要求淘宝网站代理怎么做 网站建设的目的包含哪些方面微网站免费软件 做优化很好的网站wordpress嵌入百度地图可以导航 实名网站审核中心龙华建站公司 河南省做网站的企业怎么线上卖东西 郑州做网站的公司贵阳住房城乡建设部网站 石河子网站设计网络营销这个专业怎么样 怎么做刷会员的网站天津微外卖网站建设 广州专业网站建设上海响应式网站建设企业