10.11.1 Тайм-аут

10.11.1 Тайм-аут

Работа партнера по соединению может завершиться крахом либо полностью прерваться вследствие неисправности шлюза или связи. Чтобы предотвратить повторную пересылку данных в TCP, существует несколько механизмов.

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

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

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

8.3.2 Внутренние системные тайм-ауты

Из книги Архитектура операционной системы UNIX автора Бах Морис Дж

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


Тайм-менеджмент с помощью HTC HD mini Глеб Архангельский

Из книги Цифровой журнал «Компьютерра» № 39 [18.10.2010 — 24.10.2010] автора Журнал «Компьютерра»

Тайм-менеджмент с помощью HTC HD mini Глеб Архангельский Опубликовано 21 октября 2010 года Эта статья для тех, для кого смартфон, как и для меня — практически часть тела, причём в первую очередь — рабочий инструмент, и в последнюю — предмет любования и


16.5. Тайм-аут и повторная передача

Из книги UNIX: взаимодействие процессов автора Стивенс Уильям Ричард

16.5. Тайм-аут и повторная передача Рассмотрим стратегию обработки тайм-аутов и повторной передачи, используемую в средствах Sun RPC. Существуют два значения тайм-аутов:1. Общий тайм-аут определяет время ожидания ответа сервера клиентом. Это значение используется протоколами


6.14.5 Тайм-аут сборки датаграммы

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

6.14.5 Тайм-аут сборки датаграммы Рассмотрим следующую последовательность событий:? Пересылается датаграмма.? Пославший ее процесс аварийно завершается.? Датаграмма фрагментируется при пересылке.? По пути следования теряется один из фрагментов.При потере отправленного


10.13.5 Тайм-аут повторной пересылки

Из книги Тайм-менеджмент для системных администраторов автора Лимончелли Томас

10.13.5 Тайм-аут повторной пересылки После отправки сегмента TCP устанавливает таймер и отслеживает поступление ACK. Если ACK не получен в течение периода тайм-аута, TCP выполняет повторную пересылку сегмента (ретрансляцию). Однако каким должен быть период тайм-аута?Если он


1 Принципы тайм-менеджмента

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

1 Принципы тайм-менеджмента Погодите! Прежде чем начать, давайте кое-что сделаем для уверенности, что мы действительно закончим.Я прекрасно понимаю, что вы как системный администратор постоянно подвергаетесь прерываниям. То телефон зазвонит, то клиент[1] обратится с


Трудности тайм-менеджмента

Из книги Введение в QNX/Neutrino 2. Руководство по программированию приложений реального времени в QNX Realtime Platform автора Кёртен Роб

Трудности тайм-менеджмента Вот теперь можно начинать!Тайм-менеджмент труден для сисадминов в первую очередь потому, что нашу работу постоянно прерывают. Как довести дело до конца, если нам все время приходится бросать его, чтобы устранить проблему или ответить на вопрос,


Принципы тайм-менеджмента для системных администраторов

Из книги UNIX: разработка сетевых приложений автора Стивенс Уильям Ричард

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


Тайм-ауты ядра

Из книги автора

Тайм-ауты ядра QNX/Neutrino позволяет вам получать тайм-ауты по всем блокированным состояниям. Мы обсуждали эти состояния в главе «Процессы и потоки» в разделе «Состояния потоков». Наиболее часто у вас может возникнуть потребность в этом при обмене сообщениями: клиент,


Тайм-ауты ядра и функция pthread_join()

Из книги автора

Тайм-ауты ядра и функция pthread_join() Самый простой пример для рассмотрения — это использование тайм-аута с функцией pthread_join(). Вот как это можно было бы сделать:/* * tt1.c*/#include <stdio.h>#include <pthread.h>#include <inttypes.h>#include <errno.h>#include <sys/neutrino.h>#define SEC_NSEC 1000000000LL // В одной


14.2. Тайм-ауты сокета

Из книги автора

14.2. Тайм-ауты сокета Существует три способа установки тайм-аута для операции ввода-вывода через сокет.1. Вызов функции alarm, которая генерирует сигнал SIGALRM, когда истекает заданное время. Это подразумевает обработку сигналов, которая может варьироваться от одной


Тайм-аут для функции connect (сигнал SIGALRM)

Из книги автора

Тайм-аут для функции connect (сигнал SIGALRM) В листинге 14.1[1] показана наша функция connect_timeo, вызывающая функцию connect с ограничением по времени, заданным вызывающим процессом. Первые три аргумента — это аргументы, которых требует функция connect, а четвертый — это длительность


Тайм-аут для функции recvfrom (сигнал SIGALRM)

Из книги автора

Тайм-аут для функции recvfrom (сигнал SIGALRM) В листинге 14.2 показана новая версия функции dg_cli, приведенной в листинге 8.4, в которую добавлен вызов функции alarm для прерывания функции recvfrom при отсутствии ответа в течение 5 с.Листинг 14.2. Функция dg_cli, в которой при установке тайм-аута


Тайм-аут для функции recvfrom (функция select)

Из книги автора

Тайм-аут для функции recvfrom (функция select) Мы демонстрируем вторую технологию для установки тайм-аута (использование функции select) в листинге 14.3. Здесь показана наша функция readable_timeo, которая ждет, когда дескриптор станет готов для чтения, но не более заданного числа