Эта статья под распил к конкретные, тут заметки именно
Многие инструменты и практики devops на собеседованиях/в требованиях сейчас спрашивают и у сетевых инженеров и у performance инженеров и у программистов; по сути это универсальные знания, которыми нужно обладать
Кто то SRE выносит отдельно от devops, кто то его считает подвидом devops
По практике работы SRE с мониторингом в отдельной статье
Многое более детально описано в отдельных статьях – docker, k8s, terraform, best practice (microservice)
Основной компонент – openflow SDN контроллер, соответствует openflow версии 1.3-1.4 (рабочая версия для реальных сетей; используют так же extension к протоколу, опубликованные в RFC), реализует разную логику топологическую, реализует сервисные примитивы p2p, p2m, m2m L2, L3VPN, 8 layers QoS централизованно управляемая модель, ECMP (weighted, equal cost), traffic engineering, измерение параметров пути с «маршрутизацией» на основе этих параметров
Компонент2: NFV платформа как средство деплоя/управления сетью на основе OpenStack (может работать как с нативным OpenStack, так и с собственным контроллером Brain4net) – деплой сетевых функций в виде виртуальных машин, организация связи между ними и в external
Компонент3: высокопроизводительный DPDK switch OS на основе OpenFlow 1.3 (не на базе Open vSwitch), деплоятся на whitebox (в том числе high-performance chip trident, trident2+, tomohawk, tomohawk2)
На базе этих компонентов реализуется как SDN, так и SD-WAN с L2 overlay backbone на базе контроллера (объединение CPE виртуальных и аппаратных, CPE реализован на базе OpenVswitch) с реализацией логики SD-WAN на базе стандарта (multipathing, routing, измерение параметров overlay туннелей с изменение маршрутизации на основе изменений параметров, TE).
P4 programming – по сути абстракция программы форвардинг плейна от аппаратной реализации за счет использования компиляторов (отдельные компиляторы под cpu intel, arm, fpga, etc). Пока выглядит как имеющее смысл только для очень крупных кастомеров с нестандартными потребностями или желанием полной унификации.
Решил сделать разбор (в целом неплохого, но по многим вопросам спорного) видео о прошлом, настоящем и будущем компьютерных сетей от исследователей open networking foundation – The network as a programmable platform.
По мнению авторов видео недостатки старых подходов:
Ненадежный проприетарный софт с десятками миллионами строк кода – насчет ненадежности крайне спорно, особенно когда речь идет о магистральном оборудовании и оборудовании ЦОД
Огромные мейнфреймы как для обработки сетевого трафика (Cisco ASR/CRS), так и для обработки вычислений (IBM Z) – лучше масштабироваться горизонтально, согласен, но многоюнитовые шасси как выпускались, так и продолжают (и в ДЦ сегменте, хотя безусловно в меньшем объеме), в том числе из-за высокопроизводительного бекплайна между картами
Сложно или невозможно что-то улучшить без привлечения сетевого вендора – многим ли нужно программировать ПЛИС самостоятельно или мониторить микроберсты, тем кому нужно это узкий рынок
(как вывод) стагнация – cisco и другие вендоры сильно не согласятся и будут во многом правы – они решали и решают задачи, несмотря на постоянный рост объемов трафика
Merchant silicon – имеется ввиду, что чипы для устройств не разрабатывает каждый сетевой вендор, они продаются на рынке (broadcom, marvel, ibm, qualcom, intel..).
For network emulation there are many approaches using VM’s for emulation of a hardware router. Arista, Cisco, Juniper and Nokia have multiple implementations of their network operating system and various generations of hardware emulation.
WireGuard only[9] uses UDP[4] and thus does not work in networks that block UDP traffic. This is unlike alternatives like OpenVPN because of the many disadvantages of TCP-over-TCP routing.
WireGuard supports only layer 3 for both IPv4 and IPv6 and can encapsulate v4-in-v6 and vice versa.