10 ms·
Show HN: I'm writing a free book called Computer Networks from Scratch
- neillyons 5y agoBen Eater has a really good video series explaining how computers "talk" to each other https://eater.net/inet https://eater.net/inet
- musicale 5y agoPeterson and Davie's Computer Networks: A Systems Approach is also free: https://book.systemsapproach.org https://book.systemsapproach.org
- pa7ch 5y agoA classic, but I'm biased because my fav undergrad prof used it.
- aneutron 5y agoI was about to comment the exact same thing. This book's bottom upwards approach is something that gave amazing insight on how well designed the Internet and computer networks are. I will forever be grateful to these guys for making free so a broke student like I was could afford that knowledge.
- LAC-Tech 5y agoThe answers I get have taught me that most programmers don't have a basic understanding of how the internet works outside of their narrow specialty. I'm definitely a bit guilty of this. OP do you plan to cover stuff used in IOT? Treating HTTP as a magic black box kind of works fine until you have to consider MQTT, COAP etc.
- sarchertech 5y agoPotentially, once I cover the more basic topics. Part 1 will cover essentially a simplified Ethernet network (plus a few additions). Part 2 will cover the internet as it existed about 20 years ago. And part 3 will cover modern additions. I’ve done some IOT work so it is something that interests me.
- kortilla 5y agoWhat are you plans for addressing the fact that most modern network innovation is invisible to the end host’s kernel, let alone the application. I’ve struggled to find a book that doesn’t just hand wave layer 1 and assume layer 2 is ethernet everywhere.
- behringer 5y agoLayers 1 and 2 of the osi model require electronics engineering, heavy math, and materials science. It's not all that network related. WiFi and xray transmissions is of course covered in most books though at least in terms of its capabilities. What more do you want to know about level 1 and 2?
- iso1210 5y agoI did things like Nyquist/Shannon, things like Manchester encoding and stop bits, etc 20 years ago in an electronics module at university. Barely remember anything about them, and haven't used them at all. Some colleagues might as they deal with satellite clearance and uplinks, but I'm just nice simple IP, and it's not going to help me with my (presumably) BFD issue which is causing my BGP routes to one site to fail over in 30 seconds rather than a few milliseconds. It's insanely rare in my industry to encounter anything that isn't ethernet, hell even ethernet with MTUs below 1500 are fairly rare outside of VPN provisions. Sure there are some, especially in the high end areas, but it's so rare and tends to eventually present as ethernet. Far more use for almost everyone is an understanding of Ethernet, IP(4+6), TCP/UDP/ICMP and how routing works (the concepts more than the specifics - things like how traffic can route asymetrically, how packets can be sent on different routes, etc). You could include other protocols like LLDP and arp (maybe LACP as part of the different routes), mention about how a traceroute will hide information when routers either don't decrement MTUs, or just stick the entire packet in an MPLS packet and pass it through the network, mention how just because your traceroute shows 20% loss at hop 7 it doesn't mean hop 7 is bad, and again how the ttl expired response may be dealt with with a low priority, or travel on a completely separate network, etc. I would think all of that is far more useful than knowing that you need Manchester to keep your clock or how you use PSK to increase the symbols through your medium
- freedomben 5y agoWow really neat, nice work! I also love the "read on the web for free, buy a print/pdf copy" model. I rarely buy books now without being able to sample them first. I like your writing style, and I think it's well on the way to being a great book. It might be a little early to start spreading the word though, with only 3 chapters ready so far. Hopefully when it's closer to being done you'll be able to get some attention from HN
- sarchertech 5y agoThank you so much! I finished about 10k words while on paternity leave (mostly during nap time). Releasing early was mostly a choice to help motivate me. As well as to get early feedback and proofreaders.
- nonrandomstring 5y agoWell done Seth. I hope you see it through. Writing in this area goes stale suprisingly quickly so fresh takes are always welcome. It looks like this could be pitched at 400 undergrad ""basic coms and nets" (what's missing is a great text at 300 foundation level that doesn't need too much math). You can still sell a lot of print books with the pdf free online, so I hope that works out well for you.
- sarchertech 5y agoThank you! It's been fairly burnout resistant so far because I've been able to switch back and forth between writing, drawing, and building a custom static generator. >It looks like this could be pitched at 400 undergrad ""basic coms and nets" 400 level undergrad is about the level of detail I'm aiming for (eventually). I've been using one of my old undergrad networking textbooks to do sanity checks. >You can still sell a lot of print books with the pdf free online, so I hope that works out well for you. Here's hoping!
- quixoticaxolotl 5y agoThis website needs a table of contents! The user experience of needing to click through a linked list to get to a specific chapter is very suboptimal.
- sarchertech 5y agoThere are only 3 chapters so far. I figured a table of contents could wait till after chapter 4 was done haha!
- trutannus 5y agoMight as well set it up early so you don't have organizational debt to make up later on!
- sarchertech 5y agoGood point!
- chris_wot 5y agoA table of contents in draft form shows us what you are going to write.
- akselmo 5y agoDefinitely will have to give this a read, thanks for sharing
- sarchertech 5y agoYou’re welcome and thank you!
- xenihn 5y agoI really like the idea of this. I look forward to reading what's finished now, as well as what will be released in the future! I have a huge gap in knowledge for so many things that I interact with on a regular basis, but that I don't actually need to understand well in order to meet minimum job expectations. This seems like a good book to address network basics. Sadly, I'm a huge procrastinator, but this seems especially important for me to address. Books that have been in my backlog for years: Database Design for Mere Mortals, Designing Data-Intensive Applications, Building Secure and Reliable Systems, Writing a Compiler in Go, Crafting Interpreters. All books that I know I need to read, but I just can't get around to it because there's no immediate reward for me, as someone who doesn't have to worry about any of these days in my day-to-day duties.
- sarchertech 5y agoThank you! Your backlog sounds like a fantastic list as well. I can wholeheartedly recommend Designing Data-Intensive Applications. I’m reading it a 2nd time for a book club at work, and I think it’s one of the best overviews of distributed systems out there.
- deleted 5y ago[deleted]
- userbinator 5y agoThe beginning reminded me of Petzold's Code. Was that the inspiration for this book?
- sarchertech 5y agoThat's interesting. I've given a talk various times over the years on "how the internet works", and when I later read Code I also noted the similarity in style. So no, not directly, but we apparently just have similar styles (not that I would place my book anywhere near Code).
- WalterBright 5y agoLove the drawings!
- sarchertech 5y agoThank you! I've had a lot of fun doing them. Many of them were done on my iPad one handed (very slowly) while holding the new baby in the other arm.
- WalterBright 5y agoIt takes a surprising amount of insight to remove all the extraneous information from a drawing, bringing it to its essence. That's what makes your drawings, although appearing simple, so good. P.S. Scott Adams has talked about using the same technique for the Dilbert comics.
- sarchertech 5y agoThat's high praise, thank you! To some extent the drawings have started guiding the writing when I originally thought it would work the other way around.
- POOWHILERUNNING 5y agoNice work - so far this looks like a fun way to learn about how computers communicate with one another. If I'm not mistaken, it looks like there's a typo under the section "Binary is better?": it reads "...then R is also number 5" when I think it should read "...then F is also number 5".
- sarchertech 5y agoAwesome! Thanks for reporting the first typo! I'm currently deciding between building a report errata feature, or just making it public on GitHub and accepting PRs.
- WalterBright 5y ago"Alice send the following marbles: Red, Green, Green, Red, Green, Red, Red–No, Yes, Yes, No, Yes, No, No. This translates to: nothing there, rock ahead, turn right, nothing there, rock ahead, turn left, nothing there." Futurama had this figured out: "One beep for yes, two beeps for no." "Beep-beep" "That means double yes!" https://www.youtube.com/watch?v=fUKxgg4yPxs https://www.youtube.com/watch?v=fUKxgg4yPxs
- WalterBright 5y agoP.S. Second typo! s/send/sends/
- sarchertech 5y agoThanks! I'm gonna need that reporting feature faster than I thought.
- webmaven 5y agoLooks great, the author really isn't kidding with the "from scratch" title. The xkcd-style stick figures are particularly appreciated as a form of sugar to help the medicine go down.
- sarchertech 5y agoThank you! The drawing is definitely my favorite part!
- jokoon 5y agoI wish there was a comprehensive guide to implement networked physics prediction. I remember there was a good article on the theory, especially the rewind part.
- sarchertech 5y agoI'm not sure that I'm qualified to write that book. But I do have an interest in game engines, so something with networking might be the perfect tangent for me one day.
- icosahedron 5y agoWell done. Can't wait for further chapters. I think a table of contents is warranted. Even if it just for 3 or 4 chapters.
- sarchertech 5y agoThanks, I'm glad you liked it! You (and the other commenters) have convinced me to make a table of contents a priority.
- chan-dev 5y agoSeems like a great read. Will this touch on the OSI model? I'm guilty that I don't know this yet at a deeper level.
- sarchertech 5y agoThanks! Yes part 2 will definitely cover the OSI model.
- mabbo 5y agoI recently moved from a professional developer that didn't know how networks worked to one that gave an intro talk on HTTPS to a student group. I wish I had had a book like this to make that change faster. One callout: a table of contents is needed for the online version. One that links directly to the chapters. And if one exists, it needs to be easier to find because I couldn't locate it.
- sarchertech 5y ago>I recently moved from a professional developer that didn't know how networks worked to one that gave an intro talk on HTTPS to a student group. That's awesome! >I wish I had had a book like this to make that change faster. That's the goal. I definitely need a table of contents, but I was planning on adding it once I got a few more chapters done. Based on the comments though, I should probably add one quicker than that.
- getcrunk 5y agoHow many chapter do you expect to write? Ballpark? 10,20,50? Just so I can get an idea
- sarchertech 5y agoProbably somewhere in the 25-30 chapter range divided up into 3 parts.
- chris_wot 5y agoDefinitely add a table of contents!
- bogomipz 5y agoThis looks great so far! I like the approach. I'm looking forward to reading chapter 4 and beyond next!
- sarchertech 5y agoThanks! Working on chapter 4 now.
- bogomipz 5y agoI really like how in depth you are going on foundational Layer 1 material so far. Example, I was so happy to see you discussing transceivers. I feel like mosts texts just give a cursory treatment to layer 1 and its hardware. I hope the next few chapters continue on with this layer 1 and hardware before moving up to Layer 2. I think it makes your book quite unique so far. Thanks for sharing.
- uncomputation 5y agoExtremely cool, and I love the doodles. Bravo!
- sarchertech 5y agoThank you! Glad I didn't give up on the doodles (they take a lot longer than you'd think).
- for_i_in_range 5y agoThanks for what you put together! Do you mind sharing who did the doodles? I'm working on my own free web book and I've been hoping to include illustrations like these.
- sarchertech 5y agoYou're welcome! I did the doodles myself.
- for_i_in_range 5y agoAmazing. Well done! How long have you been working on the book?
- sarchertech 5y agoThanks! I started Feb 1st when I took paternity leave. My wife was already back at work by then, so I mostly worked on it while the baby was napping. I've been working on it in my spare time in the evening since going back to work.
- deleted 5y ago[deleted]
- jackallis 5y agois there a table of content somewhere?
- sarchertech 5y agoSorry not yet. But I'll add one this week.
- dragontamer 5y agoI feel like walkie talkies are something all network engineers need to play with. Furthermore, remember that real world telephone and radio networks were in fact... Networks. (Called 'nets' in the radio world) Ethernet, and 802.11, are both based on the concept of a singular channel shared by many individuals. When Alice talks, she says 'I'm Alice calling Bob, can you hear me Over'. Alice is the source address. Bob is the destination address. Over is the stop code/stop bit signifying the end of frame. The payload is 'can you hear me'. ------- This is everything up to layer 3. But if you wanted to send a radio/telegram across the country, you need one more layer, IP4 or the ARRL protocol (American Radio Relay League meets on the air at predestinated times to pass messages to each other on Ham radio frequencies. It's a human network) I'm Alice, calling the Eastern Operators. I'd like you to relay a message to Bob for me. The message is 'Can you Hear me', Over. This is a radio frame like all others, but an additional layer has been added. The radio operator has its own protocol built on top of the Frames. ------ Dave may overhear all of this chatter, but Dave knows to stay off the channel (otherwise he will cause interference). Only if Dave is addressed specifically would Dave respond (Ex: This is Alice, calling Dave. How are you doing? Over) We can see that the operator is itself just another person on the network. The operator may have a message from the rest of the world. This is the Eastern Operator calling Alice. I'm relaying a message from Bob. The message is 'I got your message Alice!'. Over. This is how a router may take a message from the greater internet and pass it to your local network.
- discordance 5y agoThat’s a great summary! Thanks for taking the time to write it up.
- a1445c8b 5y ago> Dave knows to stay off the channel (otherwise he will cause interference) What would be the Bob-Alice-Dave equivalent to replacing the network hub with a switch?
- sarchertech 5y agoIf you wanted to add a learning switch to the example, you'd also need to add the concept of multiple channels. Once a switch learns which channel the recipient is on, it would only send to that channel instead of broadcasting to everyone. It still starts to break down unless you torture the analogy a bit more.
- israrkhan 5y agoNot sure why but this site is being detected as a malware by our CORP detection system "This site is blocked due to a security threat."
- sarchertech 5y agoThanks for the heads up. I wonder what it's hitting on. There's no 3rd party anything. There's not even any javascript.
- 3np 5y agoWild guess: Due to overlap with previously flagged activity (the specific IPs currently pointed to by Cloudflare, or their system overly broadly marked gcp-us-west1-1.origin.onrender.com.cdn.cloudflare.net)
- sarchertech 5y agoThat's as good a guess as anything I've come up with. Luckily no one else has reported any issues.
- lostcolony 5y agoWhich is awfully suspicious on today's modern web.
- olah_1 5y agodo you plan on allowing people to make translations? if so, maybe putting it on github would be easiest?
- sarchertech 5y agoThat's not a bad idea. Its already on GitHub (I showed my wife how to use git because she's doing the proofreading), so it would just require me making it public.
- Pr0ject217 5y agoThanks
- Lamad123 5y agoWhat would set this apart from something like Networking a Top-Down Approach? I read most of it and thought it went into great detail explaining the basics to the general audience. It also doesn't require any programming, well mostly!
- sarchertech 5y agoIt essentially takes the opposite approach to Networking a Top-Down Approach. I start out from a state where computers, and computer networks don't exist and build up from that point. Whereas A Top-Down Approach works backwards from the application layer. >I read most of it and thought it went into great detail explaining the basics to the general audience. Thank you! >It also doesn't require any programming, well mostly! Yep, I did have to throw in a bit of pseudocode for some of the microcontroller section.
- rramadass 5y agoEarly in my career, i had come across the classic Internet System Handbook by Marshall Rose and Daniel Lynch which gives an overview of the Internet and its Protocols circa early 1990s. It is still relevant for the basics. I wish somebody would write something like the above for the "Modern" Internet.
- perfopt 5y agoFantastic. Thanks for the effort and for making it accessible to many. A friend and I are writing a book on Low-level programming. We are still working on Part 1. The plan is to make it available (along with programming exercises) for free so anyone interested can benefit. I would love to hear about your plans/experiences on how to spread the word that such material exists for free. Ideas for ensuring the material is found by maximum number of people and benefits them.
- sarchertech 5y agoThis probably isn't what you wanted to hear, but the only thing I've done so far in the way of marketing is post here, on Twitter, and Facebook. I have an email signup at the bottom of the page that has been pretty successful, but I think nearly all of it is from here.
- deleted 5y ago[deleted]
- mhanberg 5y agonice
- o2l 5y agoQuestion : Why would people (these days) be motivated to spend time on reading about a subject slowly as opposed to trying to read short targeted content (blogs/tutorials) quickly and jump into the practical bits? May be it's just me and the kind of people I have been meeting who do not seem to have as much patience and time and would prefer getting hands-on experience quickly. I can see how I might sound complaining about going through ~30 pages of information whereas full books with several hundred pages take much longer to read and this is relatively much shorter.
- sarchertech 5y agoPeople read books because grabbing bits and pieces from blogs and tutorials often means that you end up with holes in your understanding that you don't know are there. Books are also a nice place to start when you don't even know what blog posts to read. Tutorials are great if you want to learn how to use library X. I prefer books if I want to understand the problem that library X solves. Of course that's a sweeping generalization.
- johnqian 5y ago> The answers I get have taught me that most programmers don't have a basic understanding of how the internet works outside of their narrow specialty. This lack of a rudimentary mental model is one of the largest contributors to wasted time and effort in web application development. I'm curious what specific mistakes you're thinking of that application developers make when they don't understand computer networks. In my limited experience, the rudimentary abstraction "messages are sent, they're not instant and they might not make it" has generally been sufficient, aside from DNS issues. I learned some networking in college (CS241 at UIUC) and it was really interesting, but I feel I've forgotten almost everything from lack of use. Maybe I've done terrible things as a result. I think I and many others could really benefit from a list of common pitfalls by networking newbs.
- sarchertech 5y agoOff the top of my head, not understanding the implications of the 2 Generals Problem is a really big one. Specifically, time and again, I've seen engineers struggle with distributed sagas (or any kind of distributed coordination really), because they don't know enough about the underlying model to reason about it. There are also simpler issues. Not knowing the difference between GET and POST, not understanding what a header is, how parameters are passed etc... Then there are the problems in the middle like not knowing how to correctly configure an HTTP client library. The purpose of writing the book though is to help people develop a good mental model of the system, so that they don't need to memorize a list of all the things that can go wrong. Adding a few examples to the intro wouldn't be a bad idea though!
- caffeine 5y agoCan’t speak for OP, but there are a lot of things people do out there, not just web apps. People building games, robots, trading systems, distributed databases, CDNs, etc could be really limited in their capability if they didn’t grok networking concepts on a deeper level. It also tends to tie in heavily to other systems concepts (things like zero-copy, or even basic elements like ring buffers). I think you might also underestimate just how little knowledge a lot of people have. You went to a legit uni and took a legit course. The interview question OP asks is an old favourite I used to ask too. A lot of people answered something like “clicky-linky-page-rendery!” So a bit of education on the many layers below that doesn’t hurt.
- terrycody 5y agoI think this book has potential to be an epic material about networking, just, it may costs author years long time to finish it, kudos.
- signaru 5y agoWas looking for a TOC, but quickly realized it's still in progress. Any ballpark on how many chapters there would be? Thanks and keep it up!
- sarchertech 5y agoYou're welcome! Probably somewhere between 25 and 30.
- Daub 5y agoNot sure what your prior experience is in this matter, but here are my general thoughts on book writing. I have written, or been involved in the writing of, a few books. My e pertain every was that it is easier to start a book from the TOC. I am assuming you will be using LaTex or something similar? Writing a book in anything other than a structured writing environment can be hell. Certainly avoid ms word like a cockroach should avoid a hammer.
- luckydata 5y agoit's REAAAALLY from scratch. Cool, looking forward to read it once it talks about stuff I can use since I'm a networking idiot.
- smusamashah 5y agoThis is very interesting, thank you. I didn't get this line > As it happens, 00101 is also binary for the number 5. If you start counting at 0 (A = 0, B = 1, C = 2, and so on), then R is also number 5. R is 17, not 5. You might want to reword it. Stopped here to ask you this and haven't read further yet.
- eredengrin 5y agoProbably a typo for E, given that R and E are right next to each other on the keyboard and E is number 5.
- kstenerud 5y agoSome errors: In https://www.networksfromscratch.com/2.html https://www.networksfromscratch.com/2.html "Remember that when someone presses button 0 the output is set to -5v and when someone presses button 1, the output is set to +5v." This should be 0v, +5v. "We connect two output pins on the letter writer to two input pins to the input pins that were previously connected to the buttons." This sounds really weird.
- aamederen 5y agoThanks for creating this content, this looks pretty good and it was a good time for me to refresh my basics about computer networks. I tried checking the content with my kindle (a Kindle Touch paperwhite 6 inches) and the first chapter rendered pretty good, with images and text aligning as intended. However the second chapter did not render the first figure and beyond. Chapter 3 rendered OK, similar to Ch 1. A few more feedback if that helps for enhancing the format even more: - Colors, and references to those do not work on a kindle. I only saw one minor use of colors (red, green) in Chapter 1 so that's not a blocker. - For some reason, the kindle browser doesn't put left and right margins on the page, so the text uses the full length of the device. - Links are rendered with a pale gray, sometimes hard to distinguish. - Figuring out why the Chapter 2 did not render would definitely help.
- qxfys 5y agoThe first three chapters look promising! When sailing through the computer network topic, my great companion was Tanenbaum's and Richard Stevens's book. Although, I have to be honest that if I only read that book without exposure to the real-world problem, I might quit computer networks many years ago. My two cents for the rest of the chapters would be: to make sure to provide a real-world problem and example in which anyone could have access to them. In my case, I had the privilege to build a real network (10k users) with FreeBSD as the router, proxy, DNS, mail, etc. With all the tooling available today, one can easily acquire these swiss army knives for networking. Sure, tooling comes and goes, but at least it can provide better abstractions to the students. At least it worked for me.
- ghoshbishakh 5y agoI gave a talk about web development but starting from TCP. https://youtu.be/hFsjbBfFyLg?t=503 https://youtu.be/hFsjbBfFyLg?t=503 It was meant to be a Django tutorial, but I wanted the audience to get an idea about how HTTP works.
- cprabud 5y agoThis book looks really promising. Just a small recommendation, you should give an option to the reader to download the book, if they give there email address. This would increase your newsletter size and hence, it can go long way.
- kloudleinc 5y agoThe illustrations are really well done!
- vilius 5y agoIf you're just starting in programming you may thing that Computer Networks falls into a nice to know category. At least I did as a freshman in CS. At a time I was more interested in gaining practical knowledge: popular programming languages, frameworks, OOP. In fact you can become a successful programmer without knowing much how networks work. The reason why I recommend learning about Computer Networks from scratch is how fascinating the subject is. The way layers are implemented, their interactions, how the overall complexity is reduced by having layers of responsibility. This pattern can be seen in other areas as well: hardware -> operating system -> SDK -> programming language -> framework -> DSL. Ultimately from a Turing complete machine to seeing 200 FPS 3D FPS game with 150 other players on your screen.
- ceva 5y agoWhy? There is so many books about networking.
- Fanmade 5y ago> The answers I get have taught me that most programmers don't have a basic understanding of how the internet works outside of their narrow specialty Just yesterday I couldn't fall asleep because my stupid brain thought something like "What information would I need to fully grasp the topic 'programming'?". Since I am a visual thinker, I quickly started to draw a mind map in my head that basically started with the history (starting with Alan Turing), going through electrical engineering, went through different layers and finished in different programming languages. The languages alone branched out in a pattern so large that my head startet to hurt. It included different languages, concepts, architecture patterns and compilers. Each one of those steps is important and you will find people specialized in any of those which will tell you that their part is the most important. I am a web developer myself and I try to learn and improve every day. But I also think to be really good you have to focus on a few specific parts of the process and not try to be an expert in everything there. That grew way too complex quite a while ago and trying to understand everything usually only makes you mediocre in everything but good at nothing in particular. If a web developer does not know the difference of a GET and a POST I would seriously suggest to evaluate their choice of profession. But for example the last time I've had to care about a subnet mask was 11 years ago and I would not ask anyone I recruit as a web dev to know anything about this topic. You have to draw a line somewhere. My bottom line in all this is that you should have at least a general understanding on the whole process, but you only need to be an expert in a few of them to be really good.
- slingnow 5y agoInteresting that you took a quote that _specifically_ said "basic understanding" and took that to mean "expert in everything there".
- deleted 5y ago[deleted]
- tezza 5y agoI found this very confusing. I see you are going for the Thing Explainer style a la XKCD. That only works for a subset of learners. A major hurdle is that you jump right in to “imaginary devices”. And these imaginary devices are rolling marbles of all things. Perhaps a better way would be a historical look at how communication evolved. Smoke Signals, Flags on Ships, Telegraph, Radio, Switching Telephone, Packet Telephones These are concrete things people can see and grok. See “Don’t make me think” book. The essence is that “imaginary devices” is super effortful for the reader and hampers the gradual learning for beginners to acquire the knowledge
- zaargy 5y agoWhat a strange world. 621 points on Hacker News but the thing doesnt actually exist. I'm thinking about submitting a new post soon 'Show HN: I am writing An effective micro transaction platform to eliminate ads from the internet.'.
- cainxinth 5y agoSomeone shared the first three chapters of a free book they are writing, and a community liked it. Yet somehow this bothers you?
- rmbyrro 5y agoThe idea and few samples exist. If you can communicate it well enough, people actually have the ability to anticipate - at least partly - how it'll look like when it's done.
- marco_craveiro 5y agoVery cool, will be great to teach networking to my kids. Thanks for the hard work!
- nfkwaifwao 5y agosometimes I can't believe the information is that sparse, people have gaps in knowledge and still try to be someone
- Uptrenda 5y agoIf you're looking for ideas on what to write about I'd love to learn more about networking on the ISP side of things. I know about routers, TCP/IP, sockets, and so on, but my knowledge of the complete topology of the Internet is quite limited. I feel like if you were to fit that all together it would be an incredibly valuable resource. Also: you need a table of contents!
- HenriTEL 5y agoJust in time for my networking interview! Oh wait... There is only 3 chapters. Great work anyway :)
- l8rlump 5y agoReminded me of http://intronetworks.cs.luc.edu/ http://intronetworks.cs.luc.edu/