AWS VPC: как таблица маршрутизации перенаправляет локальный трафик в правильную подсеть и экземпляр?

AWS VPC

Вот типичный VPC AWS, который состоит из следующих компонентов:

  • две подсети
  • Интернет-шлюз
  • Таблица маршрутов
  • Экземпляры

Представьте себе сценарий

шаг 1, экземпляр (частный IP 172.31.0.5) в подсети 1 отправляет пакет на IP 172.31.16.5 (в подсети 2).

step2, пакет достигает таблицы маршрутов, таблица маршрутов перенаправляет пакет к цели local.

step3, Происходит какое-то волшебство. ????

step4, instance(172.31.16.5) получает пакет.

Следующие вопросы касаются волшебства на шаге 3.

  1. Что значит местный в этом месте? сеть VPC?
  2. какова топология vpc и подсетей?
  3. Как таблица маршрутов узнает, какая подсеть должна быть правильной подсетью для получения этого пакета?
  4. Как таблица маршрутов узнает, какой экземпляр должен быть правильным экземпляром для получения этого пакета?
  5. Как таблица маршрутизации перенаправляет пакет на экземпляр (172.31.16.5)?
  6. Если я хочу лучше понять его, какие базовые знания мне следует изучить в первую очередь?

person Ryan Lyu    schedule 25.09.2020    source источник
comment
Это основные сетевые вопросы. В VPC нет магии. Я бы порекомендовал ознакомиться с руководствами о том, как работает tcp/ip-адресация и подсеть.   -  person Marcin    schedule 25.09.2020


Ответы (3)


Это может стать легче понять, если вы замените таблицу маршрутов на маршрутизатор в шагах. Маршрутизатор на вашей диаграмме - это тот, который фактически маршрутизирует трафик. Таблица маршрутов — это только часть конфигурации маршрутизатора. Маршрутизатор также знает обо всех диапазонах CIDR подсети. Они являются подмножествами диапазона VPC CIDR.

В таблице маршрутов запись local обычно настраивается с диапазоном CIDR всего VPC. Итак, на шаге 2 маршрутизатор просматривает таблицу маршрутов и видит, что пункт назначения является локальным, то есть другим хостом в том же VPC. На шаге 3 он просматривает диапазоны CIDR подсети, видит, что 172.31.16.5 находится в диапазоне подсети 2, и таким образом направляет туда пакеты.

person jingx    schedule 25.09.2020

Amazon VPC — это виртуализированная сеть, также известная как программно-определяемая сеть.

За кулисами трафик VPC инкапсулируется и передается через «обычное» сетевое оборудование, но VPC определяет упрощенный набор правил, которые позволяют предоставлять сеть с помощью кликов и вызовов API, а не подключать и настраивать оборудование.

Простой ответ на ваши вопросы: Это не имеет значения.

Пока сеть ведет себя правильно в соответствии с тем, как она настроена, детали реализации не имеют значения.

Если вам интересно узнать, как работают сети в целом, я бы порекомендовал узнать об Ethernet, TCP/IP и сетевых маршрутизаторах. VPC — это реализация этих технологий более высокого уровня.

Чтобы немного узнать о том, как работают VPC, я бы порекомендовал посмотреть эти видео на YouTube:

person John Rotenstein    schedule 25.09.2020

На самом деле это работает точно так же, как ваша домашняя сеть. Представьте, что ваш интернет-провайдер эквивалентен aws internet gateway, а ваш домашний маршрутизатор — эквиваленту aws router. Таким образом, когда вы настраиваете свой домашний маршрутизатор, вы фактически настраиваете таблицу маршрутизации. На основе этой конфигурации маршрутизатор знает, какие пакеты предназначены для вашего провайдера, а какие для локальной сети. Что касается волшебства в шаге 3 — маршрутизатор фактически видит, что вы пытаетесь получить доступ к другой подсети на основе маски (в вашем случае /16) и перенаправляет пакеты непосредственно в ваш экземпляр EC2 в зоне доступности B.

person cvetomirst    schedule 23.12.2020