Если для реализации взаимодействия требуется больше одного протокола, протоколы объединяются в стек.
Стек это группа организованных по вертикали протоколов, которая осуществляет весь коммуникационный процесс.
С каждым уровнем модели OSI связан свой протокол.
Уровень N обслуживается уровнем, находящимся под ним (N-1), и обслуживает уровень, находящийся над ним (N+1).
Для осуществления связи между двумя компьютерами на них должны стоять одинаковые стеки протоколов.
Взаимодействие стеков протоколов
Каждый уровень стека протоколов на одном компьютере сообщается с подобным уровнем (или партнером) на другом. Взаимодействовать могут даже компьютеры с разными операционными системами, если они используют одинаковые стеки протоколов.
Рис. 3.7. Каждый уровень сообщается со своим аналогом на другом узле сети
Рис. 3.8. Когда пакеты проходят вверх и вниз по стекам, каждый уровень добавляет или удаляет соответствующую управляющую информацию
Когда сообщение спускается вниз по первому стеку, на каждом уровне этого стека (кроме канального уровня) добавляется заголовок. Заголовки содержат управляющую информацию, которая считывается и обрабатывается соответствующим уровнем стека получателя. При переходе вверх по стеку принимающего компьютера добавленные заголовки удаляются соответствующими уровнями, которые используют полученную информацию, чтобы определить, как поступить с содержимым сообщения
Физический уровень
Физический уровень отвечает за все элементы фактического соединения между компьютером и сетевым носителем, в том числе:
Типы сетевых соединений, включая многоточечные и двухточечные
Физическую топологию сети (например, шинную, звездообразную или кольцевую)
Методы аналоговой и цифровой передачи сигналов, используемые для кодирования данных в аналоговых и цифровых сигналах
Синхронизацию бит, благодаря которой отправитель и получатель синхронизируются во время чтения и записи данных
Мультиплексирование, т.е. процесс объединения нескольких каналов данных в один
Согласование нагрузки линии, которое предотвращает отражение сигналов по кабелю, приводящее к искажению сигналов и пакетов.
Рис. 3.9. Физический уровень создает физическую цепь для передачи электрических, оптических или радиосигналов
Канальный уровень
Канальный уровень обеспечивает передачу потока данных по одному физическому каналу от одного устройства к другому. Он принимает пакеты от сетевого уровня и упаковывает эту информацию в единицы данных, называемые кадрами; кадры направляются на физический уровень для передачи. Канальный уровень добавляет передаваемым данным управляющую информацию, а именно: тип кадра, сведения о маршрутизации и сегментации. Канальный уровень отвечает также за устранение ошибок во время передачи кадров от одного компьютера к другому, выявляет потерю кадров и может запросить их повторную отправку.
Рис. 3.10. Уровень канала передачи данных устанавливает соединение между двумя устройствами, обеспечивая передачу данных без ошибок
Сетевой уровень
Сетевой уровень отвечает за перемещение пакетов между устройствами, находящимися на расстоянии, превышающем одно прямое соединение. Он определяет маршрут и направляет пакеты так, чтобы они дошли до предполагаемого получателя. Сетевой уровень позволяет транспортному и более высоким уровням отправлять пакеты, не заботясь о том, находится ли оконечная система на том же кабеле или на другом конце глобальной сети.
Рис. 3.11. Сетевой уровень перемещает пакеты по каналам и получателям
Транспортный уровень
Транспортный уровень отвечает за безошибочную передачу данных в нужной последовательности, без потерь и повторов. Кроме того, этот уровень разбивает большие сообщения, поступающие с сеансового уровня, на меньшие пакеты для отправки к получателю и собирает пакеты в сообщения, предоставляемые с сетевого уровня. Обычно транспортный уровень посылает отправителю подтверждение о получении сообщений.
Рис.3.12. Транспортный уровень обеспечивает сквозную передачу с гарантированной целостностью данных и производительностью.