Сетевая
диагностика:
новый взгляд
сквозь старые
щели
Евгений Усков
Qrator Labs
Постановка задачи
Кто виноват?
Проблемы в самом
приложении
(frontend/backend)
Причина
Кто виноват?
Проблемы в самом
приложении
(frontend/backend)
Сетевые аномалии
➢ большие задержки
➢ потери пакетов
➢ разрывы TCP-соединений
Причина
Кто виноват?
Проблемы в самом
приложении
(frontend/backend)
Сетевые аномалии
➢ большие задержки
➢ потери пакетов
➢ разрывы TCP-соединений
Причина
Первая помощь: ping
Отправляем ICMP Echo Request …
… получаем ICMP Echo Reply
Первая помощь: ping
Отправляем ICMP Echo Request …
… получаем ICMP Echo Reply
… или не получаем
Первая помощь: hping
ICMP-пакеты часто фильтруются
Можно попробовать другие протоколы:
hping ya.ru -1 ICMP
hping ya.ru -S -p 80 TCP SYN
hping ya.ru -1 -a 1.2.3.4 указать 1.2.3.4 в
качестве source адреса
traceroute
Построение маршрута до заданного хоста:
➢
последовательно отправляем пакеты с TTL = 1, 2, …
➢
принимаем ICMP TTL Exceed от промежуточных узлов
SRC R1 R1 DST
TTL=1 TTL=2 TTL=3
TTL Exceed
TTL Exceed
Response
Может использовать различные протоколы:
ICMP, UDP, TCP (tcptraceroute)
Лучше: mtr
Трассировка в реальном времени!
Преимущества traceroute/mtr:
➢
сразу строит полный маршрут
➢
показывает задержки и потери пакетов
➢
сразу видно проблемный участок
Лучше: mtr
Трассировка в реальном времени!
Преимущества traceroute/mtr:
➢
сразу строит полный маршрут
➢
показывает задержки и потери пакетов
➢
сразу видно проблемный участок
Однако так ли все просто?
Диагностика 1
Задача: есть ли проблемы на данном участке маршрута?
Host Loss%
...
3. te1-1.ar2.DCA3.gblx.net 0.0%
4. te1-2-10g.ar3.DCA3.gblx.net 0.0%
5. sl-st21-ash-8-0-0.sprintlink.net 87.9%
6. 144.232.20.149 0.0%
7. sl-bb20-dc-15-0-0.sprintlink.net 0.0%
Диагностика 1
Задача: есть ли проблемы на данном участке маршрута?
Host Loss%
...
3. te1-1.ar2.DCA3.gblx.net 0.0%
4. te1-2-10g.ar3.DCA3.gblx.net 0.0%
5. sl-st21-ash-8-0-0.sprintlink.net 87.9%
6. 144.232.20.149 0.0%
7. sl-bb20-dc-15-0-0.sprintlink.net 0.0%
Нет! Это всего-лишь деприоритезация!
Диагностика 2
Задача: определить проблемный стык
Host Loss%
...
3. te1-1.ar2.DCA3.gblx.net 0.0%
4. te1-2-10g.ar3.DCA3.gblx.net 0.0%
5. sl-st21-ash-8-0-0.sprintlink.net 70.9%
6. 144.232.20.149 72.3%
7. sl-bb20-dc-15-0-0.sprintlink.net 72.8%
Диагностика 2
Задача: определить проблемный стык
Host Loss%
...
3. te1-1.ar2.DCA3.gblx.net 0.0%
4. te1-2-10g.ar3.DCA3.gblx.net 0.0%
5. sl-st21-ash-8-0-0.sprintlink.net 70.9%
6. 144.232.20.149 72.3%
7. sl-bb20-dc-15-0-0.sprintlink.net 72.8%
Типичный ответ: GBLX - Sprint
Диагностика 2
Типичный ответ: GBLX – Sprint
Правильный ответ:
Диагностика 2
Типичный ответ: GBLX – Sprint
Правильный ответ:
Где может быть проблема
? ?
?
BGP
Автономная система (AS) — система IP-сетей и
маршрутизаторов, управляемых одним или несколькими
операторами, имеющими единую политику маршрутизации
с Интернетом
AS2 AS1
AS3
AS4
BGP
AS2 AS1
AS3
AS4
Протокол BGP:
➢
автономные системы обмениваются информацией о
доступности сетей
➢
на основе полученной информации принимается
решение о маршрутизации
BGP
Чем определяется принимаемое решение?
BGP
Чем определяется принимаемое решение?
BGP
Процент асимметричных путей для некоторых АС
MTS (8359) 52.9%
ReTN (9002) 31.8%
TATA (6453) 31.1%
Level3 (3356) 27.5%
Экономические
отношения
не симметричны
Пути также
не симметричны
Обратный путь
Задача: определить обратный путь
➢
ping + Record Route
➢
Looking Glasses
➢
RIPE Atlas
➢
NLNOG Ring
➢
Planetlab
➢
Reverse Looking Glass (Qrator Radar)
Снова ping ...
… с опцией Record Route!
ping -R R4
1. R1
2. R2
3. R4
4. R4
5. R3
6. R1
R1
R2
R4
R3
Снова ping ...
… с опцией Record Route!
ping -R R4
1. R1
2. R2
3. R4
4. R4
5. R3
6. R1
R1
R2
R4
R3
Обратный путь
Record Route
Pros:
➢
полнота: можно отправить пакет любому хосту
Cons:
➢
можно сохранить только 9 адресов ...
➢
… путь в одну сторону обычно содержит от 8
до 30 хопов
➢
данные часто далеки от идеала
Looking glass
Есть у многих операторов
Типичный LG позволяет запускать:
➢
ping
➢
traceroute
➢
show BGP route
Looking glass
Какой будет путь из Мегафона до msu.ru?
Looking glass
Какой будет путь из Мегафона до msu.ru?
188.44.32.0/19 (2 entries, 1 announced)
*BGP Preference: 170/-281
...
Local AS: 31133 Peer AS: 3267
...
AS path: 3267 2848 I
AS path: Recorded
...
RIPE Atlas
RIPE Atlas
Pros:
➢
Хорошее покрытие:
➢
>8000 точек мониторинга
➢
почти 3000 IPv4 АС, около 1000 IPv6 АС
➢
172 страны
➢
чтобы получить доступ, достаточно установить точку
мониторинга
➢
наличие API
Cons:
➢
ограниченный набор
запросов: ping, traceroute,
DNS, NTP, SSL
➢
каждый запрос тратит
credits
RIPE Atlas
Визуализация инцидента с AMS-IX:
NLNOG Ring
Pros:
➢
(почти) произвольные запросы
➢
Looking Glass для нескольких узлов
Cons:
➢
для получения доступа
нужно установить
полноценный узел
➢
покрытие: 366 узлов, 326 АС,
48 стран
Planetlab
Planetlab
Особенности:
➢
похож на NLNOG Ring
➢
есть платный доступ
➢
покрытие: 1336 узлов, около 250 АС
Активная диагностика
Позволяет получить полноценный обратный путь …
… но только для некоторых АС
Недостатки:
➢
недостаточная полнота
➢
сложность установки
Как быть, если для АС нет Looking Glass и она
не входит в покрытие описанных ранее
средств?
Reverse LG (Qrator)
Что умеет:
➢
определять обратный путь от произвольной АС
➢
определять альтернативные пути
В основе – математическая модель логических отношений
между АС
Reverse LG (Qrator)
Пример: определение путей от AS8331 до AS-QRATOR
(AS197068):
Active Paths:
197068 x1 9002 x1 8331
Alternative Paths:
197068 x1 9002 x1 12714 x1 8331
197068 x1 9002 x1 42632 x1 8331
...
Reverse LG (Qrator)
Пример: определение путей от TeliaSonera (AS1299) до AS-
QRATOR (AS197068):
Reverse LG (Qrator)
Пример: определение путей от TeliaSonera (AS1299) до AS-
QRATOR (AS197068):
Active Paths:
197068 x2 6453 x1 1299
197068 x2 6461 x1 1299
197068 x1 9002 x1 2914 x1 1299
197068 x1 20485 x1 3549 x1 1299
197068 x1 20485 x1 6453 x1 1299
197068 x1 50304 x1 174 x1 1299
Alternative Paths:
197068 x2 2828 x1 1299
Reverse LG (Qrator)
Позволяет определить:
➢
обратный путь от произвольной АС
➢
альтернативные пути
Для получения доступа необходимо:
➢
подтвердить доступ к своей АС
➢
установить BGP-сессию с AS-QRATOR
Спасибо!
Вопросы?

RootConf 2015