L10-Сети (tcp v2)
.pdfУстановление соединения
как формируется начальный номер последовательности (ISN)?
Между парой устройств (парой составных адресов) возможны многократные соединения.
Следовательно в сети допустимы IP-пакеты с вложенными в них TCP-сегментами уже закрытых соединений
Значит старые TCP-сегменты могут попасть в поток данных новых соединений
Для предотвращения этих случаев применяется
специальный механизм генерации начального номера последовательности (ISN), который передается в поле SN совместно с флагом SYN в фазе установления соединения
ISN формируется из 32-разрядного счетчика времени, значение которого увеличивается на 1
каждые 4 мкс (RFC793)
Полный цикл счетчика 4,55 часа и предполагается, что время жизни любого сегмента в сети не превышает эту величину
© Masich G.F. 18.11.2013 |
ТСР |
32 |
Установление соединения
Трехкратное рукопожатие
1.A B SYN, ISN_A
2.B A ACK, ISN_A+1
3.B A SYN, ISN_B
4.A B ACK, ISN_B + 1
А
1.A B SYN, ISN_A
2.B A (SYN, ISN_B) + (ACK, ISN_A+1)
3.A B ACK, ISN_B+1
B
Пояснения:
B -> A - Система B
передает системе A сегмент, содержащий:
(SYN, ISN_B)
означает SYN=1, SN=ISN_B
(ACK, ISN_A+1)
означает ACK=1, AckN=ISN_A
© Masich G.F. 18.11.2013 |
ТСР |
33 |
Фаза «Передача данных»
© Masich G.F. 18.11.2013 |
ТСР |
34 |
Фаза «Передача данных»
Нумерация сегментов и подтверждений
© Masich G.F. 18.11.2013 |
ТСР |
35 |
Фаза «Передача данных»
“Совокупное” подтверждение
© Masich G.F. 18.11.2013 |
ТСР |
36 |
Фаза «Передача данных»
TCP дубликаты, потеря оригинала (старый TCP)
© Masich G.F. 18.11.2013 |
ТСР |
37 |
Фаза «Передача данных»
TCP-дубликаты Ack (новый TCP)
© Masich G.F. 18.11.2013 |
ТСР |
38 |
Фаза «Передача данных»
TCP-дубликаты, запоздавший оригинал
© Masich G.F. 18.11.2013 |
ТСР |
39 |
Фаза «Передача данных»
TCP-дубликаты, потеря Ack
© Masich G.F. 18.11.2013 |
ТСР |
40 |
Фаза «Расторжение соединения»
© Masich G.F. 18.11.2013 |
ТСР |
41 |