Модели построения сетей

Описывают, как необходимо строить сети, на какие данные опираться, какие протоколы использовать.
OSI (оси)
Эталонная, описательная модель. Содержит 7 уровней. Описывает задачу каждого уровня в процессе передачи данных
TCP/IP
Строго говоря моделью не является. Стоит рядом со стеком протоколов TCP/IP.
Модель описывает не принципы построения сетей, а принципы разделения проколов из стека и задачи, которые они решают на каждом уровне относительно модели OSI
Лекция про канальный уровень (связка канального и физического, т.к. в настоящий момент нет четкого разделения)
Канальный уровень

Уровень канала передачи данных (Data Link) отвечает за
- Связь между сетевыми интерфейсными картами (NIC) конечных устройств
- Доступ протоколов верхнего уровня к среде физического уровня. Икапсуляцию пакетов 3 уровня (IPv4, IPv6) в кадры (frames) 2 уровня
- Обнаружение ошибок, отбрасывание поврежденных кадров
Среды передачи могут быть:
- Проводные
- Беспроводные

Формат канального уровня задается стандартом IEEE 802 LAN/MAN
- Формат специфичен для типа сети (Etherner, WLAN, WPAN и т.д.)
Канальный уровень состоит из 2 подуровней:
- Logical Link Control (LLC)
- Media Access Control (MAC)
LLC взаимодействует между сетевым программным обеспечением на верхних уровнях и аппаратным обеспечением (сетевая карта (плата)) устройства на нижних уровня. Помещает данные сетевого уровня в заголовки подуровня MAC
MAC отвечает за инкапсуляцию данных и управление доступом к среде передачи данных, способ передачи данных по доступному каналу связи. В некоторых ситуациях управляет очередностью передачи данных (разделяемая среда)

Кадр должен отражать особенности работы со средой, в которой передаются данные
Кадр состоит из:
- Заголовок
- Данные
- Концевик Данные - то, что пришло с сетевого уровня и инкапсулируются в конкретный кадр Заголовок и концевик зависят от конкретной среды и конкретного протокола, который используется для передачи данных в этой среде Используемый протокол канального уровня будет задавать объем данных, который можно инкапсулировать конкретно в этот формат (кадр)

Ethernet функционирует на канальном и физическом уровнях.
Ethernet - семейство сетевых технологий, которые регламентируются стандартами IEEE 802.2 и 802.3
Витая пара, оптоволоконный кабель - технологии Ethernet на физическом уровне
На канальном уровне задаются стандарты работы с этой средой передачи данных - форматы помещения данных на указанные проводники (среду)

Уровень LLC в технологии Ethernet не зависит от среды
Уровень MAC в технологии Ethernet имеет несколько спецификаций для различных стандартов связи Ethernet для различных типов носителей, включая медь и оптоволокно. Этот уровень определяет, как будет выглядеть кадр, т.к. в кадрах задаются необходимые характеристики данных для передачи
Ethernet в полудуплексной среде использует метод доступа на основе конкуренции, обнаружение множественного доступа / обнаружение конфликтов (CSMA/CD) с прослушиванием несущей (частоты)
Полнодуплексная связь с коммутаторами Ethernet не требует контроля доступа через CSMA/CD
Инкапсуляция данных задается стандартом IEEE 802.3 (MAC) и определяет
- Как будет выглядеть кадр Ethernet
- Какая адресация будет использована (MAC-адреса)
- Как будет происходить обнаружение ошибок (CRS-алгоритм - контрольные суммы)
- Как будут передаваться данные (в зависимости от используемой среды передачи данных)
Считается, что Ethernet - среда общего доступа. То есть к Ethernet - проводнику может быть подключено несколько устройств и все они будут конкурировать за право передачи данных:
- Каждое из подключенных к сети устройств в любой момент может начать передавать данные
- В случае, если проводник (кабель) свободен, устройство начнет передавать данные, заняв канал В таком случае протокол Ethernet (MAC) определяет очередность доступа устройств сети к разделенной среде передачи данных.
Сейчас такого не требуется. Раньше при использовании концентраторов, конкурентность существовала
Характеристика доступа к среде передачи данных
- Определение очередности
- Формат кадра (кодирования данных)

Минимальный размер кадра Ethernet - 64 байта. Максимальный - 1518 байт. В эти числа не включено поле “Преамбула”
- Карликовый кадр
- Jumbo-кадр
- Baby Giant Если передаваемые данные по размеру меньше минимально возможной длины кадра, то нужно добить поле данных нулями
Максимальный размер передаваемых данных - 1500 байт
В реальности передавать данные в кадре более 1500 байт возможно. Но нужно предусмотреть механизм. Это делается не на канальном уровне
Преамбула:
- 7 байт
- Разделитель (отделяет кадры друг от друга. Выделить границы кадра)
Сперва идет адрес назначения. Это не случайно. С помощью этого устройство, принимающее кадр может сразу понять, предназначен кадр ему или можно этот кадр не рассматривать
Если MAC-адрес назначения совпадает с MAC-адресом, настроенным на сетевой плате, то устройство принимает этот кадр и как-то дальше с ним работает (сохраняет в буфер). Иначе кадр отбрасывается
Далее адрес источника
Далее тип данных и длина инкапсулированных данных
Сами данные (46 - 1500 байт)
FCS (контрольная сумма). Если посчитанная контрольная сумма от кадра совпадает с указанной, то считается, что кадр не поврежден, с ним можно работать дальше (передавать дальше)
Ethernet работает в сети, где могут быть несколько устройств
- Необходимо точно понимать, кому предназначаются передаваемые кадры

- MAC-адрес Ethernet - 48-битный адрес, выраженный с использованием 12 шестнадцатеричных цифр
- Все MAC-адреса должны быть уникальными для устройства Ethernet или интерфейса Ethernet
- MAC-адрес Ethernet состоит из шестнадцатеричного кода OUI (уникальный идентификатор организации), за которым следуют 6 шестнадцатеричных значений поставщика
MAC-адреса (если их специально не менять) уникальны во всем мире

MAC-адреса делятся на 3 типа
- Индивидуальный (unicast)
- Групповой (multicast)
- Широковещательный (broadcast) (все битовые единицы. Коммутатор передаст кадр сразу всем подключенным устройства. Источник - всегда уникальный адрес)
Обычно с широковещательным ip-адресом связывается широковещательный MAC-адрес, хотя это не обязательно
Групповые MAC-адреса обозначают набор устройств, которым необходимо передать данные (кадр). Источник тоже уникальный адрес
Обычно multicast MAC-адрес также ассоциирован с multicast ip-адресом. Хотя это не обязательно*
По умолчанию коммутатор не работает с multicast-адресами. По умолчанию multicast работает как broadcast. Нужно проводить специальную настройку.
Например, работа протоколов маршрутизации происходит по multicast-адресам
Как понять, что устройства принадлежат к группе адресов

Оборудование канального уровня: Коммутаторы, концентраторы (работают по разному принципу)
Концентратор передает сигнал на все устройства, кроме того, откуда пришел сигнал
Коммутатор устанавливает связь между входящим и исходящим интерфейсом, образуя соединение точка-точка. Другие устройства при этом не могут получить данные из этого канала (без дополнительных усилий)
Ingress, Egress
Чтобы понять, на какой порт передавать данные, коммутатор использует таблицу MAC-адресов (таблица коммутации)
Как заполняется таблица

На первом этапе таблица коммутации пустая
Никаким образом самостоятельно заполнить таблицу коммутатор не может
Таблица заполняется в процессе передачи данных
Коммутатор, получая кадр, берет из него поле источника и записывает напротив соответствующего интерфейса
Если адрес назначения еще неизвестен (нет интерфейса соответсвующего адресу назначения), коммутатор рассылает кадр всем узлам в сети, используя широковещательный адрес (меняет адрес назначения в кадре)
Есть ситуации, когда к коммутатору подключены другие коммутаторы или концентраторы. Получается неоднозначное соотвестивие.
В таком случае напротив этого интерфейса в таблице коммутации ставится несколько MAC-адресов (такое может быть)

Способы пересылки
- С буферизацией (Store-and-Forward Switching)
- Сквозная (Cut-Throught Switching)
Store-and-Forward Switching - коммутатор принимает весь кадр и только потом принимает решение, куда его передавать дальше
Плюсы: Проверка целостности кадра. Можно отбросить → экономия ресурсов сети
Минусы: Тратится время и ресурсы коммутатора
Store-and-Forward Switching есть 2 видов:
- На основе портов (каждый порт имеет свой буфер памяти, где на исходящем/входящем порту сохраняется очередь из кадров)
ДЗ К каким это может привести последствиям
- Совместное использование памяти (общая память для всех портов, динамически выделяется для каждого порта)
Cut-Throught Switching
- С быстрой пересылкой
- Коммутатор не дожидается полного получения кадра, а передает его дальше. Через поле получаетеля сразу передает на нужный порт. Этот способ коммутации на всех коммутаторах используется по умолчанию Плюсы: Быстрая пересылка. Не нужны проверки, не нужны ресурсы коммутатора Минусы: Возможно продолжение передачи поврежденного кадра
Чтобы минимизировать случаи передачи битых кадров, можно сохранить больше 6 первых байт (64), проверить их на целостность. Если все норм, отправляем весь кадр, иначе отбрасывать. Так можно уменьшить число поврежденных кадров.
Можно настроить коммутатор так, чтобы он динамически переходил из режима с буфферизацией в режим с исключением фрагментов, если связь норм
В сквозной коммутации также присутствуют элементы буферизации

Настройка портов на режим работы передачи
full-duplex
half-duplex
Настройка порта, определяющая, как будут передаваться данные между 2 подключенными устройствами
full-duplex - оба устройства могу одновременно передавать и считывать данные
half-duplex- в один момент времени устройство либо считывает, либо передает данные по каналу связи (CSMA/CD, разделяемая среда)
На концентраторах большую сеть не построить, потому что не сможем синхронизировать много устройств

У современных устройств настроено автоопределение типа связи (full-duplex, half-duplex) → скорости передачи данных
Устройства автоматически договариваются на используемый тип соединения, скорость соединения. Но можно настроить вручную. Может привести к проблемам, если что-то забыть
гигабитные (и больше) соединение возможны только на полнодуплексных соединениях

Настройка вручную (делать обычно нежелательно)


На рисунке перекрестное соединение

Устройства с похожим функционалом соединяются перекрестным кабелем
Устройства с разным - прямым
Современные устройства умеют автоматически определять, какой тип кабеля подключен и автоматически перекрещивать пары, в зависимости от подключенных устройств. Технология называется Auto MDI-X (включена по умолчанию).
Поэтому принято использовать прямой кабель любого типа. Но лучше это учитывать
hub - концентратор

Auto MDI-X может настраиваться на интерфейсах вручную, но нужно чтобы дуплекс и скорость были выставлены в auto

В соединениях, где есть множественный доступ устройств к одной передачи данных, нужен протокол, который решает проблему возникновение коллизий, определяет очередность передачи данных
Домен коллизий - часть сети Ethernet, где узлы конкурируют за общую разделяемую среду передачи
На полнодуплексном соединении домен коллизий нельзя создать
В полудуплексном соединеии домен коллизий возможно построить (классический Ethernet, сегменты сети в концентратором)
Широковещательный домен - часть сети, где передаются широковещательные кадры. Много таких кадров могут засорять сеть и уменьшать пропускную способность канала
В сети с коммутаторами возможна ситуация появления широковещательного домена
Коммутатор сильно ограничивает домен коллизий (за счет полнодуплексных соединений там, где это возможно).
Маршрутизатор ограничивает широковещательный домен, потому что не передает широковещательный трафик на следующие порты

