Курс «CCNA Routing & Switching для сомневающихся» — введение
В этом курсе, носящем название «CCNA Routing & Switching для сомневающихся», я буду собирать наиболее важные и интересные моменты из курса CCNA R&S от Cisco.
Этот курс составлялся на базе материалов курса CCNA R&S, поэтому он будет особенно полезен студентам, которые обучаются в Сетевой академии Cisco или готовятся к сдаче сертификации CCNA (композитный экзамен 200-125 или ICND1 + ICND2).
Сразу хочу обратить внимание на то, что этот курс не предусматривает никаких практических материалов — только теорию. Взаимодействие с Cisco Packet Tracer в рамках этого курса рассматриваться не будет.
Если хотите попрактиковаться и пообщаться со мной вживую — записывайтесь на курсы в нашей Сетевой академии Cisco. Здесь есть информация о том, как можно связаться со мной и поговорить по этому поводу.
Введение
Прежде чем начать нам необходимо поговорить непосредственно про сам предмет изучения, с которым мы будем работать на протяжении всего курса.
Люди не становятся сетевыми инженерами, когда рождаются. Это — долгий и кропотливый путь, который, как и в любой другой профессии, необходимо пройти, чтобы стать профессионалом.
Скажу честно — раньше я и подумать не мог, что стану сетевым инженером. В свободное время я любил заниматься написанием скриптом — поэтому, мне думалось, что если не получится записаться в программисты, то хотя бы стану системным администратором.
Так, например, когда-то давно я написал два скрипта — 4K96.NET и Telegraph. Почитать про работу второго скрипта можно, например, на Хабре.
Эти скрипты позволяли общаться на расстоянии — в той или иной степени, конечно, — но у них был один фатальный недостаток: они не предусматривали маршрутизацию.
«Сеть сетей»
Так получилось, что современный Интернет — это «сеть сетей». Без маршрутизации вы бы не смогли сейчас прочесть этот пост — ну, разве что только если бы не подключились к моему серверу напрямую.
Приведу аналогию с автобусами. Во многих небольших городах России существуют автобусные маршруты, по которым катаются автобусы с номерами: к примеру, №2, №4, №10.
Давайте проведём мысленный эксперимент. Представим, что в Озёрах есть автобус, который соединяет две точки на карте города — пусть это будет автобус №4. Он не покидает пределы города, в котором сейчас находится. В Коломне, допустим, тоже есть автобус №4 — и он не покидает пределы Коломны.
Вопрос: если мы сядем на автобус №4 в Озёрах — сможем ли мы в какой-либо момент времени оказаться в Коломне?
К сожалению, нет.
Когда нам нужно попасть в Коломну — мы приходим на вокзал и садимся на, допустим, пригородный автобус №22, который соединяет Озёры и Коломну.
Давайте представим, что наша автостанция — это маршрутизатор (шлюз по умолчанию), мы — пакеты с данными, а автобусы — это каналы связи.

На иллюстрации выше маршрутизатор сконфигурирован таким образом, что люди (в нашем примере — пакеты с данными, не путать с автобусами), которые приезжают на автостанцию на маршрутах №2, №4, №5 и №10, идут в кассу и берут билет на автобус №22, который уходит в Коломну (Интернет), даже если им нужно, скажем, в Воскресенск.
Наш автобус не ходят напрямую из Озёр в Воскресенск (прямого маршрута до Воскресенска нет), поэтому сначала автобус доберётся до Коломны, а дальше следующий маршрутизатор решит, что делать с этим пакетом (человеком, который отправился в путешествие).
Если эти люди хотят переместиться не в другой город, а на какую-нибудь другую остановку в пределах нашего города — тогда они просто приезжают на автостанцию и пересаживаются на другой локальный автобус (происходит коммутация — пакет приходит на один порт, а уходит из другого).
В общем, пакет из порта-источника анализируется и пересылается согласно таблице соответствия в порт назначения.
Немаршрутизируемые в Интернет адреса
Вы, наверное, могли встречать адреса типа 192.168.0.1 или 192.168.1.1, когда настраивали ваш маршрутизатор дома — это и есть адреса шлюза по умолчанию, куда посылаются все пакеты, путь до которых маршрутизатору не известен.
Из большого Интернета ни один пользователь (за исключением некоторых случаев, например, если у вас настроен NAT — о нём мы поговорим в других частях курса) не сможет достучаться до компьютеров из вашей локальной сети.
Приводя аналогию с автобусами — допустим, человек, живущий в Коломне, знает, что вы живёте в Озёрах. Он приезжает на автостанцию в Озёрах и спохватывается — «Опаньки… А город-то большой, куда же мне направиться теперь?»
Этот человек знает, что вы живёте в Озёрах, но найти вашу остановку и дом он не сможет — ведь локальных автобусов несколько и возникает неопределённость: на какой сесть и куда ехать, чтобы добраться до нужного человека?
Возвращаясь к теме — адреса из подсетей 127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 (и некоторых других) не маршрутизируются за пределами локальных сетей.
Это значит, что в Интернете вы никогда не сможете найти сайт, который бы вам удалённо вещал с IP-адреса 127.0.0.1, например.
Конечно, если вы не Роскомнадзор.
А если я хочу попасть из Коломны в Кордову, скажем?
В чат входят интернет-провайдеры. Именно им вы платите деньги за то, чтобы ваши пакеты с данными летали от Москвы до Владивостока.
Давайте теперь представим, что мы живём в Коломне: домик — компьютер, человечек с чемоданом — пакет с данными, наш канал до интернет-провайдера — автобус, а канал между провайдерами — самолёт.
Вырисовывается следующая картина:

Именно благодаря маршрутизации наш пакет может перемещаться не только в пределах одной тупиковой сети, но и по всему Интернету.
Следует также отметить тот факт, что сам пакет не может выбирать путь его движения — этим занимаются непосредственно маршрутизаторы. Они анализируют данные, которые в себе содержит пакет, производят маршрутизацию и доставляют его в заданное место.
Выводы
В этой части курса мы познакомились с локальными и глобальными сетями, рассмотрели понятия маршрутизации и коммутации.
Терминология
- Маршрутизатор — устройство, позволяющее выполнять маршрутизацию (см. ниже)
- Коммутатор — устройство, которое соединяет несколько узлов (например, компьютеров) в пределах одного сегмента. Коммутатор не выполняет маршрутизацию
- Маршрутизация пакетов — пересылка пакетов между различными сегментами сети на основе правил маршрутизации
- Пакет — блок данных с полезной нагрузкой
- LAN — локальная сеть
- WAN — глобальная сеть
- Тупиковая сеть — изолированный участок локальной сети с одним маршрутизатором
- Немаршрутизируемые адреса — адреса из немаршрутизируемых подсетей, которые используются для локальной передачи данных (как правило, в пределах одного сетевого сегмента)