Network

Using Apple Metal to accelerate DPI recognition

posted in Network

GPU acceleration for DPI sounds attractive, but the wrong design can make a router slower. The expensive part is not just “running math.” The expensive part is moving packet data, synchronizing CPU and GPU …

Thoughts on BBR congestion control in QUIC under high loss

posted in Network

BBR is a natural fit for QUIC, but it is not magic. It works well when packet loss is a bad congestion signal. It can work poorly when loss corrupts the measurements that BBR itself needs. That distinction matters on …

GRE over WireGuard mesh with BGP and BIRD

posted in Network

A WireGuard mesh gives each site a secure underlay. BGP gives each site a way to tell the rest of the network which prefixes it can reach. GRE, placed inside WireGuard, gives each adjacency a normal point-to-point tunnel …

Using DPI to distinguish QUIC, HTTP/3, and HTTP/2

posted in Network

Deep packet inspection for modern web traffic is less about reading application payloads and more about making fast decisions from the few bytes that are still visible. That is especially true for QUIC. After the …

Country-based routing made fast

posted in Network

Country-based routing sounds simple: if the destination IP belongs to a country, send it through a different WAN or VPN; otherwise use the normal default route. On OpenWrt, the slow version is also simple: download a …

Split routing using netfilter

posted in Network

Split routing, also called policy-based routing, means sending only some traffic through a different route while leaving the rest of the network alone. A common example is an OpenWrt router where normal traffic exits …

AND (Average Network Delay) and Queuing Theory Basics

posted in Network

Recently I was looking at the Linear programming formulations of Traffic engineering problems and one of the problems is to find the path with the goal to minimize the Average network delay. Which got me thinking that …

Difference between OpenVZ and LXC

posted in Network

Background: What’s a container? Containers have been around for over 15 years, so why is there an influx of attention for containers? As compute hardware architectures become more elastic, potent, and dense, it becomes …

BitTorrent Traffic Detection with Deep Flow Inspection

posted in Network

1. What is Deep Flow Inspection(DFI)? As the name implies, the analysis or the classification of P2P traffic is a flow-based, focusing on the connection level patterns of P2P applications. Thus, it does not require any …

Differences between TLS 1.2 and TLS 1.3

posted in Network

The current version of TLS, TLS 1.2, was defined in RFC 5246 and has been in use for the past eight years by the majority of all web browsers. Companies such as Cloudflare are already making TLS 1.3 available to their …

Drive Headless Chromium with Python3

posted in Network

Browser Automation Before we dive into any code, let’s talk about what a headless browser is and why it’s useful. In short, headless browsers are web browsers without a graphical user interface (GUI) and are usually …