Loading

Module 1: Roteadores e Networking

Nota de Estudos
Study Reminders
Support
Text Version

Rede Definida de Software

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Networking Definido por Software
Bem-vindo de volta para o curso em Redes de Computadores e Protocolos da Internet. Então, até que aúltima aula nós olhamos para o design detalhado de mecanismo de roteamento IP e a estruturado roteador IP. Agora iremos para um pequeno tópico avançado que chamamos como oSoftware Defined Networking.Então, esse conceito de rede definida por software é um padrão recente e próximo etodos os roteadores tradicionais devem ser substituídos por roteador habilitado SDN. Então, nós vamosdiscutir brevemente sobre o que é SDN? Qual é a utilidade do SDN? Como o SDN difere de uma arquitetura de roteador tradicionalque discutimos anteriormente.E então vamos analisar certos tópicos em SDN que como podemos programar um roteador como conceito de tecnologia SDN. E como estamos gradualmente migrando de uma arquitetura de roteador distribuído tradicionalpara a arquitetura de roteadores suportados pelo SDN. Então, o conceitode SDN é algo assim.(Consulte o Slide Time: 01:27)Uma arquitetura de rede definida por software é uma estrutura de rede que envolve emseparando uma função de controle da rede ’ a partir de sua função de encaminhamento de dados, ecentralizando sua inteligência, e abstrando sua arquitetura subjacente a partir de aplicativose serviços. Então, esse é o tipo de definição formal de rede definida por software.Agora as palavras-chave amplas dentro dessas definições são as seguintes, primeiro de tudo estamos tentandoseparar as funcionalidades de controle e as funcionalidades de dados dentro de um roteador.O que é significar separando as funcionalidades de controle e funcionalidades de dados?Então, nas últimas palestras vimos que bem dentro de um roteador você tem dois níveis diferentes de abstração. Você tem o plano de controle que é implementado como uma parte do softwareque implementa as funcionalidades de roteamento e a construção da tabelade roteamento e sua gestão, e temos nossas funcionalidades de dados.Nas funcionalidades de dados sua tarefa é encaminhar um pacote olhando para o campo IP de destinono cabeçalho IP, e fazer uma correspondência com a tabela de roteamento a cópia local da tabela de roteamentodentro da interface que é a base de informações de encaminhamento e, em seguida,encaminhar o pacote para a interface de saída. Agora, essas funcionalidades de controle e as funcionalidades de dadostradicionalmente elas são implementadas em um único roteador. Agora sempre quevocê está implementa as funcionalidades de controle e as funcionalidades de dados em um único roteador, então a complexidade da funcionalidade de controle torna-se mais alta. Por que ele se tornamais alto?Porque agora você tem vários roteadores com seus aviões de controle e aqueles aviões de controleprecisam coordenar uns com os outros para gerar a tabela de roteamento global, ou para gerenciar a tabela de roteamento global. E, esses controles precisam ser executados de forma distribuídadevido à sua limitação arquitetônica ou à maneira como projetamos essa arquitetura tradicional do roteador.E com esta arquitetura de controle distribuído, primeiro de todo o seu protocolo de roteamento ficaproblemático como vimos que as rotinas de estados a distância e as rotinas estaduais de link possuemlimitação significativa em termos de sua escalabilidade, o roteamento de vetores a distância não pode obterescalável por causa dessa contagem para o infinity problema, onde como o protocolo de roteamento do estado de linkque não pode obter escalabilidade. Devido ao seu tamanho dos pacotes de estado do link ou do tamanho do linkinformações de estado que você precisa manter se você implementá-lo sobre uma grande rede.Então, por causa de tais limitações restringimos esse roteamento de estado de link e a distânciade roteamento de vetores dentro de uma internet local, ou dentro de uma sub-rede. E da rede à redetemos esse protocolo de gateway de fronteira que implementa a política. Agora isso podedifícil para os gerentes de rede porque, se houver uma mudança de política então você precisaatualizar cada roteador individual. E, todos os protocolos de roteamento em todo o avião controle de roteadoreseles precisam se coordenar entre si para fazer uma atualização de política nos roteadores individuais, e obviamente, em uma arquitetura distribuída ele levará tempo.E devido a esse requisito de tempo pode haver inconsistências nos roteadores eessas inconsistências podem se obter significativas em uma grande rede. Então, é por isso que gerenciar um roteador, gerenciar uma sub-rede com alguns dizem que 1000 roteadores é uma tarefa muito difícil. E vocêestá implementando esses roteadores não em um único dia gradualmente você está expandindo sua redee não sabe que qual foi a configuração dos roteadores anteriores e você precisa depara fazer uma correspondência da configuração a partir desses dois roteadores diferentes. Em seguida, saia compatibilidade entre os fornecedores, não é como se todos os roteadores de uma organizaçãoeles virão da Cisco, ou mesmo que venham da Cisco eles terão o mesmo modeloque você faz uma implantação gradual que os roteadores podem vir de diferentes fornecedores.Os roteadores podem ter diferentes modelos suas opções de configuração podem ser diferentes sevocê apenas olhar para o manual do Cisco IOS você verá que é um documento de cerca de 5000 página. Então, as funcionalidades de gerenciamento são muito complexas.E com essa arquitetura distribuída, manter a consistência em toda a configuraçãodos roteadores nos planos de controle são diferentes níveis fizeram isso se tornar difícil e que épor que nós, aos poucos, tentamos passar de uma arquitetura de plano de controle distribuído para uma arquitetura de plano de controle centralizado em. E essa é a motivação básica por trás do designde um conceito de rede definida por software.Então, vamos a um pouco detalhes sobre esta abstração do SDN aqui a ideia é que vocêsepare esses aviões de controle dos roteadores e faça um avião de controle centralizado.Então, você tira os cérebros do roteador. Então, esses aviões de controle você pode dizer que elefunciona como um cérebro do roteador porque, ele toma as decisões e que o hardware TCAMapenas fazendo um processamento de encaminhamento. Então, você está tirando esse cérebro desse indivíduoroteadores e colocando um centralizado, colocando os cérebros em um lugar centralizado que é o seu controlador de rota inteiro.(Consulte o Tempo do slide: 07:19)Então, como você já olhou mais cedo que o avião de controle e o plano de dados. O plano de controleé o módulo que toma todas as decisões; basicamente é um instrutor o roteirizaçãoalgoritmos implementados no plano de controle. E o plano de dados é o módulo querealiza as tarefas dadas pelo plano de controle-o encaminhamento nos pacotes.(Consulte o Slide Time: 07:40)Agora, os dispositivos de rede tradicionais eles são proprietários. Os fornecedores eles decidemo software e o hardware. Tanto o avião de controle quanto o de dados e não hátal padronização de que deveria haver esse tipo de partida. Todo fornecedor aplica sua própria otimização de. E por causa disso é muito difícil adquirir o hardware a partir deCisco, e então pegar outro sistema operacional e carregá-lo em um roteador Cisco. Embora,existam certos roteadores que podem suportar rede de código aberto IOS ou roteador OS.Mas eles também têm suas próprias restrições em termos de desempenho e gerenciabilidade. Maspara os roteadores comerciais em geral o hardware e o software ambos provém domesmo fornecedor e é difícil para a interoperabilidade, gerenciar interoperáveis.Interoperabilidade é possível, mas gerenciar a interoperabilidade entre os produtos de diferentesfornecedores como o tipo de dificuldade em uma grande rede.(Consulte o tempo de deslizamento: 08:47)Então, a ideia é separar o plano de controle e o plano de dados. Então, a ideia é queo fornecedor fornecerá apenas o hardware que é o avião de dados e nós decidimos o plano de controleescrevendo a lógica customizada que é o software.Então, o plano de controle será decidido pelo designer de aplicativos, ou o gerenciador de redeou a equipe de suporte da rede enquanto, o avião de dados só virá dos fornecedores. Entãoque agora os vendedores eles vão apenas entregar um switch mudo ele só tem o TCAM, basta tero hardware TCAM juntamente com o motor de encaminhamento, a lógica de controle não está lá. Nósimplementamos a nossa lógica de controle nós mesmos.(Consulte o Tempo de Slides: 09:30)Então, os fornecedores fornecerão apenas o hardware e decidiremos o plano de controle porescrevendo lógica customizada. A vantagem é que primeiro de todos os recursos não são mais limitadosao que o fornecedor fornece. Você pode sempre escrever o seu próprio aplicativo de rede como uma partedo controlador.Ou o desenvolvimento da comunidade em nosso movimento de código aberto pessoas podem se unire projetar um novo protocolo de rede e implementá-lo em um próprio avião de controle. E vocênão requer um suporte de fornecedor para isso e ele obviamente, aumenta o tempo de vida do produto.(Consulte o Tempo do slide: 10:13)Então, aqui está uma breve ideia sobre como o SDN funciona? Assim, em comparação com a rede tradicionaluma rede definida por software possui dois tipos de dispositivos. O controlador que é o cérebroda rede e os switches que são os dispositivos de hardware eles são tipos de comutadores demudos que eles não possuem nenhuma lógica em construído dentro deles. Assim, os switches em SDN sãotipo de interruptores cegos. Então, eles não possuem nenhum tipo construído em recursos e que precisa serinstruído pelo controlador. Então, os switches so aqui é um exemplo de um comutador SDNsigno de efeitos zodiac que é um comutador minúsculo SDN, ele tem 4 interfaces e TCAMhardware.Então, este é o hardware TCAM e este é o microcontrolador; microcontrolador para o comutador. Então, ele só vem com esse tanto de hardware e qualquer que seja a lógica de roteamento queestaria lá que será instruído pelo próprio controlador, e o controlador podevem de padrão de código aberto diferente. Para SDN temos este protocolo chamadoOpenFlow. OpenFlow é um padrão de código aberto para fazer o controlador mudarde comunicação e com base neste padrão OpenFlow, existem vários controladores de código abertoque estão disponíveis há controlador como Ryu, e muitos outros SDNcontrolador como o controlador antigo era algo chamado POX que é um controlador Python baseado ementão NOX.Então, esse tipo de controladora está lá OpenDaylight então eu posso nomear alguns outros controladores. Então, existem diferentes controladores de código aberto, qualquer que seja o controlador que vocêprefir você pode usá-lo em um computador padrão. Agora esse cérebro inteiro pode ser colocado em um computador padrão. Você não requer hardware especializado para isso porque processadorprocessador não é nada além de um processador de propósito geral. Então, é por isso que você pode colocar essa lógica de controle de todo oem um único computador.Então, você pode instalar este controlador um do controlador Ryu, POX, NOX open daylightqualquer coisa que seja a sua escolha pessoal. Você pode instalá-lo em um computador pessoal ea partir daquele computador pessoal você pode fazer as coisas se comunicarem umas com as outras.
Networking Definido por Software-Parte 2
Então, esta é a arquitetura a que temos um controlador que não passa de computadorpropósito geral computador que funciona como o cérebro da rede inter e então podemoster vários interruptores. Esses interruptores são o tipo de políticas burras. Controlador realmentedecide e ensina os switches como encaminhá-lo um pacote e então você pode ter vários hosts.Agora deixe-nos então esta é uma arquitetura muito simplificada. Procuro explicá-lo o conceito básicocom essa arquitetura simplificada. Então, vamos analisar um exemplo de que como a coisainteira funciona em um ambiente SDN. Por isso, em um ambiente de rede tradicionalvocê não tem esse controlador. Então, você só tem esse comutador e o host, e o comutadortem toda a lógica de roteamento. Agora aqui a lógica de roteamento é retirada do comutadorum ele é colocado no controller. Agora observe que você pode ter vários switches que sãoconectados a este controlador. Realmente todos os switches em nossa organização eles podem serconectados a um único controlador.O controlador realmente executará essa lógica de roteamento de forma centralizada, dessa forma nósestamos realmente evitando os problemas associados a uma lógica de roteamento distribuído e estamostambém reduzindo o overhead que vem dos protocolos de roteamento distribuídos. E nósestamos colocando toda essa informação em um controlador que irá ensinar dinamicamente os comutadoressobre como encaminharão o pacote. Então, vamos olhar o exemplo.(Consulte o Tempo do slide: 14:17)Então, você quer encaminhá-lo um pacote de h1 para h3, sua fonte é h1 e o destino éh3. Então, o anfitrião encaminha o pacote para trocar s1. Agora sempre que o pacote chega paracomutador s1, inicialmente este switch não tem nenhuma informação. Ele apenas tem um hardware TCAM, e switch tecido, portanto, não sabe como encaminhá-lo o pacote.Então, o que o switch faz? O switch enviou um pacote em evento para o controlador; quesignifica, o switch informa o controlador que eu recebi um pacote. Com este pacote emmensagem, ele envia as informações do pacote, os metadados do pacote para o controlador. E entãoo controlador realmente decide que o que fazer com aquele pacote e devolver de volta as informaçõespara o switch em um evento de pacotes out. E até aquele momento o pacote é buffered ems1, buffered no switch.(Consulte o Tempo do slide: 15:16)Agora, o controlador envia a regra para o switch então esta regra é instalada naquele hardware TCAMdo comutador. Por isso, nós ’ ll discutir o protocolo OpenFlow em detalhes na próxima classe. Durante esse tempo, vou mostrar a vocês que como nós realmente escrevemos as regras e como uma regrase parece. E esta regra é na verdade uma coisa muito simples a regra é apenas tipo de matchaction pair right. Então, uma regra de comutação não é nada além de você ter um dado de correspondência e, em seguida, açãodados. Assim, os dados da correspondência dizem que se o seu IP de destino for algum 10 ponto 2 barra 16então você, sua ação é dizer para frente, para a frente dizer interface eth0 encaminhá-lo para a interfaceeth0, então isso pode ser uma regra simples. Então, essa regra agora é gerada pelo controlador. Então,mais cedo esta regra estava realmente dentro da tabela de roteamento. Agora essa regra é gerada pelo controladore então o controlador realmente envia isso para o comutador e ele é instalado no hardwareTCAM do comutador.(Consulte o Tempo do slide: 16:39)Agora o switch tem essa regra; assim, uma vez que o switch tenha este regido no switch encaminha o pacotepara extremo. Agora a regra já está instalada no hardware TCAM do comutador.(Consulte o Slide Time: 16:45)Então, é por isso que para o pacote subsequente você não necessita se comunicar com o controladora comunicação no controlador é necessária apenas para um tipo. Então, vocêencaminhá-lo para s1 e depois enviá-lo de volta para h3 e essa é a regra que está sendo instalada ems1. E para todo o pacote subsequente haveria um acerto de TCAM e o acerto de cache. Então,sempre que há um acerto de cache, você o encaminhá diretamente para o h3.Agora isso é toda essa arquitetura SDN e antes de ir para a arquitetura SDN, deixe-medizer o poder do SDN. Agora com a ajuda dessa configuração dinâmica você poderealmente suportar muitas coisas novas junto com um simples encaminhamento.Então, agora com este par de action action par de regras, com este par de action match tipo deregras, você também pode implementar um firewall. Como você ’ ll implementar um firewall? Você podeimplementar o firewall é algo como este dizer se o seu IP de destino for 172 ponto 16 dot20 barra 24 então você derrube o pacote que pode ser uma regra de firewall que você pode sempreinstalar dentro do s1, dentro do comutador dentro do hardware TCAM do switch.Então, dessa forma você pode projetar uma ampla classe de regras. Assim, discutiremos na próxima classeas diferentes regras suportadas OpenFlow que estão lá no padrão OpenFlow. Evocê pode realmente suportar um grande pool de tais regras para implementar um tipo diferente de aplicativo de redeno controlador. Você pode implementar o firewall, você pode implementarum NAT, você pode implementar um gateway de encaminhamento, você pode implementar um gateway de pacotes.Até mesmo você pode processar porque o controlador está trabalhando no nível do aplicativo, você podetambém processar no nível de LAN virtual ou no nível de até mesmo na camada de transporte. Vocêpode olhar para a porta e com base na porta você pode decidir o que fazer.Então, por exemplo, se você quiser apenas garantir que não deve enviar nenhum pacote para a porta80. Então, você pode simplesmente escrever uma regra como esta dizer se a sua porta é igual a 80, então você derrubem o pacotebem. Assim, você também pode escrever a regra desta forma no lado do controlador. Então, dessa formavocê pode implementar a ampla classe de aplicação de rede no controlador e ela não élimitada apenas para encaminhamento e comportamento de roteamento.Então, em última análise, a maioria das funcionalidades da rede você pode mapeá-lo para um comportamento de encaminhamento. Então, você está decidindo como encaminhá-lo um pacote ou está decidindo se notudo para encaminhá-lo ou não. Então, todas essas coisas podem ser tratadas por um único controladore que está tendo uma lógica centralizada. Por ter uma lógica centralizada, gerenciar essa coisa deinteira é muito fácil porque, hoje em dia você não requer essa configuração dedistribuída do plano de controle de roteadores individuais. Basta sentar em um único computadorque possui um software controlador instalado, você pode implementar todos esses aplicativos da rede.(Consulte o Tempo de Slide: 20:06)Então, esta é a arquitetura SDN do board. Na camada de infraestrutura você tem os switches programáveis, os diferentes interruptores programáveis que são os switches deburros. Mas eles podem ser programados dinamicamente então você tem um controlador de redena camada de controle. E, finalmente, você está executando você pode executar vários aplicativos em cimadeste controlador de rede você pode implementar um firewall, você pode implementar um mecanismo de encaminhamento personalizado, você pode implementar um gateway de pacotes, qualquer que seja o aplicativo que você quiserimplementar em cima deste controlador.(Consulte o tempo de deslizamento: 20:42)Então, aqui está a diferença entre a rede tradicional e SDN. Por isso, em caso de uma rede tradicionalvocê tem o plano de controle e o plano de dados dentro de cada comutadoresindividuais. E este avião de controle eles vão conversar um com o outro, trabalhar de forma distribuídae em cima disso você tem os aplicativos de rede que estão em execução. E agoraporque esses aplicativos de rede dizem que um aplicativo de rede está interagindo com esse roteador específico, outro aplicativo de rede está interagindo com este roteador.Então, também pode haver problema de consistência não o problema de configuração, pode acontecerque esse aplicativo de rede esteja tendo um conflito com o outro aplicativo da rede,e decidir que conflito em uma arquitetura distribuída é muito difícil. Mas sempre que nósestamos nos movendo para uma arquitetura SDN centralizada, ou arquitetura logicamente centralizada, os aviões de dadossão distribuídos bem eles apenas implementam uma lógica de encaminhamento, mas o avião de controleé centralizado e todo o aplicativo está realmente falando com um único controleAvião.Agora o que você pode fazer, este é outro poder de SDN que você pode implementar um compiladortipo de software aqui, ou um interpretador ou um compilador, ou um compilador dentro deste controleque irá gerar as regras a partir de programas individuais. E então também vai verificarse duas regras estão tendo um comportamento conflitante entre si ou não. Assim, dessa formavocê será capaz de identificar as regras conflitantes ou você será capaz de também manualmenteverificar se a regra está realmente se conformando com a política de rede que você desejaconstruir dentro de sua rede. Então, dessa forma esse procedimento de gerenciamento de trabalho na internettorna-se simplificado.E ele lhe fornece uma arquitetura eficaz e de custo eficiente para gerenciar uma grande escala de rede. Então, essa é uma breve introdução sobre o conceito de rede definida por software; emas classes subsequentes nós ’ ll ir para os pequenos detalhes sobre o software definido de redeconceito. Nós olhamos para o padrão OpenFlow em detalhes. Então, o padrão OpenFlow é umconjunto de protocolo ou um conjunto de mensagens que ajudam você a se comunicar entre o controlecontrolador, um controlador centralizado e um comutador de roteador ou SDN em termo SDN nós nãochamamos como roteador. Porque agora as funcionalidades de roteamento não são implementadas dentro do dispositivonós apenas chamamos como um comutador SDN.Então ou algum momento ele é chamado de open switch. Então, nós apenas este controlador OpenFlow, ele projetouum conjunto de mensagens para interagir entre o controlador e um OpenFlow switches, ou os switches SDN. Assim, você olha para o protocolo OpenFlow em detalhes, assim como olhamosem certos aspectos do SDN em detalhes adicionais. Então, obrigado a todos por participar dessa aula.