{"id":253,"date":"2012-07-18T17:26:47","date_gmt":"2012-07-18T20:26:47","guid":{"rendered":"http:\/\/linuxrs.com.br\/?p=253"},"modified":"2012-07-18T17:29:58","modified_gmt":"2012-07-18T20:29:58","slug":"arquitetura-de-core-centralizada-x-core-distribuida","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=253","title":{"rendered":"Arquitetura de Core Centralizada x Core Distribu\u00edda"},"content":{"rendered":"<p>Tradicionalmente, as redes ethernet (tanto para Data Center como para campus LAN), respeitam um modelo hier\u00e1rquico de arquitetura chamado \u201cthree tier layer\u201d, onde h\u00e1 uma camada de core (n\u00facleo), distribution (distribui\u00e7\u00e3o) e access (acesso). Cada uma dessas camadas define uma fun\u00e7\u00e3o espec\u00edfica.<\/p>\n<p>Via de regra, a camada de acesso \u00e9 utilizada para prover a conex\u00e3o dos dispositivos de rede dos usu\u00e1rios finais (desktops, laptops, impressoras, pontos de acesso wireless, etc.) \u00e0 rede propriamente dita.<\/p>\n<p>A camada de distribui\u00e7\u00e3o, \u00e9 utilizada no sentido de prover o roteamento e a agregra\u00e7\u00e3o entre as VLANs dos usu\u00e1rios nas camadas de acesso. \u00c9 nesse camada onde se definem listas de acesso, regras de seguran\u00e7a, pol\u00edticas de roteamento entre VLANs, etc.<\/p>\n<p>Por fim, a camada de n\u00facleo (core) \u00e9 a cada respons\u00e1vel por agregar tudo isso e fazer o \u201chand off\u201d da rede para o mundo externo. Via de regra, nessa camada se conectam os roteadores, firewalls e todos os dispositivos respons\u00e1veis pela interconex\u00e3o do mundo LAN para o mundo WAN (ou outras redes fora de uma determinada rede LAN). A figura abaixo, ilustra o conceito da arquitetura \u201cthree tier\u201d:<\/p>\n<p><a href=\"http:\/\/thenetguy.files.wordpress.com\/2011\/10\/slide1-e1319077596175.jpg\"><img decoding=\"async\" title=\"Slide1\" src=\"http:\/\/thenetguy.files.wordpress.com\/2011\/10\/slide1-e1319077596175.jpg?w=640\" alt=\"\" \/><\/a><\/p>\n<p>Notem que por uma quest\u00e3o de redund\u00e2ncia e alta disponibilidade da rede, todos os switches (ilustrados pelos quadrados) possuem duas conex\u00f5es para a camada vizinha: se uma conex\u00e3o falhar, a outra pode assumir todo o tr\u00e1fego sem problemas.<\/p>\n<p>Al\u00e9m da arquitetura \u201cthree tier\u201d, h\u00e1 uma adapta\u00e7\u00e3o desse desenho, chamado de \u201ctwo tier\u201d. A id\u00e9ia \u00e9 similar \u00e0 da primeira. Por\u00e9m justifica-se utiliz\u00e1-la em redes menores (at\u00e9 500 pontos na camada de acesso). Nesse caso, a camada de core e distribution ser\u00e3o \u201ccolapsadas\u201d em uma \u00fanica camada. Assim:<\/p>\n<p><a href=\"http:\/\/thenetguy.files.wordpress.com\/2011\/10\/slide21-e1319077712219.jpg\"><img decoding=\"async\" title=\"Slide2\" src=\"http:\/\/thenetguy.files.wordpress.com\/2011\/10\/slide21-e1319077712219.jpg?w=640\" alt=\"\" \/><\/a><\/p>\n<p>Mesmo nesse desenho, a id\u00e9ia da redund\u00e2ncia para alta disponibilidade continua presente: tenho dois links para a camada de cima. Se um falhar, o outro assume o tr\u00e1fego.<\/p>\n<p>Algu\u00e9m nessa altura do texto (espero que sim) poderia se perguntar: se a id\u00e9ia \u00e9 prover redund\u00e2ncia de conectividade, porque n\u00e3o aumentar o n\u00famero de links entre as camadas? Porque manter s\u00f3 dois links entre um elemento de uma camada e o outro de outra, sendo que eu poderia fazer 3, 4, ou 5 links?<\/p>\n<p>Antes de responder o porqu\u00ea, vale uma observa\u00e7\u00e3o: mesmo que n\u00e3o houvesse restri\u00e7\u00e3o tecnol\u00f3gica para usarmos mais de dois links, valeria a pena financeiramente falando? Em redes de data Center, estou certo que sim. Em redes campus LAN (para usu\u00e1rio final), a resposta pode n\u00e3o ser t\u00e3o \u00f3bvia\u2026<\/p>\n<p>Mas, voltando \u00e0 tecnologia: lembram-se do <a href=\"http:\/\/thenetguy.wordpress.com\/2011\/06\/05\/quem-nao-gosta-do-spanning-tree-protocol-stp\/\">Spanning Tree Protocol<\/a>? O protocolo que limitava a utiliza\u00e7\u00e3o dos meus links entre as camadas da rede hier\u00e1rquica, com o intuito de evitar as \u201cbroadcast storms\u201d? A resposta do porqu\u00ea n\u00e3o fazer mais de dois links entre as camadas est\u00e1 a\u00ed.<\/p>\n<p>Lembrem-se que o Spanning Tree \u00e9 um protocolo que deixava um link habilitado (funcionando) e o outro em \u201cstand by\u201d (aguardando uma poss\u00edvel falha no primeiro). Essa \u00e9 uma limita\u00e7\u00e3o do protocolo. Dessa forma, um switch que est\u00e1 na camada de acesso conectado por dois links a dois switches de distribui\u00e7\u00e3o (ou core) distintos, estar\u00e1 de fato utilizando apenas um link. O outro est\u00e1 esperando a falha do primeiro para entrar em a\u00e7\u00e3o. Na figura abaixo, a linha inteira representa o link ativo. A linha pontilhada, o link bloqueado. A mesma id\u00e9ia se multiplica por todos os \u201cn\u201d dispositivos conectados \u00e0s camadas da rede (n\u00e3o importa qual).<\/p>\n<p><a href=\"http:\/\/thenetguy.files.wordpress.com\/2011\/10\/slide3.jpg\"><img decoding=\"async\" title=\"Slide3\" src=\"http:\/\/thenetguy.files.wordpress.com\/2011\/10\/slide3-e1319077828135.jpg?w=640\" alt=\"\" \/><\/a><\/p>\n<p>Se fiz\u00e9ssemos 3, 4 ou 5 links, a mesma coisa aconteceria: apenas um link estaria ativo. Todos os outros ficariam parados. Dessa forma, n\u00e3o faria sentido adicionar tantos links quanto fossem poss\u00edveis, j\u00e1 que voc\u00ea s\u00f3 continuaria utilizando apenas um de fato.<\/p>\n<p>At\u00e9 aqui falamos do desenho tradicional de redes Ethernet hier\u00e1rquicas (em tr\u00eas em duas camadas). Em resumo, podemos relacionar algumas das suas caracter\u00edsticas principais:<\/p>\n<ul>\n<li>Links entre as camadas sempre feito em dois uplinks: um ativo, um bloqueado (em stand by, aguardando a falha do primeiro link).<\/li>\n<li>Protocolo Spanning Tree presente: previne os loops de broadcast na rede, por\u00e9m reduz sua capacidade instalada de utiliza\u00e7\u00e3o simult\u00e2nea de uplinks (em fibra \u00f3ptica ou pares met\u00e1licos)\u00a0 em 50%. Al\u00e9m disso, num ambiente com m\u00faltiplos dom\u00ednios de broadcast (VLANs), configurar spanning tree pode ser algo desafiador\u2026 (usa-se nesse caso o PVSTP \u2013 per VLAN Spanning Tree Protocol)<\/li>\n<li>Switches de core e\/ou distribui\u00e7\u00e3o do tipo \u201cchassis\u201d: dada a necessidade de alta concentra\u00e7\u00e3o de portas nessas camadas, switches de configura\u00e7\u00e3o de portas fixas podem n\u00e3o oferecer um n\u00famero de portas suficientes para conectar todo mundo que est\u00e1 logo abaixo. Al\u00e9m disso, essas equipamentos oferecem um n\u00edvel de redund\u00e2ncia intr\u00ednseca \u00e0 sua pr\u00f3pria arquitetura de hardware. Via de regra, \u00e9 poss\u00edvel configur\u00e1-los com duas placas de processamento (Supervisor como gostam de chamar os Cisco Guys, Management Module como gostam de chamar os Brocade Guys, Route Engine como gostam de chamar os Juniper Guys\u2026), v\u00e1rias fontes de energia redundantes, coolers redundantes e por a\u00ed vai\u2026<\/li>\n<\/ul>\n<p>Mas\u2026 e se fosse criado um protocolo que endere\u00e7asse todas as inefici\u00eancias do Spanning Tree protocol. Onde fosse poss\u00edvel fazer plena utiliza\u00e7\u00e3o dos meus recursos de uplink (inclusive se eu quisesse utilizar mais de dois), tudo funcionando na camada 2 (Ethernet mesmo) sem ter que apelar para uma segmenta\u00e7\u00e3o atrav\u00e9s de endere\u00e7amento IP (o que pode ser trabalhoso tamb\u00e9m) e sem correr o risco de ver minha rede com loops infinitos de broadcast \u201ccomendo\u201d os meus uplinks e processadores dos switches?<\/p>\n<p>A boa not\u00edcia: esse protocolo j\u00e1 existe! Trata-se do TRILL \u2013 Transparent Interconnect of Lots of Links. Esse protocolo permite o conceito de core distribu\u00eddo (onde \u00e9 poss\u00edvel colocarmos mais de dois switches na camada de core com utiliza\u00e7\u00e3o de todos os uplinks entre as camadas que comp\u00f5e a rede).<\/p>\n<p>O TRILL re\u00fane em um \u00fanico protocolo as vantagens da comuta\u00e7\u00e3o (feita em camada 2) com as vantagens do roteamento (feito em camada 3). Al\u00e9m disso, para evitar eventuais loops de broadcast, utiliza um conceito extremamente simples que j\u00e1 \u00e9 utilizado hoje pelo protocolo IP \u2013 o conceito de hop count \u2013 cada vez que um quadro de dados passa por um switch, um campo de hop count \u00e9 decrementado. Quando esse valor chega a zero, o switch descarta o pacote (no IP esse campo \u00e9 chamado de TTL \u2013 time to live)<\/p>\n<p>Por conta de incorporar conceitos de comuta\u00e7\u00e3o e roteamento em um \u00fanico dispositivo, os switches s\u00e3o comumente referenciados como RBridges (Route-Bridges) na terminologia do protocolo TRILL.<\/p>\n<p>E j\u00e1 que estamos falando em terminologia, nas redes de core distribu\u00eddo as camadas s\u00e3o chamadas de camadas de SPIN e LEAF.<\/p>\n<p>Al\u00e9m disso, o TRILL utiliza um protocolo do tipo \u201clink state\u201d para fazer o roteamento entre os n\u00f3s da rede. Trata- se do IS-IS (Intermediate System to Intemediate System). Por\u00e9m, ao inv\u00e9s de roteamento de endere\u00e7os IP, ele faz o roteamento de endere\u00e7os f\u00edsicos, ou seja: roteamento de MAC ADDRESS!!!<\/p>\n<p>Portanto, podemos dizer que o TRILL \u00e9 um protocolo da camada 2,5: ele opera na camada 2, por\u00e9m utiliza recursos de camada 3 para funcionar!<\/p>\n<p>Al\u00e9m disso, o TRILL possibilita o que era impens\u00e1vel em redes hier\u00e1rquicas tradicionais usando Spanning Tree protocol \u2013 a utiliza\u00e7\u00e3o do conceito de ECPM \u2013 Equal Cost Multi Path \u2013 que nada mais \u00e9 do poder encaminhar as informa\u00e7\u00f5es entre as camadas e n\u00f3s atrav\u00e9s de diversos links simultaneamente\u00a0 \u2013 fazendo assim, load balance entre os diversos links que interligam as camadas da topologia.<\/p>\n<p>Em resumo, com TRILL, \u00e9 poss\u00edvel criar redes com topologias assim:<\/p>\n<p><a href=\"http:\/\/thenetguy.files.wordpress.com\/2011\/10\/slide4.jpg\"><img decoding=\"async\" title=\"Slide4\" src=\"http:\/\/thenetguy.files.wordpress.com\/2011\/10\/slide4-e1319077909224.jpg?w=640\" alt=\"\" \/><\/a><\/p>\n<p>Note que cada switch da camda de leaf (a de baixo), possui uma conex\u00e3o para cada elemento da camada de spin (a de cima). Isso cria o conceito da rede ethernet full fabric. E note que, se eventualmente um dos switches da camada de spin falhar, os demais continuam suportando o tr\u00e1fego que vem dos equipamentos da camada de leaf, sem comprometer o funcionamento da rede. Al\u00e9m disso, todos os links est\u00e3o em pleno funcionamento: sem bloqueios!<\/p>\n<p>Em resumo, nas redes TRILL encontraremos as seguintes caracter\u00edsticas:<\/p>\n<ul>\n<li>utiliza\u00e7\u00e3o plena de todos os recursos de links entre as camadas de SPIN e LEAF<\/li>\n<li>pode-se utilizar switches \u201cmais simples\u201d no que diz respeito ao n\u00edvel de redund\u00e2ncia de hardware \u2013 j\u00e1 que todos os switches participam no processo de composi\u00e7\u00e3o do core distribu\u00eddo, restam v\u00e1rios outros que podem assumir a fun\u00e7\u00e3o daquele que falhar.<\/li>\n<li>interoperabilidade com as redes hier\u00e1rquicas legadas (que ainda est\u00e3o rodando Spanning Tree).<\/li>\n<\/ul>\n<p>O assunto \u00e9 extenso e h\u00e1 muitos outros detalhes envolvidos. A id\u00e9ia aqui \u00e9 mostrar como est\u00e1 evoluindo o desenho de solu\u00e7\u00f5es de rede Ethernet e quais s\u00e3o as alternativas aos desenhos tradicionais. H\u00e1 ainda muitos paradigmas a serem quebrados (principalmente quando falamos em aposentar os grandes switches chassis de rede, que passam uma sensa\u00e7\u00e3o de seguran\u00e7a muito grande dada a sua alta redund\u00e2ncia de hardware). Mas, definitivamente, \u00e9 uma tend\u00eancia para os pr\u00f3ximos Data Centers que vem por a\u00ed.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tradicionalmente, as redes ethernet (tanto para Data Center como para campus LAN), respeitam um modelo hier\u00e1rquico de arquitetura chamado \u201cthree tier layer\u201d, onde h\u00e1 uma camada de core (n\u00facleo), distribution (distribui\u00e7\u00e3o) e access (acesso). Cada uma dessas camadas define uma fun\u00e7\u00e3o espec\u00edfica. Via de regra, a camada de acesso \u00e9 utilizada para prover a conex\u00e3o [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1,51,68],"tags":[22,69],"class_list":["post-253","post","type-post","status-publish","format-standard","hentry","category-viazap","category-linux-linuxrs","category-redes-2","tag-redes","tag-topologia-de-redes"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/253","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=253"}],"version-history":[{"count":2,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/253\/revisions"}],"predecessor-version":[{"id":256,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/253\/revisions\/256"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=253"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=253"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}