- Home
- Skills
- Copyleftdev
- Sk1llz
- Jacobson
jacobson_skill
- Python
3
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill copyleftdev/sk1llz --skill jacobson- SKILL.md19.0 KB
Overview
This skill encodes Van Jacobson's network-performance engineering principles for practical use. It captures congestion control (slow start, AIMD, fast retransmit/recovery), RTT estimation, and diagnostic patterns to optimize throughput and latency. Use it to implement, tune, or troubleshoot TCP-style congestion behavior and end-to-end measurements.
How this skill works
The skill implements RTT estimation (Jacobson and Karn), congestion window management (slow start, congestion avoidance, fast recovery), and simple traceroute and diagnostic utilities. It measures RTT continuously, uses ACK-driven self-clocking to pace transmission, and treats packet loss and delay as explicit feedback signals to adjust rate. Built-in helpers compute BDP, detect buffering-induced latency, and recommend window or buffer sizes.
When to use it
- Implementing or simulating TCP-like congestion control in code or testbeds
- Tuning sender window, buffer sizing, or pacing parameters for high-throughput links
- Diagnosing persistent latency, jitter, or congestion in production networks
- Designing systems that must share network capacity fairly and stably
- Teaching or demonstrating the effects of AIMD, slow start, and fast recovery
Best practices
- Measure RTT continuously and update RTOs with Jacobson's estimator (avoid RTT samples from retransmits via Karn's rule)
- Use AIMD: probe bandwidth gradually and back off multiplicatively on loss
- Respect self-clocking—send paced by ACKs rather than aggressive timers
- Implement exponential backoff on timeouts and avoid reacting to single events
- Prefer RTT-based signals where possible and test under realistic congestion
Example use cases
- A sender library that adapts cwnd using slow start then linear growth once ssthresh is reached
- A traceroute tool that maps paths and measures hop-by-hop RTT to locate high-delay routers
- A diagnostics routine that computes BDP to size NIC/kernel buffers for full utilization
- A simulator comparing loss-based vs RTT-based congestion control under varying workloads
- Production tooling that alerts when buffering delay (avg RTT − min RTT) exceeds thresholds
FAQ
RTT reflects queueing delay and buildup before packet loss. It provides an earlier, less destructive signal so senders can back off before losses escalate.
Should I update RTT from retransmitted segments?
No. Use Karn's rule: avoid updating RTT from retransmits because the ACK may correspond to the original or the retransmission, creating ambiguity.