1

Suppose there is one host and one web server, such that the host wants to get pages using the TCP protocol (assuming the network does not apply ECMP or MPLS, also ignoring the delay or any other barriers), I want to understand the behavior of ACK message transmission via the following example:

  1. After the handshaking, there is a communication route between those end-points (say this route goes through 5 intermediate routers). If the server sends packets, does the host uses the same route to return the ACKs, or it SHOULD create a different route?
  2. In case if the host uses the same route, what if the server change the route, does the host also follows the new route for returning ACKs?

I am new in networking so I appreciate any explanation.

1 Answer 1

0

How TCP gets routed on the network is up to IP. TCP doesn't care about any of that.

It is completely possible that you could have asymmetric routing (outgoing and incoming traffic take different paths). This is not an uncommon situation. Routing can also change during the course of a TCP session. TCP (and any upper-layer protocol) is completely oblivious to this.

You should look up about the separation of the network layers. There are several models about this, but understand that these are just models, and the real world can be different. The OSI model is pretty ubiquitous.

5
  • So handshaking process has nothing to do with how packets are routed as long as the handshake process succeeds, and routing the packets through the network is up to the routing tables. Thus, saying there is always a fixed transmission path between sender and receiver is not really accurate unless in the simulation environment where you can fix that as a programmer! Do I make sense? Please correct me if i am wrong. THANK YOU
    – Michael
    Aug 16, 2016 at 22:32
  • There is a fixed TCP path, as TCP defines it, but the actual path the layer-3 packets containing the TCP segments takes could, and probably does, vary. Each layer doesn't really care what happens at the other layers.
    – Ron Maupin
    Aug 16, 2016 at 22:36
  • I understand L3 path, which implies the actual path, but what do you mean by TCP path? TCP is process to process communication so I don't see a "path" here
    – Michael
    Aug 16, 2016 at 22:38
  • Each network layer has a virtual communication path to its peer. Ethernet, at layer-2, has a virtual path between the hosts which are communicating on the LAN. IP has a virtual path between the hosts communicating between the network layers. TCP has a virtual path between TCP sessions on the end hosts. The path seems fixed to each layer, although the specifics of the actual path may vary. It's like you (a TCP segment) needing to go to the airport (the other host). You call a cab (IP) and it gets you there. You are busy with some work, and you don't really care how the cab gets you there.
    – Ron Maupin
    Aug 16, 2016 at 22:44
  • It's like you (a TCP segment) needing to go to the airport (the other host). You call a cab (IP) and it gets you there. You are busy with some work, and you don't really care how the cab gets you there. This is great example. Thank you Ron
    – Michael
    Aug 16, 2016 at 22:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.