Can individual TCP packets travel along different route or ... ? - TCP-IP

This is a discussion on Can individual TCP packets travel along different route or ... ? - TCP-IP ; hello Book I'm learning from claims that TCP connection forms a virtual channel, meaning that during the session Datagrams travel between end system using the same route While I know that TCP is connection oriented protocol, I also assumed that ...

+ Reply to Thread
Results 1 to 10 of 10

Thread: Can individual TCP packets travel along different route or ... ?

  1. Can individual TCP packets travel along different route or ... ?

    hello

    Book I'm learning from claims that TCP connection forms a virtual
    channel, meaning that during the session Datagrams travel between end
    system using the same route

    While I know that TCP is connection oriented protocol, I also assumed
    that individual packets sent by TCP may travel along different route
    to their destination?!

    thank you


  2. Re: Can individual TCP packets travel along different route or ... ?

    On Jun 11, 6:11 am, kaja_love...@yahoo.com wrote:
    > hello
    >
    > Book I'm learning from claims that TCP connection forms a virtual
    > channel, meaning that during the session Datagrams travel between end
    > system using the same route
    >
    > While I know that TCP is connection oriented protocol, I also assumed
    > that individual packets sent by TCP may travel along different route
    > to their destination?!



    That's correct. Any individual TCP packet may travel along any
    route. And it may be lost, fragmented, or duplicated along the way
    (in which case the duplicates may actually take different routes).
    It's the job of the receiving TCP stack to put what it gets back into
    the correct order, and to cooperate with the sender to cause any
    necessary retransmissions to occur.

    >From the endpoints perspective, TCP is a virtual channel, in that

    bytes go in one end, and come out in the same order at the other end.


  3. Re: Can individual TCP packets travel along different route or ... ?

    robertwessel2@yahoo.com wrote:
    > On Jun 11, 6:11 am, kaja_love...@yahoo.com wrote:
    > > Book I'm learning from claims that TCP connection forms a virtual
    > > channel, meaning that during the session Datagrams travel between
    > > end system using the same route


    Which book is this which seems to be making such a fundamental
    mistake?

    > > While I know that TCP is connection oriented protocol, I also
    > > assumed that individual packets sent by TCP may travel along
    > > different route to their destination?!



    > That's correct. Any individual TCP packet may travel along any
    > route. And it may be lost, fragmented, or duplicated along the way
    > (in which case the duplicates may actually take different routes).
    > It's the job of the receiving TCP stack to put what it gets back
    > into the correct order, and to cooperate with the sender to cause
    > any necessary retransmissions to occur.


    It would be better/more accurate (albeit wordier) to put it as:

    The IP datagrams carrying the TCP segments can travel along any route
    in the network. Further, the IP datagrams can be lost, delayed,
    damaged, duplicated, or most any combiation of the four along the
    way...

    Lest the reader think that TCP does fragmentation, when it really does
    segmentation

    rick jones
    --
    No need to believe in either side, or any side. There is no cause.
    There's only yourself. The belief is in your own precision. - Jobert
    these opinions are mine, all mine; HP might not want them anyway...
    feel free to post, OR email to rick.jones2 in hp.com but NOT BOTH...

  4. Re: Can individual TCP packets travel along different route or ... ?

    hello

    >> Book I'm learning from claims that TCP connection forms a virtual
    >> channel, meaning that during the session Datagrams travel between
    >> end system using the same route

    >
    >Which book is this which seems to be making such a fundamental
    >mistake?


    This was mistake on my part. Few pages forward the author acknowledges
    the fact that TCP packets may take different route towards the end
    destination. I guess the terminology threw me off


    >>From the endpoints perspective, TCP is a virtual channel, in that

    >
    >bytes go in one end, and come out in the same order at the other end.


    By bytes you mean bytes of a single segment? How does that make a
    channel virtual?

    thank you


  5. Re: Can individual TCP packets travel along different route or ... ?

    > By bytes you mean bytes of a single segment? How does that make a
    > channel virtual?


    At the risk of putting keystrokes into the author's typing, it is the
    addressing information which makes TCP akin to a circuit/connection.
    The bytes-in/bytes-out was likely a reference to TCP being a byte
    stream rather than a message oriented transport.

    rick jones
    --
    The computing industry isn't as much a game of "Follow The Leader" as
    it is one of "Ring Around the Rosy" or perhaps "Duck Duck Goose."
    - Rick Jones
    these opinions are mine, all mine; HP might not want them anyway...
    feel free to post, OR email to rick.jones2 in hp.com but NOT BOTH...

  6. Re: Can individual TCP packets travel along different route or ... ?

    On Jun 11, 9:13 pm, Rick Jones wrote:
    > > By bytes you mean bytes of a single segment? How does that make a
    > > channel virtual?

    >
    > At the risk of putting keystrokes into the author's typing, it is the
    > addressing information which makes TCP akin to a circuit/connection.
    > The bytes-in/bytes-out was likely a reference to TCP being a byte
    > stream rather than a message oriented transport.
    >
    > rick jones
    > --


    Uhm, I'm not sure I understand what you are trying to say



  7. Re: Can individual TCP packets travel along different route or ... ?

    In article <1181588461.594673.52140@u2g2000hsc.googlegroups.co m>,
    kaja_love160@yahoo.com wrote:

    > hello
    >
    > >> Book I'm learning from claims that TCP connection forms a virtual
    > >> channel, meaning that during the session Datagrams travel between
    > >> end system using the same route

    > >
    > >Which book is this which seems to be making such a fundamental
    > >mistake?

    >
    > This was mistake on my part. Few pages forward the author acknowledges
    > the fact that TCP packets may take different route towards the end
    > destination. I guess the terminology threw me off


    Which is why the circuit is qualified as "virtual". A real circuit, as
    the traditional telephone system uses, reserves specific network
    resources for a connection. A virtual circuit just gives the appearance
    of a circuit.

    --
    Barry Margolin, barmar@alum.mit.edu
    Arlington, MA
    *** PLEASE post questions in newsgroups, not directly to me ***
    *** PLEASE don't copy me on replies, I'll read them in the group ***

  8. Re: Can individual TCP packets travel along different route or ... ?

    On Jun 11, 6:49 pm, kaja_love...@yahoo.com wrote:
    > On Jun 11, 9:13 pm, Rick Jones wrote:
    >
    > > > By bytes you mean bytes of a single segment? How does that make a
    > > > channel virtual?

    >
    > > At the risk of putting keystrokes into the author's typing, it is the
    > > addressing information which makes TCP akin to a circuit/connection.
    > > The bytes-in/bytes-out was likely a reference to TCP being a byte
    > > stream rather than a message oriented transport.

    >
    > > rick jones
    > > --

    >
    > Uhm, I'm not sure I understand what you are trying to say



    The abstraction that TCP provides to the applications at the endpoints
    is that of an undifferentiated stream of bytes. One application sends
    1000 bytes, either with a single send() or 1000, and the other
    application receives those exact 1000 bytes, in the order sent, either
    with a single recv() or 1000, with no relationship between the sizes
    of the send()'s and recv()'s. Nor is any of the magic underneath
    visible or meaningful* to the application, hence the TCP stream looks
    like a virtual wire or circuit between the two endpoint applications.


    *A slight oversimplification, you can often see artifacts from segment
    boundaries at the API level - for example, recv()'s tend to stop right
    at segment boundaries if the requested length is long enough, but
    those sorts of things should almost always be ignored and *not*
    depended on.


  9. Re: Can individual TCP packets travel along different route or ... ?

    "robertwessel2@yahoo.com" writes:
    > The abstraction that TCP provides to the applications at the endpoints
    > is that of an undifferentiated stream of bytes. One application sends
    > 1000 bytes, either with a single send() or 1000, and the other
    > application receives those exact 1000 bytes, in the order sent, either
    > with a single recv() or 1000, with no relationship between the sizes
    > of the send()'s and recv()'s. Nor is any of the magic underneath
    > visible or meaningful* to the application, hence the TCP stream looks
    > like a virtual wire or circuit between the two endpoint applications.


    reference old rfc discussing difference between NCP and TCP/IP protocols
    (including reference to discussion about the problem/difficiency for
    TCP)
    http://www.garlic.com/~lynn/internet.html#28 Difference between NCP and TCP/IP protocols
    http://www.garlic.com/~lynn/internet.html#29 Difference between NCP and TCP/IP protocols
    and
    http://www.garlic.com/~lynn/2000.html#67 Difference between NCP and TCP/IP protocols
    http://www.garlic.com/~lynn/2000.html#72 Difference between NCP and TCP/IP protocols
    http://www.garlic.com/~lynn/2000.html#73 Difference between NCP and TCP/IP protocols
    http://www.garlic.com/~lynn/2000.html#74 Difference between NCP and TCP/IP protocols


    some of the discussion found in rfc721 ... rfc721 summary from my RFC index
    http://www.garlic.com/~lynn/rfcidx2.htm#721

    as usual ... clicking on the ".txt=nnnn" field (in the rfc summary)
    retrieves the actual RFC.




  10. Re: Can individual TCP packets travel along different route or ... ?

    In article ,
    Barry Margolin wrote:

    > In article <1181588461.594673.52140@u2g2000hsc.googlegroups.co m>,
    > kaja_love160@yahoo.com wrote:
    >
    > > hello
    > >
    > > >> Book I'm learning from claims that TCP connection forms a virtual
    > > >> channel, meaning that during the session Datagrams travel between
    > > >> end system using the same route
    > > >
    > > >Which book is this which seems to be making such a fundamental
    > > >mistake?

    > >
    > > This was mistake on my part. Few pages forward the author acknowledges
    > > the fact that TCP packets may take different route towards the end
    > > destination. I guess the terminology threw me off

    >
    > Which is why the circuit is qualified as "virtual". A real circuit, as
    > the traditional telephone system uses, reserves specific network
    > resources for a connection. A virtual circuit just gives the appearance
    > of a circuit.


    There's not a lot of correlation between physical vs. virtual circuits and
    resource reservation. If I drop a T1 onto you and tell you that you've got
    timeslot 17 of every frame on that T1, I would call that a virtual circuit
    with a specific network resource reserved.

    That being said, with a TCP connection, the "circuit" really only exists in
    the state being stored in the protocol stacks at the two endpoints. Each
    endpoint knows that the 5-tuple of (protocol, local address, local port,
    remote address, remote port) identifies a unique connection, and keeps some
    state associated with that.

    The network in between (at least ostensibly), has no knowledge of this
    connection; it's just processing packets on a packet-by-packet basis and
    figuring out what to do with each one. As a practical matter, most network
    devices these days do understand that "flows" exist, and can use that
    information to route the packets more efficiently, but that's just an
    efficiency hack, and not fundamental to how TCP is designed. In theory,
    every single packet of a TCP connection can go over a completely different
    route and the endpoints won't notice or care.

+ Reply to Thread