Книга: TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
13.9.1 Сигнал синхронизации
13.9.1 Сигнал синхронизации
Для некоторых функций (например, Interrupt Process) включение команды в общий поток данных не приводит к нужным результатам. Когда реальный терминал посылает сигнал прерывания, хост операционной системы получает этот сигнал сразу и быстро останавливает текущее приложение.
Однако, когда telnet работает поверх сеанса TCP, данные доставляются по мере получения. Обычно удаленный сервер telnet последовательно обрабатывает все полученные данные. Может пройти много времени, прежде чем он увидит команду прерывания в поступающем потоке данных.
Клиент хочет быстро обратить внимание сервера на эту команду и должен сообщить ему. "Отбросить все уже буферированные символы, за исключением команд". Для этого клиент посылает серверу специальный сегмент TCP, называемый сигналом синхронизации (Synch signal).
? Такой сегмент маркирован как срочные данные (Urgent Data).
? Сервер будет отбрасывать всю информацию от клиента, за исключением команд, пока не достигнет специального командного кода, называемого меткой данных (Data Mark — DM).
? DM маркирует место, где сервер должен прекратить отбрасывание данных.
Когда поступает сегмент сигнала синхронизации, сервер извлекает из потока данных команды NVT, отбрасывая все остальное, пока не дойдет до Data Mark. Затем он переходит к выполнению извлеченных команд, а далее возобновляется нормальная обработка данных (стоящих после Data Mark).
- Дополнительно о синхронизации
- Пример: использование дескриптора файла в качестве объекта синхронизации
- 7.4. Аналоговые перемножители сигналов
- 15.1.3. Обработка сигналов управления заданиями
- Звуковые сигналы BIOS
- 12.6. Сигналы реального времени
- Классы синхронизации, внедренные в версии .NET Framework 4.0
- Пример: обработчик управляющих сигналов консоли
- 10.6.4. Перехват сигналов: sigaction()
- 7.2.6.3. Системные демоны и традиционные сигналы
- Сигналы и шумы
- 19.7.9. Обработка сигналов и протоколирование