InternetHealthReport / as-hegemony

Compute network dependencies
3 stars 6 forks source link

Hegemony value greater than 1 #4

Closed sim-azan closed 3 months ago

sim-azan commented 2 years ago

Hi. I notice that for origin AS = 51929, the hegemony value towards AS 57208 is larger than 1. Below are some outputs from the API. This seems to happen sometime after Feb2021.

API output: { "timebin": "2021-08-30T23:45:00Z", "originasn": 51929, "asn": 57208, "hege": 1.34119782214156, "af": 4, "asn_name": "TELECOMPUTING-SE Visolit Sweden AB, SE", "originasn_name": "ITM-SE Visolit Sweden AB, SE" },

{ "timebin": "2021-01-10T23:45:00Z", "originasn": 51929, "asn": 57208, "hege": 0.601615120274914, "af": 4, "asn_name": "TELECOMPUTING-SE Visolit Sweden AB, SE", "originasn_name": "ITM-SE Visolit Sweden AB, SE" },

{ "timebin": "2021-02-10T23:45:00Z", "originasn": 51929, "asn": 57208, "hege": 0.689540229885057, "af": 4, "asn_name": "TELECOMPUTING-SE Visolit Sweden AB, SE", "originasn_name": "ITM-SE Visolit Sweden AB, SE" },

{ "timebin": "2021-03-10T23:45:00Z", "originasn": 51929, "asn": 57208, "hege": 1.38091503267974, "af": 4, "asn_name": "TELECOMPUTING-SE Visolit Sweden AB, SE", "originasn_name": "ITM-SE Visolit Sweden AB, SE" },

m-appel commented 3 months ago

Better late then never, this is finally addressed. And for closure I'll document the cause and solution here as well.

This was caused by "invalid" AS paths that technically included a routing loop. For example, AS215463 had a 200% (2.0) dependency on AS44327. The reason for this is that AS44327 (or someone) does something weird with their routing:

Screenshot from 2024-06-13 10-27-31 From Hurricane Electric.

The AS path is 15924 44327 16010 44327 215463 and we did not handle this case, since we only expected path prepending. This way AS44327 shows up more frequently than the origin AS, which is used as the base for normalization, causing scores larger than one.

We now make ASes unique in the entire path, which fixes this issue.