Cumulative ACK, Fast retransmit, and why it matters!

Поділитися
Вставка
  • Опубліковано 18 вер 2024

КОМЕНТАРІ • 67

  • @kristabellesarcon4191
    @kristabellesarcon4191 3 місяці тому +1

    your explanation about the importance of cumulative ack is simple and easy to follow. i need this for my assignment this week. thanks!

  • @TheKnight96
    @TheKnight96 6 років тому +1

    This is the only good video explaining fast retransmit on youtube, to be honest. Glad I came across.

    • @kelcamer
      @kelcamer  6 років тому +1

      Yay!!! I am so thankful I have helped someone ^~^

  • @andriandimitrov4036
    @andriandimitrov4036 2 роки тому +4

    Great video, cleared a lot of confusion i had with acks, thank you !

    • @kelcamer
      @kelcamer  2 роки тому +1

      Glad to clear it up 😊😁 thanks for watching!

  • @Quantickzz
    @Quantickzz 5 років тому +3

    Thank you so much for this! Midterm tomorrow i really needed this.

    • @kelcamer
      @kelcamer  5 років тому +1

      Thanks so much for watching!!! Honestly out of everything I learned in college, this concept is what is helping me most as an engineer in the industry. I am always glad to share the knowledge and I'm grateful for you listening! ❤️🙂👍 Keep up the good studying!

    • @Quantickzz
      @Quantickzz 5 років тому +1

      @@kelcamer That's awesome to hear! I'm glad there's people like you to help us out! Did well on the midterm btw! 😊

    • @kelcamer
      @kelcamer  5 років тому +1

      @@Quantickzz yay! Congratulations!

  • @mahansh9871
    @mahansh9871 3 роки тому +1

    A wonderful teacher by nature!

    • @kelcamer
      @kelcamer  3 роки тому

      Wow! Thank you so much for your kind words 😊

  • @harrietly4932
    @harrietly4932 3 місяці тому +1

    excellent explations!

  • @dipan246
    @dipan246 3 роки тому +1

    Superb and excellent...waiting more and more videos like this....

  • @حسينعليعباسشنون
    @حسينعليعباسشنون 2 роки тому +1

    Great
    Thank you from iraq

  • @canaldoobmarcos4141
    @canaldoobmarcos4141 Рік тому +1

    very well explained. thanks a lot!!!

  • @saifulafiqzakaria3221
    @saifulafiqzakaria3221 6 років тому +3

    love it. For me, it is a very good explanation. Thanks!
    "it drives me crazy personally" *sigh*

    • @kelcamer
      @kelcamer  6 років тому

      Thanks! :) And what's that? What drives you crazy?

    • @saifulafiqzakaria3221
      @saifulafiqzakaria3221 6 років тому +1

      haha no it just what you said at 1.03

    • @kelcamer
      @kelcamer  6 років тому

      @@saifulafiqzakaria3221 oh yeah lol

  • @rohanbhandari8535
    @rohanbhandari8535 5 років тому +1

    Thank you so much for this short video

  • @Pocketsocket
    @Pocketsocket 4 місяці тому

    Thanks ma'am ❤

  • @AYMENSHAHID
    @AYMENSHAHID 5 років тому +1

    thank you so much . ure amazing. Love ur teaching style.

  • @dixi1611
    @dixi1611 5 місяців тому

    great video Kelsey, thank you !

  • @OCEAN-fc9wl
    @OCEAN-fc9wl 6 місяців тому

    Many thanks Kelsey.

    • @kelcamer
      @kelcamer  6 місяців тому

      Thank you for watching! :)

  • @ramr1056
    @ramr1056 Рік тому

    Great explanation

  • @Windows7Air
    @Windows7Air 5 років тому +2

    bless your soul

    • @kelcamer
      @kelcamer  5 років тому +1

      Thanks 😀 I'm honestly really surprised that new people are still finding this. XD
      I made it for a class at UCF 😊 and I've found a lot of people taking the exact same class, ironically.

  • @deliceliswa6489
    @deliceliswa6489 2 роки тому +1

    Great content, thank you so much!!

  • @wingsabutterfly
    @wingsabutterfly 3 роки тому

    Excellent explanation !!

  • @Alfredo5883
    @Alfredo5883 2 роки тому +1

    Thank you! Earned a Sub

    • @kelcamer
      @kelcamer  2 роки тому

      You're welcome! 🥰 And thanks for the sub!

  • @aliaksandrhn1
    @aliaksandrhn1 3 роки тому +1

    Great job!. Upvoted.

  • @karenzhu6100
    @karenzhu6100 Рік тому

    awesome explanation!! love it!

  • @4qua94
    @4qua94 3 роки тому +1

    Thank you so much!

    • @kelcamer
      @kelcamer  3 роки тому

      You are so welcome 😊

  • @loia5tqd001
    @loia5tqd001 5 років тому +1

    awww. How sweet!!!

  • @gatorichyups
    @gatorichyups 4 роки тому +1

    Amazing! I love you!

    • @kelcamer
      @kelcamer  4 роки тому

      Glad you like the video! :)

    • @gatorichyups
      @gatorichyups 4 роки тому

      @@kelcamer A lot!! DO you have any video with RFC 1323 or ECN? I really would like to watch your explanation about it.

    • @kelcamer
      @kelcamer  4 роки тому

      @@gatorichyups I don't, but I'll definitely keep that in mind if I do any future TCP videos! :)

  • @claay832
    @claay832 5 років тому +1

    Regarding window size advertisement and ACKs. There are two things I noticed.
    1. The TCP window indicates how many bytes a sender can send before it requires an ACK.
    2. The TCP Retransmission timer also plays a role waiting for the ACK. Therefore, the TCP timer will only start once the sender has already sent a packet containing the final byte. So for example it advertised a windows size of 800. So I think, the TCP timer will start counting once the packet containing the 800th byte has been sent. Any comments?

    • @kelcamer
      @kelcamer  4 роки тому

      #1, yes that is correct. The window size is how many packets can be sent before an ACK is required. A window size that is too big can lead to network congestion. A window size that is too small can lead to delays.

    • @kelcamer
      @kelcamer  4 роки тому +2

      For #2, The timer starts when TCP sends a segment and stops when the ACK is received.
      So if host A sends a datagram and it times out, then it will try to resend.
      Alternatively if host A sends a datagram and it is received but the ACK is lost & never received within the timeout, then host A will never know that the data has actually been sent, and it will retry when the timer expires.

    • @Rat.s
      @Rat.s Рік тому

      TCP window indicate
      limit of reciver
      Not limit of sender
      So you can send more than tcp window size but it create congestion

  • @Ishidres
    @Ishidres Місяць тому

    thanks bruh

  • @mixmix862
    @mixmix862 3 роки тому

    thank you so much

  • @alialaei1554
    @alialaei1554 6 років тому +1

    awesome

    • @kelcamer
      @kelcamer  6 років тому

      ali alaei thanks :D

  • @abdulrahmantakriti6769
    @abdulrahmantakriti6769 5 років тому +1

    Thank you for such a great video ! :’)
    Could you supply the link of the website you've mentioned ?

    • @kelcamer
      @kelcamer  5 років тому +1

      Wow :D thanks so much for commenting! Sure I can:
      www.ccs-labs.org/teaching/rn/animations/gbn_sr/

  • @jkrw3540
    @jkrw3540 5 років тому +1

    Didn't understand why those 3 ACKs are sent. Also why will the ACK for 130 will be sent multiple times when 130 has been received by the receiver ?

    • @kelcamer
      @kelcamer  5 років тому

      The three acks are sent for each piece of data :)
      One ack is sent for 100, one for 120, and one for 130.
      100 and 120 ack got screwed up, but since your ack kept incrementing, it necessarily means that all the data before that has been received, so you don't need to resend the previous acks.

    • @kelcamer
      @kelcamer  5 років тому +1

      Also, once 130 is received by the receiver, the sender doesn't know that until it recieves an ack.
      So the receiver will send the ack again if it gets corrupted or if the sender hasn't gotten it before the timeout window.
      After 3 acks, this is a sign of network instability and usually the protocol is to stop trying and wait until a later time where the network is less busym

    • @kelcamer
      @kelcamer  5 років тому +1

      I think I see your confusion more specifically now.
      So the ACK = 130 does not mean that 130 has been sent.
      It means that 130 is the next byte sequence that needs to be sent. So if your network is trying to send 130, and it fails, you'll get the ack back of the sequence number that needs to be sent, which is 130 in this case. If you get this same ack back 3 additional times, that is a sign of network congestion so you have to fast retransmit the data. Stopping everything to force send the 130 byte sequence.

    • @kelcamer
      @kelcamer  5 років тому +1

      Remember that this is a cumulative ack. So each ack will store the next byte sequence.

  • @RediFicasi0N
    @RediFicasi0N 5 років тому +1

    So when fast retransmission occurrs, does the Cwnd and SSthreshold stay the same? Does is retransmit the packet and then wait for the acK and then keeps going like nothing happened?

    • @kelcamer
      @kelcamer  4 роки тому +1

      Yes, if an ACK is lost, it just sends the next packet. Eventually, because of the cumulative ACK, the receiver will know based on the value of the ACK whether the previous packets were received. Does that answer your question?

  • @twa3954
    @twa3954 5 років тому +1

    Thank you so much. But if the data is lost from host A what will the sequence number?

    • @kelcamer
      @kelcamer  4 роки тому

      The sequence number increments based on the size of the data packet :)
      So if your initial sequence number is 92 and the next packet is 8 bytes and was successfully sent, the next sequence number would be 100.
      If the data is lost, then the sequence number stays the same & resends the packet.

  • @donnabellevarona5813
    @donnabellevarona5813 3 роки тому +1

    what happenes if seq 100 wasnt received, and then seq 120 is sent immediately after? what are the corresponding ack no?

    • @kelcamer
      @kelcamer  3 роки тому +1

      Are you asking what happens if the seq no ACK for 100 was dropped?

  • @dungchung2519
    @dungchung2519 Рік тому

    Hello, can i get help plz

  • @DaniloShub-u5t
    @DaniloShub-u5t 11 годин тому

    Jones Deborah Miller Elizabeth Martin Gary