216 research outputs found

    Topology forming and optimization framework for heterogeneous wireless back-haul networks supporting unidirectional technologies

    Get PDF
    Wireless operators, in developed or emerging regions, must support triple-play service offerings as demanded by the market or mandated by regulatory bodies through so-called Universal Service Obligations (USOs). Since individual operators might face different constraints such as available spectrum licenses, technologies, cost structures or a low energy footprint, the EU FP7 CARrier grade wireless MEsh Network (CARMEN) project has developed a carrier-grade heterogeneous multi-radio back-haul architecture which may be deployed to extend, complement or even replace traditional operator equipment. To support offloading of live triple-play content to broadcast-optimized, e.g., DVB-T, overlay cells, this heterogeneous wireless back-haul architecture integrates unidirectional broadcast technologies. In order to manage the physical and logical resources of such a network, a centralized coordinator approach has been chosen, where no routing state is kept at plain WiBACK Nodes (WNs) which merely store QoS-aware MPLS forwarding state. In this paper we present our Unidirectional Technology (UDT)-aware design of the centralized Topology Management Function (TMF), which provides a framework for different topology and spectrum allocation optimization strategies and algorithms to be implemented. Following the validation of the design, we present evaluation results using a hybrid local/centralized topology optimizer showing that our TMF design supports the reliable forming of optimized topologies as well as the timely recovery from node failures.Federal Ministry of Education and Research of the Federal Republic of German (F¨orderkennzeichen 01 BU1116,SolarMesh Energieeffizientes,autonomesgroßfl¨achiges Sprach- undDatenfunknetzmitflacher IP-Architektur

    IP and ATM integration: A New paradigm in multi-service internetworking

    Get PDF
    ATM is a widespread technology adopted by many to support advanced data communication, in particular efficient Internet services provision. The expected challenges of multimedia communication together with the increasing massive utilization of IP-based applications urgently require redesign of networking solutions in terms of both new functionalities and enhanced performance. However, the networking context is affected by so many changes, and to some extent chaotic growth, that any approach based on a structured and complex top-down architecture is unlikely to be applicable. Instead, an approach based on finding out the best match between realistic service requirements and the pragmatic, intelligent use of technical opportunities made available by the product market seems more appropriate. By following this approach, innovations and improvements can be introduced at different times, not necessarily complying with each other according to a coherent overall design. With the aim of pursuing feasible innovations in the different networking aspects, we look at both IP and ATM internetworking in order to investigating a few of the most crucial topics/ issues related to the IP and ATM integration perspective. This research would also address various means of internetworking the Internet Protocol (IP) and Asynchronous Transfer Mode (ATM) with an objective of identifying the best possible means of delivering Quality of Service (QoS) requirements for multi-service applications, exploiting the meritorious features that IP and ATM have to offer. Although IP and ATM often have been viewed as competitors, their complementary strengths and limitations from a natural alliance that combines the best aspects of both the technologies. For instance, one limitation of ATM networks has been the relatively large gap between the speed of the network paths and the control operations needed to configure those data paths to meet changing user needs. IP\u27s greatest strength, on the other hand, is the inherent flexibility and its capacity to adapt rapidly to changing conditions. These complementary strengths and limitations make it natural to combine IP with ATM to obtain the best that each has to offer. Over time many models and architectures have evolved for IP/ATM internetworking and they have impacted the fundamental thinking in internetworking IP and ATM. These technologies, architectures, models and implementations will be reviewed in greater detail in addressing possible issues in integrating these architectures s in a multi-service, enterprise network. The objective being to make recommendations as to the best means of interworking the two in exploiting the salient features of one another to provide a faster, reliable, scalable, robust, QoS aware network in the most economical manner. How IP will be carried over ATM when a commercial worldwide ATM network is deployed is not addressed and the details of such a network still remain in a state of flux to specify anything concrete. Our research findings culminated with a strong recommendation that the best model to adopt, in light of the impending integrated service requirements of future multi-service environments, is an ATM core with IP at the edges to realize the best of both technologies in delivering QoS guarantees in a seamless manner to any node in the enterprise

    Low Cost Quality of Service Multicast Routing in High Speed Networks

    Get PDF
    Many of the services envisaged for high speed networks, such as B-ISDN/ATM, will support real-time applications with large numbers of users. Examples of these types of application range from those used by closed groups, such as private video meetings or conferences, where all participants must be known to the sender, to applications used by open groups, such as video lectures, where partcipants need not be known by the sender. These types of application will require high volumes of network resources in addition to the real-time delay constraints on data delivery. For these reasons, several multicast routing heuristics have been proposed to support both interactive and distribution multimedia services, in high speed networks. The objective of such heuristics is to minimise the multicast tree cost while maintaining a real-time bound on delay. Previous evaluation work has compared the relative average performance of some of these heuristics and concludes that they are generally efficient, although some perform better for small multicast groups and others perform better for larger groups. Firstly, we present a detailed analysis and evaluation of some of these heuristics which illustrates that in some situations their average performance is reversed; a heuristic that in general produces efficient solutions for small multicasts may sometimes produce a more efficient solution for a particular large multicast, in a specific network. Also, in a limited number of cases using Dijkstra's algorithm produces the best result. We conclude that the efficiency of a heuristic solution depends on the topology of both the network and the multicast, and that it is difficult to predict. Because of this unpredictability we propose the integration of two heuristics with Dijkstra's shortest path tree algorithm to produce a hybrid that consistently generates efficient multicast solutions for all possible multicast groups in any network. These heuristics are based on Dijkstra's algorithm which maintains acceptable time complexity for the hybrid, and they rarely produce inefficient solutions for the same network/multicast. The resulting performance attained is generally good and in the rare worst cases is that of the shortest path tree. The performance of our hybrid is supported by our evaluation results. Secondly, we examine the stability of multicast trees where multicast group membership is dynamic. We conclude that, in general, the more efficient the solution of a heuristic is, the less stable the multicast tree will be as multicast group membership changes. For this reason, while the hybrid solution we propose might be suitable for use with closed user group multicasts, which are likely to be stable, we need a different approach for open user group multicasting, where group membership may be highly volatile. We propose an extension to an existing heuristic that ensures multicast tree stability where multicast group membership is dynamic. Although this extension decreases the efficiency of the heuristics solutions, its performance is significantly better than that of the worst case, a shortest path tree. Finally, we consider how we might apply the hybrid and the extended heuristic in current and future multicast routing protocols for the Internet and for ATM Networks.

    Advanced techniques for multicast service provision in core transport networks

    Get PDF
    Although the network-based multicast service is the optimal way to support of a large variety of popular applications such as high-definition television (HDTV), videoon- demand (VoD), virtual private LAN service (VPLS), grid computing, optical storage area networks (O-SAN), video conferencing, e-learning, massive multiplayer online role-playing games (MMORPG), networked virtual reality, etc., there are a number of technological and operational reasons that prevents a wider deployment. This PhD work addresses this problem in the context of core transport network, by proposing and analyzing new cost-effective and scalable techniques to support multicast both at the Optical layer and at the Network layer (MPLS-IP networks). In the Optical layer, in particular in Wavelength Division Multiplexing (WDM) Optical Circuit Switched networks, current multicast-capable OXC node designs are of a great complexity and have high attenuation levels, mainly because of the required signal splitting operation plus the traversal of a complex switching stage. This makes multi-point support rarely included in commercial OXC nodes. Inspired in previous works in the literature, we propose a novel architecture that combines the best of splitting and tap-and-continue (TaC), called 2-STC (2-split-tap-and-continue) in the framework of integrated optics. A 2-STC OXC node is a flexible design capable of tapping and splitting over up to two outgoing links in order to obtain lower end-to-end latency than in TaC and an improved power budget distribution over split-and-delivery (SaD) designs. Another advantage of this architecture is its simplicity and the reduced number of components required, scaling well even for implementations of the node with many input/output ports. Extensive simulations show that the binary split (2-split) is quite enough for most real-life core network topologies scenarios, since the average node degree is usually between 3 and 4. A variant of this design, called 2-STCg, for making the node capable of optical traffic grooming (i.e. accommodation of low-speed demands into wavelength-links) is also presented. At the Network layer, one of the main reasons that hinder multicast deployment is the high amount of forwarding state information required in core routers, especially when a large number of medium/small-sized multicast demands arrive to the core network, because the state data that needs to be kept at intermediate core routers grows proportionally to the number of multicast demands. In this scenario, we study the aggregation of multicast demands into shared distribution trees, providing a set of techniques to observe the trade-off between bandwidth and state information. This study is made in the context of MPLS VPN-based networks, with the aggregation of multicast VPNs in different real network scenarios and using novel heuristics for aggregation. Still, the main problem of aggregation is the high percentage of wasted bandwidth that depends mainly on the amount of shared trees used. On the other hand, recent works have brought back Bloom filters as an alternative for multicast forwarding. In this approach the packet header contains a Bloom filter that is evaluated at each hop for matching with the corresponding outgoing link ID. Although this approach is claimed to be stateless, it presents serious drawbacks due to false positives, namely important forwarding anomalies (duplicated flows, packet storms and loops) and the header overhead. In order to solve these drawbacks we propose D-MPSS (Depth-Wise Multi-Protocol Stateless Switching). This technique makes use of a stack of Bloom filters instead of a single one for all the path/tree, each one including only the links of a given depth of the tree. Analytical studies and simulations show that our approach reduces the forwarding anomalies present in similar state-of-the-art techniques, achieving in most network scenarios a forwarding efficiency (useful traffic) greater than 95%. Finally, we study the possibility of using tree aggregation and Bloom filters together, and propose a set of techniques grouped as H-ABF techniques (hybrid aggregation - Bloom filter-based forwarding), which improve D-MPSS and other previously proposed techniques, practically eliminating the forwarding loops and increasing the forwarding efficiency up to more than 99% in most network scenarios. -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Aunque el servicio de multidifusión (multicast) basado en redes es la mejor manera de dar soporte a una gran variedad de aplicaciones populares como la televisión de alta definición (HDTV), el video bajo demanda (VoD), el servicio de LAN privadas virtuales (VPLS), la computación grid, las redes de área de almacenamiento óptico (O-SAN), la videoconferencia, la educación a distancia, los juegos masivos de rol en línea de múltiples jugadores (MMORPG), la realidad virtual en red, etc., hay varias razones tecnológicas y operacionales que le impiden un mayor despliegue. Esta tesis doctoral aborda este problema en el contexto de las redes troncales de transporte, proponiendo y analizando técnicas de bajo coste y escalables para dar soporte al multicast tanto para la capa óptica como para la capa de red (redes MPLS-IP). En la capa óptica, en particular en las redes ópticas conmutadas por circuitos con multiplexación de longitud de onda (WDM), los diseños de nodos OXC con capacidades multicast muestran una gran complejidad y altos niveles de atenuación, principalmente debido a la necesaria operación de división de la señal, además del paso de ella a través de una compleja fase de conmutación. Esto hace que el soporte multi-punto sea raramente incluido en los nodos OXC comerciales. Inspirados en trabajos previos de la literatura, proponemos una novedosa arquitectura que combina lo mejor de dividir (splitting) y tap-y-continuar (TaC), llamado 2-STC (2-split-tapand- continue) en el marco de trabajo de la óptica integrada. Un nodo OXC 2-STC es un diseño flexible capaz de hacer tapping (tomar una pequeña muestra de la señal) y dividir la señal hacia un máximo de dos enlaces de salida, con el fin de obtener una menor latencia terminal-a-terminal que en TaC y una mejorada distribución de la disponibilidad de potencia por encima de los diseños split-and-delivery (SaD). Otra ventaja de esta arquitectura es su simplicidad y el número reducido de componentes requerido, escalando bien para las implementaciones del nodo con muchos puertos de entrada/salida. Extensas simulaciones muestran que la división binaria (2-split) es prácticamente suficiente para la mayoría de las topologías de redes de transporte en la vida real, debido a que el grado promedio de los nodos es usualmente 3 y 4. Una variante de este diseño, llamada 2-STCg, para hacer el nodo capaz de realizar grooming (es decir, la capacidad de acomodar demandas de menor velocidad en longitudes de onda - enlaces) de tráfico óptico, es también presentada. En la capa de red, una de las principales razones que obstaculizan el despliegue del multicast es la gran cantidad de información del estado de reenvío requerida en los enrutadores de la red de transporte, especialmente cuando un gran número de demandas multicast de tamaño mediano/pequeño llegan a la red de transporte, ya que los datos de estado a ser almacenados en los enrutadores crecen proporcionalmente con el número de demandas multicast. En este escenario, estudiamos la agregación de demandas multicast en árboles de distribución, proporcionando un conjunto de técnicas para observar el equilibrio entre el ancho de banda y la información de estado. Este estudio está hecho en el contexto de las redes basadas en redes privadas virtuales (VPN) MPLS, con la agregación de VPNs multicast en distintos escenarios de redes reales y utilizando nuevos heurísticos para la agregación. Aún así, el principal problema de la agregación es el alto porcentaje de ancho de banda desperdiciado que depende principalmente de la cantidad de árboles compartidos usados. Por otro lado, trabajos recientes han vuelto a traer a los filtros de Bloom como una alternativa para realizar el reenvío multicast. En esta aproximación la cabecera del paquete contiene un filtro de Bloom que es evaluado en cada salto para emparejarlo con el identificador del enlace de salida correspondiente. Aunque se afirma que esta solución no utiliza información de estado, presenta serias desventajas debido a los falsos positivos, esto es, anomalías de reenvío importantes (flujos duplicados, tormentas de paquetes y bucles) y gasto de ancho de banda por la cabecera de los paquetes. Para poder resolver estos problemas proponemos D-MPSS (Depth- Wise Multi-Protocol Stateless Switching). Esta técnica hace uso de una pila de filtros de Bloom en lugar de uno sólo para todo el camino/árbol, incluyendo cada uno sólo los enlaces de una determinada profundidad del árbol. Estudios analíticos y simulaciones demuestran que nuestra propuesta reduce los anomalías de reenvío presentes en otras técnicas similares del estado del arte, alcanzando en la mayoría de escenarios reales una eficiencia de reenvío (tráfico útil) mayor que 95%. Finalmente, estudiamos la posibilidad de usar agregación de árboles y filtros de Bloom juntos, y proponemos un conjunto de técnicas agrupadas como técnicas HABF (hybrid aggregation - Bloom filter-based forwarding), que mejoran D-MPSS y las otras técnicas propuestas previamente, eliminando prácticamente los bucles e incrementando la eficiencia de reenvío hasta más de un 99% en la mayoría de los escenarios de redes

    QoS SOLUTIONS FORVIDEOCONFERENCING

    Get PDF
    This project is intended to gain knowledge and apply the theory leamt about the need of QoS in videoconferencing and the various options available. Today's conferencing applications are now IP friendly, it can run on either dedicated lines (like ISDN or telephone lines) or IP networks. However, as most network administrators know, conferencingapplications can wreak havoc on unprepared corporate networks. The key to successfully deploying conferencing applications is the activation of Quality of Service (QoS). QoS refers to a network's ability to reliably and consistently provide a certain level of throughput and performance. QoS for conferencing typically involves network availability, bandwidth, end-to-end delay, jitter, and packet loss. Simply stated, if the network doesn't conform to the minimum requirements in any of these areas, the conferences are doomed to fail. QoS can be achieved in a variety of ways, including over-provisioning (deploying additional bandwidth), data prioritization, and the use of QoS-enabled overlay or converged networks. Organizations have two main options for deploying QoS within their organizations; convergence or overlay. Convergence requires the use of QoS-capable WAN links throughout the organization. In many cases, this requires a fork-lift upgrade and migration of all network resources, which can place convergence out of reach of many cost-sensitive organizations. On the other hand, overlay networks allow a step-by-step migration from a non-QoS to a QoS network without the high cost and inherent risk of major network reconfigurations. In this way, overlay networks are a first step toward convergenc

    MPLS and GMPLS Networking Control and Management Technologies

    Get PDF

    Optical fibre local area networks

    Get PDF

    Network coding data planes with programmable switches

    Get PDF
    Tese de mestrado, Engenharia Informática (Arquitectura, Sistemas e Redes de Computadores), Universidade de Lisboa, Faculdade de Ciências, 2017Atualmente, as redes de computadores seguem um paradigma tradicional de store-andforward, ou seja, os dispositivos de rede fazem armazenamento, encaminhamento e/ou replicação de pacotes recebidos, sem os modificar. No virar do milénio, surgiu um artigo seminal [24], no qual foi demonstrado teoricamente que a combinação da informação proveniente de diversos pacotes, permite aumentar a capacidade de uma rede relativamente à capacidade máxima, alcançada por simples encaminhamento. Este resultado representou o nascimento de uma área promissora de investigação, conhecida como Codificação na Rede (Network Coding). A ideia é permitir que os nós intermédios da rede, possam aplicar uma função de codificação sobre o conteúdo dos pacotes antes do seu encaminhamento, proporcionando assim um novo paradigma de store-code-forward. A família de técnicas tradicionais pode ser divida em duas categorias, com propósitos distintos. Codificação na Origem (Source Coding) com o objetivo de comprimir a informação enviada, e Codificação no Canal (Channel Coding) para compensar perdas e alteração de informação em canais ruidosos. Com codificação na rede, surge oportunidade para a definição de técnicas mais elaboradas e que visam outros propósitos. Deste modo, as técnicas de codificação tradicionais podem ser extendidas para além da codificação de pacotes em nós de origem, e da descodificação em nós de destino. De um ponto de vista geral, a codificação na rede tem potencial para melhorar a taxa de transferência de informação na rede; aumentar a resiliência contra perda de pacotes, interrupção de canais e nós da rede; e aumentar a segurança contra ataques maliciosos que visam a captura, interpretação e modificação de pacotes. Como técnica, a codificação na rede pode ser aplicada de dois modos distintos. Por um lado, sobre pacotes provenientes de um único fluxo de comunicação (intraflow network coding) e por outro, sobre múltiplos fluxos sem qualquer relação entre si (interflow network coding). A título de exemplo, se considerarmos dois fluxos que chegam a um switch por dois canais distintos, mas que contestam o mesmo canal de saída, temos um gargalo na rede. Usando codificação na rede, o switch pode aplicar, bit a bit, o Ou-Exclusivo (XOR) sobre dois pacotes (um de cada fluxo) e encaminhar o resultado. A taxa de transferência é melhorada, pois o switch necessita apenas de encaminhar um pacote codificado em vez de dois originais. É de salientar que, de forma a descodificar o pacote, o nó de destino tem de ter um dos pacotes originais usados na codificação. Portanto, as vantagens da codificação na rede estão dependentes da topologia da rede, da própria função de codificação utilizada, e do modo como é aplicada. Numa rede, um nó intermédio terá à partida acesso a vários pacotes. De forma a tirar máximo partido da técnica de codificação na rede, as funções de codificação utilizadas acabam por consistir num código linear (Linear Network Coding). A ideia é considerar todos os pacotes de uma mensagem a enviar (por exemplo, um ficheiro de texto, um vídeo, ou até um simples pedido HTTP) como um vetor de elementos de um dado campo finito. O tamanho de cada elemento, é dado pelo número de bits necessário para representar o maior valor desse campo. Se por exemplo o campo finito for 256, cada elemento terá 8 bits. A um vetor de elementos, damos o nome de símbolo. Associado a cada símbolo transmitido na rede, existe um vetor de coeficientes, necessário para codificação e descodificação. O tamanho do vetor, é ditado pelo número de símbolos originais. Se a mensagem é divida em 5 símbolos, então o vetor tem tamanho 5. Para codificar e criar um novo símbolo, o nó da rede começa por selecionar um novo vetor de coeficientes local. A função de codificação consiste numa combinação linear sobre um dado número de símbolos, utilizando o novo vetor local. O vetor do novo símbolo codificado é obtido da mesma forma. Sobre os vetores dos símbolos utilizados, é feita uma combinação linear utilizando o vetor local. Para descodificar os símbolos originais, são necessários um número igual de símbolos codificados, linearmente independentes. De forma a que os símbolos codificados e recodificados na rede, sejam linearmente independentes, podem ser utilizados algoritmos de tempo polinomial [59], para estabelecer os vetores locais utilizados por cada nó intermédio da rede. De forma a simplificar o problema, os vetores locais podem ser aleatórios (Random Linear Network Coding). Se o campo finito for suficientemente grande, a probabilidade de obter símbolos codificados linearmente independentes chega perto dos 100%. De forma a ter vetores mais reduzidos, tornando as operações mais simples, e permitindo uma descodificação gradual, os símbolos originais da mensagem podem ser organizados em gerações. Por cada geração, são gerados e injetados pela rede, símbolos codificados. Quando uma geração é descodificada, procede-se para a geração seguinte. Repare-se que a função de codificação referida anteriormente, com base em XOR, é o caso base e mais simples de um código linear. Neste caso, o campo finito é de tamanho 2. Apesar de ser um conceito relativamente simples, implementar e usar técnicas de codificação no plano de dados dos próprios dispositivos de rede é uma tarefa bastante complicada. Até mesmo quase impossível na maioria dos casos, visto que a payload dos pacotes é sujeita a alterações. O seu funcionamento baseia-se em protocolos fixos, que correm no próprio hardware de forma a maximizar o desempenho, o que torna difícil a tarefa de configurar e gerir uma rede para além das simples operações de encaminhamento de pacotes. Por este motivo, as implementações práticas de codificação na rede que têm vindo a surgir nos últimos anos, operam em redes overlay. Uma rede overlay reside logicamente na camada de aplicação, implicando que os dispositivos de rede propriamente ditos não são alterados. O interesse crescente em operações mais complexas e exigentes na rede, mas condicionado pelo funcionamento rígido e fechado dos routers e switches tradicionais, motivou uma mudança de paradigma: de redes configuráveis para redes programáveis. A primeira instância de uma rede programável é conhecida como Rede Definida por Software (SDN). Numa rede SDN, o plano de controlo é separado do plano de dados, e reside num dispositivo à parte - um controlador logicamente centralizado. Utilizando a informação de pacotes provenientes do plano de dados dos switches, o controlador pode definir políticas de configuração mais flexíveis e instalar regras nas tabelas match-action dos mesmos. A comunicação entre os switches e o controlador está estandardizada, sendo utilizado um protocolo conhecido como OpenFlow. A limitação de switches e controladores Open- Flow está no processamento de pacotes, que continua a ser fixo. De facto, o OpenFlow atua sobre um conjunto fixo de protocolos. Além disso, a sequência de tabelas e ações de um switch Openflow também é fixa. Portanto, o OpenFlow não permite realmente definir nova funcionalidade no plano de dados de um switch. Apenas fornece um meio para o controlador tomar decisões e instalar regras nas tabelas match-action, dos mesmos. No âmbito de codificação na rede, este fator impossibilita a alteração da payload dos pacotes, e consequentemente a sua combinação. No entanto, têm vindo a surgir recentemente switches programáveis, alguns até já em produção (por exemplo, Tofino da Barefoot Networks). Estes dispositivos permitem a programação e reprogramação do plano de dados, o que possibilita uma definição precisa e customizada do modo de processamento de pacotes. Com esta liberdade, a codificação na rede torna-se possível, no plano de dados. Porém, a sua programação é baseada em interfaces de baixo nível, tornando-se um processo demorado e doloroso. Esta dificuldade, acrescida também às limitações descritas do OpenFlow, motivou a criação da linguagem de alto nível, P4. A linguagem P4 permite definir cabeçalhos, parsers e a sequência de tabelas de matchaction, para qualquer dispositivo de rede compatível. As ações podem ser definidas utilizando um conjunto de primitivas básicas oferecidas pela linguagem. A linguagem P4 oferece três vantagens. Primeiro, não está dependente de protocolos e formatos de pacotes específicos, uma vez que a sua definição pode ser feita pelo programador. Segundo, permite a reconfiguração do switch a qualquer momento. Terceiro, não depende do hardware subjacente, podendo ser escrita, da mesma forma, para qualquer dispositivo que tenha o compilador adequado. O objetivo desta dissertação consiste no desenho, implementação e avaliação do primeiro switch capaz de realizar codificação no plano de dados, recorrendo à linguagem P4. Mais concretamente, a nossa solução consiste em dois switches: um que executa XOR (P4- XOR Switch), e outro que executa uma variante de Random Linear Network Coding (P4-RLNC Switch). Durante a implementação enfrentámos vários desafios, devido às peculiaridades da linguagem. Entre os principais fatores que dificultaram a implementação, está o facto de a linguagem ser declarativa, não permitindo a criação de estruturas de dados auxiliares em tempo de execução; e a impossibilidade de criar ciclos, essencial para repetir o mesmo processo de codificação sobre os vários elementos dos símbolos, no caso do P4-RLNC Switch. Sendo um trabalho inovador, a avaliação focou-se essencialmente na funcionalidade dos dois switches concretizados. Adicionalmente, a performance do P4-XOR Switch também foi avaliada.Network Coding (NC) is a technique that can be used to improve a network’s throughput. In addition, it has significant potential to improve the security, manageability, resilience (to packet losses, link failures and node departures) and the support of quality of service, in both wired and wireless network environments. The idea is to allow intermediate nodes of the network (i.e. switches and/or routers) to mix the contents of incoming data packets before forwarding them. Something that, traditionally carried out at source nodes, is therefore extended to the network, creating an array of new options. The difficulty of deploying NC on traditional switches lies in the impossibility to change or extend their operation with the requirements of this new paradigm. The devices are closed, the software and underlying hardware are vendor specific, and follow a fixed set of protocols and processing pipeline. This rigidity precludes NC in today’s switches and routers. Fortunately, programmable switches are beginning to emerge, with some already achieving production-levels and reaching the market (e.g., Barefoot Tofino). A new high-level language to program these switches has recently been proposed: P4. The P4 language allows the precise definition of how packets are processed in these programmable switches. Namely, it enables the definition of headers, parsers, match-action tables, and the processing pipeline itself. Therefore, by taking advantage of these constructs, P4 enables the deployment of NC, on the switch’s data plane, for the first time. In this dissertation, we design and implement two NC switches using the P4 language. Both switches employ Linear Network Coding (LNC). The main difference is that the first (P4-XOR Switch), simply performs the XOR of packets (i.e., a linear code with field size 2). The second (P4-RLNC Switch) is more generic, allowing larger field sizes. For this purpose it performs Random Linear Network Coding (RLNC), which is a random variant of LNC. The evaluation was performed on Mininet (a network emulator) and focused on the functionality of both switches. Additionally, the performance of the P4-XOR Switch was tested as well. The main conclusion is that our implementations correctly perform the required operations allowing, for the first time, NC to be performed in real data planes
    corecore