Wiki

Version 72 (Rich Brown, 03/17/2012 09:41 am)

1 29 Rich Brown
h1. Overview of the CeroWrt Project
2 1
3 28 Rich Brown
!>flanders320fade.jpg!
4 8 Dave Täht
5 63 Rich Brown
Bufferbloat is a huge drag on Internet performance created, ironically, by previous attempts to make it work better. Eric Raymond wrote this one-sentence summary of the problem: "Bloated buffers lead to network-crippling latency spikes." You can read more about this problem at the main [[bloat:Introduction|Bufferbloat]] site.
6 1
7 29 Rich Brown
CeroWrt is a project built upon the "OpenWrt firmware":http://openwrt.org to resolve these endemic problems in home networking today, and to push the state of the art of edge networks and routers forward. Projects include proper IPv6 support, tighter integration with DNSSEC, and most importantly, reducing bufferbloat in both the wired and wireless components of the stack.
8 29 Rich Brown
9 1
h2. Roadmap
10 29 Rich Brown
11 68 Rich Brown
Our plan is to produce a stable build that can be used as both a production router, and as a platform for further research into algorithms for solving state of the art problems in networking. The CeroWrt 3.3 series of builds include the following features and capabilities:
12 1
13 64 Rich Brown
* Linux 3.3 kernel. Many of the fixes for bufferbloat are being implemented in this 3.3  kernel, so we are tracking these developments carefully. http://kernel.org
14 66 Rich Brown
* Active Queue Management fixes for bufferbloat including: Byte Queue Limits (BQL - already incorporated into the 3.3 kernel), Stochastic Fair Queueing-Random Early Drop (SFQRED), working ECN, and other queue disciplines http://bufferbloat.net
15 64 Rich Brown
* IPv6 support. Another major goal of CeroWrt is to make IPv6 networking in the home as simple as IPv4.
16 64 Rich Brown
* Babel mesh routing protocol (1.3.1-2 release).
17 64 Rich Brown
* DNSSEC and DNSSEC proxying - Secure extensions to the DNS system. Proxying is currently in testing.
18 64 Rich Brown
* OpenWrt features. Because we track the OpenWrt code base carefully, we incorporate most of the capabilities of that distribution. We actively push our changes/enhancements back toward the OpenWrt trunk. http://openwrt.org
19 64 Rich Brown
* An attractive web GUI for configuration - LuCI
20 39 Rich Brown
21 64 Rich Brown
Our plan is to produce a stable build that can be used as both a production router, and as a platform for further research into algorithms for solving state of the art problems in networking.
22 1
23 1
h2. News
24 60 Rich Brown
25 67 Rich Brown
The current CeroWrt 3.3 is build *3.3-rc7-5*, built on 16 March 2012. Read the [[CeroWrt_33_Release_Notes|CeroWrt 3.3 Release Notes]] or the "News Page":http://www.bufferbloat.net/projects/cerowrt/news for details.
26 63 Rich Brown
27 52 Rich Brown
h2. Sources of Information about the project
28 1
29 52 Rich Brown
Glossary for Bufferbloat Topics: [[bloat:Glossary]]
30 52 Rich Brown
General Bufferbloat list: https://lists.bufferbloat.net/listinfo/bloat
31 52 Rich Brown
CeroWrt-devel list: https://lists.bufferbloat.net/listinfo/cerowrt-devel
32 29 Rich Brown
CeroWrt-Commits list: https://lists.bufferbloat.net/pipermail/cerowrt-commits/
33 61 Rich Brown
Lab Notebook in Github: https://github.com/dtaht/deBloat
34 1
IRC: Find us on "IRC on chat.freenode.net":irc://chat.freenode.net:6667/bufferbloat, #bufferbloat channel
35 1
36 1
h2. Try the Software
37 1
38 64 Rich Brown
The current Linux 3.3 builds are usable, although they may have bugs. They give considerable improvement to the bufferbloat problem and continue to provide a good platform for testing various algorithms.
39 63 Rich Brown
40 65 Rich Brown
Many people are using these builds as a second router in their homes. A few brave souls are using it as their production router.
41 63 Rich Brown
42 1
Download CeroWrt 3.3 builds: http://huchra.bufferbloat.net/~cero1/3.3/
43 1
44 64 Rich Brown
h2. Hardware Requirements
45 64 Rich Brown
46 64 Rich Brown
To minimize the effects of hardware dependencies, we have chosen the Netgear WNDR3700v2 or WNDR3800 as the sole hardware for the experiments. The open source support for it is extensive, it has a capable processor with 16MB of flash and 64MB of RAM, it supports a USB flash stick, they are inexpensive (around $120-130). The WNDR3800 has more RAM (128MB instead of 64), but either of these models will be fine for these experiments. The WNDR3700v3 model that has recently appeared on the market does _not_ work with CeroWrt; purchase the WNDR3800 if you want to be future-proof.
47 64 Rich Brown
48 63 Rich Brown
h2. Documents
49 1
50 63 Rich Brown
The documents below are correct for the current Linux 3.3 builds.
51 39 Rich Brown
52 65 Rich Brown
* [[CeroWrt_33_Release_Notes|CeroWrt 3.3 Release Notes]]
53 1
* [[READ THIS FIRST]]
54 39 Rich Brown
* [[CeroWrt_flashing_instructions|Flashing Instructions]]
55 39 Rich Brown
* [[Installation Guide]]
56 69 Rich Brown
* [[FAQ|Frequently Asked Questions]]
57 53 Rich Brown
* [[device_naming_scheme|Default interface naming scheme]]
58 53 Rich Brown
* [[Default_network_numbering|Default network numbering scheme]]
59 53 Rich Brown
* [[Changing_your_cerowrt_ip_addresses|Changing IP, DNS, and SSID]]
60 53 Rich Brown
* [[Monitoring CeroWrt|Monitoring CeroWrt with SNMP and NetFlow]]
61 51 Rich Brown
62 70 Rich Brown
h3. Older Information
63 54 Rich Brown
64 72 Rich Brown
The [[Historical Documents]] page links to many documents that describe the history of the project.