5 ms·
I've always considered it one handshake, with 3 packets, which are for some reason then called "3 way". But it's one 3-way-handshake.
by deathanatos 2y ago
I've always considered it one handshake, with 3 packets, which are for some reason then called "3 way". But it's one 3-way-handshake.
- sedatk 2y ago"3 shake handshake"? :)
- butterfly42069 2y agoYou, the server and the NSA Collection.
- nasretdinov 2y ago3 hands handshake, nothing unusual here
- beng-nl 2y agoNext TCP: Zaphod
- AStonesThrow 2y agoIt all started when Jon Postel obtained the Holy Hand Grenade of Antioch and reverse-engineered it...
- qwertox 2y agoIt is only one handshake, with 3 packets. The author made a mistake in the title, but the content is mostly correct (fails at "First Handshake", "Second Handshake" and "Third Handshake"). He should call them stages, phases or something like that.
- AStonesThrow 2y agoTo be really specific, they are not "packets" but at the TCP protocol level, they are "segments" TFA appears to use both terms sort of interchangeably, which is uncool when describing a formalized protocol standard! Segments are encapsulated in IP datagrams, or packets, which are, in turn, encapsulated in other PDU types, such as Ethernet frames.
- Ekaros 2y agoAnd one could ask are segments without well data segment a segments? As mostly 2 first PDUs in exchange do not contain data...
- AStonesThrow 2y agoYes they are. I don't know what "well data segment" is, but perhaps you mean a payload. TCP streams consist of segments, and the fragmentation or collection of those logical segments into packets is a function of the lower-layer protocols which are not TCP. https://www.rfc-editor.org/rfc/rfc9293.html https://www.rfc-editor.org/rfc/rfc9293.html
- tsimionescu 2y agoI think one important mention here is that fragmentation happens at two levels: most commonly, an upper layer protocol message (such as an HTTP request) is fragmented into several TCP segments, each with one TCP header. Those TCP segments themselves can sometimes be fragmented into multiple IP packets if the TCP MSS (maximum segment size) is larger than the Ethernet MTU (maximum transmission unit). IP fragmentation is typically avoided, and in IPv6 it is only allowed at the originator of a packet - if a router is trying to route an IPv6 packet larger than the MTU of the outgoing link's MTU, it must drop the packet and send a signal about the MTU back. An IPv4 router may fragment the packet, but this rarely works well in practice.
- AStonesThrow 2y agoI suppose, if you want to squeeze it into the definition given in RFC 9293, but that same RFC only uses "fragmentation" to denote "internet fragments" or IP-level fragmentation. You're referring to "segmentation" which is also defined in that RFC. https://www.rfc-editor.org/rfc/rfc9293.html#name-segmentation https://www.rfc-editor.org/rfc/rfc9293.html#name-segmentatio...
- iwontberude 2y agoAppreciate pedantry when it’s absolutely warranted. Well said!
- ddfs123 2y agoI've consider it to be 4 handshakes but the middle 2 are merged.
- ay 2y agoThere is a scenario called “simultaneous open”, which has 4 packets handshake and is a wonderful source of corner cases and debugging. Mostly doesn’t happen these days, but is possible by standard and is explicitly described.
- winternewt 2y agoIt has been used for NAT traversal when both parties are behind NAT, but sadly it doesn't work with all routers.
- Uptrenda 2y agoIts just 1 packet: an RST with a data field containing a swear word.
- evilc00kie 2y agoJokes like that make me realize I understand the matter more than I want to :'D
- odo1242 2y agoI did not know RST packets had a data field lol
- odo1242 2y agoThe reason it’s considered a “3-way” handshake is mostly latency related. If the delay sending a packet between the client and server is k, there are 3 hops involved in establishing a connection so the time is 3k. Confusingly, this has nothing to do with how many devices are involved.
- jabiko 2y ago> The reason it’s considered a “3-way” handshake is mostly latency relate Its not latency related. Its because there 3 packets involved in completing the handshake. > If the delay sending a packet between the client and server is k, there are 3 hops involved in establishing a connection so the time is 3k. Also I think calling it "hops" is not correct. A hop occurs when a packet passes through a router. > Confusingly, this has nothing to do with how many devices are involved. In a TCP handshake there are only two devices involved (disregarding any middleboxes that meddle with the connection).
- deleted 2y ago[deleted]
- foobiekr 2y agoit's called 3-way because from the point of view of a network message diagram, there are three arrows which change direction at each step. what it really amounts to is a three phase transaction.