Маршрутизатор [a] — это компьютерное и сетевое устройство , которое пересылает пакеты данных между компьютерными сетями , включая объединенные сети , такие как глобальный Интернет . [2] [3] [4]
Маршрутизатор подключен к двум или более линиям передачи данных из разных IP-сетей . Когда пакет данных поступает на линию, маршрутизатор считывает информацию о сетевом адресе в заголовке пакета, чтобы определить конечный пункт назначения. Затем, используя информацию в своей таблице маршрутизации или политике маршрутизации , он направляет пакет в следующую сеть на своем пути. Пакеты данных пересылаются от одного маршрутизатора к другому через объединенную сеть , пока не достигнут узла назначения . [5]
Наиболее распространенным типом IP-маршрутизаторов являются домашние и небольшие офисные маршрутизаторы , которые пересылают IP-пакеты между домашними компьютерами и Интернетом. Более сложные маршрутизаторы, такие как корпоративные маршрутизаторы, соединяют крупные сети предприятий или интернет-провайдеров с мощными центральными маршрутизаторами , которые пересылают данные на высокой скорости по оптоволоконным линиям магистральной сети Интернета .
Маршрутизаторы могут быть построены из стандартных компьютерных деталей, но в основном это специализированные компьютеры специального назначения . Ранние маршрутизаторы использовали программную пересылку, работающую на ЦП . Более сложные устройства используют специализированные интегральные схемы (ASIC) для повышения производительности или добавления расширенных функций фильтрации и брандмауэра .
Когда несколько маршрутизаторов используются в взаимосвязанных сетях, маршрутизаторы могут обмениваться информацией об адресах назначения с помощью протокола маршрутизации . Каждый маршрутизатор создает таблицу маршрутизации , список маршрутов, между двумя компьютерными системами в взаимосвязанных сетях. [6] [7]
Программное обеспечение, управляющее маршрутизатором, состоит из двух функциональных процессоров, работающих одновременно, называемых плоскостями : [8]
Маршрутизатор может иметь интерфейсы для нескольких типов соединений физического уровня , таких как медные кабели, оптоволокно или беспроводная передача. Он также может поддерживать несколько стандартов передачи сетевого уровня . Каждый сетевой интерфейс используется для обеспечения пересылки пакетов данных из одной системы передачи в другую. Маршрутизаторы также могут использоваться для соединения двух или более логических групп компьютерных устройств, известных как подсети , каждая из которых имеет уникальный сетевой префикс .
Маршрутизаторы могут обеспечивать связь внутри предприятий, между предприятиями и Интернетом или между сетями поставщиков интернет-услуг (ISP), они также отвечают за направление данных между различными сетями. [9] Крупнейшие маршрутизаторы (такие как Cisco CRS-1 или Juniper PTX) соединяют различных поставщиков интернет-услуг или могут использоваться в крупных корпоративных сетях. [10] Меньшие маршрутизаторы обычно обеспечивают связь для типичных домашних и офисных сетей.
Все размеры маршрутизаторов могут быть найдены внутри предприятий. [11] Самые мощные маршрутизаторы обычно находятся у интернет-провайдеров, академических и исследовательских учреждений. Крупным предприятиям также могут потребоваться более мощные маршрутизаторы, чтобы справиться с постоянно растущими требованиями трафика данных интрасети . Иерархическая модель межсетевого взаимодействия для соединения маршрутизаторов в больших сетях является общепринятой. [12] Некоторые маршрутизаторы могут подключаться к сервисным блокам данных для соединений T1 [13] [14] [15] через последовательные порты. [16] [17]
Иерархическая модель межсетевого взаимодействия делит корпоративные сети на три уровня: ядро, распределение и доступ.
Маршрутизаторы доступа, включая модели для малого офиса/домашнего офиса (SOHO), располагаются дома и на объектах клиентов, таких как филиалы, которым не нужна собственная иерархическая маршрутизация . Обычно они оптимизированы для низкой стоимости. Некоторые маршрутизаторы SOHO способны работать с альтернативными бесплатными прошивками на базе Linux, такими как Tomato , OpenWrt или DD-WRT . [18]
Распределительные маршрутизаторы объединяют трафик с нескольких маршрутизаторов доступа. Распределительные маршрутизаторы часто отвечают за обеспечение качества обслуживания в глобальной сети (WAN), поэтому они могут иметь значительный объем установленной памяти, несколько интерфейсных подключений WAN и существенные встроенные процедуры обработки данных. Они также могут обеспечивать подключение к группам файловых серверов или другим внешним сетям. [19]
На предприятиях основной маршрутизатор может обеспечить свернутый магистраль , соединяющий маршрутизаторы уровня распределения из нескольких зданий кампуса или крупных корпоративных локаций. Они, как правило, оптимизированы для высокой пропускной способности, но не обладают некоторыми функциями периферийных маршрутизаторов. [20]
Внешние сети должны быть тщательно рассмотрены как часть общей стратегии безопасности локальной сети. Маршрутизатор может включать брандмауэр , обработку VPN и другие функции безопасности, или они могут обрабатываться отдельными устройствами. Маршрутизаторы также обычно выполняют трансляцию сетевых адресов , которая ограничивает соединения, инициированные из внешних соединений, но не признается всеми экспертами как функция безопасности. [21] Некоторые эксперты утверждают, что маршрутизаторы с открытым исходным кодом более безопасны и надежны, чем маршрутизаторы с закрытым исходным кодом , поскольку ошибки и потенциально эксплуатируемые уязвимости с большей вероятностью будут обнаружены и устранены в среде с открытым исходным кодом. [22] [23]
Маршрутизаторы также часто различаются на основе сети, в которой они работают. Маршрутизатор в локальной сети (LAN) одной организации называется внутренним маршрутизатором . Маршрутизатор, который работает в магистральной сети Интернет , описывается как внешний маршрутизатор . В то время как маршрутизатор, который соединяет LAN с Интернетом или глобальной сетью (WAN), называется пограничным маршрутизатором или шлюзовым маршрутизатором . [24]
Маршрутизаторы, предназначенные для подключения к интернет-провайдерам и крупным предприятиям, обычно обмениваются маршрутной информацией с использованием протокола BGP (Border Gateway Protocol ). RFC 4098 определяет типы маршрутизаторов BGP в соответствии с их функциями: [25]
Маршрутизаторы Wi-Fi объединяют функции маршрутизатора с функциями беспроводной точки доступа . Обычно это устройства с малым форм-фактором, работающие от стандартного источника питания для бытового использования. Подключенные к Интернету, как это предлагается поставщиком услуг Интернета , они обеспечивают доступ в Интернет через беспроводную сеть для домашнего или офисного использования.
Концепции коммутационного узла с использованием программного обеспечения и интерфейсного компьютера были впервые предложены Дональдом Дэвисом для сети NPL в 1966 году. [31] [32] [33] Та же идея была задумана Уэсли Кларком в следующем году для использования в ARPANET , которые были названы процессорами интерфейсных сообщений (IMP). [34] Первый интерфейсный компьютер был реализован в Национальной физической лаборатории в Соединенном Королевстве в начале 1969 года, а позднее в том же году за ними последовали IMP в Калифорнийском университете в Лос-Анджелесе , Стэнфордском исследовательском институте , Калифорнийском университете в Санта-Барбаре и Школе вычислительной техники Университета Юты в Соединенных Штатах. [35] [36] [37] [38] Все они были построены на базе Honeywell 516. Эти компьютеры имели принципиально ту же функциональность, что и современный маршрутизатор.
Идея маршрутизатора (в то время называемого шлюзом ) изначально возникла в международной группе исследователей компьютерных сетей, которая называлась Международной сетевой рабочей группой (INWG). [39] Эти шлюзовые устройства отличались от большинства предыдущих схем коммутации пакетов двумя способами. Во-первых, они соединяли разнородные типы сетей, такие как последовательные линии и локальные сети . Во-вторых, они были устройствами без установления соединения , которые не играли никакой роли в обеспечении надежной доставки трафика, полностью оставляя эту функцию хостам . [ 40] Эта конкретная идея, принцип «от конца к концу» , была впервые реализована в сети CYCLADES . [41]
Идея была изучена более подробно с намерением создать прототип системы как часть двух одновременных программ. Одной из них была программа в Xerox PARC по исследованию новых сетевых технологий, которая создала систему PARC Universal Packet . Некоторое время спустя, в начале 1974 года, были введены в эксплуатацию первые маршрутизаторы Xerox. Из-за корпоративных проблем с интеллектуальной собственностью, она привлекала мало внимания за пределами Xerox в течение многих лет. [42] Другая была программа, инициированная DARPA , которая создала архитектуру TCP/IP , используемую сегодня. [43] Первый настоящий маршрутизатор IP был разработан Джинни Трэверс в BBN , как часть усилий, инициированных DARPA, в течение 1975–1976 годов. [44] [45] К концу 1976 года три маршрутизатора на базе PDP-11 работали в экспериментальном прототипе Интернета. [46] Майк Бресиа, Джинни Трэверс и Боб Хинден получили премию IEEE Internet Award за первые IP-маршрутизаторы в 2008 году. [47]
Первые многопротокольные маршрутизаторы были независимо созданы научными сотрудниками MIT и Стэнфорда в 1981 году, и оба они также были основаны на PDP-11. Программу маршрутизаторов Стэнфорда возглавлял Уильям Йегер , а MIT — Ноэль Чиаппа . [48] [49] [50] [51] Практически все сети сейчас используют 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 для исходящего интерфейса, указанного в записи таблицы. Маршрутизатор обычно не просматривает полезную нагрузку пакета, [52] а только адреса уровня 3, чтобы принять решение о пересылке, плюс, возможно, другую информацию в заголовке для подсказок, например, о качестве обслуживания (QoS). Для чистой пересылки IP маршрутизатор разработан так, чтобы минимизировать информацию о состоянии , связанную с отдельными пакетами. [53] После пересылки пакета маршрутизатор не сохраняет никакой исторической информации о пакете. [b]
Таблица маршрутизации сама по себе может содержать информацию, полученную из различных источников, таких как маршруты по умолчанию или статические маршруты , которые настраиваются вручную, или динамические записи из протоколов маршрутизации , где маршрутизатор изучает маршруты от других маршрутизаторов. Маршрут по умолчанию — это тот, который используется для маршрутизации всего трафика, пункт назначения которого иначе не отображается в таблице маршрутизации; он распространен — даже необходим — в небольших сетях, таких как дома или в малом бизнесе, где маршрут по умолчанию просто отправляет весь нелокальный трафик поставщику услуг Интернета . Маршрут по умолчанию может быть настроен вручную (как статический маршрут); изучен протоколами динамической маршрутизации; или получен DHCP . [c] [54]
Маршрутизатор может одновременно запускать более одного протокола маршрутизации, особенно если он служит в качестве пограничного маршрутизатора автономной системы между частями сети, которые используют разные протоколы маршрутизации; если он это делает, то может использоваться перераспределение (обычно выборочно) для обмена информацией между разными протоколами, работающими на одном маршрутизаторе. [55]
Помимо принятия решения о том, на какой интерфейс перенаправить пакет, что в основном обрабатывается через таблицу маршрутизации, маршрутизатор также должен управлять перегрузкой, когда пакеты поступают со скоростью, превышающей скорость обработки маршрутизатором. Три обычно используемые политики — это отбрасывание хвоста , случайное раннее обнаружение (RED) и взвешенное случайное раннее обнаружение (WRED). Отбрасывание хвоста является самой простой и легко реализуемой: маршрутизатор просто отбрасывает новые входящие пакеты, как только буферное пространство в маршрутизаторе исчерпано. RED вероятностно отбрасывает датаграммы рано, когда очередь превышает предварительно настроенную часть буфера, пока не достигнет заранее определенного максимума, когда он отбрасывает все входящие пакеты, таким образом возвращаясь к отбрасыванию хвоста. WRED можно настроить на более быстрое отбрасывание пакетов в зависимости от типа трафика.
Другая функция, которую выполняет маршрутизатор, — это классификация трафика и принятие решения о том, какой пакет должен быть обработан первым. Это управляется с помощью QoS , что имеет решающее значение при развертывании Voice over IP , чтобы не вносить чрезмерную задержку . [56]
Еще одна функция, которую выполняет маршрутизатор, называется маршрутизацией на основе политик , где создаются специальные правила, переопределяющие правила, полученные из таблицы маршрутизации, когда принимается решение о пересылке пакетов. [57]
Некоторые функции могут быть выполнены через специализированную интегральную схему (ASIC), чтобы избежать накладных расходов на планирование времени ЦП для обработки пакетов. Другие функции могут быть выполнены через ЦП, поскольку эти пакеты требуют особого внимания, которое не может быть обработано ASIC. [58]
Таблицы маршрутизации могут быть созданы вручную и "изучены" программным обеспечением по мере наблюдения за сетевым трафиком, или они могут быть построены в соответствии с
протоколами маршрутизации
.
Затем в июне 1966 г. Дэвис написал вторую внутреннюю статью «Предложение о цифровой сети связи», в которой он ввел слово «пакет» — небольшую часть сообщения, которое пользователь хочет отправить, а также ввел концепцию интерфейсного
компьютера
, который должен располагаться между пользовательским оборудованием и пакетной сетью.
статья от июня 1966 года ... представила концепцию «интерфейсного компьютера», который должен располагаться между пользовательским оборудованием и пакетной сетью.
Первая сеть с коммутацией пакетов была реализована в Национальной физической лаборатории в Соединенном Королевстве. За ней быстро последовала ARPANET в 1969 году.
Система впервые была запущена в эксплуатацию в начале 1969 года.
Леонард Клейнрок: Дональд Дэвис ... сделал одноузловой пакетный коммутатор до того, как это сделала ARPA
INWG#1: Отчет подгруппы 1 по требованиям к системам связи Дэвиса, Шэнкса, Харта, Баркера, Депре, Детвайлера и Римла. Они написали: "Было решено, что взаимодействие между сетями с коммутацией пакетов не должно усложнять работу хостов, учитывая, что сети, вероятно, будут отличаться, и, следовательно, потребуются шлюзы между сетями. Эти шлюзы должны быть максимально простыми, при этом предоставляя как можно больше свободы для проектирования отдельных сетей". INWG#1 разъяснила, что шлюзы и простота были принятыми концепциями, когда была сформирована INWG.
{{cite web}}
: CS1 maint: бот: исходный статус URL неизвестен ( ссылка )