
- •Стандартные стеки коммуникационных протоколов
- •Стек osi
- •Стек ipx/spx
- •Стек NetBios/smb
- •Стек tcp/ip
- •Уровни стека tcp/ip
- •Физический уровень
- •Канальный уровень
- •Сетевой уровень
- •Транспортный уровень
- •Свойства
- •Пакет (датаграмма)
- •Версия 4 (iPv4)
- •Заголовок сегмента tcp
- •Порт источника
- •Порт назначения
- •Tcp-порты
- •Номер последовательности
- •Номер подтверждения
- •Смещение данных
- •Зарезервировано
- •Флаги (управляющие биты)
- •Псевдозаголовок
- •Контрольная сумма
- •Указатель важности
- •Механизм действия протокола
- •Состояния сеанса tcp
- •Установка соединения
- •Передача данных
- •Завершение соединения
- •Известные проблемы Максимальный размер сегмента
- •Обнаружение ошибок при передаче данных
- •Атаки на протокол
- •Освобождение от расчёта контрольной суммы
- •Состав udp-датаграммы
- •Максимальная длина данных
- •Псевдозаголовок
- •Расчёт контрольной суммы
- •Интерфейс протокола ip
- •Использование
- •Описание
- •История и развитие
- •Применение
- •Основные цели протокола в порядке приоритетности
- •Аутентификация и обмен ключами
- •Анонимный обмен ключами
- •Обмен ключами при использовании rsa и аутентификация
- •Обмен ключами при использовании Diffie-Hellman и аутентификация
- •Протокол записи (Record Layer)
- •Протокол рукопожатия (handshake)
- •Протокол изменения параметров шифрования (The Change Cipher Spec Protocol)
- •Протокол тревоги (Alert Protocol)
- •Протокол приложения (Application Data Protocol)
- •Ошибки в протоколе ssl
- •Раскрытие шифров
- •Злоумышленник посередине
- •Атака отклика
- •Атака против протокола рукопожатия
Обнаружение ошибок при передаче данных
Хотя протокол осуществляет проверку контрольной суммы по каждому сегменту, используемый алгоритм считается слабым. Так в 2008 году не обнаруженная сетевыми средствами ошибка в передаче одного бита, привела к остановке серверов системы AmazonWebServices.
В общем случае распределенным сетевым приложениям рекомендуется использовать дополнительные программные средства для гарантирования целостности передаваемой информации.
Атаки на протокол
Недостатки протокола проявляются в успешных теоретических и практических атаках, при которых злоумышленник может получить доступ к передаваемым данным, выдать себя за другую сторону или привести систему в нерабочее состояние.
Освобождение от расчёта контрольной суммы
Многие реализации стека TCP/IP предоставляют возможности использования аппаратной поддержки для автоматического расчёта контрольной суммы в сетевом адаптере до передачи в сеть или после приёма из сети для верификации. Это может освобождать операционную систему от использования ценных тактов процессора при вычислении контрольной суммы.
Эта функция может приводить к тому, что анализаторы трафика, перехватывающие исходящие пакеты до их передачи в сетевой адаптер и не знающие о делегировании расчёта контрольной суммы сетевому адаптеру, могут сообщать об ошибке контрольной суммы в исходящих пакетах.
UDP
UDP(англ.User Datagram Protocol— протокол пользовательскихдейтаграмм) — этотранспортный протоколдля передачи данных в сетяхIPбез установления соединения. Он является одним из самых простых протоколовтранспортного уровнямодели OSI. ЕгоIP-идентификатор — 0x11.
В отличие от TCP, UDP не подтверждает доставку данных, не заботится о корректном порядке доставки и не делает повторов. Поэтому аббревиатуру UDP иногда расшифровывают какUnreliable Datagram Protocol(протокол ненадёжных датаграмм). Зато отсутствие соединения, дополнительного трафика и возможность широковещательных рассылок делают его удобным для применений, где малы потери, в массовых рассылках локальной подсети, в медиапротоколах и т.п.
|
Состав udp-датаграммы
Первые 64 бита(8байт)датаграммыпредставляют собой UDP-заголовок, остальные биты — данные сообщения:
Биты |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
0-31 |
Порт отправителя (Source port) |
Порт получателя (Destination port) | ||||||||||||||||||||||||||||||
32-63 |
Длина датаграммы (Length) |
Контрольная сумма (Checksum) | ||||||||||||||||||||||||||||||
64-... |
Данные (Data) |
Значение поля «длина датаграммы» указывает на длину всегоUDP-сообщения, то есть включая и UDP-заголовок. Измеряется в октетах (байтах).
Максимальная длина данных
Для вычисления максимальной длины данных в UDP-сообщении при передаче в IP сетях необходимо учесть, что UDP-сообщение в свою очередь является содержимым области данных IP-сообщения. Максимальная длина IP-сообщения (с учетом заголовка) равна65535октетов. Потому максимальная длина UDP-сообщения (за вычетом минимального IP-заголовка) равна65535 − 20 = 65515октетов. Длина заголовка UDP-сообщения равна 8 октетам, следовательно, максимальная длина данных в UDP-сообщении равна65515 − 8 = 65507октетов. На практике нерационально использовать максимальную величину IP пакета, так как такой размер превышаетMTUосновных протоколов канального уровня, и следовательно требует фрагментации IP пакета, поэтому обычно используется размер, соотнесенный с MTU используемого канального протокола.
Октеты |
IP-сообщение | |||||||||
65535 |
20 |
Минимальный IP-заголовок | ||||||||
65515 |
Данные IP-сообщения:
|