#amazon-web-services #amazon-vpc #topology #routetable
#amazon-web-services #amazon-vpc #топология #routetable
Вопрос:
Вот типичный VPC AWS, который состоит из следующих компонентов
- две подсети
- Интернет-шлюз
- Таблица маршрутов
- Экземпляры
Представьте себе сценарий
шаг 1, экземпляр (частный IP 172.31.0.5) в подсети 1 отправляет пакет на IP 172.31.16.5 (в подсети 2).
шаг 2, пакет достигает таблицы маршрутов, таблица маршрутов перенаправляет пакет к цели local
.
шаг 3, происходит волшебство. 🤔
шаг 4, экземпляр (172.31.16.5) получает пакет.
Следующие вопросы касаются магии на шаге 3.
- Что означает local в этом месте? сеть VPC?
- какова топология vpc и подсетей?
- Как таблица маршрутов узнает, какая подсеть должна быть подходящей подсетью для получения этого пакета?
- Как таблица маршрутов узнает, какой экземпляр должен быть правильным экземпляром для получения этого пакета?
- Как таблица маршрутов перенаправляет пакет в экземпляр (172.31.16.5)?
- Если я хочу лучше понять это, какие базовые знания я должен изучить в первую очередь?
Комментарии:
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:
- AWS re: Invent 2013: день из жизни миллиарда пакетов (CPN401) — YouTube
- AWS re: Invent 2015: еще один день, еще один миллиард пакетов (NET403) — YouTube
- AWS re: Invent 2016: еще один день, еще один миллиард пакетов (NET401) — YouTube
- AWS re: Invent 2017: еще один день, еще один миллиард потоков (NET405) — YouTube
- AWS re: Invent 2014: масштабируемая инновация AWS с Джеймсом Гамильтоном (SPOT301) — YouTube
Ответ №3:
На самом деле это работает точно так же, как ваша домашняя сеть. Представьте, что ваш интернет-провайдер является эквивалентом aws internet gateway
, а ваш домашний маршрутизатор — эквивалентом aws router
. Итак, когда вы настраиваете свой домашний маршрутизатор, вы фактически настраиваете таблицу маршрутизации. На основе этой конфигурации маршрутизатор знает, какие пакеты предназначены для вашего интернет-провайдера, а какие — для локальной сети. Что касается волшебства на шаге 3 — маршрутизатор фактически видит, что вы пытаетесь получить доступ к другой подсети на основе маски (в вашем случае / 16) и перенаправляет пакеты непосредственно в ваш экземпляр зоны доступности B EC2