Интегрированные сети ISDN


Пример диагностируемой сети - часть 2


В сети используются протоколы TCP/IP, Novell, Arcnet и др.. Проблема диагностики такой сети достаточно актуальна. Мы сначала использовали традиционные программные средства типа ping, traceroute, netstat, arp, snmpi, dig (venera.isi.edu/pub), hosts, nslookup, ifconfig, ripquery, поставляемые со многими сетевыми пакетами. Позднее пытались адаптировать общедоступные диагностические средства типа: netwatch (windom.ucar.edu), snmpman (http:// www.smart.is/pub/mirror-indstate/snmp), netguard (oslo-nntp,eunet.no/pub/msdos/winsock/apps), ws_watch (bwl.bwl.th-harmstadt.de/windows/util). Среди наиболее часто встречающихся проблем: разрывы кабельных сегментов, несанкционированное использование IP-адресов, некачественное питание сетевого оборудования, отказы тех или иных устройств.

Не все ЭВМ имеют активные SNMP-резиденты, это происходит по причине экономии оперативной памяти или по соображениям безопасности. Еще меньше snmp-агентов, доступных в режиме public (поле SNMP-пакета community; формат пакетов описан, например, в книге Семенова Ю.А. “Протоколы и ресурсы Интернет”, Москва, “Радио и связь”, 1996). Но для контроля ситуации достаточно иметь по одному активному SNMP-резиденту на каждом из кабельных сегментов. При этом не обязательно ставить их в общедоступный режим, можно использовать для получения диагностической информации и пароль.

При написании диагностической программы не нужно пытаться считывать все переменные и таблицы MIB. База данных весьма велика и для целей диагностики не все ее записи представляют интерес. При написании нашей диагностической программы были отобраны 35 переменных (ниже приводится сокращенный список):

interface.iftable.ifentry.ifinucastpkts

Число полученных обычных пакетов;

interface.iftable.ifentry.ifinnucastpkts

Число полученных широковещательных и мультикаст-пакетов;

interface.iftable.ifentry.ifinerrors

Число ошибок при приеме пакетов;

interface.iftable.ifentry.ifoutucastpkts

Число посланных обычных пакетов;

interface.iftable.ifentry.ifinnucastpkts

Число посланных широковещательных и мультикаст-пакетов;

interface.iftable.ifentry.ifinunknownprotos

Число полученных пакетов с неизвестным кодом протокола;

ip.ipinreceives

Полное число ip-дейтограмм, включая полученные с ошибкой;

ip.ipinhdrerrors

Число входных ip-дейтограмм с ошибками в заголовке пакета, включая ошибки контрольной суммы, ttl и т.д.

ip.ipinaddrerrors

Число полученных пакетов с ошибкой в адресе;

ip.ipinunknownprotos

Число входных ip-дейтограмм, с кодами протоколов, которые не поддерживаются данной системой;

ip.ipreasmreqds

Число полученных фрагментов, которые требуют сборки;

ip.ipindelivers

Число ip-дейтограмм, принятых без ошибок (включая icmp);

icmp.icmpinmsgs

Число полученных icmp-пакетов;(другие 10 контролируемых переменных icmp-группы из соображений экономии места из списка исключены);

udp.udpindatagrams

Число принятых udp-дейтограмм;

udp.udpoutdatagrams

Число отправленных udp-дейтограмм;

udp.udpnoports

Полное число udp-дейтограмм, для которых не существует приложения для указанного номера порта;

udp.udpinerrors

Число udp-дейтограмм, которые не могут быть доставлены не по причине отсутствия приложения по указанному порту;

tcp.tcpinsegs

Число принятых tcp-сегментов;

tcp.tcpoutsegs

Число отправленных TCP-сегментов;

tcp.tcpretranssegs

Число tcp-сегментов с повторной пересылкой;

tcp.tcpoutrsts

Число сегментов с флагом rst=1;

tcp.tcpinerror

Число tcp-сегментов, полученных с ошибкой.

<


Начало  Назад  Вперед