Problemas de Rede e Soluções.
Uma estrutura de rede, mesmo que seja para apenas dois computadores, é uma configuração composta por muitos elementos e basta que um destes componentes não funcione bem ou que pare para que a rede toda pare de funcionar. Nesta aula veremos alguns comandos de rede que existem em ambiente Windows e Linux e como utiliza-los para resolver problemas.
Porém, se faz necessário conhecer alguns termos e seu significado no contexto de redes de computadores.
Largura de Banda.
Em telecomunicações, a largura da banda, largura de barramento ou apenas banda (também chamada de débito) usualmente se refere à bitrate de uma rede de transferência de dados, ou seja, a quantidade em bits/s que a rede suporta. A denominação banda, designada originalmente a um grupo de frequências é justificada pelo fato de que o limite de transferência de dados de um meio está ligado à largura da banda em hertz. O termo banda larga denota conexões com uma largura em hertz relativamente alta, em contraste com a velocidade padrão em linhas analógicas convencionais (56 kbps), na chamada conexão discada.
Velocidade de Download
A Velocidade de download se refere à rapidez com que um arquivo pode ser baixado de um serviço na Internet. Segundo resolução da Anatel, deve-se garantir um valor médio acima de 80% do valor contratado. Mas, caso os resultados persistam abaixo de 40% do valor contratado após diversas medições, você pode cobrar providências junto ao seu provedor.
Velocidade de Upload
A Velocidade de upload se refere à rapidez com que um arquivo pode ser enviado a um serviço na Internet. Esse valor costuma ser inferior à velocidade de download, e também deveria estar descrito no contrato com seu provedor de Internet.
As mesmas regras sobre utilização do medidor e resultados descritas sobre a velocidade de download valem para o teste de upload.
Latência Bidirecional
Latência bidirecional é a medida de tempo para uma mensagem ir a um destino e voltar. Um valor alto afeta principalmente a qualidade da navegação na Web, em jogos on-line e em conversas com transmissão de voz e imagem em vídeo.
Perda
A Perda refere-se à porcentagem de “Perda de Pacotes” de uma conexão, ou seja, um percentual de mensagens enviadas pela rede que não consegue chegar ao destino. Perdas costumam acontecer quando a rede está congestionada. Valores acima de 2% afetam significativamente a qualidade da navegação e a utilização de jogos on-line.
Jitter
O Jitter é a variação da latência (atraso) na transmissão sequencial das mensagens. Se o seu acesso à Internet está funcionado bem, espera-se que, em uma sequência de mensagens enviadas, todas levem um tempo parecido para chegar ao destino.
Caso isso não ocorra, as mensagens podem chegar fora de ordem e ocasionar demora nas aplicações.
Os Problemas
Entender como uma rede funciona é fundamental para a solução de problemas. Atualmente a esmagadora maioria das redes é Ethernet com TCP/IP e nesta aula utilizaremos esta configuração como base. A figura abaixo ilustra o caminho que os pacotes (chamaremos todos os dados na rede de pacotes independente da camada do modelo OSI que a informação esteja) através de uma configuração típica de rede.
Observe que até o ponto “Roteador de saída para a internet” o técnico tem acesso pois está dentro da estrutura física da rede interna, depois deste ponto é necessário suporte do provedor de serviços de internet.
Nos problemas aqui descritos, suporemos que a parte física da rede foi bem implementada e que as normas técnicas foram observadas.
Como dito no começo da aula, muitos podem ser os motivos para que uma rede apresente problemas, instabilidade ou até pare completamente. Vamos analisar alguns problemas e as ferramentas necessárias para o diagnóstico do problema e eventual solução.
Ferramentas Simples
Os sistemas operacionais mais usados, Windows e Linux, têm comandos que até tem o mesmo nome e funcionam de forma quase idêntica. Veremos alguns comandos, o uso, alguns problemas e tipos de problemas que devemos usar os comandos.
PING
O comando ping (em Linux tem que ser em minúsculo e em Windows não importa) testa a latência entre dois pontos, é um utilitário que usa o protocolo ICMP para testar a conectividade entre equipamentos. É um comando disponível praticamente em todos os sistemas operacionais. Seu funcionamento consiste no envio de pacotes para o equipamento de destino e na “escuta” das respostas. Se o equipamento de destino estiver ativo, uma “resposta” (o “pong”, uma analogia ao famoso jogo de ping-pong) é devolvida ao computador solicitante.
O autor da ferramenta, Mike Muuss, deu a ele este nome pois lembrava o som que o sonar emitia. (Depois Dave Mills arrumou um significado para a sigla, “Packet Internet Grouper (Groper)”, algo como “Procurador de Pacotes da Internet”)
A utilidade do ping para ajudar a diagnosticar problemas de conectividade na Internet foi enfraquecida no final de 2003, quando muitos Provedores de Internet ativaram filtros para o ICMP Tipo 8 (echo request) nos seus roteadores (configurações de firewall). Esses filtros foram ativados para proteger os computadores de Worms como o Welchia, que inundaram a Internet com requisições de ping, com o objetivo de localizar novos equipamentos para infectar, causando problemas em roteadores ao redor do mundo todo.
Outra ferramenta de rede que utiliza o ICMP de maneira semelhante ao ping é o Traceroute.
A saída do ping, e seus primos, geralmente consiste no tamanho do pacote utilizado, o nome do equipamento “pingado”, o número de seqüência do pacote ICMP, o tempo de vida e a latência, com todos os tempos dados em milissegundos.
O ping é utilizado para tentar identificar problemas de continuidade de rede, latência e rastreamento de portas.
Abaixo temos uma tela com uma saida de um comando ping de um computador conectado à internet e executando o comando contra o site www.cecead.com.
TRACEROUTE
traceroute é uma ferramenta de diagnóstico que rastreia a rota de um pacote através de uma rede de computadores que utiliza os protocolos IP e o ICMP, implementada pela primeira vez por Van Jacobson em 1988. Atualmente está disponível em diversos sistemas operacionais como Linux, FreeBSD, NetBSD, MacOS X e Windows.
Seu funcionamento está baseado no uso do campo Time to Live (TTL) do pacote IPv4 destinado a limitar o tempo de vida dele. Este valor é decrementado a cada vez que o pacote é encaminhado por um roteador. Ao atingir o valor zero o pacote é descartado e o originador é alertado por uma mensagem ICMP TIME_EXCEEDED. Através da manipulação do campo TTL de uma série de datagramas UDP é possível receber esta mensagem de cada um dos roteadores no caminho do pacote. Para o caso do IPv6 é utilizado o campo hop limit, o limite de saltos dos datagramas desta versão do protocolo. A implementação disponível no Microsoft Windows utiliza apenas pacotes ICMP.
Abaixo a figura ilustra o comando sendo utilizado contra o site www.cecead.com tando no Windows quanto no Linux.
ARP
Protocolo de Resolução de Endereços (do inglês: Address Resolution Protocol – ARP) é um padrão da telecomunicação, mais especificamente em redes de computadores, definido pela RFC 826 em 1982, usado para resolução de endereços (conversão) da camada de internet em endereços da camada de enlace. É o Padrão Internet STD 37, e também é o nome do programa para manipulação desses endereços na maioria dos sistemas operacionais.
A conversão de endereços entre as camadas (rede e enlace) é uma função crítica em redes de múltiplos acessos. O ARP mapeia um endereço de rede (por exemplo, um endereço IPv4) em um endereço físico como um endereço Ethernet (ou endereço MAC).
Abaixo a figura mostra uma saída do comando arp executado em ambiente Linux.
Este comando também exite no Windows e tem a mesma funcionalidade, um ou outro argumento e/ou funcionalidades podem ser diferentes, mas a maioria dos comandos discutidos aqui tem a mesma utilização.
O Address Resolution Protocol é um protocolo de requisição e resposta que é executado encapsulado pelo protocolo da linha. A requisição (request) é realizada por via de Broadcast, solicitando o endereço físico (MAC) de uma determinada máquina através do seu endereço lógico (IP). Por sua vez, a resposta (reply) é fornecida de forma direta (Unicast) pela máquina com o endereço lógico requisitado, contendo então o endereço físico da mesma. No final da operação, ambos os intervenientes guardam os dados um do outro em cache de forma a otimizar a rede.
Ele é comunicado dentro dos limites de uma única rede, nunca roteado entre nós de redes. Esta propriedade coloca o ARP na camada de enlace do conjunto de protocolos da Internet, enquanto que no modelo Open Systems Interconnection (OSI), é frequentemente descrito como residindo na Camada 3, sendo encapsulado pelos protocolos da Camada 2. Entretanto, o ARP não foi desenvolvido no framework OSI.
NSLOOKUP
Podemos definir o comando nslookup como uma ferramenta para auxílio na administração de redes com consultas ao Domain Name Server (DNS) a fim de agilizar a correção de problemas potencialmente ligados à resolução de nomes de domínio.
Já estudamos a importância do DNS para o uso diário da internet e de redes locais com estruturas baseadas em resolução de nomes (Windows com AD DS configurado). O nslookup pode resolver vários problemas. Vamos ver alguns exemplos.
Exemplo 1
Consultar o IP de um determinado site a partir das tabelas de resolução dos servidores de DNS configurados em minha rede. Comando executado em ambiente Linux.
Abaixo o mesmo comando executado em ambiente Linux.
Preciso saber qual o endereço MX (parâmetro responsável pelos servidores de e-mail) configurado em meu domínio.
Como o site pesquisado no exemplo acima, não tem um servidor de e-mail configurado, veja abaixo um exemplo de site que tem servidor de e-mail e a resposta ao nslookup.
E se eu quiser saber quais são os servidores DNS responsáveis por meu domínio?
WHOIS
Whois é um protocolo TCP (porta 43) específico para consultar informações de contato e DNS sobre entidades na internet.
Uma entidade na internet pode ser um nome de domínio, um endereço IP ou um AS (Sistema Autônomo).
Para cada entidade, o protocolo WHOIS apresenta três tipos de contato: Contato Administrativo (Admin Contact), Contato Técnico (Technical Contact) e Contato de Cobrança (Billing Contact). Estes contatos são informações de responsabilidade do provedor de internet, que as nomeia de acordo com as políticas internas de sua rede.
Como exemplo, utilizaremos o endereço ip do site www.cecead.com para executar o comando. E para descobrir o endereço ip, um comando ping contra o site basta.
Observem que a quantidade de informações é maior que a tela. É um comando muito poderoso no que se refere a informações resgatadas.
Todos os comandos visto aqui, foram executados com configurações mínimas e sem nenhum argumento ou foi utilizado algum argumento que reduziu a saida do comando para que as imagens ficassem de tamanho razoável. Todos estes comando têm muitos argumentos, sugerimos que para fins de aprendizado, estes argumentos sejam explorados.
Lentidão na rede
O problema mais comum e o que mais reclamações gera por parte dos usuários. Os motivos podem ser vários. Vamos citar alguns.
Problema
Excesso de colisão – Este problema só ocorre em redes locais que possuem hubs ao invés de switches. Esta é a principal diferença entre os dois equipamentos, hubs recebem dados por uma porta e replica o tráfego em todas as portas, sem distinção, causando um alto índice de colisão e, consequentemente, descarte de pacotes, já o switch monta uma tabela de associação de porta x mac-address, com isso, o switch envia determinado tráfego somente para a porta que possui o mac-address contido no destino do cabeçalho IP evitando assim colisões entre pacotes. Cada porta do switch funciona como um domínio de colisão.
Solução
Análise da rede com um software de analise de pacotes como o wireshark que vimos durante o curso. É claro que o técnico deve estar familiarizado com a rede e deve ter um histórico de análises para poder tirar conclusões.
Problema
Excesso de broadcast – Numa rede local, é comum termos broadcast, isto ocorre por que na camada 2 (enlace) quando um determinado elemento do rede deseja acessar outro elemento da mesma rede local, ele utiliza o ARP request (Who has this IP) e se esse mac-address não estiver em sua tabela ARP, ele mandará um broadcast para toda a rede. Vários outros serviços utilizam o broadcast como principal ferramenta para operar, como é o caso do DHCP onde um DHCP client envia broadcast para toda a rede local procurando um servidor DHCP e solicitando um novo IP ao mesmo. Esse processo é chamado de DHCP Request. Diferente do excesso de colisão, a utilização de switches, por si só, na rede local não resolve este problema, para isso se faz necessário a segmentação da rede, através de roteadores ou VLAN’s. No caso da VLAN, o sugerido é que o administrador da rede segmente o máximo possível a rede local, uma boa prática é segmentar por setor ou mesmo por andar. Para cada VLAN ou porta de roteador aplicada nesta solução, temos um domínio de broadcast.
Solução
Análise da rede com um software de analise de pacotes como o wireshark que vimos durante o curso. É claro que o técnico deve estar familiarizado com a rede e deve ter um histórico de análises para poder tirar conclusões.