3 что такое протокол. Введение в протокол UDP

09.04.2019

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

Сигнальный протокол используется для управления соединением - например, установки, переадресации, разрыва связи. Примеры протоколов: RTSP , SIP . Для передачи данных используются такие протоколы как RTP .

Сетево́й протоко́л - набор правил и действий (очерёдности действий), позволяющий осуществлять соединение и обмен данными между двумя и более включёнными в сеть устройствами.

Разные протоколы зачастую описывают лишь разные стороны одного типа связи . Названия «протокол» и «стек протоколов» также указывают на программное обеспечение , которым реализуется протокол.

Наиболее известные протоколы, используемые в сети Интернет:

  • HTTP (Hyper Text Transfer Protocol) - это протокол передачи гипертекста . Протокол HTTP используется при пересылке Web-страниц между компьютерами, подключенными к одной сети.
  • FTP (File Transfer Protocol) - это протокол передачи файлов со специального файлового сервера на компьютер пользователя. FTP дает возможность абоненту обмениваться двоичными и текстовыми файлами с любым компьютером сети. Установив связь с удаленным компьютером, пользователь может скопировать файл с удаленного компьютера на свой или скопировать файл со своего компьютера на удаленный.
  • POP3 (Post Office Protocol) - это стандартный протокол почтового соединения. Серверы POP обрабатывают входящую почту, а протокол POP предназначен для обработки запросов на получение почты от клиентских почтовых программ.

Выполняет функции транспортного уровня модели OSI .

Когда осуществляется передача от компьютера к компьютеру через Интернет, TCP работает на верхнем уровне между двумя конечными системами, например, браузером и веб-сервером. TCP осуществляет надёжную передачу потока байтов от одного процесса к другому. TCP реализует управление потоком, управление перегрузкой, рукопожатие, надежную передачу.

Заголовок сегмента TCP

Структура заголовка
Бит 0 - 3 4 - 9 10 - 15 16 - 31
0 Порт источника, Source Port Порт назначения, Destination Port
32 Порядковый номер, Sequence Number (SN)
64 Номер подтверждения,
96 Длина заголовка Зарезервировано Флаги Размер Окна
128 Контрольная сумма Указатель важности
160 Опции (необязательное, но используется практически всегда)
160/192+ Данные

Порт источника, Порт назначения

Эти 16-битные поля содержат номера портов - числа, которые определяются по специальному списку .

Порт источника идентифицирует приложение клиента, с которого отправлены пакеты. Ответные данные передаются клиенту на основании этого номера.

Порт назначения идентифицирует порт, на который отправлен пакет.

Порядковый номер

Порядковый номер выполняет две задачи:

  1. Если установлен флаг SYN, то это изначальный порядковый номер - ISN (Initial Sequence Number), и первый байт данных, которые будут переданы в следующем пакете, будет иметь номер, равный ISN + 1.
  2. В противном случае, если SYN не установлен, первый байт данных, передаваемый в данном пакете, имеет этот порядковый номер

Поскольку поток TCP в общем случае может быть длиннее, чем число различных состояний этого поля, то все операции с порядковым номером должны выполняться по модулю 2 32 . Это накладывает практическое ограничение на использование TCP. Если скорость передачи коммуникационной системы такова, чтобы в течение MSL (максимального времени жизни сегмента) произошло переполнение порядкового номера, то в сети может появиться два сегмента с одинаковым номером, относящихся к разным частям потока, и приёмник получит некорректные данные.

Номер подтверждения

Acknowledgment Number (ACK SN) (32 бита) - если установлен флаг ACK, то это поле содержит порядковый номер октета, который отправитель данного сегмента желает получить. Это означает, что все предыдущие октеты (с номерами от ISN+1 до ACK-1 включительно) были успешно получены.

Длина заголовка (смещение данных)

Длина заголовка (Data offset) занимает 4 бита и указывает значение длины заголовка, измеренное в 32-битовых словах. Минимальный размер составляет 20 байт (пять 32-битовых слов), а максимальный - 60 байт (пятнадцать 32-битовых слов). Длина заголовка определяет смещение полезных данных относительно начала сегмента. Например, Data offset равное 1111 говорит о том, что заголовок занимает пятнадцать 32-битных слова (15 строк*32 бита в каждой строке/8 бит = 60 байт).

Зарезервировано

Зарезервировано (6 бит) для будущего использования и должно устанавливаться в ноль. Из них два (5-й и 6-й) уже определены:

  • CWR (Congestion Window Reduced) - Поле «Окно перегрузки уменьшено» - флаг установлен отправителем, чтобы указать, что получен пакет с установленным флагом ECE (RFC 3168)
  • ECE (ECN-Echo) - Поле «Эхо ECN» - указывает, что данный узел способен на ECN (явное уведомление перегрузки) и для указания отправителю о перегрузках в сети (RFC 3168)

Флаги (управляющие биты)

Это поле содержит 6 битовых флагов:

  • URG - поле «Указатель важности» задействовано (англ. Urgent pointer field is significant )
  • ACK - поле «Номер подтверждения» задействовано (англ. Acknowledgement field is significant )
  • PSH - (англ. Push function ) инструктирует получателя протолкнуть данные, накопившиеся в приёмном буфере, в приложение пользователя
  • RST - оборвать соединения, сбросить буфер (очистка буфера) (англ. Reset the connection )
  • SYN - синхронизация номеров последовательности (англ. Synchronize sequence numbers )
  • FIN (англ. final , бит) - флаг, будучи установлен, указывает на завершение соединения (англ. FIN bit used for connection termination ).

Размер окна

Количество байт данных начиная с последнего номера подтверждения, которые может принять получатель данного пакета. Иначе говоря, получатель пакета располагает для приёма данных буфером длиной "размер окна" байт.

Контрольная сумма

Поле контрольной суммы - это 16-битное дополнение к сумме всех 16-битных слов заголовка (включая псевдозаголовок) и данных. Если сегмент, по которому вычисляется контрольная сумма, имеет длину не кратную 16-ти битам, то длина сегмента увеличивается до кратной 16-ти, за счёт дополнения к нему справа нулевых битов заполнения. Биты заполнения (0) не передаются в сообщении и служат только для расчёта контрольной суммы. При расчёте контрольной суммы значение самого поля контрольной суммы принимается равным 0.

Указатель важности

16-битовое значение положительного смещения от порядкового номера в данном сегменте. Это поле указывает порядковый номер октета, которым заканчиваются важные (urgent) данные. Поле принимается во внимание только для пакетов с установленным флагом URG. Используется для внеполосных данных .

Опции

Могут применяться в некоторых случаях для расширения протокола. Иногда используются для тестирования. На данный момент в опции практически всегда включают 2 байта NOP (в данном случае 0x01) и 10 байт, задающих timestamps . Вычислить длину поля опции можно через значение поля смещения.

Видео по теме

Механизм действия протокола

В отличие от традиционной альтернативы - UDP, который может сразу же начать передачу пакетов, TCP устанавливает соединения, которые должны быть созданы перед передачей данных. TCP соединение можно разделить на 3 стадии:

  • Установка соединения
  • Передача данных
  • Завершение соединения

Состояния сеанса TCP

Состояния сеанса TCP
CLOSED Начальное состояние узла. Фактически фиктивное
LISTEN Сервер ожидает запросов установления соединения от клиента
SYN-SENT Клиент отправил запрос серверу на установление соединения и ожидает ответа
SYN-RECEIVED Сервер получил запрос на соединение, отправил ответный запрос и ожидает подтверждения
ESTABLISHED Соединение установлено, идёт передача данных
FIN-WAIT-1 Одна из сторон (назовём её узел-1) завершает соединение, отправив сегмент с флагом FIN
CLOSE-WAIT Другая сторона (узел-2) переходит в это состояние, отправив, в свою очередь сегмент ACK и продолжает одностороннюю передачу
FIN-WAIT-2 Узел-1 получает ACK, продолжает чтение и ждёт получения сегмента с флагом FIN
LAST-ACK Узел-2 заканчивает передачу и отправляет сегмент с флагом FIN
TIME-WAIT Узел-1 получил сегмент с флагом FIN, отправил сегмент с флагом ACK и ждёт 2*MSL секунд, перед окончательным закрытием соединения
CLOSING Обе стороны инициировали закрытие соединения одновременно: после отправки сегмента с флагом FIN узел-1 также получает сегмент FIN, отправляет ACK и находится в ожидании сегмента ACK (подтверждения на свой запрос о разъединении)

Установка соединения

Процесс начала сеанса TCP (также называемый «рукопожатие» (англ. handshake )), состоит из трёх шагов.

1. Клиент, который намеревается установить соединение, посылает серверу сегмент с номером последовательности и флагом SYN.

  • Сервер получает сегмент, запоминает номер последовательности и пытается создать сокет (буферы и управляющие структуры памяти) для обслуживания нового клиента.
    • В случае успеха сервер посылает клиенту сегмент с номером последовательности и флагами SYN и ACK, и переходит в состояние SYN-RECEIVED.
    • В случае неудачи сервер посылает клиенту сегмент с флагом RST.

2. Если клиент получает сегмент с флагом SYN, то он запоминает номер последовательности и посылает сегмент с флагом ACK.

  • Если клиент одновременно получает и флаг ACK (что обычно и происходит), то он переходит в состояние ESTABLISHED.
  • Если клиент получает сегмент с флагом RST, то он прекращает попытки соединиться.
  • Если клиент не получает ответа в течение 10 секунд, то он повторяет процесс соединения заново.

3. Если сервер в состоянии SYN-RECEIVED получает сегмент с флагом ACK, то он переходит в состояние ESTABLISHED.

  • В противном случае после тайм-аута он закрывает сокет и переходит в состояние CLOSED.

Процесс называется «трёхэтапным согласованием» (англ. three way handshake ), так как несмотря на то что возможен процесс установления соединения с использованием четырёх сегментов (SYN в сторону сервера, ACK в сторону клиента, SYN в сторону клиента, ACK в сторону сервера), на практике для экономии времени используется три сегмента.

Пример базового 3-этапного согласования:

TCP A TCP B 1. CLOSED LISTEN 2. SYN-SENT --> --> SYN-RECEIVED 3. ESTABLISHED <-- <-- SYN-RECEIVED 4. ESTABLISHED --> --> ESTABLISHED 5. ESTABLISHED <-- <-- ESTABLISHED

В строке 2 TCP A начинает передачу сегмента SYN, говорящего об использовании номеров последовательности, начиная со 100. В строке 3 TCP B передаёт SYN и подтверждение для принятого SYN в адрес TCP A. Надо отметить, что поле подтверждения показывает ожидание TCP B приёма номера последовательности 101, подтверждающего SYN с номером 100.

В строке 4 TCP A отвечает пустым сегментом с подтверждением ACK для сегмента SYN от TCP B; в строке 5 TCP B передаёт некоторые данные. Отметим, что номер подтверждения сегмента в строке 5 (ACK=101) совпадает с номером последовательности в строке 4 (SEQ=101), поскольку ACK не занимает пространства номеров последовательности (если это сделать, придётся подтверждать подтверждения - ACK для ACK).

Передача данных

При обмене данными приёмник использует номер последовательности, содержащийся в получаемых сегментах, для восстановления их исходного порядка. Приёмник уведомляет передающую сторону о номере последовательности, до которой он успешно получил данные, включая его в поле «номер подтверждения». Все получаемые данные, относящиеся к промежутку подтверждённых последовательностей, игнорируются. Если полученный сегмент содержит номер последовательности больший, чем ожидаемый, то данные из сегмента буферизируются, но номер подтверждённой последовательности не изменяется. Если впоследствии будет принят сегмент, относящийся к ожидаемому номеру последовательности, то порядок данных будет автоматически восстановлен исходя из номеров последовательностей в сегментах.

Для того, чтобы передающая сторона не отправляла данные интенсивнее, чем их может обработать приёмник, TCP содержит средства управления потоком. Для этого используется поле «окно». В сегментах, направляемых от приёмника передающей стороне, в поле «окно» указывается текущий размер приёмного буфера. Передающая сторона сохраняет размер окна и отправляет данных не более, чем указал приёмник. Если приёмник указал нулевой размер окна, то передача данных в направлении этого узла не происходит, пока приёмник не сообщит о большем размере окна.

В некоторых случаях передающее приложение может явно затребовать протолкнуть данные до некоторой последовательности принимающему приложению, не буферизируя их. Для этого используется флаг PSH. Если в полученном сегменте обнаруживается флаг PSH, то реализация TCP отдаёт все буферизированные на текущий момент данные принимающему приложению. «Проталкивание» используется, например, в интерактивных приложениях. В сетевых терминалах нет смысла ожидать ввода пользователя после того, как он закончил набирать команду. Поэтому последний сегмент, содержащий команду, обязан содержать флаг PSH, чтобы приложение на принимающей стороне смогло начать её выполнение.

Завершение соединения

Завершение соединения можно рассмотреть в три этапа:

  1. Посылка серверу от клиента флага FIN на завершение соединения.
  2. Сервер посылает клиенту флаги ответа ACK , FIN, что соединение закрыто.
  3. После получения этих флагов клиент закрывает соединение и в подтверждение отправляет серверу ACK , что соединение закрыто.

Известные проблемы

Максимальный размер сегмента

TCP требует явного указания максимального размера сегмента (MSS) в случае, если виртуальное соединение осуществляется через сегмент сети, где максимальный размер блока (MTU) менее, чем стандартный MTU Ethernet (1500 байт).

В протоколах туннелирования, таких как GRE , IPIP , а также PPPoE MTU туннель меньше, чем стандартный, поэтому сегмент TCP максимального размера имеет длину пакета больше, чем MTU. Это приводит к фрагментации и уменьшению скорости передачи полезных данных. Если на каком-либо узле фрагментация запрещена, то со стороны пользователя это выглядит как «зависание» соединений. При этом «зависание» может происходить в произвольные моменты времени, а именно тогда, когда отправитель использовал сегменты длиннее допустимого размера. Для решения этой проблемы на маршрутизаторах применяются правила Firewall-а, добавляющие параметр MSS во все пакеты, инициирующие соединения, чтобы отправитель использовал сегменты допустимого размера.

MSS может также управляться параметрами операционной системы.

Обнаружение ошибок при передаче данных

Хотя протокол осуществляет проверку контрольной суммы по каждому сегменту, используемый алгоритм считается слабым . Так, в 2008 году ошибка в передаче одного бита, не обнаруженная сетевыми средствами, привела к остановке серверов системы Amazon Web Services .

В общем случае распределенным сетевым приложениям рекомендуется использовать дополнительные программные средства для гарантирования целостности передаваемой информации .

Атаки на протокол

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

Реализация

Псевдозаголовок

TCP-заголовок не содержит информации об адресе отправителя и получателя, поэтому даже при совпадении порта получателя нельзя с точностью сказать, что сообщение пришло в нужное место. Поскольку назначением протокола TCP является надёжная доставка сообщений, то этот момент имеет принципиальное значение. Эту задачу можно было решить разными способами. Самый очевидный - добавить информацию об адресе назначения в заголовок TCP, однако это, во-первых, приводит к дублированию информации, что снижает долю полезной информации переносимой TCP-сегментом, а во-вторых, нарушает принцип инкапсуляции модели OSI. Поэтому разработчики протокола пошли другим путём и использовали дополнительный псевдозаголовок.

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

Какими свойствами и особенностями обладает хороший, годный грамотный, качественный протокол?

В идеале, протокол должен быть абстрагирован от более нижнего уровня взаимодействия, будь то передача по TCP, UDP, по serial порту, USB, Bluetooth, через цифровой радиосигнал, или даже по голубиной почте . И надо учитывать, что далеко не все из них гарантируют доставку и\или достоверность передающихся данных.

Небольшой дисклеймер: говоря о достоверности данных, я имею ввиду их неискаженность вследствие помех и иных ошибок в среде передачи. В статье я не буду затрагивать темы пласта технологий, связанных с безопасностью в ИТ. Допустим что наши Алиса и Боб могут друг другу доверять, и никакая Ева им помешать не может . (Например у коллег вопрос безопасности решается включением всех территориально разделенных участников взаимодействия в хорошо защищенный VPN, не имеющий в свою очередь доступа наружу)

В большинстве протоколов реализована схема «Вопрос-Ответ». Это можно представить как разговор, в котором на каждую реплику своего собеседника вы реагируете вербально, и в том же смысловом ключе. Таким образом участниками взаимодействия достигается уверенность в том, что их сообщения переданы и адекватно восприняты. Однако эта схема допустима и эффективна не для всех задач: в случаях когда задержка в общении должна быть минимизирована, или ответ на каждую из многочисленных реплик признается избыточным (например для отладочных сообщений), реализуется схема «Старт-Стоп». При получении сообщения на «Старт» ваш собеседник начинает сыпать в вас потоком реплик, и замолкает лишь при слове «Стоп». Сообщения, отправляемые в потоке, обычно имеют инкрементируемый порядковый номер, и если при принятии потока сообщений были проблемы с обработкой\было пропущено одно из них, его можно перезапросить отдельно по этому самому номеру.

Все протоколы можно разделить на две группы, (по представлению данных): символьные и бинарные .
Символьные протоколы, с которыми мне приходилось встречаться, базировались либо на XML, либо на JSON-строках. Из их достоинств можно упомянуть о более простой отладке взаимодействия (вследствие их читаемости), о простоте реализации (наличия готовых парсеров), и пресловутой универсальности.
Теперь о недостатках. Очевидно, что такие протоколы являются крайне избыточными, мизерная доля полезной информации плавает в массивной, неэффективной обёртке. При передаче любой числовой информации приходиться заниматься их конвертацией в строковое представление и обратно. Больным местом является передача бинарных данных (и хорошо, что без них бывает можно обойтись, но в ряде случаев это невозможно). Составители протоколов обычно выкручиваются применением Base64 , или даже просто передачей бинарной строки в её hex-овом представлении, по два символа на байт.
Также хочется отметить, что полная спецификация того же XML крайне обширна, и стандартные парсеры, при всей их полноте возможностей, достаточно громоздки и медлительны, поэтому распространена практика, когда отдел или контора в итоге пишет и пользуется собственным парсером.

Конечно, для определенных задач , символьные протоколы являются, если не наиболее эффективным, то по крайней мере вполне приемлимым вариантом, но мы с вами идём дальше.

Теперь бинарные протоколы. Сразу же надо вспомнить о Гулливерских войнах тупоконечников и остроконечников . Лично я симпатизирую big-endian, т.к. не считаю неявную типизацию little-endian «чем-то хорошим», да и в моей среде разработки big-endian является нативным.
Бинарные протоколы (не все, но те, которые я отношу к грамотным) можно разделить на два уровня: уровень контейнера и уровень данных. На плечи первого уровня ложится ответственность за целостность и достоверность передачи данных, а так же за доступность обнаружения сообщения в байтовом потоке, и, само собой, за хранение в себе сообщения уровня данных. Второй уровень должен содержать информацию, ради которой всё сетевое взаимодействие и затевалось, в удобном для обработки формате. Его структура в основном зависит от решаемых задач, но и по нему есть общие рекомендации (о которых ниже).

Размеры сообщений (дискретных пакетов байт, которые можно обрабатывать независимо от предыдущих и последующих принимаемых данных) бывают фиксированными и переменными . Понятно, что с фиксированным размером сообщений всё проще - вычитается, начиная с заголовка (о нём позже), определенное количество байт и отправляется на обработку. Зачастую, для обеспечения гибкости, составители таких протоколов включают в сообщение область фиксированного размера (иногда до 80% от общего объема), зарезервированное под модификации нынешнего протокола. На мой взгляд, это не самый эффективный путь обеспечения гибкости, зато избыточность появляется еще какая.
Рассмотрим сообщения переменной длины.
Тут уже можно подробней поговорить о непременном атрибуте бинарного сообщения в любом протоколе - о заголовке (Это вышеупомянутый уровень контейнера).
Обычно заголовки начинаются с константной части, позволяющей, с определенной вероятностью обнаружить начало сообщения в непрерывном байтовом потоке. Очевидно, что имеется риск появления такой константы в произвольном потоке байт, и, хотя увеличение объема этот риск снижает (я встречал константы вида 0123456789VASIA9876543210), целесообразней использовать проверки на основе подсчета контрольной суммы .
За константой обычно следует номер версии протокола, который дает нам понять, в каком формате должно происходить дальнейшее считывание (и имеем ли мы вообще возможность обработать это сообщение - вдруг такая версия нам неизвестна). Следующая важная часть заголовка: информация о самом содержимом контейнера. Указывается тип содержимого (по факту, тот же номер версии протокола для уровня данных), его длина и контрольная сумма. Имея эту информацию, можно уже без проблем и опасений считать содержимое и приступить к его разбору.
Но не прямо сразу! Заголовок должна заключать контрольная сумма его самого (исключая из расчета конечно саму контрольную сумму) - только так мы можем быть уверены в том, что считали только что не белиберду, а валидный заголовок, за которым следуют предназначенные нам данные. Не совпала контрольная сумма? Придётся искать следующее начало нового заголовка дальше по потоку…

Представим, что мы дошли до этапа, что получили наконец неискаженное сообщение уровня данных. Его структура зависит от той области задач той системы, в которой реализован ваш сетевой обмен, однако в общем виде у сообщения тоже бывает быть свой заголовочек , содержащий информацию о типе сообщения. Можно различить как общую специфику сообщения, (например «Запрос Set», «Утвердительный Ответ на Set», «Отрицательный Ответ на Set», «Запрос Get», «Ответ Get», «Потоковое сообщение»), так и конкретную область применение сообщения. Попробую привести пример с потолка:
Тип запроса: Запрос Set (0x01)
Идентификатор модуля-адресата сообщения: PowerSupplyModule (0x0A)
Идентификатор группы сообщений: UPS Management (0x02)
Идентификатор типа сообщения: Reboot (0x01)
Дальше тело сообщения может содержать информацию об адресе ИБП, который Модуль управления энергообеспечением должен перезагрузить, через сколько секунд это сделать и т.п.
На это сообщение мы рассчитываем получить ответное сообщение с типом запроса «Утвердительный Ответ» и последующими 0x0A0201 в заголовке.
Конечно, такое подробное описание типа сообщения может быть избыточным когда межсетевое взаимодействие не предусматривает большого числа команд, так что формировать структуру сообщения надо исходя из требований ТЗ.
Так же будет полезно, если сообщение с «Отрицательным Ответом» будет содержать код ошибки, из-за которой не удалось ответить на команду утвердительно.

Заканчивая своё повествование, добавлю, что тема взаимодействия приложений весьма обширна и порою холиворна(что по факту означает, что в ней нет технологии «серебряной пули»), и отмечу, что те взгляды, что я излагаю, являются лишь компиляцией из опыта по работе с отечественными и зарубежными коллегами. Спасибо за внимание!

upd.
Имел удовольствие пообщаться с критиком своей статьи, и теперь прихожу к осознанию, что я осветил вопрос со своей если можно так выразиться, «байтолюбской», точки зрения. Конечно, раз идет курс на универсальность обработки хранения и передачи данных, то в таком ключе символьные протоколы (в первую очередь говорю об XML) могут дать фору любым другим решениям. Но относительно попытки повсеместного их применения позволю себе процитировать Вирта:
Инструмент должен соответствовать задаче. Если инструмент не соответствует задаче, нужно придумать новый, который бы ей соответствовал, а не пытаться приспособить уже имеющийся.

Информационные ресурсы в Интернете

  • протоколы передачи данных, Адресация в сети, URL
  • Web-страницы и Web-узлы, порталы. Web - пространство.
  • Создание Web-страниц. Языки Web-публикаций.

· Публикации сайтов в Интернете. Представительство

Простое подключение одного компьютера к другому - шаг, необходимый для создания сети, но не достаточный. Чтобы начать передавать информацию между компьютерами, нужно, что бы компьютеры «понимали» друг друга. Исходя из этой естественной необходимости, миру компьютеров потребовался единый язык (то есть протокол ), который был бы понятен каждому из них.

Протокол - это совокупность правил, в соответствии с которыми происходит передача информации через сеть .

Существуют два типа протоколов:

· Базовый (TCP/IP), отвечающий за физическую пересылку электронных сообщений;

· Прикладные , отвечающие за работу специализированных служб Интернет (http, ftp, telnet и т.д.)

Базовый протокол

Протокол - это особый язык общения между компьютерами, разработанный программистами. Базовый протокол в сети Интернет - это TCP/IP (Transmission Control Protocol & Internet Protocol ) (протокол контроля передачи + Интернет-протокол).

Все компьютеры, подключенные к сети Интернет, понимают и поддерживают этот протокол. Протокол TCP/IP служит для разбиения информации на части (пакеты) - и передачи их по линиям связи . Все эти операции протокол выполняет автоматически, без участия пользователя. На самом деле TCP/IP состоит их двух компонентов - TCP и IP , и включает в себя также массу других протоколов.

Протокол IP (Internet protocol) - это протокол маршрутизации (доставляет информацию по назначению).

Этот протокол включает правила налаживания и поддержания связи в сети, правила обращения с IP-пакетами и их обработки, описания сетевых пакетов семейства IP (их структура и т. п.).

Протокол TCP (Transmission Control Protocol) - это транспортный протокол (управляет передачей данных).

Кратко

Данные, предназначенные для пересылки. Разбиваются протоколом TCP на отдельные части –пакеты. Каждый пакет имеет свой порядковый номер и адрес , по которому необходимо доставить информацию. Пакеты могут идти разными маршрутами, но в конце пути обязательно соединяются в одно целое с помощью протокола TCP. Если какой-то пакет отсутствует (потерялся) или дошел с искажениями, то он пересылается заново.

Подробно

Протокол TCP занимается проблемой пересылки больших объемов информации, основываясь на возможностях протокола IP.

TCP делит информацию , которую надо переслать, на несколько частей . Нумерует каждую часть , чтобы позже восстановить порядок . Чтобы пересылать эту нумерацию вместе с данными, он кладет каждый кусочек информации в конверт, который содержит соответствующую информацию. Это и есть TCP-конверт. Получившийся TCP-пакет помещается в отдельный IP-конверт и получается IP-пакет, с которым сеть уже умеет обращаться.

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

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

Таким образом, протокол TCP обеспечивает гарантированную доставку с установлением логического соединения в виде байтовых потоков.

Прикладные протоколы

Для работы прикладных программ, таких как программы электронной почты , требуется не только правильно упаковать информацию в пакеты и отправить их, но и необходимо четко договориться о содержимом этих пакетов, а также о процедуре обмена пакетами. Так, например, для получения письма необходимо предъявить пароль обладателя почтового ящика, а это уже целая последовательность действий. Таким образом, необходимы и другие протоколы.

Название протокола Расшифровка Назначение

· HTTP (Hyper Text Transfer Protocol) – Протокол передачи гипертекста

· FTP (File Transfer Protocol) – протокол передачи файлов

· SMTP (Simple Mail Transfer Protocol) – Простой протокол отправки электронных писем

· POP3 (Post Office Protocol) – Протокол получения электронных писем

· NNTP (News Net Transfer Protocol) – Протокол телеконференций

· TELNET – Протокол для подключения к удаленному компьютеру

· WAIS (Wide-Area Information Servers) – протокол поиска информации в базах данных

· WAP (Wireless Application Protocol) – протокол предоставления доступа к службам Интернета пользователям беспроводных устройств

Документационное обеспечение управления

Контрольная

Вариант 4

1. Протокол, виды протоколов, особенности оформления 4

2. Обработка отправляемой корреспонденции 9

3. Оформить акт списания имущества 11

4. Составить докладную записку 12

Библиографический список 14

1. Протокол, виды протоколов, особенности оформления

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

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

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

Основные виды протокола:

    Краткий протокол - фиксирует обсуждавшиеся на заседании вопросы, фамилии докладчиков и принятые решения. Его рекомендуется вести в тех случаях, когда заседание носит оперативный характер.

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

    Стенографический протокол составляется на основе стенографического отчета о заседании (стенограммы) и дословно передает процесс обсуждения каждого вопроса и выработку решения по нему.

Протоколы оформляются на бланках организации и содержат следующие реквизиты: наименование организации, наименование вида документа, дата заседания, номер протокола, место составления протокола (место проведения заседания), заголовок к тексту, текст, подписи, визы ознакомления. Заголовок к тексту протокола – это название протоколируемого мероприятия (совещание, заседание, собрание) и наименование коллегиального органа, работа которого протоколируется.

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

Информация о руководителе совещания, секретаре и присутствовавших включает фамилии и инициалы должностных лиц, указываемые соответственно после слов: «Председатель», «Секретарь», «Присутствовали» (без кавычек). Для лиц, дополнительно приглашенных на совещание из числа сотрудников организации, помимо фамилии и инициалов указывается занимаемая должность, а для специалистов из других организаций - должность и название организации. Сведения о приглашенных на совещание лицах можно включать в раздел «Присутствовали» или в специальный раздел «Приглашенные».

На таких коллективных мероприятиях, как собрания, нередко присутствует большое количество участников, перечисление которых во вводной части текста протокола нецелесообразно. В этом случае составляется отдельный список присутствовавших на собрании, прилагаемый в дальнейшем к протоколу.

В самом протоколе в разделе «Присутствовали» указывается только общее количество присутствовавших со ссылкой на прилагаемый список. Следует подчеркнуть, что разделы «Присутствовали» и «Приглашенные» имеют особое значение по отношению к другим разделам протокола, так как непосредственно влияют на юридическую силу данного документа, показывая правомерность проведения коллективного мероприятия. В этих разделах отражается наличие кворума собрания, т.е. минимально необходимого количества членов коллегиального органа, достаточного для начала работы собрания (заседания, совещания). При отсутствии нормативно установленного для данного коллегиального органа кворума (простое большинство или 2/3) проведение собрания недопустимо, так как его решения будут неправомерны. Слова «Председатель», «Секретарь», «Присутствовали», «Приглашенные» печатаются от нулевого положения печатающего устройства, от 2-го положения ставят тире, фамилии пишут в именительном падеже, затем ставят инициалы. Фамилии присутствующих и приглашенных располагают в алфавитном порядке и печатают через 1 межстрочный интервал.

Рассмотренные на совещании вопросы перечисляются в разделе ПОВЕСТКА ДНЯ. Слова ПОВЕСТКА ДНЯ печатают от нулевого положения печатающего устройства, после них ставится двоеточие. Вопросы повестки дня нумеруются. Каждый новый вопрос печатают от 1-го положения табулятора. Последовательность расположения вопросов определяется степенью их важности. Формулировка вопросов повестки дня должна начинаться с предлогов о (об), наименование должности и фамилию докладчика дают в родительном падеже. Основная часть текста протокола строится в соответствии с вопросами повестки дня. Построение записи обсуждения каждого вопроса повестки дня осуществляется по схеме: СЛУШАЛИ ВЫСТУПИЛИ ПОСТАНОВИЛИ (РЕШИЛИ). Эти слова печатают прописными буквами. Перед словом СЛУШАЛИ ставят номер вопроса повестки дня, после двоеточие. Фамилию докладчика печатают в именительном падеже от 1-го положения печатающего устройства; после фамилии ставят инициалы, затем тире и с прописной буквы пишут содержание доклада в форме прямой речи. Если текст доклада (выступления) застенографирован или представлен докладчиком в письменной форме, то после тире также с прописной буквы пишут «Доклад прилагается» (в протоколе без кавычек).

Обсуждению доклада могут предшествовать вопросы к докладчику, которые вместе с ответами включаются в раздел СЛУШАЛИ. Перед записью каждого вопроса указываются инициалы, фамилия и должность его автора и ставится тире. Содержание вопроса записывается с прописной буквы в форме прямой речи. Перед формулировкой ответа пишется слово «Ответ» (в протоколе без кавычек), ставится тире и записывается ответ в форме прямой речи. Ход обсуждения доклада отражается в разделе ВЫСТУПИЛИ. После слова ВЫСТУПИЛИ ставится двоеточие. Фамилию выступающего пишут в именительном падеже от 1го положения печатающего устройства, затем указывают инициалы и должность выступающего, ставят тире и с прописной буквы печатают содержание выступления в форме косвенной речи.

Принятые решения содержатся в разделе ПОСТАНОВИЛИ (РЕШИЛИ). Если решений несколько, они нумеруются арабскими цифрами с точкой. Как правило, каждое решение сопровождается указанием должности, фамилии и инициалов ответственного за его выполнение и содержит срок исполнения. Принимаемые коллегиально решения нередко требуют голосования. В этом случае после раздела ПОСТАНОВИЛИ указывается: «Голосование» или «Голосовали» (в протоколе без кавычек) и приводятся результаты голосования: единогласно или за..., против..., воздержались...

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

    все реквизиты заголовочной части протокола: наименование организации, наименование вида документа (ВЫПИСКА ИЗ ПРОТОКОЛА), дату (дата заседания), номер протокола (порядковый номер заседания), место составления (место проведения заседания);

    заголовок к тексту;

    все реквизиты вводной части текста протокола: «Председатель», «Секретарь», «Присутствовали», «Приглашенные», «ПОВЕСТКА ДНЯ»;

    отдельные реквизиты основной части текста протокола: «СЛУШАЛИ», «ПОСТАНОВИЛИ», «Голосование»;

    реквизиты оформляющей части протокола: реквизит «Подпись», включающей слова «Председатель», «Секретарь», инициалы и фамилии председателя и секретаря (без их личных подписей т.к. выписки, как правило, не подписываются подлинными подписями, а заверяются секретарем); отметку о заверении копии.

Таким образом, из содержательной части протокола берутся только те элементы, которые необходимо довести до сведения заинтересованных должностных лиц. Для подтверждения установленных фактов и событий несколькими лицами составляется акт. Акты составляются по результатам ревизий деятельности предприятия или его структурного подразделения и отдельных должностных лиц, при приеме-передаче дел, подготовке документов к уничтожению, приеме объектов в эксплуатацию .