При обсуждении в главе 3 характеристик графических приложений, работающих в сетевой среде, в контексте систем "клиент/сервер" мы не останавливались на вопросе, как именно циркулирует информация между отдельными компонентами такой среды. Большинство моделей сети базируется на представлении ее в виде многоуровневой структуры, подобной той, что показана на рис. 8.33. Здесь представлена крайне упрощенная версия модели, разработанной в Международной организации по стандартизации (ISO - International Standards Organization). На самом нижнем уровне располагаются физические средства, работающие на уровне отдельных битов. Следующий уровень занимает аппаратура передачи данных. Элементы этого уровня - кабельные каналы связи, телефонные линии, оптоэлектронные каналы и множество других видов аппаратных средств, физически реализующих передачу информации на большие расстояния. Далее в дело вступают программные средства. Самый низкий уровень программных средств принадлежит протоколам передачи битовой информации меж-
Иерархические графические модели
ду абонентами сети, гарантирующим сохранность сообщения и устранение возможных искажений. На этом уровне мы чаще всего встречаемся со схемами адресации, обеспечивающими отсылку сообщений и корректную их доставку адресатам, обнаружение искажений и восстановление исходной информации на основе избыточности. На следующем уровне располагаются протоколы, определяющие обмен информацией между процессами, реализуемыми на разных компьютерах сети. В то время как протоколы более низкого уровня определяют порядок передачи информации от одного узла сети к другому, в компетенцию протоколов этого уровня входит обмен содержательной информацией между процессами. Для множества компьютеров, подключенных к сети Internet, главным из протоколов этого уровня является TCP/IP (Transmission Control Protocol/Internet Protocol). Одно из определений сети Internet гласит, что она является "сетью тесно связанных компьютеров, использующих Internet Protocol". Самый верхний уровень иерархии занимают пользовательские приложения, обменивающиеся информацией по сети. При использовании таких графических API, как OpenGL, мы работаем именно на этом уровне.