Запиши IP-адрес, если известно, что
У организации морских хомячков алфавит состоит из 6 букв: «Х» ,»О» ,»М» ,»Я» ,»К» ,»И», которые следуют друг за другом в указанном порядке. Известно, что язык состоит из 6-ти буквенных слов, при чем каждая буква встречается в одном слове ровно один раз. Полина выписала все слова данного языка в алфавитном порядке данной организации. Какое слово было выписано следом за словом «ЯИКМОХ»?
На спектакль пришло 16 человек: каждый из них либо рыцарь,либо лжец. Рыцари всегда говорят правду,а лжецы всегда лгут. При этом,у каждого из присутствующих был ровно один карандаш белого или чёрного цвета. До антракта у каждого спросили: «Какого цвета у тебя карандаш?». Каждый из опрошенных заявил,что у него карандаш белого цвета. После антракта некоторые участники конференции поменялись карандашами. И после этого им снова задали тот де вопрос. Но результат был другим: половина из участников конференции сказали,что у них карандаш белого цвета,а остальные — сказали,что чёрного. Найдите количество лжецов,у которых во время второго опроса был карандаш белого цвета
Кроссворд «Текстовый редактор»
2. Минимальная единица текстовой информации.
3. Набор букв алфавита с общим стилем изображения.
6. Последовательность символов, ограниченная специальными символами конца…
8. Изменение содержания текста, исправление ошибок.
9. Перемещение фрагмента текста в буфер обмена. По вертикали:
1. Последовательность символов, ограниченная с двух сторон
служебными словами (скобки, пробел, запятая).
2. Произвольная последовательность символов между левой
и правой границами документа.
4. Основное устройство ввода текста.
5. Помещение копии фрагмента текста в буфер обмена.
7. Способ представления документа, в котором фрагменты текста или изображения выполняют роль ссылок для перехода к другим объектам или документам.
Помогите пожалуйста Запиши IP-адрес, если известно что IP-подсети: 106.64.0.0 IP-хоста: 0.0.178.205
Общее количество вариантов считается по формуле где n это длина алфавита, а m максимальная длина слова. = 81.
Теперь необходимо исключить повторяющиеся.
АААА, АААР, АААУ, РААА, УААА — 5 шт.
РРРР, РРРА, РРРУ, АРРР, УРРР — 5 шт.
УУУУ, УУУА, УУУР, АУУУ, РУУУ — 5 шт.
81 — 15 = 66 вариантов.
В 1 группе Home лишнее,в 2 F1 ,в 3 f12,в 4 просто *
Вот наполнение массива рандомом. Если нужно наполнение с клавиатуры, то вместо a[i,j]:=random(100)-50; необходимо поставить read(a[i,j]);
const n=3; m=4;
var a:array[1..n,1..m] of integer;
var i, j, count:integer;
begin
count:=0;
for i:=1 to n do begin
for j:=1 to m do begin
a[i,j]:=random(100)-50;
write(a[i,j]:3, ‘ ‘);
end;
writeln;
end;
for i:=1 to n do
for j:=1 to m do begin
if (a[i,j]<0) and (a[i,j] mod 2 <>0) then count:=count+1;
end;
writeln(‘Количество отрицательных нечетных элементов: ‘, count);
<span>end.
</span>
№1
begin
var a:array[1..7] of integer;
var pr:=1;
for var i:=1 to 7 do
begin
a[i]:=readlninteger(‘Введите элемент массива’);
pr*=a[i];
end;
writeln(‘Произведение:’,pr);
end.
№2
begin
var a:array[1..20] of integer;
var k:=0;
for var i:=1 to 20 do
begin
a[i]:=2*i+sqr(i)-100;
if a[i]<0 then k+=1;
end;
writeln(‘Кол-во:’,k);
end.
Основы компьютерных сетей. Тема №5. Понятие IP адресации, масок подсетей и их расчет

Приветствую вас на очередном выпуске. И сегодня речь пойдет о том, какие бывают IP-адреса, и как ими пользоваться. Что такое маска подсети, как она считается, и для чего она нужна. Как делить сети на подсети и суммировать их. Заинтересовавшихся приглашаю к прочтению.
P.S. Возможно, со временем список дополнится.
Начнем, или уже продолжим, с самого популярного, заезженного и больного. Это IP-адреса. На протяжении 4-х статей это понятие встречалось по несколько раз, и скорее всего вы уже либо сами поняли для чего они, либо нагуглили и почитали о них. Но я обязан вам это рассказать, так как без ясного понимания двигаться дальше будет тяжело.
Итак IP-адрес — это адрес, используемый узлом на сетевом уровне. Он имеет иерархическую структуру. Что это значит? Это значит, что каждая цифра в его написании несет определенный смысл. Объясню на очень хорошем примере. Примером будет номер обычного телефона — +74951234567. Первой цифрой идет +7. Это говорит о том, что номер принадлежит зоне РФ. Далее следует 495. Это код Москвы. И последние 7 цифр я взял случайными. Эти цифры закреплены за районной зоной. Как видите здесь наблюдается четкая иерархия. То есть по номеру можно понять какой стране, зоне он принадлежит. IP адреса придерживаются аналогично строгой иерархии. Контролирует их организация IANA(англ. Internet Assigned Numbers Authority). Если на русском, то это «Администрация адресного пространства Интернет». Заметьте, что слово «Интернет» с большой буквы. Мало кто придает этому значение, поэтому объясню разницу. В англоязычной литературе термин «internet» используется для описания нескольких подключённых друг к другу сетей. А термин «Internet» для описания глобальной сети. Так что примите это к сведению.
Несмотря на то, что тема статьи больше теоретическая, нежели практическая, я настоятельно рекомендую отнестись к ней со всей серьезностью, так как от нее зависит понимание дальнейших тем, а особенно маршрутизации. Не для кого, я думаю, не секрет, что мы привыкли воспринимать числовую информацию в десятичном формате (в числах от 0-9). Однако все современные компьютеры воспринимают информацию в двоичном (0 и 1). Не важно при помощи тока или света передается информация. Вся она будет воспринята устройством как есть сигнал (1) или нет (0). Всего 2 значения. Поэтому был придуман алгоритм перевода из двоичной системы в десятичную, и обратно. Начну с простого и расскажу, как выглядят IP адреса в десятичном формате. Вся эта статья посвящена IP адресам версии 4. О версии 6 будет отдельная статья. В предыдущих статьях, лабах, да и вообще в жизни, вы видели что-то вроде этого «193.233.44.12». Это и есть IP адрес в десятичной записи. Состоит он из 4-х чисел, называемых октетами и разделенных между собой точками. Каждое такое число (октет) может принимать значение от 0 до 255. То есть одно из 256 значений. Длина каждого октета равна 8 битам, а суммарная длина IPv4 = 32 битам. Теперь интересный вопрос. Каким образом этот адрес воспримет компьютер, и как будет с ним работать?
Можно конечно набить это в калькулятор, коих навалом в Интернете, и он переведет его в двоичный формат, но я считаю, что переводить вручную должен уметь каждый. Особенно это касается тех, кто планирует сдавать экзамен. У вас не будет под рукой ничего, кроме бумаги и маркера, и полагаться придется только на свои навыки. Поэтому показываю, как это делать вручную. Строится таблица.
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| x | x | x | x | x | x | x | x |
Вместо «x» записывается либо 1, либо 0. Таблица разделена на 8 колонок, каждая из которых несет в себе 1 бит (8 колонок = 8 бит = 1 октет). Расположены они по старшинству слева направо. То есть первый (левый) бит — самый старший и имеет номер 128, а последний (правый) — самый младший и имеет номер 1. Теперь объясню, откуда эти числа взялись. Так как система двоичная, и длина октета равна 8-ми битам, то каждое число получается возведением числа 2 в степень от 0 до 7. И каждая из полученных цифр записывается в таблицу от большего к меньшему. То есть слева направо. От 2 в 7-ой степени до 2 в 0-ой степени. Приведу таблицу степеней 2-ки.
Думаю теперь понятно, каким образом строится таблица. Давайте теперь разберем адрес «193.233.44.12» и посмотрим, как он выглядит в двоичном формате. Разберем каждый октет отдельно. Возьмем число 193 и посмотрим, из каких табличных комбинаций оно получается. 128 + 64 + 1 = 193.
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
Те числа, которые участвовали в формировании комбинации получают 1, а все остальные получают 0.
Берем первый октет 233. 128 + 64 + 32 + 8 + 1.
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 |
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 |
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
Получаю 128 + 64 + 16 + 4 + 1 = 213.
Вычисляю второй блок.
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 |
Считаю 128 + 32 + 16 + 4 = 180.
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
128 + 64 + 1 = 193.
И напоследок четвертый.
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
Собираем результаты вычислений и получаем адрес 213.180.193.3. Ничего тяжелого, чистая арифметика. Если тяжело и прям невыносимо трудно, то попрактикуйтесь. Сначала может показаться страшным, так как многие закончили учебу лет 10 назад и многое позабыли. Но уверяю, что как только набьете руку, считать будет гораздо легче. Ну а для закрепления дам вам несколько примеров для самостоятельного расчета (под спойлером будут ответы, но открывайте их только когда прорешаете сами).
1) 10.124.56.220
2) 113.72.101.11
3) 173.143.32.194
4) 200.69.139.217
5) 88.212.236.76
6) 01011101.10111011.01001000.00110000
7) 01001000.10100011.00000100.10100001
8) 00001111.11011001.11101000.11110101
9) 01000101.00010100.00111011.01010000
10) 00101011.11110011.10000010.00111101
Теперь IP-адреса не должны быть чем-то страшным, и можно углубиться в их изучение.
Выше мы говорили о структуре телефонных номеров и их иерархии. И вот на заре рождения Интернета в том представлении, в каком мы его привыкли видеть, возник вопрос. Вопрос заключался в том, что IP-адреса нужно как-то сгруппировать и контролировать выдачу. Решением было разделить все пространство IP-адресов на классы. Это решение получило название классовая адресация (от англ. Classful). Она уже давно устарела, но практически в любой книге на нее отводятся целые главы и разделы. Cisco тоже не забывает про это и в своих учебных материалах рассказывает про нее. Поэтому я пробегусь по этой теме и покажу, чем она блистала с 1981 по 1995 год.
Пространство было поделено на 5 классов. Каждому классу был назначен блок адресов.
Начнем с класса A. Если внимательно посмотреть на таблицу, то можно заметить, что этому блоку дан самый большой блок адресов, а если быть точным, то половина всего адресного пространства. Предназначался данный класс для крупных сетей. Структура этого класса выглядит следующим образом.
В чем суть. Первый октет, то есть 8 бит, остаются за адресом сети, а 3 последних октета (то есть оставшиеся 24 бита) назначаются хостам. Вот для того, чтобы показать, какой кусок относится к сети, а какой к хостам, используется маска. По структуре записи она аналогична записи IP-адреса. Отличие маски от IP-адресов в том, что 0 и 1 не могут чередоваться. Сначала идут 1, а потом 0. Таким образом, там где есть единица, значит это участок сети. Чуть ниже, после разбора классов, я покажу, как с ней работать. Сейчас главное знать, что маска класса A — 255.0.0.0. В таблице еще упомянут какой-то первый бит и для класса A он равен 0. Этот бит как раз нужен для того, чтобы сетевое устройство понимало, к какому классу оно принадлежит. Он же еще задает начальный и конечный диапазон адресов. Если в двоичном виде записать на всех октетах единицы, кроме первого бита в первом октете (там всегда 0), то получится 127.255.255.255, что является границей класса A. Например, возьмем адрес 44.58.63.132. Мы знаем, что у класса A первый октет отдается под адрес сети. То есть «44» — это адрес сети, а «58.63.132» — это адрес хоста.
Поговорим про класс B
Этому классу был дан блок поменьше. И адреса из этого блока предназначались для сетей средних масштабов. 2 октета отданы под адрес сети, и 2 — под адрес хостов. Маска у B класса — 255.255.0.0. Первые биты строго 10. А остальные меняются. Перейдем к примеру: 172.16.105.32. Два первых октета под адрес сети — «172.16». А 3-ий и 4-ый под адрес хоста — «105.32».
Этот класс обделили адресами и дали ему самый маленький блок. Он был предназначен для мелких сетей. Зато этот класс отдавал целых 3 октета под адрес сети и только 1 октет — под хосты. Маска у него — 255.255.255.0. Первые биты 110. На примере это выглядит так — 192.168.1.5. Адрес сети «192.168.1», а адрес хоста «5».
Классы D и E. Я неcпроста объединил их в один. Адреса из этих блоков зарезервированы и не могут назначаться сетям и хостам. Класс D предназначен для многоадресной рассылки. Аналогию можно привести с телевидением. Телеканал вещает группе лиц свой эфир. И те, кто подключены, могут смотреть телепередачи. То есть в распоряжение администраторов могут попасть только 3 первых класса.
Напомню, что первые биты у класса D — это 1110. Пример адреса — 224.0.0.5.
А первые биты у класса E — это 1111. Поэтому, если вдруг увидите адрес вида 240.0.0.1, смело говорите, что это адрес E класса.
Про классы обмолвились. Теперь озвучу вопрос, который мне недавно задали. Так зачем тогда маски? У нас итак хосты понимают в каком они классе. Но суть вот в чем. Например, у вас есть маленький офис, и вам нужен блок IP-адресов. Никто не будет вам выдавать все адреса класса C. А дадут только его кусок. Например 192.168.1.0 с маской 255.255.255.0. Так вот эта маска и будет определять вашу границу. Мы уже говорили, что октет варьируется в значении от 0 до 255. Вот этот 4 октет полностью в вашем распоряжении. За исключением первого адреса и последнего, то есть 0 и 255 в данном случае. Первый адрес — это адрес сети (в данном случае 192.168.1.0), а последний адрес — широковещательный адрес (192.168.1.255). Напомню, что широковещательный адрес используется в том случае, когда надо передать информацию всем узлам в сети. Поэтому есть правило. Если вам надо узнать номер сети, то все биты относящиеся к хосту обращаете в 0, а если широковещательный, то все биты — в 1. Поэтому, если из 256 адресов забирается 2 адреса, то на назначение хостам остается 254 адреса (256 — 2). На собеседованиях и экзаменах часто любят спрашивать: «Количество IP-адресов в сети?» и «Сколько доступных IP-адресов в сети для назначения хостам?». Два разных вопроса, которые могут поставить в тупик. Ответом на первый будет — все адреса, включая адрес сети и широковещательный адрес, а на второй вопрос — все адреса, кроме адреса сети и широковещательного адреса.
Теперь углубимся в изучении маски.
Я записал адрес класса C 192.168.1.1 с маской 255.255.255.0 в десятичном и двоичном формате. Обратите внимание на то, как выглядит IP-адрес и маска в двоичном формате. Если в IP-адресе 0 и 1 чередуются, то в маске сначала идут 1, а потом 0. Эти биты фиксируют адрес сети и задают размер. По таблице выше можно сделать вывод, что в двоичном виде маска представлена последовательностью 24 единиц подряд. Это говорит о том, что целых 3 октета выделено под сеть, а 4 октет свободен под адресацию для хостов. Здесь ничего необычного. Это стандартная маска класса C.
Но вот в чем загвоздка. Например, в вашем офисе 100 компьютеров, и расширяться вы не планируете. Зачем плодить сеть из 250+ адресов, которые вам не нужны?! На помощь приходит разделение на подсети. Это очень удобная вещь. Объясню принцип на примере того же класса C. Как бы вы не хотели, но трогать 3 октета нельзя. Они фиксированы. Но вот 4 октет свободен под хосты, поэтому его можно трогать. Заимствуя биты из хостового куска, вы дробите сеть на n-ое количество подсетей и, соответственно, уменьшаете в ней количество адресов для хостов.
Попробуем это воплотить в реальность. Меняю маску. Заимствую первый бит из хостовой части(то есть 1-ый бит 4-ого октета выставляю в единицу). Получается следующая маска.
Данная маска делит сеть на 2 части. Если до дробления у сети было 256 адресов(от 0 до 255), то после дробления у каждого куска будет по 128 адресов(от 0 до 127 и от 128 до 255).
Теперь посмотрю, что изменится в целом с адресами.
Красным цветом я показал те биты, которые зафиксированы и не могут изменяться. То есть маска ей задает границу. Соответственно биты помеченные черным цветом определены для адресации хостов. Теперь вычислю эту границу. Чтобы определить начало, надо все свободные биты(помеченные черным цветом) обратить в ноль, а для определения конца обратить в единицы. Приступаю.
То есть в четвертом октете меняются все биты, кроме первого. Он жестко фиксирован в рамках этой сети.
Теперь посмотрим на вторую половину сети и вычислим ее адреса. Деление у нас производилось заимствованием первого бита в 4-ом октете, значит он является делителем. Первая половина сети получалась, когда этот бит принимал значение 0, а значит вторая сеть образуется, когда этот бит примет значение 1. Обращаю этот бит в 1 и посмотрю на границы.
Приведу в десятичный вид.
Соответственно .128 и .255 назначать хостам нельзя. Значит в доступности 128-2=126 адресов.
Вот таким образом можно при помощи маски управлять размером сети. Каждый заимствованный бит делит сеть на 2 части. Если откусить 1 бит от хостовой части, то поделим на 2 части (по 128 адресов), 2 бита = 4 части (по 64 адреса), 3 бита = 8 (по 32 адреса) и так далее.
Если вы рассчитали количество бит, отдаваемые под хосты, то количество доступных IP-адресов можно вычислить по формуле
В книге У. Одома по подготовке к CCNA R&S приведена хорошая формула для расчета битов, отдаваемых на подсеть и хосты:
N + S + H = 32, где N — кол-во битов сети (класс A — 8 бит, B — 16 бит, C — 24 бита), S — кол-во заимствованных битов на подсеть (это то, что мы делали выше, когда заимствовали 1 бит из хостовой части), H — кол-во бит отводимых хостам.
Внесу ясность и объясню, как и где применять эти формулы.
Нам выдали сеть 172.16.0.0 и попросили создать 120 подсетей со 180 хостами и записать маску. Приступим.
В качестве шпаргалки, и для быстроты вычисления, я ниже подготовил таблицу степеней двойки.
Двигаемся дальше. Первое главное условие, при использовании классовой адресации — это то, что должна использоваться одна маска для всех подсетей. То есть, если у вас для одной подсети маска 255.255.255.0, то для другой подсети она не может быть 255.255.255.128.
Теперь смотрим на выданную сеть. Путем логических размышлений понимаем, что это адрес класса B. А значит его N (кол-во битов сети) = 16. Ок. Значит на хосты выделено тоже 16 бит. Вспоминаем условия задачи. Нужно создать 120 подсетей. «Откусывать» биты от сетевой части запрещено, значит кусаем от хостовой части.
Теперь нужно взять такое кол-во бит, чтобы хватило для 120 подсетей, однако оставляло достаточное кол-во под биты для хоста. Смотрим на таблицу выше. Если взять 7 бит, то получим 128. 128>120, следовательно попадаем под условие. Если возьмем 6 бит, то получим 64. 64<128, поэтому не попадаем под условие и отбрасываем этот вариант.
Ок. Выяснили, что S надо выделить не меньше 7 бит. Теперь посмотрим, что осталось под хосты.
Если N + S + H = 32 => H = 32 — (N + S) => H = 32 — (16 + 7) = 9. Смотрим на таблицу выше (или возводим 2 в 9 степень в уме) и получаем число 512. Отнимаем 2 (адрес сети и широковещательный адрес) и получаем 510 адресов. Нам нужно 180, а значит под условие мы попадаем причем с большим запасом. В таких случаях вам предоставляется право выбора. Сделать больше подсетей или хостов на подсеть. Объясняю, что это значит. У нас есть 9 бит на хосты. Если мы возьмем 8 бит, то получим число 256. 256 — 2 = 254 адреса. Этот вариант нам тоже подходит. Возьмем 7 бит. Получаем 128. Даже не отнимая 2 адреса, становится понятно, что это меньше 180 => данный вариант отбрасывается сразу. Итого получаем, что минимальное количество для подсети — 7 бит, а для хостов — 8 бит. Поэтому свободный бит можно отдать либо на подсеть, либо на хосты. Маска получается сложением N и S. В нашем случае получаем, если под подсеть отдаем 7 бит, то получаем 23. В десятичном виде маска будет выглядеть 255.255.254.0. А если отдадим под подсеть 8 бит, то получим 24 (или в десятичном виде 255.255.255.0). Иногда бывает, что под задачу существует всего одна маска. Ну и, конечно, могут быть случаи, когда маска не попадает не под какие условия. В этих случаях нужно брать сеть другого класса или доказывать заказчику, что это невозможно.
Думаю теперь понятно, как работала классовая адресация, и как ее рассчитывали. Возможно с первого раза голова не переварит этого, поэтому перечитывайте еще раз и повнимательнее. Как только начнет что-то проясняться, потренируйтесь на задачках, которые я оставлю.
1) Записать маску для проекта: сеть 172.16.0.0. 250 подсетей и 220 хостов.
2) Записать маску для проекта: сеть 10.0.0.0. 2000 подсетей и 1500 хостов.
3) Записать маску для проекта: сеть 192.168.0.0. 4 подсети и 60 хостов.
На этом разговор про классовые сети начну закруглять и подведу итоги. Классовая адресация — это зарождение сегодняшнего интернета, и именно с нее все началось. Поэтому плюсов у нее много, и за это создателям спасибо. Но, как вы могли заметить, у нее было жесткая привязка к одной маске. За счет этого IP-адреса использовались не экономно и расточительно. А в связи с бурным ростом Интернета адресов стало не хватать, и срочно нужно было вносить изменения.
Поняли ведущие умы, что использовать классовые сети не удобно и нужно от них отказываться. Это привело к созданию бесклассовой адресации и маскам переменной длины, о чем мы ниже поговорим. Но перед этим пару слов о видах IP-адресов. Несмотря на то, что переход от классовой адресации к бесклассовой предполагал экономию IP-адресов, на деле эта проблема все равно решалась не полностью. Все упиралось в саму технологию IPv4. Объясню почему. Выше я говорил, что длина IP адреса равна 32 бита. Каждый бит может принимать значение 0 или 1, то есть два значения. Соответственно, чтобы вычислить все комбинации, надо возвести 2 в 32-ую степень. Получаем 4294967296 адресов. Если вычесть отсюда зарезервированные для специальных нужд и прочего, то останется примерно 4.2 млрд. адресов, когда на Земле проживает около 7.3 млрд. человек. Поэтому ведущие умы быстро просекли эту фишку и начали искать решение. Они решили выделить некое адресное пространство, которое будет использоваться только в пределах локальной сети и не будет использоваться в Интернете. Это разделило адреса на 2 лагеря: белые или публичные (англ. public) и серые или частные (англ. private).
Привожу диапазон адресов, которые выделены под локальные сети:
1) 10.0.0.0 — 10.255.255.255 с маской 255.0.0.0 (или кратко 10/8).
2) 172.16.0.0 — 172.31.255.255 с маской 255.240.0.0 (или кратко 172.16/12).
3) 192.168.0.0 — 192.168.255.255 (или кратко 192.168/16).
Если честно, я мало где видел применение адресации 172.16.X.X. Обычно в корпоративной среде всегда используется 10.X.X.X, а в домах/квартирах и мелких офисах 192.168.X.X.
Теперь прошу обратить внимание на очень важную вещь, которую многие путают. Не путайте классовую адресацию и диапазон частных адресов. Очень много людей наступают на эти грабли и свято верят, что диапазон частных адресов 10.0.0.0 — 10.255.255.255 — это диапазон A класса.
Разобрались, что такое частные адреса или private адреса. Но это еще не все. Есть еще список зарезервированных адресов, которые не могут светиться в Интернете. По ним написана целая документация на IETF. Привожу ссылку, где можете прочитать оригинал. Я кратко опишу часто встречающиеся.
1) 0.0.0.0/8 — диапазон адресов, используемый хостами для самоидентификации. Обычно это можно увидеть, когда хост пытается получить IP-адрес от DHCP сервера. Так как изначально у него нету IP-адреса, то в поле источника он вставляет адрес из данного диапазона.
2) 127.0.0.0/8 — loopback или localhost адреса. Это IP-адреса, используемые компьютером, чтобы обратиться к самому себе. Очень полезно для проверки работы TCP/IP. Дело в том, что независимо от наличия соединения с Интернетом или локальной сетью, адреса из этого пула должны всегда пинговаться. Если этого не происходит, значит система накрылась или накрывается медным тазом.
3) 169.254.0.0/16 — link-local address или локальные адреса. Автоматически используются хостами при отсутствии DHCP-сервера или его недоступности. Это позволяет быстро организовать локальную сеть и проверить работу узлов. Однако данный пул адресов не маршрутизируется. Следовательно, выйти в Интернет с них не получится.
4) 224.0.0.0/4 — блок адресов, зарезервированный под многоадресную рассылку или multicast. Для тех, кто хочет побольше узнать про multicast, оставляю ссылку.
Бесклассовая адресация (англ. Classless Inter-Domain Routing или CIDR). Описана была в стандарте RFC1519 в 1993 году. Она отказалась от классовых рамок и фиксированной маски. Адреса делятся только на публичные и зарезервированные, о которых написано выше. Если в классовой адресации маска нарезалась единой для всех подсетей, то в бесклассовой — у каждой подсети может быть своя маска. На теории все хорошо и красиво, но нет ничего лучше, чем практика. Поэтому перехожу к ней и объясню, как можно делить на подсети с разным количеством хостов.
В качестве шпаргалки приведу список всех возможных масок.
Представим ситуацию. Вам выдали сеть 192.168.1.0/24 и поставили следующие условия:
1) Подсеть на 10 адресов для гостей.
2) Подсеть на 42 адреса для сотрудников.
3) Подсеть на 2 адреса для соединения 2 маршрутизаторов.
4) Подсеть на 26 адресов для филиала.
Ок. Данная маска показывает, что в нашем распоряжении находятся 256 адресов. По условию эту сеть надо каким-то образом разделить на 4 подсети. Давайте попробуем. 256 очень хорошо делится на 4, давая в ответе 64. Значит один большой блок в 256 адресов можно поделить на 4 равных блока по 64 адреса в каждом. И все было бы прекрасно, но это порождает большое число пустых адресов. Для сотрудников, которым нужно 42 адреса, ладно, может в дальнейшем компания еще наймет. Но вот подсеть для маршрутизаторов, которая требует всего 2 адреса, оставит 60 пустых адресов. Да, вы можете сказать, что это private адреса, и кому дело до них. А теперь представьте, что это публичные адреса, которые маршрутизируются в Интернете. Их и так мало, а тут мы еще будем их отбрасывать. Это не дело, тем более, когда мы можем гибко управлять адресным пространством. Поэтому возвращаемся к примеру и нарежем подсети так, как нам нужно.
Итак, какие подсети должны быть нарезаны, чтобы вместились все адреса, заданные по условию?!
1) Для 10 хостов, наименьшей подсетью будет блок из 16 адресов.
2) Для 42 хостов, наименьшей подсетью будет блок из 64 адресов.
3) Для 2 хостов, наименьшей подсетью будет блок из 4 адресов.
4) Для 26 хостов, наименьшей подсетью будет блок из 32 адресов.
Я понимаю, что не все могут с первого раза в это вникнуть, и в этом нет ничего страшного. Все люди разные и по-разному воспринимают информацию. Для полноты эффекта покажу деление на картинке.
Вот у нас блок, состоящий из 256 адресов.

После деления на 4 части получается следующая картинка.

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

Как видите, в свободном доступе осталось куча адресов, которые мы в дальнейшем сможем использовать. Можно посчитать точную цифру. 256 — (64 + 32 + 16 + 4) = 140 адресов.
Вот столько адресов мы сэкономили. Двигаемся дальше и ответим на следующие вопросы:
— Какими будут сетевые и широковещательные адреса?
— Какие адреса можно будет назначить хостам?
— Как буду выглядеть маски?
Механизм деления на подсети с разной маской получил название VLSM (от англ. Variable Length Subnet Mask) или маска подсети переменной длины. Дам важный совет! Начинайте адресацию с самой большой подсети. Иначе вы можете попасть на то, что адреса начнут перекрываться. Поэтому сначала планируйте сеть на бумаге. Нарисуйте ее, изобразите в виде фигур, просчитайте вручную или на калькуляторе и только потом переходите настройке в боевых условиях.
Итак, самая большая подсеть состоит из 64 адресов. С нее и начнем. Первый пул адресов будет следующий:
Адрес подсети — 192.168.1.0.
Широковещательный адрес — 192.168.1.63.
Пул адресов для назначения хостам от 192.168.1.1 до 192.168.1.62.
Теперь выбор маски. Тут все просто. Отнимаем от целой сети нужный кусок и полученное число записываем в октет маски. То есть 256 — 64 = 192 => маска 255.255.255.192 или /26.
Дальше идет подсеть поменьше. Состоит она из 32 адресов. Если первая заканчивалась на .63, то эта будет начинаться с .64:
Адрес подсети — 192.168.1.64.
Широковещательный адрес — 192.168.1.95.
Пул адресов для назначения хостам будет от 192.168.1.65 до 192.168.1.94.
Маска: 256 — 32 = 224 => 255.255.255.224 или /27.
3-я подсеть, которая предназначена для филиала, начнет старт с .96:
Адрес подсети — 192.168.1.96.
Широковещательный адрес — 192.168.1.111.
Пул адресов для назначения хостам будет от 192.168.1.97 до 192.168.1.110.
Маска: 256 — 16 = 240 => 255.255.255.240 или /28.
Ну и для последней подсети, которая уйдет под интерфейсы, соединяющие роутеры, будет начинаться с .112:
Адрес подсети — 192.168.1.112.
Широковещательный адрес — 192.168.1.115.
Разрешенными адресами будут 192.168.1.113 и 192.168.1.114.
Маска: 256 — 4 = 252 => 255.255.255.252 или /30.
Замечу, что адрес 192.168.1.115 является последним используемым адресом. Начиная с 192.168.1.116 и до .255 свободны.
Вот таким образом, при помощи VLSM или масок переменной длины, мы экономно создали 4 подсети с нужным количеством адресов в каждой. Думаю это стоит закрепить задачкой для самостоятельного решения.
Разделите сеть 192.168.1.0/24 на 3 разные подсети. Найдите и запишите в каждой подсети ее адреса, широковещательный адрес, пул разрешенных к выдаче адресов и маску. Указываю требуемые размеры подсетей:
1) Подсеть на 120 адресов.
2) Подсеть на 12 адресов.
3) Подсеть на 5 адресов.
1) Адрес подсети — 192.168.1.0.
Широковещательный адрес — 192.168.1.127.
Пул адресов для назначения хостам будет от 192.168.1.1 до 192.168.1.126.
Маска: 256 — 128 = 128 => 255.255.255.128 или /25.
2) Адрес подсети — 192.168.1.128.
Широковещательный адрес — 192.168.1.143.
Пул адресов для назначения хостам будет от 192.168.1.129 до 192.168.1.142.
Маска: 256 — 16 = 240 => 255.255.255.240 или /28.
3) Адрес подсети — 192.168.1.144.
Широковещательный адрес — 192.168.1.151.
Пул адресов для назначения хостам будет от 192.168.1.145 до 192.168.1.150.
Маска: 256 — 8 = 248 => 255.255.255.248 или /29.
Теперь, когда вы знаете, как делить сети на подсети, самое время научиться собирать подсети в одну общую подсеть. Иначе это называется суммированием или summarization. Суммирование чаще всего используется в маршрутизации. Когда у вас в таблице маршрутизатора несколько соседних подсетей, маршрутизация которых проходит через один и тот же интерфейс или адрес. Скорее всего этот процесс лучше объяснять при разборе маршрутизации, но учитывая то, что тема маршрутизации и так большая, то я объясню процесс суммирования в этой статье. Тем более, что суммирование это сплошная математика, а в этой статье мы ею и занимаемся. Ну что же, приступлю.
Представим, что у меня компания состоящая из главного здания и корпусов. Я работаю в главном здании, а в корпусах коллеги. Хоть у меня и главное здание, но в нем всего 4 подсети:
— 192.168.0.0/24
— 192.168.1.0/24
— 192.168.2.0/24
— 192.168.3.0/24
Тут коллеги с соседнего здания очухались и поняли, что у них слетела конфигурация на маршрутизаторе, а бекапов нет. Наизусть они не помнят, какие в главном здании подсети, но помнят, что они находятся рядом друг с другом, и просят прислать одну суммированную. Теперь у меня возникает задача, как их суммировать. Для начала я переведу все подсети в двоичный вид.
Посмотрите внимательно на таблицу. Как видите, у 4 подсетей первые 22 бита одинаковые. Соответственно, если я возьму 192.168.0.0 с маской /22 или 255.255.252.0, то покрою свои 4 подсети. Но обратите внимание на 5 подсеть, которую я специально ввел. Это подсеть 192.168.4.0. 22-ой бит у нее отличается от предыдущих 4-х, а значит выше выбранное не покроет эту подсеть.
Ок. Теперь я отправлю коллегам суммированную подсеть, и, если они все правильно пропишут, то маршрутизация до моих подсетей будет работать без проблем.
Возьмем тот же пример и немного изменим условия. Нас попросили прислать суммарный маршрут для подсетей 192.168.0.0 и 192.168.1.0. Я не поленюсь и создам еще одну таблицу.
Обратите внимание, что у 2 первых подсетей одинаковые не 22 бита, а 23 бита. Это значит, что их можно просуммировать еще компактнее. В принципе работать будет и так, и так. Но как говорилось в одной рекламе: «Если нет разницы — зачем платить больше?». Поэтому старайтесь суммировать, не задевая при этом соседние подсети.
Таким образом, переводя подсети в двоичный формат и находя одинаковые биты, можно их суммировать.
Вообще суммирование полезно применять, когда надо объединить несколько подсетей, расположенных вблизи друг с другом. Это позволит сэкономить ресурсы маршрутизаторов. Однако это не всегда возможно. Просуммировать, например, подсеть 192.168.1.0 и 192.168.15.0, не захватив при этом соседние подсети, невозможно. Поэтому перед суммированием стоит подумать над ее целесообразностью. Поэтому повторюсь еще раз, что начинать какую-либо революцию надо на бумажке. Ну и для закрепления материала оставлю небольшую задачу.
1) 10.3.128.0
2) 10.3.129.0
3) 10.3.130.0
4) 10.3.131.0
Просуммируйте подсети и найдите маску, которая сможет покрыть их, не задевая при этом соседние подсети.
Исходя из этого, ответом будет 10.3.128.0/22 (255.255.252.0)
Администрирование#01. Адресация в IP сетях
Некоторое введение: статьи о базовых понятиях я писала еще в универе по лекциям, затем их вычитывал мой научный руководитель (aka nixleader), поэтому тега «моё» не будет. Статьи не претендуют на оригинальность, есть множество других. Они, также, вероятно, могут встретится в сети (распространялись в универе и свободно висят в справочной системе на работе). Я постараюсь указывать места, где будет встречаться копипаста с других ресурсов (далее такое будет). Помимо простых вещей, попробую привести в литературную форму некоторые сложные маны, которые писала чисто для себя, и выложу их отдельно.
Администрирование#01. Адресация в IP сетях
В семействе протоколов TCP/IP используются три типа адресов: локальные (физические, аппаратные), IP-адреса и символьные (доменные) имена. Рассмотрим первые два типа адресов.
Основные термины:
Хост (Host) – устройство, работающее в сети на сетевом уровне модели OSI (компьютер, маршрутизатор и т.п.). Часто понятие путают с IP-адресом.
MAC-адрес — физический адрес компьютера (если точнее — сетевой карты или другого сетевого устройства). Размер адреса – 6 байт. Этот адрес должен быть уникальным для каждого устройства в локальной сети, и используется всеми устройствами для передачи данных внутри неё. (Как говорил мой преподаватель: «Вы еще не видели китайских сетевых карт: в одной серии карт может быть много повторяющихся MAC-адресов»).
IP-адрес — это 32 бита (4 байта), 4 октета, представляющие собой «логический» адрес хоста в сети (сетевой адрес). Нужно понимать, что у одного хоста может быть много IP-адресов.
IP-адреса обычно записываются в десятичной системе счисления виде четырёх октетов X1.X2.X3.X4, где X1 – старший байт адреса.
Есть консорциум IANA, который раздает IP-адреса по 5 организациям (ARIN, RIPE, APNIC, AfriNIC, LACNIC). Им выдаются сети класса А. Далее эти организации распределяют адреса по заявкам от организаций со статусом LIR (Local Internet Resource) подсетями /22 или крупнее, а в случае выделения провайдеро-независимого блока — /24 (класс C) и крупнее.
Маска подсети — указывает, какая часть IP-адреса приходится на адрес сети, а какая — на адрес хоста в ней. Без адреса сети или IP-адреса используется только в обсуждении количества используемых/необходимых адресов.
Маска — это последовательность скольких-то единичек в начале, а потом — нулей, составляющих в итоге 32 бита. Бит равный единице означает, что на его месте в IP-адресе бит будет входить в адрес сети. Нулевые биты в маске определяют позиции бит адреса хоста в IP-адресе.
Маска записывается через “/” после IP-адреса и может записываться как IP (например, 192.168.1.100/255.255.255.0; Здесь маска 255.255.255.0 — это 24 единички и 8 нулей (в двоичной системе), первые 24 символа будут адресом сети, оставшиеся 8 — адресом хоста), или как число от 0 до 32 (192.168.1.100/24 — здесь «/24» — это маска, то есть 24 единички в начале, остальные — нули).
Адрес сети – зарезервированный IP адрес, используемый для обозначения всей сети (совместно с указанием маски сети). В адресе сети на месте адреса хоста все биты выставляются в нули.
Широковещательный запрос — отправка пакета всем устройствам в сети. Для реализации такой рассылки назначается специальный широковещательный адрес: в IP-адрес после адреса сети (вместо адреса хоста) все биты выставляются в единицы.
Соответственно, максимально возможное количество хостов в сети вычисляется по формуле 2^(32-маска)-2. (Так как, когда вместо адреса хоста все нули — это адрес сети, а когда все единички — это широковещательный запрос, соответственно, теряем два адреса из всех вариантов)
Дополнительные сведения:
Маска /32 — указывает, что написан адрес одного и ровно 1 (одного) хоста
Маска /31 — используется для маршрутизации для соединения точка-точка, или если два адреса на один комп (это делается для экономии адресов и для сокращения количества записей о маршрутизации соответственно).
0.0.0.0/0 — весь интернет.
255.255.255.255 — широковещательный запрос всем в локальной сети. Используется обычно в случаях, когда хосту неизвестны настройки локальной сети.
Адреса, которые запрещены в сети интернет, или же «локальные» адреса, которые можно использовать для себя без ограничений (так называемые, «серые» адреса):
Для собственных локальных сетей:
127.0.0.0/8 – loopback – адреса которые доступны только внутри одного хоста
Классификация сетей
В сети класса А 2^24-2 хостов в одной сети, в B — 2^16-2, в C – 256 -2=254 хоста.
Адреса класса D используются для многоадресной (multicast) передачи.
Остальные адреса на данный момент зарезервированы и не используются.
Стоит отметить, что ранее классы использовались для маршрутизации. Теперь же вся маршрутизация «бесклассовая» и классы сетей указываются только для указания размера сети (например, “сеть класса C” обозначает сеть с 256 адресами (с маской /24) (любую, даже 10.2.4.0/24!!))

1K постов 15.5K подписчика
Правила сообщества
# mount -o remount,rw /sysadmins_league
— # mount /dev/good_story /sysodmins_league
— # mount /dev/photo_it /sysodmins_league
— # mount /dev/best_practice /sysodmins_league
— # mount /dev/tutorial /sysodmins_league
2017 год, а никак не могут забыть про классы сетей.
Почти 20 лет назад это уже считало анахронизмом и упоминалось только чтобы если вдруг встретится кривой древний софт чтобы подстроиться под него.
Классификация сетей давно не используется
А в дальнейшем будет про vlan’ы, транки, 802.1Q, и все в таком ключе?
И, собственно, примеры простейших маршрутизаций))) (ведь это же конечная цель всех Ваших работ? что бы пакеты бегали по маршрутам и мы все, прочтя статьи, понимали как они бегают и по каким законам и принципам).
В целом да, но очень сумбурно. Не надо тут этого.
Начиная с мак-адреса, который служит для адресации устройства на L2 (грубо говоря в езернет-сегменте, образованном L2-устройствами) и должен быть уникальным В МИРЕ (ваш препод еще не видел материнок, в которых на всей серии в интегрированных сетевухах может быть один и тот-же мак) для чего существует OUI. И ни слова о разных способах записи MAC-адресов, отличающихся в разных ситуациях/оборудовании
И заканчивая тем, маска может записываться в dot-decimal notation, а не только в slash-notation, как-то путано. И тем, что IANA уже не выделяет сети класса А и вообще редко что-то выдаёт. Адреса v4 кончились, куда там целую А! На днях RIPE получил от IANA у кого-то отобранную за ненадобностью /19 и то большое счастье

35 лет DNS, системе доменных имён

В 1987 году произошло много событий, так или иначе повлиявших на развитие информационных технологий: CompuServe разработала GIF-изображения, Стив Возняк покинул Apple, а IBM представила персональный компьютер PS/2 с улучшенной графикой и 3,5-дюймовым дисководом. В это же время незаметно обретала форму ещё одна важная часть интернет-инфраструктуры, которая помогла создать Интернет таким, каким мы знаем его сегодня. В конце 1987 года в качестве интернет-стандартов был установлен набор протоколов системы доменных имен (DNS). Это было событием которое не только открыло Интернет для отдельных лиц и компаний во всем мире, но и предопределило возможности коммуникации, торговли и доступа к информации на поколения вперёд.
Сегодня DNS по-прежнему имеет решающее значение для работы Интернета в целом. Он имеет долгий и весомый послужной список благодаря работе пионеров Интернета и сотрудничеству различных групп по созданию стандартов.
❯ Масштабирование Интернета для всех
История этого конкретного протокола восходит к 1970-м годам. DNS следовал схеме, используемой многими другими сетевыми протоколами того времени, в том смысле, что он был открытым (не зашифрованным). Он также не устанавливал подлинность того, с кем коннектился, и клиент просто верил в любые ответы, полученные в результате запроса. В защиту того, что сегодня сочли бы очевидным недостатком, скажу, что в то время не конструировали окончательный вариант будущей глобальной коммуникационной инфраструктуры. Как выяснилось, 35 лет назад протокол DNS был доверчив до наивности, и любой решительный злоумышленник мог вторгнуться в трафик запросов DNS. Но тогда DNS был всего лишь небольшим экспериментом.

Иерархия DNS
До 1987 года Интернет в основном использовался военными, государственными учреждениями и представителями научных кругов. В то время Сетевой информационный центр, управляемый SRI International, вручную поддерживал каталог хостов и сетей. Хоть ранний Интернет и был революционным и дальновидным, не у всех был к нему доступ.
В тот же период сеть Агентства перспективных исследовательских проектов США, предтеча Интернета, который мы сейчас знаем, превратилась в быстрорастущую среду, в связи с чем предлагались новые схемы именования и адресации. Увидев тысячи заинтересованных учреждений и компаний, желавших изучить возможности сетевых вычислений, группа исследователей ARPANET поняла, что им необходим более современный автоматизированный подход к организации системы именования сети для ожидаемого быстрого роста.
Два пронумерованных информационных документа RFC 1034 и RFC 1035, были опубликованы в 1987 году неофициальной сетевой рабочей группой, которая вскоре после этого превратилась в Инженерный совет Интернета (IETF). Эти RFC, автором которых являлся специалист по информатике Пол В. Мокапетрис, стали стандартами, на основе которых была построена реализация DNS. Именно Мокапетрис, занесённый в 2012 году в Зал славы Интернета, конкретно предложил пространство имён, в котором администрирование базы данных было чётко распределено, но могло также и развиваться по мере необходимости.

Пол Мокапетрис
Помимо предоставления организациям возможности вести свои собственные базы данных, DNS упростила процесс соединения имени, которое могли запомнить пользователи, с уникальным набором чисел — IP-адресом, — который необходим веб-браузерам для перехода на веб-сайт с использованием доменного имени. Всё, что подключёно к Интернету — компьютеры, ноутбуки, планшеты, мобильные телефоны — имеет IP-адрес. Ваш любимый веб-сайт может иметь IP-адрес, например, 12.32.12.32, но его людям, очевидно, запомнить нелегко. Однако такое доменное имя, как example.com, запомнить куда проще. Благодаря тому, что не нужно было запоминать, казалось бы, случайную последовательность чисел, пользователи могли легко перейти на нужный сайт, и всё больше людей по всему миру могли получить доступ к сети.
Благодаря совместной работе этих двух аспектов — широкого распространения и сопоставления имен и адресов — DNS быстро приобрела свою конечную форму и превратилась в ту систему, которую мы знаем сегодня.
❯ Заинтересованные стороны и грубый консенсус
Тридцать пять лет развития и прогресса DNS можно отнести к сотрудничеству множества заинтересованных сторон и групп — научных кругов, технического сообщества, правительств, правоохранительных органов и гражданского общества, а также представителей коммерческой и интеллектуальной собственности, — которые и сегодня продолжают открывать важные перспективы для развития DNS и Интернета. Их точки зрения нашли своё отражение в критических изменениях в области безопасности в DNS: от обеспечения защиты прав интеллектуальной собственности до недавних совместных усилий заинтересованных сторон по борьбе со злоупотреблениями в DNS.

Экосистема DNS
Другие важные совместные достижения связаны с IETF, которая не имеет официального списка членов или требований и отвечает за технические стандарты, составляющие набор интернет-протоколов, а также с Корпорацией по управлению доменными именами и IP-адресами (ICANN), которая играет центральную координирующую роль на базовом уровне. Без конструктивного и продуктивного добровольного сотрудничества Интернет, каким мы его знаем, был бы просто невозможен.
Действительно, эти совместные усилия выстроили бренд сотрудничества, известный сегодня как «грубый консенсус» (rough consensus). Этот термин был принят IETF в первые дни создания DNS для описания формирования доминирующего мнения рабочей группы и необходимости быстрого внедрения новых технологий, что не всегда допускает длительные дискуссии и дебаты. Этот подход используется и сегодня.
Когда 35 лет назад был изобретен DNS, его целью было обеспечение роста Интернета. Вопросы безопасности и конфиденциальности не рассматривались, так как Интернетом тогда ещё почти никто не пользовался. В последующие годы DNS была расширена за счёт возможности аутентификации информации, которую она несёт, с помощью DNSSEC, но вся информация продолжала циркулировать в Интернете в текстовом виде без шифрования. Любой элемент сети, способный считывать сетевой трафик, мог считывать, какие вопросы DNS задаёт каждый человек. В принципе, можно подумать, что это не имеет большого значения, ведь DNS указывает только сайт, который вы хотите посетить, или тот, на который вы хотите отправить электронное письмо. DNS является «просто метаданными».

Со временем стало понятно, что эти метаданные предоставляют много информации для всех, кто хочет провести анализ, и люди начали говорить о том, как защитить DNS-трафик от «прослушек» в Интернете.
Первое предложение по исправлению этой ситуации было опубликовано Дэном Бернштейном под названием DNSCurve и было разработано для сокрытия информации при обмене данными между рекурсивными DNS-серверами (от провайдеров к клиентам) и авторитетными DNS-серверами (от веб-сайтов, TLD и т. д.). Он был опубликован вне IETF и широкого признания не получил, но OpenDNS реализовал связь между клиентами и их рекурсивными серверами.
С другой стороны, IETF начала работать над изменением транспортного протокола DNS (с самого начала это были UDP и TCP), путём добавления TLS для шифрования трафика, и таким образом родился DTLS (DNS поверх TLS). Все эти относительно простые модификации сохранили до сих пор известную DNS практически без изменений и скрыли информацию под защитной оболочкой.
Однако параллельно и независимо IETF начала работу над другим альтернативным вариантом. Известный как DNS поверх HTTPS (DoH), он отличается от традиционного DNS и скрывает сообщения DNS, как если бы они были данными, которые должны передаваться по HTTP с защитой TLS, как веб-данные любого сайта HTTPS. Сообщение становится не просто инкапсуляцией DNS, а новым типом сообщения через HTTPS.
Цель состоит не только в том, чтобы скрыть сообщения DNS с помощью шифрования, но и в том, чтобы скрыть сам трафик DNS вместе с остальным веб-трафиком. Таким образом можно избежать возможной блокировки доступа к DNS-серверам, которая используется правительствами по всему миру, а также труднее отличить DNS-трафик от другого HTTPS-трафика.
Технологии не бывают ни хорошими, ни плохими и зависят от того, как они используются. Для начала необходимо знать, как это влияет на конфиденциальность каждого из нас, а также на безопасность наших сетей. DoH, изменив способ обработки DNS, также может стать открытой дверью для нового этапа эволюции служб DNS в ближайшем будущем.
❯ Проблемы DNS
Но DNS находится в относительно малоизвестном спектре Интернета. В отличие от браузеров, Всемирной паутины или приложений социальных сетей, DNS не так заметен или даже не виден пользователям. Протокол работает таким образом, что сбивает с толку даже конечного клиента. На простой вопрос о том, кто может видеть вашу онлайн-активность, часто бывает очень сложно ответить. Тем не менее, несмотря на то, что его внутренняя работа не ясна, задача DNS проста: система разрешения DNS берёт доменные имена и переводит их в сетевые адреса. Всё это может показаться достаточно очевидным, но у этой функции есть несколько аспектов, которые использовались и злоупотреблялись на протяжении многих лет, что и лежит в основе большей части сегодняшних проблем с DNS.

Когда Интернет стал играть более важную роль в сфере общественных коммуникаций, DNS пришёл вместе с ним и быстро стал уязвимым местом. Например, если бы я мог видеть ваши DNS-запросы и подделывать ответы DNS, я могу бы направить вас по ложному пути. Я мог бы отравить ваш кеш ненужной информацией в ответах DNS (спуфинг), которой вы были бы готовы поверить.
Однако вмешательство в DNS — это не просто инструмент для злоумышленников. Многие национальные режимы используют свои регулирующие и судебные полномочия, чтобы заставить интернет-провайдеров активно следить за пользователями, перехватывая запросы для определённых доменных имён и синтезируя ответ DNS, чтобы скрыть результаты, или перенаправлять конечного пользователя в другую точку обслуживания. Сегодня это очень распространено. Но, возможно, более тревожным, для некоторых членов технического сообщества (RFC 7258), составляющих ядро IETF, были разоблачения Сноудена в 2013 году, которые показали, что Интернет используется рядом национальных агентств, включая некоторые агентства США, для осуществления массовой слежки. Всё, что происходит в сети, начинается с обращения к DNS. Всё. Например, если мне удастся наблюдать за потоком ваших DNS-запросов, то для меня не останется никаких секретов про вас. Я действительно узнаю всё, что вы делаете в Интернете. И с кем.
Реакцией технических специалистов на документы Сноудена стало создание нового набора средств защиты вокруг DNS. Сообщения DNS шифруются, источники информации DNS аутентифицируются, запросы DNS очищаются от всей посторонней информации, а содержимое DNS подвергается проверке. Поддельные ответы DNS могут быть распознаны и отклонены. В наши дни мы рассматриваем, пожалуй, самые полные меры с двухуровневой аутентификацией, так что ни одна сторона не может сопоставить, кто запрашивает, и имя, которое запрашивается. Дело не в том, что такая информация хорошо скрыта — она больше не существует в изначальной форме, как только покидает приложение на устройстве пользователя.

Непонятно, что это означает в долгосрочной перспективе. Остаются ли незамеченными действия злоумышленников? Теряем ли мы видимость управления сетью? Что такое «безопасная» сеть и как её защитить, используя традиционные методы проверки трафика, когда весь сетевой трафик непрозрачен? Если мы больше не можем видеть внутреннюю часть DNS, то как мы можем определить, был ли (и если да, то когда?) DNS захвачен одним или двумя цифровыми гигантами?
Уже сейчас невероятно сложно найти данные DNS-запросов. Легко говорить об обеспечении части DNS, но чрезвычайно сложно выяснить, как используется DNS. Последствия обеспечения конфиденциальности слишком велики, чтобы сделать эти данные доступными, а запутывание делает их в значительной степени бесполезными. К чему мы движемся, так это к тому, что в DNS больше ничего нельзя увидеть. И никакая политика или регулирование не могут существенно изменить эту траекторию. Здесь мы говорим о действиях и поведении приложений. Попытка применить некоторые нормативные требования к поведению протокола DNS, примерно то же самое, что и попытка регулировать детальное поведение Microsoft Word или браузера Chrome.
Во многих смыслах как мотивы крупных операторов современного Интернета (Google, Apple и т. д.), так и их восприятие предпочтений пользователей совпали в том, что существует очевидное вновь обретённое уважение к конфиденциальности. С преобладанием уровня приложений в качестве доминирующего фактора в экосистеме Интернета приложения испытывают сильное неприятие того, чтобы позволить сети или платформе получить какое-либо представление о поведении приложения или содержании транзакций приложения. Протокол QUIC — хороший пример загрузки всей функции транспортных и контентных драйверов в приложение и сокрытия абсолютно всего от платформы и сети.
DNS движется в том направлении, где с помощью таких инструментов, как HTTPS и DNSSEC, мы можем полностью удалить DNS-запросы конечного пользователя и получить сервер для предварительной подготовки DNS-информации с помощью push-сервера. Если вы думали о DNS как об общей части инфраструктуры сетевого уровня, то это представление заменяется представлением о DNS как об артефакте приложения.
Если попытаться дать ответ на вопрос о том, каких данных не хватает для разработки основанных на фактических данных политик в отношении DNS, которые защитят доверие пользователей в Интернете, то ответ не совсем обнадёживает. Сегодня у нас действительно нет общедоступных данных, которые можно было бы использовать для этой цели, а необходимость всё более тщательного обращения с такими собранными данными и переход к более эффективному шифрованию и обфускации в DNS-запросах создают более чем достаточные препятствия для её сбора и распространения.
❯ Признание вехи
Тем не менее, оглядываясь назад на то, как появилась DNS, и на процессы, обеспечивающие её надёжное функционирование, важно признать работу, проделанную организациями и отдельными лицами, составляющими это сообщество. Мы также должны помнить, что усилия по-прежнему опираются на добровольное сотрудничество.
Празднование таких годовщин, как 35-летие протокола DNS, позволяет многочисленным заинтересованным сторонам и сообществам сделать паузу и задуматься об огромной работе и ответственности, стоящей перед нами. Благодаря новаторским умам, которые задумали и построили раннюю инфраструктуру Интернета, и, в частности, фундаментальному вкладу Пола Мокапетриса в набор протоколов DNS, мир смог создать устойчивую глобальную экономику, которую мало кто мог себе представить 35 лет назад.
35-я годовщина публикации RFC 1034 и 1035 напоминает нам о вкладе DNS в рост и масштабирование того, что мы знаем сегодня как «Интернет». Это момент, который стоит отметить.

Подпишись на наш блог, чтобы не пропустить новые интересные посты!
С праздником коллеги!
Напоминаю, что сегодня день сисадмина! Всем причастным радоваться. А то забывать стали, что есть такой праздник.


Помогите с выбором бесплатной HelpDesk платформы для лицея
Всем привет. Пишу пост в надежде помощи ребят из IT-тусовки. Короче, нужно в образовательное учреждение (лицей) для сотрудников (учителей) автоматизировать подачу заявок на обслуживание. Честно скажу, беготня с листом бумаги — устаревший вариант времён дедушкиных подштанников. Так как в лицее работает все в доменной сети, есть выделенный IP-адрес, у всех есть компы с Windows 10 Pro на борту и смартфоны с Whatsapp и Telegram, появилась идея так или иначе привести эту сферу работы в порядок. Насмотрелся на разные системы подачи заявок, облизался и загрустил, когда увидел, сколько они стоят. Мне нужно не много, чтобы доменный пользователь, после авторизации в учётке, перешёл на сервер лицея, там ему выплюнули форму, дескать, опиши что нужно сделать, а мне потом его писанина была доступна с возможностью изменений статуса и так далее.
да, это я сейчас про идеальный вариант, само собой, способов как оставить заявку существует с десяток точно, через мессенджеры, почту, письмом и т.д. можно было бы и просто остановиться на письмах или сообщениях в личку, но хочется видеть некую структуру, упорядоченная история решения, так как некоторые проблемы бывают типовыми, и порой хочется посмотреть, как проблема решалась когда-то.
Из того, что успел пощупать, больше всего понравилась Intraservice, но там ограничено количество пользователей, а в моем случае их будет около 50 человек.
Прошу подсказать именно бесплатное решение, так как, честно, руководству и так норм, как говорится, а тетрадка меня ну совсем не устраивает. С работниками лицея пообщался, вариант автоматизации поддерживают, ждут предложения, а я жду вашей помощи, наверное кто-то что-то подходящее уже использует.

Вопрос по инвентаризации офисной техники
Я эникей в IT фирме по разработке ПО.
Достаточно давно висит вопрос об учете техники в компании. Может ли кто-нибудь подказать, какие решение используются у вас в компании?
По основым проблемам, комплектующие внутри ПК достаточно часто меняются между машинами. Машин чуть больше 200, не считая серверный парк.
Пробовал написать свою базу 1С, но ввиду небольшого опыта, получились костыли и всегда есть шанс упусть то или иное действие с техникой.
Фальшивый itшник
Я обычный казахский парень и как обычный казахский парень, я работаю devopsом. Ну у нас в степи обычно как бывает, когда человеку даже овец пасти не доверяют, а таксовать машины нет, приходится работать в it. Долгое время я прятался от степных волков и казашек которым пора замуж, на проекте в налоговой, притворно изображая администратора. Со временем я научился делать это так умело, что даже матёрые админы замечать перестали. Этот театр одного актера продолжался долгие 15 лет. Но однажды принудительно возвращенный в офис с удаленки, с удивлением обнаружил что половина отдела приходят со своими рабочими проблемами и мне приходится их решать. Посидев в роли наставника пару дней, понял, пора валить. Начал искать работу, где я смогу притворяться за ту же сумму но не так много. Однажды на одном из собеседований, когда я рассказывал какие мохинаций с bash я применял, что бы ничего не делать, hr мне поставил диагноз "так ты этот. как его. DevOps". Ого! подумал я "такими мы ещё не притворялись" и смело указал в резюме что DevOps. И с тех пор уже три года я успешно притворяюсь DevOps ом в разных фирмах. Это совсем просто прохожу одно собеседование за другим и когда появлялись вопросы на которые я не мог ответить, я просто иду читать ответы. А устроившись просто делал то что читал. И вот сегодня я вышел на новую работу в очередной раз я обманул devops senior-а рассказав как расцветёт его система с применением практик инфраструктурного кода. Он даже принял за чистую монету что ci на jenkins я использую, не потому что не знаю как это делается в gitlab, а потому что убежден что нельзя класть яйца репозитория и пайплайна в один сервис. Спустя какое то время, когда я выслушивал ответную его тираду "что микросервисы надо использовать только в том случае когда не можешь спрогнозировать нагрузку на систему". И тут меня осенило я имею дело с гениальным актером который научился притворяться на уровне senior DevOps. Придурка который открыл статью "какие вопросы надо задавать девопсу на собеседовании" я бы распознал сразу.
И вот первый рабочий день, начали мы как у них в обычаях со стендапа. Потому как он прошел закрались первые смутные сомнения. Senior в задачи погрузится не дал. На вопрос под какие ОС писать плейбуки? мне не внятно промычал и что то куда-то принялся писать. Какой вид бэкапа писать в плейбуке для mysql? сказали покамест не нужно писать его вообще. Из чего я понял что тех задание на испытательный месяц писали для меня на шару.
Senior поругал отвлеченого на посторонние разговоры в офисе девопса. Мол у нас дескать стендап, а ты отвлечен фу фу фу. Как бы показывая зубки альфача. А когда бета девопс начал что то тоже конкретизировать из серий "будет ли в плейбуке докер" последовал ответ он сам должен это спрашивать. А когда я повторил вопрос он не ответил. Ну думаю хрен с тобой senior помидор, самое место такому на rotten tomato's"
Где то два или три часа меня донимал бухгалтер требуя подписать все на свете.
Затем hr-ом я был запущен в корпоративный Битрикс где должен был ознакомиться с видео материалами. В сумбурные речи лекторов я вслушиваться не стал, в нашей профессии быстро учишься определять инфоциган торгующих рожей на фоне скрина какого-нибудь софта. Да мудрено ли с моим стажем в почти двадцать лет верить в сказки из серий "построение горизонтальных связей между работниками ускорит процесс согласования" ага щаз, вы мне ещё про "собор и базар" расскажите. Полтора часа ребята с видео, переливали из пустого в порожнюю, тыкая пальцем в схему о которой любая секретутка выразилась бы "ой бывала я в структурах и по больше". После увиденного смутные сомнения начали терзать с новой силой".
Окончательно точка поставлена была только во время прохождения материалов по логировнию, так они "протоколирование выполненных работ" у себя на иностранный манер обозвали. Снова и снова читая пяти страничный текст, я просто диву давался, как можно было простую мысль "записывайте за собой все что делаете" тонким слоем смысла натянуть на пять страниц с рисунками. Я всякое видел но такое, такое ощущение что у автора стояла задача зашифровать а не обьяснить. И когда я увидел тест в конце текста, все наконец-то встало на свой места.
Раз за разом проваливая тест на двух вопросах из шести, я разбирал ситуацию "Так значит ребята вы наняли инженера, час которого стоит как рандеву с путаной. И вместо того что бы дать доступ к aws, вы его талмудом от аутистов об тесты херачите? Сразу повеяло душком каворкинга родной нацкомпаний, в ней начальство так усердно делало вид что работает, что местами даже само в это верило. И вот эта вера и рождала в чреслах менеджмента, такие вот документы и тесты. Ну там то гос бюджет все понятно. А тут что происходит? А тут тоже самое, разница только в том весь этот театр для инвесторов. Через годик до инвестора дойдет что "царь не настоящий". А прибыль не женский оргазм, такое не сыграть. Если даже и получится, то на суде и бездарно как у Эмбер Херд. И пойду я с вами на hh собеседование клянчить. Подумал я и написал hr-у который как ни странно был самым настоящим "бро сори, но я сваливаю"
Потому что я притворяюсь почти 20 лет, уж я то в курсе как ложь огорчает, не умелая ложь бесит. А самообман это глупость вызывающая недоумение.