TCP Sequence and Acknowledgment Numbers

Поділитися
Вставка
  • Опубліковано 3 лют 2025

КОМЕНТАРІ • 120

  • @TheNobodyscat
    @TheNobodyscat 5 років тому +27

    Best explanation of Seq and ACK numbers I found online. Thank you!

  • @mistakenmillenial6834
    @mistakenmillenial6834 5 років тому +75

    Networking is funny. You literally have to tell yourself stories to understand what's going on. XD

    • @raq14
      @raq14 8 місяців тому

      Omg thats how im surviving my courses 😂

  • @muradbagirli9285
    @muradbagirli9285 2 роки тому +6

    To be honest, I spent almost 3 weeks to understand this concept. I want to thank you because with your help I figured it out.

  • @thetayz72
    @thetayz72 7 років тому +24

    Good explanation. I hate when tutorials leave out the "why" details, and you didn't. Well done.

    • @DerpyNetworking
      @DerpyNetworking  7 років тому +3

      TheTayz yes, I hate it too when people don't explain the "why". XD thank you.

  • @MrAmerica141
    @MrAmerica141 8 років тому +16

    One of the best explentions for my brain to handle. Great video, thank you.

  • @k86305
    @k86305 Рік тому +2

    Excellent explanation of TCP connection (3 way hand shake, data-exchange, and Termination)

  • @taddy666
    @taddy666 4 роки тому +4

    Superb - thanks so much. I was really struggling to understand this but the phantom byte when the syn and fin is flagged totally makes sense of the numbers.

  • @mmcanhaoable
    @mmcanhaoable 3 роки тому +2

    Exam in 2 days, and I finally understand it, thank u

  • @EkramHBGaleti
    @EkramHBGaleti Рік тому +2

    Masha Allah I was really confused, but good that I am seeing from Top Down approach must explains everything. Thank You. This gives me kick start and do more analysis. You should continue doing more videos using small examples with absolute numbers than relative numbers.

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

    thanks man im reading Computer Networking: A Top-Down Approach and i didnt understand it , your video saved me

  • @eliashousseini9534
    @eliashousseini9534 7 років тому +13

    Give this guy a cookie, you deserve it buddy ^_^

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

    Thank you so much this is one of the best tutorials in networking

  • @SounakVids
    @SounakVids 7 років тому +2

    Best TCP Seq/Ack video on the internet.

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

    One of the best video on you tube the phantom byte part was new and very well explained thx for the upload.

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

    Fantastic, super fantastic video on TCP three-way handshake.

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

    Love the way you explain bro. More power to you.

  • @MrLarryLicious
    @MrLarryLicious 5 років тому +4

    Well-explained. Liked the pony :)

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

    Thank you! This is the best video about this topic :)

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

    Networking explained with ponies? Right when I have to do networking homework? Well, don't mind if I do! Good video x)

  • @shadow201011
    @shadow201011 8 років тому +1

    Sir, I thank you from the bottom of my heart, thank's man

  • @phamtienthinh1795
    @phamtienthinh1795 11 місяців тому +1

    Excellent explanation of TCP connection (3 way hand shake, data-exchange, and Termination)
    (Copy from k86305)

    • @phamtienthinh1795
      @phamtienthinh1795 11 місяців тому +1

      So this is how data transfer and the Mechanism to make sure data is sent when using TCP protocol
      Thank you

  • @23o8idlnqdolkqd
    @23o8idlnqdolkqd Рік тому +1

    Thumbs up for nice explanation and for ponies!

  • @caleb_gonsalves
    @caleb_gonsalves 7 років тому +32

    I hated that pony, first impressions count, almost quit the video, but it's the best one out there

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

    perfect explanation, bravo 👏👏👏

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

    Best Explanation, I found.

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

    What a great explanation :) Thank you!

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

    Great Explanation Bro! NICE JOB!!!

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

    great video dude, good job , helped me out a lot

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

    If you struggle at paying attention and don't understand what is going on, this video is actually easier to understand at playback speed 1.5

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

    Thanks for this video. I don't generally watch videos when it comes to learning but I've been stuck learning this all day - numbers just confuse me. So everything I read up on makes sense now.

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

    Nice explanation in my perc-per-ps-psrc... perspective.

  • @YTM4niac
    @YTM4niac 8 років тому +2

    Great video, thank you very much for your explanation!!

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

    Super clear explanation. Thanks a lot!

  • @marcelmravec9394
    @marcelmravec9394 8 місяців тому

    4:20 should't it be 378 in order to tell the client that it recieved 1 + 376 and is waiting on the next byte on position 378?

    • @DerpyNetworking
      @DerpyNetworking  8 місяців тому

      It should be 377 because 1 + 376 = 377. Also, in the beginning we start at 0. Look at the 3 way handshake.

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

    EXCELLENT explanation. Thank you sir

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

    Why does a FIN/ACK get 1 phantom byte, but an ACK doesn't get a phantom byte?
    Also, how would you detect if a packet is loss from the sequence and ack numbers?

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

      The FIN/ACK gets 1 because the FIN is set. If the SYN or FIN bit is set, it increases the count by 1.
      ua-cam.com/video/SUFr2gYtEVU/v-deo.html&

  • @aakashrudraa
    @aakashrudraa 9 місяців тому +1

    REAALLY THANK YOU , SO MUCH

  • @pancakekim8049
    @pancakekim8049 11 місяців тому +1

    Love this explaination

  • @abhishekjaisinghiitr
    @abhishekjaisinghiitr 8 років тому +1

    neatly explained! Nice work :D

  • @LindaDochter
    @LindaDochter 7 років тому

    The client and server do not set up separate TCP connections. A single connection is between a pair of sockets (IP + port) and is bidirectional.

    • @DerpyNetworking
      @DerpyNetworking  7 років тому

      Linda Dochter I don't think I ever said that, but I probably should have clarified. Thank you for pointing that out. Oh well. Me be derpin on the Internet. XD

  • @vipulv07
    @vipulv07 8 років тому

    Worth Watching.. Clarity in explanation!

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

    So SEQ is what you’ve send (not including the message of what you’re currently sending) and ACK is what you’ve received.

  • @shilkababu1571
    @shilkababu1571 11 місяців тому

    how we got the data bytes from 376 to 270?

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

    whats up with the ponys?

  • @cmms1234
    @cmms1234 11 місяців тому

    1. Can anyone decide to close the connection
    2. When cleint closes ,whether server needs to close or can continue

  • @dlightnin
    @dlightnin 8 років тому +62

    Best tutorial out there

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

    Why doesn't the client increment the sequence number with the first transmission (GET request)? If seq=1 in the ACK last step of the handshake, shouldn't it be seq=2 in the GET?

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

      Good question. The SEQ and ACK only increment when data is transmitted. The only exception is if the FIN or SYN bit is set. The ACK never sent a payload so to speak.

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

      i found the sentence i was looking for about 12 hours , right in your answer to the comment of this man
      ( Anders Ulfsnes ) , " The SEQ and ACK only increment when data is transmitted. The only exception is if the FIN or SYN bit is set"

  • @matthewchew1849
    @matthewchew1849 6 років тому +2

    so ack value = seq value + bytes sent ?

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

    I am unable to understand how reciver send seq no I mean 270 bytes

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

    Still this is helpful, thank you

  • @SUMIT-sy7qs
    @SUMIT-sy7qs 8 років тому

    Hi sir, I have a question because something is not clear to me:
    In the following exemple where you explained the termination process of the TCP connection with the TCP four-way termination (I wrote the question in square brackets) :
    client

    • @DerpyNetworking
      @DerpyNetworking  8 років тому +2

      I wouldn't get too hung up on the ACKs here. If there isn't a previous segment with data or a previous segment with the FIN or SYN bit set, the SEQ or ACK numbers won't increase. You can see this throughout my video.
      The ACK tells the other side what it's next SEQ number should be. "The next expectant byte." The SEQs and ACKs are used to keep track of Data (Reliable delivery).

    • @SUMIT-sy7qs
      @SUMIT-sy7qs 8 років тому +2

      Thank you very much for your explaination. Everything is 100% clear to me now.
      This videos is really helpful and very well explained.

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

    Tip: TCP header doesn't include the size of the payload. Can you figure out how to calculate the size of data sent by TCP in Wireshark?
    N.B. It involves total length of the IP header and the total length of the TCP header versus the total length of the IP datagram.

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

    After the server ends the TCP connection, how does it respond to the client when it sends the FIN bit to end its connection?

  • @selimhalac9804
    @selimhalac9804 8 років тому +1

    Great video, thank you!

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

    Thanks for the great explanation

  • @colinjames8278
    @colinjames8278 7 років тому +1

    Great video! I'm new to all this stuff and trying to wrap my head around it. At what point would windowing come into play? After the 3-way handshake when the Client sends its first GET packet with the 376 bytes?

    • @DerpyNetworking
      @DerpyNetworking  7 років тому

      I would have to look that up. Basically, after the three-way handshake, the window gets bigger and bigger. That means the sender will send more before an ack is required.

    • @DerpyNetworking
      @DerpyNetworking  7 років тому

      I've only scratched the surface of TCP. It's a beast on its own. XD

    • @colinjames8278
      @colinjames8278 7 років тому

      Derpy Networking no doubt!! Appreciate the response and the videos

    • @DerpyNetworking
      @DerpyNetworking  7 років тому

      I was just thinking about you @Colin James. As I was reading the Cisco Press Books, I stumbled across this. I hope it helps.
      “TCP uses a flow control mechanism called windowing. Each TCP receiver grants a window to the sender. The window, which is a number, defines the number of bytes the sender can send over the TCP connection before receiving a TCP acknowledgment for at least some of those bytes. More exactly, the windows size is the number of unacknowledged bytes that the sender can send before the sender must simply stop and wait.
      The TCP window mechanism gives the receiver control of the sender’s rate of sending data. Each new segment sent by the receiver back to the sender grants a new window, which can be smaller or larger than the previous windows. By raising and lowering the window, the receiver can make the sender wait more or wait less.
      By choice, when all is well, the receiver keeps increasing the granted window, doubling it every time the receiver acknowledges data. Eventually, the window grows to the point that the sender never has to stop sending: the sender keeps receiving TCP acknowledgments before sending all the data in the previous window. Each new acknowledgment (as listed in a TCP segment and TCP header) grants a new window to the sender” -CCNA Book ICND2

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

    So the http protocol goes through all that just for one request?

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

      There's a lot of other things below the application layer. It's actually pretty incredible when you think about it. It's somehow all works.

  • @c.j.dylanxu153
    @c.j.dylanxu153 8 років тому +1

    friendship is magic!!!!!!!!!!!!!!!!!!!!!!!!!!

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

    great explanation thx !!!

  • @julian403
    @julian403 7 років тому

    What happends when the servers sends 2 continuous TCP packages ? The client return a packages with the sequence number with the last ACK numbers? what happends with the first packages?

    • @DerpyNetworking
      @DerpyNetworking  7 років тому +1

      I believe my second video will clear your question up. If not, please message me again. ua-cam.com/video/SUFr2gYtEVU/v-deo.html

    • @julian403
      @julian403 7 років тому

      Thanks dude. Just a question. The ASK number dont specify that the last packages was recibe with success (thats the ASK flag). Does it specify the length for the next packages? that is no the purpose for windows side?

    • @DerpyNetworking
      @DerpyNetworking  7 років тому +1

      Hopefully, I understand your question. There is no ASK flag, but I assume you mean ACK. The ACK sequence number acknowledges all previous data segments by saying that I'm ready for the "next byte in order". Definitely, it can get more complicated if they don't come in order or go missing. The video I linked to you explains some of that.
      The window size determines how much data the sender can send before an acknowledgment is required. The bigger the window size the faster the connection.

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

    Hallo Kollege, eine Frage: MUSS der Client nach dem er jedes mal daten vom server gekriegt hat, auch wieder ein Ack zurücksenden?

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

      The client and server only send an ack according to the window size.

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

      @@DerpyNetworking i have no Window size. I just got a mss of 1448 Byte

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

      @@scholli99 networklessons.com/cisco/ccnp-route/tcp-window-size-scaling

  • @vadrif-draco
    @vadrif-draco 3 роки тому

    purr spec tiv!
    jokes aside, great video.

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

    Very helpful, thank you!

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

    thank you! nice tutorial

  • @喻如辰
    @喻如辰 3 роки тому +1

    Thanks a lot

  • @prateeksingh812
    @prateeksingh812 7 років тому +1

    SuperGeneral Legend 8)

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

    good tutorial

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

    Thanks a lot !

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

    Great, very helpful

  • @MuazRazaq
    @MuazRazaq 7 років тому

    Great Explaination

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

    Thank you!!!

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

    best video

  • @mylifeassaifi1708
    @mylifeassaifi1708 8 років тому +1

    Great video Thanks............

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

    Thanks!

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

    That's why i need..super simple

  • @Andersknudsen1
    @Andersknudsen1 7 років тому

    Flow chart link is wrong

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

    great thanks you !

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

    sentinelling illustration. Ta muchly

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

    Excellent

  • @AlejandroMejia-wy4vd
    @AlejandroMejia-wy4vd 8 років тому +1

    excelent

  • @RahulSam
    @RahulSam 7 років тому +4

    Are you god?

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

    u like a furry person or something?

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

    how to explain something simple in a bad way, congrats

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

      I'm sorry you feel that way. What do you think I could have done differently?

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

      @@DerpyNetworking its good dont listen to him , youre a good teacher

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

    lol

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

    Excellent video! Thanks!