Skip to content

Network

November 22, 2023
April 24, 2016

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

Home | 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

Cat5eCat6Cat6ACat7Cat8
125MHz250MHz500MHz600MHz2000MHz
2.5Gbps10Gbps (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.128or::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

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

vpn

NAT Transversal

ssh#SSH Tunneling

Expose server behind NAT with WireGuard and a VPS

tinc strategies adopted by Nebula

VPN.net – Hamachi by LogMeIn

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

pgrok/pgrok: Poor man's ngrok - a multi-tenant HTTP reverse tunnel solution through SSH remote port forwarding

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

Telebit™ Cloud

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

cyber-security#proxychains

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

#Firewall

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.

More information on CORD

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.

More information on FD.io

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.

More information on ONAP

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.

More information about ONOS

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.

More information about OpenvSwitch