Try the custom AI to help you find products that Reddit loves.
Volumes I & II.
The network needs specific protocols to empower communications.
The network carries & delivers applications once communications are empowered.
TCP/IP is a great example of a set of network protocols.
TCP/IP directly empowers communications.
HTTP, SSL, SSH and so on all ride on top of the communications provided by TCP/IP.
Serious recommendation, not intended as a brush-off:
Buy a copy of this book:
That is the older 1994 edition. You can get it delivered for $10-15 total.
There is a newer edition you can get used for like $40 or so.
TCP/IP version 4 has not made many radical changes since 1994 so it isn't nearly as out of date as you might initially think.
The bible on UDP/TCP is TCP Illustrated.
This has a very detailed explanation of the protocols, and I believe it also includes a lot of sample C code.
This book is a bit pricey, but if you really want to know this topic, it's a must have.
I recommend TCP/IP Illustrated Volume 1 W. Richard Stevens - amazon link here
TCP/IP Illustrated Volume 1 Edition 1, its the bible.
Sure there are a lot more advanced books you need, but this one is a gem. ARP, bounce charts, tcp windows/zero windows, tcp half opens, etc,.
Watch, learn, implement and repeat. Read books like all of the main ones, e.g TCP/IP Illustrated when you come to books , there is no limit. I am a poor reader but i wish one day i will be okay.
And yeah Go through Blueprint + cisco docs + Maybe INE tutorials as well + Be expect on blueprint if you really want to nail the exam and want to be real professional.
I am trying to read and digest since two or three months but i still sucks (like 1/5 :( ) Good Luck friend.
OK, got it. Perhaps the low level details aren't exactly what you need. BTW, I've tried reading some of these books e.g. this one: http://www.amazon.com/TCP-Illustrated-Vol-Addison-Wesley-Professional/dp/0201633469/ref=pd_sim_b_2 and they are not for the faint of heart.
What's worked better for me are online articles like the one above. While I'd love to grok TCP/IP at a deep level, I really don't need to know that much about it. Although I could see how it would be extremely useful if I worked at a networking company.
tl;dr good luck! I find Charles to be a bit easier to use than Fiddler.
I've been in IT for 18 years and info security for 15. This is the book that my manager plopped down on my desk and said "Read this. When you are done read it again. When you are done keep is near by and ready."
I found that once I had a firm grasp of the underlying protocols I was able to figure out almost any new IP-based attacks, products, vendor claims, etc.
Keep moving forward! Check out the Stevens books. They're the Bibles for network programming. They're freely available if you go sailing.
Since we're talking AWS, there is also the AWS Networking Speciality Certification as well. This will greatly increase your knowledge about AWS Networking. CCNA is hyper-specific to Cisco and really a requirement for most Network Engineers if you are working with Cisco. If you need to get started learning more about the fundamentals of networking I would go with the Net+ and then get the AWS Net Speciality Also there is the TCP/IP bible, imho TCP/IP Illustrated, Vol. 1: The Protocols
Generally I go here if I want a good overview and operational view.
If I want to go for the long haul and depth....I start here (I used this list as it's nice and abbreviated of what does what in RFC land). Reading through those will give you a much better idea of how things were "supposed" to work. How they work with a vendor will always be up to interpretation, but the vendors are interpreting those RFCs.
There are quite a few books on Amazon that will teach it to you as well. I honestly would consider getting them too. This, this, this, this.
There's so many good books but those should give you that deep understanding.
Read this: https://www.amazon.com/TCP-Illustrated-Vol-Addison-Wesley-Professional/dp/0201633469
I'm a networking/cybersecurity student too.
Check this out http://intronetworks.cs.luc.edu/current1/ComputerNetworks.pdf
I haven't read the whole thing but it's free and I've heard that it's a very good resource.
Also, look into https://smile.amazon.com/dp/0201633469/ref=cm_sw_r_tw_dp_ZXMZMVPVDZW616V8ZDC5?_encoding=UTF8&psc=1
That's what I've been using and I've heard it referred to as the "Networking Bible".
You can try reading TCP/IP Illustrated which goes into a lot of depth about the various protocols. You can buy it or sail the high seas ;)
Another personal favorite book of mine is Computer Networks: A Systems Approach, we had this during college and the book solves the problem of building a network step by step.
I would also suggest supplementing both of these books by doing all the exercises in it or by programming on your own.
FYI, both of your links lead to the same Comer book. I'll assume that your "ccnaguide" link was intended to link to either the CCENT/CCNA OCG by Wendell Odom, or Todd Lammle's CCNA guide as well.
Personally, I would choose to at least read through the CCENT/ICND1 OCG first. It tends to do a good job of introducing a beginner to the world of networking in general terms. You may even find it helpful to pursue the CCENT certification afterwards!
Then, if you're still interested in TCP/IP specifically, I would pick up the Comer book. There's also a few others you might be interested in: TCP/IP Network Administration, TCP/IP Illustrated, and maybe Cisco Press's Routing TCP/IP (although it might be a bit advanced for what you would want.)
Long post ahead.
LEARN YOUR OSI LAYERS. Learn what's at Layer 2 (Ethernet), Layer 3 (IP), and Layer 4 (TCP/UDP/etc.)
I feel like throwing in the beej bible is necessary here (even if you never want to learn how to do network programming; it's still interesting, i.e. how the kernel opens a socket, translates network addresses, etc.): http://beej.us/guide/bgnet/. This is what I used in my Network Programming course 5+ years ago; still relevant today.
Then there's also the classic W. Richard Stevens tome: TCP/IP Illustrated: here. It's dated as fuck (telnet and rlogin were still prevalent and it still discusses classful routing (Class A, Class B, Class C) which hasn't been relevant for at least 20 years) though it does talk about CIDR which is current) but it's the most comprehensive explanation of how TCP/IP works there is. It does a GREAT job explaining how TCP and UDP work; TCP is a challenging protocol to really understand. It also goes into other application-layer protocols like DNS and HTTP but not in depth (and not relevant to the question at hand). It doesn't discuss IPv6 unfortunately (it's referred to as IPng, which is what it was called back in '94).
There's an updated version of this book that's been edited by a CCIE somewhere; I haven't been able to find it but it's quite good. I heard some of the edits are inaccurate, though.
Then there's the tcpdump manpage and tutorial to teach you how to inspect packets; you'll NEED to know how to do this. (Lots of folks like to use wireshark in the first instance but it's not on every box whereas tcpdump almost certainly is; the biggest differences lie in the filtering language)
More specific to #devopslife are software-defined "cloudy" routers like Neutron, Hyper-Vswitch (if on a Hyper-V virtualization backbone, I believe Azure uses them as well) and OpenVSwitch (from which Neutron descends). Neutron docs here.
Most CCNA material descends from these resources. CCNP and higher cover more specific details that you probably won't care too much about unless you really want to get into networking (which is a career in its own right, networking is HARD)
Unfortunately, if you spend a lot of time on cloud infrastructure, you won't deal with networking too much as an admin unless you get into tweaking kernel parameters or troubleshooting the (very) rare network-fucked-up occasion. Still good knowledge to have though.
You'll pass a Google SRE interview (in networking) if you read these; almost guaranteed.
The world of networking is huge. It's a marathon not a sprint. Huge repositories of information exist. Take your time to go through them.
Start with these -
Use this to help supplement your studies -
As always Cisco has a ton of white papers -
Free Presentations from Cisco Live -
If you wish to look at things from a different vendors perspective look into Juniper Day One -
Finally RFCs are good place to get the nitty gritty of the protocols/standards -
If you want to understand how everything works under the hood:
Not the most thrilling read but you'll come out of it with a deep understanding of how TCP/IP works.
Netsec is a pretty wide topic, which makes your question somewhat hard to answer. In all honesty, I think the best place to start right now for a high-level introduction to networking is this Wikipedia article. There are, of course, many books you can read for a deeper understanding; as well as the RFCs for a definitive explanation of every Internet standard.
Another recommendation would be to install Linux (try Ubuntu or Fedora), and just run it. Add users and groups, configure SSH and Apache, etc. Linux will come with several different programming languages (Perl, Python, bash), and you'll be able to install many more with very little effort.
Don't worry about having a formal background in computers, because that's not very important. Besides, no one can teach you the curiosity you'll need to get really deep into this stuff. Just expect to spend countless hours in front of a computer, and expect to never stop reading and learning.
Just get to know it better. The attacks become (semi-)obvious then.
TCP/IP Illustrated by Stevens, a must read!
The great thing with computers is... There is no magic only stuff you haven't figured out yet. Order a copy of this.
So clearly multithreading for starters (which I haven't touched yet). I understand C++14 is supposed to have some networking built into STL, but I haven't heard/read much about it. I'm guessing for C++, I'd have to import some C library/API and ensure data in the program met the input it expected? I almost seems less cumbersome to write my own library that didn't have to worry about formatting from C++ to C -- or learn C.
On the understanding TCP/UDP front, I guess you're suggesting picking something like this up?