Опубликован: 28.09.2007 | Уровень: специалист | Доступ: платный
Лекция 3:

Протокол передачи команд и сообщений об ошибках (ICMP). Протоколы DCCP и TFRC

Инициация и разрыв соединения

Любое соединение DCCP предполагает формирование DCCP сокетов в пассивном состоянии прослушивания. Активной стороной считается клиент, а роль пассивной стороны выполняет сервер.

Характеристики

DCCP имеет встроенный механизм согласования параметров соединения, такой, как активные CCID для обоих полусоединений (см. рис. 3.12). Опции Change, Prefer и Confirm служат для согласования параметров. Change посылается с целью изменения определенного параметра. Адресат может откликнуться, послав Prefer, где попросит партнера заменить значение параметра, или может изменить значение параметра и послать подтверждение Confirm. Надежность установления параметров обеспечивается повторной передачей, если это потребуется.

Пакеты DCCP

Протокол DCCP использует девять различных типов пакетов: DCCP-Request, DCCP-Response, DCCP-Data, DCCP-Ack, DCCP-DataAck, DCCP-CloseReq, DCCP-Close, DCCP-Reset, и DCCP-Move. Длина пакета DCCP варьируется в пределах от 12 до 1020 байт. Алгоритм формирования и разрыва DCCP соединения подразумевает следующие обмены.

DCCP-Request

Посылается клиентом для инициализации соединения (первый шаг трехходовой процедуры).

DCCP-Response

Посылается сервером в ответ на запрос DCCPRequest (второй этап трехшаговой процедуры инициации соединения).

DCCP-Data

Используется для передачи прикладных данных.

DCCP-Ack

Используется для передачи только подтверждений.

DCCP-DataAck

Используется для передачи прикладных данных в сочетании с подтверждениями.

DCCP-CloseReq

Посылается сервером для предложения клиенту закрыть соединение.

DCCP-Close

Используется клиентом или сервером для закрытия соединения; также для запуска процедуры сброса (DCCPReset).

DCCP-Reset

Используется для закрытия соединения, обычным или необычным образом.

DCCP-Sync, DCCP-SyncAck

Используется для ресинхронизации номеров пакетов после длительного периода потерь.

Процедура взаимодействия партнеров включает в себя следующие обмены.

  1. Клиент посылает серверу пакет DCCP-Request, специфицируя номера портов клиента и сервера, запрашиваемый сервис, и любые параметры, подлежащие согласованию, включая CCID, который должен использовать сервер при работе с клиентом. Клиент может опционно подключать к пакету DCCP-Request некоторые данные.
  2. Сервер посылает клиенту пакет-отклик, уведомляя его о своем желании осуществить обмен данными. В отклике указываются любые особенности и опции, которые предлагает сервер. Опционно отклик может содержать Init Cookie.
  3. Клиент посылает серверу пакет DCCP-Ack, который подтверждает получение пакета DCCP-отклика.
  4. Далее следуют обмен нулем или более подтверждениями DCCP-Ack, если требуется завершить согласование используемых параметров.
  5. Сервер и клиент обмениваются пакетами DCCP-Data, DCCP-Ack. Если у клиента нет данных, тогда сервер посылает пакеты DCCP-Data и DCCP-DataAck, в то время как клиент будет посылать только DCCP-Acks.
  6. Сервер посылает пакет DCCP-CloseReq, запрашивая закрытие соединения.
  7. Клиент посылает пакет DCCP-Close, подтверждая закрытие.
  8. Сервер посылает пакет DCCP-Reset, в котором поле причина содержит "Closed", при этом состояние соединения ликвидируется.
  9. Клиент получает пакет DCCP-Reset и сохраняет свое состояние в течение некоторого времени для завершения происходящих обменов.
Каролина Попович
Каролина Попович
Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Татьяна Крыжановская
Татьяна Крыжановская
Украина, Одесса
Valeriya Gubareva
Valeriya Gubareva
Россия