Протокол — стандарт, определяющий поведение функциональных блоков при передаче данных.
Протокол является набором правил взаимодействия функциональных блоков, расположенных на одном уровне. Обычно протокол описывает:
Базовая эталонная модель взаимодействия открытых систем определяет семь уровней области Взаимодействия Открытых Систем (ВОС). Соответственно этому вводится в рассмотрение семь групп протоколов. Они именуются так же, как и уровни. Протоколы, располагаясь друг над другом, образуют штабель. В зависимости от задачи, поставленной перед системой, ее штабель может содержать все уровни области взаимодействия либо только часть из них. Так абонентская система определяется штабелем из семи уровней, а ретрансляционная система для целей коммутации чаще всего имеет штабель из двух-трех уровней.
На каждом уровне в сети может работать один либо несколько различных независимых друг от друга протоколов. Каждый протокол N-уровня обеспечивает взаимодействие объектов того же уровня, расположенных в различных системах сети. Любой протокол не знает о существовании других протоколов. Но он получает сервис от протоколов, расположенных на соседнем снизу уровне. Абстрактное описание взаимодействия через точку доступа к сервису называется примитивом. В базовой эталонной модели определены четыре типа примитивов: запрос, признак, ответ и подтверждение.
В информационной сети выделяют два типа протоколов, определяемых точками их приложения (рис.181)
Протоколы P-типа обеспечивают непосредственное взаимодействие объектов абонентских систем либо административных систем на соответствующем уровне. Что же касается протоколов К-типа, то они описывают взаимодействие пар смежных систем. Эти протоколы описывают характеристики коммуникационной сети.
В зависимости от наборов уровней, на которых располагаются протоколы, выделяются четыре класса сети: (рис.182)
Три последние класса сетей образуют сети с маршрутизацией данных. В соответствии со сказанным, например, в сети коммутации пакетов к К-типу относятся (рис.183) протоколы уровней 1-3, а к P-типу - протоколы уровней 4-7. Здесь в роли ретрансляционной системы выступает трехуровневый узел коммутации пакетов.
Протокол реализуется устройствами, или программами. В обоих случаях говорят о протокольных реализациях. Естественно, что различные производители и программисты создают разные протокольные реализации одного и того же протокола. Поэтому возникает проблема корректной конформности — отображения языка стандарта в язык программирования. Корректность работы реализации определяется ее тестированием на предмет соответствия протоколу. Тестирование должно проводиться независимой организацией, не участвовавшей в создании устройства либо программы.
Для обеспечения гарантии того, что данный протокол выполняет указанные требования, он подвергается верификации и сертификации.
Стандарт по взаимодействию вычислительных систем принят международной организацией по стандартизации (МОС, английская аббревиатура ISO), а позднее - Международным консультативным комитетом по телефонии и телеграфии (МККТТ, современное название этой организации - Международный союз электросвязи МСЭ-Т), под номером Х.200.
Помимо вышеупомянутых МОС и МСЭ-Т, стандартизацией в области электросвязи занимаются также:
Стандарты протоколов физического уровня.
Функции протоколов физического уровня (уровень 1) обеспечивают взаимодействие процедур канального уровня с физической средой передачи, по которой передается сигнал. В этих стандартах, как правило, описываются принципы построения устройств преобразования сигналов (модемов) и межуровневых интерфейсов, описывающих как уровень 1 связывается с уровнем 2, предоставляя ему свои услуги.
Наибольшее количество стандартов физического уровня и интерфейсов между физическим и канальным уровнем опубликовано МККТТ (МСЭ-Т). Среди них, например, протоколы V.21-V.27
Кроме МСЭ-Т, стандарты физического уровня разрабатывались и другими организациями. Например, всемирно-известный стандарт RS-232С, разработанный EIA и используемый в устройствах подключения к персональным компьютерам периферийных устройств.
Стандарты протоколов канального уровня.
В качестве основных функций канального уровня можно перечислить следующие:
Протоколы канального уровня можно разделить на две группы: байт- и бит-ориентированные протоколы. Информация, передаваемая с их помощью, рассматривается соответственно на уровне одного байта или бита, и наименьшей обрабатываемой единицей информации является байт или бит.
Байт-ориентированные протоколы - это процедуры управления каналом передачи данных, в которых для функции управления применяются структуры определенных знаков первичного кода, например, стандартного американского национального кода ASCII.
В бит-ориентированных протоколах управление каналом производится посредством анализа битовых последовательностей, представляющих собой поля кадра канального уровня.
Стандарты протоколов сетевого уровня.
Широко используемыми стандартами сетевого уровня являются протоколы:
Протоколы транспортного уровня.
Сетевой уровень предоставляет услуги транспортному, который требует от пользователей запроса на качество обслуживания сетью.
После получения от пользователя запроса на качество обслуживания транспортный уровень выбирает класс протокола, который обеспечивает требуемое качество обслуживания.
Качество обслуживания сети зависит от ее типа, доступного конечному пользователю, а также от транспортного уровня.
МСЭ-Т, ISO, ECMA определяют три типа сетей:
При существовании разных типов сетей транспортный уровень позволяет установить следующие параметры качества обслуживания:
Транспортный уровень отвечает за выбор соответствующего протокола, обеспечивающего требуемое качество обслуживания на сети.
Примером протоколов транспортного уровня могут служить протокол МСЭ-Т (МККТТ) Х.224 – "Спецификация протокола транспортного уровня взаимосвязи открытых систем для применения МККТТ" и стандарт ISO 8073 "Системы обработки информации. Взаимосвязь открытых систем. Спецификация протоколов транспортного уровня".
К верхним уровням относят протоколы сеансового, представительного и прикладного уровней.
Сеансовый уровень. Здесь производится организация способов взаимодействия между прикладными процессами пользователей, т.е. управление взаимодействием между открытыми системами. В качестве примеров протоколов сеансового уровня можно рассматривать стандарт Х.225 – "Спецификация протокола сеансового уровня взаимосвязи открытых систем для применений МККТТ", разработанный МСЭ-Т и стандарт ISO 8327 "Системы обработки информации. Взаимосвязь открытых систем. Базовая спецификация протокола сеансового уровня, ориентированная на соединение".
Представительный уровень. Определяет синтаксис передаваемой информации, т.е. набор знаков и способы их представления, которые являются понятными для всех взаимодействующих систем. Это процесс согласования различных кодов, согласно ему взаимодействующие системы договариваются о той форме, в которой будет передаваться информация. Примером протоколов представительного уровня являются: Х.226 "Спецификация протокола уровня представления взаимосвязи открытых систем для применения МККТТ" и стандарт ISO 8823 "Системы обработки информации. Взаимосвязь открытых систем. Спецификация протоколов уровня представления в режиме управления соединением".
Прикладной уровень. Определяет семантику, т.е. смысловое содержание информации, которой обмениваются открытые системы. Примером стандарта прикладного уровня может служить стандарт МСЭ-Т Х.400.
В качестве примеров рассмотрим протоколы IPX/SPX и TCP/IP.
Протокол IPX/SPX (IPX/SPX protocol_ — пара протоколов, обеспечивающая передачу данных в сети NetWare.
Протоколы в базовой эталонной модели взаимодействия открытых систем соответствуют сетевому уровню и транспортному уровню. Задачей протокола Межсетевого пакетного обмена IPX является установление структуры и процедур передачи пакетов между абонентскими системами сети NetWare. Протокол определяет передачу отдельных пакетов - датаграмм. Доставка каждой из них не гарантируется. Поэтому при использовании IPX системы должны иметь Программное Обеспечение (ПО), которое обеспечивает управление передачей и запрашивает потерянные пакеты.
Функцию управления передачей выполняет протокол Последовательный пакетный обмен SPX. Он осуществляет передачу последовательностей пакетов. При использовании протокола SPX в начале каждого сеанса между взаимодействующими системами выполняются процедуры, связанные с созданием соединения. По нему осуществляется управление передачей последовательности пакетов, их проверка и повторная передача пропавших пакетов либо пакетов, в которых появились ошибки.
В протоколе IPX/SPX заложены те же идеи, что в протоколе управления передачей/межсетевом протоколе.
Протокол управления передачей/межсетевой протокол
Протокол управления передачей/межсетевой протокол (Transmission Control Protocol/Internet Protocol (TCP/IP)) — пара взаимосвязанных протоколов транспортного уровня и сетевого уровня.
Агентство DARPA в начале семидесятых годов разработало сеть ARPANET, в основу которой была положена пара протоколов TCP/IP. Затем, эти протоколы были приняты в качестве стандарта в коммуникационных сетях Министерства обороны США. Глобальная сетевая среда, определяемая TCP/IP и состоящая из соединенных сетей, получила название сети Internet.
Протоколы TCP/IP располагаются между протоколами верхних уровней и канальным уровнем.
Протокол TCP организует создание виртуальных каналов, проходящих через коммуникационную сеть. В соответствии с этим, TCP относят к транспортному уровню области Взаимодействия Открытых Систем (ВОС). Протокол IP ориентирован на использование одиночных пакетов, именуемых датаграммами. Его задачей является обеспечение взаимодействия сетей друг с другом и выполнение процессов, связанных с коммутацией и маршрутизацией. Для этого IP передает датаграммы из одной сети в другую. IP относят к сетевому уровню.
Задачей TCP является предоставление сервиса передачи датаграмм, гарантируя упорядоченную доставку последовательностей блоков данных несмотря на возможные их повреждения, потери, дублирование, нарушение последовательности. TCP имеет три фазы работы: установление соединения, передача по нему датаграмм, разъединение соединения. Так как межсетевой протокол IP ненадежен, то TCP является сложным протоколом, обеспечивающим высокую степень надежности передачи данных.
Протокол IP, осуществляет реализацию коммуникационных аспектов:
Успех продуктов TCP/IP связан с тем, что благодаря современному техническому развитию микропроцессоров стала возможной их эффективная реализация.