Фрагментация
Уровень записей фрагментирует информационные блоки и превращают их в записи TLSPlaintext, несущие данные в виде последовательностей длиной 214 байтов или меньше. Границы сообщения клиента на уровне записей не сохраняются (т.e., несколько сообщений клиента одного и того же ContentType могут быть объединены в одну запись TLSPlaintext, или одно сообщение может быть фрагментировано).
struct { uint8 major, minor;} ProtocolVersion;
enum | { change_cipher_spec(20), alert(21), handshake(22), |
application_data(23), (255) | |
} ContentType; |
struct { ContentType type;
ProtocolVersion version; | |
uint16 length; | |
opaque fragment[TLSPlaintext.length]; | |
} TLSPlaintext; |
type | Протокол верхнего уровня, использованный для обработки вложенного фрагмента . |
version | Версия примененного протокола. В данном документе описывается TLS версии 1.0, который использует версию { 3, 1 }. Значение версии 3.1 является исторической: TLS версии 1.0 является минимальной модификацией протокола SSL 3.0, который несет значение версии 3.0. (Смотри приложение A.1). |
length | Длина (в байтах) следующего TLSPlaintext.fragment. Длина не должна превосходить 214. |
Fragment | Прикладные данные. Эти данные прозрачны и обрабатываются как независимые блоки, с которыми должен работать протокол верхнего уровня, который специфицирован полем тип. |
Данные различных типов содержимого уровня записей TLS могут перекрываться. Прикладные данные вообще имеют более низкий приоритет при передаче, чем другие типы содержимого.