<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>失业学习日记_001 | 互联网从业者充电站</title><description>互联网从业者专属内容多为技术、产品、设计、运营等不同话题内容；目标人群为程序员、设计师、产品经理、运营管理等不同职能。投稿/合作： @inside1024_bot内容来源网络</description><link>https://internet-charging-station.pages.dev</link><item><title>#程序员#失业学习日记_001三次握手与四次挥手，虽然我工作中目前还没有涉及网络编程这一方面的东西，但是难免面试老是要被问到，算是个高频的必备知识点了</title><link>https://internet-charging-station.pages.dev/posts/11474</link><guid isPermaLink="true">https://internet-charging-station.pages.dev/posts/11474</guid><pubDate>Thu, 30 Mar 2023 02:21:20 GMT</pubDate><content:encoded>&lt;div&gt;
      
        &lt;img src=&quot;/static/https://cdn4.telesco.pe/file/JUAFI21HdNbqZMrZiiJZdRxgX9TpQBjQ-kv8U9kQQrL6SV7xx1k7c9gyUYcAmYY4CLPfGIgdfk8IKUXO9Pl11G23tOIdG21YfQxmfrqm3yfwvi-lzCF3FpNNfkf2cMOHJ4MUJWrFr8ki6L0Md1LF4gUhjG4JRzli_1dbMgrUsgFMfL30faFjh3oRMQQX9QD_HS0TfVVHZ4gw0RrBx2P8WlUzELKXTF1wNxvdnMy9fYYj654w5NH8h8cyMa4Sn_y7FkIkVwHpEXVBPuSHUW-BkOcvy4qRaRepyHVGXkA3XF7RlSAg2t5RwhseCI6eVfpkCVkPnfyDma_Ub4CNPAam8Q.jpg&quot; alt=&quot;#程序员#失业学习日记_001三次握手与四次挥手，虽然我工作中目前还没有涉及网络编程这一方面的东西，但是难免面试老是要被问到，算是个高频的必备知识点了&quot; loading=&quot;lazy&quot; /&gt;
      
      
        
      
    
      
        &lt;img src=&quot;/static/https://cdn4.telesco.pe/file/ilxMvIhEPqJ346_E3aiK-_tb_S6TK1dhFZGf5T9Nmscwjto7dy_X7i_x6LgNQzKZUDrJjTy1KetCgaHkxa99ujhrT1AzfD6bGuULoEsh8o2mgAFaYlPLZsnyw0_KXH0iNBJ7M12I4aF-j3mfq0lACkoaWHQm9Umo3gsdcij1yhJtS7-3e1ouL-QIdFrTQOw4OmvJIUIM9Ie3pZ6Bt9aohR_PiAzDv4x9XON9ULdiRtTbSh98NJIcP8Pz44mvmDJbbV_wYzj5je6nOIycnWPb1mCAPnm8wu2WbL5B6lT0i1JKcnwETBo7b7b9xfrUjOjmEzVihoAkc5_QN4LzFyCkfg.jpg&quot; alt=&quot;#程序员#失业学习日记_001三次握手与四次挥手，虽然我工作中目前还没有涉及网络编程这一方面的东西，但是难免面试老是要被问到，算是个高频的必备知识点了&quot; loading=&quot;lazy&quot; /&gt;
      
      
        
      
    
      
        &lt;img src=&quot;/static/https://cdn4.telesco.pe/file/RToO_mPnpvj-D2ocUzoin0JyzQX2VMKGVYDMgeiYR2869EC9I9TxR_DqSfFHHbhdu-DcJfDsZ__Gz3pdSaLRPI53RCWvpNSJr22JTWqV3HKX5DKHoATKhmciB4Ir3HObg5EM-EQFaDEutCdtzqQZjOelQrYi1_BXXcd5YNTTDCWLCH5BaGVFUpUfV9XM-yzpcHlyPlxhylZW1GVBnLf7P1x-hgHq2moDmGjbp9Tve0dfGkOchM4OUzp5seu5uQcHM4RxvRrleUFkTOt9fijN24j36c6SjllPWBUQecfWAcexJ7P2ShvDJFtl4GfRV3mils7pRGk11vpr8aF0E3CwfA.jpg&quot; alt=&quot;#程序员#失业学习日记_001三次握手与四次挥手，虽然我工作中目前还没有涉及网络编程这一方面的东西，但是难免面试老是要被问到，算是个高频的必备知识点了&quot; loading=&quot;lazy&quot; /&gt;
      
      
        
      
    
      
        &lt;img src=&quot;/static/https://cdn4.telesco.pe/file/sYT5jSJgMjfBxBzZ4rPYqBhyxWpm5C5ycUUzzATiT1inv54eyE3gwW-suO82Yw8zvyDdisEjtOxtNYD_YndxLZBPQ6gqTh4oxJTU4aery_rnK6XiTabqkdkurayLe_yj24_neC-zQXEez6wxQHFUi5njXwdYstjAmuEpjvKJIZei2yZ0hbRlSVE5DGC5JhPffXuxU68A1hO5kZ5mJbLAjkZ2q7n-GUiTOrkfaUO6g4RYSpj3zzHPO2EucvgnCvViJOy4lduEDE2Hxm80BIKYRlCMDGYFkGlLsmDxMeG1FKNXY87CCLoUN8fRzAgcrZNNT6d6ebMoOLT05JWgECmDRw.jpg&quot; alt=&quot;#程序员#失业学习日记_001三次握手与四次挥手，虽然我工作中目前还没有涉及网络编程这一方面的东西，但是难免面试老是要被问到，算是个高频的必备知识点了&quot; loading=&quot;lazy&quot; /&gt;
      
      
        
      
    &lt;/div&gt;&lt;div&gt;&lt;a href=&quot;/search/%23%E7%A8%8B%E5%BA%8F%E5%91%98&quot;&gt;#程序员&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;/search/%23%E5%A4%B1%E4%B8%9A%E5%AD%A6%E4%B9%A0%E6%97%A5%E8%AE%B0_001&quot;&gt;#失业学习日记_001&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;三次握手与四次挥手，虽然我工作中目前还没有涉及网络编程这一方面的东西，但是难免面试老是要被问到，算是个高频的必备知识点了。&lt;br /&gt;&lt;br /&gt;三次握手，目的有3个。&lt;br /&gt;&lt;br /&gt;第一个目的是为了防止在网络阻塞时，历史连接乱入，导致造成混乱。如果是两次握手，则在第二次握手时不加以校验，服务端与一个旧的连接建立通信。有了三次握手，能够在第二次握手时校验，校验成功则正常进行第三次握手，否则发送RST信号。&lt;br /&gt;&lt;br /&gt;第二个目的是为了同步双方的初始化序列号。从这个层面上来说，可以把3次握手看作是4次握手的精简版，即两轮SYN-ACK，各自发送SYN并接收应答信号。只不过中间第二次握手的应答和第三次握手的SYN可以合二为一。（相较于4次挥手，由于被动方可能还有数据要发送，所以FIN和ACK必须分离，所以是4次）&lt;br /&gt;&lt;br /&gt;第三个目的是为了避免资源的浪费。在网络阻塞情况下，客户端可能多次发送SYN请求，如果只有两次握手，由于服务端无法得知客户端是否接受到ACK信号并建立起连接，只能在每次接受到SYN信号时都主动建立一个连接。故在SYN冗余情况下，重复分配资源，造成浪费。而三次握手的机制得以在第二次握手时进行校验，校验成功通过第三次握手应答后才建立起连接，避免了资源浪费。&lt;br /&gt;&lt;br /&gt;四次挥手，原因是上面目的二提到的，通信双方其中一方主动请求断开连接时，另一方可能还有数据要发送，故需要把被动方的ACK和FIN分开成两次挥手。&lt;br /&gt;&lt;br /&gt;主动发起断连的一方会有TIME_WAIT的状态，需要等待2MSL，原因是：一方面，等待足够长的时间，能够让滞留在网络中的历史数据消失，以至于下一次在相同端口建立TCP连接时，旧数据不至于在握手时造成数据混乱。另一方面，2MSL确保被动关闭连接的一方能够被正确关闭。因为第四次挥手的ACK信号可能由于网络阻塞或数据丢失而没到达被动方，被动方将一直处于LAST_ACK的状态。本来会有个超时重发机智，重新进行第三次挥手发送FIN信号，重新等待接收四次挥手的ACK，但如果主动关闭方老早就断连了，则永远没人处理重发的信号，被动方永远等在LAST_ACK。&lt;br /&gt;&lt;br /&gt;而2MSL正好是第三次挥手和第四次挥手的往返时间之和。&lt;/div&gt;</content:encoded></item></channel></rss>