Читаем TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) полностью

Принимающая система TCP сообщает своему партнеру, сколько данных было передано правильно, посредством выдачи подтверждения (acknowledgment — ACK). Если подтверждение пересылки сегмента не будет получено за заданный интервал времени, TCP производит повторную пересылку этого сегмента. Такая стратегия называется повторной трансляцией с положительным подтверждением (retransmission with positive acknowledgment). Иногда повторная пересылка приводит к дублированию доставленных на принимающую систему сегментов.

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

Поскольку одна сторона отправляет данные, а другая их принимает, TCP можно назвать полнодуплексным (full-duplex) протоколом: обе стороны соединения могут одновременно посылать и принимать данные (т.е. присутствуют два потока данных). TCP одновременно выполняет роли передатчика и приемника.

<p>3.7 Архитектура UDP</p>

UDP реализуется на хостах. Протокол не обеспечивает целостности доставки данных, поскольку эта функция возлагается на обменивающиеся данными приложения. Именно они проверяют целостность доставляемых данных.

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

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

<p>3.8 Концепция безопасности</p>

TCP/IP успешно обслуживает открытые соединения между компьютерами локальных, региональных, а также глобальных сетей. Однако к соединениям стали предъявляться требования обеспечения безопасности.

Базовые концепции безопасности в сетевом окружении подобны аналогичным концепциям для центрального хоста:

■ Аутентификация пользователей

■ Целостность (гарантия отсутствия изменения данных)

■ Конфиденциальность (защита от нежелательного раскрытия информации)

<p>3.8.1 Аутентификация</p>

Важным аспектом компьютерной безопасности является выяснение "кто есть кто". Ранее это определяли идентификатор и пароль пользователя. Аналогичным образом в поле "From:" сообщения электронной почты идентифицируется отправитель. Однако пароль может быть перехвачен любителем подслушивать в сети, и сообщение электронной почты может быть фальсифицировано.

Если речь идет о пересылке серьезных транзакций в сетях TCP/IP, то требуется способ для надежной идентификации отправителя. Процесс проверки на авторство называется аутентификацией (authentication, дословно: проверка подлинности. — Прим. пер.).

<p>3.8.2 Технология формирования резюме сообщения</p>

Простой, но эффективный способ технологии аутентификации основан на резюме сообщения (message digest). Как показано на рис. 3.8, такое резюме вычисляется по содержимому сообщения с помощью секретного ключа. В настоящее время наиболее распространен алгоритм Message Digest 5 (MD5), который был разработан Рональдом Ривестом (см. RFC 1321).

Рис. 3.8. Использование резюме сообщения.

Взаимное исследование (challenge handshake) иллюстрирует один из способов применения резюме сообщения. Как и при обычной аутентификации, пользователю присваивается пароль, регистрируемый на хосте. Однако этот пароль уже не пересылается по сети. Вместо этого настольная система выполняет вычисление по алгоритму MD5, используя пароль и секретный ключ (ключ шифрования. — Прим. пер.). Как показано на рис. 3.9:

1. Пользователь посылает на хост свой идентификатор.

2. Хост посылает пользователю сообщение со случайным содержимым.

3. Хост и настольная система пользователя выполняют вычисления по алгоритму MD5 для сообщения от хоста и секретного пароля пользователя.

4. Система пользователя отсылает ответ хосту.

5. Хост сравнивает ответ. Если ответ верен, пользователь аутентифицируется.

Рис. 3.9. Использование MD5 при взаимном исследовании

<p>3.8.3 Целостность сообщения</p>

MD5 и совместно используемые секретные ключи можно применять для определения изменений в данных при их пересылке по сети. Рассмотрим рис. 3.10:

1. Вычисление MD5 выполняется над данными с помощью секретного ключа.

2. Данные и полученное сообщение посылаются партнеру.

3. Партнер выполняет вычисление MD5 над полученными данными и известным секретным ключом.

4. Партнер сравнивает полученный результат с соответствующим резюме сообщения. При совпадении считается, что данные не изменились.

Перейти на страницу:

Похожие книги