4. Формат пакетов EAP
В этом разделе описан формат пакетов EAP. Поля передаются, начиная с левого на рисунках.
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Code | Identifier | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data ... +-+-+-+-+
- Code
- Однооктетное поле Code показывает тип пакета EAP и может принимать значения:
- 1 Request — запрос
- 2 Response — отклик
- 3 Success — успех
- 4 Failure — отказ
- Поскольку в EAP определены только коды 1-4, пакеты EAP с другими значениями кода должны отбрасываться обеими сторонами без уведомелния.
- Identifier
- Однооктетное поле Identifier используется для обеспечения соответствия между запросами и откликами.
- Length
- Двухоктетное поле Length показывает размер (в октетах) пакета EAP с учетом полей Code, Identifier, Length и Data. Октеты, выходящие за пределы указанного размера, следует трактовать, как заполнение канального уровня — на приеме эти данные должны игнорироваться. Сообщения, в которых значение поля Length превышает размер полученного пакета, должны отбрасываться без уведомления.
- Data
- Поле Data имеет размер 0 или более октетов. Формат поля зависит от типа пакета (значения поля Code).