RFC: 4340
Оригинал: Datagram Congestion Control Protocol (DCCP)
Категория: Предложенный стандарт
Дата публикации:
Авторы: , ,
Перевод: Николай Малых

6.5. Примеры согласования признаков

На рисунке показаны три примера согласования признаков, связанных с сервером. Два первых примера используются для согласования признака Congestion Control ID, а последний используется для согласования признака Ack Ratio.

           Client                     Server
           ------                     ------
1. Change R(CCID, 2 3 1)  -->
   ("2 3 1" is client's preference list)
2.                        <--  Confirm L(CCID, 3, 3 2 1)
                         (3 is the negotiated value;
                         "3 2 1" is server's pref list)
            * agreement that CCID/Server = 3 *


1.                   XXX  <--  Change L(CCID, 3 2 1)
2.                             Retransmission:
                          <--  Change L(CCID, 3 2 1)
3. Confirm R(CCID, 3, 2 3 1)  -->
            * agreement that CCID/Server = 3 *


1.                        <--  Change L(Ack Ratio, 3)
2. Confirm R(Ack Ratio, 3)  -->
         * agreement that Ack Ratio/Server = 3 *

Следующий пример (см. рисунок) показывает одновременное согласование признаков.

            Client                     Server
            ------                     ------
1a. Change R(CCID, 2 3 1)  -->
 b.                        <--  Change L(CCID, 3 2 1)
2a.                        <--  Confirm L(CCID, 3, 3 2 1)
 b. Confirm R(CCID, 3, 2 3 1)  -->
             * agreement that CCID/Server = 3 *

Ниже описано кодирование байтов для некоторых опций Change и Confirm. Все представленные опции передаются конечной точкой DCCP A.

  • Change L(CCID, 2 3) = 32,5,1,2,3
  • DCCP B следует изменить значение CCID/A (признак 1, правило приоритета сервера); предпочитаемые DCCP A значения признака — 2 и 3, в указанном порядке.
  • Change L(Sequence Window, 1024) = 32,9,3,0,0,0,0,4,0
  • DCCP B следует изменить значение Sequence Window/A (признак 3, без согласования), установив для него 6-байтовую строку 0,0,0,0,4,0 (1024).
  • Confirm L(CCID, 2, 2 3) = 33,6,1,2,2,3
  • DCCP A меняет значение CCID/A на 2; предпочтительными значениями являются 2 и 3 в указанном порядке.
  • Empty Confirm L(126) = 33,3,126
  • DCCP A не поддерживает признак с номером 126 или DCCP B предлагает некорректное значение для признака 126/A.
  • Change R(CCID, 3 2) = 34,5,1,3,2
  • DCCP B следует изменить значение CCID/B; предпочитаемые DCCP A значения — 3 и 2 в указанном порядке.
  • Confirm R(CCID, 2, 3 2) = 35,6,1,2,3,2
  • DCCP A меняет значение CCID/B на 2; предпочтительными значениями являются 3 и 2 в указанном порядке.
  • Confirm R(Sequence Window, 1024) = 35,9,3,0,0,0,0,4,0
  • DCCP A меняет значение Sequence Window/B на 6-байтовую строку 0,0,0,0,4,0 (1024).
  • Empty Confirm R(126) = 35,3,126
  • DCCP A не поддерживает признак с номером 126 или предложенное DCCP B значение признака 126/B некорректно.
2007 - 2017 © Русские переводы RFC, IETF, ISOC.