Назад | Перейти на главную страницу

Как сервер может отслеживать маршрут к клиенту?

Я понимаю, как клиент может отследить маршрут к серверу (используя traceroute или tracert). Но есть ли способ у сервера проследить маршрут к клиенту?

Проблема в том, что у меня есть группа интернет-пользователей, которые живут в отдаленных районах и жалуются на медленный доступ в интернет. Я планирую создать программное обеспечение, которое позволит им легко запускать тест загрузки, а затем сохранять результаты. Мы надеемся, что как только мы соберем разумный объем данных, сможем найти закономерность.

В сочетании с данными загрузки было бы здорово иметь данные трассировки. Я не понимаю, как я могу инициировать это с клиента без написания клиентского программного обеспечения, чего я не хочу делать. Таким образом, я пытаюсь найти механизм, который собирает информацию о маршруте, но инициируется сервером.

Я бы предпочел работать с Linux-сервером.

Вы не хотите этого делать. Не гарантируется, что выполнение трассировки от сервера к клиенту вернет тот же результат, что и один запуск от клиента к серверу.

Маршрут пакета от узла A к узлу B может легко отличаться от маршрута в противоположном направлении.* Точный маршрут любого данного IP-пакета определяется промежуточными маршрутизаторами на пути пакета. Маршрутизатор может иметь несколько маршрутов к сети назначения (например, для резервирования) и волен решать, какой маршрут использовать, исходя из таких факторов, как перегрузка сети, сбойные ссылки и т. Д.

Следовательно, невозможно начать осмысленную трассировку маршрута от A до B. из узла B (т. е. «сервер»), поскольку нет гарантии, что сообщаемый маршрут действительно используется для пакетов, отправленных с узла A на B.

Если сервер действительно должен «инициировать» трассировку от клиента к серверу, сервер должен просто дать команду клиенту запустить трассировку к серверу. Это, конечно, ничем не отличается от того, что на клиенте настроена запланированная или запускаемая команда, выполняющая то же самое.

*Некоторые пакеты, отправленные с узла A на узел B, даже могут идти по различным маршрутам от своих аналогов, хотя на практике этого обычно не происходит в других стабильных сетях.