about TCP timeout

dani1999dani1999 Member Posts: 6 ■□□□□□□□□□
if i send 3 segments
1 and get ack.
Now cwind is 2 so i will send
2+3 and get ack only on 3(that mean 2 i lost).
now, i not get 3 duplicate ack to cut cwind and all of this
so i will get on timeout.


now, TCP is always Selective Repeat ? so after the timeout i will send only 2?
or there is option on the TCP protocol to behive live GBN?and i will send 2+3
i looking for official source,because i answer on quize that it send 2+3..
thanks
thanks.

Comments

  • SteveO86SteveO86 Member Posts: 1,423
    TCP may not always be "Selective".

    Selective Acknowledgements options are discovered during the TCP handshake, depending on the environment you can easily come across nodes with many different TCP options, that is one reason why capturing the initial TCP Handshake is so important.

    The TCP SACK Option is covered by RFC-2018
    https://tools.ietf.org/html/rfc2018

    Is SACKs are in play then yes only "2" would be transmitted since the receiver would indicate it received "3" but not "2" if SACK is not in play both 2+3 would be retransmitted.

    RFC-5681 covers the CWND and RWND, which full under "TCP Congestion Control"
    http://tools.ietf.org/html/rfc5681
    My Networking blog
    Latest blog post: Let's review EIGRP Named Mode
    Currently Studying: CCNP: Wireless - IUWMS
  • dani1999dani1999 Member Posts: 6 ■□□□□□□□□□
    SteveO86 wrote: »
    TCP may not always be "Selective".

    Selective Acknowledgements options are discovered during the TCP handshake, depending on the environment you can easily come across nodes with many different TCP options, that is one reason why capturing the initial TCP Handshake is so important.

    The TCP SACK Option is covered by RFC-2018
    https://tools.ietf.org/html/rfc2018

    Is SACKs are in play then yes only "2" would be transmitted since the receiver would indicate it received "3" but not "2" if SACK is not in play both 2+3 would be retransmitted.

    RFC-5681 covers the CWND and RWND, which full under "TCP Congestion Control"
    RFC 5681 - TCP Congestion Control
    hi
    i sorry but i don't got you well
    according to my problem
    TCP is alway send(after the timeout) 2+3 / always will send only 2 / depend...

    i must understand well (i prefer that the answer will be always 2+3 :) because that what i answered
    or the answer will be. according to new protocol is always 2+3)
    so if you can turn me to specipic peregraph/line i will thank to you!
    thank a lot!
  • dani1999dani1999 Member Posts: 6 ■□□□□□□□□□
    SteveO86 wrote: »
    TCP may not always be "Selective".

    Selective Acknowledgements options are discovered during the TCP handshake, depending on the environment you can easily come across nodes with many different TCP options, that is one reason why capturing the initial TCP Handshake is so important.

    The TCP SACK Option is covered by RFC-2018
    https://tools.ietf.org/html/rfc2018

    Is SACKs are in play then yes only "2" would be transmitted since the receiver would indicate it received "3" but not "2" if SACK is not in play both 2+3 would be retransmitted.

    RFC-5681 covers the CWND and RWND, which full under "TCP Congestion Control"
    RFC 5681 - TCP Congestion Control
    thanks
    but i not understand you (and not get the ietf RFC)
    according to my details
    tcp will always (after the time out ) send 2+3 / or always send only 2 / or depend
    i need to get it well(i prefer that always send 2+3 because that the answer i marked in the quize)
    but i not find this spesipic answer on the protocols
    thanks
    thanks
  • SteveO86SteveO86 Member Posts: 1,423
    The RFC's I had mentioned were published after RFC 793, the initial RFC for TCP and they "add-on" to functionality.

    This article from PacketLife is very good at going over how to TCP handles packet loss, in both situations when Selective Acknowledgements are supported and when they are not.

    I can't say what the correct is for your quiz. If the example said SACK's were supported than the answer would packet 2. If it did not specify whether SACK's were supported then it might be safe to assume SACK's were not supported resulting 2+3 getting re transmitted.

    Chances are I would probably fail that same quiz because I would want to see the packets or I would be asking for additional information. (IE: Are SACKs supported in that conversation)
    My Networking blog
    Latest blog post: Let's review EIGRP Named Mode
    Currently Studying: CCNP: Wireless - IUWMS
  • ccnpninjaccnpninja Member Posts: 1,010 ■■■□□□□□□□
    There are two major protocols that TCP is known to follow, for packet retransmission: Go Back N protocol and Selective Repeat.
    Let's suppose host A sends segments 1, 2 and 3. And B receives 1 then 2 is corrupted or lost:
    - in Go Back N, A has to retransmit 1, 2 and 3.
    - in Selective Repeat, A has to retransmit only 2.
Sign In or Register to comment.