From 4b46d2414667d768167f7f16fafa84eba42c8221 Mon Sep 17 00:00:00 2001 From: Vladimir Protsenko Date: Sat, 2 Sep 2023 03:21:23 +0400 Subject: [PATCH] Draft for networking lecture --- module1/03_networking/lection.md | 101 +++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 module1/03_networking/lection.md diff --git a/module1/03_networking/lection.md b/module1/03_networking/lection.md new file mode 100644 index 0000000..95120d2 --- /dev/null +++ b/module1/03_networking/lection.md @@ -0,0 +1,101 @@ +на основе материалов + - Michael Lucas. Networking for System Administrator + - https://www.youtube.com/playlist?list=PLowKtXNTBypH19whXTVoG3oKSuOcw_XeW + + +# Сетевые уровни, модель ОСИ + +Сеть содержит физические провода или радиоволны, устройства соединения, такие как коммутаторы, логические протоколы, такие как TCPIP, пользовательские веб-страницы и электронные письма и многое другое. коммутаторы, логические протоколы TCP/IP, видимые пользователем веб-страницы и электронные письма, и многое другое. В каком-то смысле все это перемешано в единое целое, но на самом деле для удобства и простоты они разделены на несколько логических уровней. Каждый слой решает вполне конкретную задачу и обычно взаимодействует только со слоями, расположенными непосредственно над и под ним. + +Системные администраторы часто используют словосочетания "сетевой" или "прикладной" уровни в совершенно другом смысле. Ваше сложное веб-приложение может иметь уровень базы данных, уровень хранилища и уровень веб-сервера. Это совершенно правильное использование слова "слой" и вполне уместное в вашем контексте, но имейте в виду, что сетевые специалисты имеют в виду нечто совершенно иное. + +Уровни имеют решающее значение для поиска и устранения неисправностей. Когда слой ломается, он захватывает с собой все вышележащие слои. Для диагностики проблемы в сети необходимо сначала определить самый нижний слой, на котором возникла проблема. Когда вы устраните проблему на нижнем уровне, остальные уровни сети должны восстановиться - если, конечно, у вас нет нескольких одновременных проблем. Сказать "веб-сайт не работает" - это примерно то же самое, что позвонить управляющему небоскребом и сказать: "Я не могу дозвониться в пентхаус". Если горит второй этаж, то время, потраченное на устранение неполадок в замках пентхауса, будет потрачено впустую. + +Уровни позволяют более точно выразить суть проблемы. На заявку о проблеме, в которой говорится: "Мой сервер упал", можно получить ответ: "Ну да, лежит". Обе стороны правы, но делу это никак не помогает. Заявка на устранение неисправности, в которой говорится: "Вот диагностический вывод, показывающий проблему третьего уровня, но второй уровень работает нормально", получит гораздо лучший ответ. + +Многоуровневую модель сети часто называют сетевым стеком или стеком TCP/IP. + +## Уровни + +В учебниках часто рассказывается о семиуровневой модели Open Systems Interconnect (OSI), но это скорее академическая, чем реальная модель. TCP/IP гораздо лучше подходит для современных сетей, но ей не хватает некоторых деталей модели OSI. Мы представим TCP/IP в несколько измененной форме, поскольку полезно рассматривать физическую среду отдельно от протокола передачи данных поверх него. + +Для понимания современной сети, подключенной к Интернету, необходимо всего пять уровней: физический, канальный, сетевой, транспортный и прикладной. Сетевые уровни часто обозначаются часто обозначают номерами. + + +### 1 Физический + +Сети должны по чему-то перемещаться. Если об него можно споткнуться, зацепиться, отломить дурацкий язычок от пластикового разъема на его конце или передать по нему статическое электричество, то это физический уровень. Многие из нас называют физический уровень проводом, хотя это могут быть и радиоволны, и коаксиальный кабель, и любые другие вещи, отличные от типичного провода Ethernet. Если ваш провод соответствует стандарту, определенному для данного типа физического уровня, у вас есть сеть. Если нет, то сеть работать не будет. + +Большинство серверов подключаются к сети с помощью кабеля Ethernet, обычно по кабелю cat5 или cat6, но иногда и по оптическому волокну. Даже если сервер использует протокол, отличный от Ethernet, например Asynchronous Transfer Mode (ATM), Token Ring, FDDI или другой, он, скорее всего, использует кабель cat5, cat6 или оптическое волокно. Очень и очень старайтесь не подключать серверы к локальной сети по беспроводной сети. (Беспроводные сети очень подвержены ошибкам и помехам на канальном уровне и могут быть перегружены силами, не зависящими от вас и даже не осознаваемыми вами. + +Физический уровень традиционно не имеет никакого интеллекта. Канальный уровень определяет, как он используется. + +// притащить осциллограф, чтобы показать канальный уровень манчестерское кодирование https://www.youtube.com/watch?v=i8CmibhvZ0c + +### 2 Канальный + +Канальный уровень преобразует верхние уровни сети в сигналы, передаваемые по проводам. В большинстве сред в качестве уровня передачи данных используется Ethernet. Один блок данных, передаваемых по каналу связи, называется кадром. + +Если вы используете протокол IPv4, то на канальном уровне используются адреса Media Access Control (MAC) и протокол разрешения адресов (ARP). В IPv6 используются MAC-адреса и протокол Neighbor Discovery (ND). Если у вас возникли проблемы с обменом данными с локальной сетью, обратитесь к этим главам и проверьте наличие проблем с ARP или ND. + +### 3 Сетевой + +Не является ли все это сетью? Да, но сетевой уровень отображает возможности соединения между хостами. Именно здесь система отвечает на вопросы типа "Как мне добраться до этого другого хоста? Могу ли я попасть на этот другой хост?". Сетевой уровень обеспечивает согласованный интерфейс для сетевых программ, чтобы они могли использовать сеть на любом физическом и канальном уровнях. Отдельный фрагмент сетевых данных называется пакетом. + +В Интернете используется протокол Internet Protocol, или IP. Это IP в TCP/IP. Во всех версиях IP каждому узлу присваивается один или несколько уникальных IP-адресов, чтобы любой другой узел в сети мог его найти. Трансляция сетевых адресов (NAT) изменяет правило "уникального адреса", но где-то в вашей сети или в сети вашего провайдера у вас есть глобально уникальный IP-адрес. + +Мы рассмотрим подробно далее только версию 4. + +### 4 Транспортный + +Данные, о которых вы заботитесь, передаются на транспортном уровне. Нижние уровни стека существуют для поддержки транспортного уровня. Фрагмент данных транспортного уровня - это сегмент. Три наиболее распространенных протокола транспортного уровня - это протокол управляющих сообщений Интернета (ICMP), протокол управления передачей (TCP) и протокол пользовательских датаграмм (UDP). + +ICMP обрабатывает низкоуровневые сообщения о соединениях между хостами. Каждый хост, реализующий IP, должен также поддерживать ICMP. Хотя запросы ping являются наиболее известным типом ICMP-трафика, многие основные функции Интернета полагаются на ICMP. Если сообщение уровня datalink (кадр) слишком велико, жалоба передается по протоколу ICMP. С помощью ICMP хосты отвечают на запросы ping и сообщают трафику, что нужно идти в другую сторону. Одностороннее блокирование всех ICMP - хороший способ сломать приложения.1 Большую часть времени ICMP работает +В большинстве случаев ICMP работает в фоновом режиме. + +UDP и TCP обеспечивают передачу прикладных данных между узлами. Они настолько распространены, что набор протоколов Интернета обычно называют TCP/IP. (UDP/TCP/IP слишком громоздки.) UDP, или User Datagram Protocol, предоставляет минимальные услуги, необходимые для передачи данных по сети. Хотя люди шутят, что U в UDP означает "ненадежный", он предназначен для приложений, где надежность обеспечивается приложением, а не сетью. Протокол TCP, или Transmission Control Protocol, включает в себя проверку ошибок, управление перегрузками и повторную передачу потерянных данных, но ему не хватает гибкости и простоты UDP. + +### 5 Прикладной (сессионный, представления, приложения) + +В заголовке перечислены их названия согласно теоретической модели ОСИ. Сессионный уровень отвечает за открытие, использование и закрытие соединений транспортного уровня. Уровень представления отвечает за обмен данными между приложениями. На уровне приложения работает протокол передачи данных приложения. На практике всё зависит от поставщика приложения, который может реализовать чёткое разделение ответственности по слоям или смешать всё воедино. + +Примерами протоколов высших слоёв являются: HTTP, SMTP, LDAP. + +# Ethernet + +https://www.youtube.com/watch?v=aamG4-tH_m8&list=PLowKtXNTBypH19whXTVoG3oKSuOcw_XeW&index=9 + +# IPv4 + +https://www.youtube.com/watch?v=VWJ8GmYnjTs&list=PLowKtXNTBypH19whXTVoG3oKSuOcw_XeW&index=11 + +# TCP/IP + +https://www.youtube.com/watch?v=4IMc3CaMhyY&list=PLowKtXNTBypH19whXTVoG3oKSuOcw_XeW&index=12 + +# DNS + +https://www.youtube.com/watch?v=-wMU8vmfaYo&list=PLowKtXNTBypH19whXTVoG3oKSuOcw_XeW&index=14 + + +# Troubleshooting + +Таблица 1. Утилиты +| Уровень | Название утилит | +|---------|-----------------| +| 1 Физический | | +| 2 Канальный | | +| 3 Сетевой | | +| 4 Транспортный | | +| 5 Прикладной (сессионный, представления, приложения) | | + +### 1 Физический + +### 2 Канальный + +### 3 Сетевой + +### 4 Транспортный + +### 5 Прикладной (сессионный, представления, приложения) +