Укрощение @Интернет@




Как определить полный путь (прохождение) при скачивании файла Сергей Иванов


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

??? Рисунок "карикатура" Дорога через лес, падает дерево, один человек, символизирующий пакет, успевает под ним проскочить, а второй идет по узкой тропике в обход.

"Мгновенный маршрут" может быть определен утилитой tracert, входящий в штатную поставку Windows.

Принцип ее работы в общих чертах выглядит так: она отправляет серию дейтаграмм на несуществующий порт по адресу, указанному в командной строке. Значение поля TTL (Time To Live – см. "Оптимизация соединения с Интернет") первой тройки дейтаграмм равно одному. Все три дейтаграммы "прибиваются" первым же маршрутизатором, поскольку он, уменьшив содержимое поля TTL на единицу, обнаруживает, что оно равно нулю, т.е. срок жизни пакета истек и пакет надлежит уничтожить, уведомив об этом отправителя. А, посылая отправителю "похоронку", маршрутизатор тем самым раскрывает свой IP-адрес!

Затем tracert посылает вторую серию дейтаграмм со значением TTL равным двум и их "прибивает" второй маршрутизатор в цепочке… так, поле TTL продолжает увеличиваться до тех пор, пока пакет не достигнет точки назначения.

А как tracert узнает, что пакет достиг точки назначения? Очень просто – конечный узел сам уведомляет об этом, посылая уведомление о невозможности принятия дейтаграммы на несуществующий порт.

Техника трассировки не свободна от ограничений. Вот некоторые из них

– достаточно часто уведомление об уничтожении пакета идет к отправителю совсем другим путем, нежели исходный пакет. Поэтому, определить точное время пересылки пакета невозможно – оно не всегда равно половине времени задержки с момента отправки дейтаграммы до момента получения уведомления. На практике расхождение составляет 300%-400%, если не больше!




Содержание  Назад  Вперед