Computer Networks From Scratch
Here comes 5Gbps networking over standard cables | Ars Technica UK
Ethernet (50th Birthday) - Computerphile - YouTube
Ten Windows 10 network commands everyone one should know - TechRepublic
OSI Model
OSI model - Wikiwand
The OSI model explained: How to understand (and remember) the 7 layer network model | Network World
The OSI Model – The 7 Layers of Networking Explained in Plain English
What Is Layer-2 and Why Do We Need It? « ipSpace.net by @ioshints
IP addresses & routing - Julia Evans
Bridging and Routing: is there a difference? « ipSpace.net by @ioshints
Bridging and Routing, Part II « ipSpace.net by @ioshints
小白成神之路,网络知识看这一期足矣!软路由 桥接 端口转发 旁路由 单臂路由 IPv4 IPv6 DDNS - YouTube
Lecture OSI and TCP/IP Models - YouTube
The OSI Model Demystified - YouTube
Course/Video
Viatto - YouTube
David Bombal - YouTube
Chris Greer - YouTube
Computer Networks: Crash Course Computer Science #28 - YouTube
The Internet: Crash Course Computer Science #29 - YouTube
The World Wide Web: Crash Course Computer Science #30 - YouTube
Your Ultimate Guide To Computer Networking in 2019
CompTIA Network+ N10-007 Training Course - YouTube ❗!important
Video Notes: Tanenbaum, Wetherall Computer Networks 5e
Netbox
NetBox Documentation
netbox-community/netbox-docker: 🐳 Docker Image of NetBox
i HATE network documentation....but NetBox might help // ft. Jeremy Cioara - YouTube
NetBox - Open Source Network Design and Mapping Software from homelab to network engineers. - YouTube
LAN cable
你根本不懂网线!双绞线 超五类 Cat5e 六类 Cat6 七类 Cat7 八类 Cat8.1 看这一期就够了哦~ - YouTube
Category 5 cable - Wikiwand
Category 6 cable - Wikiwand
拉 Cat.6A 網路線|網路線有什麼差別?|簡易測試 WiFi6 速度居然差這麼多!!| 10Gbps 區網【水電爸爸】 - YouTube
Cat 6 vs Cat 7. What is the difference - YouTube
CAT 8 vs CAT 7 Ethernet Cables - Is there a difference? - YouTube
Cat5e | Cat6 | Cat6A | Cat7 | Cat8 |
---|---|---|---|---|
125MHz | 250MHz | 500MHz | 600MHz | 2000MHz |
2.5Gbps | 10Gbps (55m) | 10Gbps (100m) | 40Gbps (10m) | 40Gbps (30m) |
Cat7 has double shielding to prevent RF interference and crosstalk
2.5gbit is AWESOME, but it WON'T make your Internet faster... - YouTube uses Cat.5e cables
We just leveled up HARDCORE - YouTube fiber
IP and Subnet
IPv4 - Wikiwand
IPv4 address are written in dot-decimal notation: 192.0.2.128
IPv6 - Wikiwand IPv6 address - Wikiwand IPv4-mapped IPv6 address:::ffff:192.0.2.128
or::ffff:c000:0280
wojtekka/6tunnel: Tunnelling for application that don't speak IPv6
DS-Lite – IPv4 over IPv6 and NAT | Citrix Blogs
IPv6 from scratch - the very basics of IPv6 - YouTube
cheat-sheets/ipv6.md at main · onemarcfifty/cheat-sheets
RFC 1918 - Address Allocation for Private Internets
Reserved IP addresses - Wikiwand
Private IP: not used for routing in internet, use behind NAT
Loopback IP: managed by OS, virtual network interface
Link-local: in absence of DHCP or static address, not routing
Classful network - Wikiwand
ExamPointers.com - Online IPv4 Subnet Mask Calculator
CIDR Utility Tool | IP Address Guide
mhausenblas/cidrchk: CLI tool for CIDR range operations (check, generate)
IP Calculator / IP Subnetting
ipcalc · PyPI
RFC 4632 - Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan
Classless Inter-Domain Routing - Wikiwand
What is CIDR Notation?
What is CIDR (Classless Inter-Domain Routing or supernetting)? - Definition from WhatIs.com
VLAN
Subnets vs VLANs - YouTube
How to structure networks with VLANs - YouTube
Network Virtual LANs (VLANs), Explained Simply (VLANs, Part 1) - YouTube
VLANs - Configuring Three Ethernet Switches (VLANs, Part 2) - YouTube
Setting up VLANs in pfSense - YouTube
What is a VLAN??? - How to setup VLANs in your Home Network and WHY YOU NEED THEM - YouTube
DHCP
RFC 1541 - Dynamic Host Configuration Protocol
RFC 2136 - Dynamic Updates in the Domain Name System (DNS UPDATE)
Why DHCP's days might be numbered | Network World
Do DHCP and DNS Servers Communicate? (With wireshark) - YouTube
How DHCP Works // DHCP EXPLAINED - YouTube
Routing
Why was Facebook down for five hours? - YouTube DNS, BGP
What is BGP? | BGP routing explained | Cloudflare
Hurricane Electric BGP Toolkit IP range lookup
Configuring Multiple Default Routes in Linux | Darien Kindlund's Blog
Two Default Gateways on One System - Thomas-Krenn-Wiki
LiNUX Horizon - Linux Advanced Routing mini HOWTO
How To Add Route on Linux – devconnected
linux - Is it possible to have multiple default gateways for outbound connections? - Unix & Linux Stack Exchange
ip route add
commands can be added with post-up
directive to /etc/network/interfaces
# show routing tables, 4 by defaults
cat /etc/iproute2/rt_tables
# show rules on specific routing table
ip route show table 255
ip route show table 254 # main route
ip route show # same as above
cat /etc/iptables/iptables.rules
linux - What is the difference between "route" and "ip route"? - Server Fault
Making Sense of Windows Routing Tables
Interface Bonding
Linux Bonding, LLDP, and MAC Flapping - Packet Pushers
TCP
How TCP Sockets Work
Nagle's algorithm - Wikiwand
Chris Greer
How TCP Works - YouTube
Sharkfest Sessions - YouTube
How TCP really works // Three-way handshake // TCP/IP Deep Dive - YouTube
Troubleshooting slow networks with Wireshark // wireshark filters // Wireshark performance - YouTube
David Bombal
Wireshark - YouTube
TCP vs UDP Crash Course - YouTube
TCP states
Disconnected but still holding socket
What Is a Listening Port? | It Still Works
MultiPath TCP - Linux Kernel implementation : Main - Home Page browse
Multipath TCP Support Is Working Its Upstream - First Bits Landing With Linux 5.6 - Phoronix
TCP 的那些事儿(上) | | 酷 壳 - CoolShell
TCP 的那些事儿(下) | | 酷 壳 - CoolShell
Beej's Guide to Network Programming BSD sockets API
Reliable UDP
draft-ietf-sigtran-reliable-udp-00 - RELIABLE UDP PROTOCOL
怎么让不可靠的 UDP 可靠?
Reliable UDP (RUDP): The Next Big Streaming Protocol? - Streaming Media Magazine
Wireshark
Wireshark can open many dump formats (e.g. .cap
/.pcap
from tcpdump
)
Wireshark · Go Deep.
Track Down Network Problems With Wireshark | PCWorld
Chris Greer
Wireshark with Chris Greer - YouTube
How to Use Wireshark - YouTube
Wireshark for Cybersecurity and Threat Hunting - YouTube
Wireshark Masterclass - YouTube
gcla/termshark: A terminal UI for tshark, inspired by Wireshark
Anycast
or "Addressing methods"?
Anycast - Wikiwand
A Brief Primer on Anycast
Load Balancing without Load Balancers
What is Anycast and How it works
Router
RDMA
InfiBand
Fabrics: A local-area RDMA network is usually referred to as a fabric.
RDMA over Converged Ethernet - Wikiwand RoCE, replaces
基於融合以太網的 RDMA - Wikiwand
Remote direct memory access - Wikiwand
远程直接内存访问 - Wikiwand
RoCE 101: RDMA over Converged Ethernet - YouTube
NVMe over Fabrics Demystified - YouTube
RDMA 技术详解(一):RDMA 概述 - 知乎
RDMA 技术博客_MasterT-J 的博客-CSDN 博客
SDN
SDN dilemma: Linux kernel networking vs. kernel bypass | InfoWorld
What’s the difference between SDN and NFV? | Network World
What Is SD-WAN & Why You Should Care ? – codeburst
VPN
NAT Transversal
Expose server behind NAT with WireGuard and a VPS
tinc strategies adopted by Nebula
Localtunnel ~ Expose yourself to the world HTTP only?
File transfer between any computers | Zack Scholl
schollz/croc: Easily and securely send things from one computer to another
howeyc/crocgui: GUI for croc
RFC 8489: Session Traversal Utilities for NAT (STUN)
RFC 8445: Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal
RFC 8863 - Interactive Connectivity Establishment Patiently Awaiting Connectivity (ICE PAC)
inlets
inlets: Cloud Native Tunnel
inlets/inlets-archived: Cloud Native Tunnel, now inlets PRO
inlets/inlets-pro: Secure HTTP and TCP tunnels that just work client requires license
bore
ekzhang/bore: 🕳 bore is a simple CLI tool for making tunnels to localhost
ngrok
ngrok - secure introspectable tunnels to localhost
Test Your Webhooks Locally with ngrok - Twilio
6 awesome reasons to use ngrok when testing webhooks - Twilio
How to Use ngrok: Easily Share Your Local Server [Step-by-Step] - SitePoint
pgrok
Cloudflare Tunnel
A Boring Announcement: Free Tunnels for Everyone
Cloudflare Tunnel | Secure Tunneling Software | Cloudflare
Share development environments · Cloudflare for Teams documentation
A free Argo Tunnel for your next project
telebit
Cloudflare Warp
Introducing Warp: Fixing Mobile Internet Performance and Security
WARP is here (sorry it took so long)
The Technical Challenges of Building Cloudflare WARP
What is Cloudflare's WARP VPN and should you use it? | Android Central
Cloudflare 1.1.1.1 with Warp review: faster web browsing, but not a real VPN | WIRED UK
Cloudflare Finally Launches Warp, But It's Not a Mobile VPN | News & Opinion | PCMag.com
Proxy
The Ultimate Guide to HTTP vs. SOCKS Proxies in 2023
10 Free Proxy Servers for Anonymous Web Browsing
Прокси сервера бесплатно, бесплатный proxy list online, анонимные http, ssl, socks прокси, free proxy list
Firewall
9 Best Next-Generation Firewall (NGFW) Solutions for 2023
OpenWRT vs pfSense: Best Open Source Firewall Solution - Virtualization Howto
Open Port Check Tool - Test Port Forwarding on Your Router
pfSense® - World's Most Trusted Open Source Firewall
your home router SUCKS!! (use pfSense instead) - YouTube
OPNsense® a true open source security platform and more - OPNsense® is a true open source firewall and more
HOW TO SETUP OPNsense: From First Boot to Fully Functional (with IPv6!) - YouTube
pfSense vs OPNsense
pfSense® 与 OPNsense® 技术比较 | 鐵血男兒的 BLOG
iptables
iptables - ArchWiki
iptables - Debian Wiki
An IPTABLES Primer | Daniel Miessler
How To Configure iptables Firewall In Linux - LinuxAndUbuntu - Linux News | Apps Reviews | Linux Tutorials HowTo
netfilter/nftables
successor of iptables
netfilter/iptables project homepage - The netfilter.org project
netfilter/iptables project homepage - The netfilter.org "nftables" project
netfilter/iptables project homepage - Documentation about the netfilter/iptables project
nftables wiki
Traffic Rules » Linux Magazine
Why you will love nftables – To Linux and beyond !
ungleich blog - IPtables vs. nftables
Why you will love nftables – To Linux and beyond !
Uncomplicated Firewall (ufw)
Uncomplicated Firewall - Wikiwand Manages iptables
/nftables
rules, available in Ubuntu
UncomplicatedFirewall - Ubuntu Wiki
Uncomplicated Firewall - ArchWiki
Ubuntu Manpage: ufw - program for managing a netfilter firewall
How to Set Up a Firewall with UFW on Ubuntu 20.04 | Linuxize
How To Configure Firewall with UFW on Ubuntu 20.04 LTS - nixCraft
UFW Essentials: Common Firewall Rules and Commands | DigitalOcean
How to Configure a Firewall with UFW
Using Firewall With UFW in Ubuntu Linux [Beginner's Guide]
A Guide to the Uncomplicated Firewall (UFW) for Linux
How to work with your firewall (UFW - Uncomplicated Firewall)
ufw status
ufw show added
ufw allow PORT
ufw allow PORT1:PORT2/tcp
ufw delete allow PORT
GFW
DuyaoSS-机场测速和简介
逗比根据地 - 世界那么逗,我想出去看看
翻墙全解析 硬核翻墙系列视频 系统学习翻墙技术原理 一切关于翻墙你需要知道的 - YouTube
Soft Router
offload VPN channel from router
Your Router Sucks. Build Your Own Instead! - YouTube
家用软路由有必要吗?科学上网必须要软路由?软路由科学上网是智商税?! - YouTube
入门软路由?一篇就够了!真正给小白看的软路由入门指南 - YouTube
翻墙软件 路由器 软路由硬件翻墙 和网关模式翻墙等多种翻墙方式的利弊和特点 你更适合哪一种?【硬核翻墙系列】第三期 - YouTube
只要 400?轻松跑满千兆的一线大厂软路由还能放进弱电箱 - YouTube
BPF
BPF · Linux kernel code execution engine
Berkeley Packet Filter - Wikiwand
Microsoft at Work to Bring eBPF to Windows
The BSD packet filter | Proceedings of the USENIX Winter 1993 Conference Proceedings on USENIX Winter 1993 Conference Proceedings
A Gentle Introduction to eBPF
eBPF should have been "Kernel Script"
A thorough introduction to eBPF [LWN.net]
BPF comes to firewalls [LWN.net]
eBPF: One Small Step
An intro to using eBPF to filter packets in the Linux kernel | Opensource.com
What is eBPF? - DEV Community
Dive into BPF: a list of reading material
bpfilter » ADMIN Magazine
Primer: How XDP and eBPF Speed Network Traffic via the Linux Kernel – The New Stack
Learn eBPF Tracing: Tutorial and Examples
How io_uring and eBPF Will Revolutionize Programming in Linux – The New Stack
BPF For Observability: Getting Started Quickly | Linux Journal
Kernelless Kernel Programming (eBPF) - Computerphile - YouTube
How eBPF Streamlines the Service Mesh – The New Stack
Why is the kernel community replacing iptables with BPF? — Cilium
Linux BPF Superpowers
BumbleBee solo-io/bumblebee: Get eBPF programs running from the cloud to the kernel in 1 line of bash
Solo BumbleBee makes Linux eBPF programming easier | ZDNet
Introduction to Cilium — Cilium documentation
zoidbergwill/awesome-ebpf
pratyushanand/learn-bpf
Linux eBPF Tracing Tools
iovisor/bcc: BCC - Tools for BPF-based Linux IO analysis, networking, monitoring, and more
bcc/tutorial.md at master · iovisor/bcc
bcc/tutorial_bcc_python_developer.md at master · iovisor/bcc
bcc/reference_guide.md at master · iovisor/bcc
bpftrace (DTrace 2.0) for Linux 2018
iovisor/bpftrace: High-level tracing language for Linux eBPF
An introduction to bpftrace for Linux | Opensource.com
aquasecurity/tracee: Linux Runtime Security and Forensics using eBPF
Container Security with Liz Rice: DevOps and Docker Live Show (Ep 69) - YouTube
dylandreimerink/edb: An eBPF program debugger
The One About eBPF | TechSNAP 388 | Jupiter Broadcasting
Tools
trailofbits/linuxevents: A sample PoC for container-aware exec events for osquery
trailofbits/ebpf-verifier: Harness for the Linux kernel eBPF verifier
trailofbits/ebpfpub: ebpfpub is a generic function tracing library for Linux that supports tracepoints, kprobes and uprobes.
trailofbits/ebpfault: A BPF-based syscall fault injector
trailofbits/btfparse: A C++ library that parses debug information encoded in BTF format
trailofbits/ebpf-common: Various utilities useful for developers writing BPF tools
Windows Filtering Platform (WFP)
Windows' eBPF
About Windows Filtering Platform - Win32 apps | Microsoft Learn
Guided tour inside WinDefender’s network inspection driver
GeoIP
GeoIPLookup: Geolocation from the CLI » KBeezie
python-geoip — python-geoip also downloads MaxMind database
MaxMind GeoIP2 Python API — geoip2 documentation
FTP
Active FTP vs. Passive FTP, a Definitive Explanation
curl -T uploadfile -u user:passwd ftp://ftp.upload.com/
# upload as
curl -T uploadfile -u user:passwd ftp://ftp.upload.com/myfile
Speed test
How to Test Internet Connection Speed From the Terminal
Speedtest by Ookla - The Global Broadband Speed Test with region selection
Internet Speed Test | Fast.comby Netflix
OFCA Broadband Performance Test web version requires Flash
Physical layer
How do internet cables distinguish between no data being sent and 0 bits being sent? - Quora
Physical layer: signals, waves and transmission types - ICTShore.com
Phase-locked loop - Wikiwand
Unipolar encoding - Wikiwand
NTP/PTP
Network Time Protocol - Wikiwand
Precision Time Protocol - Wikiwand
How works the Precision Time Protocol (PTP)?
PTP: Timing accuracy and precision for the future of computing
How Precision Time Protocol is being deployed at Meta
Homeplug
HomePlug - Wikiwand
一學就會!活用 Homeplug 電力貓解決大單位 WI-FI 死角問題的實戰攻略 - by Upsangel
電力網路可以取代實體網路?|實測 → 電力網路 V.S 實體網路|電力線網路實用嗎?【弱電通】 - YouTube
TL-WPA8630 KIT | AV1300 Gigabit Powerline ac Wi-Fi Kit | TP-Link Hong Kong
TL-PA8010P KIT | AV1200 Gigabit 電力線網路橋接器雙包組(Kit) | TP-Link 香港地區
Scaling
Dropbox traffic infrastructure: Edge network – Dropbox Tech Blog
Optimizing web servers for high throughput and low latency | Dropbox Tech Blog
TODO
10 Most important open source networking projects | Network World
There's an open source insurgence happening in the networking industry.
Increasing demands on the network to scale to unprecedented levels and at the same time become more customized to specific use cases has led to the emergence of open source projects to support them.
MORE AT NETWORK WORLD: Top 7 Linux IoT projects
In many cases networking vendors are using these open source projects as the basis for enterprise networking products. In other cases, they are the core underlying technology for some of the largest networks in the world.
"Network transformation is moving into a phase of production-ready deployments," says Arpit Joshipura, general manager of networking at the Linux Foundation. "As that happens, we believe there's a major disruption happening in open source networking, and it's becoming a fundamental building block for next-generation IT and next-gen networks for carriers."
Here are 10 of the most important open source projects in the networking industry.
CORD
The idea behind the Central Office Re-architected as a Data Center (CORD) project is that central offices of telecommunications and service provider environments typically include myriad hardware and software for controlling many different aspects of networks. CORD aims to create a software-defined operating platform for central offices that uses commodity servers, white box switches and open source software.
FD.io
FD.io stands for Fast Data -- input/output, and it's an open source project made up of various open source libraries all with the goal of accelerating data efficiency in networking. FD.io focuses on ensuring open source networking deployments have the highest throughput, lowest latency and most efficient IO services. There are a handful of focus areas for FD.io, including a Vector Packet Processing (VPP) project donated by Cisco, and others focused on hardware acceleration, programmability and integration with other systems. FD.io components are typically used in conjunction with other projects such as OpenDaylight, OpenNFV, and OpenStack. The components are designed to work on a variety of generic hardware, including x86, ARM and PowerPC. Platinum members of the FD.io project include Cisco, Ericsson and Intel.
Mano
Mano is meant to be an open source software project for management and orchestration of software-defined networks and network function virtualization. It focuses on core areas such as supporting multi-site deployments, onboarding of NFVs, virtual network funcntions packaging, upgrading and installations on an SDN, creating development environments, service modeling and being platform-aware. The European Telecommunications Standards Institute (ETSI) houses the project.
More information on ETSI open source Mano
ONAP
The Open Networking Automation Platform, or ONAP, is the combination of two projects: ECOMP, which was donated by AT&T, and the Open-O Orchestration platform. ONAP is primarily targeted at providing an open source automation and orchestration platform for service providers, particularly telecommunication vendors, to run SDNs and offer virtual network functions. ONAP's more than 10 million lines of code include processes for onboarding networks and network functions, orchestration, control, inventory and maintaining policy across the network.
ONOS
The Open Networking Operating System (ONOS) describes itself as an open source carrier-grade software defined networking (SDN) operating system. It's geared at service providers who are looking for an open source operating system on which to build or run their SDN software.
OpenDaylight
Founded in 2013, this modular open source software defined networking (SDN) controller is housed within the Linux Foundation. It is fundamentally a series of software packages that users can use bits and parts of -- or the whole thing -- to create software controllers for their virtual networks. Many vendorss use or support the open source code in their commercial SDN controllers, including Brocade, HPE, Ericsson, Serro and Inocybe. The OpenDaylight Foundation, which manages the development of the source code for the Linux Foundation, says there are 27 OpenDaylight User Groups around the world.
More information about OpenDaylight
OpenFlow
OpenFlow is credited with being the first standard communications protocol in the software defined networking market. Developed at Stanford University, the communications standards in OpenFlow dictate how the control plane can communicate with the forwarding data plane in SDN environments. While OpenFlow itself is not an open source project, the standards developed by OpenFlow and its organizer the Open Networking Foundation are some of the most important standards in the SDN market. Vendors including Alcatlel-Lucent, Arista, Brocade, Big Switch Networks, Ciena, Cisco, Cumulus, Dell, Ericsson, Extreme Networks, HPE, Huawei, Juniper, Pica8 and many others support OpenFlow standards in at least some of their routers and switches.
More information about OpenFlow
OpenNFV
Network Functions Virtualization (NFV) is the idea of replacing networking applications that used to be in dedicated hardware, such as load balancers and firewalls, and implementing them as software. OpenNFV's goal is to create open source NFV components. OpenNFV has created a reference NFV platform for companies to build and deploy NFV components on, with a goal of providing system-level integration. OpenNFV has primarily been used by service providers and telecommunication vendors. AT&T, Cisco, Dell, Ericsson, HPE, Huawei, IBM, Intel, Juniper, Red Hat and SUSE are among the 53 member companies of the OpenNFV project, which is housed within the Linux Foundation.
More information about OpenNFV
OpenSwitch
OpenSwitch is a modular, Linux-based open source network operating system (NOS) hosted in the Linux Foundation. It is a software platform that provides Layer 2 and 3 capabilities. It's meant to run inside hardware, such as switches and routers, that are designed using specifications from the Open Compute Project. Premier members of the OpenSwitch project include Barefoot Networks, Broadcom, Cavium, Dell EMC, Extreme Networks, Hewlett Packard Enterprise, Mellanox and Snaproute.
More information on OpenSwitch
OpenvSwitch
OpenvSwitch, also known as OVS, is a multi-layer open source virtual switch distributed with an Apache license. OpenvSwitch can be used as a virtual, or software implementation of a networking switch in a networking environment. OVS is used to connect virtual machines within a host or virtual machines across hosts. It also supports common networking protocols, such as OpenFlow as well as standard spanning tree architectures, VLAN tagging and port mirroring.