В этих архивах должны быть маршруты ( префикс, маска, ас-патч + данные о источнике ( роутере ) из чьей таблицы маршрутизации этот маршрут получен ).
Меня интересует:
а) из каких источников получены патчи ( автономная система и желательно данные о локализации роутера ).
б) интересуют патчи до определенных автономных систем и(или) отдельных префиксов.
Зачем?
Хочу понять алгоритм, как кайда суммирует эти патчи потому, как у меня получаются данные резко расходящиеся с их аналитикой.
Поэтому мне не понятно, как считается статистика и откуда ( с каких маршрутизаторов ) она берется.
И вместо того чтобы гадать, проще открыть и посмотреть что к чему.
Но с "открыть и посмотреть" вышла засада... Не зная английского не могу разобраться даже в структуре архива. За ссылку спасибо, но я это уже пытался осилить, признался сам себе - что я полный идиот, и не понимаю до конца, что там написано.
Я нашел некую независимую аналитику архивов Кайды. Автор - Павел Гульчук ( Киев, Украина ). Исходные тексты на Перле и Си - в открытом доступе.
Структура архивов там описана так:
#define MAXPATHLEN 256
#define MAXPATHES 255
#define MAJVER 0
#define MINVER 7
struct dump_entry ;
int open_dump(FILE *f);
int read_dump(FILE *f, struct dump_entry *entry);
void debug(int level, char *format, ...);
void warning(char *format, ...);
void error(char *format, ...);
#define BGPDUMP_TYPE_ASRANK_PEERLIST ((71ul<<16) | 1)
#define BGPDUMP_TYPE_ASRANK_PREF ((71ul<<16) | 2)
Помогите перевести структуру в паскалевские "единицы измерения"
у мнея получилось вот так...
dump_entry = record
prefix : Longword;
preflen : word;
pathes : word;
withdraw : word;
origas : array[0..MAXPATHES] of Longword;
peerip : array[0..MAXPATHES] of Longword;
aspath : array of array [0..MAXPATHES, 0..MAXPATHLEN] of Longword;
time_t : array [0..MAXPATHES] of ??? ( Char ? );
end;
но что-то не бьет... первые 32 бита - это не префикс...