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

#amazon-web-services #amazon-vpc #topology #routetable

#amazon-web-services #amazon-vpc #топология #routetable

Вопрос:

AWS VPC

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

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

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

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

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

шаг 3, происходит волшебство. 🤔

шаг 4, экземпляр (172.31.16.5) получает пакет.

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

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

Комментарии:

1. Это основной сетевой вопрос. В VPC нет никакой магии. Я бы рекомендовал ознакомиться с руководствами по работе с tcp / ip-адресацией и подсетью.

Ответ №1:

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

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

Комментарии:

1. Я подключаю экземпляр ec2 со своего локального компьютера, используя общедоступный IP-адрес через интернет-шлюз. как используется CIDR 0.0.0.0 / 0.?

Ответ №2:

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

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

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

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

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

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

Ответ №3:

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