Передача данных в МОС модели
На рис.1-17 показа последовательность действий при передаче данных в МОС модели. Хотя данные движутся вертикально, каждый уровень предполагает их горизонтальное передвижение. Здесь аналогия с синхронным переводом. Когда оратор говорит на Урду перед нами, то он считает, что он обращается к нам. Не тут-то было! Он обращается к переводчику, и тот обращается к нам.
1.7.2 Эталонная модель TCP/IP
Здесь мы рассмотрим другую эталонную модель, прототипом для которой послужил прародитель всех компьютерных сетей - сеть ARPA. Позднее мы рассмотрим историю этой сети. Сейчас лишь отметим, что эта сеть образовалась в результате НИР, проведенного по инициативе Министерства Обороны США. Позднее к этому проекту подключились сотни университетов и госучереждений Америки. С самого начала эта сеть задумывалась как объединение нескольких разных сетей. Одной из основных целей этого проекта было разработать унифицированные способы соединения сетей. С появлением спутниковых и радио цифровых каналов связи проблема становилась только актуальнее. Так появилась модель TCP/IP. Свое название она получила по именам двух основных протоколов: TCP - протокол управления передачей (Transmission Control Protocol), и IP -межсетевой протокол (Internet Protocol).
Другой целью проекта ARPA было создание протоколов, независящих от характеристик конкретных хост-машин, маршрутизаторов, шлюзов и т.п. Кроме этого связь должна поддерживаться даже если отдельные компоненты сети будут выходить из строя во время соединения. Другими словами связь должна поддерживаться до тех пор, пока источник информации и получатель информации работоспособны. Архитектура сети не должна ограничивать приложения, начиная от простой передачи файлов до передачи речи и изображения в реальном времени.
Межсетевой уровень
В силу вышеперечисленных требований выбор очевиден: сеть с коммутацией пакетов с межсетевым уровнем без соединений. Этот уровень называется межсетевым уровнем. Он является основой всей архитектуры. Его назначение обеспечить доставку пакетов, движущихся в сети независимо друг от друга, даже если получатель принадлежит другой сети. Причем пакеты могут поступать к получателю не в том порядке, как они были посланы. Упорядочить их в надлежащем порядке - задача вышележащего уровня.
Межсетевой уровень определяет межсетевой протокол IP и формат пакета. Обратите внимание, что ни протокол, ни формат пакета не являются официальными международными стандартами, в отличии от протоколов эталонной модели МОС. Там большинство протоколов имеют статус международных стандартов.
Итак, назначение межсетевого уровня в TCP/IP доставить IP пакет по назначению. Это как раз то, за что отвечает сетевой уровень в ISO модели. На рис.1-18 показано соответствие между уровнями этих двух эталонных моделей.
Транспортный уровень
Над межсетевым уровнем расположен транспортный уровень. Как и МОС модели его задача обеспечить связь точка-точка между двумя равнозначными активностями. В рамках TCP/IP модели было разработано два транспортных протокола. Первый TCP (Transmission Control Protocol) : надежный протокол с соединением. Он получает поток байт, фрагментирует его на отдельные сообщения и передает их на межсетевой уровень. На машине получателе равнозначная активность TCP протокола собирает эти сообщения в поток байтов. TCP протокол обеспечивает также управление потоком.
Второй протокол UDP(User Datagram Protocol). Это ненадежный протокол[1] без соединения для тех приложений, которые используют свои механизмы фрагментации, управления потоком. Он часто используется для передачи коротких сообщений в клиен-серверных приложениях, а также там где скорость передачи важнее ее точности. Соотношение этих протоколов и их приложений показано на рис.1-19.
Напомним, что ненадежным мы называем протокол без уведомления о получении кадра, фрейма, пакета, сообщения т.п.
Уровень приложений
В TCP/IP модели нет уровней сессии и представления. Необходимость в них была не очевидна для ее создателей. На сегодня ело обстоит так, что разработчик сложного приложения берет на себя проблемы этих уровней.
Над транспортным протоколом располагается уровень приложений. Этот уровень включает виртуальный терминал - TELNET, передачу файлов - FTP, электронную почту - SMTP (см.рис.1-19). Позднее к ним добавились: служба имен домена - DNS (Domain Name Service) отображающая логические имена хост-машин на их сетевые адреса, протокол для передачи новостей - NNTP, и протокол для работы с гипертекстовыми документами во всемирной паутине (WWW) - HTTP.
Под межсетевым уровнем в TCP/IP модели великая пустота. Модель ничего не говорит что происходит там, а лишь отмечает что хост-машина должна быть связана с сетью через некоторый протокол. Никаких ограничений на этот протокол, равно как т рекомендаций нет.
1.7.3 Сравнение моделей МОС и TCP/IP
Обе модели имеют много общего. Обе имеют уровневую иерархию, поддерживают понятие стека протоколов. Назначение их уровней примерно одинаково. Все уровни от транспортного и ниже используют протоколы для поддержки взаимодействия типа точка-точка, не зависящего от организации сети. Все уровни выше транспортного ориентированы на приложения.
В модели OSI центральными являются три понятия:
· сервис
· интерфейс
· протокол.
Наибольшее методологическое значение этой модели в четком выделении и разделении этих понятий.
Сервис определяет что делает уровень, но ничего не говорит как.
Интерфейс уровня определяет для вышележащего уровня доступа к сервису.
Протокол определяет реализацию сервиса.
Здесь можно провести аналогию с объектно-ориентированным программированием. У каждого объекта есть набор методов - сервис, которые определяют те операции, которые этот объект может выполнять. Иными словами, сервис - это семантика методов. Каждый метод имеет интерфейс - набор параметров, имя и т.п. Реализация методов скрыта в объекте - протокол; и не видима пользователю.
В TCP/IP модели нет столь же четкого выделения этих понятий. Там понятие протокола на столь четко «упрятано» и независимо от остальных частей модели. Этот факт есть следствие того как создавались эти модели. TCP/IP модель создавалась post factum, а МОС до того как появились протоколы. Поэтому понятие протокола там абсолютно не зависит от остальных частей модели. Например, изначально протоколы канального уровня в OSI создавались для соединений точка-точка. Позднее, когда появились средства типа вещания, на этот уровень были добавлены соответствующие протоколы. Никаких других изменений не последовало.
TCP/IP модель была создана когда TCP/IP стек уже существовал. Поэтому эта модель прекрасно описывала этот стек, но только этот стек и никакой другой.
Модели имеют разное число уровней. Обе имеют уровень приложений, транспортный уровень и сетевой уровень. Все остальные уровни разные.
OSI модель поддерживает на сетевом уровне как сервис с соединением, так и без соединения. На транспортном уровне этой модели поддерживается сервис только с соединением. В TCP/IP наоборот: сетевой уровень обеспечивает сервис без соединения, но транспортный - как с соединением, так и без.