Архітектура протоколів стека TCP/IP

При обмене данными между компьютерами, терминалами и/или другими устройствами обработки данных круг проблем может быть довольно широким. Рассмотрим, например, передачу файла с одного компьютера на другой. Для этого требуется наличие тракта передачи данных между этими компьютерами, прямого или проходящего через сеть связи. Но это еще не все. Обычно требуется выполнить следующие задачи.

1. Система источника должна либо активизировать прямой тракт передачи данных, либо идентифицировать для сети связи систему назначения.

2. Система источника должна удостовериться, что система назначения готова принять данные.

3. Приложение, выполняющее в системе источника передачу файла, должно удостовериться, что программа управления файлами в системе назначения готова получить и сохранить файл для указанного пользователя.

4. Если форматы файлов, используемые в двух системах, несовместимы, то одна или другая система должна выполнить преобразование формата.

Очевидно, что две компьютерные системы должны достаточно тесно взаимодействовать. Вместо того чтобы соответствующую логику реализовать как один модуль, задача взаимодействия разбивается на подзадачи, каждая из которых решается отдельно. В протокольной архитектуре модули располагаются в виде вертикального стека:

· каждый уровень стека выполняет некоторую группу родственных функций, требуемых для связи систем;

· в реализации более примитивных функций он полагается на нижестоящий уровень и не интересуется подробностями этой реализации;

· каждый уровень предлагает услуги вышестоящему уровню;

· в идеале уровни должны быть определены так, чтобы изменения на одном из них не затрагивали другие уровни.

Разумеется, в связи участвуют две стороны, поэтому в обеих системах должны иметься одинаковые наборы многоуровневых функций. В таком контексте связь осуществляется между соответствующими, или одноранговыми (peer), уровнями сообщающихся систем. Передача происходит посредством форматированных блоков информации, управление которыми производится через принимаемые соглашения, называемые протоколами. Основными являются следующие понятия.

Синтаксис.Включает такие понятия, как формат блоков данных.

Семантика.Включает управляющую информацию, необходимую для координации и обработки ошибок.

Синхронизация.Включает согласование скорости и упорядочение блоков информации.

Протокол TCP/IP является результатом исследований и разработок, проведенных в экспериментальной сети с коммутацией пакетов ARPANET, которые финансировались Управлением перспективных исследовательских программ США (Defense Advanced Research Projects Agency — DARPA). Обычно говорят о наборе протоколов TCP/IP. Этот набор состоит из большого числа протоколов, имеющих статус стандартов (IAB – Internet Architecture Board) Internet.