Baixe o app para aproveitar ainda mais
Prévia do material em texto
65 LINGUAGEM DE PROGRAMAÇÃO APLICADA Unidade II 3 ADMINISTRAÇÃO DE REDES 3.1 Conceitos de redes de computadores Uma das principais funcionalidades desenvolvidas, entre os mais diversos componentes de um sistema computacional, foi a possibilidade de troca de informações entre eles por meio das chamadas redes de computadores. Através delas, diversas tecnologias foram desenvolvidas, e novas aparecem constantemente, exigindo das redes cada vez mais performance e confiabilidade, para que problemas nessas trocas de informação não ocorram. Nesse ambiente de constante crescimento, surgiu o conceito de administração de redes de computadores, o qual tem recebido, ao longo de todo esse tempo, maior relevância dentro das organizações, principalmente no âmbito da manutenção. Essa evolução constante traz consigo problemas diversos, que precisam ser previstos e resolvidos rapidamente, para que os impactos sejam minimizados aos usuários desse ambiente. Para corrigir isso, as ferramentas de diagnóstico e correção de problemas são muito utilizadas, e as linguagens baseadas em scripts apresentam ótimos resultados. Alguns pontos relacionados a essas ferramentas devem ser analisados, como, por exemplo, a estrutura e operação de uma rede e conceitos relativos à administração de redes de computadores. 3.2 Redes de computadores As redes de computadores surgiram, principalmente, pela necessidade de trocas de informações entre dispositivos computacionais e compartilhamento de recursos e ferramentas de software. Em ambos os casos, existe a necessidade de troca de informação entre dois pontos que independem da distância em que se encontram. As redes de computadores são de grande diversidade, por causa das necessidades individuais de cada sistema. Podem ser de grande porte quando um número elevado de dispositivos precisa se comunicar, trocando um grande volume de dados com taxas de transferência também elevadas. Essas redes são de maior custo de implantação e de manutenção. Nesse caso, as distâncias envolvidas normalmente são também maiores, inclusive com dispositivos móveis que necessitam de componentes específicos para esse tipo de comunicação. As redes também podem ser de pequeno porte, quando um pequeno número de equipamentos se comunica entre si, trafegando uma quantidade pequena de dados. Normalmente, são redes locais ou internas das organizações, podendo ou não possuir ligações com o mundo externo. 66 Unidade II Essa grande diversidade de arquiteturas de rede exige a utilização de diversos equipamentos e tecnologias de comunicação, principalmente quando há a carência de interligação entre as mais diversas redes. Para atender a essa necessidade, ao longo do tempo foram desenvolvidas diversas ferramentas e dispositivos, como códigos especiais, protocolos de comunicação, meios de comunicação (cabos metálicos, fibra ótica) e componentes de rede (switches, hubs, roteadores). Dessa forma, podemos analisar redes de computadores como um conjunto de recursos de hardware (estruturas físicas) e softwares (lógicas, protocolos), utilizados para permitir a troca de informações entre os mais diversos dispositivos, independentemente do local onde cada um se encontra em relação à localização geográfica. Lembrete Para determinarmos a melhor solução em termos de arquitetura de uma rede de computadores, independentemente do seu tamanho, é necessário um estudo detalhado da quantidade de dispositivos que ficarão conectados e o fluxo de dados que deverá passar por ela. Por isso um bom planejamento na fase de concepção do projeto é fundamental para o sucesso do sistema. A grande diversidade de redes de computadores existentes hoje causa a impossibilidade de troca de informações entre algumas delas. Para esses casos, há a necessidade de desenvolvimento de equipamentos e protocolos de comunicação específicos para interconexão entre elas, o que muitas vezes pode encarecer os seus custos de implementação e manutenção. 3.3 Internet, rede mundial de computadores Na era atual, a maior rede computadores implantada é a rede denominada internet. Ela é composta de um grande número de redes de dispositivos de tamanhos distintos, cada uma localizada nos mais diversos países do mundo. Nela, redes privadas e públicas estão interligadas, permitindo a troca de informações e o compartilhamento de recursos em nível mundial. A internet possui diversas utilidades, sejam elas pessoais, governamentais, de estudos, comerciais e públicas. No início da sua implantação, havia um grande número de redes independentes que visavam atender às necessidades específicas para as quais foram desenvolvidas, o que dificultou muito a criação de uma rede que tinha a intenção de se tornar mundial, com um padrão único de hardware e software. O grande desafio da implantação da internet não foi de introduzir uma rede totalmente padronizada dentro de uma única regra, mas sim permitir que as diversas redes existentes trocassem informações de forma transparente entre elas. Atualmente, podemos dividir a internet em dois grandes tipos de redes, as físicas e as lógicas. A física, também denominada enlace, visa atender a uma demanda específica. Já a rede lógica é responsável pela interconexão entre as mais diversas redes físicas, as quais normalmente são incompatíveis. 67 LINGUAGEM DE PROGRAMAÇÃO APLICADA As redes lógicas são necessárias para a conexão entre redes distintas, que utilizam padrões de software e hardware diferentes, o que, em nível mundial, é muito comum. Nesse conceito, classificamos a internet como a maior rede lógica existente, que tem a função de permitir a troca de informações entre as mais diversas redes do mundo. As formas como essas trocas de informações ocorrem não são conhecidas pela grande maioria dos usuários da internet, os quais não necessitam do conhecimento de como isso é feito para fazerem uso de todos os serviços disponíveis pela rede. Para que essa estrutura funcione corretamente, a lógica implantada pela internet foi elaborada baseada em elementos simples e com grande flexibilidade. Essa estrutura é fundamentada em um grande conjunto de regras e padrões denominados protocolos de comunicação de rede, responsáveis pela divisão da grande complexidade existente entre as redes em tarefas mais simples e que sejam transparentes para o usuário final da internet. A figura a seguir mostra os níveis lógicos que fazem parte da arquitetura de rede utilizada na internet com alguns protocolos utilizados nas camadas. Aplicação HTTP, FTP, DNS, DHCP, ... Apresentação EBCDIC, NDR, ... Sessão RCP, SSH, SCP, NetBios... Transporte TCP, UDP, ... Rede IP, IPX, ICMP, ARP, RARP, ... Ligação de dados Ethernet, FDDI, Frame relay .... Física Modem, camada física ethernet, ...1 3 5 2 4 6 7 Figura 18 – Camada OSI Principais funções de cada nível lógico: • Interface de rede: unificar a camada de rede, de natureza lógica, com as tecnologias de enlace que são de natureza física. • Rede: disponibilizar uma identificação lógica e independente do hardware, permitindo o encaminhamento de pacotes entre hosts na internet, através de dispositivos denominados roteadores. • Transporte: implantar um controle na comunicação, multiplexar comunicações, controlar possíveis erros e o fluxo da comunicação. • Aplicação: propiciar todos os serviços de comunicação utilizados pelo usuário final com as mais diversas ferramentas disponíveis (navegação web, envio e recebimento de e-mails etc.) A internet possui uma arquitetura denominada de pilha TCP/IP, já que é baseada na utilização na camada de transporte do protocolo TCP com o protocolo IP. 68 Unidade II Saiba mais Assista ao filme: PIRATAS da informática. Dir. Martyn Burke. EUA: Warner Bros, 1999. 95 minutos. O filme retrata toda a genialidade e disputa entre os dois maiores nomes da computação mundial, Bill Gates e Steve Jobs. Ambos foram responsáveis pelo enorme crescimento da utilização de computadores pessoais pelas pessoas comuns,afetando diretamente no crescimento da rede mundial de computadores, a internet. 3.3.1 Serviços de rede Os computadores e componentes eletrônicos trocam informações e compartilham recursos através dos serviços de rede, localizados na camada de aplicação da arquitetura de rede da internet. A seguir, é mostrada uma tabela com os principais serviços de rede disponibilizados na internet, bem como os protocolos de comunicação e as portas utilizadas para transporte de dados. Os protocolos TCP e UDP (user datagram protocol) são os mais usados para transporte de dados, o que não impede que outros serviços associados aos demais protocolos não possam ser utilizados de forma eficiente. Quadro 6 – Protocolos de comunicação Protocolo Porta Serviço FTP TCP 20/21 Transferência de arquivos SSH TCP 22 Terminal remoto seguro TELNET TCP 23 Terminal remoto não seguro SMTP TCP 25 Transferência de mensagens de e-mail DNS TCP/UDP 53 Tradução direta e reversa de nomes de domínio em endereços de rede DHCP UDP 68 Configuração automática de interfaces de rede TFTP UDP 69 Transferência rápida de arquivos, sem garantias HTTP TCP 80 Transferência de conteúdos hipermídia KERBEROS UDP/TCP 88/464 Gerência de tokens seguros de autenticação POP3 TCP 110 Leitura de mensagens de e-mail NTP UDP 123 Sincronização e ajuste de relógio NETBIOS TCP/UDP 137/138/139 Protocolos de rede proprietários da Microsoft IMAP TCP 143 Leitura de mensagens de e-mail SNMP TCP 161 Gerência de equipamentos e hosts de rede BGP TCP 179 Controle de rotas entre grandes redes LDAP TCP/UDP 389 Serviço de diretório remoto HTTPS TCP 443 Transferência segura de conteúdo hipermídia RTSP TCP/UDP 554 Controle de fluxos multímidia em tempo real LDAPS TCP 636 Serviço de diretório remoto, com acesso criptografado 69 LINGUAGEM DE PROGRAMAÇÃO APLICADA Para que se possa ter uma administração de redes eficiente, é fundamental o conhecimento das portas e dos protocolos utilizados em cada serviço de rede, permitindo, assim, um controle sobre os pacotes de dados em uma determinada comunicação. Lembrete Os protocolos de comunicação são específicos para as mais diversas funções que existem nas redes de computadores. Os sistemas operacionais não possuem embarcados todos os protocolos, somente aqueles dos quais eles necessitam para funcionar corretamente. Caso seja necessária uma utilização particular o protocolo correspondente deve ser instalado no sistema, possibilitando a troca de informações objetivada. 3.3.2 Componentes de uma rede de computadores: servidores São computadores devidamente projetados para disponibilizar os serviços de rede em um tipo de arquitetura denominada cliente/servidor. Para cada serviço de rede disponibilizado pelo servidor, existe um processo associado a ele que tem a função de abrir uma conexão de rede quando lhe for solicitado, permitindo o transporte dos dados. O exemplo mais conhecido de uma arquitetura cliente/servidor são os sistemas baseados em navegações web. A B Figura 19 – Dois computadores do tipo servidor, sendo um servidor para ser aplicado embutido em um painel (A) e um servidor do tipo torre para ser apoiado em mesa (B) Ao longo do tempo, as tecnologias de rede de comunicações evoluíram a ponto de permitir que novas configurações de servidores pudessem ser implementadas, diminuindo significativamente o uso desse tipo de equipamento. Um exemplo dessa evolução é referente ao desenvolvimento de um novo formato para disposição dos computadores na rede, denominado arquitetura P2P, também conhecido como para a par, em que um computador convencional ligado à rede de internet pode exercer a função de servidor – aquele que envia o pedido mediante a solicitação – de arquivos ao mesmo tempo que é um cliente – nome dado ao computador que pede algo à rede – dentro da mesma rede. Nesse tipo de arquitetura, tudo é descentralizado, sem um único servidor centralizado que detenha o arquivo e precisa se encarregar de enviar todos os milhares de pedidos ao mesmo tempo. 70 Unidade II As principais aplicações para a arquiteturas P2P são o compartilhamento de arquivos, estruturas multimídias e jogos. Lembrete O hardware de um servidor de dados deve ser dimensionado de acordo com a real necessidade de um sistema, considerando-se sempre a melhor relação custo-benefício. 3.3.3 Como funciona uma comunicação web Uma solicitação de abertura de uma página web é um ótimo exemplo de aplicação do tipo cliente/ servidor, no qual vários protocolos de comunicação e recursos são utilizados. Inicialmente, é necessário saber o endereço da página a ser acessada. Essa identificação é feita através do endereço do computador na rede internet que possui o recurso, além do protocolo de transporte para esse recurso, da porta pela qual serão enviados os pacotes e do protocolo necessário para a aplicação. Para uma página web, também é fornecido o diretório no computador onde a aplicação está hospedada, com o nome do arquivo a ser acessado para abertura da página. Toda essa comunicação será realizada na infraestrutura da internet através do protocolo IP. Páginas de web utilizam o serviço HTTP (hypertext transfer protocol), que será acessado pela porta TCP 80. Porém, isso só será possível a partir do momento que se saiba o endereço do computador na rede, o qual é composto por vários números de 32 bits, dificultando sua utilização pela grande maioria dos seus usuários. Devido a essa dificuldade, criou-se um método para utilização dos endereços através dos nomes dos computadores, sendo que um determinado servidor realiza a tradução desses nomes nos endereços IP de forma numérica. Os servidores que realizam esse tipo de tarefa são denominados servidores de DNS, serviço responsável por essa tradução. Sendo a página de web acessada diretamente pelo endereço IP, o serviço DNS não é requisitado. O protocolo DNS opera realizando consultas à porta UDP 53 de servidores especializados (a porta TCP 53 é reservada para atualizações de zonas de domínio entre servidores DNS). A consulta é direcionada ao endereço do servidor cadastrado na máquina, se ele não tiver o mapeamento em seus registros, irá consultar outro servidor DNS, dependendo da forma de consulta realizada. Os nomes dos hosts estão organizados de forma hierárquica, sendo responsáveis por regiões específicas dos domínios. Os computadores na internet possuem mais algumas informações associadas à placa de rede, sendo elas: o endereço IP, a máscara de sub-rede e o endereço de gateway padrão. Quando o servidor DNS está na mesma rede que o host, a mensagem é enviada diretamente ao servidor; caso isso não ocorra, o pacote segue para o gateway configurado para a rede. Vários procedimentos de roteamento são seguidos, com o objetivo de se conseguir o endereço do host final, que contém a página a ser acessada. Posteriormente, uma mensagem HTTP é criada e encapsulada em um pacote IP com endereço de destino igual ao que fez a requisição ao servidor DNS, retornando, dessa forma, ao computador origem. Esse é um exemplo simples de como ocorre uma transmissão na internet. 71 LINGUAGEM DE PROGRAMAÇÃO APLICADA 3.4 Administrar uma rede de computadores A concepção e a implantação de projetos de redes de computadores são tarefas de grande complexidade, que podem apresentar problemas em várias atividades, sendo alguns exemplos os de conectividade, configurações diversas dos serviços de rede e dos sistemas operacionais, serviços de controle de usuários e de permissões, entre outros. A D B E C F G L K M N P O J I H FDDI Token Ring Servidor principal Switch principal Workgroup switch Repetidor Bridge E1 E0 1 2 F0 T0 Hub Internet Figura 20 – Representação da rede de computadores A evolução das tecnologias e o crescimento constante das redes exige que sejam criadas ferramentas para facilitar o trabalho de gerenciamento e de manutenção dos sistemas em todos os níveis. Podemos definir a administração de redes como uma áreadentro da computação voltada para a manutenção do sistema, visando manter os níveis de funcionalidades das redes em condições satisfatórias, permitindo a sua utilização pelos usuários. Falhas nos sistemas de redes podem causar grandes transtornos para as organizações e usuários em geral. Deve-se garantir um mínimo de funcionalidades para que não se comprometa a segurança e a confiabilidade de uma rede. Outra preocupação que deve ser constante na administração de redes é em relação à performance do sistema, o qual deve ser monitorado de forma eficiente, garantindo a comunicação entre os dispositivos sem perda de velocidade ou identificando possíveis causas de falhas. Sobrecarga de dados nas redes é um dos principais problemas que devem ser identificados rapidamente e corrigidos. 72 Unidade II A administração de redes também deve estar constantemente preocupada com os equipamentos de hardware envolvidos, analisando a aplicação de novas tecnologias e melhorias que possam aumentar a confiabilidade e segurança das redes. Independentemente da complexidade da rede de computadores que esteja sendo analisada, o gerenciamento dela se faz muito importante, pois somente dessa forma podemos garantir que ela disponibilize os serviços de segurança e eficiência de forma adequada a todos os seus usuários. Em redes de computadores de grande complexidade, o gerenciamento convencional, que normalmente ocorre de forma manual por parte do administrador, se torna inviável, devido à enorme gama de problemas que podem aparecer, tornando, muitas vezes, sua identificação e solução muito demoradas. Uma solução possível para esses casos é a adoção de ferramentas de software que permitem o gerenciamento, em automático, da rede, analisando diversos pontos, visando garantir a qualidade dos serviços e equipamentos. Porém, muitas vezes, esses softwares possuem tantas ferramentas que não são exploradas ao máximo pelo próprio administrador da rede, tornando-os mal utilizados. Os investimentos nesse tipo de produtos sempre são muito altos para as empresas e nem sempre os responsáveis pelos investimentos se conscientizam da necessidade de ter ferramentas para o gerenciamento das redes. Alguns fatores podem influenciar na decisão de investir nesse tipo recurso, tais como: • Os recursos computacionais, tanto de hardware como de software, são cada vez mais considerados, dentro das organizações, como vitais para seu funcionamento, por isso o controle desses recursos se faz necessário para garantir a sua funcionalidade. • As redes de computadores se enquadram nesse contexto, ainda mais se considerarmos que o seu crescimento dentro de qualquer organização se faz constante, havendo, assim, a necessidade de gerenciá-la de forma adequada para garantir a sua funcionalidade e, principalmente, a segurança dos dados que por ela trafegam. • Conforme os sistemas de informação crescem dentro das organizações, os recursos de rede são cada vez mais exigidos, a fim de garantir que cada usuário consiga fazer uso dos recursos disponíveis para ele, não interferindo no funcionamento ou no nível de segurança do restante do sistema. • A disponibilidade da informação nos tempos de hoje tem que ser imediata, as tomadas de decisão dentro das organizações são elaboradas baseadas nessas informações, assim, qualquer atraso ou indisponibilidade delas acarreta graves consequências para a organização, e a segurança da informação também deve ser garantida aos mais diversos níveis de acesso que possam existir. • A relação custo-benefício sempre deve ser analisada para a aquisição de qualquer equipamento ou software, a fim de garantir que o serviço de rede irá atender a demanda dos usuários dela. 73 LINGUAGEM DE PROGRAMAÇÃO APLICADA 3.4.1 Áreas de gerenciamento Ao longo do tempo, foram especificadas áreas dentro do conceito de redes de computadores em que devem ser aplicados os conceitos de gerenciamento de sistemas, com o objetivo de garantir o mínimo de confiabilidade e performance das redes. Essas áreas foram especificadas baseadas em padrões determinados pela Organização Internacional para Padronização, cuja sigla é a ISO (International Organization for Standardization), que é uma entidade de padronização e normatização criada em Genebra, na Suíça, no ano de 1947. O principal objetivo da ISO é o de aprovar normas de âmbito técnico internacionais, normas de procedimentos e processos. No Brasil, essa organização é representada pela Associação Brasileira de Normas Técnicas (ABNT). A seguir, serão explicadas as principais áreas que foram padronizadas mundialmente para o gerenciamento de redes. 3.4.2 Análise de falhas Podemos definir uma falha como uma situação que faz com que o sistema fique em uma condição anormal de funcionamento. Normalmente são causadas por uma sequência de operações não previstas ou por erros – que podem, por sua vez, ser causados por diversos fatores, tais como hardware ou condições não previstas pelo software. Podemos citar como falha de hardware a queima de um equipamento ou um rompimento de cabo de comunicação, e como falha de software o preenchimento incorreto de uma palavra de dados a ser transmitida. Para que se possa evitar as ocorrências de falhas, um bom gerenciamento de todos os pontos que fazem parte de um sistema é de suma importância. Para isso, o acompanhamento individual desses pontos pode garantir os resultados esperados de performance sem falhas. Na ocorrência de um evento de falha, algumas ações podem ser tomadas para que o impacto no funcionamento seja minimizado. • identificar o ponto exato da ocorrência de falha; • separar a parte da rede em que ocorreu o evento de falha, quando possível, permitindo que o restante da rede permaneça funcionando; • alterar a arquitetura da rede, temporariamente até a normalização, visando minimizar os impactos causados pelo evento de falha; • realizar a intervenção no ponto da falha de modo a restabelecer o pleno funcionamento do sistema. Alguns recursos podem ser utilizados com o objetivo de minimizar os impactos de uma falha nas redes de comunicação, entre eles, o principal é a implantação de equipamentos e rotas de comunicação redundantes. Em muitas situações em que esses recursos são implementados, as falhas de rede passam 74 Unidade II desapercebidas pelos usuários, além de propiciar à equipe de manutenção uma situação mais confortável para restauração completa do sistema. 3.4.3 Análise de utilização Uma atividade que se faz muito importante, também pelo administrador da rede de comunicação, é a análise da utilização dos recursos disponíveis pelos usuários, verificando se um determinado usuário ou grupo de usuários está com o nível de acesso correto e se não está utilizando os recursos de forma exagerada pelos seus sistemas, causando perda de produtividade nos demais usuários da rede. Para que essa análise seja bem feita, é necessário que o administrador da rede conheça com detalhes as atividades dos usuários ou grupos de usuários da rede, podendo, dessa forma, identificar a utilização inadequada dos recursos e até mesmo auxiliar no planejamento para crescimento da rede quando se fizer necessário. Para isso, o administrador da rede deve conhecer quais são os dados que devem ser analisados para cada ponto da rede, avaliar se os tempos de resposta da rede estão adequados, verificar se o fluxo de dados está aumentando ou não e saber analisar esses dados de acordo com as regras estabelecidas para o funcionamento da rede dentro da organização. 3.4.4 Análise da arquitetura da rede Essa análise tem a finalidade de avaliar os impactos no sistema desde sua inicialização ou em situações em que se faz necessário a paralização parcial ou total da rede, para uma manutenção, por exemplo. Também fazem parte dessa análise as necessidades para possíveis aumentos na configuração da rede ou a retirada ou modificação de um determinado componente. O administrador da rede também analisa qual a funçãoque cada componente pode exercer dentro da arquitetura da rede e, dessa forma, definir qual é o melhor software e demais componentes para que esse equipamento atue dentro do planejado. Podemos citar, como exemplo dessa atividade, a configuração de um computador convencional, que terá a função de roteador dentro da arquitetura de rede. Para isso, deve-se especificar qual é o hardware e o software mais adequado para que ele exerça essa função. A definição da arquitetura final da rede, definindo como cada componente irá se conectar aos demais, também faz parte das atribuições dessa análise. As decisões de mudanças nessa arquitetura devem ser decididas baseadas em dados de performance, índice de falhas e nível de segurança da rede. Uma das formas mais eficientes para esse tipo de análise é através da geração de relatórios automáticos, que disponibilizam os dados para análise de forma simples e rápida para o administrador da rede. 75 LINGUAGEM DE PROGRAMAÇÃO APLICADA 3.4.5 Análise de desempenho A atividade de análise de desempenho de uma rede de computadores deve considerar os seguintes pontos: • Taxa de utilização da rede, ou seja, em que nível de ocupação que os componentes da rede estão funcionando. • O índice de tráfego na rede, a quantidade de dados que estão trafegando em um determinado período de tempo, normalmente dado em segundos. Essa informação é definida no âmbito das redes de comunicação como throughput. • O indicador throughput deve estar operando em valores aceitáveis para o bom funcionamento da rede. • Identificar pontos em que a rede está com baixa eficiência. • Analisar se o tempo de resposta às requisições de rede estão aumentando e identificar os motivos dessa queda de eficiência. Esses pontos devem ser analisados pelo administrador da rede, de forma que através deles se estabeleçam metas de desempenho da rede, e através de ações procurar sempre atender a esses indicadores. Dessa forma, o nível de aprendizado do administrador em relação a sua rede vai aumentando, facilitando a diagnose e prevenção de possíveis falhas que venham a ocorrer. Essas atitudes também propiciarão ao administrador uma análise mais rápida e precisa nos casos de perda de performance do sistema. Baseado em informações consistentes, o administrador também pode tomar as decisões de intervir na rede de forma mais consciente, independentemente do nível de mudança que se faça necessária. Dessa forma, também fica mais fácil a justificativa para paradas de manutenção no sistema, minimizando os impactos para os usuários. 3.4.6 Análise de segurança Um dos pontos mais importantes para uma rede de computadores é relativo à segurança. A análise de segurança confere pontos que visam proteger a rede de comunicação propriamente dita e também os dados transmitidos pelos usuários. Para isso, é necessário o uso de ferramentas que sejam confiáveis e extremamente eficientes, e que o próprio sistema de segurança garanta a sua própria integridade. A esse tipo de sistema, somente o administrador da rede e usuários cadastrados podem ter acesso. Algumas questões devem ser consideradas, quando o assunto segurança é analisado: • Chaves de criptografia (arquivos gerados por programas de computador para garantir a autenticidade de um usuário) devem ser administradas e distribuídas de forma correta. 76 Unidade II • Controle na distribuição de senha de acesso aos sistemas. • Através da monitoração de pontos de rede, realizar o controle de acesso a ela. • Analisar todos os dados relativos à auditoria e registros de log de segurança realizando, quando necessário, a habilitação ou desabilitação desses serviços. Fica a cargo do administrador a decisão de uso desses recursos na rede como um todo ou em parte dela, permitindo uma análise de possíveis pontos de vulnerabilidade. Lembrete O item segurança é o mais impactante para o usuário de uma rede de computadores, pois uma falha nesse quesito pode comprometer seriamente a integridade dela. Muitos investimentos são realizados nessa área pelas empresas, mas o comportamento de cada um diante de um sistema também é fundamental. 3.5 Inspeção e administração da rede A análise detalhada do funcionamento de uma rede de computadores, como já vimos, é de suma importância para garantir o seu pleno funcionamento, propiciando ao usuário a melhor qualidade dos serviços por ela prestados. Podemos classificar as atividades de análise da rede em dois grupos, que vamos denominar de inspeção da rede e administração da rede. A inspeção da rede é relacionada à atividade de observação e verificação do estado de funcionamento de seus componentes e como eles estão configurados. Consideramos essa uma atividade de obtenção de dados do estado atual da rede. A administração propriamente dita está relacionada às atividades de parametrização dos equipamentos que fazem parte da rede. Consideramos essa uma atividade de envio de informações ou atuação nos equipamentos. 3.5.1 Inspeção A inspeção se baseia na observação de todas as informações de suma importância para o sistema. Essa inspeção pode ser realizada de forma automática, através de ferramentas de software trazendo dados em tempo real, ou de forma programada pelos responsáveis pela administração da rede, nesse caso, deve-se realizar as análises nos momentos de maior tráfego de dados pela rede. Podemos citar algumas categorias para classificar as informações levantadas por essas inspeções, tais como: • Fixas: informações que representam como os componentes da rede estão configurados e a forma como eles se conectam dentro da arquitetura da rede. Podemos citar a identificação de roteadores, switches, portas de switches e cabos de rede. 77 LINGUAGEM DE PROGRAMAÇÃO APLICADA • Dinâmica: informações que representam como a rede está funcionando em um determinado momento, considerando principalmente os dados de performance da rede. • Dados estatísticos: informações provindas das análises estatísticas dos diversos parâmetros da rede; também podemos considerar os dados de performance como média de quantidade de pacotes transmitidos em um determinado intervalo de tempo, em um horário específico, por alguns dias. Todas essas informações, devidamente classificadas e estratificadas, devem ser analisadas pelo pessoal responsável pelas tomadas de decisão, tais como administradores da rede, gerentes e demais responsáveis pela parte técnica, de modo que as decisões de intervenção na rede sejam consenso de todos, evitando, dessa forma, maiores transtornos para os demais usuários. 3.5.2 Administração da rede de comunicação A administração de rede é entendida como sendo as ações efetivas de modificações dos parâmetros de configuração dos equipamentos, na grande maioria dos casos de forma remota. Porém precisamos entender que todas as áreas relativas às funcionalidades das redes de comunicação precisam ser monitoradas constantemente, para antecipar possíveis problemas que possam ocorrer, principalmente quando se fala de performance, segurança e falhas. Alguns pontos que podemos destacar como importantes para uma administração eficiente das redes são: • descrição sucinta dos pontos de configuração dos dispositivos a serem utilizados na rede; • definição e possíveis modificações dos parâmetros; • determinação da forma como os componentes da rede irão se comunicar dentro dos padrões estabelecidos; • disposição dos softwares a serem utilizados mediante a arquitetura da rede definida em fase de projeto; • análise dos valores gerados pelo sistema em funcionamento, considerando a arquitetura instalada; • confecção de relatórios que informem o estado atual dos equipamentos e os seus parâmetros de configuração. Pontos relativos à segurança do sistema devem estar inseridos em todos os aspectos abordados na parte de administração da rede. O objetivo sempre deve ser o de garantir a confidencialidade das informações a serem transmitidas, bem como a de seus usuários. Quando abordamos o assuntode segurança, os principais riscos que se devem analisar são referentes à interceptação, alteração ou a perda de dados por parada do sistema. 78 Unidade II Os principais pontos que podemos destacar no quesito segurança são: • preservação das informações relativas à segurança; • monitoramento dos acessos realizados sobre os mais diversos equipamentos que fazem parte da rede; • implantação de um sistema de criptografia, restringindo os acessos indevidos a esses equipamentos. Administrar uma rede de computadores, independentemente do porte, resume-se a uma atividade de gerenciamento, baseada em números esperados que sirvam de parâmetro para o bom funcionamento, sobretudo quando falamos de segurança da informação e performance. Para que um bom nível de gerenciamento seja alcançado, é necessário que as pessoas possuam conhecimentos específicos sobre o assunto e que saibam utilizar todos os recursos disponíveis, nos dias de hoje, para analisar e diagnosticar corretamente os valores levantados. Somente dessa forma se pode obter resultados positivos em relação aos diversos pontos. Esse conhecimento, que deve ser no âmbito de hardware e software, também irá auxiliar na resolução de problemas que ocorrem de forma rápida e satisfatória. 4 PRINCIPAIS FERRAMENTAS PARA ADMINISTRAÇÃO DE REDES Existem inúmeras ferramentas de software disponíveis para a administração de redes de computadores. Elas podem ser gratuitas ou pagas, possibilitando ação em vários níveis de administração. Dessa forma, fica a critério dos administradores analisar a funcionalidade de cada uma e definir a que melhor se encaixa segundo suas necessidades, levando em consideração sempre o estudo de custo-benefício. As ferramentas apresentadas em seguida estão disponíveis nos principais sistemas operacionais, e algumas podem ser utilizadas dentro de scripts, melhorando a eficiência na resolução de problemas. 4.1 Programa Ping O programa Ping é simples, porém muito utilizado para testar a conectividade entre endereços de rede. Está disponível em todos os sistemas operacionais e é de grande utilidade para administradores de rede, principalmente no início da análise de problemas. Em geral, é a primeira ferramenta utilizada. A conectividade é verificada por meio da transmissão de mensagens através do protocolo Internet Control Message Protocol (ICMP) – inserido entre as camadas de rede e de transporte, mesmo não fazendo parte de nenhuma delas formalmente. Observação O ICMP é um protocolo integrante do protocolo IP, definido pelo RFC 792. É utilizado para fornecer relatórios de erros à fonte original. Qualquer computador que utilize IP precisa aceitar as mensagens ICMP e alterar o seu comportamento de acordo com o erro relatado. 79 LINGUAGEM DE PROGRAMAÇÃO APLICADA O funcionamento é bastante simples. Mensagens ICMP – Echo Request são enviadas para o endereço informado como parâmetro, o qual se deseja analisar, e para que haja sucesso na verificação, mensagens ICMP – Echo Reply devem chegar de volta ao programa. Havendo o recebimento da mensagem de retorno, verifica-se a conectividade dos equipamentos. O programa também mostra o tempo de retorno da mensagem de resposta. As principais falhas que detectamos com o programa Ping são a falta de conectividade, indisponibilidade do endereço destino e sobrecarga na comunicação. O exemplo em seguida demonstra a aplicação do programa Ping, nesse caso aconteceu uma resposta negativa em relação ao envio do pacote: Exemplo A C:\> ping www.terracom.com.br A requisição feita pelo programa Ping não encontrou o host www.terracom.com.br. Nesse caso, devemos conferir o nome e realizar uma nova tentativa. Exemplo B O exemplo a seguir demonstra uma nova aplicação do programa Ping, neste caso, houve uma resposta positiva em relação ao envio do pacote: C:\> ping -c 4 www.sbc.org.br PING portalsbc.sbc.org.br (143.54.31.10) 56(84) bytes of data. 64 bytes from www.sbc.org.br (143.54.31.10): icmp_seq=1 ttl=65 time=171ms 64 bytes from www.sbc.org.br (143.54.31.10): icmp_seq=2 ttl=65 time=168ms 64 bytes from www.sbc.org.br (143.54.31.10): icmp_seq=3 ttl=65 time=146ms 64 bytes from www.sbc.org.br (143.54.31.10): icmp_seq=4 ttl=65 time=281ms --- portalsbc.sbc.org.br ping statics --- 4 packets transmitted, 4 received, 0 packet loss, time 3001ms Rtt min/avg/max/mdev = 146.848/192.305/281.725/52.520 ms Por se tratar de um programa muito simples, não se deve considerar somente o resultado apresentado pelo Ping como diagnóstico de falha de uma rede. Entretanto ele é de grande importância para testes rápidos, que auxiliam em uma análise preliminar. 80 Unidade II O comando se inicia quando a primeira sequência é realizada e o número contador é incrementado de um sempre que uma mensagem Echo Request é enviada. O comando exibe como resposta o número da sequência que cada datagrama retornou. Dessa forma, verificamos se houve perda de pacotes e também se eles foram em ordem errada ou duplicados. O protocolo de comunicação IP é baseado em serviços de entrega de pacotes, considerando sempre o meio mais fácil, sendo assim, falhas como as citadas podem ocorrer. Algumas informações adicionais são mostradas assim que o retorno Echo Reply chega de volta, são elas o TTL e o round trip time (RTT) calculado. Esse cálculo armazena, em uma parte de dados da mensagem ICMP, a hora em que o pacote Echo Request foi enviado. Quando a mensagem retorna, o comando pega novamente a hora atual e subtrai do valor guardado anteriormente, mostrando o resultado. Na sequência, um exemplo de utilização do comando ping dentro do aplicativo de prompt do Windows, versão 10, para testar a conectividade com o host www.terra.com.br: Figura 21 Para o caso do sistema operacional Linux, a sintaxe do comando seria: root@linux: # ping www.terra.com.br Independentemente do sistema operacional que estamos usando, o comando ping envia os pacotes para uma uniform resource locator (URL), que representa um endereço que se deseja acessar em uma rede, no caso a internet. A URL digitada é resolvida por um servidor específico que transforma essa em um endereço IP, para onde os pacotes do ping são enviados. A demora que muitas vezes ocorre para que o retorno apareça geralmente é causada pelo servidor que resolve o nome da URL para o endereço IP. Quando utilizamos o sistema operacional Linux, obtemos como resposta o número correspondente a cada um dos datagramas, isso no campo denominado icmp_seq. Quando utilizamos o sistema operacional Windows, essa resposta não é disponibilizada. 81 LINGUAGEM DE PROGRAMAÇÃO APLICADA Na janela de resposta do comando, são disponibilizadas duas colunas, denominadas time e tempo, que tem a função de mostrar o RTT, em segundos, enviado relativo ao datagrama. Já o TTL é apresentado na coluna de mesmo nome, ambos os sistemas possuem essa informação. Ainda na janela de resposta há um campo que determina o tamanho que a mensagem enviada possui, por exemplo bytes=32. O comando ping tem a capacidade de modificar esse tamanho, o que pode ser de grande valia em diversos testes de transferência de dados na rede. Informações sobre as estatísticas relativas ao envio dos pacotes de dados também são disponibilizadas, informações tais como: quantidade de pacotes transmitidos, recebidos e perdidos, além dos percentuais de perda. Descrevemos, em seguida, a sintaxe do comando ping: ping [opções] hostname ou endereço ip Quadro 7 – Relação de parâmetros com os respectivos significados para o comando Opção Função -a Levantamento de endereços que podem servir de nomes para hosts -f Identifica o sinal de não fragmentação em um pacote de comunicação padrão -t Envia pacotes ping ao host determinado até que seja interrompido pela execução de um comando, como o CTRL-C -n Num Exibe a quantidade de requisições de eco que devem ser enviadas -i TTL Realiza o acerto dos pacotes do tipo TTL -r Num Armazena o encaminhamento de contagem da rota para o padrão IPV4 -w Tempo Exibeo tempo máximo esperado para cada resposta obtida em relação ao envio do pacote. Tempo mostrado em milissegundos -R Realiza o teste na rota de envio através da utilização do cabeçalho do próprio roteamento. Serve também para o novo padrão IPV6 -s Num Implementa os valores de data e hora (timestamp) em cada trecho de contagem de roteamento. Esse parâmetro é utilizado somente para o padrão IPV4 -S endereco Exibe o endereço de origem do pacote enviado que será usado -4 Força a utilização do padrão IPV4 para envio do pacote de dados -6 Força a utilização do padrão IPV6 para envio do pacote de dados 4.2 Programa Traceroute/Tracert O programa Traceroute, também denominado Tracert (como é o caso do sistema Windows), é muito utilizado quando desejamos identificar a rota que os pacotes transmitidos por um computador seguem até o seu destino através da internet. O protocolo IP é o padrão utilizado pela camada de rede, enviando pacotes sem obrigatoriamente criar conexões lógicas; dessa forma, as informações podem ir por caminhos diferentes, mesmo sendo idênticas. 82 Unidade II Na rede mundial de computadores, a decisão de qual rota os pacotes devem seguir é de responsabilidade dos roteadores, direcionando-os pelas melhores rotas, sempre considerando o menor custo possível. Os pacotes IP possuem um campo TTL, que tem a função de evitar que eles trafeguem pela rede indefinidamente, como, por exemplo, quando da ocorrência de algum loop de roteamento. Cada roteador é capaz de processar um pacote IP, subtraindo em um o valor contido nesse campo, descartando pacotes com TTL que atinjam o valor zero. O programa Traceroute se baseia no envio de pacotes TTL somado em um, a partir do TTL com valor 1, até o momento que atinja o destino que se pretende identificar. Quando um determinado pacote IP é descartado, isso ocorre porque o campo TTL no cabeçalho do pacote atingiu o valor zero, então uma mensagem ICMPnTime Exceeded é enviada ao emissor do pacote descartado. A partir desse ponto, o programa Traceroute vai, então, armazenando as mensagens ICMP recebidas e montando a rota até o destino verificado. A seguir, um exemplo da utilização do programa Tracert no sistema operacional Windows 10: Figura 22 A tabela a seguir mostra alguns parâmetros utilizados para o programa Tracert, com as funções correspondentes: 83 LINGUAGEM DE PROGRAMAÇÃO APLICADA Quadro 8 /release Desconsidera a configuração de rede atual, liberando recursos para uma nova configuração /renew Realiza uma consulta ao serviço DHCP para receber uma nova configuração de rede /displaydns Apresenta todas as informações contidas no cache DNS local /flushdns Remove as informações do cache DNS local No exemplo a seguir, o parâmetro /all é utilizado para apresentar todas as configurações da rede às quais o computador se encontra conectado. Este comando foi executado no sistema operacional Windows 10: Figura 23 4.2.1 Traceroute tradicional Podemos definir o comando Traceroute como um recurso para levantamento de diagnóstico, que visa mostrar as rotas que os datagramas percorrem quando são enviados de um ponto ao outro de uma rede, isso quando são do tipo IP. O protocolo ICMP e o campo TTL existente no cabeçalho IP são utilizados pelo programa para realizar esse rastreamento. A simbologia TTL, que no termo original significa Time to Live, é um parâmetro que possui um tamanho fixo de oito bits, inicializado pelo dispositivo na rede que originou o envio da mensagem. 84 Unidade II Quando um determinado datagrama chega a um roteador na rede, o valor do TTL é diminuído em um, antes que seja enviado para o próximo ponto. Essa ação evita que datagramas possam sofrer retornos indesejados, chamados loops, o que pode ocorrer com muita facilidade no caso de erros das operações de roteamento. O roteador que recebe o TTL com valor zerado não realiza mais o seu encaminhamento, fazendo o descarte do pacote e retornando uma mensagem do tipo ICMP para o host de origem, informando tempo ultrapassado. A grande vantagem desse programa é que ele insere nessa mensagem o endereço IP do roteador, permitindo seu rastreio. Para cada retorno recebido de um novo roteador na rota de destino da mensagem, o Traceroute envia um novo pacote com um número maior, recebendo como retorno uma mensagem vinda do roteador que zerou o contador. Esse processo continua até que o último host seja alcançado, permitindo que o programa possa traçar a rota com a identificação de todos os roteadores que participaram da comunicação. Vale lembrar que existem algumas particularidades do Traceroute, quando trabalhamos com Linux ou com Windows. Como exemplo, esse próprio programa no sistema Windows é denominado Tracert, como mencionado anteriormente, além disso, algumas informações podem aparecer com nomes ou em colunas diferentes. Observação Apesar de o comando apresentar sintaxe diferente no sistema operacional Windows e no Linux, todos os parâmetros aparecem em ambos os sistemas. Pode ocorrer de haver pequenas particularidades de sintaxe em um ou outro sistema. Devemos consultar essas diferenças para a correta utilização. Figura 24 – Exemplo do comando Tracert no sistema Windows 10 85 LINGUAGEM DE PROGRAMAÇÃO APLICADA Observamos, no exemplo anterior, que o comando executou um rastreamento completo de todos os roteadores usados ao longo do trajeto utilizado pela mensagem até o endereço final. Cada dispositivo é numerado e os tempos de envio e retorno de cada um é mostrado. Também aparece o nome adotado pelos dispositivos na rede. 4.3 Comando ifconfig O comando ifconfig é semelhante ao comando ipconfig, sendo que a diferença fundamental entre eles é a de que o ifconfig é utilizado nos sistemas operacionais Linux. O significado do comando, que provém da denominação Interface Configuration, demonstra que ele permite a exibição dos parâmetros de configuração de rede. Através dele, também é possível modificar configurações que estejam em uso das interfaces de rede contidas no computador. No sistema operacional Linux, o parâmetro eth0 sempre representa a primeira interface de rede utilizando o padrão ethernet no computador, sendo h0 o parâmetro que representa o endereçamento de loopback. Esses endereços de loopback que se encontram na faixa 127.0.0.0 a 127.255.255.255 são utilizados para indicar o dispositivo de rede do próprio computador. Quando esse comando é usado, o pacote de mensagem não é realmente enviado para a rede, pois é originado e destinado na própria máquina. Esse comando é muito utilizado para testar a presença ou não da pilha TCP/IP no próprio equipamento e para fazer testes locais de comunicação. O exemplo a seguir demonstra a utilização do comando ifconfig para elaboração de uma nova configuração de rede para a interface eth0, no sistema operacional Linux: # ifconfig eth0 201.234.105.17 netmask 255.255.255.240 up 4.3.1 Algumas aplicações do comando ifconfig O comando ifconfig possui algumas funcionalidades que são muito importantes para o gerenciamento da rede no sistema operacional Linux. A flexibilidade disponível nele faz com que muitas pessoas e empresas o adotem como plataforma de sistema operacional. 4.3.1.1 Modificando o endereçamento de máquina Podemos definir o endereçamento de máquina, ou MAC address (sigla original em inglês), como sendo o endereço físico que um certo dispositivo possui individualmente. Esse endereço é determinado associado à interface de rede que está sendo utilizada pelo dispositivo ou computador, por isso afirmamos que não existem dois endereços de máquinas iguais em uma rede de computadores, mesmo se pensarmos em nível da internet. O endereço MAC leva em consideração os códigos de identificação do componente principal do dispositivo, definido pelo fabricante, tornando-o único. Dependendo diretamente do dispositivo de rede, o endereço MAC não pode ser alterado se o analisarmos no meio físico, porém pode ser modificado virtualmente. O comando que permiteessa alteração é o ifconfig, no sistema operacional Linux. Veja um exemplo dessa utilização, observando que essa modificação só pode ocorrer com o dispositivo desativado. 86 Unidade II • Desativando a placa de rede. # ifconfig eth0 down • Realizando a alteração do endereço. # ifconfig eth0 hw ether 00:D1:D1:76:3D:15 • Reativando a placa de rede configurando um endereço. # ifconfig eth0 168.192.10.110 netmask 255.252.252.0 up Quando realizamos a mudança de um endereço físico, deve-se tomar os devidos cuidados, principalmente para não criarmos uma duplicidade de dispositivos. 4.3.1.2 Acrescentando um endereço IP Uma outra possibilidade do comando ifconfig é a de implementar mais um endereço IP no dispositivo de interface de rede utilizado pelo computador. A grande maioria dos computadores disponibilizados no mercado possui apenas uma placa de rede, normalmente integrada à placa-mãe. Muitas vezes desenvolvemos aplicações distintas que necessitam estabelecer comunicação de rede de forma independente, como os computadores possuem somente uma placa de rede, essa comunicação não seria possível. Nesse sentido, a funcionalidade de implementação de um outro endereço IP no mesmo dispositivo é muito importante, permitindo que cada aplicação utilize o seu encaminhamento de rede de forma independente. Com esse recurso, podemos ter, em vez de um computador com duas placas de rede, um computador com uma única placa desempenhando da mesma forma. Podemos implementar quantas redes forem necessárias, porém com bastante cuidado na utilização desse recurso, a fim de evitar conflitos na rede. Essas redes configuradas na mesma placa são o que denominamos de redes virtuais no sistema Linux. A seguir, veja um exemplo de implementação de mais de um endereço IP em uma placa de rede. • Comando para implantação do endereço IP número um. # ifconfig eth0 10.106.1.10 netmask 255.255.252.0 up • Comando para implantação do endereço IP número dois. # ifconfig eth0:1 101.100.1.10 netmask 255.255.252.0 up • Comando para implantação do endereço IP número três. # ifconfig eth0:2 155.201.166.10 netmask 255.255.252.0 up 87 LINGUAGEM DE PROGRAMAÇÃO APLICADA Podemos observar que o parâmetro eth0 está sempre inalterado, isso porque estamos acessando sempre o mesmo dispositivo de rede, que, no sistema Linux, é referenciado dessa forma. Seguido desse parâmetro, verificamos o número, que aparece a partir do segundo comando, que indica o número da rede virtual que estamos implementando. No primeiro comando, esse número não é indicado pelo fato de o sistema, por padrão, adotar a primeira rede. Através do comando ifconfig, podemos verificar as configurações implementadas, obtendo a visualização de todas as denominações das interfaces de rede com os respectivos endereços IP, que estão configurados no momento da consulta. Veja o descritivo do comando para essa verificação: # ifconfig 4.3.1.3 Múltiplos pacotes (promíscuo) Em administração de redes de computadores, é muito comum, e às vezes necessário, utilizarmos técnicas para monitoramento do tráfego de rede, considerando todos os pacotes que estão trafegando em um determinado trecho dela. Para realizar essa tarefa, é necessário que a interface de rede do computador esteja habilitada para receber todos esses pacotes, mesmo aqueles que não se destinam ao computador. Denominamos esta técnica como sniffing, e a usamos sobretudo para detectarmos pacotes de dados que visam causar algum mal aos sistemas como um todo ou quando desejamos, simplesmente, analisar os parâmetros de performance da rede. Esse modo de operação do dispositivo de rede também é chamado de modo promíscuo, e é dessa forma que os parâmetros do comando se referenciam. Sniffing é uma técnica muito utilizada com o intuito de interceptar e analisar o tráfego de um trecho da rede de computadores, normalmente aplicada dentro das organizações, possibilitando a decodificação do conteúdo que está trafegando. Esse rastreamento das mensagens pode ser realizado pelo administrador da rede para analisar se a rede está operando de forma eficiente. A seguir, um exemplo de utilização. Exemplo: • Para ativarmos esse modo, utilizamos o comando: # ifconfig eth0 promisc • Para desativarmos esse modo, utilizamos o comando: # ifconfig eth0 -promisc • A verificação das placas de rede para esse modo de operação é realizada através do comando: # ifconfig | grep -i PROMISC • Como resultado do último comando recebemos uma mensagem em tela como a seguir: UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 Quando colocamos o dispositivo de rede para operar desse modo, estamos habilitando que todos os pacotes estejam passando por ele, os bem e os mal-intencionados, deixando o computador totalmente desprotegido e à mercê de ataques que podem vir a prejudicá-lo. Temos que tomar todos os cuidados na utlização desse modo, a fim de evitarmos situações desastrosas. 88 Unidade II 4.4 Protocolo ARP No ambiente de redes de computadores, existe um protocolo que possui uma função muito importante para o endereçamento nela, denominado de address resolution protocol (ARP), protocolo de resolução de endereço. Ele atua entre os protocolos que fazem parte da camada TCP/IP, permitindo que se conheça o endereço físico da placa de rede do dispositivo conectado na rede, endereço esse que corresponde a um determinado endereço IP. Quando um dispositivo qualquer está ligado à rede de computadores, ele possui uma identificação única, como um código, com tamanho de 48 bits, definida pelo fabricante do equipamento. Esse código não é utilizado como endereço na rede, o que é utilizado, como já visto, é o endereço IP. Nesse sentido, o protocolo ARP realiza uma relação entre o endereço físico do dispositivo e o endereço lógico da seguinte forma: o protocolo realiza um levantamento de todas as máquinas ligadas à rede, identificando os seus endereços físicos e armazenando essas informações em uma memória. Assim que um computador tenta se conectar à rede, ela consulta a memória do protocolo e, caso o endereço que o computador esteja solicitando não se encontrar nela, o protocolo envia uma solicitação na rede como um todo. Após esse envio, os computadores irão realizar a comparação do endereço lógico enviado, e, a partir do momento que um computador se identifique como verdadeiro, a comunicação se estabelece. Com essa atividade, o protocolo ARP tem a função de funcionar como um facilitador na tradução de um determinado endereço IP – com característica puramente lógica –, em um endereço que possui característica física, formando o que chamamos de endereço de enlace de rede. Essa tradução é o que permite que pacotes de dados trafeguem por redes diferentes em relação a endereçamentos. Essas áreas de memória, em que as relações de endereçamentos físicos e lógicos ficam armazenadas, ficam localizadas em computadores específicos para essa função em um local na rede. Através de comandos com parâmetros específicos, podemos acessar essas áreas de memória para consultas e, em alguns casos, realizar a deleção de registros. Veja a seguir um exemplo de execução desse tipo de comando no ambiente do sistema operacional Windows 10. Figura 25 O quadro a seguir mostra alguns dos parâmetros principais com as respectivas funções, todos baseados no sistema operacional Windows. Caso seja utilizado outro sistema operacional, mudanças na sintaxe podem ser necessárias. 89 LINGUAGEM DE PROGRAMAÇÃO APLICADA Quadro 9 – Parâmetros do comando ARP Opção Função -a Exibe as entradas arp atuais -a endereço Exibe as entradas arp para o endereço especificado -g Parâmetro equivalente ao -a -d endereço Remove o registro arp para o endereço especificado -s Realiza uma mapeamento arp estático Podemos verificar que o protocolo ARP realiza uma atribuição dinâmica de endereços através da relação entre duas características de endereçamento, que são o endereço IP e o endereço físico de um dispositivo.Porém não precisaria, necessariamente, ser o endereço físico do dispositivo, e sim qualquer endereço que seja utilizado na camada de enlace do protocolo TCP/IP. Utiliza-se o endereço físico, pois já é um parâmetro que vem pronto dos fabricantes e que já segue uma norma para sua identificação. Podemos concluir que o protocolo ARP possibilita obtermos o endereço de máquina (MAC address) de um determinado dispositivo, conhecido o endereço IP. Citamos, agora, um protocolo que possibilita obtermos o endereço IP de um dispositivo na rede a partir do endereço de máquina. Denominamos esse protocolo como reverse address resolution protocol (Rarp), que realiza o caminho ao contrário do protocolo ARP. 4.4.1 Classificação das mensagens do protocolo ARP Podemos classificar as mensagens enviadas através do protocolo ARP em duas classes, baseadas em sua origem e seu destino. Assim, as mensagens podem ser dos seguintes tipos: • Tipo ARP Request (requisição ARP): quando a mensagem é enviada havendo a requisição de um endereçamento IP através do endereço físico. • Tipo ARP Reply (resposta ARP): quando a mensagem é enviada como resposta ao ARP Request, possuindo nele o endereço físico já resolvido pela área de relação do próprio protocolo. 4.4.1.1 Configuração do pacote ARP O pacote de mensagem do protocolo ARP possui uma forma determinada com os respectivos campos para que possa ser devidamente interpretado e executado. A seguir, a configuração de um pacote do protocolo ARP. Veja o descritivo de cada campo desse pacote: • HTYPE: cuja descrição é hardware type, ou tipo de hardware. Tem a função de especificar qual é o tipo de dispositivo da rede que está sendo utilizado na comunicação. • PTYPE: cuja descrição é protocol type, tipo de protocolo. Tem a função de estabelecer a característica do protocolo utilizado na camada da internet para onde a requisição ao protocolo ARP foi encaminhada. O tipo de protocolo tem a ver com o padrão IPv4 ou IPv6, considerando protocolo IPv4, utiliza-se o valor 0x0800. 90 Unidade II • HLEN: cuja descrição é hardware length, comprimento do hardware. Tem a função de estabelecer o tamanho do endereço em relação ao hardware utilizado. Esse campo é constituído por conjuntos de oito bits. Podemos citar, como exemplo, o endereço de máquina que possui um tamanho de seis bits. • PLEN: cuja descrição é protocol length, comprimento do protocolo. Tem como função estabelecer o tamanho do endereço que foi especificado no campo PTYPE, também em octetos. Podemos citar, como exemplo, o protocolo IPv4, cujo tamanho é quatro. • OPER: cuja descrição é operation, operação. Tem a função de especificar o tipo de operação que está sendo executada pelo transmissor, seja ela uma ARP Request, possuindo o valor correspondente de 1, seja ela uma ARP Reply, possuindo o valor 2. • SHA: cuja descrição é sender address hardware, endereço físico do remetente. Tem a função de estabelecer o endereço de máquina (MAC Address) do transmissor. Se estamos tratando de um pacote ARP Request, o endereço será o próprio endereço do dispositivo que está enviando. No caso de uma mensagem ARP Reply, o endereço será aquele que foi resolvido pela própria ação do protocolo na área de relação. • SPA: cuja descrição é sender protocol address, endereço do remetente. Tem a função de estabelecer o endereço daquele que está emitindo a mensagem, ou seja, o próprio endereçamento IP. • THA: cuja descrição é target hardware address, endereço de hardware do alvo. Tem a função de estabelecer o endereço do dispositivo que se deseja alcançar, sendo o endereço o físico do componente. Quando tratamos de um pacote do tipo ARP Request, esse endereço é desprezado por não haver necessidade. No caso de tratarmos um pacote do tipo ARP Reply, o endereço será o endereço físico do dispositivo onde a mensagem foi originada. • TPA: cuja descrição é target protocol address, endereço de protocolo do alvo, cuja função é estabelecer o endereço IP dentro da camada de rede internet do destino desejado. Todos os parâmetros apresentados fazem parte do que chamamos de formato do pacote de informações do protocolo ARP, e nenhum deles deve ser desprezado na elaboração do pacote, independentemente se estamos falando da operação ARP Request ou ARP Reply. 4.4.1.2 Utilização de memória cache para o protocolo ARP O protocolo ARP é um protocolo que estabelece relação entre endereços para permitir que um determinado dispositivo se conecte à rede de computadores, porém, para que ele execute as suas funções de forma mais eficiente, faz uso de uma memória cache em cada dispositivo que se conecta à rede. Esse cache tem a função de armazenar todos os mapeamentos que foram feitos um certo tempo para trás dos endereços IPs, para com os endereços de máquina daquele dispositivo. Normalmente, o tempo de cache, ou seja, o tempo em que as informações são mantidas, é de vinte minutos, considerando o instante em que houve a entrada das informações. Existe um comando nos sistemas operacionais que permite a consulta do conteúdo do seu cache que nada mais é do que a aplicação do parâmetro -a ao próprio comando ARP. 91 LINGUAGEM DE PROGRAMAÇÃO APLICADA Veja, a seguir, um exemplo de aplicação desse comando baseado na plataforma do sistema operacional Windows 10. Figura 26 Podemos observar que a execução do comando em uma janela de prompt originou uma resposta com três colunas de informações: a primeira contém os endereços IPs dos vários dispositivos na rede; a segunda mostra os endereços físicos em numeração hexadecimal; e a terceira é relacionada ao tipo de entrada de dados, que pode ser classificada em dinâmica ou estática. As entradas de dados do cache ARP do tipo estáticas estabelecem a resolução dos endereços incluídos de forma manual na tabela, que não são retirados, ficando disponíveis permanentemente. Já as entradas de dados do cache ARP do tipo dinâmicas têm a ver com a resolução dos endereços que são inseridos dinamicamente na área do cache do protocolo – inseridos sempre que uma relação é realizada com sucesso pelo protocolo ARP. Essas informações, por serem dinâmicas, não ficam disponíveis por tempo indeterminado, sendo deletadas de tempos em tempos. 4.4.2 Autenticação do protocolo ARP O protocolo ARP, pela concepção de execução adotada, não dispõe de formas de validação para o tipo de ação ARP Reply, ou seja, pacotes recebidos em uma determinada rede à qual o computador faz parte. Isso não significa que não se possa obter essa validação, o que ocorre é que essas respostas serão originadas de uma rede diferente da qual a mensagem foi originada. Com essa funcionalidade, qualquer roteador que se localiza em uma rede distinta, mas conectada à de origem, consegue emitir respostas às mensagens ARP. Quando isso acontece, pode ocorrer que um determinado emissor de uma mensagem do tipo ARP possa interpretar um roteador qualquer como o destino da mensagem, quando na realidade o destino está localizado em outra rede ligada a um outro roteador. Podemos entender, dessa forma, que um roteador pode funcionar como um dispositivo de proxy, realizando transmissões repetidas dos pacotes em direção aos demais dispositivos da rede. 92 Unidade II Uma das mais importantes aplicações desse recurso é na criação de redes do tipo dial-up ou virtual private network (VPN), pois nesses casos é necessária a utilização de vários endereços IPs em um mesmo dispositivo de rede, tornando os mais diversos gateways dessas divisões totalmente transparentes. Observação Definimos uma VPN ou rede particular virtual como uma forma de conectar computadores em redes distintas, utilizando uma rede de computadores pública como a internet. Com esse recurso, pode-se utilizar a infraestrutura existente das redes públicas para criação de uma rede particular, restringindo o acesso a ela, bem como aos pacotes transmitidos, somente a quem tiver permissão. Isso diminui muito os investimentos para implantar esse tipo de comunicações,principalmente quando falamos de grandes distâncias. 4.4.2.1 Comando ARP Probe O protocolo ARP possui alguns recursos adicionais para avaliação de situações específicas. Um desses recursos é a utilização de certos pacotes de dados considerados especiais dentro da ação ARP Request, em que são enviados no modo broadcast com o conteúdo de SPA, que é o endereço do remetente da mensagem, todo zerados do endereçamento IP, desta forma: 0.0.0.0. Esse comando é o que denominamos ARP Probe. Esse recurso é utilizado para avaliar se um determinado endereço IP já está sendo usado. A seguir, veja a execução desse comando. Porém, inicialmente, é necessária a liberação de toda a configuração do endereçamento IP através do comando ipconfig/release. Neste exemplo é utilizada a plataforma Windows 10. Após a execução do comando ipconfig/release, verificamos que a configuração do dispositivo de rede foi reinicializado. Figura 27 93 LINGUAGEM DE PROGRAMAÇÃO APLICADA Após a execução do comando anterior, é necessária a execução para restabelecer o endereçamento IP, para isso utilizamos o comando ipconfig/renew. A seguir, a execução do comando: ipconfig /renew Figura 28 Saiba mais Assista ao filme: HACKER. Dir. Michael Mann. EUA: Legendary Pictures, 2015. 133 minutos. O filme retrata a história de um detento, o qual podemos considerar como um gênio da informática, que recebe a liberdade condicional para auxiliar a polícia a desvendar uma rede de criminosos que atua entre Los Angeles e Hong Kong. 4.5 Comando route Qualquer equipamento que faz parte de uma rede de computadores, seja uma rede mundial como a internet, seja uma rede de pequeno porte, mantém armazenado internamente, em uma tabela, as informações referentes às rotas de comunicação que foram estabelecidas durante o envio e recebimento 94 Unidade II dos pacotes. O grau das informações armazenadas irá depender do tipo de equipamento que estamos avaliando. Se analisarmos um roteador, verificaremos que as informações serão relativas a como cada pacote de mensagens deve ser tratado e também a outros equipamentos que se encontram conectados à internet. Caso seja um computador, a tabela de informações será bem mais simples, contendo as informações sobre os pacotes manipulados por ele. Os sistemas operacionais possuem um comando específico para consulta a essas informações, sendo ele o comando denominado route. Também existe a possibilidade de realizar modificações das informações que estão nessa tabela. Esse tipo de ação somente deve ser realizado quando desejamos que um determinado pacote de dados siga uma rota diferente da que já foi realizada ou que está programada para ele. Mostramos, em seguida, um exemplo de utilização do comando route no sistema operacional Windows 10. Para exibição do conteúdo no Windows, é necessário acrescentarmos o parâmetro print. Em outros sistemas operacionais, devemos levar em consideração a sintaxe e as diferenças dos parâmetros, embora todos possuam as mesmas funcionalidades. Figura 29 95 LINGUAGEM DE PROGRAMAÇÃO APLICADA Com a execução do comando anterior, podemos observar que o resultado obtido é uma lista de informações que vai desde as informações sobre as interfaces de rede utilizadas no computador a informações relativas às rotas utilizadas pelo padrão de comunicação IPv4 e IPv6. Quando fazemos uso do sistema operacional Linux, algumas ferramentas de software, que fazem parte da categoria de software livre, auxiliam na manipulação das rotas, inclusive com a possibilidade de estabelecer rotas estáticas para equipamentos que estão em uma determinada faixa de endereçamento, forçando uma transmissão por um determinado caminho. Através do comando route, também podemos adicionar rotas que desejamos forçar a serem seguidas. Para isso, é necessária a utilização de parâmetros específicos e que permitam a implementação. Quadro 10 – Parâmetros para a utilização do programa Route Parâmetro Descrição -v Descreve a lista detalhada das rotas existentes -version Descreve a versão e outras informações -n Descreve as rotas definidas, sem resolver os nomes citados -e Descreve a tabela de roteamento utilizando a formatação NETSTAT -ee Descreve todos os parâmetros da tabela de roteamento -net Faz referência ao endereço de uma rede existente no arquivo /etc/networks de configuração de rede -host Faz referência ao endereço de uma máquina específica del Apaga uma rota add Acrescenta uma rota no equipamento de rede netmask Parâmetro para adicionar máscara de rede da rota a ser adicionada gw Acrescenta o gateway, por onde o pacote destino será roteado através do gateway específico mss Define o tamanho máximo do segmento TCP em bytes, para conexões TCP através da rota especificada window Define o tamanho da janela TCP para conexões TCP através dessa rota. Tipicamente, somente usado para redes AX.25 e em drivers incapazes de tratar frames back to back irtt Descreve o tempo de ida e volta de conexões TCP da rota reject Realiza o bloqueio de uma rota antes do uso da rota default mod, dyn Realiza a instalação de rotas modificadas ou dinâmicas, são usadas por daemons de roteamento dev Faz referência ao dispositivo de rede utilizada – eth0, eth1 Para adicionarmos uma rota ao sistema de comunicação, devemos utilizar o parâmetro add, seguido das informações de endereçamento e máscara de rede. Não podemos esquecer que, para que esse comando funcione corretamente, é necessário que ao menos uma interface de rede esteja configurada. 96 Unidade II Podemos citar como exemplo a adição de uma rota de comunicação padrão com um endereço de gateway de 162.100.10.10. Veja a sintaxe do comando: route add 0.0.0.0 mask 0.0.0.0 162.100.10.10 Se desejarmos adicionar uma rota cujo destino é 10.163.0.100, utilizando uma máscara de sub-rede com a faixa de 255.255.252.0 e com endereço de destino final 10.155.0.22, devemos executar o seguinte comando. route add 10.163.0.100 mask 255.255.252.0 10.155.0.22 Existe uma possibilidade, nos sistemas operacionais, que permite a fixação dos nomes das máquinas em relação aos seus endereços de IP, de modo que não precisemos ficar digitando sempre o endereço IP no momento de adicionarmos uma nova rota. Fazemos isso inserindo o arquivo denominado hosts na pasta etc., para isso é necessário respeitar a formatação do arquivo e sempre indicar qual o nome que está sendo atribuído ao computador ou ao dispositivo de rede que estamos nos referenciando. Existem também comandos que permitem a visualização de como se encontra a tabela de roteamento no instante da consulta, permitindo verificar qual é a versão do software e também relacionando a tabela de roteamento. Todas essas opções dependem dos parâmetros que estamos utilizando. Uma das opções mais importantes é a possibilidade de verificarmos o status em que se encontra a tabela de roteamento, o parâmetro para isso é o -n. O retorno desse comando é uma exibição com oito colunas, sendo a mais significativa a que relata a opção que mostra o status de cada rota existente no dispositivo. Em seguida, veja uma tabela com as possibilidades de status das rotas que esse comando pode nos mostrar. Quadro 11 Opção Especificação U Mostra que a rota está habilitada H Demonstra que o destino de uma rota é uma máquina G Demonstra o uso de um roteador R Demonstra que a rota está sendo direcionada para um roteamento dinâmico D Demonstra que uma rota foi configurada dinamicamente por redirecionamento M Demonstra que a rota foi modificada por redirecionamento ! Demonstra que a rota foi rejeitada 97 LINGUAGEM DE PROGRAMAÇÃO APLICADA Resumo Nesta unidade, vimos os principais conceitos relativos a uma rede de computadores, bem como realizar de forma satisfatória uma administração dos recursos nela contidos. As redes de computadores trouxeram inúmeros benefícios para os sistemas computacionais e podem ser classificadas de acordo com a configuração de hardware e software que possuem. A principalrede de computadores, a Internet, pode ser classificada em dois grandes tipos: as físicas e as lógicas – disponibilizando uma infinidade de recursos de serviços para os usuários. Analisamos os níveis lógicos que fazem parte da rede de comunicação utilizada na internet. Também analisamos que, para uma boa administração de rede de computadores, independentemente do seu tamanho, é necessária a correta utilização de diversos recursos de software, que estão disponíveis no mercado, e para essa utilização de forma adequada, é necessário um pleno conhecimento dos conceitos de redes e das ferramentas pelos responsáveis pela administração. Acentuamos como funciona uma comunicação no ambiente da web, demonstrando uma arquitetura cliente/servidor e quais os principais protocolos utilizados. Foi demonstrada a importância de cada ponto que uma boa administração de rede deve analisar, visando sempre atender aos quesitos de segurança, performance, disponibilidade e indicadores de falhas, para que os usuários possam usufruir de todos os benefícios que uma rede de computadores pode dispor. Exercícios Questão 1. (AOCP 2010) Em algoritmos e estruturas de dados, existe um tipo de estrutura chamada vetor. Sobre vetores, assinale a alternativa INCORRETA. A) Trata-se de variáveis do mesmo tipo, que possuem um mesmo identificador (nome), e são alocadas aleatoriamente na memória. B) Como as variáveis têm o mesmo nome, o que as distingue é um índice que referencia sua localização dentro da estrutura. C) Na seguinte declaração: 1 DECLARE nome[tamanho] tipo 98 Unidade II “nome” é o nome da variável, “tamanho” é a quantidade de variáveis que vão compor o vetor e “tipo” é o tipo básico dos dados que serão armazenados no vetor. D) Em pseudocódigo, uma sintaxe válida de atribuição em um vetor pode ser: 1 X[1] ← 45 E) Vetor também é conhecido como variável composta homogênea unidimensional. Resposta correta: alternativa A. Análise da resposta Vetor: • ponteiro que aponta para um endereço físico; • sequências de elementos de um dado tipo; • podem ter uma ou mais dimensões (vetores multidimensionais); • variável composta homogênea unidimensional; • como as variáveis têm o mesmo nome, o que as distingue é um índice que referencia sua localização dentro da estrutura. Análise das alternativas A) Alternativa incorreta. Justificativa: essa definição está incorreta. Como as variáveis têm o mesmo nome, o que as distingue é um índice que referencia sua localização dentro da estrutura. B) Alternativa correta. Justificativa: a alternativa está correta, entretanto a alternativa solicitada é a incorreta. C) Alternativa correta. Justificativa: a alternativa está correta, entretanto a alternativa solicitada é a incorreta. D) Alternativa correta. Justificativa: a alternativa está correta, entretanto a alternativa solicitada é a incorreta. 99 LINGUAGEM DE PROGRAMAÇÃO APLICADA E) Alternativa correta. Justificativa: a alternativa está correta, entretanto a alternativa solicitada é a incorreta. Questão 2. (AOCP 2010) Considere o seguinte trecho de código em pseudocódigo: 1 Algoritmo 2 Declare notas [10,3], i, j numérico 3 Para i ← 1 até 10 faça 4 Início 5 Para j ← 1 até 3 faça 6 Leia notas [i,j] 7 Fim 8 Fim_algoritmo Analise as assertivas e, em seguida, assinale a alternativa que apresenta a(s) correta(s). I – A linha 2 faz a declaração de, entre outras variáveis, uma matriz. II – O laço da linha 3 tem o intuito de percorrer a primeira dimensão da matriz, muitas vezes chamada de linha. III – Na execução do início ao fim do algoritmo, a linha 6 é executada 3 vezes. A) Apenas I. B) Apenas I e II. C) Apenas II. D) Apenas II e III. E) Apenas III. Resolução desta questão na plataforma.
Compartilhar