TCP 关闭连接的不同版本,哪个才是对的?

2022-07-30 23:24:21 +08:00
 fstar

看到网上有几种 TCP 关闭连接过程。

哪个才是对的?

1

来自: https://wiki.wireshark.org/TCP-4-times-close.md


2

来自: https://www.geeksforgeeks.org/why-tcp-connect-termination-need-4-way-handshake/


3


      TCP A                                                TCP B

  1.  ESTABLISHED                                          ESTABLISHED

  2.  (Close)
      FIN-WAIT-1  --> <SEQ=100><ACK=300><CTL=FIN,ACK>  --> CLOSE-WAIT

  3.  FIN-WAIT-2  <-- <SEQ=300><ACK=101><CTL=ACK>      <-- CLOSE-WAIT

  4.                                                       (Close)
      TIME-WAIT   <-- <SEQ=300><ACK=101><CTL=FIN,ACK>  <-- LAST-ACK

  5.  TIME-WAIT   --> <SEQ=101><ACK=301><CTL=ACK>      --> CLOSED

  6.  (2 MSL)
      CLOSED

                         Normal Close Sequence

来自官方文档: https://datatracker.ietf.org/doc/html/rfc793#page-39

我也是醉了。

2360 次点击
所在节点    程序员
11 条回复
exch4nge
2022-07-30 23:30:47 +08:00
这三个那里不同?
joshu
2022-07-30 23:43:40 +08:00
这三个那里不同?
Inn0Vat10n
2022-07-31 00:04:31 +08:00
我也是醉了.
FreeEx
2022-07-31 00:20:28 +08:00
前面两个只是后面用来表示序号的字母变了,第三则是直接用数字来表示了。
Aloento
2022-07-31 00:43:23 +08:00
这三个哪里不同?
PMR
2022-07-31 01:23:53 +08:00
半吊子不适合看 draft

没概念看原理只会更乱
pastor
2022-07-31 16:37:31 +08:00
OP 别看这图,改看状态转换图吧,比这清晰多了
pastor
2022-07-31 16:41:33 +08:00
另外,有时候 v 站的人戾气太重了,希望少点阴阳怪气,莫欺少年穷。
OP 在这研究这些是很值得鼓励的事情,总比很多人玩半辈子 CURD 要强多了
iosyyy
2022-07-31 21:41:03 +08:00
@pastor google3s 中解决的事 非得拿出来问.. 另外 CRUD!=CURD 具体建议查一下
iosyyy
2022-07-31 21:47:36 +08:00
@pastor 好像是我记错了..是一样的 没事了:D
pastor
2022-08-01 12:24:25 +08:00
@iosyyy #10 好的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/869705

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX