| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
| dpi:dpi_components:router [2025/09/24 08:18] – elena.krasnobryzh | dpi:dpi_components:router [2026/04/17 11:27] (текущий) – [Анонсы абонентов и NAT pool] elena.krasnobryzh |
|---|
| |
| ===== Общее описание ===== | ===== Общее описание ===== |
| <note tip>Подробнее о решении: {{youtube>YgWU35Ay-0k?}}</note> | <note tip>Подробнее о решении:\\ \\ |
| | <html> |
| | <iframe |
| | width="720" |
| | height="405" |
| | src="https://rutube.ru/play/embed/f9c52014c0f820a77567178179af5df0" |
| | style="border: none;" |
| | allow="clipboard-write; autoplay" |
| | allowFullScreen |
| | ></iframe> |
| | </html> |
| | </note> |
| Сам СКАТ не занимается построением таблицы маршрутизации. Он делегирует эту работу проверенным специализированным инструментам, в примере [[dpi:dpi_components:router#внутренняя_архитектура_роутера|внутренней архитектуры роутера]] использован [[dpi:dpi_components:router#конфигурирование_роут-демона_bird_frr_etc|роут-демон BIRD]]. Роут-демон обрабатывает требуемые протоколы маршрутизации (BGP, OSPF и пр.) и по ним строит общую таблицу маршрутизации, которую загружает в ядро. СКАТ по этой таблице осуществляет маршрутизацию пакетов. | Сам СКАТ не занимается построением таблицы маршрутизации. Он делегирует эту работу проверенным специализированным инструментам, в примере [[dpi:dpi_components:router#внутренняя_архитектура_роутера|внутренней архитектуры роутера]] использован [[dpi:dpi_components:router#конфигурирование_роут-демона_bird_frr_etc|роут-демон BIRD]]. Роут-демон обрабатывает требуемые протоколы маршрутизации (BGP, OSPF и пр.) и по ним строит общую таблицу маршрутизации, которую загружает в ядро. СКАТ по этой таблице осуществляет маршрутизацию пакетов. |
| |
| |
| ==== Внутренняя архитектура роутера ==== | ==== Внутренняя архитектура роутера ==== |
| {{ :dpi:dpi_components:router:router_architecture.png?direct&700 |}} | {{ :dpi:dpi_components:router:router_architecture.png?nolink&700 |}} |
| |
| Данные из kernel route table вычитываются (rtnetlink) в RIB роутера. RIB - это префиксное дерево, его удобно модифицировать по событиям изменения (удаления/добавления записей) route table ядра. Но использовать RIB в маршрутизации нельзя, так как он не поддерживает многопоточный доступ со стороны рабочих потоков (требуется блокировка, что неприемлемо). Поэтому в СКАТ RIB живет в потоке роутера и недоступен рабочим потокам. | Данные из kernel route table вычитываются (rtnetlink) в RIB роутера. RIB - это префиксное дерево, его удобно модифицировать по событиям изменения (удаления/добавления записей) route table ядра. Но использовать RIB в маршрутизации нельзя, так как он не поддерживает многопоточный доступ со стороны рабочих потоков (требуется блокировка, что неприемлемо). Поэтому в СКАТ RIB живет в потоке роутера и недоступен рабочим потокам. |
| |
| ==== Реализация VRF Lite в СКАТ ==== | ==== Реализация VRF Lite в СКАТ ==== |
| {{ :dpi:dpi_components:router:vrf_lite.png?direct&1000 |}} | {{ :dpi:dpi_components:router:vrf_lite.png?nolink&1000 |}} |
| |
| Приставка Lite означает, что СКАТ только разделяет таблицы маршрутизации, но не помещает трафик отдельного VRF в уникальный туннель (MPLS, VXLAN). VRF Lite позволяет изолировать предоставляемые сервисы между собой и оптимизировать маршрутизацию при использовании разных каналов. | Приставка Lite означает, что СКАТ только разделяет таблицы маршрутизации, но не помещает трафик отдельного VRF в уникальный туннель (MPLS, VXLAN). VRF Lite позволяет изолировать предоставляемые сервисы между собой и оптимизировать маршрутизацию при использовании разных каналов. |
| #router_subs_metrics=32 | #router_subs_metrics=32 |
| </code> | </code> |
| {{ :dpi:dpi_options:router:анонс_public_cidr_для_nat-сервиса.png?600 |Анонс Public CIDR для NAT-сервиса}} | {{ :dpi:dpi_options:router:анонс_public_cidr_для_nat-сервиса.png?nolink&600 |Анонс Public CIDR для NAT-сервиса}} |
| Подсети белых адресов NAT анонсируются только в сторону inet при старте СКАТа и при добавлении/удалении/изменении NAT-профилей. | Подсети белых адресов NAT анонсируются только в сторону inet при старте СКАТа и при добавлении/удалении/изменении NAT-профилей. |
| |
| {{ :dpi:dpi_options:router:анонс_public_ip_адресов_после_авторизации.png?600 |Анонс Public IP адресов после авторизации}} | {{ :dpi:dpi_options:router:анонс_public_ip_адресов_после_авторизации.png?nolink&600 |Анонс Public IP адресов после авторизации}} |
| Адреса абонентов могут анонсироваться как в сторону inet, так и в сторону subs. Но если IP адрес абонента [[dpi:opt_cgnat:сgnat_settings#дополнительные_настройки|входит в диапазон приватных адресов и на него назначена 11 услуга, т.е. натится]], адрес абонента не анонсируется в сторону inet (так что нужно быть осмотрительными при определении диапазонов приватных адресов). Анонс производится в таблицу маршрутизации BIRD для всех TAP-девайсов разрешенного направления, далее BIRD подхватывает изменения и анонсирует их по нужным протоколам в соответствии со своей конфигурацией. | Адреса абонентов могут анонсироваться как в сторону inet, так и в сторону subs. Но если IP адрес абонента [[dpi:opt_cgnat:сgnat_settings#дополнительные_настройки|входит в диапазон приватных адресов и на него назначена 11 услуга, т.е. натится]], адрес абонента не анонсируется в сторону inet (так что нужно быть осмотрительными при определении диапазонов приватных адресов). Анонс производится в таблицу маршрутизации BIRD для всех TAP-девайсов разрешенного направления, далее BIRD подхватывает изменения и анонсирует их по нужным протоколам в соответствии со своей конфигурацией. |
| |