Baixe o app para aproveitar ainda mais
Prévia do material em texto
66 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 Unidade II 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 através 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 junto problemas diversos que necessitam 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 trocas de informação entre dois pontos que independem da distância em que se encontram. As redes de computadores são de grande diversidade, devido às 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 – estas redes são de maior custo de implantação e de manutenção. Neste 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 comunicam 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. 67 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 LINGUAGEM DE PROGRAMAÇÃO APLICADA 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, que é inevitável de existir, 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 podem encarecer os seus custos de implementação e manutenção. 3.3 Internet, a 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 em 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, e 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. As 68 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 Unidade II 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 a nível mundial é muito comum. Dentro deste conceito, classificamos a internet como a maior rede lógica existente e que tem a função de permitir a troca de informações entre as mais diversas redes do mundo. As formas como essa troca de informações ocorrem não são conhecidas pela grande maioria dos usuários da internet, os quais não necessitam ter 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 que são 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 a as mais diversas ferramentas disponíveis (navegação web,envio e recebimento de e‑mails etc.) 69 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 LINGUAGEM DE PROGRAMAÇÃO APLICADA 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. Saiba mais Assista ao filme: PIRATAS do Vale do Silício. Dir. Martyn Burke. EUA: Warner Bros, 1999. 95 min. 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, é mostrado um quadro 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 9 – 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. 70 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 Unidade II 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. Para que se possa ter uma administração de rede 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 deverá 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. Ao longo do tempo, as tecnologias de rede de comunicações evoluíram ao ponto de permitir que novas configurações de servidores pudessem ser implementadas, diminuindo significativamente a utilização desse tipo de quipamento. Um exemplo dessa evolução é referente ao desenvolvimento de um novo formato para disposição dos computadores na rede denominada arquitetura P2P, também conhecida como par‑a‑par, onde um computador convencional, ligado à rede de internet, pode exercer a função de servidor de arquivos ao mesmo tempo que é um cliente dentro da mesma rede. Cliente é o nome dado ao computador que pede algo à rede, e servidor é aquele que envia o pedido mediante a solicitação. 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. 71 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 LINGUAGEM DE PROGRAMAÇÃO APLICADA As principais aplicações para a arquiteturas P2P são o compartilhamento de arquivos, estruturas multimídias e jogos. Observação 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 por onde 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 usuários da rede. 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 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, que é o 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 este 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,72 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 Unidade II dessa forma, ao computador origem. Esse é um exemplo simples de como ocorre uma transmissão na internet. 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 e 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 seguir, uma figura que representa uma rede de computadores. 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 19 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 área dentro 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 no 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 73 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 LINGUAGEM DE PROGRAMAÇÃO APLICADA causas de falhas. Sobrecarga de dados nas redes é um dos principais problemas que devem ser identificados rapidamente e corrigidos. 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 de suma importância, pois somente dessa forma podemos garantir que a mesma 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, a sua identificação e solução muito demoradas. Uma solução possível para estes casos é a adoção de ferramentas de software que permitem o gerenciamento, em automático, da rede, analisando diversos pontos, visando a garantir a qualidade dos servições 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‑as mal utilizadas. Os investimentos nesse tipo de produtos sempre são muito altos para as empresas e nem sempre os responsáveis pelos investimentos se concientizam da necessidade de ter ferramentas para o gerenciamento das redes. Alguns fatores podem influenciar na decisão de invertir 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 o funcionamento delas, 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 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. Qualquer atraso ou indisponibilidade dela acarreta em graves consequências para a organização, além do que 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 à demanda dos usuários dela. 74 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 Unidade II 3.4.1 Áreas de gerenciamento Ao longo do tempo foram especificadas áreas, dentro do conceito de redes de computadores, onde 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 ABNT (Associação Brasileira de Normas Técnicas). Nos próximos itens 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 ocorrida que faz com que o sistema fique em uma condição anormal em seu funcionamento. Normalmente, são causadas por uma sequência de operações não previstas ou por erros que podem ser causados por diversos fatores, tais como hardware ou condições não previstas pelo software. Podemos citar como falha de hardware uma 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 se faz 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 onde 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. Dentre eles, o principal é a implantação de equipamentos e rotas de comunicação 75 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 LINGUAGEM DE PROGRAMAÇÃO APLICADA redundantes. Em muitas situações onde essesrecursos são implementados, as falhas de rede passam despercebidas 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ão com o nível de acesso correto e se não estão utilizando os recursos de forma exagerada pelos seus sistemas, causando perda de produtividade nos demais usuários da rede. Para que esta análise seja benfeita, é 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 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 Esta análise tem a finalidade de avaliar os impactos no sistema desde a inicialização dela 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 faz 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ção que cada componente pode exercer dentro da arquitetura da rede e, assim, 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. 76 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 Unidade II 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, qual é 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 das requisições de rede estão aumentando e identificar os motivos dessa queda de eficiência. Esses pontos devem ser analisados pelo administrsdor 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, cada vez mais 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 inetervir na rede de forma mais conciente, 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 é o ponto relativo a segurança. A análise de segurança verifica pontos que visam proteger a rede de comunicação propriamente dita e também os dados transmitidos pelos usuários. Para isso se faz 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. Nesse 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 de forma correta, bem como a sua distribuição; 77 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 LINGUAGEM DE PROGRAMAÇÃO APLICADA • controle na distribuição de senha de acesso aos sistemas; • através da monitoração de pontos da rede, realizar a monitoração e o controle de acesso à rede; • analisar todos os dados relativos a 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 da rede. 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 dele. Muitis investimentos são realizados nessa área pelas empresas, mas o comportamento de cada diante de um sistema também é fundamental. 3.5 Inspeção e adminstraçã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, os quais vamos denominar 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 esta 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. Ela é considerada 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. Ela pode ser realizada de forma automática, através de ferramentas de software, trazendo dados em tempo real, ou pode ser feita de forma programada pelos responsáveis pela administração da rede; neste caso, devem‑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. 78 Re vi sã o: F ab ríc ia - D ia gram aç ão : J ef fe rs on - 0 7/ 06 /1 7 Unidade II • 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 Entende‑se a administração de rede 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. Podemos destacar alguns pontos como importantes para uma administração eficiente das redes, tais como: • 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 assunto de 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. 79 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 LINGUAGEM DE PROGRAMAÇÃO APLICADA 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, se resume a uma atividade de gerenciamento baseada em números esperados que sirvam de parâmetro para o bom funcionamento, principalmente quando falamos de segurança da infomaçã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 redes de computadores e qua saibam utilizar todos os recursos disponíveis nos dias de hoje para conseguir analisar e diagnosticar corretamente os valores levantados. Somente dessa forma podem‑se 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. Apesar de todos esses conceitos, a atividade de administrar uma rede de computadores está diretamente ligada ao seu funcionamento esperado, considerando segurança e eficiência, independentemente de qualquer outra definição que se dê para esta atividade. Nesse ramo é necessário que os profissionais que atuem tenham habilidades e conhecimentos que permitam a correta administração dos recursos, diagnosticando e resolvendo rapidamente os mais diversos problemas que possam ocorrer. Esse conhecimento engloba sistemas operacionais de forma bem abrangente, componentes de hardware e dos softwares existentes que têm a função de facilitar todo esse trabalho. 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 vários níveis dentro dessa atividade. Dessa forma, fica a critério dos administradores analisar a funcionalidade de cada uma e definir a que melhor se encaixa para a sua necessidade, levando em consideração sempre o estudo do custo e benefício. As ferramentas apresentadas neste item 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 pelos administradores de rede, principalmente no início da análise problemas. Em geral, é a primeira ferramenta utilizada. 80 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 Unidade II A conectividade é verificada por meio da transmissão de mensagens através do protocolo ICMP (Internet Control Message Protocol). Este protocolo está inserido entre as camadas de rede e de transporte, mesmo não fazendo parte de nenhuma delas formalmente. Observação ICMP, sigla para o inglês Internet Control Message Protocol, é 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. 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 A na sequência apresenta um programa Ping que obteve resultado negativo para o retorno da mensagem. O exemplo B posterior apresenta um retorno positivo após sua utilização. Exemplo A C:\> ping www.dominio.com.br A solicitação ping não pode encontrar o host <www.dominio.com.br>. Verifique o nome e tente novamente. Exemplo B # 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=56 time=171ms 64 bytes from www.sbc.org.br (143.54.31.10): icmp_seq=2 ttl=56 time=168ms 64 bytes from www.sbc.org.br (143.54.31.10): icmp_seq=3 ttl=56 time=146ms 81 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 LINGUAGEM DE PROGRAMAÇÃO APLICADA 64 bytes from www.sbc.org.br (143.54.31.10): icmp_seq=4 ttl=56 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 somenteo resultado apresentado pelo Ping como diagnóstico de falha de uma rede, mas ele é de grande importância para testes rápidos e que auxiliam em uma análise preliminar. A seguir verificamos o formato das mensagens ICMP Echo Request e Echo Reply. A diferença entre elas está no tipo: a mensagem Echo Request possui o tipo 8 e a Echo Reply, o tipo 0, ambas com código 0. Dados opcionais Identificador Número de sequência ChecksumCódigo 0Tipo 0 ou 8 0 84 12 16 20 24 28 32 Figura 20 – Formato de uma mensagem ICMP O número de sequência se inicia em 1 e é incrementado cada vez que uma nova mensagem Echo Request é enviada. O ping então mostra o número de sequência de cada datagrama retornado, de modo que podemos verificar se os pacotes se perderam, estão fora de ordem ou ainda foram duplicados. Como sabemos, o protocolo IP é um serviço de entrega de datagramas do tipo melhor esforço, de modo que qualquer uma dessas condições citadas pode vir a ocorrer. Além de mostrar o número de sequência, quando a mensagem de retorno Echo Reply é recebida, também são mostrados o TTL e o RTT (Round Trip Time) calculado. O ping calcula o RTT armazenando à hora na qual o pacote Echo Request é enviado na área de dados da mensagem ICMP. Então, quando a resposta Echo Reply é recebida, ele simplesmente subtrai esse valor de hora da hora atual (momento em que o datagrama é recebido). Erros e perda de pacotes também são relatados pelo comando ping. 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>: 82 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 Unidade II Para o caso do sistema operacional Linux, na versão Kali‑Linux, a sintaxe do comando seria: root@kali‑linux: # ping www.terra.com.br Em ambos os casos, emitimos o ping para uma URL (<www.terra.com.br>). Podemos perceber que o endereço IP é resolvido e então utilizado para o envio das mensagens. Quando emitimos um comando ping, alguns segundos podem se passar antes da primeira linha de informações com o IP do host aparecer, sendo esse o tempo necessário para que o DNS determine o IP que corresponda ao hostname usado. Obviamente, podemos pingar um endereço IP diretamente se ele for conhecido. No sistema Linux, a saída padrão para o comando mostra o número de sequência de cada datagrama (campo icmp_seq=), ao passo que no prompt do Windows essa informação não é mostrada por padrão. As colunas time= e tempo= mostram o RTT do datagrama enviado (em milissegundos), ao passo que o TTL (43 no exemplo) é mostrado na coluna TTL (mesmo nome em ambos os sistemas). Já o campo bytes=32 mostra o tamanho da mensagem enviada – no caso, 32 bytes. Esse tamanho pode ser alterado por meio de opções do comando ping, que veremos mais adiante. Alterar a quantidade de bytes enviados pode ser muito útil para realização de testes específicos de conectividade. Também são mostradas as estatísticas de envio dos pacotes, com dados sobre número de pacotes transmitidos, recebidos, perdidos e porcentagem de perda. Os RTTs mínimo, máximo e médio também são calculados e exibidos. 4.2 Sintaxe e opções do comando ping no ambiente Windows ping [opções] hostname ou endereço ip Opções de parâmetros: ‑t 83 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 LINGUAGEM DE PROGRAMAÇÃO APLICADA Dispara contra o host especificado até ser interrompido. Para ver as estatísticas e continuar, pressione Ctrl+Break; para parar, pressione Ctrl+C. ‑a Resolve endereços para nomes de host ‑n Num Número de requisições de eco a serem enviadas (Num) ‑f Ativa o sinalizador Don´t Fragment (Não Fragmentar) no pacote (somente IPv4) ‑i TTL Ajusta o TTL dos pacotes ‑r Num Grava a rota dos saltos de contagem (somente IPv4) ‑s Num Carimbo de data/hora (timestamp) para saltos de contagem (somente IPv4) ‑w Tempo Tempo limite em milissegundos a aguardar para cada resposta ‑R Usa cabeçalho de roteamento para testar também a rota (somente IPv6) ‑S endereço Endereço de origem a ser usado ‑4 Força o uso de IPv4 84 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 Unidade II ‑6 Forçar o uso e IPv6 4.3 Programa Traceroute/Tracert O programa Traceroute, ou 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êntica a comunicação. 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: 85 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 LINGUAGEM DE PROGRAMAÇÃO APLICADA O quadro a seguir mostra alguns parâmetros utilizados para o programa Tracert com as funções correspondentes: Quadro 10 – Parâmetros e funções correspondentes /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 em que o computador se encontra conectado. 4.3.1 Comando Traceroute Normal A seguir, um descritivo de como um comando tradicional traceroute funciona. Este diagrama mostra um provedor de serviços setup onde o roteador1 (r1) e o roteador4 (R4) são roteadores da ponta do provedor (PE) e o roteador2 (R2) e o roteador3 (R3) são os fornecedores (P) roteadores. 11 R1 12 R2 eth1 eth1 eth1eth0 eth0 eth0 13 R3 14 R4 Figura 21 86 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 Unidade II Este exemplo conduz a um traceroute para o loopback 14 do R4 a partir de R1. O r1 usa uma datagrama do User Datagram Protocol (UDP) com um valor de porta do destino arbitrário maior de 32000. Se você seleciona tal alto valor para o número de porta, assegura‑se de que tal porta não exista nos receptores intencionados. Põe esta datagrama em um pacote IP. Observação Em todo este documento, toda vez que um pacote de IP for mencionado, será um pacotede IP que contém o datagrama de UDP. Exemplo: vide uma sequência de evento para um comando traceroute normal: 1. O r1 envia o pacote IP com um endereço de destino de 14 e um Time to Live (TTL) de 1 através de sua relação eth1. 2. O R2 recebe o pacote e nota que não é os receptores intencionados e o TTL do pacote é 1. Deixa cair o pacote e envia uma mensagem TTL expirado do Internet Control Message Protocol (ICMP) ao r1. O endereço de origem dessa mensagem ICMP é o endereço IP do R2 eth0 (o endereço da interface que recebeu o pacote original). 3. No recibo da mensagem ICMP, o r1 envia um outro pacote IP destinado para 14 com um TTL de 2 através de sua relação eth1. 4. O R2 recebe o pacote e nota que não são os receptores intencionados, os quais podem ser alcançados com o R3. O TTL diminui (2 a 1) e segue em frente o pacote ao R3. O R3 recebe o pacote e vê que não é os receptores intencionados. O TTL é 1. Deixa cair o pacote e envia uma mensagem ICMP TTL expirado ao r1 com seu endereço do eth0 como o endereço de origem. 5. O r1 recebe a mensagem ICMP e envia um outro pacote IP a 14 através de sua relação eth1 com um valor TTL de 3. Na maneira, o R2 e o R3 decrescem o TTL e passam‑no sobre ao R4. O R4 recebe o pacote, verifica se esse é o destinatário pretendido e tenta se conectar ao valor de porta no datagrama UDP. O R4 encontra que esta porta não existe e envia a uma porta ICMP o Mensagem de Erro inacessível ao r1. Como antes, o endereço de origem desta mensagem ICMP é eth0 do R4. O programa Traceroute agora tem as mensagens de erro ICMP com os endereços de origem correspondentes e tem a rota completa ao destino. 4.4 Programa ifconfig O programa ifconfig possui uma característica semelhante ao do programa ipconfig, sendo que a diferença fundamental entre eles é a de que o ifconfig é utilizado nos sistemas operacionais Linux. Com esse programa podemos analisar as configurações de rede e também alterar as configurações atuais de todas as interfaces de rede do computador. 87 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 LINGUAGEM DE PROGRAMAÇÃO APLICADA A seguir, um exemplo onde a ferramenta é utilizada para mostrar as configurações de rede do computador. No sistema operacional Linux, o parâmetro eth0 é a primeira interface de rede utilizando o padrão ethernet, sendo o ló 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 é utilizado, 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 também para fazer testes locais de comunicação. O exemplo a seguir demonstra a utilização do comando ipconfig 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.4.1 Algumas aplicações do comando ifconfig 4.4.1.1 Alterando o Mac Address Teoricamente, o Mac Address da placa de rede não pode ser alterado fisicamente, mas pode ser alterado virtualmente. Nos sistemas like‑unix/Linux, é utilizado o comando ifconfig, como pode ser visto na sequência. No entanto, é necessário estar com a placa de rede desativada: # ifconfig eth0 down 88 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 Unidade II Agora altere o Mac Address: # ifconfig eth0 hw ether 00:D0:D0:67:2C:05 Agora ative a placa de rede e configure o endereço IP/Mask: # ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up 4.4.1.2 Adicione um segundo endereço IP (apelido/alias) Essa opção é muito utilizada para se ter mais de um endereço IP na mesma interface de rede. O detalhe está na hora de especificar a interface, em que pode ser colocada uma “interface: número” para cada novo endereço. Na sequência, tem‑se o exemplo. Adicionando o primeiro endereço: # ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up Adicionando o segundo endereço: # ifconfig eth0:1 10.0.0.5 netmask 255.255.255.0 up Adicionando o terceiro endereço: # ifconfig eth0:2 172.16.12.78 netmask 255.255.255.0 up Agora digite o comando ifconfig para exibir o resultado: # ifconfig Você verá os alias/apelidos da interface eth0 e os seus endereços IPs. 4.4.1.3 Ativar/desativar modo promíscuo O modo promíscuo permite que a interface de rede receba todos os pacotes que passam por ela, mesmo os que não são destinados a ela. Esta técnica é muito utilizada para monitorar o tráfego da rede (sniffing), que podem ter objetivos convencionais de trafegar dados ou objetivos malévolos que podem causar danos aos demais usuários da rede. Exemplos 1 – para ativar o modo promíscuo: # ifconfig eth0 promisc 89 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 LINGUAGEM DE PROGRAMAÇÃO APLICADA 2 – para desativar o modo promíscuo: # ifconfig eth0 ‑promisc 3 – para verificar se alguma interface está em modo promíscuo: # ifconfig | grep ‑i PROMISC A saída do comando anterior deve ser equivalente a: UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 Através desse commando podemos verificar se a placa de rede do dispositivo de rede está operando no modo promíscuo, estando, dessa forma, vulnerável a qualquer ataque de um um outro host na rede. 4.4.1.4 Alterando o tipo de mídia Alguns exemplos para configurar o tipo de mídia que sua interface está utilizando: auto, 10base2, 10baseT, 100baseT, 1000baseT, entre outros tipos... Alterando o tipo da mídia: # ifconfig eth0 media 10baseT Sua interface deve suportar o tipo de mídia a ser configurado. Algumas interfaces de rede não suportam essa mudança e irá aparecer a seguinte mensagem de erro: “port: SIOCSIFMAP: Operation not supported” 4.5 Programa ARP O protocolo arp é um auxiliar dentro da arquitetura da internet que realiza a tradução de um endereço IP, que possui caráter lógico, em um endereço de enlace, que possui caráter físico. Sem a utilização do protocolo arp seria impossível o tráfego de pacotes IP por redes heterogêneas. As traduções entre os endereços são armazenadas em tabelas locais nos computadores específicos para esta finalidade. Através do programa arp, essas tabelas podem ser acessadas e também remover registros de traduções realizadas. O exemplo a seguir mostra uma utilização desse tipo de programa. 90 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 Unidade II Na sequência, o quadro apresenta os parâmetros utilizados para esse programa nos sistemas operacionais baseados na plataforma Windows. Em outros sistemas operacionais podem ocorrer variações na sintaxe dos comandos. Quadro 11 – Parâmetros de utilização no Windows 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 Quando um quadro ethernet é enviado de um host para outro em uma rede, é o endereço físico de 48 bits (MAC Address) que determina para qual interface o quadro é destinado. O software do driver de dispositivo não verifica o endereço IP dentro do datagrama. Como, então, podemos realizar a conexão entre dois hosts se no pacote temos endereços IP de origem e destino, mas precisamos dos endereços físicos das interfaces de redeenvolvidas? O protocolo ARP fornece resolução dinâmica de endereços, que é um mapeamento entre as duas firmas de endereçamento distintas: endereços IP e qualquer outro tipo de endereço usado na camada de enlace. No caso dos quadros ethernet, a camada de enlace usa o MAC Address (Media Access Control), endereço físico da interface. O ARP, portanto, é um protocolo que permite obter o MAC Address de uma interface a partir de seu endereço IP. Existe também um outro protocolo que possibilita realizar o mapeamento inverso, ou seja, obter o endereço IP a partir de um MAC Address. Esse protocolo é conhecido por RARP (Reverse Address Resolution Protocol). A ideia principal do protocolo ARP é que a interface de rede possui um endereço de hardware (endereço físico de 48 bits). Quando quadros são trocados entre duas interfaces de rede, eles devem ser endereçados às interfaces físicas corretas. Porém, a pilha TCP/IP possui seu próprio esquema de 91 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 LINGUAGEM DE PROGRAMAÇÃO APLICADA endereçamento, que consiste em endereços IP de 32 bits (IPv6 utiliza endereços de 128 bits). Portanto, saber apenas o endereço IP de um host não é suficiente para que seja possível enviar um quadro ao host. O driver ethernet precisa conhecer o endereço físico de destino para que seja possível enviar os dados. É aí que entra o protocolo ARP, que fornece um mapeamento dinâmico entre os endereços IP e os endereços físicos (MAC) utilizados na transmissão de dados. 4.5.1 Tipos de mensagens ARP Há dois tipos diferentes de mensagens enviadas pelo protocolo ARP, uma da origem ao destino e outra do destino à origem. Para cada mensagem ARP, definimos como remetente quem transmite a mensagem e alvo quem deve recebê‑la. As mensagens são: • ARP Request (Requisição ARP): mensagem enviada requisitando a resolução de um endereço IP em endereço físico. • ARP Reply (Resposta ARP): mensagem de resposta ao ARP Request, contendo o endereço físico resolvido. 4.5.1.1 Formato do pacote ARP A figura a seguir mostra o formato de um pacote ARP quando usado em uma rede ethernet para realizar resolução de endereço IP: HTYPE PTYPE HLEN PLEN OPER SHA SPA THA TPA Figura 22 A descrição de cada campo é dada seguir: • HTYPE – Hardware type (Tipo de hardware): especifica o tipo de protocolo da rede, como ethernet, cujo valor é 1. Outros tipos comuns incluem Frame Relay (15), ATM (16) e HDLC (17). • PTYPE – Protocol type (Tipo de protocolo): caracteriza o protocolo da camada de internet para o qual a requisição do ARP é direcionada. O valor para o protocolo IPv4 é 0x0800. • HLEN – Hardware length (Comprimento do hardware): tamanho do endereço de hardware, em grupos de oito bits (octetos). Um MAC Address ethernet tem o tamanho de 6. • PLEN – Protocol length (Comprimento do protocolo): tamanho, em octetos, do endereço especificado no campo PTYPE. Para o protocolo IPv4, o tamanho é 4. • OPER – Operation (Operação): tipo de operação que o transmissor está realizando, sendo o valor 1 para ARP Request (Requisição ARP) e 2 para ARP Reply (Resposta ARP). 92 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 Unidade II • SHA – Sender address hardware (Endereço físico do remetente): endereço MAC do transmissor. Quando se trata de um pacote ARP Request, contém o endereço físico do remetente. Já em uma mensagem ARP Reply, contém o endereço físico procurado (resolvido). • SPA – Sender protocol address (Endereço do remetente): endereço da camada de internet do remetente (IP). • THA – Target hardware address (Endereço de hardware do alvo): endereço físico do destinatário pretendido. Esse campo é ignorado em um pacote ARP Request (por razões óbvias), e o pacote ARP Reply contém o endereço físico do host que originou a requisição ARP. • TPA – Target protocol address (Endereço de protocolo do alvo): endereço da camada de internet (IP) do destinatário pretendido. 4.5.1.2 Cache ARP Para que o protocolo ARP possa operar de forma eficiente, é necessária a manutenção de um cache ARP em cada host. Esse cache mantém os mapeamentos de endereços mais recentes de IPs para endereços MAC na memória do host, possuindo um tempo de expiração de 20 minutos para cada entrada no cache a partir do momento em que a entrada foi adicionada. Podemos examinar o cache ARP usando o comando arp ‑a em um prompt. A opção ‑a é utilizada para mostrar todas as entradas presentes no cache, como pode ser visto a seguir: arp –a Note que a saída gerada pelo comando nos mostra três colunas de informações, contendo os endereços IPs de vários hosts, seus endereços físicos em notação hexadecimal e o tipo da entrada, que pode ser dinâmica ou estática: • Entradas de cache ARP estáticas: resoluções de endereços que são adicionadas manualmente à tabela de cache e mantidas de forma permanente. 93 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 LINGUAGEM DE PROGRAMAÇÃO APLICADA • Entradas de cache ARP dinâmicas: resoluções de endereços que são adicionadas de forma dinâmica à tabela de cache, como resultado de resoluções ARP completadas com sucesso. São transitórias e removidas após um período de tempo. 4.5.1.3 Captura de pacotes ARP Para demonstrar o funcionamento do protocolo ARP, é realizada a captura de pacotes trocados entre dois hosts por meio do comando ping através do uso do software analisador de pacotes Wireshark. Utilizamos duas máquinas Windows cujos IPs são 10.24.67.21 (remetente) e 10.24.67.20 (destinatário). Após a troca de pacotes ICMP com o ping, é parada a captura dos pacotes e aplicado um filtro para exibição apenas dos pacotes ARP. É possível ver o resultado na figura a seguir: Figura 23 Note que o primeiro pacote ARP transmitido (ARP Request) foi enviado em broadcast e na coluna Info do Wireshark pode‑se ler a informação “Who has 10.24.67.20? Tell 10.24.67.21“, que significa que o host 10.24.67.21 está tentando descobrir quem é a máquina 10.24.67.20. O segundo pacote mostra a resposta do host 10.24.67.20 contendo a informação desejada – no caso, o endereço MAC da interface, que é 70:71:bc:58:de:7c. Os dois pacotes seguintes mostram o processo inverso, em que a máquina 10.24.67.20 usa o ARP para descobrir o MAC Address do primeiro host. Pode‑se também abrir um desses pacotes para analisar o conteúdo da mensagem ARP trocada. A seguir, será verificado o conteúdo do primeiro pacote, que foi um ARP Request entre os hosts, como pode ser visto na figura na sequência: Figura 24 94 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 Unidade II • Tipo de mensagem: Request • Tipo de hardware: Ethernet (1) • Tipo de protocolo: IP (0x0800) • Tamanho do endereço de hardware: 6 octetos (48 bits) • Tamanho do endereço do protocolo: 4 octetos (32 bits) • Operação (Opcode): Request (1) • MAC Address do remetente: 08:00:27:66:ca:2e • Endereço IP do remetente: 10.24.67.21 • MAC Address do alvo: 00:00:00:00:00:00 • Endereço IP do alvo: 10.24.67.20 Note o endereço MAC do host alvo: 00:00:00:00:00:00. O valor é todo em zeros, pois esta é justamente a informação que o pacote ARP deve descobrir, realizando a resolução do IP‑alvo para o MAC Address solicitado. 4.5.2 Proxy ARP O protocolo ARP não fornece nenhum tipo de método de autenticação dos pacotes ARP Reply recebidos em uma rede. Por conta disso, as respostas do ARP podem vir de outra rede distinta da rede onde a solicitação ARP é originada. Dessa forma, um roteador pode responder às requisições ARP em uma das redes conectadasa ele feitas por um host em outra rede. Assim, o remetente das mensagens ARP pode pensar que o roteador é o host de destino, quando, na verdade, o host de destino está em outra rede conectada a outra interface do roteador. Então, o roteador funciona como um agente de proxy para o host de destino, retransmitindo pacotes dele para outros hosts. Alguns dos usos mais comuns para a técnica de proxy ARP são a conexão a redes dialup ou VPN, usar múltiplos IPs em um mesmo host e em gateways de sub‑rede transparentes. 4.5.2.1 ARP Probe ARP Probe (Sonda ARP) são pacotes especiais ARP Request transmitidos em broadcast com o campo SPA (endereço IP do remetente), contendo o valor 0.0.0.0. Esse pacote é utilizado por um host que solicitou um endereço IPv4 de um servidor DHCP, ou após a configuração manual de IP no host, para verificar se o IP atribuído já está em uso na rede. 95 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 LINGUAGEM DE PROGRAMAÇÃO APLICADA A seguir, será visto este pacote em serviço. Primeiramente, podemos liberar a configuração de IP de uma máquina Windows com o comando ipconfig /release: ipconfig /release Agora, a máquina está sem IP como demonstrado na sequência: Renova‑se o IP da máquina (requisitar nova configuração do servidor DHCP) e capturar os pacotes com o Wireshark: ipconfig /renew Na figura a seguir, o resultado da captura dos pacotes ARP Probe realizada com o Wireshark: Figura 25 Ao analisar alguns dos pacotes: • pacote nº 15: a máquina manda um ARP Request na rede para descobrir quem é o host 10.24.67.1 – que é o servidor DHCP da minha rede; • pacote nº 16: o servidor DHCP responde com seu MAC Address por meio de um ARP Reply; 96 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 Unidade II • pacote nº 35: após a troca de vários pacotes DHCP, o host cliente envia o pacote ARP Probe para a rede a fim de verificar se alguém já está usando o endereço 10.24.67.21, que foi oferecido pelo servidor DHCP. Os pacotes foram filtrados por protocolo ARP, por isso aparecem apenas alguns na captura mostrada. 4.5.2.2 Segurança do protocolo ARP Existem algumas situações nas quais o protocolo ARP pode ser explorado de forma maliciosa, sendo a mais comum o uso da técnica de ARP Spoofing. Saiba mais Assista ao filme: HACKER. Dir. Michael Mann. EUA: Legendary Pictures, 2015. 133 min. O filme retrata a história de um detento, que 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.6 Programa Route Todos os equipamentos que se conectam à internet possuem internamente uma tabela contendo as informações das rotas. Caso esse equipamento seja um roteador, a tabela existente nele conterá todas as informações sobre o que deve ser feito com cada um dos pacotes por ele enviados, bem como de outros equipamentos também conectados à internet. Se esse equipamento for um host, a tabela contida nele será mais simples, contendo as informações sobre o que fazer com os pacotes enviados por ele mesmo. O programa Route, existente nos sistemas operacionais, permite o acesso a essas tabelas, bem como a alteração das informações contidas nelas. O exemplo a seguir mostra a utilização do programa no sistema operacional Linux para consulta desses dados. 97 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 LINGUAGEM DE PROGRAMAÇÃO APLICADA O exemplo na sequência demonstra o uso do programa Route para a adição de uma nova rota à tabela. O comando realizado mostra que todo o pacote que for para a rede 10.15.83.0, com máscara 255.255.255.0, deverá ser encaminhado ao endereço 10.15.83.190 através da interface de rede padrão do Linux eth0. O segundo comando informa a rota default, que é 10.15.96.5. No sistema operacional Linux existem diversos softwares livres e de código aberto que possibilitam a manipulação de tabelas de roteamento IP do kernel. Seu principal ofício é configurar rotas estáticas para os hosts que compõem determinada faixa de rede, por intermédio de uma interface propriamente configurada. A inserção de rotas pode ser iniciada pelo comando route, seguido de parâmetros que validam os conceitos de rotas que foram descritas anteriormente. Na sequência, um quadro que contém todos os parâmetros para utilização junto ao programa Route. Quadro 12 – Parâmetros para a utilização do programa Route Parâmetro Descrição ‑v Lista detalhada ‑‑version Mostra a versão e outras informações. ‑n Mostra as rotas definidas, sem resolver nomes ‑e Mostra a tabela de roteamento no formato Netstat ‑ee Mostra uma imensa linha contendo todos os parâmetros da tabela de roteamento ‑net Refere‑se ao endereço de uma rede, encontrado no arquivo /etc/networks ‑host Refere‑se ao endereço de uma máquina del Remove uma rota add Adiciona uma rota netmask Opção para adicionar máscara de rede da rota a ser adicionada gw Adiciona o gateway, onde qualquer pacote destino será roteado através do gateway específico metric Configura o campo métrico da tabela de roteamento, porém não é usado por kernels mais recentes, somente daemons de roteamento a utilizam mss Especifica o tamanho máximo do segmento TCP em bytes (MSS) para conexões TCP através desta rota window Especifica o tamanho da janela TCP para conexões TCP através desta rota. Tipicamente, somente usado para redes AX.25 e em drivers incapazes de tratar frames back to back irtt Tempo de ida e volta de conexões TCP desta rota reject Bloqueia rota antes do uso da rota default mod, dyn Reinstate. Instala rotas modificadas ou dinâmicas, são usadas por daemons de roteamento dev Refere‑se ao dispositivo – eth0, eth1 dev if Força o uso do dispositivo indicado, pois o kernel pode determinar o dispositivo por conta própria 98 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 Unidade II O comando route pode ser usado de diversas formas. Podem‑se encontrar diversos documentos com exemplos de configuração diferentes; portanto, será abordada uma forma não convencional para fazer a inserção de rotas no sistema, sendo esse um padrão sugerido pelos desenvolvedores desse software. É importante ressaltar que para se usar o route é necessário que ao menos uma interface esteja configurada. Podemos adicionar entradas na interface loopback usando a máscara 255.0.0.0 e associá‑la ao dispositivo lo (local). # route add ‑net 127.0.0.0 netmask 255.0.0.0 dev ló Para adicionar uma rota padrão que permita a saída do tráfego da rede é necessário indicar a sintaxe do comando default e em qual interface os pacotes serão roteados. Caso não se defina a interface no comando, o kernel irá definir uma interface para adicionar o gateway; naturalmente, poderá vir a ser o primeiro dispositivo. # route add default gw 192.168.0.1 dev eth0 Pode‑se configurar o arquivo /etc/hosts para usar nomes de máquinas, para que não seja necessário colocar número de IP sempre que for adicionar uma rota ou rejeitar uma rota para determinada faixa de rede. Por esse motivo, é importante que o arquivo fique legível, utilizando‑se comentários indicando se é nome atribuído à máquina ou ao dispositivo de rede. Exemplo 3.5c: Arquivo /etc/hosts ## Local 127.0.0.1 localhost ## device eth0 192.168.0.1 androide‑gw ## device eth1 192.168.1.1 curupira‑gw ## maquina 192.168.2.1 javali‑gw ## maquina 192.168.3.1 torresmo‑gw 99 Revi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 LINGUAGEM DE PROGRAMAÇÃO APLICADA É possível adicionar uma rota para uma máquina da rede através de uma interface e assumir que a máquina é a própria interface. Com isso, podemos permitir que uma rede possa ser alcançada através dessa máquina ou definir rota para toda uma classe de rede. Nos comandos seguintes podemos validar essa afirmação. Adicionar rota para máquina: # route add curupira‑gw eth0 Adicionar rota para uma rede: # route add ‑net 192.168.2.0 netmask 255.255.255.0 gw curupira‑gw Adicionar rota para toda uma classe de rede (multcast): # route add ‑net 192.168.0.0 netmask 255.255.0.0 dev eth0 Bloquear rota para rede privada: # route add 10.0.0.0 netmask 255.0.0.0 reject Outros comandos podem ser aplicados para a verificação do estado da tabela de roteamento, bem como informações de versões de software e exibição da tabela de roteamento. O comando route seguido da opção ‑V retornará como saída padrão à versão do software e módulos suportados pelo programa. Já a opção ‑v mostra na saída padrão a tabela de roteamento de forma simplificada; porém, se esta opção vier seguida de outros comandos, terá a responsabilidade de jogar na saída padrão o processo sendo executado de forma detalhada. O status da tabela de roteamento pode ser observada com a opção ‑n, onde são exibidas oito colunas (destino, roteador, MascaraGen, opções, métricas, Ref, Uso, Iface). A coluna opção relata o status de cada rota, se está habilitada, se está instalada por um daemon ou sendo rejeitada, entre outros. As possíveis situações referentes ao status das rotas podem ser apresentadas no quadro a seguir. Quadro 13 – Status das rotas Opção Especificação U Está habilitada H Refere‑se que o alvo é uma máquina G Usa o roteador R Está apontando para um roteamento dinâmico D Rota instalada dinamicamente por redirecionamento M Modificada por redirecionamento ! Rejeitada 100 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 Unidade II Exemplo: # route ‑n Tabela de Roteamento IP do Kernel Outras opções podem ser aplicadas como o ‑e (‑‑extend) para mostrar informações adicionais, como, por exemplo, colunas com informações sobre tempo de ida e volta de pacotes e tamanho em máximo de segmento TCP/IP em bytes. Outra opção é usar o ‑F (‑‑fib), que são informações de repasse. A opção route ‑C (‑‑cache) joga na saída padrão o cache da tabela de roteamento que esteja registrada pelo kernel. Resumo Nesta unidade vimos os principais conceitos relativos a uma rede de computadores e 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 principal rede 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. Verificamos que para uma boa administração de uma 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 utlização de forma adequada é necessário um pleno conhecimento dos conceitos de redes e das ferramentas pelos responsáveis pela administração. Mostramos como funciona uma comunicação no ambiente da web demonstrando uma arquitetura cliente/servidor e quais os principais protococlos utilizados. Foi demonstrada a importância de cada ponto que 101 Re vi sã o: F ab ríc ia - D ia gr am aç ão : J ef fe rs on - 0 7/ 06 /1 7 LINGUAGEM DE PROGRAMAÇÃO APLICADA 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.
Compartilhar