Мониторинг физического уровня контролирует связность устройства с непосредственно сопряжённым физическим устройством и производится по сигналу Carrier Detect физического порта. Однако для разных типов портов он работает по-разному:
netping
в общем случае.Мониторинг канального уровня контролирует связность устройства со смежным устройством этого уровня — например, с сервером PPP, минуя все промежуточные устройства нижележащих уровней (сотовые и телефонные сети с их собственными инкапсуляциями и протоколами, и т.п.) Из числа технологий, актуальных на сегодняшний день, он предусмотрен только в PPP в виде обмена пакетами LCP Echo Request / Echo Reply. Если не получено несколько пакетов подряд, соединение считается разорванным.
Мониторинг на канальном и на любых вышестоящих уровнях принципиально не может быть мгновенным, а может основываться, так или иначе, исключительно на посылке контрольных пакетов (в отсутствие полезных данных). Либо каждая сторона, независимо от другой, посылает через установленные интервалы времени пакеты Request некоторого протокола и ждёт ответных Reply (так сделано, например, в PPP), либо обе стороны посылают пакеты keepalive и следят за тем, чтобы они регулярно приходили от другой стороны (например, в Cisco-HDLC). В обоих случаях время срабатывания контрольных механизмов всегда конечное и равно, в наихудшем случае, произведению интервала посылки на допустимое число потерянных пакетов.
Мониторинг сетевого уровня контролирует связность устройства с конечным IP-хостом, минуя все промежуточные узлы IP-сети и все промежуточные устройства нижележащих уровней (коммутаторы Ethernet, системы доступа Ethernet-over-xDSL, сотовые сети и т.п.) в каналах связи между этими узлами. Он также возможен только по принципу keepalive либо echo и имеет конечное время срабатывания.
Наиболее употребительным вариантом является netping
— скрипт на основе утилиты ping, использующий пакеты ICMP Echo Request / Echo Reply. Именно его удобно использовать для контроля каналов доступа Ethernet. Возможны также механизмы и на основе других типов пакетов.
Мониторинг прикладного уровня реализуется непосредственно в приложениях, работающих поверх сети, и контролирует связность конечных прикладных хостов — клиента и сервера (например, банкомата и процессингового центра), или узлов одноранговой сети. Поскольку особенности работы конкретных приложений находятся, по существу, вне компетенции администратора транспортной сети, то единственное, что возможно — принять его к сведению. В частности, именно этот механизм должен управлять переустановлением TCP-соединений и датаграммных потоков после перехода на другой канал связи при наличии NAT.
Встроенные средства мониторинга в туннелях (разнообразные keepalive, echo, dead peer detection — в зависимости от технологии) работают аналогично механизмам прикладного уровня. Однако существенная разница состоит в том, что концы туннеля находятся непосредственно в руках сетевого администратора. С другой стороны, следует помнить, что поверх них могут работать ещё механизмы мониторинга прикладного уровня.
При одновременной работе нескольких механизмов мониторинга возникает дополнительная проблема — несогласованность их работы на разных уровнях. Практическое инженерное правило состоит в том, что время срабатывания контрольного механизма на каждом вышестоящем уровне должно быть примерно в 3 раза больше, чем на нижележащем, чтобы они не дёргали систему вразнобой. Предположим, например, что банкомат работает по туннелю, устанавливаемому через сотовую сеть 2G. Для устойчивого, без ложных срабатываний, обнаружения отказов сети рекомендуется, по практическому опыту, таймаут LCP Echo 3×15 сек = 45 сек. Тогда таймаут разрыва туннеля должен составлять порядка 2 мин, а таймаут прикладного ПО банкомата — 5–6 мин, что находится уже на пределе разумного. Именно по этой причине, в частности, актуален переход на сети 3G (UMTS), которые обеспечивают существенно меньшие задержки пакетов и, как следствие, позволяют сократить таймаут LCP Echo до 10 сек; пропорционально ему сокращаются и все остальные таймауты, что позволяет, в конечном счёте, вписаться в таймауты прикладного ПО банкомата.
Во всех случаях целесообразно использовать механизмы мониторинга соединений самого нижнего уровня из доступных. Для соединений PPP это комбинация DCD и LCP Echo — чтобы обеспечить гарантированное срабатывание плюс, по возможности, минимальное время срабатывания. Для соединений Ethernet приходится использовать, как правило, netping
. Для соединений псевдо-Ethernet "точка-точка" и "точка-многоточка" (Ethernet-over-G.703.6, туннели GRE с инкапсуляцией Ethernet, LTE, клиенты Wi-Fi) возможно использовать контроль DCD или его эквивалента.
ПРИМЕЧАНИЕ. В сетях отдельных операторов имеет место ситуация, когда при исчерпании средств на счету PPP-соединение устанавливается успешно, но при попытке выхода в Интернет клиент безусловно перенаправляется на платёжный портал оператора. Такие случай не могут быть обнаружены встроенными средствами мониторинга PPP 1–2 уровней и требуют применения механизмов более высоких уровней (netping
и др.).
© Network Systems Group 2015–2024 | Отдел документации |