75 research outputs found
Redes definidas por software flexíveis
The fifth generation of mobile networks (5G) are able to offer better
services than its predecessors mainly through the usage of software
defined networks (SDN) and network functions virtualization (NFV)
However, after multiple solutions developed using OpenFlow, the conclusion
was that the even after several years of the first version released,
OpenFlow fails to offer full flexibility and cannot handle unknown protocols.
With that in mind, the community got together and created
what is known today as P4. P4 is a language designed to program the
data plane behavior, that, with the help of P4Runtime, the alternative
of OpenFlow to P4 enabled devices, it allows the management of the
data plane behavior regarding the target or the protocol. All of that
because, unlike OpenFlow, P4Runtime does not assume that network
devices have a fixed and well defined behavior, usually described by
the ASIC chip.
In this work, P4 ecosystem is used to implement offloading of functions
to the network devices and evaluate whether that is impactful for the
network performance. Given the low amount of work developed with
P4 regarding publish-subscribe systems, that traditionally rely on brokers,
it was decided to offload several functions of such systems to the
dataplane with P4, leading that the overall solution can be comparable
to distributed broker ones. However, P4 is limited regarding the management
of state related data, just like of TCP sessions, which many
publish-subscribe system rely on. Zenoh, a new publish-subscribe protocol
that is still in early phases and directed to IoT, is also able to
run over UDP and therefore is a great candidate to be implemented in
P4 to overcome such issues. It is then used to show the advantages of
doing offloading of processing to the dataplane.
The conceptualized system was then compared to two more traditional
ones, that do not make use of offloading. The overall results achieved
are promising. Results show that there are benefits in the offloading of
certain tasks to the dataplane and therefore be closer to the end user
and with that improve latency. However, regarding the pure Zenoh,
the results achieved are poorer. That can be explained by the usage
of software switches that are not production grade ready and whose
performance is highly impacted by several data plane factors. That
makes it necessary to do more tests on expensive hardware equipment
for a more concrete conclusion.As redes móveis de quinta geração (5G) conseguem oferecer melhores
serviços que as suas anteriores gerações maioritariamente através do
uso de tecnologias como redes definidas por software (SDN) e virtualização das funções da rede (NFV).
No entanto, após vários anos de implementações de soluções usando
OpenFlow, chegou-se à conclusão que este tem limitações relativamente
a protocolos desconhecidos, mesmo após vários anos da primeira
versão. Então, a comunidade juntou-se e criou o que hoje é o
ecossistema P4/P4Runtime. Sendo o P4 uma linguagem destinada à
programação do comportamento do plano de dados e o P4Runtime
o equivalente ao OpenFlow para equipamentos que suportam P4, no
entanto permite uma gestão do comportamento do plano de dados independente
do dispositivo e do protocolo, uma vez que não assume que
os equipamentos de rede têm um comportamento fixo bem definido,
normalmente descrito pelo chip ASIC.
Neste trabalho, faz-se uso do ecossistema do P4 para implementação de
offloading de funções para os próprios equipamentos de rede e avalia-se
se esta solução traz benefícios para a performance da rede. Devido à
pouca exploração em P4 de sistemas publish-subscribe, que dependem
tradicionalmente de brokers, foi decidido fazer offloading de funções
de um desses sistemas através do uso de P4, permitindo ainda que a
solução como um todo possa ser comparável com as oferecidas por
um broker distribuído. No entanto, o P4 tem limitações ao nível de
gestão de sessões TCP. O Zenoh, um protocol publish-subscribe ainda
em evolução e direcionado para IoT, permite também transporte sobre
UDP, e é por isso um grande candidato a ser implementado em P4 para
demonstrar as vantagens de fazer offloading de processamento para o
plano de dados.
O sistema conceptualizado e desenvolvido foi então comparado com
outros dois sistemas mais tradicionais que não fazem uso de offloading.
Os resultados são animadores mostrando que existe benefício
em fazer ffloading de certas funções para o plano de dados, visto que
certas operações podem ser feitas mais perto do utilizador final. No
entanto, comparando os resultados com os oferecidos pelo Zenoh puro,
os resultados são piores, sendo isto explicado pelo facto de os equipamentos
de rede utilizados serem switches em software que não estão
preparados para ambientes de produção e são muito penalizados por
diversos fatores do comportamento do plano de dados. É por isso necessário fazer testes em equipamentos de hardware para uma avaliação
mais profunda e consequente conclusão.Mestrado em Engenharia de Computadores e Telemátic
HH-IPG: Leveraging Inter-Packet Gap Metrics in P4 Hardware for Heavy Hitter Detection
The research community has recently proposed several solutions based on modern programmable switches to detect entirely in the data plane the flows exceeding pre-determined thra eshold in a time window, i.e., Heavy Hitters (HH). This is commonly achieved by dividing the network stream into fixed time slots and identifying each separately without considering the traffic trends from previous intervals. In this work, we show that using specified time windows can lead to high inaccuracies. We make a case for rethinking how switches analyze the incoming packets and propose to leverage per-flow Inter Packet Gap (IPG) analytics instead of using flow counters for HH detection. We propose an algorithm and present a P4 pipeline design using this new metric in mind. We implement our solution on P4 hardware and experimentally evaluate it against real traffic traces. We show that our results are more accurate than related work by up to 20% while reducing the control channel overhead by up to two orders of magnitude. Finally, we showcase a QoS-oriented application of the proposed dataplane-only IPG-based HH detection in a mobile network scenario
Enabling P4 Network Telemetry in Edge Micro Data Centers With Kubernetes Orchestration
Integrating computation resources with networking technologies is an hot research topic targeting the optimization of containers deployment on a set of host machines interconnected by a network infrastructure. Particularly, next generation edge nodes will offer significant advantages leveraging on integrated computation resources and networking awareness, enabling configurable, granular and monitorable quality of service to different micro-services, applications and tenants, especially in terms of bounded end-to-end latency. In this regard, SDN is a key technology enabling network telemetry and traffic switching with the granularity of the single traffic flow. However, currently available solutions are based on legacy SDN techniques, not enabling the matching of tunneled traffic, and thus require a tricky integration inside the hosts where containers are deployed. This work considers Kubernetes clusters deployed on next generation edge micro data center platforms and proposes an innovative SDN solution exploiting the P4 technology to gain visibility inside tunnelled traffic exchanged among pods. This way, the integration is achieved at the control plane level through the communication between Kubernetes and the SDN controller. The proposed solution is experimentally validated including a comprehensive framework enabling effective traffic switching and in-band telemetry at pod level. The major paper contributions consist in the design and the development of: (i) the networking applications at SDN control plane level; (ii) the P4 switch pipeline at the data plane level; (iii) the monitoring system used to collect, aggregate and elaborate the telemetry data
A Survey on Data Plane Programming with P4: Fundamentals, Advances, and Applied Research
With traditional networking, users can configure control plane protocols to
match the specific network configuration, but without the ability to
fundamentally change the underlying algorithms. With SDN, the users may provide
their own control plane, that can control network devices through their data
plane APIs. Programmable data planes allow users to define their own data plane
algorithms for network devices including appropriate data plane APIs which may
be leveraged by user-defined SDN control. Thus, programmable data planes and
SDN offer great flexibility for network customization, be it for specialized,
commercial appliances, e.g., in 5G or data center networks, or for rapid
prototyping in industrial and academic research. Programming
protocol-independent packet processors (P4) has emerged as the currently most
widespread abstraction, programming language, and concept for data plane
programming. It is developed and standardized by an open community and it is
supported by various software and hardware platforms. In this paper, we survey
the literature from 2015 to 2020 on data plane programming with P4. Our survey
covers 497 references of which 367 are scientific publications. We organize our
work into two parts. In the first part, we give an overview of data plane
programming models, the programming language, architectures, compilers,
targets, and data plane APIs. We also consider research efforts to advance P4
technology. In the second part, we analyze a large body of literature
considering P4-based applied research. We categorize 241 research papers into
different application domains, summarize their contributions, and extract
prototypes, target platforms, and source code availability.Comment: Submitted to IEEE Communications Surveys and Tutorials (COMS) on
2021-01-2
MACSAD: Sistema de Compilador Multi-Arquitetura para Planos de Dados Abstratos
Orientador: Christian Rodolfo Esteve RothenbergTese (doutorado) - Universidade Estadual de Campinas, Faculdade de Engenharia Elétrica e de ComputaçãoResumo: Redes Definidas por Software (Software-Defined Networking - SDN) almejam um plano de dados programável, além de planos de controle e aplicação flexíveis e escaláveis. Apesar de ter recebido menor atenção quando comparado aos aspectos dos planos de controle e aplicação, o plano de dados concerne uma peça chave nos enigmas de SDN. Nós contemplamos um plano de dados flexível apresentando as características, nomeadas, Programabilidade, Portabilidade, Desempenho e Escalabilidade (Programmability, Portability, Performance, and Scalability - 3PS) como diferentes aspectos de flexibilidade. Enquanto os aspectos de Programabilidade e Portabilidade focam na arquitetura e projeto do plano de dados, Desempenho e Escalabilidade aparecem durante a avaliação do mesmo. Estendemos o foco da evolução do plano de dados de Programabilidade da escola de pensamento SDN para incluir Portabilidade como aspecto de flexibilidade. O plano de dados programável confirma a natureza independente do protocolo, enquanto a Portabilidade atende aos requisitos de arquitetura múltipla do projeto do plano de dados. A linguagem P4, uma nova entrante, sendo uma linguagem de programação de alto nível independente do protocolo e independente do alvo, é capaz de levar a evolução do plano de dados ao próximo nível, desbloqueando as facetas desejadas da flexibilidade do plano de dados. Para trazer esse nível necessário de flexibilidade para um plano de dados, é necessário um sistema de compilador com várias arquiteturas que possa compilar um programa P4 em conformidade com o protocolo e a natureza de independência de destino de P4; No entanto, essa solução de sistema de compilador unificado é o que nos falta. A principal contribuição desta tese, a proposta do Sistema de Compiladores de Arquitetura Múltipla para Planos de Dados (Multi-Architecture Compiler System for Abstract Dataplanes - MACSAD), é um esforço para preencher a lacuna estendendo a abordagem Top-Down de P4 em direção à programabilidade com a abordagem Bottom-Up do OpenDataPlane (ODP) em direção à independência de destino com suas APIs de baixo nível, mas de plataforma cruzada (HW & SW). Reforçamos as contribuições desta tese incluindo aspectos de Desempenho e Escalabilidade da flexibilidade também como parte de nossa avaliação do MACSAD em múltiplos cenários realistasAbstract: Software-Defined Networking (SDN) strives for programmable data plane, yet flexible and scalable control and application planes. Despite having received less attention compared to control and application aspects of SDN, data planes are a critical piece of the SDN puzzle. We envision a flexible data plane showing characteristics, namely, Programmability, Portability, Performance, and Scalability (3PS) as different aspects of flexibility. While Programmability & Portability aspects focus on the architecture and design of the data plane, Performance & Scalability appears during the evaluation of it. We extend the focus of data plane evolution from Programmability from SDN school of thought to include Portability aspect of flexibility. Programmable data plane confirms to protocol-independent nature, whereas Portability addresses multi-architecture requirements of data plane design. P4 language, a new entrant, being a protocol-independent and target-independent high-level programming language is capable to take data plane evolution to the next level by unlocking the desired facets of data plane flexibility. To bring this required level of flexibility to a data plane, a multi-architecture compiler system is necessary which can compile P4 program conforming to protocol & target independence nature of P4; However, such a unified compiler system solution is what we lack of. The main contribution of this thesis, the MACSAD proposal, is an effort to fill the gap by extending the Top-Down approach of P4 towards programmability with Bottom-Up approach of OpenDataPlane (ODP) towards target-independence with its low-level but cross-platform (HW & SW) APIs. We strengthen the contributions of this thesis by including Performance, and Scalability aspects of flexibility too as part of our evaluation of MACSAD in multiple realistic scenariosDoutoradoEngenharia de ComputaçãoDoutor em Engenharia Elétric
Segment Routing: a Comprehensive Survey of Research Activities, Standardization Efforts and Implementation Results
Fixed and mobile telecom operators, enterprise network operators and cloud
providers strive to face the challenging demands coming from the evolution of
IP networks (e.g. huge bandwidth requirements, integration of billions of
devices and millions of services in the cloud). Proposed in the early 2010s,
Segment Routing (SR) architecture helps face these challenging demands, and it
is currently being adopted and deployed. SR architecture is based on the
concept of source routing and has interesting scalability properties, as it
dramatically reduces the amount of state information to be configured in the
core nodes to support complex services. SR architecture was first implemented
with the MPLS dataplane and then, quite recently, with the IPv6 dataplane
(SRv6). IPv6 SR architecture (SRv6) has been extended from the simple steering
of packets across nodes to a general network programming approach, making it
very suitable for use cases such as Service Function Chaining and Network
Function Virtualization. In this paper we present a tutorial and a
comprehensive survey on SR technology, analyzing standardization efforts,
patents, research activities and implementation results. We start with an
introduction on the motivations for Segment Routing and an overview of its
evolution and standardization. Then, we provide a tutorial on Segment Routing
technology, with a focus on the novel SRv6 solution. We discuss the
standardization efforts and the patents providing details on the most important
documents and mentioning other ongoing activities. We then thoroughly analyze
research activities according to a taxonomy. We have identified 8 main
categories during our analysis of the current state of play: Monitoring,
Traffic Engineering, Failure Recovery, Centrally Controlled Architectures, Path
Encoding, Network Programming, Performance Evaluation and Miscellaneous...Comment: SUBMITTED TO IEEE COMMUNICATIONS SURVEYS & TUTORIAL
- …