МЕНЮ

Это сетевые протоколы TCP/IP, детка! Маршрутизация в сетях для чайников.Zip File, мамкины хаЦкеры. С вами Денчик и нынче мы рассмотрим базовые концепции сетевых технологий, а конкретнее, познакомимся с сетевыми протоколами IP четвертой и шестой версии. Разберём что из себя представляют данные протоколы, покажу вам немножко практики в санкционной Cisco Packet Tracer. Поговорим о том, что происходит на канальном уровне, разберём работу маршрутизатора. Ну и напоследок немного затронем IPv6. Само собой в конце вы, как обычно, получите домашнее задание и окончательно закрепите полученные знания, что называется практически в поле.

В общем, если вам интересно погрузиться в тему администрирования, сетей и информационной безопасности, тогда устраивайтесь по удобней. Наливайте себе напиток по горячее. И будем начинать.

Протокол IP (Internet Protocol) создан для использования во взаимосвязанных системах компьютерных сетей с коммутацией пакетов. Он относится к межсетевому уровню модели TCP\IP. Стандарт этого протокола описан в 791RFC.

Говоря простым языком, именно с его помощью мы доставляем пакеты от одного компьютера к другому. Т.е. данная адресация позволяет понять куда именно нужно доставить пакет.

Есть некие 4 актета, аналогичные нашему адресу места жительства, аля город, улица, дом, квартира. Так называемая логическая адресация, только на основе хостов с IP-адресами.

В рамках этой движухи IPv4 инкапсулирует данные вышестоящих протоколов. Осуществляет маршрутизацию данных между хостами и до кучу осуществляет фрагментацию пакетов.

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

Ко всему прочему он не устраняет возможное дублирования пакетов. Решение перечисленных задач возложено на протоколы транспортного уровня. Например, на протокол управления передачей (TCP).

IPv4 использует адреса размером четыре байта (32 бита), которые ограничивают адресное пространство до вот такого, на первый взгляд огромного количества адресов (4 294 967 296). И последний блок IP-адресов был выделен 3 февраля 2011 года.

Но не будем о грустном. Как я уже сказал, IP-адрес представляет из себя 32-битное число. На практике для более удобного представления адреса записываются в точечно-десятичной нотации, например: 192.168.0.1

IP-адрес состоит из двух частей: адрес хоста (его сетевого интерфейса) и адрес сети (“путь” к этому хосту в сети). Для точного указания какая часть IP-адреса является адресом хоста, а какая - адресом сети, существует понятие “маска”.

Маска сети – это количество бит в адресе, которое отведено под адрес сети. Маска может указываться двумя эквивалентными способами: 192.168.0.1/24 либо 255.255.255.0

Слэш 24 означает, что первые 24 бита в маске равны единицам, а остальные восемь - нулям. Учитывая, что в маске всего 32 бита, как раз и получаем эквивалент 255.255.255.0

Изначально в адресе не было маски, и под адрес сети отводился только старший октет и оставшаяся часть представляла из себя адрес хоста: 192.0.0.1. Таким образом, IP-протокол мог адресовать максимум 256 сетей с 16 млн. хостов в каждой.

Это конечно очень и очень мало. Не хватит даже на обеспечение айпишниками всех стран. Поэтому следующим этапом эволюционирования стало появление классовой адресации.

При ней старший октет определял тип адреса сети и количество хостов. Всего насчитывалось 5 типов классов. От А, Б, Ц, Д и Е.

По каждому из них в свою очередь было определённое распределение байт. Использовалась такая адресация тоже относительно недолго. С 1981 по 1993 год.

В это же время появилась бесклассовая адресация.  Так называемый CIDR. При данном типе адресации стало возможным применение любых масок подсети к пространству IP-адресов.

Важно запомнить, что маска подсети всегда представляется в виде непрерывной последовательности единиц и непрерывной последовательности нулей.

Например IP-адрес 192.168.0.1 с маской 24. Число “24” после косой черты означает количество разрядов в маске подсети, т.е. в нашем случае маска подсети в двоичном представлении будет иметь следующий вид: 11111111 11111111 11111111 00000000

В десятичном представлении это 255.255.255.0. Т.е. первые 24 разряда IP-адреса отводятся на номер сети, а оставшиеся восемь - на адреса хостов этой сети.

Получаем, что запись 192.168.0.0 с маской 24 означает диапазон возможных адресов хостов от 192.168.0.0 до 192.168.0.255.

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

Упомянутый широковещательный адрес сети – это пакет с широковещательным адресом, который получат все хосты этой сети в случае отправки на него.

Вычисляется он просто. Это последний адрес в сети. Сам же адрес сети - это, как вы понимаете, её первый адрес. Т.е. от первого хоста -1. Тут всё логично и вполне доступно для тех, кто не прогуливал математику в 6 классе.

Настройка простой сети

Что ж. Теперь давайте немножко попрактикуемся. Несмотря на то, что академия Cisco ушла из России заблокировав всех слушателей и инструкторов, я буду демонстрировать практику в сетевом эмуляторе Packet Tracer.

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

В принципе, программа визуализации тут особой роли то не играет. Главное понять суть. Вам же в лайфе это всё равно руками придётся делать, а не в эмульке.

Для тех кто никогда с этой историей не работал, сразу обозначу, как выглядят основные устройства о которых мы с вами уже подробно поговорили в первой лекции по сетям. Если пропустили – ищите её на канале.

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

Напишите кстати в комментах, витой парой обжатой по какому стандарту это делается в реале. Далее провалившись на сервер выбираем «Desktop» - «IP Configuration».

По сути заходим в настройки сетевой карты. Прописываем IP адрес и маску. И повторяем аналогичные действия на компьютере.

Главное смотрите, чтобы они находились в рамках одной сети. Хотя, если с IPшником не протупите, маска автоматом определится.

Если всё ок, то с любой из машин, перейдя в «Desktop» - «Command prompt» у вас получится проверить связь с соседней посредством команды ping.

Собственно всё. Самая простая сеть между двумя рабочими станциями готова.

А теперь попробуйте самостоятельно добавить в эту сеть ещё один компьютер и свитч.

Например, Cisco 2960. А затем с помощью команды show-mac-adress-table, ознакомьтесь с таблицей MAC-адресов коммутатора.

Канальный уровень

Отлично. Теперь давайте вернёмся к теории и немножечко подушним, восполнив пробелы в знаниях, чтобы после просмотра вопросов в комментариях было по минимуму.

Для того, чтобы облегчить администрирование локальной сети и уменьшить широковещательный трафик, она, как правило, разбивается коммутаторами на несколько сегментов.

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

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

Аппаратные адреса называют MAC-адресами. Этот MAC-адрес "зашивается" в сетевые карты прям на заводе,  но в некоторых случаях может быть изменён. Или даже подменён злоумышленником.

Широковещательный домен в свою очередь представляет собой метод доставки сообщений, при котором сообщение получают сразу все участники обмена, а нужное сообщение фильтруется самим узлом по MAC-адресу.

Но как спрашивается между собой связаны MAC и IP-адреса? И как можно из одного получить другой - и наоборот? В стеке протоколов TCP/IP ответственность а эту историю несёт ARP.

Если любопытно, можете переключить созданную ранее сеть с коммутатором в Packet Tracer в режим симуляции и пингануть последний с одной из тачек. Таким образом вы увидите всю картину наглядно.

В моём случае:

●PC7 сформировал запрос пинг на 192.168.0.1, но MAC-адрес этого хоста неизвестен;

●Затем PC7 отправляет широковещательный ARP-запрос, который попадает на Switch0;

●Switch0 не знает такого адреса и отправляет запросы дальше - на PC6 и Server0;

●Server0 получает ARP-запрос и понимает, что в нем указан его IP-адрес. Он формирует ответ и пересылает его на Switch0;

●Switch0 получает ответ от Server и пересылает его на PC7;

●ответ с Server0 с его MAC-адресом попадает к PC7. А PC7 записывает этот адрес в уже сформированный запрос ping (icmp) и отправляет его на Switch0.

Работа маршрутизатора

Мы посмотрели, как происходит взаимодействие внутри одной сети. Но как оно происходит при коммуникации устройств, находящихся в разных сетях? Как вы уже наверняка догадались из названия перебивки – этот нелёгкий труд ложится на плечи маршрутизатора.

Его основная задача - объединение сетей на сетевом уровне. Далее мы рассмотрим на примере, как это происходит и как связаны адреса на канальном и межсетевом уровнях модели TCP\IP.

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

Маршрутизатор настраиваем следующим образом:

1.Нажимаем Enter для входа в консоль

2.Набираем enable для входа в режим с повышенными привилегиями

3.Набираем config terminal чтобы получить доступ к настройкам

4.Набираем interface fastethernet 0/0 для доступа к порту Ethernet0/0

5.Набираем ip address 192.168.0.1  255.255.255.0 для назначения адреса и маски текущему интерфейсу

6.Набираем no shutdown для включения интерфейса

Таким образом мы настроили интерфейс смотрящий во внутреннюю, локальную сеть. Аналогичным образом настраиваем Ethernet0/1 с адресом 10.0.0.1, который выступит в роли порта смотрящего во внешнюю сеть аля интернет.

Далее Настраиваем шлюз 10.0.0.1 по умолчанию для сервера и для проверки пробуем пропинговать оба интерфейса нашего роутера.

Далее точно также настраиваем шлюз 10.0.0.1 по умолчанию для компьютеров и пробуем пинговать роутер и сервер.

И всё вроде бы хорошо. Пакеты летают, трафик крутится, сетевые делишки мутятся. Однако, если перейти в режим симуляции, то будет видно, что при пинге сервера кадры протокола ARP.

Коммутатор не преобразует MAC- или IP-адреса (Switch0 - Router0). Дело в том, что маршрутизатор стоит на границе сегмента сети. А внутри каждого сегмента сети адресация происходит по аппаратным MAC-адресам.

Вне сегмента сети такие адреса недоступны. Поэтому при своей работе маршрутизатор вынужден подменять MAC-адрес запроса на свой собственный MAC-адрес в другом сегменте.

Да, маршрутизатор преобразует MAC-адрес на свой (Router0 - Server1) и теперь в кадре стоит MAC-адрес Server1 (назначения) и MAC-адрес Router0 (он же источник, f0\1).

Сервер отвечает на запрос (Server1 - Router0). Тут появляется 2 нюанса. Во-первых в ответе стоит MAC-адрес маршрутизатора. И во-вторых, меняются IP-адреса. Теперь сервер посылает сообщение PC7.

Сервер отвечает на запрос (Router0 - Switch0). Теперь в кадре стоит MAC-адрес PC7 (назначение) и MAC-адрес Router0 (источник, f0\0). Всё в общем то логично и относительно просто.

Вот как-то так выглядит работа маршрутизатора на межсетевом уровне TCP\IP. Он подменяет адреса канального уровня (MAC) при передаче пакета из одного сегмента сети в другой, но IP-адреса оставляет неизменными.

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

IPv6

IPv6 – это самый новый стандарт протокола IP, призванный исправить недостатки IPv4. К его преимуществам относят: увеличенное адресное пространство (128 бит).

Возможность автоконфигурации (не нужно настраивать адреса вручную). И так называемый Jumbogram или пакет-слон (дающий возможность передачи до 4 Гб данных в одном пакете).

IPv6-адрес имеет полный и сокращенный формат. Также особенностью является то, что при использовании в URL, адрес необходимо заключать в квадратные скобки.

Ещё из важного надо понимать, что IPv6-адреса могут быть нескольких типов:

●Unicast  - обычный адрес хоста;

●Anycast - групповой адрес (в котором пакет будет доставлен наиболее близкому хосту с точки зрения протокола маршрутизации).

●Multicast - групповой адрес (где пакеты будут доставлены каждому хосту в группе). И ●Broadcast - не реализованы.

Но в случае с IPv6, я бы всё-таки тренировался уже не в PT. Эмуляторы сетки — это конечно круто и весело, но ничто не заменит реальной практики на железках.

Так, например, можно воспользоваться сервисом SptintBox, о котором я уже не раз упоминал в своих роликах. С его помощью можно поднять свой собственный VDS-бокс и получить подсеть адресов IP 6 версии.

Если вам понадобится больше IP-адресов, их можно будет добавить в удобной Панели управления. Стоимость одного дополнительного IPv4-адреса – 150 рублей в месяц, а вот IPv6 вам предоставят бесплатно.

Отличие Спринтбокс от обычного хостинга в том, что ресурсы не распределяются между всеми аккаунтами на сервере. Каждому пользователю выделяется собственный набор ресурсов.

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

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

Помимо айпишников на сервисе можно настроить резервное копирование и снапшоты, подключаться к серверам по SSH и FTP, добавить к ним дополнительное хранилище до 1 Тб.

Ну и само собой поиграться с настройками файрвола и подключить защиту от внешних DDoS-атак. Короче для сетевой практики это прямо мастхэв. Можно деплоить ботов для Телеграма, ВК и Дискорда.

Накатывать готовые дистрибутивы или ставить свои собственные сборки ОСей. Можно поднять сервер Майнкрафт для игры с друзьями. Принцип, как в Лего. Вы ограничены только собственными умениями и фантазией.

Управлять созданными боксами можно через удобную Панель управления или в Telegram-боте. Он может вывести вам нужную информацию, перезапустить бокс и даже создать новый буквально в несколько кликов.

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

В общем, если хотите изучить сети не только в теории, а действительно погрузиться в эту историю с головой – велком. Ссылка на KVM VDS от SprintBox будет в описании.

Там же будет мой промокод, по которому ещё и 50% кешбек получите. Короче переходите скорее и регайтесь. Не пожалеете.

Окей, друзья. Нынче мы рассмотрели работу протокола IP и активных сетевых устройств (коммутатора и маршрутизатора). А также немножко попрактиковались в Packet Tracer.

Вернее попрактиковался то я, а вы скорее всего лишь посмотрели со стороны, т.к. 90% людей от природы ленивые жопы. Но у вас всё же есть возможность войти в 10% продуктивнейших индивидов выполнив домашнюю работу к уроку.

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

Только в этом случае вам будут регулярно приходить оповещения о новых видосиках и вы сможете стать гуру в теме безопасности и сетей не прилагая к этому колосальных усилий.

Ну а с вами, как обычно, был Денчик. В заключении, по традиции хочу пожелать всем досмотревшим ролик до этой минуты удачи, успеха и самое главное, хорошего настроения.

Берегите себя и свои сети, следите за стабильностью пинга и помните, грамотная настройка сети – это в первую очередь сохранение ваших же собственных нервов.

А они, согласно исследованиям, не очень то восстанавливаются. Поэтому берегите их, как свои десять пальцев. До новых встреч, мои кайфные друже. Всем пока.

Не можешь понять, куда делись видео по взломам и хакингу? Они переехали в наш уютный паблик в телеге

telegram chanel

Хочешь больше контента? Подписывайся на YouTube-канал!

Курс «Диплом за неделю»

Пособие «Библия вардрайвинга»

Курс Cisco «CCNA: Introduction to Networks»

© 2024. IT-спец. Денис Курец.