Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: How to start with network programming?
4 points by rochak on May 27, 2017 | hide | past | favorite | 4 comments
I want to know the best sequence of steps for learning network programming. I have done a lot of programming but none of it seems to help me get a better understanding of how networking works. Sure, I have read a lot of books for that but they don't provide a practical and more pragmatic approach to learning networking. Also, what language would be best suited for this task? I am well versed in C++, Java and Python, have also done some web development in Django and Spring


So as far as I can understand , your goal is to understand how networks work. If that is correct, then instead of jumping straight to socket programming get a basic overview of networks through books by Andrew S Tenenbaum or by Jeff Doyle ( TCP/IP). Set up a lab using tools such as eve-ng and look at how routers work. Use wireshark to capture packets and get into the habit of analysing them . This iwll give you a look at protocol headers . You may not get an ASIC level of understanding of packet forwarding but I don't think you really need that since most manufactures do it differently.


I have already been through the book by Forouzan. It was incredible. I'll follow your advice to get a better at analysing packets and protocols


I somewhat agree with him. I would, however, jump right into making something you would find interesting as soon as you have a basic understanding of what makes up a packet, the TCP/UDP protocols, and how sockets work, such as an IRC chat clone, a simple networked game, a reusable self auto-updating library, and so on. I would recommend creating something that you'll actually use or remain interested in to stay motivated.

I find I do most of my learning while trying to research my way around a stumbling blocks, but of course it always helps to read/research things beforehand as well.





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: