TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: Good book to learn modern networking?

326 点作者 charliebwrites超过 1 年前
I&#x27;m looking for a book to get up to speed on networking in 2024<p>Including classical topics from sockets, to the TCP&#x2F;IP stack, to DNS, to AnyCast, and similar layers and technologys, but also modern networking setups that might include cloud providers, or other 2024-ish considerations

40 条评论

teleforce超过 1 年前
For me Computer Networking: A Top Down Approach (CNTDA) by Kurose is still the best textbook out there to learn modern networking:<p><a href="https:&#x2F;&#x2F;gaia.cs.umass.edu&#x2F;kurose_ross&#x2F;index.php" rel="nofollow">https:&#x2F;&#x2F;gaia.cs.umass.edu&#x2F;kurose_ross&#x2F;index.php</a><p>Starting with the 6th edition, it has separated control and forwarding planes for the network layer to reflect the increasing popularity of software-defined networking (SDN) i.e. evolution of hardware centric to software centric networking. The fact that even before 6th edition when the chapter on networking is still monolithic (combined chapter on control and forwarding), it has already mentioned about the separation concerns between the control and forwarding planes while other popular textbooks still not highlighting this important matter. In addition, unlike many textbooks you can download all the supporting materials slides, exercises, animation, etc, of the from the authors&#x27; public website and Prof. Kurose video lectures are also available in Youtube.<p>My main wish lists for the next edition (9th) hopefully include Smart-NIC for modern approach to in-network computation and also the newly standardized segment routing for network layer QoS.<p>If there&#x27;s The Nobel Prize in Literature for textbook authors, the authors of this book should be more than deserving.
评论 #38936764 未加载
评论 #38942458 未加载
评论 #38934163 未加载
评论 #38940840 未加载
评论 #38952262 未加载
genmud超过 1 年前
I&#x27;m still a fan of TCP&#x2F;IP illustrated (book 1) [1] for understanding the fundamentals. The one from No Starch Press [2] is also a great book.<p>Personally, I think if you understand the fundamentals, you will quickly realize things like software defined networks and CDN technologies are just abstractions on top of other stuff.<p>[1] - <a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;TCP-Illustrated-Protocols-Addison-Wesley-Professional-dp-0321336313&#x2F;dp&#x2F;0321336313&#x2F;ref=dp_ob_title_bk" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;TCP-Illustrated-Protocols-Addison-Wes...</a><p>[2] - <a href="https:&#x2F;&#x2F;nostarch.com&#x2F;tcpip.htm" rel="nofollow">https:&#x2F;&#x2F;nostarch.com&#x2F;tcpip.htm</a>
评论 #38941736 未加载
评论 #38926624 未加载
评论 #38941586 未加载
评论 #38936419 未加载
hazz99超过 1 年前
Once you&#x27;re past the fundamentals, if find yourself interested in high-performance networking, I recommend looking into userspace networking and NIC device drivers. The Intel 82599ES has a freely available (and readable!) data sheet, DPDK has a great book, fd.io has published absolutely insane benchmarks, ixy [1] has a wonderful paper and repo. It&#x27;s a great way to go beyond the basics of networking and CPU performance. It&#x27;s even more approachable today with XDP – you don&#x27;t need to write device-specific code.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;emmericp&#x2F;ixy">https:&#x2F;&#x2F;github.com&#x2F;emmericp&#x2F;ixy</a>
评论 #38940148 未加载
beeburrt超过 1 年前
I’ve been using <a href="http:&#x2F;&#x2F;gaia.cs.umass.edu&#x2F;kurose_ross&#x2F;online_lectures.htm" rel="nofollow">http:&#x2F;&#x2F;gaia.cs.umass.edu&#x2F;kurose_ross&#x2F;online_lectures.htm</a> which is a course by authors of Computer Networking: A Top-Down Approach
评论 #38923548 未加载
评论 #38924321 未加载
dogman144超过 1 年前
A good progression I think is these books in order and 2 labs:<p>- Kurose, Computer Networks a top down approach<p>- tcp&#x2F;ip illustrated volume 1<p>- the no starch tcp&#x2F;ip book<p>For labs,<p>- at your workplace or homelab, I’d click through the network configs in your cloud. This hits maybe on “modern networking,” although the theories in the books will match to what you see in cloud just maybe with cloud product names. Reading through terraform repos is also good<p>- GNS3 lab software to build networks you read about in those books.<p>Or tbh, just doing a net+ cert would get you in a good place for basic competency to augment a dev job.<p>Top of mind - there is a logic to it and it’s quite interesting technology. Learn to thing in terms of protocols and their rules and it’ll open up.
Shane325超过 1 年前
High-Performance Browser Networking: <a href="https:&#x2F;&#x2F;hpbn.co&#x2F;" rel="nofollow">https:&#x2F;&#x2F;hpbn.co&#x2F;</a>
评论 #38936638 未加载
评论 #38939750 未加载
austin-cheney超过 1 年前
<a href="https:&#x2F;&#x2F;www.ciscopress.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.ciscopress.com&#x2F;</a><p>That is generally considered the gold standard for professional network education.<p>Yes, it’s networking according to Cisco and in some cases they do try to push some of their products as commercial solutions. However, the proprietary stuff is clearly identified by Cisco intentionally in the educational materials because the goal is education first even if you favor a competitor’s products. Cisco makes money on their educational materials and certifications so they can afford to separate their tiny bits of proprietary stuff from the education as necessary to build a strong professional labor force ready to consume their products years in the future.
ajoseps超过 1 年前
for classic network programming that&#x27;s relatively hands on and has a lot of examples, beej&#x27;s guide to network programming is great (and free online):<p><a href="https:&#x2F;&#x2F;beej.us&#x2F;guide&#x2F;bgnet&#x2F;" rel="nofollow">https:&#x2F;&#x2F;beej.us&#x2F;guide&#x2F;bgnet&#x2F;</a>
thesurlydev超过 1 年前
Julia Evans has some good zines as a starting point and does a great job of distilling complexity and making topics like this approachable to newcomers. [1]<p>I&#x27;d also recommend &quot;Network Basics for Hackers&quot; by OccupytheWeb [2]<p>[1] <a href="https:&#x2F;&#x2F;wizardzines.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;wizardzines.com&#x2F;</a><p>[2] <a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;gp&#x2F;product&#x2F;B0BS3GZ1R9" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;gp&#x2F;product&#x2F;B0BS3GZ1R9</a>
mwn超过 1 年前
I use Computer Networking: A Top Down Approach for my classes on computer networks and distributed systems and on a theoretical level its a good read. My students appreciate the visual presentations. Modern networking setups depend a lot on the area of scope. Do you want to understand IP networks, tier-1 internet backbone, mobile networks, private networks, data center architecture, distributed web applications, etc.
sciencesama超过 1 年前
there are a lot of things that are at play here, networking has been a commoditised and defragmented place even now, there is a tug of war that is always happening between companies who want to commoditise like cisco and junipers who emphasise a lot on the hardware and less on software, there is no proper gui for cisco or juniper products till now. and there is linux networking with tun and tap. one good book is to look at automation of networking (Network Programmability and Automation: Skills for the Next-Generation Network Engineer) which does a good job on the history and is a latest book which goes over a wide variety of places where networking can change. if you delve into kubernetes and virtual networking it is a beast on its own !! so for modern networking just do a lab and do a packet capture and you are good to go ! learning basics gets you no where ! it is like reading how alphabets are formed but never gets you write a poem, use chatgpt when you have a doubt and move on to next topic. topics you need to look at are ipaddressing, bgp, vxlan, iptables thats it !
aos超过 1 年前
When I was going through this, I found it helpful to re-implement stuff in code as I was learning. I compiled resources on it in this repo for my own benefit: <a href="https:&#x2F;&#x2F;github.com&#x2F;aos&#x2F;computer-networking-study">https:&#x2F;&#x2F;github.com&#x2F;aos&#x2F;computer-networking-study</a>
ary超过 1 年前
Adding to the already good recommendations on this thread:<p>- Interconnections: Bridges, Routers, Switches, and Internetworking Protocols (<a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;Interconnections-Bridges-Switches-Internetworking-Protocols&#x2F;dp&#x2F;0201634481&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;Interconnections-Bridges-Switches-Int...</a>)<p>It covers a broader range of topics than some of the other books mentioned here and helps with an understanding of where existing tech comes from and why. Also it covers topics that you don&#x27;t necessarily need to know if you&#x27;re only operating in a cloud environment, but that help to understand what is going on in those far off data centers.
评论 #38941389 未加载
nailer超过 1 年前
You (and everyone else on HN) want The Illustrated Network.<p><a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;Illustrated-Network-How-Works-Modern&#x2F;dp&#x2F;0128110279" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;Illustrated-Network-How-Works-Modern&#x2F;...</a><p>The previous best book was TCPIP Illustrated. The author of Illustrated Network was a fan of TCPIP Illustrated and wrote their book as a modern equivalent.<p>Excerpt:<p><a href="https:&#x2F;&#x2F;wgoralski.com&#x2F;&#x2F;wp-content&#x2F;uploads&#x2F;2021&#x2F;02&#x2F;Illustrated-Network-2nd-edition-Chapter-4.pdf" rel="nofollow">https:&#x2F;&#x2F;wgoralski.com&#x2F;&#x2F;wp-content&#x2F;uploads&#x2F;2021&#x2F;02&#x2F;Illustrate...</a>
purpleblue超过 1 年前
#1 is buy yourself a hub, NOT a switch. Consider understanding the difference between a hub vs a switch an important part of your initial networking education. Then learn how to sniff traffic, using things like WireShark, etc. You will learn a lot by watching all the traffic go back and forth, and then reference TCP&#x2F;IP illustrated to understand the gist. Set up an HTTP server on a server, and then add a new computer to the network and then watch ARP, DNS, etc work their magic.
评论 #38938033 未加载
评论 #38936810 未加载
评论 #38939218 未加载
评论 #38979877 未加载
zdw超过 1 年前
<a href="https:&#x2F;&#x2F;systemsapproach.org&#x2F;books&#x2F;" rel="nofollow">https:&#x2F;&#x2F;systemsapproach.org&#x2F;books&#x2F;</a><p>Bruce and Larry&#x27;s 6th edition of Computer Networking: A Systems Approach is free to read online, or you can buy a copy. Both have a long list of achievements in the networking space.<p>Recently they&#x27;ve been publishing smaller more focused books on many topics.<p>(full disclosure, I helped write the Edge Cloud OPs one)
评论 #38942287 未加载
ayewo超过 1 年前
<i>Patterns of Network Architecture</i> by John Day is a pretty good too if you want to learn the why of how networks are the way they are today.
rramadass超过 1 年前
This might be what you are looking for;<p><i>The Illustrated Network: How TCP&#x2F;IP Works in a Modern Network</i> by Walter Goralski.<p>Take a good look at the ToC, covers a lot of different aspects of a &quot;Modern Network&quot;. Start with this and then follow up with other detailed books some of which are mentioned in my other comment in this thread.
corethree超过 1 年前
Are there any books or resources to learn troubleshooting, debugging with linux networking. Like I can read the books and know the theory, but deploying the theory in reality needs a lot of intuition that can only be gained through experience.<p>That&#x27;s what all the training materials are missing. I want to fast track this section with practical practice problems.
评论 #38936678 未加载
评论 #38938214 未加载
The_Colonel超过 1 年前
I&#x27;ve tried in the past to read some books on the topic but failed. Too much theory, too little practice.<p>Is there some gamified course? Perhaps literally a game? I remember playing a game where you build your CPU with NANDs, is there something like that for networking maybe?
评论 #38942716 未加载
评论 #38941178 未加载
megraf超过 1 年前
Network hobbyist here: an excellent home project is to setup your own PBX. Complete with VLAN&#x27;s, and backups running on your favorite HV. Most importantly, use hard phones with SCCP.<p>It&#x27;s a challenge of itself, and will force you to demonstrate your understanding
NukedOne超过 1 年前
When it comes to the networking theory, you can&#x27;t go wrong with Andy Tanenbaum&#x27;s book.
scrps超过 1 年前
It doesn&#x27;t qualify as a book but reading RFCs has always been my go to if I want to understand a protocol albeit RFCs can be a bit... Dry.<p><a href="https:&#x2F;&#x2F;www.rfc-editor.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.rfc-editor.org&#x2F;</a>
emmanueloga_超过 1 年前
How about <a href="https:&#x2F;&#x2F;zguide.zeromq.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;zguide.zeromq.org&#x2F;</a> ? I have seen people recommend this dearly but I haven&#x27;t had a chance to read it yet.
redleader55超过 1 年前
It&#x27;s not exactly what you asked for, but if you&#x27;re interested in the low level, algorithmic part, I recommend &quot;Network Routing: Algorithms, Protocols, and Architectures&quot;.
p1esk超过 1 年前
Classical topics haven&#x27;t changed, just work through the Stevens book again to refresh your memory. For &quot;modern&quot; topics you have to be more specific - what exactly do you want to know?
chrisweekly超过 1 年前
High-Performance Browser Networking -- <a href="https:&#x2F;&#x2F;hpbn.co" rel="nofollow">https:&#x2F;&#x2F;hpbn.co</a> -- is a great book and website.
mindcrime超过 1 年前
I don&#x27;t really have any book recommendations for you (shocking, I know!) but I&#x27;ll just offer this up by way of encouragement. I think what you&#x27;re proposing to do is a great idea, and I wholeheartedly endorse having everyone (at least everyone in &quot;the tech industry&quot; or even tangential to it) learn at least the basics of networking.<p>To illustrate why I say this, let me give you some back story. In the late 1990&#x27;s (98 or thereabouts) I was working in IT, but not as a programmer. I still had not finished my C.S. degree, and I wasn&#x27;t applying for any programming jobs because at that time I thought no one would hire me without a degree. (as an aside, I quickly found out how wrong I was when I actually started applying for programming jobs in late 1999 &#x2F; early 2000, but that&#x27;s a story for another day). Anyway, I was doing a combination of network administration (Novell Netware 4 t3h win!), desktop support, and AS&#x2F;400 operations. Since networking was part of my job, and networks fundamentally fascinated me, I spend a decent amount of time reading books on TCP&#x2F;IP, Ethernet, socket programming, etc. Including the classics like <i>TCP&#x2F;IP Illustrated</i> and <i>Internetworking with TCP&#x2F;IP</i> (there&#x27;s some book recommendation after all, hah!) and eventually studied for, and passed, the Network+ certification test in late 1999.<p>Shortly after that I got my first programming job and left all that networking engineering stuff behind. And I don&#x27;t miss it, especially getting fiberglass crap all over my hands and arms while pulling ethernet cable through drop ceilings, etc. But anyway, the point is.. over the past 23 some odd years, the networking knowledge I acquired has been ridiculously valuable to me, and that value just seems to keep growing. I mean, the joke is &quot;every system is a distributed system now&quot; and that&#x27;s actually close to true and not a joke in many cases. Nearly everything we build now involves a networking element. And when the network is broken, the system is broken. And guess what? The network breaks. A lot[1]. And knowing just enough to debug things like DNS resolution problems and what-not goes a long way.<p>My current day-job has me doing a lot of work with AKS and Istio on Azure, and one of my &quot;specialities&quot; if you want to call it that, is ingress. I spend a lot of time helping teams get things set up so that traffic comes in and hits their Istio ingress gateway, whether that be by integrating with Azure App Gateway, API-M, IBM API-C, or whatever. And it&#x27;s once every couple of weeks or so that I just blow somebody away with my genius (hah, haha) by doing something like editing my hosts file to selectively override a DNS value so I can test by short-cutting straight to the ingress load balancer and bypass some upstream component, or something similar. Whipping out &quot;dig&quot; just has them rolling in the floor. And using netstat, netcat, etc? It&#x27;s like I&#x27;m doing black magic or something.<p>The moral of this little story is that having even a fairly rudimentary knowledge of networking can go a long way. And as networks have become more and more fundamental to everything in computing, that&#x27;s only become more true in my experience. So yeah, I highly recommend spending some time on this topic, regardless of which resources you choose to study.<p>[1]: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Fallacies_of_distributed_computing#The_fallacies" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Fallacies_of_distributed_compu...</a>
评论 #38936658 未加载
评论 #38939817 未加载
say_it_as_it_is超过 1 年前
Can anyone here comment about their experiences using ChatGPT to learn networking concepts? Are the responses accurate?
jonesdc超过 1 年前
Would you all have any book (or YouTube) suggestions for an absolute beginner to learn from?
评论 #38942113 未加载
SushiHippie超过 1 年前
Tangential, does anyone have recommendations for understanding OSI Layer 1 and network cards?
评论 #38947006 未加载
评论 #38939782 未加载
cvhashim04超过 1 年前
Going through Hussein Nasser course right now, which is a good guide for noobs like myself.
Unfrozen0688超过 1 年前
CCNA books<p>I had classes using those.<p>Not a programmer.<p>Guess u dont learn CCNA in CS degree?
评论 #38940717 未加载
krick超过 1 年前
It doesn&#x27;t cover everything, but I liked &quot;High Performance Browser Networking&quot; by Ilya Grigorik. It was very straightforward, and focused on what&#x27;s relevant today in the browser. However, that &quot;today&quot; was 11 years ago already (huh, time flies) and didn&#x27;t cover what&#x27;s relevant in 2024, like practical issues of dealing with CDN. Also, it really was browser-focused, so there wasn&#x27;t anything on how VPNs work and such.
sgt超过 1 年前
W.Richards
smashed超过 1 年前
Good on you for wanting to learn about it.<p>Two things strike me as odd about networking compared to many other IT&#x2F;software fields:<p>First, it evolves much, much slower than anything else. Everything I learned 2 or even 3 decades ago is still relevant. Ethernet, DNS, DHCP, TCP&#x2F;IP. New things got bolted on but everything old is still relevant. Yes, even in the modern cloud.<p>Second, I&#x27;ve met so few in the fields that actually understand anything about networking. Even as basic as an ip address and subnet. As long as the web page loads and the data is flowing, people stop caring fast. When the network breaks, most software devs are stomped and can&#x27;t even do the most basic troubleshooting.<p>My only recommendation is to start with the absolute basic and learn from first principles. Ethernet, IPv4 (packets, IP addresses, subnets, routes), UDP, DHCP, DNS, TCP, HTTP, tunnels and VPNs, in that order. Use wireshark along the way and research everything that is unclear before going up the stack.<p>Try to run your own router&#x2F;firewall using openwrt or pfsense&#x2F;opnsense.
评论 #38922137 未加载
评论 #38940049 未加载
评论 #38941028 未加载
评论 #38936324 未加载
评论 #38926804 未加载
teeray超过 1 年前
Books are good, but don’t underestimate the power of overcomplicated home networking as a teaching project. Pick up some gear and VLAN your network so all the IoT stuff is on its own network away from your protected devices (also make it so IoT devices can only talk to the WAN). Set up a guest network. Make it so you and guests can stream to your streaming devices but guests can’t ping your protected devices (this one is a whoooole thing involving MDNS and reflectors). Set up a site-to-site Wireguard VPN with a cloud VNet (try it without using Tailscale first). Set up a Pi-Hole, then DNAT all DNS traffic to it. Come up with a fun naming scheme for your machines (mine are all ships from The Expanse). Set up DNS nicely so you never have to remember IPs. Anyway, those are just some ideas that come to mind.
评论 #38936616 未加载
评论 #38940709 未加载
评论 #38940007 未加载
评论 #38941600 未加载
评论 #38941421 未加载
usrbinenv超过 1 年前
&quot;Networking for Systems Administrators&quot; by Michael W. Lucas.<p>In retrospect, should&#x27;ve been called &quot;Networking for programmers&quot;. Short. Concise. Examples for all operating systems including Windows. That will get you started. After that, to level-up, any book with good ratings would do. And you will also know which part of the networking stack you want to learn more about, thus, you&#x27;d pick the correct book for yourself. But this one is a must have if you&#x27;re feeling very uncertain about your understanding of networking concepts and how everything glues together.
评论 #38939676 未加载
评论 #38936130 未加载
评论 #38941827 未加载
rramadass超过 1 年前
There is tons to study here but you have to get your fundamentals right else you will completely get overwhelmed&#x2F;confused by the cacophony of jargon&#x2F;acronyms&#x2F;devices. The following lay the foundations;<p>1. <i>An Engineering Approach to Computer Networking : ATM Networks, the Internet, and the Telephone Network</i> by S.Keshav<p>2. <i>Foundations of Modern Networking: SDN, NFV, QoE, IoT, and Cloud</i> by William Stallings.<p>3. <i>The TCP&#x2F;IP Guide</i> by Charles Kozierok - <a href="http:&#x2F;&#x2F;www.tcpipguide.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.tcpipguide.com&#x2F;</a><p>4. <i>Hands-On Network Programming with C: Learn socket programming in C and write secure and optimized network code</i> by Lewis Van Winkle.<p>5. <i>The All-New Switch Book: The Complete Guide to LAN Switching Technology</i> by Rich Seifert and James Edwards.<p>To get an idea of the overall Internet Architecture&#x2F;Layouts, i also recommend the following two old books to get the background information. Things have changed a lot now but are almost always built&#x2F;modified on the bedrock described here.<p>a. <i>Internet System Handbook</i> by David Lynch and Marshall Rose.<p>b. <i>Internet Architectures</i> by Daniel Minoli and Andrew Schmidt.<p>Finally, you should look at all the configuration parameters of your home router (wan+lan+wifi), go through their documentation&#x2F;google as necessary and make sure you understand what they are and how they are used. This is where the theory read from the above books meets practice in the real world.
jrflowers超过 1 年前
How to win friends and influence people by Dale Carnegie
评论 #38948702 未加载