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

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

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

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

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

3
задан 30 December 2016 в 07:54
1 ответ

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

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

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

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

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

1
ответ дан 3 December 2019 в 07:23

Теги

Похожие вопросы