Конфликт между PPP-соединениями в Windows 7
Я использую COM-порты для подключения к некоторому оборудованию. Я настраиваю соединения RAS для различных COM-портов. Если я подключаюсь к одному устройству за раз, я могу общаться с этим устройством через сокет TCP/IP. Когда я устанавливаю второе соединение, используя вторую последовательную линию, к другому устройству, ОС сообщает, что соединение было успешно установлено. Однако, если я пытаюсь открыть сокет через это соединение, то это не удается. Когда я пытаюсь пропинговать аппаратные устройства, я обнаруживаю, что не могу связаться ни с первым из второго устройства. Если я теперь отключу первое соединение RAS, я могу теперь открыть сокет для второго устройства.
Windows XP не разделяет эту проблему. Если я иду по тому же сценарию с XP, я могу успешно открыть сокеты для обоих устройств одновременно.
Поведение зависит от связей. Некоторые соединения кажутся независимыми. Я могу открыть от 2 до 3 "независимых" подключений, а затем столкнуться с проблемой при следующем подключении. Когда это происходит, последнее соединение приведет к сбою некоторых из предыдущих соединений. Снова сбой соединения и перестанет отвечать на пинг. Удаление Когда любое из этих подключений удаленного доступа отключено, его пара снова будет работать.
Я не вижу шаблонов в IP-адресах "парных" соединений.
Например, соединение RAS с 192.168.245.141 не будет работать с соединением RAS 192.168.245.116, но будет работать с соединением с IP-адресом 192.168.245.113.
Я посмотрел на свойства соединений и сделал ipconfig /all и не вижу значительных отличий от XP. Единственное небольшое отличие состоит в том, что XP показывает стандартный физический адрес.
Для Windows 7 вывод ipconfig /all для адаптера:
PPP адаптер PROACTIV на COM17:
DNS-суффикс для конкретного подключения.:
Описание.,,,,,,,,,,: PROACTIV на COM17
Физический адрес.,,,,,,,,:
DHCP включен.,,,,,,,,,,: Нет
Автоконфигурация включена.,,,: Да
IPv4-адрес.,,,,,,,,,,: 192.168.245.141(предпочтительно)
Маска подсети.,,,,,,,,,,: 255.255.255.255
Шлюз по умолчанию.,,,,,,,,:
NetBIOS через Tcpip.,,,,,,,: Инвалид
Для XP это
PPP адаптер PROACTIV на COM17:
DNS-суффикс для конкретного подключения.:
Описание.,,,,,,,,,,: WAN (PPP/SLIP) интерфейс
Физический адрес.,,,,,,,,: 00-53-45-00-00-00
DHCP включен.,,,,,,,,,,: Нет
Айпи адрес.,,,,,,,,,,,: 192.168.245.141
Маска подсети.,,,,,,,,,,: 255.255.255.255
Шлюз по умолчанию.,,,,,,,,:
NetBIOS через Tcpip.,,,,,,,: Инвалид
Буду признателен за любую помощь.
Рассел
1 ответ
После дальнейшего изучения причина проблемы, по-видимому, заключается в том, что Windows 7 добавляет только половину записей в таблицу маршрутизации и, в частности, пропускает маршрут от адаптера PPP к устройству на другом конце канала.
Я обнаружил, что соединения PPP работают, если я вручную запускаю команду
добавление маршрута 192.168.245.dd 192.168.245.pp
где 192.168.245.dd - IP-адрес устройства
и 192.168.245.pp - IP-адрес адаптера PPP.
Эта запись автоматически появляется в таблице маршрутизации для XP, когда соединение установлено, но не для Windows 7.
Рассел