[Música] dando continuidade à disciplina de infraestrutura para sistemas de software hoje veremos o módulo três a parte de como as redes fazem o roteamento dos seus pacotes e estudaremos os mecanismos de segurança de como os dados são protegidos durante o processo de trafegar numa rede Então vamos lá unidade um conceito de roteamento de pacote e seus algoritmos o conceito de roteamento de pacotes o que eu planejei para essa aula então vamos olhar conceito de roteamento os tipos de roteamento como eles são classificados e como são executados esses Protocolos de roteamento pelos seus algoritmos Então vamos lá o conceito de roteamento é simples é você ter uma forma de encaminhar os pacotes dentro de uma rede lembrando uma rede é aquele emaranhado de roteadores conectados ao redor do do mundo então quando eu mando um pacote daqui por exemplo para um país lá na Europa ele tem que escolher uma rota E essas rotas elas são pré-definidas Mas elas são dinâmicas porque se um roteador no meio do caminho falhar ou se tornar indisponível é definida uma outra rota para que o sistema continue a funcionar Então vamos lá protocolo de roteamento É um mecanismo como os roteadores encaminham os pacotes que chegam nele numa entrada numa interface e ele escolhe um caminho e ele manda em outra interface então um protocolo de roteamento ele vai ter que rodar um algoritmo que tem a função de escolher um caminho dentre os que é possível os que estão ativos e aí encaminhar Esse pacote a gente viu na aula passada que às vezes um roteador por excesso de trabalho né ele recebe pacotes e ele não consegue encaminhar E aí ele acaba descartando então o ideal é que esses Protocolos de roteamento Não façam isso né Isso é um caso extremo Mas pode acontecer na nossa vida real Então vamos lá um roteador teria por função quando ele está rodando um protocolo de roteamento ele está executando um algoritmo né olhar o endereço de destino no cabeçário do pacote e encaminhar conhecer os seus roteadores vizinhos e manter aquelas tabelas de de de roteamento atualizadas então ele tem que manter as tabelas de roteamento atualizado paraas rotas internas e paraas Rotas externas Então vamos ver um exemplo disso né que aqui um roteador tem o seu algoritmo de como vai funcionar dentro da rede tem tem a sua tabela de roteamento aonde chega um pacote lembra chega um pacote ele pega o reader pega o endereço de destino E aí ele compara com os valores que ele tem lá e aí ele escolhe uma saída e ele produz a a transferência desse pacote nessa saída dois aqui que é o exemplo Então os roteadores Tem que olhar esses roteadores vizinh quais estão ativos quais ele poderia como rotas manter atualizada essa tabela de rotas e a coisa vai funcionar ou melhor né o protocolo de roteamento vai funcionar Essas tabelas de roteamento elas definem Quais as rotas o pacote pode ser encaminhado corretamente em direção ao seu destino então isso a gente viu um pouco na aula passada hoje nós vamos ver que é possível encaminhar em rotas internas e Rotas externas e esses roteadores quando encaminha para rotas externas lembra eles são roteadores de borda eles são aqueles roteadores dos provedores de serviço de internet então se eu estou na minha casa Ten o meu moden Zinho meu roteador ali e solicito um acesso a um website que tá lá na China por exemplo né tá na moda comprar produtos na China de de comércio eletrônico Então o que acontece ao solicitar essa informação ele vai sair do meu roteador vai cair no primeiro roteador que é da operadora de Internet que Me fornece esse serviço e dali ele passa por mais um roteador que é o de saída do Brasil para mais um roteador de entrada na china para mais um roteador da cidade que é lá o Website E aí ele chega lá no fornecedor daquele Website lá então quer dizer existe um caminho daqui paraa China esse ess caminho os roteadores vão guardar apenas o próximo vizinho e o próximo vizinho guarda o próximo e o próximo guarda o próximo então quando se estabelecer uma rota na realidade a tabela de roteamento ela só vai olhar os vizinhos ela ela é muito mais simples e Menor para poder trabalhar de uma forma mais eficiente então quando um um roteador olha os seus vizinhos ele exatamente estabelece uma relação e um registro do tipo ó eu tenho essa e essa rota mas eu não tenho mais essa aqui então eu preciso refazer o meu caminho ou por essa opção ou fazer o meu caminho por essa opção mas lembrando ele só vai guardar os endereços do roteadores vizinho ele só se preocupa com os vizinhos e o algoritmo ele é recursivo quer dizer eu me preocupo com com meus vizinhos tudo bem quando eu vou num vizinho vizinho um ele se preocupa com os seus vizinhos quando eu vou no vizinho do vizinho ele se preocupa comos seus vizinhos então o algoritmo de de certa forma ele é inteligente porque ele apenas olha os seus vizinhos porque não haveria capacidade né lembra nós nós falamos numa aula que existe pelo menos 20 bilhões de dispositivos conectados na rede mundial de computadores e os roteadores se fosse definir todas as rotas possíveis para esses 20 bilhões nossa seria uma máquina fantástica então ele não tem essa capacidade a capacidade dele é mais limitada então ele olha apenas os vizinhos e os vizinhos olh os vizinhos dos vizinhos e assim vai andando esse modelo Ok o protocolo de roteamento ele é executado na camada de internet no modelo tcpip e o protocolo col IP é o responsável por fazer esse gerenciamento de encaminhar os pacotes Então olha só dentro do Protocolos de de roteamento eu vou ter duas atividades uma atividade de gerenciar o plano de controle e a outra atividade de gerenciar o plano de dados no plano de controle eu tô preocupado exatamente com o algoritmo de roteamento como ele funciona que hora que ele é ativado Que hora que ele é posto para dormir como ele troca em informações e no plano de dados eu tô preocupado exatamente com essas informações da tabela de roteamento Quais os possíveis caminhos que um pacote poderia eh trafegar Então vamos classificar agora os tipos de roteamento que existem atualmente e eu vou me limitar apenas um protocolo de roteamento para cada modalidade tá então quando eu tiver olhando as redes internas da minha empresa da minha casa olhando a internet ela também pode ser dita em alguns livros algumas literaturas como intrad domínio ou IGP que é o protocolo de Gateway interior quer dizer falou interior rede privada intranet a nossa rede dentro da organização dentro da minha residência ela pode ser de dois tipos ou ela vai rodar algoritmos de Vetor de distância ou ela vai rodar algoritmos de estado de enlace se for no na modalidade vetor de distância a gente vai conhecer vai se aprofundar um pouco no protocolo de de roteamento de informações o rip ou se for na modalidade em estado de enlace ou link Stage né E a gente vai estudar um pouco do protocolo do caminho mais curto que chama de ospf quando eu estiver analisando os protocolos da rede Externa quer dizer a rede que sai do meu roteador da minha casa sai do roteador da minha empresa e cai nos roteadores das operadoras né de de internet dos provedor de serviço de internet eu estaria olhando então como é a rede mundial de de computadores a internet e lá nós temos duas modalidades eh de protocolos o egp e o bgp o egp a gente traduz como um protocolo de Gateway exterior lembra a palavra Gateway que eu falei que ela usada de várias formas então Gateway é uma saída mesmo aí vamos traduzir assim Aonde esse protocolo pega a saída pro exterior ou o protocolo de gater de borda lembra que um roteador de borda é aquele que é o meu de saída da minha residência para se conectar no roteador de borda da operadora que provu o serviço para mim então a gente a gente vai estudar esses dois também um de cada um para poder ficar tranquilo entendendo como funciona os internos e como funciona os externos Os Protocolos de roteamento eles vão executar funções básicas que seria preencher a tabela de roteamento com as rotas pros seus roteadores vizinhos paraas suas subredes escolher a melhor rota quando houver mais de uma remover rotas da tabela de roteamento quando não forem mais válidas e evitar Loops de roteamento então quando um protocolo de roteamento está sendo executado dentro de um roteador o seu algoritmo vai ter que ficar fazendo essas quatro funcionalidades básicas atualiza a tabela Verifica a melhor rota remove da tabela aquelas rotas que não são mais válidas e evita Loops a dúvida talvez que vocês estão tendo é o que é Loops né então eu preparei uma definição do que é Loops então Loops lembra todos os roteadores estão interconectados e de uma forma que tenha redundância por se por algum motivo esse link cair ele teria opção desse out link então todos os roteadores sempre V ter um plano a um plano b um plano C para recuperar de um evento desse então o que acontece para evitar um Loop e também de outra forma assim vamos dizer para evitar um loop que que teria uma consequência de você tentar encaminhar um pacote e você ter duas rotas e você não saber qual você vai usar então para evitar um loop a gente olha esse grafo né Genérico e define uma árvore nele então quer dizer se eu olhar esse grafo lá de teoria dos grafos ele é uma floresta com vários caminhos com várias possibilidades quando eu decido usar só o que tá marcado aqui em azul que eu acredito que muitos estejam enxergando né então quer dizer eu tô definindo aqui para essa minha Floresta apenas uma árvore uma árvore É como se você pegasse apenas uma saída e você tivesse nessa saída um galho um galho ele começa num ponto e termina no eh ele ele tem um fim né quer dizer ele não faz um loop um galho de uma árvore então na teoria dos grafos isso é muito legal de estudar Você tem essas árvores que são como os roteadores estão interconectados com os seus Plano A Plano B plano C prevendo uma falha e tendo redundância Ou seja a redundância está em ter mais de um caminho que eu poderia escolher mas na hora que eu Gero a minha tabela de roteamento eu exatamente estou definindo uma única rota que vai ser a única a rota da minha árvore e que seria a única rota que eu poderia encaminhar o meu pacote eventualmente se ocorrer uma falha no link eu vou ter que refazer essa minha tabela de roteamento removendo essa rota que não é mais confiável não é mais ativa e introduzir uma nova rota E aí Eu mudaria a minha árvore né dessa forma aqui aonde ficaria esse novo caminho aqui Ok espero ter sido claro o que é evitar Loops Os Protocolos de roteamento precisam rodar então esses algoritmos de roteamento que vão trocar informações dessas tabelas de roteamento com os seus roteadores vizinhos quando esse algoritmo roda ele vai ter que levar em consideração alguns parâmetros para escolher entre as várias opções de Rota que a gente viu lá naquela árvore o que tem menor custo o que tem menor distância o que tem uma velocidade de enlace maior ou eu posso combinar vários desses parâmetros Ou posso levar em consideração outros parâmetros por exemplo eu poderia levar em consideração o parâmetro confiabilidade quer dizer eu escolho o roteador que está mais tempo ligado e trabalhando ativo ou eu posso escolher o roteador que menos gerou erros de lembra que eu falei para vocês que a gente pode descartar um pacote então quer dizer eu posso ter mais parâmetros que eu poderia escolher a melhor rota pelo meu critério tá então quer dizer esses critérios existem eles podem ser definidos manualmente Ou eles podem ser definidos de forma automática a aonde o próprio roteador toma essas decisões aí OK então vamos olhar como é que seria esses Protocolos de roteamento e estudando um pouquinho esses algoritmos eh que executam esses Protocolos de roteamento o primeiro deles como eu falei lá a gente vai olhar então o vetor de distância e olhar apenas o hiip em vetor de distância o hiip foi um dos primeiros Protocolos de encaminhar pacote de fazer a tarefa de rotear esses pacotes na rede Então esse protocolo vai definir a melhor rota usando como parâmetro o menor custo Então os roteadores vão trocar informações de roteamento aonde ele vai repassar essa tabela de roteamento dizendo assim eu utilizo essas rotas e para utilizar essa rota eu utilizo esse roteador vizinho eu utilizo essa outra Rota e para utilizar essa rota eu utilizo esse roteador vizinho então eh a forma que um protocolo de roteador rip trabalha é desta forma Ok então o rip vai fazer atualizações na tabela de roteamento dele registrando as rotas válidas Ou aquelas que ele considerou a melhor registrando o número da subrede qual é a interface que ele vai a interface física que ele vai encaminhar Esse pacote E o endereço IP desse roteador vizinho que seria alcançável por essa rota o rip utiliza né como base de cálculo o número de saltos para escolher a melhor rota então se eu partindo de um ponto a para chegar num ponto b Aonde eu passo por 10 roteadores eu tenho 10 saltos partindo de um ponto b para um ponto c Aonde eu passo por cinco roteadores eu tenho cinco saltos então o critério que o rip utiliza para escolher a melhor rota seria o menor número de saltos entre roteadores para atingir o destino o grande detalhe interessante desse protocolo é que ele é limitado a apenas 15 saltos uma vez Eu fiz uma brincadeira de ficar testando né uma ferramenta chamada Tracy H aonde ele parte do ponto a pro ponto b e aí ele mostra a rota que ele faz e quanto sal ele faz mostrando ao longo do caminho os roteadores que ele tá passando com seus números IPS e o incrível que pareça eu peguei rotas assim do outro lado do mundo daqui pro Japão daqui pra China daqui pra Polinésia que teria vamos dizer o maior número possível de roteadores devido a distância e ele nunca chegou ao número 10 sempre abaixo de 10 então quer dizer esse algoritmo que prevê no máximo 15 saltos Ele atende o mundo inteiro e ele é ideal para redes pequenas de Med porta ou seja nós estamos estudando algoritmos que é usado dentro da nossa empresa Então dentro da nossa empresa nunca nós vamos passar de 15 saltos se eu fiz um teste pro mundo e ele não passou do mundo do que 10 saltos dentro da sua empresa não vai passar também disso Ok então esse algoritmo o hiip ele faz um um um umas contas que eu vou mostrar agora que é muito legal primeiro ele inicializa né as a o seu controle dizendo Olha eu tô aqui e eu quero olhar os meus os meus roteadores vizinh e quanto eu gasto para chegar nesses roteadores vizinhos Então a primeira inicialização que ele faz é o seguinte como eu não conheço os vizinhos e eu não sei quanto eu vou gastar faz o seguinte diz que eu vou gastar o infinito aí você fala Professor mas o infinito é um número muito grande então inicializa como 200 seria 200 saltos é muita coisa né ou põe o número máximo que ele aceita 15 então quer dizer o meu vizinho eu tô chutando inicialmente que eu preciso de 15 e aí eu vou partindo paraos meus vizinhos pegando um a um e calculando paraa frente o vizinho do vizinho e essa matemática vai funcionando recursivamente aonde eu vou atualizando né uma uma matriz e vou colocando os custos ou o número de saltos que eu preciso para atingir o meu destino vamos olhar isso como funciona na prática Então olha só na prática eu tô partindo desse roteador x e eu pretendo chegar no roteador Z então inicialmente como eu olho o primeiro vizinho eu vou olhar Partio por essa interface eu vou chegar no Y gastando 2 se eu partir nessa outra Interface para chegar em Z eu vou gastar s numa primeira interação aí eu pego essa informação e replico Ou seja eu tô calculando Como se eu tivesse em x depois eu calculo Como se eu tivesse em Y então eu calculo como se tivesse em x depois eu calculo como se tivesse em y e y eu gasto dois para chegar em x e gasto um para chegar em Z e se eu tiver em Z eu gasto sete para chegar em x um para chegar em y e 0 para ele mesmo tá quando eu publico essas informações da minha tabela de roteamento para meus eh os meus roteadores vizinhos eles recalculam as suas rotas Então olha que interessante quando o roteador x recebe a tabela de zer ele vê que ele consegue chegar em Z pelo caminho de cima então quer dizer se ele gastava sete antes ele vai gastar três agora 2 + 1 3 e aí ele atualiza essa tabela e quando ele publicar essa tabela pros outros roteadores eles também atualizam as suas informações Então olha que interessante quando o z recebe essa informação ele tinha antes que di zer para X Ele gastava S Então agora ele descobre também que ele pode usar a rota alternativa por si mas gastando 3 1 mais 2 então no final o meu x chega em Z por 3 e o meu Z chega em X por 3 então a gente chega numa convergência de informações aonde cada roteador Olha a informação do seu vizinho e recursivamente ele vai recalculando a sua tabela de roteamento e identifica as menores rotas com os custos menores que seria o número de saltos que ele teria que dar para partir de um roteador e chegar em outro ok então esse algoritmo funciona dessa forma nós não vamos implementar ele nós não precisamos saber mais do que eu estou passando para você já é o suficiente quando eu ponho uma rota Inicial pro infinito significa eu vou conseguir achar uma rota em tamanho menor que isso mas acontece Às vezes né né de eu tenho um custo quatro ligando essa rota de X para y e esse custo vem para um então automaticamente né torna-se interessante a utilização dessa rota quando o valor diminui Mas também eu tenho casos né em que por alguma situação vamos dizer o enlace ficou sobrecarregado ele tá muito lento eu não consigo transmitir naquela a velocidade desejada então o valor pode aumentar de 4 para 60 o que tornaria esse enlace inviável e você você escolheria uma nova rota que seria a por baixo de de Z AX gastando 50 Tudo bem então quer dizer esses valores eles são dinâmicos conforme a rede está executando conforme ela está encaminhando pacotes conforme está a demanda de serviço em cima da rede esses valores podem melhorar como eles podem piorar e havendo essa melhoria pode se tornar uma rota ativa eu refazer a minha árvore Como pode essa árvore ter que cancelar um link cancelar uma opção de Rota e escolher uma outra opção de Rota Ok Isso no algoritmo hiip o hiip então ele troca ações dessa tabela de roteamento com os seus roteadores vizinhos A cada 30 segundos então trocou agora passou 30 segundos o roteador troca de novo essas informações quer dizer em 30 segundos se houve uma alteração de algum desses meu meus roteadores vizinhos automaticamente eu vou replicar essa informação e pode ser que eu tenha que alterar a rota lembra do caso pior e do caso melhor então a cada 30 segundos ele replica essa informação pros seus vizinhos o protocolo hiip criado inicialmente na versão 1 ele não previa né aqueles roteamentos Class full ou seja aquelas subredes lembra que eu coloquei para você lá 1. 1 2. 1 3.
1 que seria a variação 1 2 3 né de red de subredes ele não previa isso já na versão 2 do hiip ele suporta essas sub essas subredes hierárquicas e também porta máscara de subrede Então foi uma melhoria uma evolução eh os roteadores eles quando você olhar a especificação técnica dele que tipos de protocolo ele roda ele vai dizer rip v1 rip V2 Ok apenas para você entender que o o v1 é a primeira versão e o V2 é uma evolução da primeira versão corrigindo falha delas tá mas o rip não é o mais usado tá em redes internas beleza existe tá lá mas ele não é usado porque ele tem um problema de demorar na convergência quer dizer como ele pega a sua tabela de roteamento e encaminha pros vizinhos o vizinho encaminha pro vizinho o vizinho encaminha pro vizinho quer dizer isso vira um problema exponencial então ele demora para fazer a convergência e todo mundo está com as tabelas atualizadas nesse sentido a gente vai estudar o protocolo ospf que é o protocolo do menor caminho ele foi definido pela rvs 2328 ele é utilizado tanto no IP versão 4 quanto no IP versão 6 e ele sim tem um tempo de resposta um tempo de convergência melhor que o hiip por isso que a gente usa mais o ASF tá então como eu disse o protocolo o fps ele é preferido em relação ao rip por ter um tempo de resposta melhor um tempo de convergência melhor ele utiliza o algoritmo do caminho mínimo que é o algoritmo criado por darg Xtra em 1959 é um algoritmo antigo muito eficiente que ele olha um grafo que é uma floresta né quer dizer existe várias rotas possíveis e das várias rotas possíveis nessa Floresta ele vai escolher uma árvore que se seria a árvore com os menores valores e que eu poderia né alcançar todos os roteadores no caso aqui eu poderia né tanto por esse caminho aqui como por esse caminho mas aí eu escolhi esse aqui por um critério sei lá de velocidade do enlace Então esse algoritmo do dxtra que é o do caminho mínimo ele é muito eficiente é o que roda no ospf e esse é o algoritmo ele é usado em outras coisas como você querer saber o menor caminho no mapa menor caminho entre cidades menor caminho eh para alcançar do ponto a o ponto b tá então ele é o algoritmo que pode ser usado em vários problemas de computação mas o FPF esse protocolo que é do estado de enlace né é o único que a gente vai estudar da categoria de estado de enlace ele utiliza como parâmetro de de escolha né Qual a melhor rota dentre naquela árvore eu escolher eu vou usar o custo da largura de banda daquela interface do roteador então lembra o roteador vai ter várias saídas ele vai se comunicar com outros roteadores Mas pode ser que o custo de usar um link de fibra ótica é menor do que o custo de usar um link de internet que é menor que um custo de cabo coaxial então ele usa isso como parâmetro só pra gente saber que existe um parâmetro que seria a largura de banda mas se eu quiser usar outros eu poderia até configurar ele para usar outros e uma vez decidido o parâmetro ele vai decidir qual é as rotas de caminho mais curto e vai atualizar a tabela de roteamento e depois vai divulgar para os seus vizinhos no protocolo osf ele suporta o que a gente chama de variable language subnet masking que é o vlsm essa técnica permite criação de subredes de tamanhos variáveis e nessa modalidade de tamanhos variáveis seria eu tenho um departamento ali com 10 dispositivos não eu tenho um outro departamento com 20 Não eu tenho um outro departamento com 50 então quer dizer o número de dispositivos variáveis naquele departamento seria registrado nessa subnet e essa subnet o protocolo ospf consegue tratar de forma maravilhosa ele também melhora a utilização dos endereços IPS e hierarquicamente né quando ele cria essas subredes ele aloca especificamente uma subrede que permite um número X de de dispositivos que estaria dentro de uma potência de dois e que estaria perfeitamente gerenciável seria isso não vamos entrar em mais detalhes para não confundir mais a nossa cabeça mas se ele aceita vlsm ele gerencia essa árvore hierárquica e gerencia os números de PS para cada subrede seria isso e tem um tempo de convergência mais rápido que o hiip a gente já falou sobre isso então o aspf é escolhido como o protocolo preferido para você usar dentro da sua rede interna dentro da sua organização então por exemplo aqui na Universidade Federal nós temos vários institutos várias faculdades cada faculdade dessa tem um roteador então quando é montado a ávore da Universidade Federal o protocolo ofp ele é escalável quer dizer ele permite crescer aquela Floresta como ele permite diminuir aquela Floresta se algum roteador se tornar eh Inativo ou desconectado por algum motivo então ele é escalável no sentido pode crescer ou pode diminuir aquela Floresta ele é o preferido dos provedores de serviço de internet e o mais interessante vamos olhar o exemplo da Universidade Federal aqui aqui Existe muitos institutos e muitas eh faculdades então quer dizer cada faculdade cada Instituto tem um roteador é feito uma floresta disso e ele vai gerar uma árvore e essa árvore será mínima né mas que consegue ter um caminho do ponto a pro ponto b do roteador a pro roteador B existe sempre esse caminho e ele funciona maravilhosamente bem e ele é o ido pelos provedores de serviço de internet de redes empresariais por ser mais escalável que o rip o protocolo of FPF traz algumas vantagens que é reduzir o tamanho dessa base de dados de Rota né quer dizer ele só pega os roteadores vizinhos e ele minimiza o tráfego também de roteamento quer dizer como ele reduz a base de dados ao replicar essa base de dados paraos seus vizinhos ele também tá passando o mínimo de informação logo o tráfico de roteamento né para fazer o gerenciamento dessas rotas também é menor Então vamos olhar só como ele faz né O SPF faz a agregação de rotas esse desenho eu já tinha mostrado em outra aula e ele mostra especificamente aqui uma subrede que começa com o 2 23. 1 então aqui é 22 3. 1.
1 22 3. 1. 2 e 223 p1.