Skip to main content
14 events
when toggle format what by license comment
Nov 3, 2018 at 10:43 comment added Ismael EL ATIFI Thanks @Tuntable, you provided me the real answer I wanted to the actual question "why a sync/handshake is needed in the first place ?". The most satisfying answer (which you gave) is for me : to avoid both machines to start conversations simultaneously. With handshake, they first agree on who will be the initiator of the conversation so that there is at most one conversation at any given time.
May 23, 2016 at 21:09 comment added Rag You're correct in saying that the top accepted answer doesn't offer any reason why a three-way handshake is better than a two-way handshake. However, you're wrong in saying that there is no reason. The reason you're looking for is in @TheSpooniest 's answer.
May 23, 2016 at 14:10 comment added Ron Maupin IP knows nothing about ports. That is a layer-4 (TCP, UDP, etc.) address. You don't seem to understand the different network layers. Ethernet, and some other layer-2 protocols, use MAC addresses, IP uses IP addresses, TCP and UDP use ports as addresses, and some layer-4 protocols don't even have addressing. You cannot attribute ports to IP, since IP knows nothing about ports.
May 23, 2016 at 7:38 comment added Tuntable @RonMaupin IP connections are identified by both server port and (ephemeral) client port. That is why they do not get mixed up. Nothing to do with the handshake.
May 23, 2016 at 2:30 comment added Ron Maupin You are completely incorrect about that. TCP has a separate connection for each browser client to the HTTP server. The same thing happens for things like FTP. From the perspective of the network (what is actually on-topic here) The three-way handshake is used, and it is necessary.
May 23, 2016 at 2:26 comment added Tuntable @RonMaupin Eddie and the others describe why the double handshake is needed to establish Syn and the bidirectional establish. But they do not mention that nobody actually uses bidirectional establishment today, and therefor at more meaningful level the handshake is unnecessary because it supports a non-existent use case.
May 23, 2016 at 2:21 comment added Ron Maupin The applications and application-layer protocols are explicitly off-topic here. @Eddie answered the question, and if you read and understand the TCP RFC, you will get why the handshake is necessary. I don't think it adds anything for you to claim, without any support, that the handshake is not necessary, when it clearly is.
May 23, 2016 at 2:20 comment added Tuntable @RonMaupin Yes, HTTP uses TCP. Which I have clarified, thanks. But that does not make the TCP handshake necessary in any deep sense.
May 23, 2016 at 2:18 comment added Tuntable @RonMaupin The original question was why? And the answer is to support a use case that is never used by the upper level layers in practice. So, seems pretty relevant.
May 23, 2016 at 2:18 comment added Ron Maupin By the way, HTTP uses TCP, so the TCP handshake is still necessary. Read RFC 793 TRANSMISSION CONTROL PROTOCOL to undestand why. Protocols like HTTP require the application to do the multiplexing that TCP would normally do for the application.
May 23, 2016 at 2:16 history edited Tuntable CC BY-SA 3.0
added 948 characters in body
May 23, 2016 at 2:10 comment added Ron Maupin Anything above OSI layer-4 (e.g. HTTP, FTP, etc.) is explicitly off-topic here. In layers 1 to 4, there is no such thing as client/server. TCP is a connection between peers. Yes, upper layer protocols create a client/server relationship, but that is off-topic here.
May 23, 2016 at 2:01 review First posts
Jun 21, 2016 at 14:12
May 23, 2016 at 1:58 history answered Tuntable CC BY-SA 3.0