Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Фаза ликвидации соединения




На рис. 6.21 приведен пример этапа ликвидации соединения.

       
 
 
   
Рис. 6.21. Ликвидация TCP-соединения

 


Протокол ТСР реализует процедуру поэтапной ликвидации соединения, независимо в обоих направлениях. Необходимость в закрытии соединения возникает, когда приложение сообщает своему модулю TCP об отсутствии у него данных для отправки (пусть это будет хост А). ТСР-модуль хоста А завершает передачу данных, находящихся в его буфере, ожидает получения подтверждения об их успешном приеме и отправляет хосту Б сегмент с установленным флагом FIN.

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

В примере на рис. 6.21хост А инициализирует процедуру разрыва соединения, отправляя сегмент с флагом FIN. Модуль ТСР хоста Б подтверждает прием этого сегмента и передает извещение о запросе на закрытие соединения своему приложению. Одновременно, располагая данными для хоста А, модуль ТСР хоста Б отправляет сегмент со 150 байтами данных хосту А, и получает подтверждение их приема. Получив от своего приложения подтверждение разрыва соединения протокольный модуль хоста Б отправляет встречный сегмент FIN и получает на него подтверждение. Получив FIN от хоста Б модуль TCP хоста А переходит в состояние ожидания и запускает таймер TIME_WAIT с значением задержки равным удвоенному максимальному времени жизни сегмента. В этот период единственным сегментом, который может прийти хосту А, является повторный сегмент FIN от хоста Б (если соответствующий сегмент ACK от хоста А был утерян). Если такой сегмент приходит, то хост А повторно отсылает сегмент АСК и вновь перезапускает таймер TIME_WAIT. При достижении этим таймером значения нуль, хост А ликвидирует соединение и удаляет запись о нем из таблицы соединений.

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

Протокол ТСР располагает также механизмом срочной ликвидации соединения посредством отправки RST-сегмента. Отправка этого сегмента является реакцией на получение от приложения примитива ABORT, или сегмента, адресованного приложению, которого на данном порте нет. Передающий модуль ТСР, отправив сегмент с флагом RST, уничтожает все данные, находящиеся в его буфере. Приемный модуль ТСР, получив сегмент RST, информирует о ликвидации соединения соответствующий прикладной процесс.





Поделиться с друзьями:


Дата добавления: 2017-01-21; Мы поможем в написании ваших работ!; просмотров: 266 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Что разум человека может постигнуть и во что он может поверить, того он способен достичь © Наполеон Хилл
==> читать все изречения...

2563 - | 2370 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.013 с.