Найти в Дзене
INForMatika_Likbez

Неплановый Урок 13. I часть. Маски сети. ЕГЭ Зад.13

Сегодня проведём урок на одну из самых it-шных тем в программе информатики. С 2024 тема после 2019 года снова вернулась в ЕГЭ в виде задания №13 вместо графов-маршрутов. Наша задача понять теоретическую часть вопроса и научиться решать любые виды заданий на эту тему. В чём сложность задания? В отсутствии каких-либо базовых знаний в этой области как у учеников , так и у преподавателей. А также в инженерной специфике задания. На самом деле задание просто немного нелепое в некотором смысле, поскольку практическая часть не имеет информационной полезности, т.е. программы по этой теме в большей степени представляют собой математические схемы подсчёта ненужной для масок и сетей информации. Т.е. если, например, взять полезность задания для знания функций администратора сетей, то данная концепция отсутствует в типах задания. Поэтому цель сводится, в общем, к программированию теории ради теории. Не только это задание и ещё ряд заданий выглядят нелепо в подаче ЕГЭ. Но мы с вами максимально прибли

Сегодня проведём урок на одну из самых it-шных тем в программе информатики. С 2024 тема после 2019 года снова вернулась в ЕГЭ в виде задания №13 вместо графов-маршрутов. Наша задача понять теоретическую часть вопроса и научиться решать любые виды заданий на эту тему. В чём сложность задания? В отсутствии каких-либо базовых знаний в этой области как у учеников , так и у преподавателей. А также в инженерной специфике задания. На самом деле задание просто немного нелепое в некотором смысле, поскольку практическая часть не имеет информационной полезности, т.е. программы по этой теме в большей степени представляют собой математические схемы подсчёта ненужной для масок и сетей информации. Т.е. если, например, взять полезность задания для знания функций администратора сетей, то данная концепция отсутствует в типах задания. Поэтому цель сводится, в общем, к программированию теории ради теории. Не только это задание и ещё ряд заданий выглядят нелепо в подаче ЕГЭ. Но мы с вами максимально приблизим тему к полезности и решим все виды теоретических "практических" заданий этого раздела информатики.

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

Мои ребята в центре обучения < Информатика Севастополь> как-то на занятии пожаловались, что учитель информатики в школе включил им трансляцию сайта по этой теме на уроке, не слова не сказав и не прокомментировав. Потоки непонятной информации с набором 32-битных адресов конечно произвели на учащихся некую паническую атаку и неуверенность в успехе на ЕГЭ. После пары занятий на наших курсах тема стала для ребят одной из обычных средних по уровню тем, так как, в принципе, не имеет каких-либо интеллектуальных или логических сложностей в освоении. Во всяком случае, всё то, что вы уже знаете из нашего экспресс-курса марафона по уровню сложности в некотором смысле труднее, нежели понятия масок сетей и адресов узлов сетей.

Поэтому смело пошли разбираться во всём по порядку.

Итак, вы открыли любой браузер и забили в нём какую-либо ссылку. И через несколько секунд вы смотрите контент сайта. И зачем вам надо знать то, каким образом всё происходит и что на самом деле творится под капотом? Но мы - информатики и должны познавать всё, в том числе процессы передачи информации. Как же компьютер получает по сети нужную нам информацию со всего мира? Тема очень обширная и из песни слов не выбросишь, чтобы понять её; поэтому придётся изучить всю схему технологий, в которых существуют понятия IP, сеть, маска сети, каналы и т.д.

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

Советую следующее прочитать внимательно. Я максимально сжато обобщила для вас всё самое необходимое по данной теме для полного её понимания.

Аппаратная часть включает в себя

o оптоволоконный кабель, покрывший почти всю планету и даже проложенный на дне океана, объединяя Америку и Европу.

o маршрутизаторы – транзитные передатчики данных по сети

o серверы – спецмашины, хранящие данные и выдающие их пользователю по запросу

o DNS – серверы, хранящие информацию об адресах сайтов

o беспроводные устройства – модемы и роутеры, связанные с сотовыми антеннами

o пользовательские ПК и гаджеты

Программная часть включает в себя:

o браузеры – программы для доступа пользователей к ресурсам интернет

o DNS –система доменных имён, которая позволяет найти ресурсы по их имени. Эта технология - база данных интернет, где прописаны уникальные адреса каждого ресурса: IP адрес узла, на котором размещён сайт и URL– унифицированный указатель ресурса с именем сайта. Оба адреса указаны в кортеже – строке базы данных интернет. Домены (столбцы) базы данных имеют ключевые параметры – IP адреса, которые уникальны во всей глобальной сети

o Интернет протоколы TCP и IP. TCP – протокол контроля передачи данных при отправке и сборке пакетов. IP – протокол идентифицирует устройство в сети, т.е. обеспечивает адресацию узлов сети и маршрутизацию пакетов данных до них.

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

WEB - серверное ПО для обработки запросов браузеров пользователей

HTML – язык для отображения страниц web- сайтов

HTTP – протокол для обмена страницами между пользователем и сервером с методами Get – запрос данных с сервера и Post – отправка данных на сервер.

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

1. Когда вы ввели ссылку (URL) в адресной строке браузера, браузер начинает поиск IP – адреса сервера, на котором находится данный сайт. Перед тем, как обратиться к DNS- серверу браузер проверяет, нет ли внутри него уже такой записи, ведь вы уже возможно могли посещать данный сайт ранее. Если не находится, то запрос идёт к ближайшему DNS – серверу провайдера с просьбой дать нужный IP – адрес, а тот может отправить запрос ещё дальше по цепочке к другим DNS –серверам

2. Когда браузер находит IP- адрес, он при помощи протокола TCP устанавливает соединение между устройствами, отслеживая целостность передачи данных, а IP обеспечивает адресацию узлов сети и отправку пакетов данных. Соединение происходит как бы в три этапа запрос-разрешение-соединение.

3. И вот после соединения начинается передача гипертекста документа при помощи протокола HTTP в браузере. Браузер получает код HTML от сервера и затем прорисовывает страницу и графику сайта, а также прописывает данные загрузки, чтобы при необходимости не повторять процесс поиска заново.

Т.е, главный момент – найти адрес – IP узла (сервера сети), где находится нужный ресурс, и отправить данные на IP устройство пользователя (клиента).

-2

Как же нумеруются все узлы в интернет? Так вот, для обозначения адресов узлов используется набор чисел формата xxxx.xxxx.xxxx.xxxx Этот набор и называется IP – адресом. Каждое число соответствует одному байту и имеет величину от 0 до 255, а весь адрес составляет 32 бита.

Например, 192.158.0.1. при использовании IP v4;, а в версии протокола IPv6 адрес занимает 128 бит.

Теперь переходим к разбору IP как адреса сети.

В целом интернет – это глобальная сеть, но она имеет в своем составе сети и подсети разных уровней и узлы этих подсетей и сетей.

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

Есть корпоративные сети, локальные сети, региональные сети. Сеть включает в себя устройства, которые могут между собой взаимодействовать. Сеть – это какой-то диапазон (количество адресов) устройств, например, выделенных администратором для одной сети или подсети. Подсеть меньше сети и имеет меньший диапазон. Получается, что все IP идентифицируют как узлы, так и сети, так как любой узел относится к какой-либо сети. А как же определить в разноуровневых сетях, где в них IP адрес сети, а где адрес узла сети?

И здесь на помощь приходит маска сети, своего рода фильтр, разграничитель.

o Маска разделяет в IP – адресе сетевую часть адреса (префикс сети) от адреса узда в этой сети.

Как представляется маска? В виде 32-битного числа, которое включает от 0 до 32 единиц. После единиц следуют нули, но после нулей единиц не может быть. У маски есть два формата представления: первый похож на IP - адрес в виде двоично-десятичной формы: 255.255.0.0 а второй может быть представлена в виде числа от 0 до 32, обозначающих количество единиц в маске, т.е. префиксную часть сети. Например, для IP узла 192.168..2.15/24 – маска 255.255.255.0 ; так как 24 единицы – это 3 байта единиц, 11111111.11111111.11111111 ; адрес сети будет 192.168.2.0. Почему адрес сети будет 192.168.2.0?

Для определения адреса сети/подсети используется поразрядная конъюнкция. На нашем курсе пока мы не затрагивали тему логических операций АЛУ процессора, поэтому коротко о конъюнкции. Это логическая бинарная операция, которая имеет в результате значение истинно, если оба исходные выражения истинны. Эту операцию называют в разделе информатики – алгебре логики – логическим умножением. Т.е. при умножении 1 и 0 когда будет в результате 1? Тогда, когда 1*1, а в остальных случаях: 1*0=0; 0*1=0; 0*0=0 будут нули. Так вот 1 в маске указывает на истину в результате, т.е. исходное значение при умножении на один даёт исходное выражение, а на 0, даёт 0. Поэтому адрес сети получается в результате применения конъюнкции к каждому из 32 разрядов IP узла 32 разрядов маски поразрядно.

I. Например, IP узла 102. 9. 140.219, а маска 255.255.192.0. Найти адрес сети. Первые два числа мы можем сразу определить, так как в маске в двух первых байтах все единицы, а значит, в первых двух числах адреса сети будут исходные значения 102.9. Для определения третьего числа представим исходное третье число IP- узла в двоичном коде и также третий байт маски в двоичном коде. 140 - 128+12; по методу ряда для 8 разрядов 10001010; 192 – 128+64 – 11000000, а затем сделаем поразрядное логическое умножение:

o 10001010

o 11000000

o 10000000 128 – третий байт сети найден

Четвёртый байт сети будет равен 0, так как при умножении на 0 будет 0, значит адрес сети при заданной маске и исходном IP-узле будет 102.9.128.0

Теперь идём дальше. Если единицы маски определяют сеть – адрес сети, то что определяют нули маски? А нули определяют количество адресов, которые можно раздать компьютерам, находящимся в одной подсети. Если в маске n-нулей, то количество адресов компьютеров, которые можно подключить в эту сеть будет равно 2^n-2.

II.Например, для некоторой подсети используется маска 255.255.255.128. Сколько различных адресов компьютеров допускает эта маска?

Для определения кол-ва адресов надо найти кол-во нулей в маске. Первые три байта содержат единицы. Четвертыё байт 128 представим в двоичном коде 10000000. Кол-во нулей 7, значит адресов 2^7-2=126.

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

Также маска – это очень удобный инструмент для ранжирования сети, т.е. для изменения диапазона сети. Админы с помощью маски могут расширить кол-во компьютеров в сети для взаимодействия или наоборот ограничить. И это позволяет сделать новое значение маски. Чем меньше из 32 возможных отводится под сеть – единиц, тем больше возможных устройств можно подключить.

Иногда для формирования таблиц маршрутизации админу необходимо зная ip-узла и ip-сети составить маски для разных подсетей. Рассмотрим пример.

III. Например, для узла с IP-адресом 91.62.203.130 адрес сети 91.62.192.0. Найти наименьшее возможное кол-во единиц в двоичной записи маски подсети.

Первые два байта хоста – узла и подсети не изменяются 91.62– это в маске единицы 2*8=16. Последний байт в подсети 0, значит в маске он тоже 8 нулей. Теперь надо рассмотреть третий байт. Так как адрес сети получается при конъюнкции узла и маски, то представим в двоичном коде 203 и 192, а между ними найдём маску:

o 11001011 ______________ 11001011 _ 203 = 128+ 64+11

o 11000000 наименьшая _ 11110000 _ наибольшая Маски

o 11000000 _______________ 11000000 _ 192 = 128+ 64

Наименьшая маска будет содержать 16+2=18 единиц, а наибольшая 16+4=20.

При этом в первом случае маска будет 91.62.192.0: а во втором 91.62.240.0

И ещё один тип для ручных заданий по этой теме, связанный с определением номера узла для адресов сети и узла.

IV. Например, Для IP – узла 112.154.133.208 и маски сети 255.255.248.0 найти номер хоста (устройства) в сети.

Поскольку номер определяется в позициях нулей масок, то сначала анализируем маску, т.е рассматриваем байты, не равные 255. В данном случае 248. Представляем в двоичном коде 248. Это 255-7, поэтому 11111000. В маске первые 5 единиц, значит первые пять бит узла в третьем байте 133 будут относиться к адресу сети, а 3 к адресу узла. Представим 133 в двоичном коде: это 128+5 10000101 , где под номер узла пойдут лишь три последние бита, так как пять заняты маской под сеть -100000101 . Теперь рассмотрим четвертый байт ip-узла - 208. Все число пойдет под номер узла, так как в маске после нулей единицы не пишутся. Представим 208 в двоичном коде – 128+64+16 = 11010000. В результате получаем два числа 101 и 11010000. Объединяем их 10111010000. Переводим в десятичное представление 16+64+128+256+1024=1280+208=1488. № узла в сети 1488

И это в принципе всё, что надо понимать по данной теме.

Но в ЕГЭ с 2024 года добавлены задания по подсчёту разных данных в возможных адресах сети, например, сколько в сети адресов, у которых в первой половине больше единиц, чем во второй или ещё нечто подобное. Поэтому понятно, что здесь без проги никак. Поэтому подключаем в продолжениие урока Python c библиотекой ipaddress и функциями ip_network(), num_address и легко побеждаем ещё одно задание ЕГЭ.

Вот такой стартовый общий основной обзор по теме 13 задания ЕГЭ в I части 13 урока.

Не забываем об энергообмене. Благодарю всех за подписки, лайки, донаты:
До следующих встреч на нашем ликбез-канале в школе Дзен!