Точный маршрут пакетов неопределим в силу своего непостоянства – пакеты движутся по очень сложной кривой, избегая перегруженных маршрутизаторов и огибая поврежденные участки. Вовсе не факт, что два одновременно посланных пакета дойдут по получателя одним и тем же путем: вот случится посреди дороги сбой – один пакет успеет проскочить, а второй будет вынужден идти в обход.
??? Рисунок "карикатура" Дорога через лес, падает дерево, один человек, символизирующий пакет, успевает под ним проскочить, а второй идет по узкой тропике в обход.
"Мгновенный маршрут" может быть определен утилитой tracert, входящий в штатную поставку Windows.
Принцип ее работы в общих чертах выглядит так: она отправляет серию дейтаграмм на несуществующий порт по адресу, указанному в командной строке. Значение поля TTL (Time To Live – см. "Оптимизация соединения с Интернет") первой тройки дейтаграмм равно одному. Все три дейтаграммы "прибиваются" первым же маршрутизатором, поскольку он, уменьшив содержимое поля TTL на единицу, обнаруживает, что оно равно нулю, т.е. срок жизни пакета истек и пакет надлежит уничтожить, уведомив об этом отправителя. А, посылая отправителю "похоронку", маршрутизатор тем самым раскрывает свой IP-адрес!
Затем tracert посылает вторую серию дейтаграмм со значением TTL равным двум и их "прибивает" второй маршрутизатор в цепочке… так, поле TTL продолжает увеличиваться до тех пор, пока пакет не достигнет точки назначения.
А как tracert узнает, что пакет достиг точки назначения? Очень просто – конечный узел сам уведомляет об этом, посылая уведомление о невозможности принятия дейтаграммы на несуществующий порт.
Техника трассировки не свободна от ограничений. Вот некоторые из них
– достаточно часто уведомление об уничтожении пакета идет к отправителю совсем другим путем, нежели исходный пакет. Поэтому, определить точное время пересылки пакета невозможно – оно не всегда равно половине времени задержки с момента отправки дейтаграммы до момента получения уведомления. На практике расхождение составляет 300%-400%, если не больше!
|
1й замер |
Dt |
2й замер |
Dt |
3й замер |
Dt |
Dt средне |
откл % |
|
|
1 |
140 |
+140 |
130 |
+130 |
140 |
+140 |
+137 |
7% |
|
2 |
151 |
+11 |
140 |
+10 |
150 |
+10 |
+10 |
10% |
|
3 |
171 |
+20 |
160 |
+10 |
170 |
+20 |
+17 |
6% |
|
4 |
161 |
-10 |
160 |
0 |
180 |
+10 |
0 |
--- |
|
5 |
260 |
+99 |
231 |
+71 |
300 |
+120 |
+97 |
70% |
|
6 |
391 |
+131 |
340 |
+109 |
371 |
+71 |
+104 |
50% |
|
7 |
340 |
-51 |
451 |
+111 |
410 |
+39 |
+99 |
112% |
|
8 |
360 |
+20 |
501 |
+50 |
330 |
-80 |
-3 |
--- |
|
9 |
821 |
+461 |
901 |
+400 |
2164 |
– |
+140 |
57% |
|
10 |
441 |
-380 |
320 |
-581 |
341 |
– |
-480 |
20% |