TEvg-2> Я знаю как работает телефон (аналоговый) и телевизор (ч.б и ПАЛ-СЕКАМ). Могу сказать что они намного проще маршрутизации в инете.
Это ты не дал себе труда разобраться в алгоритме маршрутизации, который на паскале выражается в пару десотков строк. В двух словах, берётся destiantion address, в таблице адресов ищется подходящий вход, по нему выбирает gateway и туда шлётся. Выбор происходит так. Таблица адресов выглядит как:
code text
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.23.4.1 10.23.4.115 10
10.23.4.0 255.255.254.0 10.23.4.115 10.23.4.115 10
10.23.4.115 255.255.255.255 127.0.0.1 127.0.0.1 10
10.255.255.255 255.255.255.255 10.23.4.115 10.23.4.115 10
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
224.0.0.0 240.0.0.0 10.23.4.115 10.23.4.115 10
255.255.255.255 255.255.255.255 10.23.4.115 10.23.4.115 1
Default Gateway: 10.23.4.1
===========================================================================
Берётся destination address, берётся маска, маска накладывается на адрес путём двоичного OR, после это сравнивается с Network destination. Если совпало, то запоминаем, и идём к следующему. И так через всю табличку. После этого из всех найденых строк выбираем ту, у которой маска самая длинная (больше всего единиц). Если их несколько, то выбираем ту, у которой метрика меньше. Если метрики одинаковы, то любая строка хороша. Здесь зависит от того, как имплементаторы решат. Если ничего не нашли, то проверяем есть ли default gateway, если он есть то фигачим туда. Default Gateway опция очень интересная и известна, как создающая проблему black hole на backbone. Поэтому мировой backbone работает без default gateways.
Очевидно, что, если отсортировать табличку нужным образом (по длине масок, метрике, адресу), то можно остановиться на первом найденом.
Поэтому проблем с маршрутизацией нет — она очень быстрая. Проблемы возникают при использовании протоколов маршрутизации:
1. Интеренет — это граф с циклами. Значит, если передавать обновления, то очень важно не попасть в такие циклы. Если попал, то количество передаваемой информации растёт лавинообразно.
2. Интернет управляется меньшими компаниями. Поэтому на технические правила накладываются политики и соглашения. Т.е. то, как инфа распространяется внутри и снаружи, определяются разными "законами". Скажем, если взять такой протокол, как OSPF, то он сам находит циклы, сам обнаруживает падения и перестраивает маршруты, чтобы управляемая им сеть оставалась рабочей. При это время, за которое всё это делается, очень небольшое. Но при это он плюёт на то, как два админа могут договориться. Поэтому было введено понятие Autonomous Systems (система под одним юридическим лицом) и граничные протоколы типа BGP (сегодня работает BGP-4). При его дизайне учли предыдущие ошибки и сделали расширяемым, поэтому на него сейчас лепять всё, что угодно. Тот же MPLS прилепили добавлнеием нескольких атрибутов. В BGP уже есть понятия транзитного трафика (на самом деле, это не протокольные вещи, просто протокол поддерживает такие вещи). И уже на уровне AS определяются такие вещи, как чей трафик ты будешь принимать (другая AS), чей транзитить, кому отдавать свой. BGP обменивается таблицами маршрутов так, как их должна видеть AS, т.е. там и укрупнение, и сокрытие (если нет транзита для какой-то системы, но ты к ней подсоединён). Точки соединения разных систем для BGP уже определяются соглашениями (политиками) между юридическими лицами. Весь трафик, который не обозначен этими соглашениями просто отвергается и в твою AS не попадает. И тут, поскольку всё определяется людьми и ими же правится, всё намного медленнее. Поэтому падение раутера, который border не может быть автоматически восстановлено к другому AS товарищу.
3. Есть и другие проблемы разного математического и человеческого характера, но они обычно разбираются теми, кто в этом деле профессионально заинтересован.
TEvg-2> Я из казахстана с 10 тырканий еле заходил на авябазу, на маил.ру или яндекс. На базе это обсуждали - куча народу попадала. Пакеты не шли, хотя сами серваки и компы юзеров работали.
И? Заходил же. Ну и у них в своих сетях всё работало. Более того, можно было ходить и через загнаницу, просто для кого-то дорого, кто-то не знает как. Ещё и леность провайдеров. А так протоколы сами умеют обнаруживать такие дурки и менять маршруты находу.