Международная организация стандартизации (ISO, International Organization for Standardization) начала разработку модели открытого системного взаимодействия (OSI, Open Systems Interconnection) в 1977 г. С тех пор она стала широко использоваться для пояснения сетевых коммуникаций.
Для осуществления взаимодействия компьютеров друг с другом нужно принять некие правила коммуникаций. Такие правила должны быть четко определены, чтобы в сети с разнообразными сетевыми устройствами происходил обмен данными. Модель OSI (и сетевые модели, разработанные другими организациями) пытается определить правила, относящиеся к следующим вопросам:
• Способы установки связи и обмена данными между сетевыми устройствами при использовании ими "разных языков"
• Методы, позволяющие сетевым устройствам знать, когда нужно передавать данные, а когда нет
• Методы, обеспечивающие корректное получение передаваемой по сети информации нужным адресатом
• Организация и соединение физической среды передачи данных
• Поддержание нужной скорости передачи данныхвсеми сетевыми устройствами
• Методы представления битов в среде передачи данных
Модель OSI не описывает нечто реальное — это концептуальная основа, позволяющая лучше понять сложные механизмы взаимодействия различных устройств в сети. В процессе коммуникаций модель OSI не выполняет никаких функций. Фактическая работа осуществляется программным и аппаратным обеспечением. Модель OSI лишь определяет соответствующие аппаратные средства и ПО, а также сетевые протоколы, выполняющие данные задачи. Модель имеет следующие семь уровней:
1. Физический
2. Канальный
3. Сетевой
4. Транспортный
5. Сеансовый
6. Представительный
7. Прикладной
Модель OSI разбивает задачи коммуникаций на более мелкие фрагменты, называемые подзадачами. Реализации протоколов представляют собой компьютерные процессы, относящиеся к этим подзадачам. Конкретные протоколы выполняют подзадачи определенных уровней модели OSI. Когда протоколы группируются вместе для выполнения полной задачи, образуется стек протоколов. В следующих разделах поясняется, как работают стеки протоколов, и как они взаимодействуют со стеками протоколов на других компьютерах.
Стеки протоколов
Стек протоколов — это группа протоколов, упорядоченных в виде уровней для реализации коммуникационного процесса. Каждый уровень модели OSI имеет собственный связанный с ним протокол. Если для осуществления процесса коммуникаций необходимо более одного протокола, то протоколы группируются в стек. Примером стека протоколов является TCP/IP — стек, широко применяемый в ОС UNIX и в Internet.
Каждый уровень в стеке протоколов обслуживается нижерасположенным уровнем и реализует сервис для вышерасположенного уровня. Novell поясняет это соотношение так: уровень N использует сервис нижерасположенного уровня (уровня N-1) и обслуживает вышерасположенный уровень (уровень N+1).
Для обеспечения взаимодействия двух компьютеров на каждом из них должен выполняться один и тот же стек протоколов. Каждый уровень стека протоколов на компьютере взаимодействует со своим эквивалентом на другой машине. При выполнении одинакового стека протоколов компьютеры могут иметь различные операционные системы. Например, машина DOS, выполняющая стек TCP/IP, может взаимодействовать с ПК Macintosh, где также функционирует TCP/IP (см. рис. 3.1).
Рис. 1 Разноуровневые коммуникации между двумя компьютерами