<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/simulating-tcp-loss-and-congestion-in-browser-using-go-wasm-tbtw78geg" -->

---
title: Simulating TCP loss and congestion in browser using Go/WASM
description: ccsim is an interactive browser-based network simulator that visualizes TCP congestion control behavior using full gVisor network stacks compiled to...
canonical: https://daily.dev/posts/simulating-tcp-loss-and-congestion-in-browser-using-go-wasm-tbtw78geg
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Simulating TCP loss and congestion in browser using Go/WASM | daily.dev
og:description: ccsim is an interactive browser-based network simulator that visualizes TCP congestion control behavior using full gVisor network stacks compiled to...
og:url: https://daily.dev/posts/simulating-tcp-loss-and-congestion-in-browser-using-go-wasm-tbtw78geg
og:image: https://api.daily.dev/og/posts/tbtW78Geg.png
og:image:alt: Simulating TCP loss and congestion in browser using Go/WASM
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Simulating TCP loss and congestion in browser using Go/WASM

**[Hacker News](https://daily.dev/sources/hn)** · 3 min read · 0 upvotes · 0 comments

## Summary

ccsim is an interactive browser-based network simulator that visualizes TCP congestion control behavior using full gVisor network stacks compiled to WebAssembly. It reproduces key figures from the original BBR paper, letting users compare CUBIC and BBRv3 across scenarios like bottleneck saturation, RTT vs. inflight data, and bandwidth step changes. The simulator demonstrates how naive senders cause congestion collapse, how CUBIC overshoots into loss to probe capacity, and how BBRv3 estimates path bandwidth to stay near the optimal operating point without building queues.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://ccsim.fly.dev>

## Similar posts on daily.dev

- [TCP vs UDP Congestion Control in Python](https://daily.dev/posts/tcp-vs-udp-congestion-control-in-python-izy0gpi9e) · Medium · 0 upvotes · 0 comments
- [How Cloudflare Solved a Congestion Bug in quiche](https://daily.dev/posts/how-cloudflare-solved-a-congestion-bug-in-quiche-arfb4mtr5) · InfoQ · 2 upvotes · 0 comments
- [GitHub - tomasz-lisowski/swsim: A software SIM card.](https://daily.dev/posts/github---tomasz-lisowski-swsim-a-software-sim-card--uatcgxpdp) · Lobsters · 36 upvotes · 1 comments

---

Tags: [#webassembly](https://daily.dev/tags/webassembly)

[View this post on daily.dev](https://daily.dev/posts/simulating-tcp-loss-and-congestion-in-browser-using-go-wasm-tbtw78geg)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Simulating TCP loss and congestion in browser using Go/WASM","url":"https://daily.dev/posts/simulating-tcp-loss-and-congestion-in-browser-using-go-wasm-tbtw78geg","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/simulating-tcp-loss-and-congestion-in-browser-using-go-wasm-tbtw78geg"},"datePublished":"2026-07-31T16:06:31.783Z","dateModified":"2026-07-31T17:24:53.648Z","description":"ccsim is an interactive browser-based network simulator that visualizes TCP congestion control behavior using full gVisor network stacks compiled to...","image":"https://media.daily.dev/image/upload/s--0_ODbtD2--/f_auto/v1722860399/public/Placeholder%2008","thumbnailUrl":"https://media.daily.dev/image/upload/s--0_ODbtD2--/f_auto/v1722860399/public/Placeholder%2008","isAccessibleForFree":true,"articleSection":"Hacker News","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Hacker News","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn","url":"https://daily.dev/sources/hn"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/simulating-tcp-loss-and-congestion-in-browser-using-go-wasm-tbtw78geg","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"webassembly","timeRequired":"PT3M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Hacker News","item":"https://daily.dev/sources/hn"},{"@type":"ListItem","position":3,"name":"Simulating TCP loss and congestion in browser using Go/WASM"}]}
```

