Как IP-адреса сопоставляются с номерами автономных систем (ASN)? Есть ли для него справочная база данных? Тогда как же географически расположены эти автономные системы?
Примечание. Эта информация отчасти ориентирована на RIPE, потому что это RIR, с которым я имею дело больше всего.
Отношения между IP-адресами (inet-num
) и ASN (aut-num
) задокументированы в общедоступных реестрах маршрутизации Интернета (IRR) с использованием языка спецификации политики маршрутизации (RPSL). IRR - это просто базы данных whois, которые предоставляют дополнительные типы объектов (route
, route-set
, aut-num
, as-set
и т. д.) для хранения информации RPSL. IRR обслуживаются всеми региональными интернет-регистратурами (RIR, такими как RIPE, ARIN и т. Д.), А также некоторыми другими сторонами, такими как РАДБ.
RPSL может определять не только aut-num
относится к которому inet-num
объекты, но также транзитные и пиринговые механизмы данного aut-num
. Эта информация может использоваться для построения конфигураций маршрутизатора, например, с помощью утилиты RtConfig. Кроме того, некоторые LIR документируют свои политики для приема новых одноранговых запросов и сообщества BGP, которые они делают здесь доступными своим партнерам.
Важно отметить, что помимо автоматической настройки маршрутизаторов с помощью RPSL нет никакого «волшебного клея» между данными IRR и тем, что на самом деле происходит в дикой природе. RPSL - это оптимальная практика, которую следует постоянно обновлять, но это не означает, что есть какие-либо технические препятствия для объявления маршрута без предварительной публикации его в RPSL.
В качестве примера давайте посмотрим, какие маршруты задокументированы для сайта BBC:
dan.carley@jim ~ $ whois -T route $(dig +short bbc.co.uk)
% This is the RIPE Database query service.
% The objects are in RPSL format.
%
% The RIPE Database is subject to Terms and Conditions.
% See http://www.ripe.net/db/support/db-terms-conditions.pdf
% Note: This output has been filtered.
% To receive output for a database update, use the "-B" flag.
% Information related to '212.58.224.0/22AS2818'
route: 212.58.224.0/22
descr: BBC
origin: AS2818
mnt-by: BBC-MNT
source: RIPE # Filtered
% Information related to '212.58.224.0/20AS2818'
route: 212.58.224.0/20
descr: BBC (EU network)
origin: AS2818
mnt-by: BBC-MNT
source: RIPE # Filtered
% Information related to '212.58.224.0/19AS2818'
route: 212.58.224.0/19
descr: BBC
origin: AS2818
mnt-by: BBC-MNT
source: RIPE # Filtered
Это означает, что их веб-сайт будет доступен по трем маршрутам увеличивающегося размера (/ 19, / 20 и / 22 с тем же префиксом) через AS2818. Запрос этого ASN предоставит нам дополнительную информацию об их партнерах и политиках (для краткости вырезано):
dan.carley@jim ~ $ whois -T aut-num as2818
% This is the RIPE Database query service.
% The objects are in RPSL format.
%
% The RIPE Database is subject to Terms and Conditions.
% See http://www.ripe.net/db/support/db-terms-conditions.pdf
% Note: This output has been filtered.
% To receive output for a database update, use the "-B" flag.
% Information related to 'AS2818'
aut-num: AS2818
as-name: BBC
descr: BBC Internet Services, UK
import: from AS174 action pref=100; accept AS174
import: from AS286 action pref=100; accept AS-KQ AS-QWEST
import: from AS553 action pref=100; accept AS-BELWUE
import: from AS702 action pref=50; accept AS-UUNETUK
[..]
export: to AS174 announce AS-BBC
export: to AS286 announce AS-BBC
export: to AS553 announce AS-BBC
export: to AS702 announce AS-BBC
[..]
Статического сопоставления между IP-адресами и AS нет, а AS не имеет местоположения.
AS - это номер, присвоенный компании для их идентификации в Интернете. Он используется для BGP протокол маршрутизации.
Компания сообщает с помощью BGP, что некоторые сетевые IP-адреса (скажем, сеть Y) доступны внутри его AS (скажем, AS X). Затем другие компании знают, что для достижения сети Y они должны разговаривать с AS X, с этой информацией маршрутизаторы других компаний ищут лучший путь для достижения AS X.
Ничто не мешает рекламировать некоторые сети на многих AS (и это используется в каком-то частном случае). Чтобы увидеть динамическое отображение того, что анонсируется в Интернете в «реальном времени», вы можете использовать этот сайт. Это как информация ATT AS, просмотрев вкладку Prefixes IPv4, вы увидите, какую сеть они рекламируют. Но официального картографирования нет, так как любой может объявить что угодно.
RIR публикуют большой объем информации, обновляемой ежедневно, и предлагают API для запроса этой информации. Например, придерживаясь AS2818 и RIPE:
$ curl https://stat.ripe.net/data/announced-prefixes/data.json?resource=AS2818
{
"status": "ok",
"server_id": "stat-app10",
"status_code": 200,
"version": "1.2",
"cached": true,
"see_also": [],
"time": "2018-04-12T15:29:22.144419",
"messages": [
[
"info",
"Results exclude routes with very low visibility (less than 3 RIS full-feed peers seeing)."
]
],
"data_call_status": "supported - connecting to ursa",
"process_time": 4,
"build_version": "2018.4.11.320",
"query_id": "20180412152922-853B48D2-C00D-44AD-A628-A9B8CF444B58",
"data": {
"resource": "2818",
"prefixes": [
{
"timelines": [
{
"endtime": "2018-04-12T08:00:00",
"starttime": "2018-03-29T08:00:00"
}
],
"prefix": "132.185.0.0/16"
},
{
"timelines": [
{
"endtime": "2018-04-12T08:00:00",
"starttime": "2018-03-29T08:00:00"
}
],
"prefix": "2001:41c1::/32"
},
{
"timelines": [
{
"endtime": "2018-04-12T08:00:00",
"starttime": "2018-03-29T08:00:00"
}
],
"prefix": "132.185.128.0/20"
},
{
"timelines": [
{
"endtime": "2018-04-12T08:00:00",
"starttime": "2018-03-29T08:00:00"
}
],
"prefix": "212.58.224.0/19"
},
{
"timelines": [
{
"endtime": "2018-04-12T08:00:00",
"starttime": "2018-03-29T08:00:00"
}
],
"prefix": "132.185.112.0/20"
}
],
"query_starttime": "2018-03-29T08:00:00",
"latest_time": "2018-04-12T08:00:00",
"query_endtime": "2018-04-12T08:00:00",
"earliest_time": "2000-08-01T00:00:00"
}
}
Есть много других конечных точек со связанной информацией о stat.ripe.net.