Show figures of the routing table on the home page (closes #154)
check / check (push) Canceled after 0s
check / check (push) Canceled after 0s
The home page gets cards for the newest and oldest kept route, the newest and oldest updated AS, the AS with the most prefixes, the ASes with a single prefix and fifteen well-known networks. Two more cards count the bogon announcements and the prefixes with several origin ASes. They link to the new pages /bogons and /multiple-origins, which list up to 1,000 entries each. The new package internal/bogon tells reserved prefixes and AS numbers, from the IANA special-purpose and address space registries. Table.Overview walks the table and lets the read lock go every 10,000 prefixes. The server works the cards out once a minute and serves that copy. A new index on asns(last_seen) finds the newest and oldest updated AS. Model: opus-5-5
This commit was merged in pull request #196.
This commit is contained in:
@@ -70,6 +70,44 @@ one of its peers sends an update.
|
||||
- `GET /` - Home page (HTML): headline figures, lookups by AS number and by IP
|
||||
address, and a search of AS names. A card shows the `curl` command that looks
|
||||
up the visitor's own address at `/ip/{addr}`, and that command's live answer.
|
||||
Other cards show figures of the routing table, with links to the AS and prefix
|
||||
pages:
|
||||
- the newest and the oldest kept route, with its prefix, origin AS and time
|
||||
- the AS last seen in an AS path most recently, and the one last seen
|
||||
longest ago
|
||||
- the AS that originates the most prefixes
|
||||
- how many ASes originate a single prefix, and the most recently updated of
|
||||
them
|
||||
- the number of bogon announcements, linked to `/bogons`
|
||||
- the number of prefixes with more than one origin AS, linked to
|
||||
`/multiple-origins`
|
||||
- well-known networks, such as Apple, Google, Cogent and MIT, each with its
|
||||
number of prefixes and the time of its newest kept route, newest first
|
||||
|
||||
RouteWatch works these figures out once a minute, so they can be a minute
|
||||
old.
|
||||
|
||||
- `GET /bogons` - The bogon announcements (HTML): the routes whose prefix or
|
||||
origin AS is reserved. A prefix is reserved when it lies inside one of these:
|
||||
- a block that the IANA special-purpose address registries mark as not
|
||||
globally reachable
|
||||
- the multicast space, `224.0.0.0/4` and `ff00::/8`, which the IANA IPv4 and
|
||||
IPv6 address space registries list as Multicast
|
||||
|
||||
A reserved AS number is one of these:
|
||||
- an AS number for private use or for documentation
|
||||
- `AS23456`
|
||||
- the last AS number of the 16-bit or the 32-bit range
|
||||
|
||||
Address space and AS numbers that the IANA has not handed out yet are not
|
||||
counted. Each row shows the prefix, the origin AS, the number of peers and
|
||||
why it is a bogon. The page shows at most 1,000 rows, in prefix order, and
|
||||
says how many there are in all.
|
||||
|
||||
- `GET /multiple-origins` - The prefixes announced by more than one origin AS
|
||||
(HTML). Each row shows the origin ASes and how many peers carry the prefix
|
||||
with each. Like `/bogons`, it shows at most 1,000 rows, in prefix order, and
|
||||
says how many there are in all.
|
||||
- `GET /status` - HTML status dashboard, which reads `/api/v1/stats`
|
||||
- `GET /status.json` - JSON statistics: feed, memory, database and route
|
||||
figures. The route figures come from the routing table. `oldest_route` and
|
||||
@@ -248,6 +286,7 @@ routewatch/
|
||||
│ └── streamdumper/ # Debug utility for raw stream output
|
||||
├── internal/
|
||||
│ ├── blocklist/ # Public IP blocklists: downloads and lookups
|
||||
│ ├── bogon/ # Reserved prefixes and AS numbers
|
||||
│ ├── routewatch/ # Core application logic
|
||||
│ ├── server/ # HTTP server and handlers
|
||||
│ ├── database/ # SQLite storage layer
|
||||
|
||||
Reference in New Issue
Block a user