07.04.2020
«Основы программирования: ЯП Python»
Год обучения
Тема: расчет номера сети по ip-адресу и маске сети
Цель: познакомиться с возможностями расчета номера сети по ip-адресу и маске сети
Задачи обучающие:
· изучить варианты возможностями расчета номера сети по ip-адресу и маске сети;
· систематизировать знания обучающихся по данной теме;
· закрепить знания, полученные на предыдущих уроках;
Задачи развивающие:
· развивать умения использовать знания, полученные на уроках информатики, в учебной деятельности;
· развивать логическое мышление, умение обобщать, сопоставлять и применять полученные знания на практике;
· развивать познавательную деятельность обучающихся, развивать умение анализировать происходящие изменения в решении задач;
· развивать познавательный интерес, творческую активность, интеллект;
· развивать интуицию, эрудицию, самостоятельность в суждениях, упорство в достижении цели;
· формирование информационной культуры и потребности приобретения знаний;
· стимулирование познавательного интереса обучающихся по данной теме и дисциплине Информатика и ИКТ в целом.
Задачи воспитательные:
· воспитание творческого подхода к работе, желания экспериментировать;
· профессиональная ориентация и подготовка к трудовой деятельности;
· воспитание информационной культуры, самостоятельности, ответственности;
· развивать культуру общения, воспитывать внимание, сообразительность, находчивость.
РАСЧЕТ НОМЕРА СЕТИ ПО IP-АДРЕСУ И МАСКЕ СЕТИ
Хоть сейчас и идет постепенный переход на IPv6, все же IPv4 адресация еще долго будет в тренде и умение быстро рассчитывать IPv4 сети многим может пригодиться. Данная статья написана и оформлена совместно с моим коллегой и преподавателем сетевой академии CISCO — Кузьминым Евгением.
Все мы привыкли к отображению IP адреса в виде четырех десятичных чисел, разделенных точками (также их называют октетами, так как они формируются из 8 бит). Все мы знаем, что компьютер для расчетов использует двоичную систему счисления, поэтому для компьютера сетевой адрес, например 192.168.1.1, имеет вид:
11000000 10101000 00000001 00000001
Маска подсети в двоичном виде выглядит как последовательность единиц, а затем нулей и указывает на то, сколько первых битов IP-адреса будут относится к адресу сети (у всех компьютеров в одной сети они будут одинаковые), а остальные биты будут относится к адресу каждого узла (у всех компьютеров в одной сети они будут разные). Есть специальные адреса: адрес сети — адрес, у которого узловая часть состоит из одних нулей, и широковещательный адрес — это адрес, у которого узловая часть состоит из одних единиц. Например, маска вида 255.255.255.0 в двоичном виде выглядит:
11111111 11111111 111111111 00000000
и указывает на то, что первые 24 бита относятся к адресу сети, а последние восемь к адресу конкретного узла в этой сети. Маска сети также может быть записана, как просто число, указывающее количество первых битов, относящихся к адресу сети. В данном случае — 24.
Со стандартными маскам все легко, они имеют вид; 255.0.0.0, 255.255.0.0 и 255.255.255.0 и четко отделяют узловую часть от сетевой по границе каждого октета. Поэтому, для формировани адреса сети, октеты, у которых маска 255, мы не изменяем. а октеты у которых маска 0, превращаем в 0 (для широковещательного адреса в 255). Напимер, для адреса 192.168.25.128 с маской 255.255.0.0, адрес сети будет 192.168.0.0, а широковещательный – 192.168.255.255.
Но когда нужно разделить сети на более мелкие подсети или объединить несколько сетей в одну общую могут возникнуть сложности. Основное — это запомнить, что каждое десятичное число в адресе состоит из 8 двоичных битов, и нужно знать десятичное значение каждого бита, которое является степенью двойки.
Любое число в адресе является суммой некоторых степеней двойки. Чтобы определить каких, нужно их последовательно складывать, двигаясь от 128 к 1, если сумма будет превышать нужное число, то эту степень пропускаем. Ниже приведу несколько примеров, в которых покажу основные алгоритмы расчета.
Пример 1
Есть IP адрес 192.168.1.37/28, необходимо определить адрес сети и широковещательный адрес.
· Всего бит в адресе: 32, количество бит на адрес сети: 28, следовательно количество бит на адреса узлов: 32 – 28 = 4 бита.
· Количество возможных адресов для подсети: 2^4 = 16.
· Количество адресов для хостов (за минусом адреса сети и широковещательного адреса): 16 – 2 = 14.
· У адреса сети значения первых трех октетов будет таким же, как у адреса хоста, а значение последнего октета будет наибольшее число, не превышающее его значения в адресе хоста, кратное 16. И следовательно может формироваться из суммы: 128 или 64 или 32 или 16.
· Получаем адрес сети: 192.168.1.32
· Широковещательный адрес получаем прибавив к последнему октету адреса сети количество адресов сети минус 1: 192.168.1.{32+16-1}= 192.168.1.47
Пример 2
Есть IP адрес 192.168.1.37/255.255.255.240, необходимо определить адрес сети.
· Количество адресов для подсети можно получить: 256 — 240 = 16.
· Количество адресов для хостов 16 – 2 = 14.
· У адреса сети, как и в прошлом примере, значения первых трех октетов будет таким же, как у адреса хоста, а значение последнего октета будет наибольшее число, не превышающее его значения в адресе хоста, кратное 16. И следовательно может формироваться из суммы: 128 или 64 или 32 или 16.
Получаем адрес сети 192.168.1.32
Задание 12 (Поляков К., вариант 25):
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и его маске.
По заданным IP-адресу узла сети и маске определите адрес сети:
IP-адрес: 145.92.137.88 Маска: 255.255.240.0
При записи ответа выберите из приведенных в таблице чисел четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы без точек.
A | B | C | D | E | F | G | H |
0 | 145 | 255 | 137 | 128 | 240 | 88 | 92 |
Решение:
· Для решения задания необходимо вспомнить, что IP-адрес сети так же как и маска сети хранятся в 4 байтах записанных через точку. То есть каждое из отдельных чисел IP-адреса и маски сети хранится в 8-разрядном двоичном виде. Для получения адреса сети необходимо выполнить поразрядную конъюнкцию этих чисел.
· Так как число 255 в двоичном представлении — это 8 единиц, то при поразрядной конъюнкции с любым числом, в результате получится то же самое число. Таким образом, нет необходимости брать во внимание те байты IP-адреса, которые соответствуют числу 255 в маске сети. Поэтому первые два числа IP-адреса останутся такими же (145.92).
· Остается рассмотреть числа 137 и 88 IP-дареса и 240 маски. Число 0 в маске соответствует восьми нулям в двоичном представлении, то есть поразрядная конъюнкция с любым числом превратит это число в 0.
· Переведем оба числа ip-адреса и маски сети в двоичную систему и запишем IP-адрес и маску друг под другом, чтобы осуществить поразрядную конъюнкцию:
137: 10001001 88: 1011000 - IP-адрес
240: 11110000 0: 00000000 - маска сети
10000000 00000000 - результат поразрядной конъюнкции
· Переведем результат в 10-ю систему счисления:
100000002 = 12810
· Итого, для адреса сети получаем байты:
145.92.128.0
· Ставим в соответствие буквы в таблице и получаем BHEA.
Результат: BHEA
Ссылки:
https://labs-org.ru/ege-12/#__IP
https://itmultimedia.ru/poleznye-sovety-dlya-rascheta-setevoj-ip-adresacii/
Задание:
Задние №1. Решение задания 12 (Поляков К., вариант 47):
По заданным IP-адресу узла сети и маске определите адрес сети:
IP-адрес: 224.24.254.134 Маска: 255.255.224.0
При записи ответа выберите из приведенных в таблице чисел четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы без точек.
A | B | C | D | E | F | G | H |
255 | 254 | 244 | 224 | 134 | 24 | 8 | 0 |
Задание №2. Для адреса 198.146.70.176/19 найти:
· Сетевой адрес
· Широковещательный адрес
· Маску подсети
Задание №3. Для адреса 52.92.25.205/19 найти:
· Сетевой адрес
· Широковещательный адрес
· Маску подсети