5. Этап Discovery
Этап обнаружения (Discovery) состоит из 4 частей. По завершении этого этапа оба партнера знают значение идентификатора сессии PPPoE (SESSION_ID) и Ethernet-адрес своего партнера, которые совместно обеспечивают уникальную идентификацию сеансов PPPoE. Процесс обнаружения включает широковещательную передачу хостом пакета Initiation, передачу одним или несколькими концентраторами доступа пакетов Offer, передачу хостом пакета Session Request по индивидуальному (unicast) адресу и передачей выбранным концентратором доступа пакета Confirmation (подтверждение). Когда хост получает пакет Confirmation, он может переходить к этапу PPP Session. Концентратор доступа, передав пакет Confirmation, также может переходить к этапу PPP Session.
Все кадры Ethernet на этапе Discovery имеют значение ETHER_TYPE = 0x8863.
Информационное поле PPPoE может содержать теги (TAG), которые представляют собой триплеты TLV, формат которых показан ниже:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TAG_TYPE | TAG_LENGTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TAG_VALUE ... ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
16-битовое поле TAG_TYPE использует сетевой порядок байтов. Список значений полей TAG_TYPE и TAG_VALUE приведен в Приложении A.
Поле TAG_LENGTH имеет размер 16 битов. Это целое число без знака с сетевым порядком байтов показывает число октетов в поле TAG_VALUE.
Если на этапе обнаружения получен пакет с тегом неизвестного типа, данный тег должен игнорироваться, если в данном документе явно не указано иное. Такое поведение обеспечит обратную совместимость в случае добавления новых тегов. При добавлении новых тегов со статусом обязательных (mandatory) будет изменен номер версии.
Примеры пакетов Discovery приводятся в Приложении B.