Davydov Denis писал(а):
Попробуйте поэкспериментировать с параметром MTU в настройках WAN интерфейса. Например, уменьшите его до 1400 - 1300.
К сожалению, всё по прежнему. Что, наверное, не удивильно, поскольку минимальное значение MRU и MTU: 128, а размеры пакетов на стадии подключения не превышают 60 байт.
Но зато я выяснил следующее:
После отсылки броадкаст пакета Инициации PADI, доступные PPP серверы высылают Предложение PADO. Следующим шагом идёт Просьба PADR, в ответ приходит подтверждение Сеанса PADS с номером устанавливаемой сессии. Далее в рамках сессии идёт согласование шифрования, проверка паролей, выдача адресов и т.д.
Касательно меня (клиент pppd 2.4.1), стопор возникает в период первых 4 PADx пакетов. А именно, не всегда приходят PADO и PADS, а если приходят, то в интервале 2 мс после отправки запроса. Поскольку номер сессии не определён, в логе появляется запись:
Код:
Aug 9 12:48:59> System Call Error
Aug 9 12:48:59> Connecting PPPoE socket: 00:00:00:00:00:00 0000 0x1000d3b8
Aug 9 12:48:59> Couldn't get channel number: Transport endpoint is not connected
Aug 9 12:48:59> Doing disconnect
Вот что делает 500й (приведены только пакеты, относящиеся к устройству):
Код:
12:02:08.260001 PPPoE PADI [Host-Uniq 0xB8D30010]
12:02:08.510001 PPPoE PADO [Host-Uniq 0xB8D30010] [Service-Name]
12:02:08.510001 PPPoE PADR [Service-Name] [Host-Uniq 0xB8D30010]
12:02:17.120001 PPPoE PADT [Host-Uniq 0xB8D30010]
12:02:17.450001 PPPoE PADI [Host-Uniq 0xB8D30010]
12:02:23.000001 PPPoE PADT [Host-Uniq 0xB8D30010]
12:02:28.310001 PPPoE PADI [Host-Uniq 0xB8D30010]
12:02:28.320001 PPPoE PADO [Host-Uniq 0xB8D30010] [Service-Name]
12:02:28.330001 PPPoE PADR [Service-Name] [Host-Uniq 0xB8D30010]
12:02:34.540001 PPPoE PADT [Host-Uniq 0xB8D30010]
12:02:36.140001 PPPoE PADI [Host-Uniq 0xB8D30010]
12:02:44.320001 PPPoE PADT [Host-Uniq 0xB8D30010]
12:02:49.630001 PPPoE PADI [Host-Uniq 0xB8D30010]
12:02:49.640001 PPPoE PADO [Host-Uniq 0xB8D30010] [Service-Name]
12:02:49.640001 PPPoE PADR [Service-Name] [Host-Uniq 0xB8D30010]
12:02:58.020001 PPPoE PADT [Host-Uniq 0xB8D30010]
всё такое
12:20:24.530001 PPPoE PADI [Service-Name] [Host-Uniq 0xB8D30010]
12:20:34.530001 PPPoE PADI [Service-Name] [Host-Uniq 0xB8D30010]
12:20:34.550001 PPPoE PADO [Service-Name] [Host-Uniq 0xB8D30010]
12:20:34.550001 PPPoE PADR [Service-Name] [Host-Uniq 0xB8D30010]
12:20:51.660001 PPPoE PADR [Service-Name] [Host-Uniq 0xB8D30010]
12:20:51.680001 PPPoE PADS [Service-Name] [Host-Uniq 0xB8D30010]
12:20:52.000001 PPPoE PADI [Host-Uniq 0xB8D30010]
12:21:02.000001 PPPoE PADI [Service-Name] [Host-Uniq 0xB8D30010]
12:21:02.020001 PPPoE PADO [Service-Name] [Host-Uniq 0xB8D30010]
12:21:02.020001 PPPoE PADR [Service-Name] [Host-Uniq 0xB8D30010]
12:21:12.020001 PPPoE PADR [Service-Name] [Host-Uniq 0xB8D30010]
12:21:12.040001 PPPoE PADS [ses 0x5173] [Service-Name] [Host-Uniq 0xB8D30010]
Очень долго он решается на повторную отправку... Или закрывает сессию PADT.
А вот виндовый клиент, к примеру, не получив ответа через 5 сек. повторно отсылает последние данные и логинится с первой попытки.
Davydov Denis писал(а):
В DSL-500T присутствует стандартный (отвечающий всем рекомендациям rfc2516) PPPoE клиент.
А вот отрывок из RFC 2516:
Цитата:
8. Other Considerations
When a host does not receive a PADO packet within a specified amount of time, it SHOULD resend it's PADI packet and double the waiting period. This is repeated as many times as desired. If the Host is waiting to receive a PADS packet, a similar timeout mechanism SHOULD be used, with the Host re-sending the PADR. After a specified number of retries, the Host SHOULD then resend a PADI packet.
Кажется так:
8. Другие Соображения
Когда хост не получает пакет PADO в пределах определенного времени, он ДОЛЖЕН передать повторно пакет PADI и удвоить период ожидания. Это повторяется так много раз как захочет. Если хост ожидает получения пакета PADS, аналогичный механизм тайм-аута ДОЛЖЕН быть использован, с перепосылкой PADR. После определенного количества повторных попыток, хост ДОЛЖЕН затем передать повторно пакет PADI.
Провайдер, став монополистом в своём деле, либо не особо хочет решать проблемы своих клиентов, либо, как они отвечают: ничего не знаем, ставьте в бридж и работайте через ОС. Это для меня не приемлимо.
По сему возникают следующие вопросы:
1. По интерфейсу nas "влетают" чужие PADI, PADO пакеты, а иногда и сессии PPPoE вцелом. Так должно быть или это отклонение?
2. Я описывал, что все модемы подключаются хорошо, кроме D-Link'ов, но я пользуюсь именно им. Как можно в таком случае "нормально" устанавливать подключение?
3. Кажется столкнулся с этим не один я. И города у нас разные.
http://forum.dlink.ru/viewtopic.php?t=36113