10.8.4 Выбор начального порядкового номера

10.8.4 Выбор начального порядкового номера

Спецификация TCP предполагает, что во время установки соединения каждая из сторон выбирает начальный порядковый номер (по текущему значению 32-разрядного внутреннего таймера). Как это выполняется?

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

Поэтому другая сторона в самом конце соединения может не знать о том, что ее партнер прошел через крах и его работа затем была восстановлена. Все это приведет к серьезным сбоям в работе, особенно когда проходит долгое время, пока старые данные не пройдут по сети и не смешаются с данными от вновь созданного соединения. Выбор по таймеру старта с обновлением (fresh start) позволяет исключить подобные проблемы. Старые данные будут иметь иную нумерацию, чем диапазон порядковых номеров нового соединения. Хакеры при фальсификации IP-адреса источника для доверительного хоста пытаются получить доступ к компьютерам с помощью указания в сообщении предсказуемого начального порядкового номера. Криптографическая функция хеширования на основе внутренних ключей служит лучшим способом для выбора защищенных начальных номеров.

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

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

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

ТЕМА НОМЕРА: На том стоим

Из книги Журнал «Компьютерра» №32 от 06 сентября 2005 года автора Журнал «Компьютерра»

ТЕМА НОМЕРА: На том стоим Всемирная сеть Internet существует с 1961 года. И уже в те времена начались эксперименты по индексированию и выборке данных, но удовлетворительные результаты появились далеко не сразу. Только в 1991 году Поль Линдер (Paul Linder) и Марк П. Маккэхил (Mark P. McCahill) из


Компьютерра №33 (605) Тема номера: Выставки ТЕМА НОМЕРА SIGGRAPH 2005

Из книги Журнал «Компьютерра» №33 от 13 сентября 2005 года автора Журнал «Компьютерра»

Компьютерра №33 (605) Тема номера: Выставки ТЕМА НОМЕРА SIGGRAPH 2005 В начале августа в Лос-Анджелесе прошла выставка SIGGRAPH 2005. Полное название этого мероприятия звучит следующим образом: 32-я Международная конференция по компьютерной графике и интерактивным технологиям


ТЕМА НОМЕРА:

Из книги Журнал «Компьютерра» № 8 от 28 февраля 2006 года автора Журнал «Компьютерра»

ТЕМА НОМЕРА: Авторы: Константин Курбатов, Дмитрий ЖмурковМногие слышали словосочетание — баннерная сеть. В самом простом (классическом) виде она функционирует следующим образом: веб-мастер добавляет в базу баннерообменной [Специалисты разделяют термины «баннерная


ТЕМА НОМЕРА: ООО «Гугл»

Из книги Журнал «Компьютерра» № 11 от 21 марта 2006 года автора Журнал «Компьютерра»

ТЕМА НОМЕРА: ООО «Гугл» Автор: Михаил Левин levinmike@gmail.comПоследние полгода Google пользовался повышенным вниманием российской прессы, из которой можно было узнать, что Google примет участие в строительстве технопарка в Санкт-Петербурге, а по окончании строительства наймет три


ТЕМА НОМЕРА: 9:45 P.M.

Из книги Журнал «Компьютерра» № 12 от 28 марта 2006 года автора Журнал «Компьютерра»

ТЕМА НОМЕРА: 9:45 P.M. Автор: Владимир ГуриевИнформационное цунами, вызванное объявлением Origami [Я поэт, зовусь я Цветик, извините, если кого обидел], отодвинуло ноутбуки на второй план. На выставке их было довольно много, однако посетителя трудно удивить лэптопом, и даже


2.2.1. Понимание концепции начального уровня

Из книги Модель зрелости процессов разработки программного обеспечения автора Паулк Марк

2.2.1. Понимание концепции начального уровня Хотя для организаций уровня 1 обычно характерны специально создаваемые и даже хаотические процессы, они, несмотря на выход за рамки бюджета и графика, часто разрабатывают вполне функциональные продукты. Успех для организаций


ТЕМА НОМЕРА: Zensuriert!

Из книги Журнал "Компьютерра" №715-716 автора Журнал «Компьютерра»

ТЕМА НОМЕРА: Zensuriert! Автор: Владимир ГуриевНаши постоянные читатели наверняка помнят прошлогоднюю тему номера, в которой мы, силами редакции, подводили итоги 2006 года. В этот раз мы решили подвести итоги в расширенном составе и попросили "поделиться своими итогами"


1.7.2 Присвоенные номера

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

1.7.2 Присвоенные номера Сетевые параметры, специальные сетевые адреса, имена служб и стандартные идентификаторы терминалов либо компьютерных систем перечислены в RFC с именем Assigned Numbers (присвоенные номера).Присвоенные номера Интернета администрируются организацией


7.9. Определение порядкового номера дня в году

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

7.9. Определение порядкового номера дня в году Порядковый номер дня в году иногда еще называют юлианской датой, хотя это не имеет прямого отношения к юлианскому календарю, давно вышедшему из употребления. Многие считают, что такое название неправильно, поэтому мы им больше


Использование начального узла

Из книги Фундаментальные алгоритмы и структуры данных в Delphi автора Бакнелл Джулиан М.

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


Использование начального и конечного узлов

Из книги Программирование для Linux. Профессиональный подход автора Митчелл Марк

Использование начального и конечного узлов Для односвязного списка было показано, что наличие начального узла существенно упрощало операции вставки и удаления. Соответствующий случай для двухсвязного списка - наличие двух фиктивных узлов: начального и конечного. Они


6.2. Номера устройств

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

6.2. Номера устройств ОС Linux идентифицирует устройства двумя числами: старшим номером устройства и младшим номером устройства. Старший номер указывает на то, какой драйвер соответствует устройству. Соответствие между старшими номерами устройств и драйверами жестко


2.9. Номера портов

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

2.9. Номера портов В любой момент времени каждый транспортный протокол (UDP, TCP, SCRIPT) может использоваться несколькими процессами. Все три протокола различают эти процессы при помощи 16-разрядных целых чисел — номеров портов (port numbers).Когда клиент хочет соединиться с сервером,