Introduction to TCP/IP and Sockets, part 1: Introducing the protocols and API

Поделиться
HTML-код
  • Опубликовано: 5 фев 2025

Комментарии • 97

  • @AnantaAkash.Podder
    @AnantaAkash.Podder 10 месяцев назад +4

    By far the BEST Explanation about SOCKET... Everyone is just saying Socket is just Ip address+port... But it is very Ambiguous... You just Explained it very well... Socket is nothing but An API... Through which my Web Application Code talks to Kernel & thus tells kernel to do some stuffs with all the Protocols...
    Thank you very Much Sir...❤️❤️❤️

  • @trenholmelodge1820
    @trenholmelodge1820 11 месяцев назад

    Just amazing. How come he is so clear and easy to understand..Others should follow his technique.

  • @tabeebrahman4843
    @tabeebrahman4843 3 года назад +22

    this video was amazing. the explanations are clear and has given me the most perspective when it comes to the socket programming. most of the other videos out there assume the viewer has much more knowledge then what your video does, its almost like psuedo code for socket protocols, super understandable and fairly comprehensive.

  • @2NormalHuman
    @2NormalHuman 2 года назад

    this is the best explanation of computer networks that i could find on youtube, thank you for your work

  • @ali51717
    @ali51717 4 года назад +8

    As a game developer concerned mostly with cpp. this is a fantastic video and I am very glad I found your channel.
    I just want to say special thanks for the time you put into those videos, the production quality, slides, and animations, I know they take way more time than the recording itself, so allow me again to say thanks.

    • @rhymu
      @rhymu  4 года назад +3

      Thank you so much! I enjoy making these videos, and just wish I had more time to spend on them.

    • @ali51717
      @ali51717 4 года назад +1

      @@rhymu
      I couldn't follow the second video, ( I am completely new to network programming and I Just saw your video, and I understand now how to TCP works but I felt the next part was little advanced to me,
      May i Know any good resources you think that will enable me to understand the next part? I am already reading through the rfc you mentioned and it all looks good.

    • @rhymu
      @rhymu  4 года назад +1

      @@ali51717 I fear that I made the difficulty ramp too steep between these two videos. I should have made a video in between that perhaps gets a little into the code but not so advanced. Thank you for the feedback!
      I think if you feel ready for it, either the POSIX threads or WinSock documentation pages would be good to guide you towards the programming aspect. A good starting point might be here: docs.microsoft.com/en-us/windows/win32/winsock/getting-started-with-winsock

    • @ali51717
      @ali51717 4 года назад

      @@rhymu I am very thankful for your reply.
      I will check those right away thanks!

  • @devpriysahu2223
    @devpriysahu2223 10 месяцев назад

    Really great, Knowing and teaching are 2 difficult art and you mastered both.

  • @reverse_shell
    @reverse_shell 4 года назад +22

    Rhymu, absolutely loved the video! The diagrams aren't so scary once you've explained them. I am heading to the second video now! :D

    • @rhymu
      @rhymu  4 года назад +2

      I'm glad you liked it!

  • @jahoopyjaheepu497
    @jahoopyjaheepu497 3 года назад +1

    Best networking video on RUclips. Thank you for creating this series.

  • @rodrigocastilla3375
    @rodrigocastilla3375 3 года назад

    By faaaaaaaaaaaaa ... aaaaaaaar the best explanation I have ever found on RUclips. Thanks, congratulations and reapsect 🤜🤛

  • @hfe1833
    @hfe1833 3 года назад

    This video almost summarize the details I read in some books into clear and details video. Thank u

  • @etha909
    @etha909 4 года назад +2

    Was watching your videos on learning Rust when I saw this introduction.
    Extremely well presented!

    • @rhymu
      @rhymu  4 года назад

      I'm glad you enjoyed it! :D

  • @mikemcgrath579
    @mikemcgrath579 3 года назад

    This was a legendarily well articulated explanation. Thank you for donating your time to make this.

    • @rhymu
      @rhymu  3 года назад

      Glad you enjoyed it!

  • @wheretimehasnovalue9343
    @wheretimehasnovalue9343 10 дней назад

    yep, excellent teaching skills. you made me understand this comms structure well.
    aside: maybe interlace with a parallel screen showing a live working example

  • @harryjohnsonperu724
    @harryjohnsonperu724 4 года назад +1

    Fantastically explained. Its been so long since i have learned all this in University. This was a nice refresher. Thank you

  • @idamjelde2776
    @idamjelde2776 3 года назад +2

    This is good! And I like that you have the sections with titles, so that it is easier to jump back and forth in the video to find what you want. Great work!

  • @goldomcsas1464
    @goldomcsas1464 3 года назад

    Amazing, video. Thanks. You are a very concise and clear teacher. You are very good at not bogging down the technical info with too much technical grammar; congrats!

  • @RxRip01
    @RxRip01 4 года назад

    Thank you for providing this as I am trying to learn and create my own web server from scratch. I wish RUclips algorithm will pick up your channel more as you provide quality content every time. Just subscribed too.

  • @shubhankaringale278
    @shubhankaringale278 3 года назад

    I never thought it was, that easy to understand. Thanks a lot.

  • @cynthiali4606
    @cynthiali4606 2 года назад +1

    Thanks for making this so easy to understand! I've been looking for videos to help me with work in this area for the past couple of days and this is by far the best one. :)

  • @muhammadadam0
    @muhammadadam0 4 года назад

    Loved the video. Thanks for your time and effort. Sharing the slides is very appreciated.

  • @tourdesource
    @tourdesource 2 года назад

    This video has helped me enormously. Thank you so much.

  • @syasyanik855
    @syasyanik855 4 года назад +1

    Thank you for your video. Really clear explanations and entertaining to learn!

    • @rhymu
      @rhymu  4 года назад

      I'm glad you enjoyed it! :D

  • @engineering1year734
    @engineering1year734 3 года назад

    Really awesome video. All these concepts now makes sense to me. Thanks for quality content.

  • @7race725
    @7race725 3 года назад

    I am a beginner in embedded systems and not sure that web-programming will be applicable on my job. I've decided to familiarize a little with such stuff like TCP/IP and obtained nothing but a mess in my head. Your videos are really clear and now i see a difference between TCP and IP, lol. In fact, that topic seems to be interesting for me. Thank you very much.

  • @UnitedIngvar
    @UnitedIngvar 2 года назад

    Thank you for your amazing video! The explanation is perfect, everything is so well-covered. Love it!

  • @samdaou2082
    @samdaou2082 3 года назад

    Awesome Video, really helpful explanations to go along with some initially scary diagrams. Appreciate the help. :)

  • @oshinwane6902
    @oshinwane6902 3 года назад

    very well explained although i suggest watching other videos too since this one completes the journey !

  • @AbidAhsan-yp4dc
    @AbidAhsan-yp4dc 4 года назад

    Man... you have just summarized stuffs I learned in two networking courses.. hats off... will you continue the series?

    • @rhymu
      @rhymu  4 года назад +1

      I'm glad you liked it! I'm considering making another video exploring some common techniques for constructing and parsing messages sent across the network: JSON, protocol buffers, and serialization techniques in general.
      If there is some aspect of networking you would like me to consider for a future video, please let me know!

  • @meow-iskander
    @meow-iskander 9 месяцев назад

    Will you update the playlist, one day? Your teaching is pretty good

  • @halilibrahimgungor364
    @halilibrahimgungor364 3 года назад

    Awesome an overview for this topic! Thanks.

  • @ankitrathore3946
    @ankitrathore3946 3 года назад

    Now that’s quality content

  • @bhavana6217
    @bhavana6217 3 года назад +1

    Hey! This video has helped me a lot to learn the basics! I can't thank you enough :')

  • @timurakhalaya6289
    @timurakhalaya6289 3 года назад

    Greatest explanation there is ! 🚀👍

  • @adelabdellatif
    @adelabdellatif 3 года назад

    Perfect, That was quite good and detailed enough...Thanks.

  • @mochileiro17
    @mochileiro17 3 года назад

    Great video! Clutter-free, easy to understand and follow! Love it

  • @shawnl1155
    @shawnl1155 3 года назад

    You're a really good teacher. Wish I got this quality from my university.

  • @hussainigoattv9222
    @hussainigoattv9222 4 года назад +1

    Man you are a hero! please make web development tutorials on nodeJS

    • @rhymu
      @rhymu  4 года назад +3

      I'll let you in on a secret, just don't tell anyone else. :D I know almost nothing about NodeJS! I would be glad to make web development tutorials on NodeJS. However, I will need to study it myself, first.
      In the mean time, may I refer you to my guru for web development? Check out Chris Griffing and his Twitch stream, where he often demonstrates web development live: twitch.tv/cmgriffing -- He probably can recommend several NodeJS learning resources. In the past, he has already recommended this site which covers web development in general, and has a lot of other learning resources as well: freecodecamp.org/

    • @hussainigoattv9222
      @hussainigoattv9222 4 года назад

      @@rhymu I will be waiting. Thanks very much :)

  • @lesterballesteros2924
    @lesterballesteros2924 4 года назад

    Keep making videos this is really helpful, i hope you get more recognition!

  • @itvrlogic5600
    @itvrlogic5600 Год назад

    Great explanation, thanks

  • @darkknight0258
    @darkknight0258 2 года назад

    this is the fastest channel that I clicked subscribe, lol the this small packets joke

  • @mateusztyc1667
    @mateusztyc1667 10 месяцев назад

    Love this, thank you!

  • @chenxu6931
    @chenxu6931 4 года назад

    Thanks for making this video, great explanation!

  • @matsredman7640
    @matsredman7640 3 года назад

    Super good! Thanks!

  • @sergiim5601
    @sergiim5601 3 года назад

    Very nice explanation! I miss your twitch streams though (:

    • @rhymu
      @rhymu  3 года назад

      Twitch streams starting back up December 1st for Advent of Code 2021!

  • @shrutiyn962
    @shrutiyn962 3 года назад +1

    hey great video! had a few questions:
    1. You mentioned that sockets are like access point to access the protocol stack, what do you mean by that? why should there be an access point? Whats the need for an access point?
    2. Why do we need sockets? if the packet gets the destination IP(from network layer) and the destination port number (from the transport layer) then why do i need sockets in UDP? The packets go through the network and gets routed to the destination right? I understand we need sockets in TCP because its connection oriented and so to establish the connection we need sockets but why in UDP? please correct me if I'm wrong here.
    I'm having a hard time understanding the concept of sockets and its need. HELP!

    • @rhymu
      @rhymu  3 года назад +1

      1. What I mean by access point is a handle or object that an application uses in conjunction with the operating system APIs to send and receive data through a network interface. Think of a socket as analogous to a file handle.
      2. You need sockets because a socket is the interface between the application and the operating system for exchanging network packets. Think from the operating system's perspective: "I just got this packet from google.com; which application should I deliver it to?" The answer is the operating system keeps a table of sockets, where each socket is "bound" to a protocol, local address and port number, and is associated with one of the many applications that are running on the host. The operating system inspects the packet to find the protocol, local address and port number, and looks up which socket in its table that maps to. If it finds one, it delivers the packet to the application associated with it. Just like a file or a mailbox. It doesn't matter if it's connection-oriented or packet-oriented. It's about the addressing and binding.

    • @shrutiyn962
      @shrutiyn962 3 года назад +1

      @@rhymu ah! That makes sense.. thanks so much! :)

  • @Felix-wh8pz
    @Felix-wh8pz 2 месяца назад

    so knowledgeable

  • @webdeveloperninja9220
    @webdeveloperninja9220 2 года назад

    Helped me fix a bug on a microcontroller thanks

  • @thejunglecarrot
    @thejunglecarrot 4 года назад

    Great video, thanks so much!

  • @pengperry7236
    @pengperry7236 3 года назад

    helped a lot,thank you so much

  • @hammerheadlemon
    @hammerheadlemon 4 года назад +1

    Great. Thank you.

    • @rhymu
      @rhymu  4 года назад +1

      You are welcome!

  • @frankcasanova2132
    @frankcasanova2132 2 месяца назад

    Since I saw the thumbnail, I knew I had to click on it.

  • @kennylee6499
    @kennylee6499 4 года назад +1

    This was a great video! I’m new to cpp and am interested in learning more about server development in the context of game servers/dev. Do you have any tips/advice on how to go about this? I’m definitely going to check out more of your channel too!

    • @rhymu
      @rhymu  4 года назад +6

      This is a very challenging area to study, with many parts to consider. Games can be very demanding when it comes to server requirements; players want low-latency as well as high availability, and games have a rather unique challenge other kinds of servers don't have: keeping the games fair by preventing players from cheating.
      I'm by no means an expert; I recommend the blogs and presentations made by experts in the field, such as this one about client-side game architecture: www.gabrielgambetta.com/client-server-game-architecture.html
      If you prefer RUclips content, check out videos such as this one, made by the creators of "Rocket League", which covers some of the challenges and solutions they came up with for the networking aspects of their game: ruclips.net/video/ueEmiDM94IE/видео.html

  • @kdjdjsj3645
    @kdjdjsj3645 3 года назад

    no offense to other IT channels but their presentation and microphones betray their expertise lol. your video is well made and v easy to follow, great stuff

  • @alisadm
    @alisadm 3 года назад

    Is the Header Checksum the same as the Frame Check Sequence?

    • @rhymu
      @rhymu  3 года назад +1

      Yes, the header checksum is specifically the frame check sequence used for these protocols. (Frame Check Sequence being a general term and in the case of TCP/IP the implementation of it is the header checksum).

    • @alisadm
      @alisadm 3 года назад

      @@rhymu Thanks! ❤

  • @klr607
    @klr607 2 года назад

    Nice video. TY

  • @dark_red_blood
    @dark_red_blood Год назад

    Thanks man

  • @PaulDiracTWR
    @PaulDiracTWR 4 года назад

    Thank you for this.

  • @kentmiggalen9756
    @kentmiggalen9756 3 года назад

    nice Tutorial Gilfoyle

  • @toragodzen
    @toragodzen 2 года назад

    👍thanks🤘

  • @kevinhawekotte4432
    @kevinhawekotte4432 3 года назад

    Thank you!

  • @samuelkatz2463
    @samuelkatz2463 3 года назад

    bravo!

  • @trungthanhbp
    @trungthanhbp 4 года назад

    Please make more video like this, for education purpose ^^ video in stream is quite long, ~3hour/video

  • @user-kw3tv5ij1j
    @user-kw3tv5ij1j 3 года назад

    The video is excellent but a pop filter would improve the audio quality a lot.

    • @rhymu
      @rhymu  3 года назад

      Thanks for the suggestion. It's been on my list of setup improvements for a while, along with a better microphone.

  • @mirazh8216
    @mirazh8216 4 года назад

    thanks

  • @youssefamrkadry
    @youssefamrkadry 3 года назад

    I love you

  • @KangJangkrik
    @KangJangkrik 3 года назад

    Interestingly, I got a lot of trouble while using Python rather than C in term of TCP

  • @615rip2
    @615rip2 2 года назад

    OH my god!!!!!!!!!!!!!!!!!!

  • @zes3813
    @zes3813 3 года назад

    wrg, soundx doesnt matter, no such thing as yellx etc or not

    • @rhymu
      @rhymu  3 года назад

      true, the wolf sees the gtb and then the yellx no longer exists or maybe it does... wait what are we talking about?

  • @jianliangge2174
    @jianliangge2174 4 года назад

    Like

  • @Undefined-Shade
    @Undefined-Shade 2 года назад

    Watch in 2x thank me later..

  • @samucancld
    @samucancld 2 года назад

    Great explanation except for the awful SM

  • @Crce-vv6pm
    @Crce-vv6pm 4 года назад

    Great Video, Thanks!

  • @zaur66
    @zaur66 3 года назад

    Thank you !

    • @rhymu
      @rhymu  3 года назад

      You're welcome!