Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Best way to learn networking fundamentals quickly
50 points by fierro on June 4, 2021 | hide | past | favorite | 20 comments
I have been tasked with getting traffic from AWS, to a colo, and out through a private link to a third party. I am a bit out of my depth here. How can I quickly learn to design and configure networks? I learned the basics of networking in university, and can work my way around all of the cloud provider networking primitives.

However, this seems like a different beast. I need to learn about cross-connects, DHCP, ARP, BGP/ASNs, firewalls, etc. The reason I have found this difficult so far is that educational content I am discovering falls roughly into two categories: 1) Network programming, i.e how to use Unix sockets and system calls 2) Virtual networking, i.e AWS/GCP networking primitives which are useful and important but I believe I need to go further.

I am not exactly sure where to start and am hoping for some direction. A Cisco certification course? An MIT OCW networking 101 course? I have limited time and am looking to become simply proficient and provisioning and configuring to get my team unblocked.

Thank you so much in advance.



Beej's Guide to Network Programming is a classic: https://beej.us/guide/bgnet/


That looks really interesting, but I'm not sure it addresses OP's question. He seemed to be wanting to learn modern networking architecture, rather than low level networking programming.

I don't have a great reference, but I'd start with the Networking Section from the Unix/Linux System Administration Handbook: https://www.admin.com/ and follow the references from there.


True, thank you; a few too many of my neurons related to "good, public network learning resources" fired, versus too few "take your time, read and understand the question" :)

Sorry about that OP. mooreds's reference here looks useful.

From a circumstances angle: it sounds ungreat that your team is under time pressure for this, and so it might be a situation where consulting outside experts (per mixmastamyk's advice in the thread) and/or pushing back to understand why this has arrived with you as a responsibility and priority as a non-expert. That said, it's also a chance to learn, and perhaps there's a strong business opportunity being pursued. Best of luck.


Though a classic, I think we can all agree this is literally the opposite of what the OP is asking for...


Maybe see if you can find a Cisco CCNA study guide to flip though? Here's a syllabus [0].

This will give you a good foundation in layers 1-4 and routing, but stops short of bgp. You can tackle bgp separately, afterwards. Routing with bgp can get tricky, it's a bit different in that it sits on top of other routing protocols, routing between separate routing/admin/policy domains, not devices. Routing can be a lot of fun. Keep it simple to avoid surprises!

For me it was a while ago, but the cisco material explained how things worked at a packet/protocol level, and that "clicked" for me, things like how a host finds a router, how routers find each other, how routing protocols build a map of the network, etc. There are well defined protocols for all of this. The cisco study material did a good job of explaining all of this stuff. The CCNA is the introduction, and there's other study guides going into greater depth on various networking topics.

The nice thing about networking is that once you know the concepts it's not difficult to move between implementations.

[0] https://www.nwexam.com/cisco/cisco-200-301-certification-exa...


As others have said, CCNA study materials are probably a good start.

If you want to start understanding the point of of ASNs and BGP, this page isn't bad: https://www.cloudflare.com/en-gb/learning/network-layer/what...

Given what you've described about your task, you probably only need to learn TCP/IP, and don't need to learn about the lower layers (what the OSI model calls the physical and data link layer) or the upper ones (e.g. you probably don't care about whether your routers are carrying HTTP, SMTP or whatever).

Internet: collection of LANs

MAC address: the hardware address that uniquely identifies a network card, but is only visible to other devices on the same LAN

IP address: an address that uniquely identifies a device on the internet

Subnet: a subset of the IP address space, that's used for a LAN

DHCP: the protocol routers use to assign an IP address to each device on the LAN

ARP: the protocol used by a device on a LAN to find another device on the same LAN, when it knows the IP address but needs the MAC address. (You need the MAC address to send a packet to a device on your LAN)

Router: has more than one network interface, with each interface on a different network. At home, your router is connected to your LAN, and to your ISPs network.

ASN: A network that has a permanent allocation of part of the IP addr as space.

BGP: the protocol used for one router to tell another router what networks it can route traffic to.

How do you send traffic to devices when you aren't on the same LAN? You send them to your router (whose IP address you find out when you're assigned an IP address via DHCP, and whose MAC address you can find using ARP).


Nitpicking this a bit, IP addresses don't necessarily identify unique destination devices at all. They're just a label to help devices make a decision about packets they receive. IP addresses are more about the journey than the destination.

To expand, I think it's crucial to understand that in order for an IP address to have any use at all, the device processing the packet must have additional configuration to know what to with it.

Generally, devices either process packets locally, forward to other devices (possibly after modification), or discard them. This decision happens even at the end user's device, where you have a "default route" to a gateway device that then knows better.

The default route is literally just a route that says "the entire internet is over here".

Mail package analogies are common, but unlike physical mail, with IP packets it's no trouble to send copies of packets to multiple receivers (multicast, sometimes used to broadcast video streams) or to any receiver that happens to be closest to the user (anycast, common with DNS), or evenly distributed to any configured destination (load-balancing).

IP networking is fundamentally pretty simple, but the simplicity gives you quite an array of options when you start to think about different mechanisms a router could employ to make routing decisions, especially if they communicate with other routers to share information about the networks they're connected to.


Yes, definitely. This level of detail is what I hope OP will get from the CCNA books. But I think an approximate (if inaccurate) conceptual understanding is helpful for someone wanting to start doing stuff immediately.


Actually the Cisco course is what you need. CSIP or something? They have tons of videos and books. You should also seriously consider a home lab to play around with the network config ... i.e. get routers, switches, etc. People sell homelabs after they do the cisco exam. I never did the exam but found the homelab and videos quite useful when I was in a position similar to you. Be prepared for a firehose of info and it takes A LOT of time.


There's a simulator if a homelab is too expensive


How is it called?


Popular simulators and emulators, in no particular order:

GNS3

Cisco Modeling Labs (formerly VIRL?)

Cisco Packet Tracer

EVE-NG

Boson NetSim


GNS3 probably


Do you have money or time, or both?

If you have money, you could hire a network engineer on contract, and have them teach what they are doing while they set it up. Combined with some book learning, you could take over the job later. If the hire works out, make them an offer to stay.



"What happens when you type google.com into your browser's address box and press enter?" https://github.com/alex/what-happens-when


Download the Packet Tracer application from Cisco.

https://en.m.wikipedia.org/wiki/Packet_Tracer

It won’t get you a CCNP it will really help you towards a CCNA.


I recommend getting a subscription to something like oreilly.com so you can get access to official books and videos from vendors to go through the following certification material. As what you are wanting to do is not covered in introductory courses or covered in depth enough with the free options and you will need the good stuff in order to be able to be confident and not mess things up very badly. https://www.oreilly.com/

Key here will be to go through the material and study it, and implement what you learned. You can sit for the actual exams if you want at a later time. These will give you an expert foundation as if you mess it up you could cause an outage and require someone else to come in and do the work for you. Though if you do find yourself overwhelmed it is probably best to have a consultant come in and do this for you instead as this could be outside your current capabilities and experience. It is best as a growing engineer to know when you don't know something or acknowledge something being out of your depth and asking for help vs taking on something too big for you at the time and failing hard for it. It is also easier to move forward and gain trust of your company to have someone else that is experienced in this type of work come in and take care of it quickly vs trying to learn all of this in a short time and increase the of risk factor of project failure. Either way this should be a great learning experience and the following should help you out with it.

Physical colocation hardware and networking:

CCNP

- Implementing and Operating Cisco Enterprise Network Core Technologies (ENCOR)

- Implementing Cisco Enterprise Advanced Routing and Services (ENARSI)

CCNP Security

- Implementing and Operating Cisco Security Core Technologies (SCOR)

- Implementing Secure Solutions with Virtual Private Networks (SVPN)

AWS Networking Connectivity and Administration Baseline

- AWS SysOps Administrator

- AWS DevOps Engineer

- AWS Advanced Networking Speciality

This will give you the strong baseline to understand how to: Properly setup a secure Point to Point VPN connection between AWS and your colocation or how to use VPC endpoint AWS PrivateLink and Direct connect setup between AWS and your colo along with setting up your colo to properly and securely router the desired traffic to the third party and be confident that it is actually secure and reliable.


Unfortunately not thick, but instead very thorough is the TCP/IP guide: http://www.tcpipguide.com/

Very good as a spot reference.


Read the RFCs- they're surprisingly accessible.

Start with the TCP and IP related ones in the 7XX range, then branch out into HTTP, DNS, DHCP and so on.




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

Search: