Сетевой архитектор
7.44K subscribers
120 photos
2 videos
98 links
Авторский канал Дмитрия Скоромнова об устройстве компьютерных сетей без привязки к вендору.

Онлайн-курс "Архитектура современных компьютерных сетей": https://курсы-по-ит.рф/computer_networks?utm_source=telegram-architector
Download Telegram
ИНТЕРФЕРЕНЦИЯ И КОЛЛИЗИИ В IEEE 802.11 (WI-FI)

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

Интерференция – это явление с точки зрения физики. А коллизия – это результат интерференции с точки зрения протокола IEEE 802.11.

Интерференция происходит на первом уровне модели OSI, а коллизии обнаруживаются на втором уровне модели OSI.
👍37🔥9
КАДР VS ПАКЕТ. ЧАСТЬ 1

Очень часто термины "кадр" и "пакет" путают или просто не понимают разницы между ними. На картинке выше приведена схема, на которой видно, какие заголовки учтены в каком виде протокольной единицы данных (PDU – Protocol Data Unit).

В кадре учитывается заголовок канального уровня и концевик (FCS). Под определение "данные кадра" попадают как сами полезные данные, которые переносятся в кадре, так и все прочие заголовки: заголовок сетевого уровня, заголовок транспортного уровня и любые другие заголовки, если они имеются.

В пакете учитывается заголовок сетевого уровня. Под определение "данные пакета" подпадают как сами полезные данные, которые переносятся в пакете, так и заголовок транспортного уровня, и любые другие заголовки, если они имеются.

В сегменте или дейтаграмме учитывается заголовок транспортного уровня. Под определение "данные сегмента/дейтаграммы" подпадают как сами полезные данные, которые переносятся в сегменте/дейтаграмме, так и и любые другие заголовки, если они имеются. Термин "сегмент" используется, если протокол транспортного уровня гарантирует доставку. Чаще всего это протокол TCP. Термин "дейтаграмма" используется, если протокол транспортного уровня не гарантирует доставки. Чаще всего это протокол UDP.

🔶 ОНЛАЙН-КУРС "АРХИТЕКТУРА СОВРЕМЕННЫХ КОМПЬЮТЕРНЫХ СЕТЕЙ" 🔶

ИП Скоромнов Дмитрий Анатольевич, ИНН 331403723315
👍63🔥5👎1
КАДР VS ПАКЕТ. ЧАСТЬ 2

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

Есть очевидные примеры:
*️⃣ Коммутаторы коммутируют кадры, т.к. для коммутации учитываются только MAC-адреса, которые содержатся в заголовках канального уровня. Коммутаторы вообще ничего не знают об IP-адресах, номерах портов и т.д.
*️⃣ Маршрутизаторы маршрутизируют пакеты, т.к. для маршрутизации учитываются только IP-адреса, которые содержатся в заголовках сетевого уровня.
*️⃣ Когда речь идет о надежности доставки, чаще всего в контекстах протоколов TCP и UDP, используются термины "сегмент" и "дейтаграмма".

Но бывают и неоднозначные ситуации. Попробуем в них разобраться.
*️⃣ Как правильно: "ARP-пакет" или "ARP-кадр"? Я считаю, что более корректным будет термин "ARP-кадр", т.к. ARP-кадры: 1) не маршрутизируются, 2) вообще не имеют заголовка сетевого уровня.
*️⃣ Как правильно: "DHCP-пакет" или "DHCP-кадр"? DHCP-кадры уже имеют заголовок сетевого уровня, но при этом они все равно не маршрутизируются (DHCP Relay не в счет). Я считаю, что в этом случае применимы оба термина. Я выбираю термин, основываясь на контексте. Если акцент надо сделать на содержимом заголовка канального уровня, я использую термин "DHCP-кадр", если акцент надо сделать на содержимом заголовка сетевого уровня, то я использую термин "DHCP-пакет".

🔶 ОНЛАЙН-КУРС "АРХИТЕКТУРА СОВРЕМЕННЫХ КОМПЬЮТЕРНЫХ СЕТЕЙ" 🔶

ИП Скоромнов Дмитрий Анатольевич, ИНН 331403723315
👍31🔥5
ТРАФИК, КОТОРЫЙ ХОДИЛ ЧЕРЕЗ ЖОПУ

Ранее я работал в системном интеграторе "Стэп Лоджик". Посадили меня в GE Money Bank. Сейчас такого в РФ уже нет. Наша команда отвечала за связь с точками кредитования по всей России. На одной из точек в Казани в какой-то момент связь по IP-телефонии стала очень плохой. Что в итоге выяснилось? Трафик из Москвы в Казань шел по условному прямому пути, а в обратную сторону шел через задницу. Уходил куда-то в Европу и потом возвращался в РФ.

Нюанс в том, что путь трафика в одном направлении не обязательно будет совпадать с путем трафика в обратном направлении. Поэтому, когда из Москвы делали трассировку до Казани, все было отлично. А вот когда делали трассировку из Казани в Москву, картинка очень сильно отличалась. Этот опыт потом много раз пригодился мне в жизни.

🔶 ОНЛАЙН-КУРС "АРХИТЕКТУРА СОВРЕМЕННЫХ КОМПЬЮТЕРНЫХ СЕТЕЙ" 🔶

ИП Скоромнов Дмитрий Анатольевич, ИНН 331403723315
👍66🔥13
СОДЕРЖИМОЕ ETHERNET-ЗАГОЛОВКА

Ethernet-заголовок состоит из трех частей:
* MAC-адрес получателя,
* MAC-адрес отправителя,
* EtherType.

Я думаю, что с MAC-адресами получателя и отправителя все и так ясно. Поэтому про них я скажу только то, что MAC-адрес получателя стоит самым первым не просто так. Коммутаторы коммутируют кадры на основе MAC-адреса получателя. И чтобы можно было как можно раньше принять решение относительно того, через какой порт отправлять кадр, MAC-адрес получателя и указывается в первую очередь.

Поле EtherType используется для того, чтобы подсказать получателю, каким именно образом надо интерпретировать дальнейшие данные. Так, дальнейшая информация может быть совершенно разной: IPv4 (0x0800), IPv6 (0x86DD), ARP (0x0806) и т.д.

Мой опыт преподавания говорит о том, что понимание смысла этого поля вызывает большие затруднения. Поэтому попробую разобрать его на конкретном примере, который можно увидеть на приведенном выше скриншоте.
Как правило, заголовки следующих протоколов могут содержать аналогичную информацию с "подсказками", как именно надо интерпретировать дальнейшую информацию. На приведенном выше скриншоте можно увидеть, что в ethernet-заголовке содержится "подсказка" в виде поля EtherType со значением 0x8100, которая говорит, что далее будет VLAN-заголовок. Во VLAN-заголовке содержится "подсказка" в виде содержимого поля TPID, в которой говорится, что дальнейшие данные надо интерпретировать как протокол IPv4. И далее в IP-заголовке есть "подсказка" в виде поля Protocol, в которой говорится, что дальнейшие данные надо интерпретировать как ICMP-протокол. Отдельно отмечу, что форматы и значения полей EtherType и TPID полностью совпадают. А вот формат и значения поля Protocol уже являются другими.

🔶 ОНЛАЙН-КУРС "АРХИТЕКТУРА СОВРЕМЕННЫХ КОМПЬЮТЕРНЫХ СЕТЕЙ" 🔶

ИП Скоромнов Дмитрий Анатольевич, ИНН 331403723315
👍32🔥9👎1😢1
Выберите все MAC-адреса, которые могут быть использованы в качестве MAC-адреса отправителя кадра.
Anonymous Poll
65%
3С-7С-3F-F5-7F-6E
61%
3D-7С-3F-F5-7F-6E
62%
3E-7С-3F-F5-7F-6E
61%
3F-7С-3F-F5-7F-6E
62%
74-4D-28-29-1A-95
25%
FF-FF-FF-FF-FF-FF
19%
Не знаю
Выберите все MAC-адреса, которые могут быть назначены сетевому интерфейсу при его производстве.
Anonymous Poll
72%
3С-7С-3F-F5-7F-6E
67%
3D-7С-3F-F5-7F-6E
67%
3E-7С-3F-F5-7F-6E
67%
3F-7С-3F-F5-7F-6E
68%
74-4D-28-29-1A-95
7%
FF-FF-FF-FF-FF-FF
16%
Не знаю
КОРРЕКТНЫЕ ОТВЕТЫ НА ДВА ПРЕДЫДУЩИХ ВОПРОСА

Выберите все MAC-адреса, которые могут быть использованы в качестве MAC-адреса отправителя кадра.
3С-7С-3F-F5-7F-6E
3E-7С-3F-F5-7F-6E
74-4D-28-29-1A-95


Выберите все MAC-адреса, которые могут быть назначены сетевому интерфейсу при его производстве.
3С-7С-3F-F5-7F-6E
74-4D-28-29-1A-95

Почему именно эти ответы являются корректными и почему только они я напишу в следующем посте.


🔶 ОНЛАЙН-КУРС "АРХИТЕКТУРА СОВРЕМЕННЫХ КОМПЬЮТЕРНЫХ СЕТЕЙ" 🔶

ИП Скоромнов Дмитрий Анатольевич, ИНН 331403723315
👍15🤯5🔥3
ЗАЧЕМ РАЗБИРАТЬСЯ В MAC-АДРЕСАХ

После предыдущих двух вопросов я неоднократно услышал один и тот же вопрос: зачем надо так глубоко понимать MAC-адресацию?

Приведу простейший пример: вам надо вручную назначить MAC-адрес. Если вы будете выбирать MAC-адрес наугад, то с вероятностью 50 % вы выберите многоадресный адрес с которого нельзя отправлять кадры. Да, каждый второй MAC-адрес является многоадресным. Жестоко, но как есть.

🔶 ОНЛАЙН-КУРС "АРХИТЕКТУРА СОВРЕМЕННЫХ КОМПЬЮТЕРНЫХ СЕТЕЙ" 🔶

ИП Скоромнов Дмитрий Анатольевич, ИНН 331403723315
👍21🤯11🔥2😱1
ВОЗМОЖНЫЕ MAC-АДРЕСА ОТПРАВИТЕЛЕЙ

Посмотрите приведенные выше скриншоты.

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

А на другом скриншоте представлен кадр в отображении Wireshark, у которого MAC-адресом отправителя является групповой адрес из второго варианта ответа (3D-7C-3F-F5-7F-6E). На скриншоте явным образом видно, что Wireshark говорит, что такой MAC-адрес не может быть адресом отправителя кадра, т.к. он является групповым адресом.

Исходя из приведенной выше информации, следующие MAC-адреса не могут быть адресами – отправителями кадров:
* 3D-7C-3F-F5-7F-6E и 3F-7C-3F-F5-7F-6E, т.к. являются многоадресными адресами.
* FF:FF:FF:FF:FF:FF, т.к. является широковещательным адресом.

В следующем посте я расскажу, как отличить одноадресный кадр от многоадресного, а также расскажу о том, почему MAC-адрес 3E-7C-3F-F5-7F-6E не может быть назначен сетевому интерфейсу при производстве, несмотря на то что он является одноадресным.

P. S. О том, как я создал кадр с многоадресным адресом отправителя, я писал на канале "MikroTik сэнсей" в этом посте.

🔶 ОНЛАЙН-КУРС "АРХИТЕКТУРА СОВРЕМЕННЫХ КОМПЬЮТЕРНЫХ СЕТЕЙ" 🔶

ИП Скоромнов Дмитрий Анатольевич, ИНН 331403723315
👍27
СТРУКТУРА MAC-АДРЕСА

Любой MAC-адрес делится на две части:
* идентификатор производителя (3 байта);
* идентификатор адаптера у конкретного производителя (3 байта).

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

Нулевой бит:
0 = адрес является одноадресным,
1 = адрес является многоадресным.

Первый бит:
0 = адрес является глобальным,
1 = адрес является локальным.

Глобальный MAC-адрес – это адрес, который может быть назначен сетевому интерфейсу на заводе. Локальный MAC-адрес – это адрес, который может быть назначен администратором сети в случае, если ему надо использовать собственную адресацию. В общем, это что-то вроде "белой" и "серой" адресации.

Итак, сетевому интерфейсу на заводе может быть назначен только MAC-адрес, который одновременно является и одноадресным, и глобальным. То есть и нулевой, и первый биты должны быть равны нулю. В приведенном выше тесте под это условие попадают только два MAC-адреса: 3C-7C-3F-F5-7F-6E и 74-4D-28-29-1A-95.


🔶 ОНЛАЙН-КУРС "АРХИТЕКТУРА СОВРЕМЕННЫХ КОМПЬЮТЕРНЫХ СЕТЕЙ" 🔶

ИП Скоромнов Дмитрий Анатольевич, ИНН 331403723315
👍41🔥11
У ВАС ЕСТЬ ЛИШНИЕ ДЕНЬГИ? ТОГДА МЫ ИДЕМ К ВАМ...

Ethernet-кабель длиной 2м за 109.990 рублей.
🤯23🔥12😁11
РУССКИЙ ЯЗЫК И IT

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

Ниже я приведу небольшую подборку слов, в которых очень часто ошибаются.

✅ ТраФик

✅ ПриоритЕт, но приоритИзация

✅ ДемИлИтаризация (используется в DMZ)

✅ ФаЙрвол

✅ БрАндмауэр

✅ ИнжЕнер, но инжИниринг

✅ ДецибеЛ

✅ КЕш

✅ ХЕш

✅ АнтеННа

✅ СвиТЧ

✅ ТуННель


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

Слово "траФик", которое пишется с одной буквой "ф", а не с двумя. Меня всегда умиляет аргумент с отсылкой к тому, что в английском языке "100 %, зуб даю, мамой клянусь" traFFic пишется с двумя f. Меня интересует, почему тогда слово "адрес" не пишут "аДДреСС", т.к. в английском языке пишется aDDreSS? Русский язык - это самостоятельная единица, а не производная от английского.

"ПриоритИзация". Основной аргумент в пользу неверного написания "приоритЕзация" - это то, что проверочным словом является слово "приоритЕт". Есть более сложное и более научное объяснение, которого я и сам не помню. 😁 Объясню простым языком. По правилам словообразования в русском языке должно было бы быть "приориТЕтизация". Вот это самое "те" удаляется. О чем мы, как носители языка, не задумываемся, и получается именно "приоритИзация".

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


🔶 ОНЛАЙН-КУРС "АРХИТЕКТУРА СОВРЕМЕННЫХ КОМПЬЮТЕРНЫХ СЕТЕЙ" 🔶

ИП Скоромнов Дмитрий Анатольевич, ИНН 331403723315
👍56😁7👎6🤬1
Надо ли использовать NAT для трафика, который ходит между двумя сетями через VPN-туннель site-to-site?
Anonymous Quiz
15%
Надо
42%
Не надо
36%
Надо, но только в частных случаях
7%
Не знаю
🤯14🔥6👎2👍1🤬1
NAT'О ИСПОЛЬЗОВАТЬ NAT В VPN-ТУННЕЛЯХ ИЛИ НЕ NAT'О? ВОТ В ЧЕМ ВОПРОС

В VPN-туннелях site-to-site (объединение сетей) не надо использовать NAT, кроме некоторых частных случаев, о которых мы поговорим отдельно. Если вы видите, что у вас нет связи между сетями без NAT, то с вероятностью 99,99 % вы используете "костыль", которым решаете проблему с ошибками в настройке маршрутизации.

🔶 ОНЛАЙН-КУРС "АРХИТЕКТУРА СОВРЕМЕННЫХ КОМПЬЮТЕРНЫХ СЕТЕЙ" 🔶

ИП Скоромнов Дмитрий Анатольевич, ИНН 331403723315
👍23🔥4👎2😁2
Посмотрите на приведенный скриншот. Как вы думаете с чем связана такая странность?
Anonymous Quiz
4%
Это баг
72%
Это фича
11%
Это фотомонтаж
14%
Не знаю
😁11🔥7👍5🤯1
КАК ВЫГЛЯДИТ АДРЕС?

Для того чтобы понять причины странного пинга из скриншота, приведенного выше, вначале надо понять, как выглядит адрес. Любой адрес (канального, сетевого или транспортного уровня) − это двоичное число.

Размер IPv4-адреса − 32 бита.
Размер IPv6-адреса − 128 бит.
Размер MAC-адреса − 48 бит.

И вычислительная техника работает именно с этими длинными последовательностями нулей и единиц. Она не использует никакие разделители и не разбивает адрес на части. Это все сделано исключительно для удобства людей.

Например, IP-адрес принято представлять в виде четырех октетов, отображенных в виде десятичного числа. А MAC-адрес − в виде шести октетов, отображаемых в виде шестнадцатеричного числа.

Пример одних и тех же чисел № 1:
Двоичный вид: 00000000
Десятичный вид: 0
Шестнадцатеричный вид: 00

Пример одних и тех же чисел № 2:
Двоичный вид: 11111111
Десятичный вид: 255
Шестнадцатеричный вид: FF

Пример одних и тех же чисел № 3:
Двоичный вид: 10011101
Десятичный вид: 157
Шестнадцатеричный вид: 9D


Идем далее. IP-адрес 8.8.8.8 − это: 00001000.00001000.00001000.00001000.

Как я уже говорил, точки используются исключительно для людей, для машин это 00001000000010000000100000001000. И если это двоичное число конвертировать в десятичный вид, то получится число 134744072. То есть то самое число, которое было пропинговано на скриншоте.

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


🔶 ОНЛАЙН-КУРС "АРХИТЕКТУРА СОВРЕМЕННЫХ КОМПЬЮТЕРНЫХ СЕТЕЙ" 🔶

ИП Скоромнов Дмитрий Анатольевич, ИНН 331403723315
👍62👏5