Я знаю, как компьютеры в локальной сети взаимодействуют друг с другом (все, что связано с Ethernet/MAC-адресом, NAT и т.д.), Но мне интересно, как интернет-маршрутизаторы взаимодействуют? Они подключены к какой-то гигантской локальной сети? Какой протокол используется для доставки пакетов (например, пакетов IP и BGP)?
4 ответа
Маршрутизаторы образуют сетку, своего рода. Каждый из них подключен к нескольким другим (возможно, в локальной сети, но обычно это просто прямое соединение, может быть на большом расстоянии, например, подводный кабель или T-несущая или оптоволоконная связь), и каждый знает, к какому из них он подключен. Каждый маршрутизатор обычно имеет много IP-адресов, по одному на ссылку к другому маршрутизатору.
Маршрутизаторы обычно используют протоколы маршрутизации, которые позволяют им обнаруживать, к чему подключены их соседи (маршрутизаторы, к которым они напрямую подключены). Это IS-IS, BGP, EIGRP, RIP, OSPF и т.д. Они также могут отслеживать это статически; протоколы маршрутизации являются трудоемким устройством, которое позволяет сетевым администраторам автоматизировать обслуживание таблицы маршрутизации в случае изменений (преднамеренных или из-за сбоя). Итак, каждый маршрутизатор подключен к нескольким другим и знает, что находится там, где более или менее. Эту информацию можно разрешить фильтровать через Интернет; Маршрутизаторы будут информировать друг друга также о соседях своих соседей, поэтому можно составить представление обо всем, что доступно в каждом направлении (приблизительно). Маршрутизаторы также отслеживают, как далеко находятся объекты (сколько маршрутизаторов находится между ними и, возможно, насколько быстро путь), чтобы эффективно доставлять пакеты к месту назначения.
Некоторые маршрутизаторы (например, ваш шлюз локальной сети или некоторые маршрутизаторы вашего интернет-провайдера) имеют только пару маршрутов: для локальной сети, для которой они являются шлюзом, и обычно один маршрут по умолчанию для остальной части Интернета (в сетях IPv4 это 0,0. 0.0/0 или "маршрут по умолчанию"). Поэтому они знают, что пакеты, отправляемые в их ЛВС, идут в одном направлении (из интерфейса ЛВС), а пакеты, отправляемые в другое место, идут в другом направлении (через интерфейс WAN).
Другие маршрутизаторы с большим количеством каналов и большим количеством сетей с обеих сторон несколько расширяют эту концепцию. Они будут знать, какие префиксы (часть номера IP-адреса сети, формально) находятся в каждом из нескольких направлений, и отправлять пакеты по этому маршруту (таким образом, их имя). Они передают пакет друг другу таким образом, пока он не достигнет пункта назначения; если это невозможно, есть несколько механизмов, чтобы удалить его и показать, что он был удален.
Итак, ваш пакет попадает к вашему интернет-провайдеру, возможно, через маршрутизатор локальной сети, который знает, через какой интерфейс работает Интернет, и отправляет его таким образом. Каждый последующий маршрутизатор просматривает адрес назначения и определяет, в какую сеть он входит и в каком направлении он идет, согласно таблице маршрутизации; он будет знать, что адреса, начинающиеся с определенного числа, находятся в "направлении" одного конкретного другого интернет-провайдера, и отправляют его таким образом (изменяя информацию уровня 2 на каждом прыжке, чтобы сделать это, поэтому, например, MAC-адрес изменится на каждом прыжке). В конце концов, он достигает маршрутизатора в той же сети, что и хост, к которому вы пытаетесь подключиться, и достигает этого места назначения.
Каждый из этих этапов ретрансляции называется переходом. Вы можете увидеть эту работу, используя утилиту traceroute
(tracert
в Windows), хотя вы можете не увидеть все переходы из-за очень широкого применения фильтрации ICMP.
Протокол TCP/IP, они подключены через WAN-соединения, а не LAN. Протокол маршрутизации - это только тот "язык", на котором говорит ваш маршрутизатор. В базовой сети вы настраиваете один и тот же протокол маршрутизации, чтобы ваши маршрутизаторы могли понимать друг друга, и эти протоколы маршрутизации известны как протоколы внутренних шлюзов. "Язык", используемый в Интернете, называется BGP, он называется протоколом внешнего шлюза.
Да, BGP используется для обмена информацией о маршрутизации между AS. Таким образом, возможность успешной маршрутизации в Интернете. Это происходит с использованием TCP (и, очевидно, IP). Тогда у вас есть IGRP и OSPF, используемые в AS.
Вы ищете IP-переадресацию.
Посмотрите, хотите ли вы попробовать эту короткую презентацию Cisco Routing на YouTube.