Маршрутизатор [a] — это сетевое устройство , которое пересылает пакеты данных между компьютерными сетями . [2] [3] Маршрутизаторы выполняют функции направления трафика между сетями и в глобальной сети Интернет . Данные, отправляемые через сеть, например через веб-страницу или электронную почту , имеют форму пакетов данных . Пакет обычно пересылается от одного маршрутизатора к другому через сети, составляющие объединенную сеть (например, Интернет), пока не достигнет узла назначения . [4]
Маршрутизатор подключен к двум или более линиям передачи данных из разных IP-сетей . [b] Когда пакет данных поступает по одной из линий, маршрутизатор считывает информацию о сетевом адресе в заголовке пакета, чтобы определить конечный пункт назначения. Затем, используя информацию из своей таблицы маршрутизации или политики маршрутизации , он направляет пакет в следующую сеть на своем пути.
Самый распространенный тип IP-маршрутизаторов — это домашние и небольшие офисные маршрутизаторы , которые просто пересылают IP-пакеты между домашними компьютерами и Интернетом. Более сложные маршрутизаторы, такие как корпоративные маршрутизаторы, соединяют сети крупных предприятий или интернет-провайдеров с мощными базовыми маршрутизаторами , которые пересылают данные на высокой скорости по оптоволоконным линиям магистральной сети Интернет .
Маршрутизаторы могут быть собраны из стандартных компьютерных частей, но в большинстве случаев это специализированные компьютеры . Ранние маршрутизаторы использовали программную переадресацию, работающую на процессоре . В более сложных устройствах используются специализированные интегральные схемы (ASIC) для повышения производительности или добавления расширенных функций фильтрации и брандмауэра .
Когда несколько маршрутизаторов используются во взаимосвязанных сетях, они могут обмениваться информацией об адресах назначения с использованием протокола маршрутизации . Каждый маршрутизатор создает таблицу маршрутизации — список маршрутов между двумя компьютерными системами во взаимосвязанных сетях. [5]
Программное обеспечение, управляющее маршрутизатором, состоит из двух функциональных процессоров, работающих одновременно, называемых плоскостями : [6]
Маршрутизатор может иметь интерфейсы для нескольких типов соединений физического уровня , таких как медные кабели, оптоволокно или беспроводная передача. Он также может поддерживать несколько стандартов передачи сетевого уровня . Каждый сетевой интерфейс используется для пересылки пакетов данных из одной системы передачи в другую. Маршрутизаторы также могут использоваться для соединения двух или более логических групп компьютерных устройств, известных как подсети , каждая из которых имеет уникальный сетевой префикс .
Маршрутизаторы могут обеспечивать соединение внутри предприятий, между предприятиями и Интернетом или между сетями интернет-провайдеров (ISP). Самые крупные маршрутизаторы (такие как Cisco CRS-1 или Juniper PTX) соединяют различных интернет-провайдеров или могут использоваться в крупных корпоративных сетях. [7] Маршрутизаторы меньшего размера обычно обеспечивают подключение к типичным домашним и офисным сетям.
На предприятиях можно найти маршрутизаторы всех размеров. [8] Самые мощные маршрутизаторы обычно встречаются у интернет-провайдеров, академических и исследовательских учреждений. Крупным предприятиям также могут потребоваться более мощные маршрутизаторы, чтобы справиться с постоянно растущими требованиями к трафику данных во внутренней сети . Широко используется иерархическая модель межсетевого взаимодействия для соединения маршрутизаторов в крупных сетях . [9]
Иерархическая модель межсетевого взаимодействия делит корпоративные сети на три уровня: ядро, распределение и доступ.
Маршрутизаторы доступа, в том числе модели для малого/домашнего офиса (SOHO), располагаются дома и на объектах клиентов, например в филиалах, которым не требуется собственная иерархическая маршрутизация . Как правило, они оптимизированы для низкой стоимости. Некоторые маршрутизаторы SOHO способны использовать альтернативные бесплатные прошивки на базе Linux, такие как Tomato , OpenWrt или DD-WRT . [10]
Маршрутизаторы распределения агрегируют трафик от нескольких маршрутизаторов доступа. Маршрутизаторы распределения часто отвечают за обеспечение качества обслуживания в глобальной сети (WAN), поэтому у них может быть установлен значительный объем памяти, несколько подключений к интерфейсу WAN и значительные встроенные процедуры обработки данных. Они также могут обеспечивать подключение к группам файловых серверов или другим внешним сетям. [11]
На предприятиях основной маршрутизатор может обеспечивать объединенную магистраль , соединяющую маршрутизаторы уровня распределения из нескольких зданий кампуса или крупных предприятий. Они, как правило, оптимизированы для высокой пропускной способности, но лишены некоторых функций пограничных маршрутизаторов. [12]
Внешние сети необходимо тщательно рассматривать как часть общей стратегии безопасности локальной сети. Маршрутизатор может включать в себя брандмауэр , обработку VPN и другие функции безопасности, или они могут управляться отдельными устройствами. Маршрутизаторы также обычно выполняют преобразование сетевых адресов , которое ограничивает соединения, инициированные внешними соединениями, но не всеми экспертами признается функцией безопасности. [13] Некоторые эксперты утверждают, что маршрутизаторы с открытым исходным кодом более безопасны и надежны, чем маршрутизаторы с закрытым исходным кодом, поскольку маршрутизаторы с открытым исходным кодом позволяют быстро находить и исправлять ошибки. [14]
Маршрутизаторы также часто различают в зависимости от сети, в которой они работают. Маршрутизатор в локальной сети (LAN) одной организации называется внутренним маршрутизатором . Маршрутизатор, работающий в магистральной сети Интернет , называется внешним маршрутизатором . А маршрутизатор, который соединяет локальную сеть с Интернетом или глобальной сетью (WAN), называется пограничным маршрутизатором или маршрутизатором-шлюзом . [15]
Маршрутизаторы, предназначенные для интернет-провайдеров и крупных предприятий, обычно обмениваются информацией о маршрутизации с использованием протокола пограничного шлюза (BGP). RFC 4098 определяет типы маршрутизаторов BGP в соответствии с их функциями: [16]
Концепция интерфейсного компьютера была впервые предложена Дональдом Дэвисом для сети NPL в 1966 году. [21] Та же идея была предложена Уэсли Кларком в следующем году для использования в ARPANET . [22] Эти компьютеры, получившие название «Процессоры интерфейсных сообщений» (IMP), имели по сути ту же функциональность, что и современный маршрутизатор. Идея маршрутизатора (в то время называемого шлюзом ) первоначально возникла у международной группы исследователей компьютерных сетей, называемой Международной сетевой рабочей группой (INWG). Созданная в 1972 году как неофициальная группа для рассмотрения технических вопросов, связанных с соединением различных сетей, позже в том же году она стала подкомитетом Международной федерации обработки информации . [23] Эти шлюзовые устройства отличались от большинства предыдущих схем коммутации пакетов по двум причинам. Во-первых, они соединили разнородные сети, такие как последовательные линии и локальные сети . Во-вторых, это были устройства без установления соединения , которые не играли роли в обеспечении надежной доставки трафика, оставляя эту функцию полностью хостам . Эта конкретная идея, сквозной принцип , ранее была впервые использована в сети CYCLADES . [24]
Идея была проработана более детально с намерением создать прототип системы в рамках двух одновременных программ. Одной из них была первая программа, инициированная DARPA , которая создала архитектуру TCP/IP , используемую сегодня. [25] Другой была программа Xerox PARC по исследованию новых сетевых технологий, в результате которой была создана система PARC Universal Packet ; из-за проблем с корпоративной интеллектуальной собственностью в течение многих лет ему уделялось мало внимания за пределами Xerox. [26] Спустя некоторое время в начале 1974 года начали работать первые маршрутизаторы Xerox. Первый настоящий IP-маршрутизатор был разработан Джинни Стразисар из BBN в рамках усилий DARPA в 1975–1976 годах. [27] К концу 1976 года три маршрутизатора на базе PDP-11 находились в эксплуатации в экспериментальном прототипе Интернета. [28]
Первые многопротокольные маршрутизаторы были независимо созданы исследователями Массачусетского технологического института и Стэнфорда в 1981 году, и оба они также были основаны на PDP-11. Программу маршрутизаторов в Стэнфорде возглавлял Уильям Йегер , а в Массачусетском технологическом институте — Ноэль Чиаппа . [29] [30] [31] [32] Практически все сети сейчас используют TCP/IP, но многопротокольные маршрутизаторы все еще производятся. Они были важны на ранних этапах развития компьютерных сетей, когда использовались протоколы, отличные от TCP/IP. Современные маршрутизаторы, поддерживающие как IPv4, так и IPv6, являются многопротокольными, но представляют собой более простые устройства, чем маршрутизаторы, обрабатывающие протоколы AppleTalk, DECnet, IPX и Xerox.
С середины 1970-х по 1980-е годы роль маршрутизаторов выполняли миникомпьютеры общего назначения. Современные высокоскоростные маршрутизаторы представляют собой сетевые процессоры или узкоспециализированные компьютеры с дополнительным аппаратным ускорением, добавленным для ускорения как общих функций маршрутизации, таких как пересылка пакетов, так и специализированных функций, таких как шифрование IPsec . Для исследований и других приложений широко используются машины с программным обеспечением Linux и Unix , на которых работает код маршрутизации с открытым исходным кодом. Операционная система Cisco IOS была разработана независимо. Основные операционные системы маршрутизаторов, такие как Junos и NX-OS , представляют собой сильно модифицированные версии программного обеспечения Unix.
Основная цель маршрутизатора — соединить несколько сетей и пересылать пакеты, предназначенные либо для сетей с прямым подключением, либо для более удаленных сетей. Маршрутизатор считается устройством уровня 3 , поскольку его основное решение о пересылке основано на информации в IP-пакете уровня 3, а именно на IP-адресе назначения. Когда маршрутизатор получает пакет, он просматривает свою таблицу маршрутизации, чтобы найти наилучшее соответствие между IP-адресом назначения пакета и одним из адресов в таблице маршрутизации. Как только совпадение найдено, пакет инкапсулируется в кадр канала передачи данных уровня 2 для исходящего интерфейса, указанного в записи таблицы. Маршрутизатор обычно не анализирует полезную нагрузку пакета [33] , а только адреса уровня 3 для принятия решения о пересылке, а также, при необходимости, другую информацию в заголовке для подсказок, например, о качестве обслуживания (QoS). Для чистой пересылки IP маршрутизатор предназначен для минимизации информации о состоянии , связанной с отдельными пакетами. [34] После пересылки пакета маршрутизатор не сохраняет никакой исторической информации о пакете. [с]
Сама таблица маршрутизации может содержать информацию, полученную из различных источников, например, маршруты по умолчанию или статические маршруты , настроенные вручную, или динамические записи из протоколов маршрутизации , где маршрутизатор изучает маршруты от других маршрутизаторов. Маршрут по умолчанию — это маршрут, который используется для маршрутизации всего трафика, пункт назначения которого иначе не отображается в таблице маршрутизации; это распространено – даже необходимо – в небольших сетях, таких как дома или малые предприятия, где маршрут по умолчанию просто отправляет весь нелокальный трафик поставщику услуг Интернета . Маршрут по умолчанию можно настроить вручную (как статический маршрут); изучается протоколами динамической маршрутизации; или быть полученным по DHCP . [д] [35]
Маршрутизатор может одновременно запускать более одного протокола маршрутизации, особенно если он служит пограничным маршрутизатором автономной системы между частями сети, в которых используются разные протоколы маршрутизации; если это так, то можно использовать перераспределение (обычно выборочно) для обмена информацией между различными протоколами, работающими на одном и том же маршрутизаторе. [36]
Помимо принятия решения о том, на какой интерфейс пересылается пакет, что обрабатывается в первую очередь с помощью таблицы маршрутизации, маршрутизатор также должен управлять перегрузкой, когда пакеты поступают со скоростью, превышающей скорость, которую маршрутизатор может обработать. Обычно используются три политики: отбрасывание хвоста , случайное раннее обнаружение (RED) и взвешенное случайное раннее обнаружение (WRED). Отбрасывание хвоста является самым простым и легко реализуемым: маршрутизатор просто отбрасывает новые входящие пакеты, как только буферное пространство маршрутизатора исчерпано. RED вероятностно отбрасывает дейтаграммы раньше, когда очередь превышает предварительно настроенную часть буфера, до достижения заранее определенного максимума, когда он отбрасывает все входящие пакеты, возвращаясь таким образом к хвостовому отбрасыванию. WRED можно настроить на более легкое отбрасывание пакетов в зависимости от типа трафика.
Другая функция, которую выполняет маршрутизатор, — это классификация трафика и принятие решения, какой пакет следует обработать первым. Это управляется посредством QoS , что очень важно при развертывании передачи голоса по IP , чтобы не создавать чрезмерную задержку . [37]
Еще одна функция, которую выполняет маршрутизатор, называется маршрутизацией на основе политик , при которой создаются специальные правила, которые переопределяют правила, полученные из таблицы маршрутизации, при принятии решения о пересылке пакетов. [38]
Некоторые функции могут выполняться с помощью специализированной интегральной схемы (ASIC), чтобы избежать накладных расходов на планирование времени ЦП для обработки пакетов. Другие, возможно, придется выполнять через ЦП, поскольку эти пакеты требуют особого внимания и не могут быть обработаны ASIC. [39]
Затем, в июне 1966 года, Дэвис написал вторую внутреннюю статью «Предложение по цифровой сети связи», в которой он ввел слово «пакет» — небольшую часть сообщения, которое пользователь хочет отправить, а также представил концепцию интерфейса
. компьютер
, расположенный между пользовательским оборудованием и пакетной сетью.
{{cite web}}
: CS1 maint: bot: исходный статус URL неизвестен ( ссылка )