Диагностика сети

Для диагностики сети прежде всего нужно понять на каком уровне у нас проблема. Для этого используется эталонная модель, так называемая модель OSI:

Для понимания проблемы как правило хватает первых четырех уровней:

  1. Физический
  2. Канальный
  3. Сетевой
  4. Транспортный

Давайте разберём каждый уровень.

Физический уровень - как понятно из названия, это среда передачи данных, то есть кабели, порты, хабы и т.д. Если у нас не работает сеть - первым делом проверяем всё ли у нас впорядке с кабелями и оборудованием, горят ли лампочки на сетевых картах и оборудовании.

Второй уровень канальный. На канальном уровне работает протокол ethernet, адресация осуществляется по MAC адресам и используется в основном оборудованием. В редких случаях возможны проблемы с передачей данных, при так называемом спуфинге (подмене) MAC адресов. Для диагностики можно использовать команду arp -a, и проверить совпадает ли адрес с адресом искомого оборудования.

Третий уровень, наш любимый сетевой. Это уровень IP адресов. Если мы находимся в одной подсети с оборудованием которое не работает, первым делом нужно проверить физическое соединение и работоспособность оборудования, через которое мы соединены (как правило это коммутатор). Если же нужный IP адрес за пределами сети - используем команду tracert (или traceroute в linux). С помощью неё мы сможем увидеть, до какого узла доходит наш пакет. Данный тест может давать сбои, так как работает по протоколу ICMP, а он может быть запрещен на промежуточном оборудовании. В этом случае переходим к транспортному уровню.

На четвертом, транспортном уровне мы сталкиваемся с такой сущностью как порты. Когда пакет приходит на нужный IP адрес, для его доставки нужному приложению используется номер порта. Например веб сайты используют либо 80-й либо 443 (шифрованный) порт. И Ваш браузер знает что на эти порты нужно отправлять запросы к сайтам. Предположим что физический канальный и транспортный уровень работают. Осталось проверить сам веб сервер. Для этого используем программу telnet. По умолчанию этот компонент не установлен, поэтому заходим в установку и удаление программ, программы и компоненты, и устанавливаем оттуда telnet клиент.

Теперь у нас есть возможность проверить, отвечает ли веб сервер. Для этого в командной строке (CMD) набираем: telnet itquestion.ru 443

В случае если сервер работает, мы увидим мигающий курсор и черный экран - подключение установлено, и сервер ждет команды. А вот если мы увидим ответ “подключение не установлено”, значит веб сервер не отвечает (не работает). То есть проблема либо на нижних уровнях, или, если всё работает, проблема с самим веб сервером.