Mostrando postagens com marcador SDN. Mostrar todas as postagens
Mostrando postagens com marcador SDN. Mostrar todas as postagens

terça-feira, 4 de agosto de 2015

Instalação do Linux ONL em Switches Bare Metal

Olá Pessoal.

Os switches bare metal, também conhecidos como caixas brancas, são switches em que o hardware e o software são vendidos separadamente, ou seja, é possível comprar simplesmente a caixa "vazia" (hardware) sem nenhum sistema operacional pré-instalado. Dessa maneira, pode-se optar por uma versão comercial ou mesmo distribuições gratuitas de um Sistema Operacional de Rede ou NOS, do inglês Network Operating System.

O Open Network Linux (ONL) é a distribuição Linux open-source mais tradicional que foi especificamente desenvolvida para ser instalada em switches bare metal. A vantagem de utilizar uma distribuição desenvolvida para caixas brancas é que ela vem carregada com drivers e funcionalidades específicas do hardware, como por exemplo suporte aos slots SFP (1GbE), SFP+ (10GbE), etc... Uma vantangem das caixas brancas abertas em relação ao tradicional modelo fechado das caixas pretas é que é possível personalizar via software as funcionalidades que o switch irá assumir, de maneira que a caixa pode executar funções de switch layer-2, de roteador layer-3, de firewall, etc.


O objetivo deste artigo é mostrar aos leitores os passos necessários para instalar o ONL em caixas brancas que sejam homologadas para operar com essa distribuição de NOS. Para fazer os testes de instalação do ONL tive acesso a um switch bare metal da Edge-Core, especificamente o modelo AS5600-52X, que se trata de um switch TOR (Top of Rack) para ambientes de Data Center que possui 48 portas 10GbE e 4 portas 40GbE. Esse equipamento, além de ser uma caixa branca bastante poderosa, é hardware homologado pela ONL. A relação completa de switches homologados pode ser encontrada no link abaixo:


A maioria dos switches bare metal homologados possuem o ONIE (Open Network Install Environment), um boot loader que deve ser utilizado para instalar o NOS desejado pelo usuário. Na prática o ONIE é um pequeno sistema operacional pré-carregado como firmware no switch para facilitar o processo de instalação do NOS desejado pelo administrador.

Há várias maneiras de instalar o ONL, seja localmente através do console (out-band) ou mesmo remotamente através da rede (in-band). Caso o leitor esteja interessado em outros métodos para instalar o ONL através da rede, recomendo a leitura da seguinte documentação: 


Nos testes em que fiz optei pela instalação local através do console, por isso estarei documentando esse processo que é mais rápido e mais fácil. Antes de começar é importante acessar o site do ONL (http://opennetlinux.org/binaries) para baixar os respectivos arquivos que sejam compatíveis com o processador do switch e copiá-los em um pen-drive. Para instalar o ONL são necessários dois arquivos, um com extensão .installer e outro .swi. No caso desse exemplo, utilizei os seguintes arquivos compatíveis com o processador FreeScale P2020 do AS5600-52X:

  • onl-271da8d-powerpc-all.2015.06.05.01.22.installer
  • onl-271da8d-powerpc-all-2015.06.05.01.22.swi

O primeiro passo é conectar o cabo serial de console no switch. Ao ligar o switch, na sequência do boot, basta pressionar <ENTER> para ativar o modo interativo do ONIE. Caso o usuário interrompa o processo de boot antes do seu término (o que pode acontecer por engano), basta digitar boot no prompt para que o boot seja continuado. Na sequência, basta montar a partição do pen-drive localmente e executar o script de instalação do ONL (destaque em amarelo).

** Installer Mode Enabled **

ONIE:/ # fdisk -l
(...) Saída Omitida: Identificar Partição do Pen-Drive
ONIE:/ # mount /dev/sdXX /mnt
ONIE:/ # cd /mnt
ONIE:/ # sh onl-271da8d-powerpc-all.2015.06.05.01.22.installer
 Open Network Installer running under ONIE.
 Installer Version: Open Network Linux e148b7a (powerpc.all,...)
 Detected platform: powerpc-...
 Installing in standalone mode.
 Unpacking Open Network Linux installer files...
 onl.powerpc-as5600-52x.loader
 (...) Saída Omitida

Obs.: Nos testes em que realizei com colegas da FEEC/Unicamp, tivemos um problema de nomenclatura do hardware observado na figura abaixo. O nome identificador da plataforma suportada pelo instalador disponível no site do ONL é powerpc-as5600-52x, mas o nome da plataforma nos novos switches AS5600-52X da EdgeCore é powerpc-accton-as5600-52x-r0. Para contornar esse problema optamos por parar o script de descoberta automática das imagens, alterar manualmente o nome da plataforma no arquivo /etc/machine.conf e, somente então, executar o instalador (.installer). Os comandos abaixo foram utilizados para realizar essa solução de contorno:

ONIE:/ # /etc/init.d/discover.sh stop
ONIE:/ # vi /etc/machine.conf 
(...) realizar alteração manual

Tela de Erro do Nome Identificador da Plataforma

A partir deste ponto todas as configurações do switch e suas interfaces são realizadas através do ONL que é uma distribuição Linux baseada em Debian, sendo que a conta padrão para realizar o primeiro acesso ao sistema consiste no usuário "root" e senha "onl", lembrando que é recomendada a alteração da senha logo no primeiro acesso. Vale o conhecimento prévio do administrador na principal distribuição Linux, principalmente nas ferramentas dos pacotes iproute2 (ex.: ip) ou net-tools (ex.: ifconfig, route, arp, etc), inclusive no que diz respeito à inserção de novos pacotes através do apt-get. É possível instalar o Quagga (ou BIRD) e tratar a caixa como um roteador com alta densidade de portas, assim como é possível programar novas funcionalidades.

Enfim, são várias as possibilidades! :-)

Samuel.

terça-feira, 13 de janeiro de 2015

Palestra na Campus Party Brasil (CPBR8)

Olá Pessoal,

Nos dias 03 a 08 de fevereiro ocorrerá a oitava edição da Campus Party Brasil (CPBR8), o maior evento do mundo em tecnologia, principalmente nas áreas de inovação, criatividade, ciência, empreendedorismo e entretenimento digital. Em 2015 o evento será realizado na Expo Imigrantes (SP) e as vagas estão esgotadas, por isso os interessados devem se inscrever na lista de espera.


A convite dos colegas do NIC.br, pelo segundo ano consecutivo estarei palestrando no painél intitulado "Redes e Internet do Futuro: SDN e NDN", que será realizado no dia 06/02 (sexta-feira), no período da manhã, no palco Netuno da arena (trilha Redes e Segurança).

Conteúdo da Palestra:

A palestra irá apresentar duas propostas inovadoras na área de redes de computadores que atualmente são "hot topics" de pesquisa nas universidades do mundo todo, especificamente no que diz respeito ao conceito de SDN (Software-Defined Networking) e NDN (Named Data Networking). O paradigma SDN está em amplo crescimento inclusive nas indústrias com casos de sucesso de implantação em operadoras de telecomunicações e data-centers. O conceito futurista de NDN é uma aquitetura de Internet do futuro liderada pelo cientista Van Jacobson que propõe um novo paradigma orientado a conteúdo (information-centric) em substituição ao atual TCP/IP (host-centric). 

Mais uma vez espero encontrar vocês por lá!

Samuel.

###--- Conteúdo Adicionado em 09/02/2015


quinta-feira, 19 de junho de 2014

Switch Open Source do Facebook vs Cisco

Olá Pessoal.

Hoje de manhã a redação do "Olhar Digital" publicou uma matéria polêmica em seu site, intitulada "Facebook cria hardware open source que pode desbancar Cisco" (link na íntegra). Apesar do seu conteúdo ser bastante relevante no atual cenário da área de networking, seu título é um tanto sensacionalista e foi motivo de muita discussão nas redes sociais - provavelmente esse era o objetivo! O Wedge é o Switch Open Source  do Facebook (vide figuras), cujo gerenciamento e configuração são realizados pelo software FBOSS, fora do dispositivo (controladora externa). A "tecnologia" por trás da matéria é uma espécie híbrida de SDN, acrônimo de Software-Defined Networking. 

Atualmente os dispositivos que compõem a infraestrutura das redes (switches, roteadores e appliances) possuem na mesma caixa ambos os planos de encaminhamento (via hardware) e de controle (via software). O paradigma SDN propõe o desacoplamento dos planos de controle e de encaminhamento, tornando os dispositivos da infraestrutura (hardware) bastante simples e especializados em encaminhar pacotes, sendo que surgem novos elementos de software responsáveis pela inteligência (plano de controle).


Fonte: Facebook Code

 A maior promessa de SDN é que esses controladores são programáveis, o que permite que toda a rede seja gerenciada e remodelada com base nas necessidades específicas de cada ambiente (flexibilidade). Não pretendo detalhar SDN e os leitores interessados no assunto podem recorrer a outro artigo que escrevi há um ano, intitulado "Paradigma SDN de Redes Programáveis". Aproveito a oportunidade para reproduzir no blog uma ponderação minha sobre o assunto que foi fruto de uma discussão no grupo "CCNA Brasil" do Facebook. 

É importante ter em mente que qualquer previsão radical tende a ser frustrada no panorama da computação, a exemplo de várias afirmações totalmente equivocadas que grandes nomes da indústria de computação já manifestaram em momentos históricos. Aliás, penso que o posicionamento radical não é saudável em nenhuma área do saber, basta observar as consequências do radicalismo na política... A discussão no grupo se desenvolveu no sentido de buscar uma resposta sobre o quanto SDN é realmente apelativo para a indústria e quais são suas perspectivas futuras, especificamente no que diz respeito à Cisco. Outra preocupação é o reflexo desse novo paradigma para os profissionais especializados na área de redes. Pois bem, minha contribuição foi a seguinte:

***

Vale lembrar que a Cisco está acompanhando o mercado e financia pesquisas em SDN. Dentre outras empresas líderes da indústria, a Cisco é membro da ONF (Open Network Foundation). Inclusive participou do processo de definição do framework Open Daylight, considerado um padrão SDN, ainda muito recente (2013). Além de padrões abertos, a Cisco também tem suas propostas menos flexibilizadas, a exemplo do ONE e OpFlex. 

O OpFlex, por exemplo, propõe uma arquitetura de SDN um pouco diferente da convencional, se é que podemos dizer que existe algo convencional em SDN, onde os dispositivos (plano de encaminhamento via hardware) têm "inteligência" para interpretar comandos externos (do plano de controle) escritos em "linguagens" de alto nível de forma declarativa e, então, decidir as melhores configurações que devem ser realizadas para efetivar um comando. Essa é uma estratégia que a Cisco enxerga como possibilidade para manter sua liderança num possível futuro em que o plano de controle esteja em dispositivos externos, já que os dispositivos de encaminhamento não teriam que ser tão simples (e baratos). 

Por outro lado, essa proposta não é bem vista no contexto original de SDN que busca simplificar (especializar) a operação de encaminhamento. O SDN é apenas uma peça num quebra-cabeça maior proposto pela IBM denominado SDE (Software-Defined Environment), que busca flexibilizar TODA a infraestrutura de TI, inclusive os sistemas e bancos de dados. O fato é que a gente vai presenciar muitas mudanças nos próximos 10 anos, como já estamos presenciando atualmente, e continuaremos tendo que nos reciclar continuamente. Não adianta chorar, o importante é acompanhar... Se não for SDN, serão outras as tecnologias com potencial para causar ruptura no mercado: para as empresas e profissionais.

***

É inegável que está surgindo um movimento crescente nas grandes empresas de computação que possuem enorme tráfego de dados no sentido de adotar soluções SDN, sejam elas proprietárias ou abertas - por isso temos que aceitar o potencial desse novo paradigma. Por outro lado, também é inegável que hardware poderoso e de qualidade é imprescindível para lidar com grandes volumes de pacotes (pps). Nesse aspecto temos que reconhecer que hardware de qualidade especializado em rede é algo que a Cisco sabe fazer, assim como outras empresas líderes da indústria neste segmento! Por fim, a definição de SDN ainda está em processo de amadurecimento e é cedo para fazer previsões otimistas ou pessimistas, o importante é acompanhar...

Abraço.

Samuel.

sexta-feira, 12 de julho de 2013

Paradigma SDN de Redes Programáveis

Olá Pessoal.

Um tema ainda recente na área de redes de computadores e que tem se destacado de maneira crescente nos últimos anos, inclusive com a adoção de algumas soluções comerciais por parte das principais empresas fabricantes de dispositivos de redes, é um novo paradigma de controle da infraestrutura conhecido como SDN (acrônimo de Software-Defined Network).

O termo surgiu em 2005 decorrente de pesquisas originalmente desenvolvidas pela Universidade de Stanford. O principal argumento favorável à SDN é que essa abordagem viabiliza que os serviços em execução na infraestrutura de rede podem ser gerenciados mais facilmente e com grande flexibilidade. Qual seria a idéia principal dessa presunção? É isso que vou tentar elucidar de maneira objetiva nesse artigo...

Atualmente na arquitetura dos principais dispositivos de redes (hardware), a exemplo de roteadores e switches, é comum organizarmos a disposição dos seus componentes eletrônicos em dois planos lógicos que são conhecidos como: 

  1. Plano de Dados ou Encaminhamento 
  2. Plano de Controle ou Gerência. 

O motivo de fazê-lo é garantir máximo desempenho à principal tarefa desses dispositivos: o encaminhamento de pacotes entre suas interfaces. No entanto o encaminhamento não pode ocorrer por si só sem informações de controle que determinem a inteligência dessas ações. 

Como a tarefa de encaminhamento de pacotes entre interfaces é bastante direta e objetiva, então sua implementação faz parte do plano de encaminhamento. Já a implementação da inteligência que diz respeito à gerência, configurações e protocolos dos dispositivos faz parte do plano de controle. 

Para entender melhor tudo isso vamos pegar como exemplo um roteador. Sabemos que o processo de roteamento, seja estático ou dinâmico, somente é possível porque os roteadores formam uma tabela de roteamento com informações que são consultadas para determinar o destino dos pacotes, o que torna possível encaminhá-los para suas respectivas interfaces de saída que devem alcançar o destino previsto.

A descrição acima é verdadeira, mas muito simplista. Na realidade existem memórias eletrônicas na arquitetura dos roteadores que armazenam algumas estruturas de dados que são utilizadas em variados contextos. Então vamos detalhar um pouco mais essas estruturas, mas tenham em mente que o exemplo aqui trazido é generalista e diferentes fabricantes podem implementar essas estruturas de maneira particular em seus equipamentos! Observem na figura abaixo os principais componentes de um roteador:




É no plano de controle que fica armazenada uma estrutura de dados denominada RIB (Routing Information Base). Essa estrutura é reponsável por armazenar todas as informações de vizinhança entre os roteadores e todas as rotas conhecidas até um determinado destino, seja ela a melhor ou não - simplesmente todas as rotas possíveis estão armazenadas nessa estrutura. É com base nessas estruturas que agem os principais protocolos de roteamento, seja para adicionar, modificar, remover ou consultar seu conteúdo. É de se imaginar que essa estrutura normalmente não é pequena e que esse processo de implementar a inteligência da rede não é simples porque envolve a ação de algoritmos que podem ser bem complexos.

Para otimizar o desempenho de encaminhamento dos roteadores existe outra estrutura de dados no plano de encaminhamento que é denominada FIB (Forwarding Information Base), essa sim mais próxima da tradicional tabela de roteamento que consultamos frequentemente no cotidiano. A FIB é uma estrutura bem mais simples que armazena somente a melhor rota para cada destino, ou algumas melhores dependendo da inteligência de roteamento. Normalmente essa estrutura é implementada através de tabelas hash para torná-la menor e agilizar o processo de busca de informação (lookup). 

Ou seja, a FIB (plano de encaminhamento) é gerada a partir da RIB (plano de controle). Dessa forma a operação do plano de encaminhamento ganha um certo grau de independência dos processos em execução no plano de controle e os dispositivos de rede podem fazer um lookup mais rápido e eficiente, o que reflete no desempenho do encaminhamento de pacotes. Em síntese, o plano de encaminhamento se limita a receber os pacotes, buscar uma correspondência na FIB e fazer o encaminhamento dos pacotes se houver essa correspondência. Mais uma vez reforço que essa descrição não é uma regra e pode variar na implantação de diferentes dispositivos e de diferentes fabricantes!

O paradigma SDN propõe uma ruptura nesse modelo tradicional, através do desacoplamento ainda maior entre os planos de controle e de encaminhamento. Assim passam a existir novos elementos na rede que ficam "exclusivamente" responsáveis pelo controle (inteligência), denominados controladores. E mais, esses controladores são programáveis via software, o que permite que toda a rede seja gerenciada e até mesmo remodelada com base em suas necessidades reais. A figura abaixo ilustra essa proposta:


Ao fazê-lo os dispositivos da infraestrutura tornam-se eletronicamente bastante simplificados porque seu foco passa a ser a tarefa de encaminhamento dos pacotes (plano de encaminhamento), desde que haja interfaces programáveis via software (API) que possam se comunicar com os controladores externos. Existem algumas propostas de padronização dessas APIs, mas sem dúvidas a mais conhecida delas é o OpenFlow que, a cada dia, passa a ser aderido por mais empresas fabricantes de dispositivos de redes.

Embora SDN seja o nome consagrado na academia (e isso não deve mudar), eu particularmente não acho que o nome Software-Defined Network seja o mais adequado, visto que atualmente é comum a implementação dos planos através de software na arquitetura interna (localmente) dos dispositivos. Ao meu ver a mudança mais visível na SDN é a idéia da controladora externa, algo que na realidade não chega a ser uma grande novidade se tomarmos como exemplo as controladoras de várias soluções wireless existentes no mercado e que ficam responsáveis pelo gerenciamento centralizado dos APs.

O grande diferencial do SDN, na realidade, é a proposta da utilização de interfaces programáveis (APIs) entre os dispositivos e a(s) controladora(s), o que traz potencial para que TODO o modo de operação das redes seja repensado e reescrito! Um passo além, o esforço de padronização dessas interfaces traz um potencial ainda maior para esse paradigma. 

Há uma vertente de pesquisadores que entende que esse novo paradigma assusta as empresas fabricantes de dispositivos de redes porque equipamentos com hardware convencional podem ser utilizados como controladora e por isso essas empresas perderiam mercado para novos entrantes. São muitos os que defendem essa idéia...

Eu tenho minhas dúvidas e diria até que não concordo com isso, pelo menos não dessa maneira radical. Penso assim porque é necessário reconhecer que uma das características mais relevantes na disputa entre as empresas fabricantes de dispositivos de rede está justamente na qualidade e desempenho do hardware desenvolvido - e isso não deve mudar, principalmente quando pensamos em ambientes onde há grande fluxo de dados.

Entendam que essa visão não é contrária ao paradigma SDN, afinal existe um grande potencial em "casar" o desenvolvimento de hardware de qualidade aliado com interfaces programáveis, principalmente no que diz respeito à possibilidade de as empresas criarem controladoras próprias e APIs que ofereçam flexibilidade para ambientes específicos, a exemplo de Data-Centers,  algo que a Cisco (e outros fabricantes) já oferece. Quem tiver mais interesse na solução SDN da Cisco, saiba que ela é denominada ONE (Open Network Environment). Vejam detalhes no link abaixo:


Essa é mais um daqueles tópicos recentes de pesquisa na área de redes em que é muito difícil assegurar os rumos do seu futuro comercial...

Abraço.

Samuel.