Терминология инкапсуляции
Одним из наиболее запутанных аспектов инкапсуляции является терминология, используемая для описания протокольных блоков данных (PDUs), генерируемых каждым уровнем. Термин пакет (packet), в частности, определяет блок данных, передаваемый через сетевую среду, хотя он также применяется и для описания данных на любой стадии процесса. Большинство протоколов Канального уровня работают с кадрами (frames), которые включают заголовок и постинформацию, окружающие данные, полученные от протокола Сетевого уровня. Термин кадр описывает PDU произвольного размера, зависящего от количества вложенных данных. Протокол Канального уровня, использующий PDU одинакового размера, такой как Режим Асинхронной Передачи (ATM* Asynchronous Transfer Mode), оперирует блоками данных, называемыми ячейками или сотами (cells),
Когда информация Транспортного уровня инкапсулируется протоколом Сетевого уровня, то получающиеся блоки данных называются дейтаграммами (datagram). В течение процесса передачи дейтаграмма должна быть разбита на фрагменты (fragments), каждый из которых иногда неправильно называют дейтаграммой. Терминология Транспортного уровня в большей степени, нежели чем на нижних уровнях, зависит от используемого протокола. TCP/IP, например, имеет два протокола Транспортного уровня. Первый, называемый Протоколом пользовательских дейтаграмм (UDP, User Datagram Protocol), также при описании созданных им PDU использует термин дейтаграмма, хотя последний не является эквивалентом дейтаграммы Сетевого уровня. Как следствие, когда данные протокола UDP Транспортного уровня инкапсулируются протоколом IP на Сетевом уровне, то результатом является дейтаграмма, вложенная внутрь другой дейтаграммы.
Разница между UDP и TCP (Transmisson Control Protocol, протокол управления передачей), который также функционирует на Транспортном уровне, заключается в том, что дейтаграммы UDP содержат в себе неделимые данные, генерируемые протоколом Транспортного уровня. Поэтому UDP используется для передачи небольшого количества данных. TCP, с другой стороны, используется для передачи большого количества информации, которая обычно не помещается в один пакет. Соответственно, каждый из PDU, созданный протоколом TCP, называется сегментом (segment), а совокупность сегментов, включающая данные протокола Прикладного уровня, определяется как последовательность (sequence). PDU, создаваемые протоколом Прикладного уровня, обычно называются сообщениями (messages). Представительский и Сеансовый уровни обычно не связаны с какими-либо отдельными протоколами. Функции этих уровней внедрены в другие элементы стека протоколов, а их протоколы не поддерживают своих заголовков и PDU.
3. Физический уровень
Это самый нижний уровень в модели OSI. Он контролирует прием и передачу по физической (несущей) сетевой среде неструктурированного потока битов. Физический уровень состоит из электрических, оптических и физических компонентов сети и передает сигналы для остальных уровней.
Средства кодирования данных определяют:
■ какие формы сигналов представляют двоичные нули и единицы;
■ как принимающая станция распознает, откуда начинается закодированный бит;
■ как принимающая станция разграничивает кадр. Физические компоненты (кабели, коннекторы и т. д.) определяют:
■ используется ли для подключения к несущей среде внешний трансивер;
■ сколько контактов на коннекторах и какова роль каждого из них.
Закодированные биты могут передаваться цифровым методом (без модуляции несущей) или аналоговым (с модуляцией несущей).
В зависимости от физических средств передачи (например, сетевой адаптер или волоконно-оптический адаптер) биты посылаются либо как электрические сигналы, либо как оптические.
4. Канальный уровень
Канальный уровень обеспечивает безошибочную передачу кадров данных с одного компьютера на другой через физический уровень. На уровнях, расположенных над канальным, предполагается, что данные передаются по сети практически без ошибок.
Канальный уровень отвечает за следующие функции.
■ Установление и закрытие логических соединений (виртуальных цепей) между двумя компьютерами, определяемыми по уникальным адресам их сетевых адаптеров.
■ Управление потоком кадров.
■ Последовательный прием и передачу кадров.
■ Подтверждение приема кадров, а также обнаружение и исправление возникающих на физическом уровне ошибок за счет повторной передачи неподтвержденных кадров и обработки продублированных кадров.
■ Управление доступом к несущей сетевой среде (чтобы определить, разрешено ли данному компьютеру пользоваться физической средой передачи).
■ Разграничение кадров.
■ Контроль ошибок кадров с целью подтверждения целостности принимаемых кадров.
■ Анализ адреса назначения каждого принимаемого кадра и принятие решения о его передаче на более высокий уровень.
5. Сетевой уровень
Сетевой уровень контролирует работу подсети. Он определяет, но какому физическому пути передаются данные в зависимости от загруженности сети, приоритета обслуживания потоков и других факторов.
Сетевой уровень отвечает за следующие функции.
■ Передачу кадров маршрутизатору, если адрес сети назначения не указывает на сеть, к которой подключен компьютер.
■ Контроль трафика в подсети, чтобы передающая станция не посылала свои кадры на маршрутизатор, буфер которого полностью заполнен. Если маршрутизатор занят, сетевой уровень может указать передающей станции переключиться на альтернативный маршрутизатор.
■ Фрагментацию кадров маршрутизатором, если значение MTU в сети, где находится следующий маршрутизатор на пути пересылки данных, меньше размера кадров. Сборка фрагментов осуществляется на станции назначения.
■ Разрешение логического адреса компьютера (на сетевом уровне) с использованием физического адреса сетевого адаптера (на канальном уровне), если в этом есть необходимость.
Сетевой уровень на передающем компьютере должен формировать такой заголовок, чтобы сетевые уровни на промежуточных системах в подсети распознавали этот заголовок и использовали его при пересылке данных по адресу назначения.
Очень часто отправитель и получатель отделены друг от друга большим количеством промежуточных систем. Сетевой уровень берет на себя передачу данных через эти системы, поддерживая технологии промежуточной коммутации, которые применяются для соединения систем. Благодаря этому более высоким уровням не требуется что-либо знать о передаче данных и об используемых технологиях промежуточной коммутации. Сетевой уровень отвечает за установление, поддержку и завершение соединений с промежуточными системами в коммуникационной подсети.
6. Транспортный уровень
Транспортный уровень отвечает за доставку сообщений в том порядке, в каком они были отправлены, — без потерь и дублирования.
Сложность транспортного протокола определяется возможностями сети и канальных уровней. В случае надежного сетевого или канального уровня с поддержкой виртуальных цепей вроде LLC-уровня NetBEUI от транспортного уровня требуется лишь передать данные на следующий уровень. Если же сетевой или канальный уровень ненадежен или поддерживает только дейтаграммы (как, например, ІР-уровень ТСРЯР или IPX-уровень IPX/SPX), то транспортный уровень должен контролировать последовательности пакетов, а также подтверждать их прием, обнаруживать и исправлять ошибки.
Транспортный уровень отвечает за следующие функции.
■ Прием сообщений с более высокого уровня и их сегментацию (если это необходимо).
■ Надежную доставку сообщений с передачей подтверждений о приеме.
■ Слежение за тем, чтобы компьютер-отправитель не передавал данные, если приемные буферы полностью заполнены.
■ Мультиплексирование нескольких потоков межпроцессных сообщений или сеансов для одного логического соединения и отслеживание принадлежности сообщений сеансам.
Транспортный уровень может принимать большие сообщения, но сетевой и более низкие уровни накладывают строгие ограничения на размер сообщений. Поэтому транспортный уровень должен разбивать сообщения на сегменты меньшего размера и включать в каждый кадр заголовок.
Если более низкие уровни не следят за последовательностью пакетов, транспортный заголовок должен включать соответствующую информацию, необходимую транспортному уровню на принимающей стороне для воссоздания правильной последовательности пакетов.
В отличие от более низких уровней, протоколы которых отвечают за соединения только между смежными узлами, транспортный и более высокие уровни обеспечивают взаимодействие между отправителем и получателем, отделенными множеством промежуточных систем.
7. Сеансовый уровень
Этот уровень устанавливает коммуникационный сеанс между процессами, выполняемыми на разных компьютерах, и может поддерживать передачу данных в виде сообщений.
Сеансовый уровень отвечает за следующие функции.
■ Регистрацию процессами уникальных адресов, например NetBIOS-имен.
■ Установление, мониторинг и завершение сеанса виртуальной цепи (virtual-circuit session) между двумя процессами, идентифицируемыми по уникальным адресам. Сеанс виртуальной цени — прямой канал связи между отправителем и получателем.
■ Вставку в сообщения заголовочной информации, указывающей, откуда начинается и где заканчивается конкретное сообщение. Благодаря этому сеансовый уровень на принимающей стороне может дождаться приема всего сообщения, прежде чем уведомить приложение-получатель о поступлении каких-либо данных.
■ Синхронизацию сообщений, что подразумевает координацию передачи данных между сеансовыми уровнями на передающей и принимающей сторонах. Синхронизация предотвращает переполнение буферов данных на принимающей стороне. Процесс передачи координируется с помощью сообщений подтверждения (АСК). Через этот механизм передающая сторона узнает, готов ли буфер на другой стороне соединения к приему следующей порции данных.
■ Аутентификацию пользователей, защиту ресурсов на уровне доступа и некоторые другие вспомогательные функции, позволяющие процессам взаимодействовать по сети.
8. Представительский уровень
Этот уровень служит транслятором данных для сети. На компьютере-отправителе он преобразует посылаемые приложением данные в какой-либо формат, понятный обеим сторонам соединения, а на компьютере-получателе в формат, известный прикладному уровню. Представительский уровень отвечает за следующие функции.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |


