TCP connection walkthrough | Networking tutorial (13 of 13)

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

КОМЕНТАРІ • 336

  • @LazieKat
    @LazieKat 4 роки тому +314

    A: I want to talk to you
    B: I acknowledge that you want to talk to me, I also want to talk to you
    A: I acknowledge that you want to talk to me
    A: The weather today is nice
    B: Indeed
    B: The wind makes me want to go for a walk
    A: Indeed
    A: I need to go now
    B: I acknowledge that you need to go
    B: I need to go now
    A: I acknowledge that you need to go

    • @KVVUZRSCHK
      @KVVUZRSCHK 3 роки тому +11

      A: Have you heard of the high elves?
      B: Nothing I'd like to talk about.

    • @pedrorengel9603
      @pedrorengel9603 3 роки тому +5

      My family is not gonna be happy when they hear the new rules.

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

      Wow, it's helped me to more easily understand the TCP Connection, thx bro.

  • @klausvonshnytke
    @klausvonshnytke 5 років тому +253

    I watched end to end in one go and I learned more about the data transmission than during a whole semester in uni. Awesome series!

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

      WOW. That's binge-watching :c) I've just finished the whole thing as well - but it took me much longer than it took you :c)

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

      That means you weren't trying hard enough.

    • @skaterzrule4
      @skaterzrule4 7 місяців тому +1

      @@nollix lmao nah fr

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

      No kidding!!

    • @JackHartwig
      @JackHartwig 2 місяці тому

      @@nollixnah

  • @nomoregames19
    @nomoregames19 8 років тому +218

    Ben?! Why dont you keep doing these tutorials? There are lot to cover yet((

    • @okgfwij
      @okgfwij 5 років тому +21

      Building an 8-bit computer networking hardware..

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

      @@okgfwij That took a while

  • @meninja111
    @meninja111 4 роки тому +11

    I am sad that the playlist is over :(

  • @Glicerol
    @Glicerol 5 років тому +42

    This is awesome :) I wish you do more this kind of videos, about HTTP/HTTPS, DNS, DHCP and IPv6 :)

  • @andie_pants
    @andie_pants 4 роки тому +198

    It's like listening to awkwardly polite people ending a phone call...
    "Well, I gotta run."
    "Yup, I hear ya. Didn't mean to keep you so long."
    "No, you're good man. It was nice talking to you."
    "Yeah it was. Tell the wife I say hello."
    "Roger that. I'll pass on the the message. Stay safe!"
    "Gotcha. You too."
    "You too."
    "Later."
    "Bye."

    • @fukuyama2252
      @fukuyama2252 4 роки тому +7

      LOL, your comment just makes it even easier to remember these procedures

  • @schlammmer
    @schlammmer 9 років тому +127

    Really great playlist, learnt a lot, these are exact the tutorials I was searching.

  • @BradenBest
    @BradenBest Рік тому +3

    TCP connections are like marriage counseling exercises. "I affirm and acknowledge your feelings." "I acknowledge your acknowledgement of my feelings." "I acknowledge that you acknowledge my acknowledgement."

  • @ryanseipp6944
    @ryanseipp6944 5 років тому +23

    Gotta say, I've learned more from this 13 part series in one night than I could have in weeks of looking up information elsewhere. The information was presented in such a clear and concise way, with very easy to understand explanations. Absolutely fantastic work!

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

    Great series. Any plans for follo up for UDP and explaining how DNSs work? There are times you refer to the TCP unit as a byte but really it is a segment. Also you forgot to mention window sizes.

  • @dmitriykorolevich2208
    @dmitriykorolevich2208 8 років тому +116

    First of all, thank you for this fantastic series. It is really well-put.
    One minor nit about this video specifically: when choosing the initial SEQ numbers in handshake, while it makes sense to set them to some small readable value, it would probably make more sense to make them different to avoid possible confusion/magic number syndrome. Say, client's SEQ = 0, server's SEQ = 100.

    • @marvinjuelz
      @marvinjuelz 5 років тому +6

      True, it made things confusing, better to use different initial SEQ numbers for client and server.

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

      I think he chose those values so that Wireshark will match up with the numbers

  • @mateusmercer2280
    @mateusmercer2280 7 років тому +16

    I simply LOVE when you show the practical usage of the theory you made. And the practical usage is the same of the theory you used, I mean, the IP's, seq numbers, all matching up, makes it waaaay easier to understand.

  • @aakashgobi7149
    @aakashgobi7149 5 років тому +12

    Thank you for this amazing lecture.
    Shouldn't the last ACK packet from server to client be with seq #24 and ack #2 ? Correct me if I am wrong. Thanks.

    • @RajivKumar-ee7xv
      @RajivKumar-ee7xv 4 роки тому +2

      It is same in packet capture. He actually means acknowledgment 2 but wrote sequence number 2 in lecture.

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

    Please talk about , nat , ssh , tunneling , http(.9,1,1.2,2,quic), udp, .. and thanks for this greate play list

  • @ciscojaviergarcia2498
    @ciscojaviergarcia2498 5 років тому +8

    I have a textbook, an instructor's lecture and office hours, his slides, and it just didn't click until I saw this. Your excellent explanation saved me a lot of time and energy. Thanks a bunch.

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

      Your name is Cisco?? :D
      Or you're just into networking too much?

  • @voetsmike
    @voetsmike 9 років тому +42

    Shouldn't that last 'seq 2' be 'ack 2'? Because it is an ACK, an the server expects the next seq to be 2...

    • @dhruvpargai8117
      @dhruvpargai8117 8 років тому +9

      +Mike Voets
      Yes it should be

    • @NikhilSingh-ev8zw
      @NikhilSingh-ev8zw 6 років тому +1

      No. It should be Seq number 24 because client is expecting last packet with the sequence number 24 thats why it sent ack number 24 to the server otherwise it will consider as the packet is lost somewhere.

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

      Um yeah it is. Look at Wireshark's representation from 07:00 onwards, if you look at the last entry there's an ack with a value of 2.

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

      Yes, that is true! It should be corrected to prevent confusion.

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

      Yes, it is seq 24, and ACK 2.

  • @ghibli971
    @ghibli971 8 років тому +11

    excuseme Ben but the last server seq number is 24 (what the server expects) and the last ack number is 2 (client seq + 1)
    Is it right?

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

      Nicolò yeah, I also think you are right.

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

      "Seq: 24, Ack : 2" from server to client

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

      You are right, you can confirm your suspicion with wire shark at the end

  • @jfbarbosaboro
    @jfbarbosaboro 6 років тому +5

    I've watched all 13 videos!! Amazing work you've done here!!! Thank you so much for these lectures!!! You are a fantastic professor!!

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

    I feel compelled to let you know sir that I have been studying c.s. for a while now. You are by far the best person I have found yet that can explain things (not just in this particular video) in such a way that I feel I can thouroughly understand. I would like to sincerely like to thank you very much for taking the time to produce so much content , that in my eyes is valuable as gold, and FREELY share it.
    THANK YOU, please continue to make more content. I would be particularly interested in your take on 2020 /19 networking concepts as we all know our connection are be listened to, I would love to hear you perspective.

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

    The philosophies of ben eater reveal themselves in the writings... “Wireshark is nice because,” “Wireshark is nice enough to,” “Does this really nice thing.” He is trying to tell us of the importance of gratitude for a healthy mind. Congratulations, you’ve created scripture.

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

    So that 3 way handhsake is basically:
    "Hi do you hear me?"
    "Loud and clear, do you hear me though?"
    "Yup"
    And now we know we both hear each other.

  • @bedwarri0r333
    @bedwarri0r333 6 років тому +4

    Such a cool series. Thanks so much! It's incredible how much data is being sent and decoded all over the world....

  • @dmn3floyd659
    @dmn3floyd659 6 років тому +4

    Hey Ben, I am currently a college undergrad, with no job and terrible GPA, I lost all my interest in studies because of the terrible teachers I had and ofcourse my attitude of not feeling motivated towards anything. These 13 Videos made me think of how beautiful things can really be, finally starting to get back to the right track.
    Better fail then never try..
    Thanks Man!

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

      It's been 4 years, have you improved? :)

  • @SandeshDaundkar
    @SandeshDaundkar 8 років тому +18

    I'm so grateful to you :) These videos on networking helped me learn alot :) I rarely comment but you deserve it :) Great Job!

    • @KL-es9bt
      @KL-es9bt 8 років тому

      😑

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

      Every single scamming video that i watch or called me were INDIAN
      i am not trying to be racist here but seriously what’s up with these people ? don’t they have dignity ?
      you can literally search IRS scams and every single one of them are INDIAN, wtf is wrong with these people ?

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

    Wow. What a great bunch of videos! I always thought this stuff was extremely difficult to grasp but the way you broke it down made it really clear. Thanks!

  • @jaimeorjuela8324
    @jaimeorjuela8324 9 років тому +34

    I'm a teacher of Computer Networking in Colombia and I've been seeing your networking tutorial. Let me you say that all of these videos are amazing, absolutely clear and well explained. So I wanna use those for my e-learning classes but not all of my students are bilingual, so I'd like to ask your permission for publish the translation in Spanish of these tutorial.

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

      This video is wrong, though.

    • @vhayes2257
      @vhayes2257 6 років тому +45

      Taxtro Don't just make a trite comment like that and then take off, explain precisely and exactly what you mean.

  • @wesleyrobertson315
    @wesleyrobertson315 9 років тому +4

    Best instruction I have found on this. Excellent video

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

    I don't know what it is about Ben's way of explaining things, but I just get it no matter how complicated the thing is.
    I tried learning this stuff before and it was daunting and hard. But I just binged this entire thing in one go and I understand the basics of networking now.
    Thanks Ben!

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

    This has been the first large scale networking explanation that has actually made *clear* sense to me; most that I've seen explain a few aspects well but leave confusion when bringing it all together. Thank you so much for making this videos!

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

    Thank you so much, you helped me a lot. I really liked the idea of showing the TCP header

  • @KirkM-ve1ic
    @KirkM-ve1ic 5 років тому +2

    I know this video is old etc, but would anyone able to explain why the SEQ number is 1 during the FIN bit process and not 2?
    It seems strange that the host in this particular instance sends two SEQ bits, both with the value of 1.

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

      I dont think that ACK counts toward the sequence number

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

    This series is fantastic! It covered everything in exactly the detail I was hoping for. Thank you so much, Ben!

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

    This series is one of the best things I've seen on the internet in a long while

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

    woah cool!!
    one of the best networking tutorials that i have watched..
    anybody who is thinking whether to watch it or not to understand Networking, please do..
    Thank you Ben. please upload tutorials on some of the uncovered topics as well.

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

    hey Ben , don't you have plan on keeping this series going ? very well explained i wish there were more of these...

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

    Thanks for the tutorial. PLEASE do another.

  • @romanilnitsky4826
    @romanilnitsky4826 4 місяці тому +1

    Videos published 9 years ago, and relevant to this day. Awesome series!

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

    Those videos help me answer forgotten question when i was a child, like how computers can communicate so fast? I never thought that would be so interesting learn about it. Fascinated and glad for that material, thank you!!!!

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

    When the second ACK is sent (to the server), how does the client know it was received by the server? Who "establishes" the connection at that point?

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

      @@uzdik.student AFAIK... If the client does not receive an ACK, it indicates a packet loss.
      The packet has a sequence. Therefore, it easy to know whether there packet loss.
      One more thing: The TCP Flag that initiates a connection is SYN, not ACK.

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

    Well, I have to say, for a lazy person like me, it's amazing how I watched the entire playlist at one stretch even though I know nothing of computer science. Thank You for this. I was completely confused as to where to start. This gave me a pretty good view.

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

    This is really really really helped me a lot...!!
    Thanks a bunchh for your great explanation
    I'm really grateful to find a Internet Protocol tutorial, which is really hard to find...
    Please continue making videos to help those who really wants to learn.

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

    Thank you for this great playlist! Keep up the good work!

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

    Amazing play list! GG

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

    I've completed your playlist sir, How much.....How much......easier the lessons are! you've made it sir.
    Can you please and please produce more videos on NETWORKING?
    I've learned a lot, really a lot sir. How can I give more thanks to you!!!!!!!!!!!

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

    @Ben Eater Why 192.168.192.10 is sending FIN-ACK to 192.168.0.147 instead of sending FIN first then followed by ACK from client and again client sends FIN and server sends ACk back to client.

  • @nahruz.w3044
    @nahruz.w3044 2 місяці тому

    Does the Client send Seq Number 1, in ACK for Establishment?
    If I am correct, is the FIN bit suppose to send Seq Number 2?

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

    Thank you! Excellent tutorial!

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

    I have a question about Tcp receive window size
    i have this example from Wireshark :
    client A :syn, win=8192 , ws=4 ====>

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

    my wireshark capture doesn't have a separate fin/ack for each side, just one FIN,ACK from client and a final ACK from server

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

    I have been following your videos, and they are really a great learning sources. Thanks a log

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

    Just wanted to point out, that TCP (usually) doesn't work as "send packet, receive ack, send packet, receive ack", but more likely "send a bunch of packets, wait for ack". First case is simply too ineffective (in terms of a bandwidth).

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

    Dear Sir, I have watched almost every of your videos. I kindly request you to build a series on internet connection on the custom hardware like the 8 bit computer or the 6502 computer. I am currently building a 32 bit computer with vga output and a usb keyboard, mouse input. I am also planing to build an OS for it. From your kind subscriber. Thank you for your kind support.

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

    Great serie about Networkin!!! Thanks for shared your knowledges. You are an amazing communicator and teacher.

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

    why is it that connection end-points are addressing each other using 192.168.x.x addresses, but my public IP address starts with something completely different? don't incoming packets to me get addressed to my public IP address and not the one i use to identify my device on my LAN?

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

    Hi, great explanation of TCP. At 6:45 should the last ack from server side be ack 2 instead of seq 2?

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

    I struggle to understand the server IP... If I remember well « 192.x.x.x » is C class address so the default mask is 255.255.255.0, it would mean that the client and the server aren’t on the same network which is totally possible but weird as C class addresses are mainly if not exclusively used for local networks (as they provide only 256 addresses). They could be local addresses but Wireshark shows tcp requests, and they use public IPs, not private ones (as the rooter on the server side has a static rule to forward requests to the server application through it’s private IP and on the client side, the rooter creates the forwarding rule at the connection). Please tell me where I am wrong !

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

    -Oh, dear.
    -What is it?
    -I've spontaneously combusted.

  • @JohnsonGwendolyn-v2z
    @JohnsonGwendolyn-v2z 4 дні тому

    Thomas Gary Gonzalez Donald Lewis Betty

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

    Interesting that a lot of this stuff seems particularly arbitrary. Each piece of course exists to solve specific issues, however the solutions used are neither the simplest possible solution, nor the most efficient solution. TCP/IP seems to have won the internet due to a combination of being "good enough" to work for most applications, and maybe being picked by the right big players (companies & universities?) at the time.

  • @AdamGerald-s7s
    @AdamGerald-s7s 15 днів тому

    Rodriguez Anna Lopez Brenda Taylor Dorothy

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

    Correction: At 6:46 last ACK after FIN would be SeqNum 24 and AckNum 2

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

    Why should the Acknoledgement Number be increased by number of bytes within the last package?

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

    I really love the content you make, but could you maybe more mindful with your spectator's eyes when transitioning from a completely black screen to a completely white screen. It literally makes my head hurt A LOT! But thanks for the great content, I really appreciate it!

  • @CharlesWhite-v2o
    @CharlesWhite-v2o 17 днів тому

    Taylor Jason Martin Elizabeth Jackson Timothy

  • @PremKumar-ym3vh
    @PremKumar-ym3vh Рік тому

    I would feel guilty if i don't leave a thank you note for this awesome series!!!!!!! Thank you Ben.

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

    I may be wrong but I believe the client won’t be able to speak to the server since they are trying to communicating on different ports. Example ssh (port 22): doesn’t the client have to send out on port22 for the server to receive on port 22? Someone please correct me if I’m wrong.

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

    Please keep these things going, please!!

  • @yashpandey5914
    @yashpandey5914 3 місяці тому

    I just looked at the thumbnail and clicked asap, purely awesome

  • @MarionWilliams-m7x
    @MarionWilliams-m7x 26 днів тому

    Jones Steven Rodriguez Betty Martinez Daniel

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

    How did you interrogate the network routers (i.e. to obtain their routing tables)? I already knew quite a bit of this, but you taught me many details and straightened out a few false assumptions. I would also be interested in ISP gateway router setup for home or office.

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

    Ur series are awesome.
    Upload something of Networking related to prerequisite for ethical hac***g

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

    Thanks Ben. Please explain control-flow. how does a slow link will stop client from sending too many data. thank you

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

    I believe that the very last packet from the server should have Ack=2 instead of Seq=2 @6:48

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

    So many gems in this series. Thank you Ben!

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

    Nice, but you should use different numbers for the sequence # and the ack #. A bit confusing to follow.

  • @Sandra-z1c9e
    @Sandra-z1c9e 9 днів тому

    Johnson Elizabeth White Dorothy Jones David

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

    @ben the receiver only ack on how much byte it received, first example ack to 22, not 23.

  • @slashhashdash
    @slashhashdash 9 років тому

    "normally it starts with a random number, but in this case to make things simpler i'm gonna start with 0"
    0 is not a random number?
    0 is just as random as any other number!!!

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

    I saw networking playlist but in pc we set our ip ourself to eg 192.168.1.2 and whom which are trying to connect maybe set his ip to that, and for online games eg we should do portforwarding how that works?

  • @DonaldCooper-l6g
    @DonaldCooper-l6g 29 днів тому

    Miller Steven Young Steven Young Richard

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

    thank you so much for this concise highly informative Video ❤️

  • @FrancisLynn-o8z
    @FrancisLynn-o8z 24 дні тому

    Lopez Kenneth Jackson Mary Martinez George

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

    Very very good!!

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

    I would love to see more of this playlist!

  • @uzdik.student
    @uzdik.student 3 роки тому

    Video description: Want to see more? Leave a comment!
    My comment: DNS

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

    @sender and receivers maintain separate syn and ack numbers.. In the last example client sends fin bit with sequence #2 as it already sent sequence #1 in the handshake

  • @EdithJamie
    @EdithJamie 9 днів тому

    Garcia Donald Garcia Frank Thomas Anthony

  • @sophiabenson7845
    @sophiabenson7845 17 днів тому

    Miller Margaret Williams Cynthia Martinez Ronald

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

    Why does the ACK number increment by 1 when establishing a connection when there is no data sent?

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

      That was my thought, do you know the answer?

  • @EdgarDesantiago-x6x
    @EdgarDesantiago-x6x 13 днів тому

    Rodriguez Patricia Williams Amy Garcia William

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

    in the last step, the server should send ack #=2 instead of seg #=2 right?

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

    Worst part is even with the material of such quality i have to go trough it 10 times minimum to wrap my head around it

  • @حسنالشريف-ن5ح
    @حسنالشريف-ن5ح 3 місяці тому

    Can't imagine a video from 9 years ago is still super useful

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

    In the tcp diagram there is a Window segment, what is this Window segment for?

  • @brookeblomfield9799
    @brookeblomfield9799 15 днів тому

    Johnson Nancy Hernandez Sarah Anderson Scott

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

    i think the example of seq number and ack number is confusing

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

    Thanks...I don't get it. But I will one day!

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

    2:15 actually the protocol says that it takes whatever the seq # is and add 1 to it , that is the reason ack is set to 1 and not just any other number.

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

    server: i want to end this conversation
    client: i acknowledge that you want to end this conversation
    client: since i have acknowledged that you want to end this conversation, i also want to end it
    server: i acknowledge that you also want to end this conversation

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

    Such an informative playlist