Протоколы — это соглашения между людьми или процессами о том, кто, что, для кого и когда должен или может делать. Протокол see more info отличается от интерфейса. Интерфейс — это набор правил, управляющий взаимодействием между двумя различными машинами или процессами, например между компьютером и модемом. Протокол — это набор правил, определяющий порядок взаимодействия между двумя одинаковыми или выполняющими общие функции машинами или процессами. Отличие между интерфейсом и протоколом иллюстрирует рис. 8.1. Здание А и здание В выглядят одинаковыми, и в них располагаются две одинаковые, хотя и довольно странные группы людей. Английскому инженеру, занимающему верхний этаж здания А, нужна связь с другим английским инженером, который расположился на верхнем этаже здания В. Однако единственный телефон, имеющийся в каждом из зданий, находится на первом этаже и принадлежит шведскому бизнесмену. Инженеры не говорят шведски, а бизнесмены не говорят по-английски.
Два инженера, как и большинство людей, которым часто приходится разговривать по телефону, имеют выработанную годами схему взаимодействия. Тот кто услышал звонок и поднял трубку, говорит: «Алло». Звонящий отвечает: «Ал ло, это Регги». Тогда первый инженер произносит примерно следующее: «Пр; вет, Регги. Как дела, дружище?» Это называется преамбулой. Далее начинаете разговор об Уимблдоне, о погоде, а иногда даже о профессиональных делах, f к большинство фраз тот, кому задается вопрос, отвечает, но не обязательно пред.к жением — это может быть и просто междометие. Если одна из сторон в течени некоторого времени не слышит ответов другой стороны, может последовать во прос: «Алло, ты меня слышишь?» И, если ответа не будет, человек, скорее всеп прекратит разговор и начнет весь процесс сначала. Если одна сторона не понимает другую, может прозвучать вопрос: «Что-что?», и вторая сторона повторит по следнее предложение. Когда разговор окончен, завершающий его человек гово рит: «Ну ладно, пока» и его собеседник отвечает: «Пока». Шведский бизнесмеї использует при разговоре со своим собеседником похожую технологию. Все эти действия, выполняемые по взаимному соглашению, и составляют протокол. Как рассказывается далее в этой главе, протоколы, предназначенные для организации взаимодействия между процессорами в компьютерах, основываются на тех же принципах, что и протоколы общения между людьми.
Хотя наши два инженера могут прекрасно общаться друг с другом благодаря наличию коммуникационного протокола, у них есть одна проблема — отсутствие непосредственного доступа к коммуникационному каналу, который ревностно охраняется здоровенными шведами. Решением этой проблемы может стать обеспечение возможности непосредственного взаимодействия между англичанином и шведом, то есть интерфейса. Каждый из инженеров привлекает еще одного человека, который стоит на лестнице между этажами, переводит слова инженера на шведский и передает их бизнесмену, который проговаривает их по телефону бизнесмену во втором здании, а тот произносит их на шведском для второго человека на лестнице, который, наконец, переводит их на английский и передает второму инженеру.
Эта процедура кажется сложной и неэффективной, и во многих отношениях так оно и есть. Но это именно та процедура, которая используется в миллионах систем обмена данными и позволяет прикладной программе, общающейся при помощи одного набора символов и генерирующей их с одной скоростью, взаимодействовать через монитор, использующий другой набор символов и совершенно иную скорость, с программой сетевого интерфейса, оперирующей третьим набором символов.
|