Для того чтобы взаимодействовать в вербальной или письменной форме, сторонам, участвующим в этом взаимодействии, необходимо знать и придерживаться некоторого набора правил. Эти правила могут быть простыми, как, например, необходимость ставить вопросительный знак в конце письменного утверждения, которое требует ответа, или они могут быть довольно сложными и обширными, как, например, правила английского или французского языка. Без таких правил обеим сторонам было бы трудно, если вообще возможно, понимать друг друга.
Сказанное верно и для обмена данными — взаимодействующие устройства должны следовать одним и тем же общим правилам. Другими словами, в них должен применяться общий протокол. Этот протокол или набор правил может определять только какие-то основы взаимодействия: например, что считать началом передачи, а что концом, или же он может представлять собой довольно сложный набор правил: например, какой должна быть максимальная продолжительность ожидания перед получением сообщения от какой-либо из взаимодействующих сторон. Знание и понимание правил какого-либо протокола является абсолютно необходимым для того, чтобы уметь выявлять и разрешать проблемы. Без знания правил вы никогда не сможете понять, когда это правило нарушается, а если вы не знаете, когда правило нарушается, вам намного труднее определить, правильно ли работают взаимодействующие устройства и как они должны работать.
В этой главе мы рассмотрим основные сетевые протоколы. Сначала пойдет речь о модели взаимодействия открытых систем (Open Systems Interconnection, OSI) — эталонной модели, которая была разработана для описания того, как происходит обмен данными между компьютерами в сетевой среде. После этого мы рассмотрим некоторые из наиболее распространенных сетевых протоколов, используемых в локальных компьютерных сетях.
В 1984 году Международная организация по стандартизации — всемирная федерация, в которую входят государственные организации по стандартизации из около 140 стран — разработала эталонную модель сетевого обмена данными, называемую «Моделью взаимодействия открытых систем» (или OSI-моделью).
Сегодня эта модель считается главной архитектурной моделью межмашинного взаимодействия и служит в качестве основы для существующих стандартов.
Эталонная модель разрабатывалась для определения архитектурных рамок, ограничивающих задачи логического взаимодействия при обмене информацией между разными компьютерными системами. Основным предназначением OSI-модели является определение и группирование логических функций потока данных между системами, но без детального определения работы каждой функции. Для этой цели была разработана семиуровневая модель, в которой каждому уровню соответствует группа связанных логических функций. Модель определяет общую функцию каждого уровня, а также связь этого уровня с вышестоящими и нижестоящими уровнями, тогда как внутренним содержанием и деталями каждого уровня занимаются уже системные разработчики.
Устанавливая стандартную функцию для каждого уровня, а также определяя взаимосвязи между ними без учета деталей и содержания каждого уровня, OSI-модель позволяет производителям добиться совместимости между своими продуктами без необходимости жертвовать какими-либо элементами в них. Итак, OSI-модель состоит из следующих семи уровней:
- уровень 1 — физический.
- уровень 2 — канальный;
- уровень 3 — сетевой;
- уровень 4 — транспортный;
- уровень 5 — сеансовый;
- уровень 6 — представительский;
- уровень 7 — прикладной;
Каждый уровень объединяет некоторую группу логически связанных между собой задач, которые могут рассматриваться и решаться вполне независимо от задач других уровней. Это позволяет выполнять разработку полнофункциональных решений внутри одного уровня, не касаясь основных функций, описываемых другими уровнями OSI-модели.