Неожиданное первое сообщение EAP в Diameter

Поэтому я рассматривал возможность добавления поддержки Diameter EAP на свой сервер. Прочитав rfc4072 и rfc3748, я был обманут, чтобы иметь общее представление.

Я ожидал, что клиент передаст так называемое EAP-Start сообщение (пустой EAP-Payload AVP) на мой сервер. Я бы ответил правильным запросом EAP на удостоверение (тип 1), а клиент Diameter доставил бы ответ на это в новой полезной нагрузке EAP, а затем цикл продолжился бы.

Однако, когда я просматривал фактические трассировки pcap из freeDiameter (например, this pcap) Я заметил, что 1-й запрос диаметра EAP (№ 6) уже содержит ответ идентификации EAP (!!). Вид обхода начального кругового пути.

Хотя у меня нет огромной проблемы с реализацией этого, я действительно хотел бы знать, соответствует ли это спецификации (EAP-)? Можете ли вы начать транзакцию EAP с ответом с?


person John Fear    schedule 29.08.2014    source источник
comment
От rfc3748: Аутентификатор, получивший ответ, значение идентификатора которого не совпадает со значением идентификатора текущего ожидающего запроса, ДОЛЖЕН молча отклонить ответ. Это заставляет меня думать, что этот pcap нарушает спецификацию.   -  person John Fear    schedule 30.08.2014
comment
rfc4072 (EAP over Diameter) упоминает это поведение в главе 2.2 (Обзор протокола): предпочтительным подходом является то, что устройство доступа выдает сообщение EAP-Request/Identity клиенту EAP и пересылает инкапсулированный пакет EAP-Response/Identity. в EAP-Payload AVP, как Diameter-EAP-Request к серверу Diameter.   -  person John Fear    schedule 14.10.2014
comment
Вы правильно поняли: ТОЛЬКО сервер должен отправлять EAP-start, поэтому клиент ДОЛЖЕН начинать с EAP-ответа. Сервер должен игнорировать несуществующие подключения EAP и отвечать с помощью EAP-Start для ANY_ID_REQ или аналогичного, чтобы клиент мог снова ответить с помощью EAP-ответа (по сути, отправив одно и то же сообщение EAP дважды)   -  person Sergej Srepfler    schedule 05.07.2015


Ответы (1)


Да - на самом деле, это ЕСТЬ в спецификации.

   EAP authentication is initiated by the server (authenticator),
   whereas many authentication protocols are initiated by the client
   (peer).  As a result, it may be necessary for an authentication
   algorithm to add one or two additional messages (at most one
   roundtrip) in order to run over EAP.

Таким образом, вам нужно ЛЮБОЕ сообщение, чтобы запустить сервер для запуска последовательности EAP. Вот почему обычно вы видите одно и то же сообщение дважды.

person Sergej Srepfler    schedule 09.07.2015