Аналогия из мира людей
Для того чтобы понять, что означает слово «протокол» в контексте компьютерных сетей, давайте рассмотрим ситуацию, далекую от вычислительной техники. Каждый человек, находясь во взаимодействии с другими людьми, всегда следует некоторым стереотипам общения. Например, ситуацию, когда один человек обращается к другому для того, чтобы узнать, который час, графически можно представить так, как это сделано на рис. 1.2. «Человеческий протокол» (обычно называемый правилами хорошего тона) гласит, что для установления контакта человеку необходимо поздороваться с собеседником и получить от него ответное приветствие. Этому начальному фрагменту общения соответствуют первые две стрелки с надписями «Привет!» на рисунке. В случае, если потенциальный собеседник не настроен на общение, он, вероятно, выдаст другой ответ, например: «Не беспокойте меня» или «Я не говорю по-русски». Тогда инициатору общения следует прекратить попытки контакта с собеседником. Возможна также ситуация, когда собеседник не даст никакого ответа; вероятно, разумным решением здесь было бы повторить попытку установить контакт по прошествии некоторого времени. Таким образом, в основе «человеческого протокола» лежит следующий принцип: люди посылают определенные сообщения и предпринимают определенные действия в качестве реакции на эти сообщения и другие события (например, отсутствие ответного сообщения в течение установленного промежутка времени). Становится вполне очевидным, что протокол определяется набором входящих в него сообщений и ответных действий. Если два человека используют различные протоколы (например, у одного из них неважно с общепринятыми нормами поведения или нет ощущения времени), общение между ними становится невозможным. То же самое абсолютно справедливо и в отношении сетевых протоколов — для выполнения сетью своих функций необходимо, чтобы два (или более) устройства, обменивающихся данными, использовали один и тот же протокол.
Давайте рассмотрим еще один пример аналогии «человеческих» и сетевых протоколов. Предположим, что вы находитесь на лекции в учебном заведении (пусть это будет лекция по компьютерным сетям!). Преподаватель не вполне понятно для вас излагает материал о протоколах, а затем останавливается и обращается к аудитории: «Не желает ли кто-нибудь задать вопрос?» Последняя фраза является сообщением, которое передается преподавателем и принимается всеми (кто еще не спит) студентами. Вы поднимаете руку, тем самым посылая сообщение преподавателю (хотя и в менее явной форме). Преподаватель подтверждает получение вашего сообщения, говоря: «Да?» (передавая сообщение, поощряющее вашу любознательность — преподаватели любят, когда им задают вопросы). Ваше обращение к преподавателю с вопросом и его ответ также являются сообщениями, передаваемыми в процессе общения. Мы снова видим, что в основе описанного протокола вопросов и ответов лежат передача и прием сообщений, а также набор определенных договором или соглашением действий, предпринимаемых при передаче и приеме этих сообщений.