Протокол в информатике
Протоко́л в информатике, совокупность правил и соглашений, определяющая процесс обмена информацией (данными) между различными программами внутри одного компьютера или на разных компьютерах в компьютерной сети. Набор правил, позволяющий осуществлять соединение и обмен данными между включёнными в сеть устройствами (точнее, программами на этих устройствах), называется сетевым протоколом.
Как правило, протокол определяет один из видов взаимодействия или одну из стадий взаимодействия в общей цепи передачи данных; взятые вместе, они образуют систему, именуемую стеком протоколов.
Наиболее известной системой сетевых протоколов является Базовая эталонная модель взаимосвязи открытых систем (англ. Open Systems Interconnection Basic Reference Model – OSI; 1978), описывающая семиуровневую логическую модель работы сети.
Разбиение совокупности сетевых протоколов по уровням связано с попыткой унификации аппаратного и программного обеспечения. Предполагается, что каждому из уровней соответствует определённая функциональная программа с жёстко заданными входными и выходными интерфейсами. Форматы данных на заданном уровне модели для отправителя и получателя должны быть идентичны.
На физическом уровне определяются физические (механические, электрические, оптические) характеристики каналов связи и передаваемых по ним сигналов.
На канальном уровне, называемом также уровнем передачи данных, определяются правила передачи данных, обеспечивающие исключение необнаруженных ошибок с точки зрения вышестоящего сетевого уровня и ограничивающие скорость передачи данных передатчика скоростью их обработки приёмником.
Сетевой уровень отвечает за адресацию и определение маршрута доставки сообщений между компьютерами (хостами), не соединёнными непосредственно друг с другом линиями связи, когда сообщения передаются через промежуточные хосты (маршрутизаторы, шлюзы).
Транспортный уровень обеспечивает надёжную передачу информации между конечными адресатами, взаимодействующими через компьютерную сеть или совокупность сетей, разбивая при необходимости сообщения на части и контролируя сборку сообщения у получателя из частей в правильном порядке.
Сеансовый уровень организует двухстороннее взаимодействие сетевых объектов и необходимую синхронизацию процедур.
Уровень представления обеспечивает преобразование данных в вид, необходимый для взаимодействия прикладных программ.
Прикладной уровень – уровень взаимодействия по сети прикладных программ, таких как браузер и веб-сервер, почтовый сервер и почтовый клиент и др.
Наиболее широко применяемой системой сетевых протоколов является стек протоколов TCP/IP, обеспечивающий взаимодействие в сети Интернет. Стек TCP/IP был разработан в начале 1970-х гг. до разработки модели OSI, а его широкое практическое применение в локальных компьютерных сетях и сети Интернет привело к тому, что модель OSI используется преимущественно для обсуждения сетевых проблем и обучения.
Стек TCP/IP имеет четыре уровня: прикладной, транспортный, межсетевой и канальный, но определяет только протоколы транспортного и межсетевого уровней, и интерфейсы для взаимодействия с ними сущностей других уровней.
Новые протоколы для Интернета определяет инженерный совет Интернета.