当前位置: 首页 > news >正文

网站开发小图标大全长安区网站建设

网站开发小图标大全,长安区网站建设,wordpress 显示页码,深圳宝安网站设计tcp有限状态机分析2011-11-23 0 个评论 收藏 我要投稿 这幅图是TCP的状态机#xff0c;看了2个小时#xff0c;分析总结如下#xff1a;#xff08;1#xff09;CLOSED 状态时初始状态。#xff08;2#xff09;LISTEN:被动打开#xff0c;服务器端的 状… tcp有限状态机分析2011-11-23      0 个评论      收藏    我要投稿   这幅图是TCP的状态机看了2个小时分析总结如下1CLOSED 状态时初始状态。2LISTEN:被动打开服务器端的 状态变为LISTEN(监听)。被动打开的概念连接的一端的应用程序通知操作系统希望建立一个传入的连接。这时候操作系统为连接的这一端建立一个连 接。与之对应的是主动连接应用程序通过主动打开请求来告诉操作系统建立一个连接。3SYNRECVD:服务器端收到SYN后状态为SYN发送SYN ACK; (4) SYN_SENTY:应用程序发送SYN后状态为SYN_SENT5ESTABLISHED:SYNRECVD收到ACK后状态为ESTABLISHED SYN_SENT在收到SYN ACK发送ACK状态为ESTABLISHED6CLOSE_WAIT:服务器端在收到FIN后发送ACK状态为CLOSE_WAIT如果此时服务器端还有数据需要发送那么就发送直到数据发送完毕此时服务器端发送FIN状态变为LAST_ACK;7FIN_WAIT_1应用程序端发送FIN准备断开TCP连接状态从ESTABLISHED——FIN_WAIT_18FIN_WAIT_2应用程序端只收到服务器端得ACK信号并没有收到FIN信号说明服务器端还有数据传输那么此时为半连接9TIME_WAIT:有两种方式进入 该状态1、FIN_WAIT_1进入此时应用程序端口收到FINACK而不是像FIN_WAIT_2那样只收到ACK说明数据已经发送完毕并 向服务器端口发送ACK2、FIN_WAIT_2进入此时应用程序端口收到了FIN然后向服务器端发送ACKTIME_WAIT是为了实现TCP 全双工连接的可靠性关闭用来重发可能丢失的ACK报文需要持续2个MSL(最大报文生存时间)假设应用程序端口在进入TIME_WAIT后2个 MSL时间内并没有收到FIN,说明应用程序最后发出的ACK已经收到了否则会在2个MSL内在此收到ACK报文  2011.9.14补充关闭的状态转换比较复杂现在设通信双方是ABA是主动发起关闭方1      主动发起关闭方A首先主动发起FIN报文准备关闭TCP连接然后进入FIN_WAIT1状态然后如果A收到了ACK报文就进入FIN_WAIT2状态而如果A收到的是ACK FINA进入TIME_WAIT状态。进入FIN_WAIT2状态说明B还有数据发给A。过了不久之后B发送FIN给A然后A发送ACK并进入TIME_WAIT状态。当2个MSL内没有收到FIN信号那么TIME_WAIT就自动转化为CLOESD。为什么TIME_WAIT状态要进过2个MSLMaximum Segment Lifetime.才能进入CLOSED状态假设网路是不可靠的最后A发出的ACK信号丢失那么B就没有收到ACK此时B还需要重新发一个FIN给A这个过程最多需要2MSL所以如果过了2MSL没有再次收到B的FIN那么说明之间A发出的ACK被B收到了所以可以可靠地关闭连接。2      被动接收方B在收到A的FIN报文后知道A准备关闭 TCP连接了注意只是A单方面关闭也就是说A还可以收数据但是不准备发数据了。B将发送ACK给A然后B进入CLOSED_WAIT状态。如 果此时B也有数据发送给A那么就一直发送好了反正A不会发数据了。此时A处于FIN_WAIT2状态。当B的数据发送完毕之后那么B发送FIN给 AB进入LAST_ACK状态。当收到A发过来的ACK信号后A进入CLOSED状态。问题1、 为什么建立连接协议是三次握手而关闭连接却是四次握手呢这是因为服务端的LISTEN状态下的SOCKET当收到SYN报文的建连请求后它可以把ACK和SYNACK起应答作用而SYN起同步作用放在 一个报文里来发送。但关闭连接时当收到对方的FIN报文通知时它仅仅表示对方没有数据发送给你了但未必你所有的数据都全部发送给对方了所以你可以 未必会马上会关闭SOCKET,也即你可能还需要发送一些数据给对方之后再发送FIN报文给对方来表示你同意现在可以关闭连接了所以它这里的ACK报 文和FIN报文多数情况下都是分开发送的。TCP的关闭连接的时候状态很多以刚才的例子分类一个是主动发起方涉及的状态一个被动发起方涉及的状态 主动发起方FIN_WAIT1(发出FIN信号)FIN_WAIT2收到ACK信号TIME_WAIT收到FIN信号CLOSED2个MSL后没有再次收到FIN进入 被动接收方CLOSED_WAIT收到FIN信号LAST_ACK发出FIN信号CLOSED收到ACK信号如果没有再次发出FIN信号2.为什么能三次握手、四次挥手可靠地建立关闭连接注意可靠。答在建立连接的时候首先需要发起方发出请求即发出带有SYN的报文接收方收到后必须给发起方一个回应ACKSYN,关键是这里还没有完毕。因为网络是不可靠地a如果发起方没有收到应答方的ACKSYN报文显然说明报文丢失必须重发请求b如果发起方收到ACKSYN后不再向接收方发出ACK信号(更正于2011.9.17)也 就是只有两次握手此时开始传递报文那么从发起方的角度来看它认为自己发出的ACKSYN报文丢失了接收方没有收到所以它会再次重发。c 当发起方发出ACK信号后如果没有收到接收方再次发来的ACKSYN报文那么说明接收方收到了自己发出的ACK报文所以可以建立连接了。举个例子如何保障可靠通信现在A和B两支军队准备在10:00同时发起进攻如何才能保证这两支军队同时呢现在A发出电报“要求在10:00同时发起进攻”B收到后显然必须向A回复“收到可以”。A在收到“收到可以”的消息后直到B已 经收到了自己发出的消息。注意这里还没有完如果你站在B的角度去思考“我发出了‘收到可以’的消息必须要求A给我一个回应。如果我没有收到回 应那么就说明我的这个消息没有送到A那里去”那么我得再传一次“收到可以”的消息跟A。所以A必须再次发出“你的消息已经收到”的消息发送给 B。此时如果A没有再次收到B发来的“收到可以”的消息就可以认为自己的“你的消息已经收到”送给了B。而实际上如果B收到A发来的“你的消息”我已经收到说明自己此前发出的消息已经被A收到。这样就可以保证A,B可靠地收到消息保证他们在10:00准时发起进攻 转载于:https://blog.51cto.com/3639953/1657009
http://www.zqtcl.cn/news/295764/

相关文章:

  • 哪些网站有搜索引擎作弊的社群营销平台有哪些
  • 建地方的网站前景苏州做视频网站广告公司
  • 制作网站的主题海口网站自助建站
  • dede二手车网站源码网络工程师
  • 吴桥网站新网站优化怎么做
  • 做网站要求什么条件0资本建设网站
  • 免费做网站排名洛阳软件开发公司有哪些
  • 网站搜索优化方法东莞seo全网营销
  • 广州微网站建设哪家好wordpress怎样将小工具放到左侧
  • 汕头网站搜索优化嘉兴网络项目建站公司
  • 怎么查询网站是什么时候做的网站app的意义
  • 曹妃甸网站建设合肥的房产网站建设
  • 怎么做网站前台二级区域网站名
  • 服务器租用相关网站一个空间怎么放两个网站吗
  • 每个城市建设规划在哪个网站南宁seo怎么做优化团队
  • 做资讯类网站ccd设计公司官网
  • 写作网站5妙不写就删除抚州建设网站
  • 沙田网站建设公司网站风格设计原则
  • 安徽省建设监理网站黑群晖可以做网站吗
  • 手机百度seo快速排名搜索引擎优化目标
  • 长春 房地产网站建设网站建设 合同
  • 电商专业培训网站建设wordpress内置播放器
  • 创意网站设计模板点击器免费版
  • 做的不错的h5高端网站网站是怎么优化的
  • 淄博做网站优化佛山 做网站公司
  • 设计网站的步骤网站开发怎么学习
  • 提供网站技术国内外电子政务网站建设差距
  • 阜新建设网站物流网站建设的小结
  • 个人可以网站备案吗建设多用户网站
  • 平面设计素材库淄博网站优化价格