как узнать диапазон ip адресов
IP калькулятор
Калькулятор производит расчет адреса сети IPv4, широковещательного адреса, ip-адрес первого узла, ip-адрес последнего узла, количество узлов в заданной сети, маску подсети и инверсию маски (wildcard mask).
Данные представлены в десятичной и двоичных системах исчисления.
При построении сети, классы подсетей выбираются исходя из предполагаемого количества узлов в компьютерной сети. Если изначально выбрана подсеть вмещающая малое количество узлов (например, класс С c маской 255.255.255.0), при большом росте компьютерной сети часто приходится менять подсеть и маску подсети, чтобы не усложнять адресацию.
И наоборот, если изначально выбрана подсеть включающая в себя огромное количество хостов (например, класса А с маской 255.0.0.0), то при возникновении в компании филиальной сети, приходится сжимать подсети чтобы выделять подсети под филиалы.
Для того, чтобы рассчитать сетевые параметры, укажите IP-адрес хоста и маску подсети.
Справочная информация для IPv4:
Адреса зарезервированные для особых целей:
Подсеть | Назначение |
---|---|
0.0.0.0/8 | Адреса источников пакетов «этой» («своей») сети, предназначены для локального использования на хосте при создании сокетов IP. Адрес 0.0.0.0/32 используется для указания адреса источника самого хоста. |
10.0.0.0/8 | Для использования в частных сетях. |
127.0.0.0/8 | Подсеть для коммуникаций внутри хоста. |
169.254.0.0/16 | Канальные адреса; подсеть используется для автоматического конфигурирования адресов IP в случает отсутствия сервера DHCP. |
172.16.0.0/12 | Для использования в частных сетях. |
100.64.0.0/10 | Для использования в сетях сервис-провайдера. |
192.0.0.0/24 | Регистрация адресов специального назначения. |
192.0.2.0/24 | Для примеров в документации. |
192.168.0.0/16 | Для использования в частных сетях. |
198.51.100.0/24 | Для примеров в документации. |
198.18.0.0/15 | Для стендов тестирования производительности. |
203.0.113.0/24 | Для примеров в документации. |
240.0.0.0/4 | Зарезервировано для использования в будущем. |
255.255.255.255 | Ограниченный широковещательный адрес. |
Зарезервированные адреса, которые маршрутизируются глобально.
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Как узнать все IP провайдера, города, региона (области, республики) или страны
Все перечисленные здесь возможности теперь реализованы онлайн на едином сервисе. Смотрите: http://suip.biz/ru/
Список всех IP интернет-провайдера
Для получения списка диапазонов IP адреса провайдера есть несколько сервисов.
Например, Hurricane Electric BGP Toolkit — позволяет делать поиск по имени. Но у этого сервиса есть существенные недостатки, из-за которых мне не нравится им пользоваться:
Следующий сервис, который мне подсказал Гугл, это онлайн демонстрация программы «Тест IP v 1.7».
Мне понравилась работа этого сервиса — диапазоны выдаются в удобочитаемом формате. Но меня смущает надпись «Обновление от 15 дек 2014». Я не знаю, это относится к базе данных или к программе, но по сравнению с результатами из других источников, результаты этого сервиса несколько неполные.
В конечном счёте мне больше всего понравился сервис — 2ip.ua. Он не может искать по именам компании — нужно ввести один из IP, который принадлежит провайдеру, либо адрес веб-сайта провайдера, либо его RIPE NCC.
Главный его минус — это тот вид, в котором он выдаёт диапазоны адресов. Посмотрите сами:
и там этого ещё шесть экранов вниз…
Зато он оказался крайне дружелюбным для парсинга в командной строке.
Если вы хотите узнать все IP другого провайдера (а не вашего), то можно сделать так:
Вместо www.parc.com вам нужно указать любой IP, который принадлежит интересующему вас провайдеру, либо адрес его веб-сайта.
Список IP города, области
Для этого можно воспользоваться IpGeoBase.ru.
Причём результаты также легко поддаются парсингу. Если вы хотите сохранить список из IP какого-либо города, то сначала зайдите на сайт IpGeoBase.ru, задайте нужные вам опции и скопируйте адрес получившейся страницы.
Теперь в командную строку скопируйте команду
Где вместо ‘URL‘ введите адрес страницы на ipgeobase.ru, которую нужно пропарсить.
Результаты работы программы будут сохранены в файл diap_ip.txt.
Ещё один вариант — оффлайновый. Мне он даже ближе, т.к. актуальность базы данных IpGeoBase.ru вызывает у меня сомнения.
Скачиваем и распаковываем базу данных (она довольно большая — в распакованном виде более 400 мегабайт):
Чтобы прикинуть, правильно ли вы ищите, наберите примерно такую команду (Murom замените на интересующий вас город):
ВНИМАНИЕ: некоторые населённые пункты написаны по-русски! Пробуйте также русские названия.
Для очистки списка сделайте так:
Сохраняем в файл полученные результаты:
Если вы хотите получить все IP адреса какой-либо области, то смотрите мой пример. Меня интересует Владимирская область. Начните с укороченного названия на русском:
Результат пустой — хорошо, запомнили это и продолжаем. Пробуем сокращённое английское название:
Вариантов написания много: «Vladimir Oblast», Vladimirskaya Oblast\’, Province of Vladimir, Vladimirskaya oblast, Влади́мирская О́бласть (хм, запись нашлась по городу Vladimir, сколько ещё русских названий мы пропустили?). Если там что-то лишнее, то делаем примерно так:
У меня лишних результатов нет, поэтому я просто очищаю полученный по укороченного английскому названию список:
Список всех IP страны
Получить полный список IP любой страны очень просто.
Скачиваем и распаковываем базу данных (если не сделали этого раньше):
В следующей команде там где COUNTRY=RU, замените RU на двухсимвольное обозначение любой интересующей вас страны. Двухбуквенные коды любой страны вы можете узнать здесь.
Эта команда составит полный список IP и сохранит его в файл для РФ:
А эта команда сделает то же самое для Таиланда:
Как вычислить (город пользователя) по IP
Зная местоположение человека, можно сделать тысячу полезных и не очень вещей: предложить правильный товар и заранее назвать цену доставки, показать ареал обитания покемонов, вывести локальные новости или посоветовать кафе неподалеку.
Местоположение — это важно.
Какие бывают способы геолокации
Существует 2 базовых способа геолокации, если исключить парсинг геометок фотографий и шпионаж со спутников.
Взять IP-адрес пользователя и по специальному справочнику найти город со страной.
Узнать местонахождение через HTML5 Geolocation API.
В этой статье мы рассказываем, как найти город пользователя, потому что такой точности обычно хватает. Го́рода достаточно интернет-магазинам, курьерским службам, новостным агрегаторам, сайтам с прогнозами погоды.
Город лучше определять по IP: способ всегда работает и не тревожит пользователя. А в геолокации по IP главное — найти справочник, который удобно подключается и без ошибок выдает город. Вторая часть статьи — об этом.
Как мы выбирали справочник IP-адресов
В сравнении справочников есть большая проблема: невозможно проверить, действительно ли прямо сейчас IP-адрес принадлежит городу, найденному справочником. Вчера IP относился к Питеру, а сегодня это Нижний Новгород.
Поэтому мы сравнивали справочники по таким критериям:
IPGeoBase
Обновления. Каждый день.
Пулы IP-адресов в России. 43751 пул, это первое место.
Полнота. 728 объектов:
Формат базы. Tab-separated текстовые файлы. В одном файле города с ID, в другом — залинкованные на них диапазоны IP.
Кодировка в файлах — боль под названием Windows-1251. Хорошо, что есть iconv — легким движением руки мы получили UTF-8:
База медленная (еще бы, это текстовый файл) — обход 35000 адресов занял несколько минут.
Библиотеки. Есть готовые под Perl, Ruby и Python, но самая новая — от 2013 года. За 4 года Трамп стал президентом США, вышел PHP 7, появился миллион JS-фреймворков, но ни одну из библиотек под этот справочник так и не обновили.
Чтобы портировать библиотеку под Python 3, понадобился час.
Что можно вытащить из базы.
Детализация. На выборке в 35000 адресов нашлось 372 разных населенных пункта.
Это третье место с небольшим отставанием от второго.
Минусы — библиотеки очаковских времен, да и текстовый файл — не самое удобное решение для доступа к данным.
Повидавший жизнь, но до сих пор летающий Ту-154.
SypexGEO
Стоимость. Бесплатный, распространяется по BSD-лицензии.
Обновления. Пару раз в месяц.
Пулы IP-адресов в России. Всего диапазонов 1696337, но неясно, сколько из них относятся к России: данные закопаны в справочнике. По этому параметру место не присудить.
Полнота. 832 объекта:
Как работать со справочником, если не через библиотеку — неясно. Для любопытных есть спецификация на сайте справочника.
Скорость хорошая: обход 35000 адресов занял несколько секунд.
Библиотеки. Есть для Python, PHP Yii, PHP Laravel, Java, Ruby. Обновлялись 2-3 года назад. Еще есть интеграция с Symfony и плагин для WordPress.
Что можно вытащить из базы:
Детализация. На выборке в 35000 адресов нашлось 400 разных населенных пунктов.
Вердикт. Очень подкупает скоростью, смещения — сила. Авторы говорят, что специально оптимизировали базу для высоких нагрузок.
По наполнению и точности похожа на IPGeoBase — здесь чуть больше объектов, 10% адресов резолвятся по-другому.
База полностью открыта.
К сожалению, не резолвит Крым в Россию.
Вертолет Black Hawk — классно летает, но не всем подойдет.
MaxMind Lite
Обновления. Первый вторник каждого месяца (прям как паспортный стол).
Пулы IP-адресов в России. 91432. Если убрать IP-адреса, которые резолвятся в Россию без города, — 42822. Это второе место.
Полнота. 1392 объекта:
У базы есть версии с разной точностью: до страны, до города, а также справочник ASN (уникальных номеров интернет-провайдеров). Есть также база для IPv6-адресов.
Библиотеки. Здесь полный порядок — на «Гитхабе» лежит несколько десятков библиотек для работы с базой.
Что можно вытащить из базы. Выдача суперподробная и мультиязычная. MaxMind отдает интересный параметр accuracy_radius — точность радиуса координат в километрах.
Детализация. На выборке в 35000 адресов справочник нашел 749 адресных объектов.
В 50% случаев результаты расходятся с предыдущими двумя базами — точность и детализация у MaxMind Lite выше.
Но есть принципиальные минусы — частота обновлений и Крым.
Навороченный космический корабль, который обновляется раз в месяц и не считает Крым российским.
ip2ruscity
Стоимость. Платный, стоит 5000 рублей в год.
Обновления. Раз в месяц.
Пулы IP-адресов в России. 34907 пул, третье место.
Полнота. 486 объектов:
Формат базы. Tab-separated текстовые файлы либо SQL-файлы. В них — города, регионы, диапазоны IP-адресов. Есть еще телефонные коды городов, но почему-то они доступны только в MySQL-формате. В общем, как в программе партии «Неуверенная Россия» — будет средне (не прямо круто, так, нормально).
Начало и конец диапазонов IP-адресов для экономии места завернуты в uint-формат. Их придется самостоятельно привести к виду IP-адресов.
Не особо удобно, но жить можно. На Python делается просто:
Библиотеки. Не нашлось ни одной :(. Пришлось накостылить свой авангардный биндинг для исследования, код публиковать не буду.
У сервиса недавно появилось API. Через него отдают:
Что можно вытащить из базы.
Если использовать MySQL-формат базы, возвращается еще телефонный код города.
Детализация. На выборке в 35000 адресов нашлось 273 населенных пункта. Это последнее место.
Вердикт. Вроде и недорого, но за деньги могло быть и получше.
Винтовой ATR-72 авиакомпании Air Serbia.
Подводя итоги (как первый канал)
Бесплатная MaxMind Lite практически по всем параметрам быстрее, выше и сильнее остальных. Тем не менее, у нее 2 важных минуса — обновляется всего раз в месяц и не считает Крым российским.
Мы в «Дадате» не спали ночами и думали, какой справочник выбрать для своего API геолокации. В итоге взяли за основу IPGeoBase и навернули сверху всяких плюсов.
По сравнению с «голым» IPGeoBase «Дадата» удобнее.
Обновляется автоматически. Сервис обновляет справочник по мере выхода новой версии, вспоминать об этом не придется.
Библиотеки не нужны. Справочник доступен по API, к нему подключится любая HTTP-библиотека. Запрос очень простой: отправляешь только IP-адрес и токен, который дают при регистрации на DaData.ru.
Сервис отдает куда больше данных, чем «голый» справочник. Помимо названия найденного объекта это:
Мы превратили рабочий, но некрашеный Ту-154 в Airbus А-380.
В экономе возим бесплатно — к API можно сделать 10000 запросов в сутки, просто зарегистрировавшись. Если нужно больше, это будет стоить от 4000 рублей в год.
Сети для начинающего IT-специалиста. Обязательная база
Примерно 80% из нас, кто заканчивает университет с какой-либо IT-специальностью, в итоге не становится программистом. Многие устраиваются в техническую поддержку, системными администраторами, мастерами по наладке компьютерных устройств, консультантами-продавцами цифровой техники, менеджерами в it-сферу и так далее.
Эта статья как раз для таких 80%, кто только закончил университет с какой-либо IT-специальностью и уже начал мониторить вакансии, например, на должность системного администратора или его помощника, либо выездного инженера в аутсорсинговую фирму, либо в техническую поддержку 1-й/2-й линии.
А также для самостоятельного изучения или для обучения новых сотрудников.
За время своей трудовой деятельности в сфере IT я столкнулся с такой проблемой, что в университетах не дают самую основную базу касательно сетей. С этим я столкнулся сначала сам, когда, после окончания университета, ходил по собеседованиям в 2016 году и не мог ответить на простые (как мне сейчас кажется) вопросы. Тогда мне конечно показалось, что это я прохалтурил и не доучил в университете. Но как оказалось дело в образовательной программе. Так как сейчас, я также сталкиваюсь с данным пробелом знаний, когда обучаю новых сотрудников.
И что тогда, мне пришлось изучить множество статей в интернете, прежде чем я понял базовые моменты, и что сейчас, задавая молодым специалистам темы для изучения, они с трудом находят и усваивают необходимое. Это происходит по причине того, что в Интернете огромное количество статей и все они разрозненны по темам, либо написаны слишком сложным языком. Плюс большинство информации в начале своих статей содержат в основном просто научные определения, а дальше сразу сложные технологии использования. В итоге получается много того, что для начинающего пока совсем непонятно.
Именно поэтому я решил собрать основные темы в одну статью и объяснить их как можно проще «на пальцах».
Сразу предупреждаю, что никакой углубленной информации в статье не будет, только исключительно самая база и самое основное.
Темы, которые рассмотрены:
1. Глобальные и Локальные сети
Вся интернет сеть подразделяется на глобальную (WAN) и локальную (LAN).
Все пользовательские устройства в рамках одной квартиры или офиса или даже здания (компьютеры, смартфоны, принтеры/МФУ, телевизоры и т.д.) подключаются к роутеру, который объединяет их в локальную сеть.
Участники одной локальной сети могут обмениваться данными между своими устройствами без подключения к интернет провайдеру. А вот чтобы выйти в сеть (например, выйти в поисковик Яндекс или Google, зайти в VK, Instagram, YouTube или AmoCRM) необходим доступ к глобальной сети.
Выход в глобальную сеть обеспечивает интернет провайдер, за что мы и платим ему абонентскую плату. Провайдер устанавливает на своих роутерах уровень скорости для каждого подключения в соответствии с тарифом. Провайдер прокидывает нам витую пару или оптику до нашего роутера (нашей локальной сети) и после этого любое устройства нашей локальной сети может выходить в глобальную сеть.
Для аналогии, сети, можно сравнить с дорогами.
Например, дороги вашего города N это локальная сеть. Эти дороги соединяют вас с магазинами, учреждениями, парками и другими местами вашего города.
Чтобы попасть в другой город N вам необходимо выехать на федеральную трассу и проехать некоторое количество километров. То есть выйти в глобальную сеть.
Для более наглядного представления, что такое глобальная и локальная сеть я нарисовал схематичный рисунок.
2. Белые и серые IP-адреса
Каждое устройство в сети имеет свой уникальный IP-адрес. Он нужен для того, чтобы устройства сети понимали куда необходимо направить запрос и ответ.
Это также как и наши дома и квартиры имеют свой точный адрес (индекс, город, улица, № дома, № квартиры).
В рамках вашей локальной сети (квартиры, офиса или здания) есть свой диапазон уникальных адресов. Я думаю многие замечали, что ip-адрес компьютера, например, начинается с цифр 192.168.X.X
Так вот это локальный адрес вашего устройства.
Существуют разрешенные диапазоны локальных сетей:
Думаю из представленной таблицы сразу становится понятно почему самый распространенный диапазон это 192.168.X.X
Чтобы узнать, например, ip-адрес своего компьютера (на базе ос windows), наберите в терминале команду ipconfig
Как видите, ip-адрес моего компьютера в моей домашней локальной сети 192.168.88.251
Для выхода в глобальные сети, ваш локальный ip-адрес подменяется роутером на глобальный, который вам выдал провайдер. Глобальные ip-адреса не попадают под диапазоны из таблички выше.
Так вот локальные ip-адреса — это серые ip-адреса, а глобальные — это белые.
Для большего понимания рассмотрите схему ниже. На ней я подписал каждое устройство своим ip-адресом.
На схеме видно, что провайдер выпускает нас в глобальные сети (в интернет) с белого ip-адреса 91.132.25.108
Для нашего роутера провайдер выдал серый ip-адрес 172.17.135.11
И в нашей локальной сети все устройства соответственно тоже имеют серые ip-адреса 192.168.Х.Х
Узнать под каким ip-адресом вы выходите в глобальную сеть можно на сайте 2ip.ru
Но из всего этого стоит помнить один очень важный фактор!
В настоящее время обострилась проблема нехватки белых ip-адресов, так как число сетевых устройств давно превысило количество доступных ip. И по этой причине интернет провайдеры выдают пользователям серые ip-адреса (в рамках локальной сети провайдера, например в пределах нескольких многоквартирных домов) и выпускают в глобальную сеть под одним общим белым ip-адресом.
Чтобы узнать серый ip-адрес выдает вам провайдер или белый, можно зайти к себе на роутер и посмотреть там, какой ip-адрес получает ваш роутер от провайдера.
Например я на своем домашнем роутере вижу серый ip-адрес 172.17.132.2 (см. диапазаон локальных адресов). Для подключения белого ip-адреса провайдеры обычно предоставляют доп. услугу с абон. платой.
На самом деле, для домашнего интернета это совсем не критично. А вот для офисов компаний рекомендуется покупать у провайдера именно белый ip-адрес, так как использование серого ip-адреса влечет за собой проблемы с работой ip-телефонии, а также не будет возможности настроить удаленное подключение по VPN. То есть серый ip-адрес не позволит вам вывести в интернет ваш настроенный сервер и не позволит настроить удаленное подключение на сервер из другой сети.
3. NAT
В предыдущем разделе я отметил, что “в настоящее время обострилась проблема нехватки белых ip-адресов” и поэтому распространенная схема подключения у интернет провайдеров сейчас, это подключать множество клиентов серыми ip-адресами, а в глобальный интернет выпускать их под одним общим белым ip.
Но так было не всегда, изначально всем выдавались белые ip-адреса, и вскоре, чтобы избежать проблему дефицита белых ip-адресов, как раз и был придуман NAT (Network Address Translation) — механизм преобразования ip-адресов.
NAT работает на всех роутерах и позволяет нам из локальной сети выходить в глобальную.
Для лучшего понимания разберем два примера:
1. Первый случай: у вас куплен белый ip-адрес 91.105.8.10 и в локальной сети подключено несколько устройств.
Каждое локальное устройство имеет свой серый ip-адрес. Но выход в интернет возможен только с белого ip-адреса.
Следовательно когда, например, ПК1 с ip-адресом 192.168.1.3 решил зайти в поисковик Яндекса, то роутер, выпуская запрос ПК1 в глобальную сеть, подключает механизм NAT, который преобразует ip-адрес ПК1 в белый глобальный ip-адрес 91.105.8.10
Также и в обратную сторону, когда роутер получит от сервера Яндекса ответ, он с помощью механизма NAT направит этот ответ на ip-адрес 192.168.1.3, по которому подключен ПК1.
2. Второй случай: у вас также в локальной сети подключено несколько устройств, но вы не покупали белый ip-адрес у интернет провайдера.
В этом случае локальный адрес ПК1(192.168.1.3) сначала преобразуется NAT‘ом вашего роутера и превращается в серый ip-адрес 172.17.115.3, который вам выдал интернет-провайдер, а далее ваш серый ip-адрес преобразуется NAT’ом роутера провайдера в белый ip-адрес 91.105.108.10, и только после этого осуществляется выход в интернет (глобальную сеть).
То есть, в этом случае получается, что ваши устройства находятся за двойным NAT’ом.
Такая схема имеет более высокую степень безопасности ваших устройств, но также и имеет ряд больших минусов. Например, нестабильная sip-регистрация VoIP оборудования или односторонняя слышимость при звонках по ip-телефонии.
Более подробно о работе механизма NAT, о его плюсах и минусах, о выделении портов, о сокетах и о видах NAT я напишу отдельную статью.
4. DHCP — сервер и подсети
Чтобы подключить устройство, например, компьютер к интернету вы обычно просто подключаете провод (витую пару) в компьютер и далее в свободный порт на роутере, после чего компьютер автоматически получает ip-адрес и появляется выход в интернет.
Также и с Wi-Fi, например со смартфона или ноутбука, вы подключаетесь к нужной вам сети, вводите пароль, устройство получает ip-адрес и у вас появляется интернет.
А что позволяет устройству получить локальный ip-адрес автоматически?
Эту функцию выполняет DHCP-сервер.
Каждый роутер оснащен DHCP-сервером. IP-адреса, полученные автоматически являются динамическими ip-адресами.
Потому что, при каждом новом подключении или перезагрузки роутера, DHCP-сервер тоже перезагружается и может выдать устройствам разные ip-адреса.
То есть, например, сейчас у вашего компьютера ip-адрес 192.168.1.10, после перезагрузки роутера ip-адрес компьютера может стать 192.168.1.35
Чтобы ip-адрес не менялся, его можно задать статически. Это можно сделать, как на компьютере в настройках сети, так и на самом роутере.
А также, DHCP-сервер на роутере вообще можно отключить и задавать ip-адреса вручную.
Можно настроить несколько DHCP-серверов на одном роутере. Тогда локальная сеть разделится на подсети.
Например, компьютеры подключим к нулевой подсети в диапазон 192.168.0.2-192.168.0.255, принтеры к первой подсети в диапазон 192.168.1.2-192.168.1.255, а Wi-Fi будем раздавать на пятую подсеть с диапазоном 192.168.5.2-192.168.5.255 (см. схему ниже)
Обычно, разграничение по подсетям производить нет необходимости. Это делают, когда в компании большое количество устройств, подключаемых к сети и при настройке сетевой безопасности.
Но такая схема в компаниях встречается довольно часто.
Поэтому обязательно нужно знать очень важный момент.
Внимание!
Если вам необходимо с ПК зайти на web-интерфейс, например, принтера или ip-телефона и при этом ваш ПК находится в другой подсети, то подключиться не получится.
Для понимания разберем пример:
Допустим вы работаете за ПК1 с локальным ip-адресом 10.10.5.2 и хотите зайти на web-интерфейс ip-телефона с локальным ip-адресом 192.168.1.3, то подключиться не получится. Так как устройства находятся в разных подсетях. К ip-телефона, находящиеся в подсети 192.168.1.X, можно подключиться только с ПК3 (192.168.1.5).
Также и к МФУ (172.17.17.10) вы сможете подключиться только с ПК4 (172.17.17.12).
Поэтому, когда подключаетесь удаленно к пользователю на ПК, чтобы зайти на web-интерфейс ip-телефона, то обязательно сначала сверяйте их локальные ip-адреса, чтобы убедиться, что оба устройства подключены к одной подсети.
5. Устройства маршрутизации сети (маршрутизатор, коммутатор, свитч, хаб)
Как ни странно, но есть такой факт, что новички в IT (иногда и уже действующие сис.админы) не знают или путают такие понятия как маршрутизатор, коммутатор, свитч, сетевой шлюз и хаб.
Я думаю, причина такой путаницы возникла из-за того, что наплодили синонимов и жаргонизмов в названиях сетевого оборудования и это теперь вводит в заблуждение многих начинающих инженеров.
а) Роутер, маршрутизатор и сетевой шлюз
Все знают что такое роутер. Что это именно то устройство, которое раздает в помещении интернет, подключенный от интернет провайдера.
Так вот маршрутизатор и сетевой шлюз это и есть роутер.
Данное оборудование является основным устройством в организации сети. В инженерной среде наиболее используемое название это “маршрутизатор”.
Кстати маршрутизатором может быть не только приставка, но и системный блок компьютера, если установить туда еще одну сетевую карту и накатить, например, RouterOS Mikrotik. Далее разрулить сеть на множество устройств с помощью свитча.
б) Что такое Свитч и чем он отличается от Коммутатора и Хаба
Свитч и Коммутатор это тоже синонимы. А вот хаб немного другое устройство. О нем в следующем пункте (в).
Коммутатор (свитч) служит для разветвления локальной сети. Как тройник или сетевой фильтр, куда мы подключаем свои устройства, чтобы запитать их электричеством от одной розетки.
Коммутатор не умеет маршрутизировать сеть как роутер. Он не выдаст вашему устройству ip-адрес и без помощи роутера не сможет выпустить вас в интернет.
У стандартного маршрутизатора обычно 4-5 портов для подключения устройств. Соответственно, если ваши устройства подключаются проводами и их больше чем портов на роутере, то вам необходим свитч. Можно к одному порту роутера подключить свитч на 24 порта и спокойно организовать локальную сеть на 24 устройства.
А если у вас завалялся еще один роутер, то можно в его web-интерфейсе включить режим коммутатора и тоже использовать как свитч.
в) Хаб
Хаб выполняет те же функции, что и коммутатор. Но его технология распределения сильно деревянная и уже устарела.
Хаб раздает приходящие от роутера пакеты всем подключенным устройствам без разбора, а устройства уже сами должны разбираться их это пакет или нет.
А коммутатор имеет MAC таблицу и поэтому распределяет приходящие пакеты на одно конкретное устройство, которое и запрашивало этот пакет. Следовательно передача данных коммутатором быстрее и эффективнее.
В настоящее время уже редко где встретишь использование хаба, но всё таки они попадаются, нужно быть к этому готовым и обязательно рекомендовать пользователю замену хаба на свитч.
6. Основные команды для анализа сети
а) Команда Ping
Чтобы понять активен ли ip-адрес или само устройство, можно его “пропинговать”.
Для этого в командной строке пишем команду ping “ip-адрес”.
Здесь мы “пинганули” dns сервер google и, как видим, сервер активен (отклик на пинги есть и равен 83 мс).
Если адресат недоступен или данный ip-адрес не существует, то мы увидим такую картину:
То есть ответа на пинги не получаем.
Соответственно ключ “-а” нам показал, что имя пингуемого узла “dns.google”.
А благодаря ключу “-t” ping шел без остановки, я остановил его, нажав Ctrl+C.
При непрерывном пинге можно увидеть адекватно ли ведет себя пингуемый узел и примерное качество работы интернет канала.
Как видим из скриншота, периодически возникают задержки приема пакета аж до 418 мс, это довольно критичное значение, так как скачок с 83 мс до 418 мс отразился бы на видеосвязи торможением/зависанием изображения или в ip-телефонии деградацией качества голоса.
В моем случае, скорей всего штормит мой домашний Интернет.
Но чтобы более детально установить причину, это нужно запускать dump. А это тема для целой статьи.
Внимание! Иногда на роутерах отключена отправка ICMP пакетов (кто-то отключает специально, а где-то не включена по умолчанию), в таком случае на «пинги» такой узел отвечать не будет, хотя сам будет активен и нормально функционировать в сети.
Еще одна возможность “пинга” это узнать какой ip-адрес скрывается за доменом сайта. А именно, на каком сервере установлен хост сайта.
Для этого просто вместо ip-адреса пишем сайт:
Как видите, у хабра ip-адрес 178.248.237.68
б) Трассировка
Иногда очень важно увидеть каким путем идет пакет до определенного устройства.
Возможно где-то есть пробоина и пакет не доходит до адресата. Так вот утилита трассировки помогает определить на каком этапе этот пакет застревает.
На ОС Windows эта утилита вызывается командой “tracert” ip-адрес или домен:
Здесь мы увидели через какие узлы проходит наш запрос, прежде чем дойдет до сервера ya.ru
На ОС Linux эта утилита вызывается командой traceroute.
Утилитой трассировки также и обладают некоторые устройства, маршрутизаторы или голосовые VoIP шлюзы.
в) Утилита whois
Данная утилита позволяет узнать всю информацию об ip-адресе или о регистраторе домена.
Например, проверим ip-адрес 145.255.1.71. Для этого ввожу в терминале команду whois 145.255.1.71
Получили информацию о провайдере ip-адреса, страну, город, адрес, диапазон и т.д.
Я пользуюсь ей только на Linux. Утилита качается и устанавливается легко из стандартного репозитория операционной системы.
Но также читал, что и на Windows есть подобное решение.
7. Транспортные протоколы TCP и UDP
Все передачи запросов и прием ответов между устройствами в сети осуществляются с помощью транспортных протоколов TCP и UDP.
TCP протокол гарантированно осуществляет доставку запроса и целостность его передачи. Он заранее проверяет доступность узла перед отправкой пакета. А если по пути целостность пакета будет нарушена, то TCP дополнит недостающие составляющие.
В общем, это протокол, который сделает все, чтобы ваш запрос корректно дошел до адресата.
Поэтому TCP самый распространенный транспортный протокол. Он используется когда пользователь серфит интернет, лазает по сайтам, сервисам, соц. сетям и т.д.
UDP протокол не имеет такой гарантированной передачи данных, как TCP. Он не проверяет доступность конечного узла перед отправкой и не восполняет пакет в случае его деградации. Если какой-то пакет или несколько пакетов по пути утеряны, то сообщение дойдет до адресата в таком неполном виде.
Зачем тогда нужен UDP?
Дело в том, что данный транспортный протокол имеет огромное преимущество перед TCP в скорости передачи данных. Поэтому UDP широко используется для пересылки голосовых и видео пакетов в реальном времени. А именно, в ip-телефонии и видео звонках.
К примеру, любой звонок через WhatsApp или Viber использует транспортный протокол UDP. Также и при видео звонках, например, через Skype или те же мессенджеры WhatsApp и Viber.
Именно потому что UDP не гарантирует абсолютную передачу данных и целостность передаваемого пакета, зачастую возникают проблемы при звонках через интернет.
Это прерывание голоса, запаздывание, эхо или робоголос.
Данная проблема возникает из-за нагруженного интернет канала, двойного NATа или радиоканала.
Хорошо бы конечно в таких случаях использовать TCP, но увы, для передачи голоса необходима мгновенная передача целостных пакетов, а для этой задачи идеально подходит UDP.
Чтобы не возникало проблем с использованием UDP протокола, нужно просто организовать качественный интернет канал. А также настроить на роутере выделенную полосу для UDP, чтобы нагрузка с других устройств, которые используют TCP не мешала работе транспортного протокола UDP.
На этом всё.
Я не стал нагромождать статью и копипастить сюда научные определения всех используемых терминов, кому это необходимо, просто загуглите.
Я постарался собрать воедино 7 самых важных, на мой взгляд, моментов, знание которых, помогут юному “айтишнику” пройти первые этапы собеседования на “айтишные” должности или хотя бы просто дать понять работодателю, что вы явно знаете больше, чем рядовой юзер.
Изучайте, конспектируйте. Надеюсь, что статья многим принесет пользу.