January 15, 2018 1:49PM
SYN packet handling in the wild
SYN
TCP
Programming
Here at Cloudflare, we have a lot of experience of operating servers on the wild Internet. But we are always improving our mastery of this black art. On this very blog we have touched on multiple dark corners of the Internet protocols: like understanding FIN-WAIT-2 or receive buffer tuning....
November 07, 2017 10:15AM
Perfect locality and three epic SystemTap scripts
TCP
Programming
NGINX
In a recent blog post we discussed epoll behavior causing uneven load among NGINX worker processes. We suggested a work around - the REUSEPORT socket option....
October 23, 2017 1:57PM
Why does one NGINX worker take all the load?
NGINX
Developers
Cloudflare Workers
Serverless
JavaScript
TCP
Scaling up TCP servers is usually straightforward. Most deployments start by using a single process setup. When the need arises more worker processes are added....
August 18, 2017 6:40PM
Broken packets: IP fragmentation is flawed
Developers
Reliability
TCP
DNSSEC
DNS
As opposed to the public telephone network, the internet has a Packet Switched design. But just how big can these packets be?...
August 12, 2016 2:03PM
This is strictly a violation of the TCP specification
Tips
TCP
Debugging
I was asked to debug another weird issue on our network. Apparently every now and then a connection going through CloudFlare would time out with 522 HTTP error....
August 02, 2016 3:01PM
Introducing the p0f BPF compiler
Two years ago we blogged about our love of BPF (BSD packet filter) bytecode. Today we are very happy to open source another component of the bpftools: our p0f BPF compiler!...