Как проверить, работает ли интернет
easy

Как проверить, работает ли интернет

Рассказываем про две команды, которыми пользуются сотрудники техподдержки провайдера

Иногда бывает так: компьютер вроде подсоединён к сети, а интернета нет: сайты не грузятся, ютуб не работает, жизнь замерла. При этом значок соединения есть, но по факту ничего не работает. Рассказываем, как проверить, в чём дело, и что можно выяснить до звонка в техподдержку.

Что будем делать

В каждой операционной системе для компьютеров есть две команды, которые чаще всего используются для диагностики работы интернета. Наша задача — выяснить, может ли сама операционная система выходить в интернет или он ей тоже недоступен. Случается такое, что система может выходить в сеть, а программы (браузер, например) — нет. Это значит, что с интернетом всё в порядке, а причину надо искать в программах.

Что понадобится

Чтобы понять, есть ли интернет в принципе, используют две команды:

  1. ping
  2. tracert в Windows или traceroute в Linux и MacOS

Это консольные команды, поэтому для работы с ними понадобится командная строка или терминал. Чтобы начать с ним работать в Windows, нажмите сочетание клавиш Win+R, в появившемся окошке напишите cmd и нажмите Enter. В MacOS делается по-другому: нажимаете ⌘+пробел, пишете terminal и нажимаете Enter.

Запущенный терминал в MacOS. Сюда мы будем вводить те две команды

Ping

Командой ping мы проверяем, может ли операционная система связаться с выбранным сервером или сайтом в интернете.

Принцип действия:

  1. Компьютер посылает запрос на выбранный сервер и засекает время.
  2. Как только пришёл ответ от сервера — выводим время, за которое запрос дошёл до места и вернулся обратно.
  3. Если ответа нет — будет сообщение, что превышено время ожидания.
  4. Так будет происходить раз за разом до тех пор, пока мы не нажмём Ctrl+С.

Если мы всё время получаем сообщение, что превышено время, то, скорее всего, с интернетом что-то не так: запросы отправляются, но по каким-то причинам не возвращаются. Тут надо уже разбираться с провайдером.

Давайте разберём, что здесь происходит, на примере такой строчки:

64 bytes from 87.250.250.242: icmp_seq=4 ttl=247 time=15.995 ms

64 — это размер нашего запроса в байтах. Его можно сделать больше или меньше для разных случаев. 

87.250.250.242 — адрес одного из серверов Яндекса, который отвечает за ya.ru.

icmp_seq=4 — сейчас перед нами будет результат отправки пятого ICMP-пакета (потому что нумерация начинается с нуля).

ttl=247 — время жизни пакета составляет 247 пересылок. Про время жизни поговорим чуть ниже.

time=15.995 ms — запрос до сервера и обратно шёл почти 16 миллисекунд. Этого вполне хватит для обычного использования интернета, но может быть критично много для игр. 

В самом конце программа сообщает, что у нас 10 пакетов ушло, 10 пришло и 0% потерь, то есть соединение стабильное.

Что такое TTL, или время жизни пакета

Перед тем, как говорить о следующей команде, расскажем про TTL.

Когда данные разделяются на части для отправки через сеть, это называется пакетом. Основное, что делают сетевое оборудование и служебные сервисы, — получают пакеты и пересылают их дальше. Но бывает так, что по разным причинам пакет начинает ходить по кругу: сервер1 → роутер → сервер 2 → роутер → сервер 1 и так далее. Если таких пакетов станет много, они забьют всю сеть и новые данные отправить не получится.

Решение придумали такое: одним из параметров пакета сделали TTL, что расшифровывается как «Время жизни пакета» (time to live). Каждый раз, когда пакет пересылается от одного устройства к другому (такие пересылки называются «хопами»), это значение уменьшается на 1. Как только этот параметр у пакета станет равен нулю, маршрутизатор удаляет этот пакет.

Tracert или traceroute

В разных операционных системах эта команда пишется по-разному:

  • tracert — в Windows;
  • traceroute — в Linux и MacOS.

Ещё они немного различаются форматами и параметрами отправляемых пакетов, но в целом делают одно и то же: выводят весь маршрут, который проходит пакет от вашего компьютера до выбранного сервера.

С помощью этой команды сисадмины выясняют, на каком этапе сеть перестаёт работать как нужно и кто виноват: оборудование клиента, общедомовый роутер или сервер провайдера.

Работает это так:

  1. Компьютер отправляет первый запрос на выбранный сервер и устанавливает ему TTL=1.
  2. Это значит, что пакет дойдёт только до следующего устройства, например домашнего роутера, и на этом его путь закончится. 
  3. Компьютер показывает время прохода пакета до первого устройства.
  4. Затем компьютер отправляет второй запрос на выбранный сервер и устанавливает ему TTL=2. Теперь запрос может пройти два устройства — домашний роутер и, например, общедомовый. 
  5. Компьютер показывает время прохождения пакета до второго устройства.
  6. Так, шаг за шагом, компьютер увеличивает TTL до тех пор, пока пакет не дойдёт до финального сервера.

В итоге мы получаем полную карту прохождения пакета, и если пакет где-то стопорится и дальше не идёт — скорее всего, проблема в этом узле или сразу после него. Так техподдержка выясняет, где поломка и что делать дальше.

Теперь практика. Например, команда traceroute thecode.media покажет весь маршрут пакета до сайта «Кода»:

Время прохождения пакета в миллисекундах здесь уже не так важно, как IP-адреса, которые идут первыми в статистике. В нашем примере маршрут был такой:

  • router.lan (192.168.88.1) — домашний роутер;
  • 192.168.55.1 — районный роутер провайдера;
  • * * * — какой-то сервер или маршрутизатор, который специально не отвечает на trace-запросы, поэтому адреса мы не видим;
  • lag-2-435.bgw01.bryansk.ertelecom.ru (109.194.8.18) — сервер городского провайдера в Брянске;
  • ertelecom.w-ix.ru (193.106.112.151) — сервер другого провайдера;
  • selectel.w-ix.ru и 92.53.93.57 — серверы Селектела, на которых размещается наш сайт;
  • 31.184.208.243 — адрес сервера, на котором работает «Код».

А вот как выглядит трассировка до того же сайта, но при подключении через мобильный интернет:

Шагов стало больше, и появилось больше узлов, которые не отвечают на trace-запросы, — это могут быть вышки сотовой связи и внутреннее магистральное оборудование провайдера. На восьмом запросе наш пакет дошёл до сервера 46.229.142.76 — это сетевой узел «Мегафона» в Нижнем Новгороде, через который запросы по скоростному магистральному каналу отправляются в интернет.

Что дальше

Впереди будет ещё несколько практических занятий, которые помогут лучше разобраться с тем, как работают привычные нам вещи. Подпишитесь, чтобы не пропустить остальное.

Обложка:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Вам может быть интересно
easy
[anycomment]
Exit mobile version