Сетевой уровень и маршрутизация
Сетевой уровень перемещает пакеты от исходного хоста к хосту назначения через множество каналов и сетей, объединяя плоскость данных, которая пересылает каждый пакет на каждом маршрутизаторе, с плоскостью управления, которая вычисляет маршруты, по которым следуют эти пакеты.
Definition
Сетевой уровень — это протокольный уровень, отвечающий за доставку пакетов от хоста к хосту через межсетевое соединение, обеспечивающий адресацию, пересылку пакетов внутри маршрутизаторов (плоскость данных) и определение маршрута по сети (плоскость управления).
Scope
Эта область охватывает межсетевое взаимодействие: протокол IP (Internet Protocol), его адресацию и пересылку; алгоритмы маршрутизации (состояние канала и вектор расстояния), которые вычисляют пути; организацию маршрутизации во внутридоменные и междоменные протоколы (включая BGP между автономными системами); а также более новую парадигму программно-определяемых сетей (SDN), которая отделяет плоскость управления на логически централизованные контроллеры. Она различает плоскость данных, обрабатывающую пакеты, и плоскость управления, вычисляющую маршруты, и исключает вышележащие сквозные службы транспортного уровня и нижележащую пошаговую доставку канального уровня.
Sub-topics
Core questions
- Как маршрутизатор пересылает пакет к месту назначения и что содержится в таблице пересылки?
- Как структурированы и распределяются IP-адреса, и как работают подсети и CIDR?
- Как алгоритмы состояния канала и вектора расстояния вычисляют пути наименьшей стоимости?
- Почему маршрутизация разделена на внутридоменные протоколы и междоменный протокол BGP?
- Как программно-определяемые сети меняют место и способ принятия решений о маршрутизации?
Key concepts
- Протокол IP (Internet Protocol)
- IP-адресация, подсети и CIDR
- таблицы пересылки и совпадение по самому длинному префиксу
- маршрутизация по состоянию канала
- маршрутизация по вектору расстояния
- автономные системы
- Протокол пограничного шлюза (BGP)
- плоскость управления и плоскость данных
- программно-определяемые сети
- преобразование сетевых адресов (NAT)
Key theories
- Разделение плоскости данных и плоскости управления
- Сетевой уровень декомпозируется на быструю плоскость данных, которая пересылает каждый входящий пакет в соответствии с таблицей пересылки, и плоскость управления, которая вычисляет эти таблицы с помощью протоколов маршрутизации; программно-определяемые сети идут дальше, централизуя плоскость управления.
- Маршрутизация по пути наименьшей стоимости
- Алгоритмы маршрутизации моделируют сеть как взвешенный граф и вычисляют кратчайшие пути: алгоритмы состояния канала (Дейкстра) предоставляют каждому маршрутизатору полное представление топологии, в то время как алгоритмы вектора расстояния (Беллман-Форд) обмениваются оценками с соседями и итеративно сходятся.
- Междоменная маршрутизация на основе политик
- Маршрутизация между независимо управляемыми автономными системами регулируется протоколом Border Gateway Protocol, который распространяет информацию о достижимости и позволяет каждой сети применять бизнес- и политические предпочтения, а не чисто метрики кратчайшего пути.
Clinical relevance
Сетевой уровень — это уровень, который делает глобальный Интернет единой доступной системой: каждый пакет, пересекающий Интернет, пересылается IP-маршрутизаторами, а решения BGP среди десятков тысяч автономных систем определяют глобальную связность. Программно-определяемые сети теперь лежат в основе крупных облачных сетей и сетей центров обработки данных, позволяя операторам централизованно программировать управление трафиком и изоляцию. Исчерпание адресов привело к переходу от IPv4 к IPv6.
History
Протокол Internet Protocol был описан в RFC 791 (1981) как безсоединительное, максимально эффективное ядро архитектуры TCP/IP. Внутренние протоколы маршрутизации, такие как RIP и OSPF, и внешний протокол BGP развивались для управления маршрутизацией по мере масштабирования Интернета. Предложение OpenFlow 2008 года положило начало программно-определяемым сетям, предоставив внешний контроллер доступ к таблице пересылки коммутатора, что изменило способы построения и управления крупными сетями.
Debates
- Распределенные плоскости управления против централизованного управления SDN
- Традиционная маршрутизация распределяет вычисление маршрутов по всем маршрутизаторам для обеспечения надежности и автономности, в то время как программно-определяемые сети централизуют управление для программируемости и глобальной оптимизации; продолжаются дебаты о правильном балансе централизации, масштабируемости и устойчивости.
Key figures
- Vinton Cerf
- Robert Kahn
- Jon Postel
- Nick McKeown
- Jennifer Rexford
Related topics
Seminal works
- kurose2021
- rfc791
- mckeown2008
Frequently asked questions
- В чем разница между пересылкой и маршрутизацией?
- Пересылка — это локальное, пошаговое действие по перемещению пакета от входного к выходному порту с использованием таблицы пересылки, и оно происходит на высокой скорости в плоскости данных. Маршрутизация — это общесетевой процесс вычисления содержимого этих таблиц пересылки, выполняемый алгоритмами и протоколами маршрутизации в плоскости управления.
- Почему был введен IPv6?
- 32-битное адресное пространство IPv4, около четырех миллиардов адресов, стало недостаточным по мере распространения устройств, подключенных к Интернету. IPv6 использует 128-битные адреса для обеспечения значительно большего пространства, а также упрощения заголовка и встроенной поддержки таких функций, как автоконфигурация.