Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Como o Protocolo TCP/IP Funciona - Parte 2

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Tutorial Como o Protocolo TCP/IP Funciona - Parte 2

    Introdução

    Em nosso tutorial Como o Protocolo TCP/IP Funciona nós explicamos a arquitetura básica do protocolo TCP/IP e como os protocolos básicos envolvidos (como o TCP, o UDP e o IP) funcionam. Agora é a vez de nos aprofundarmos um pouco mais e explicarmos outras funcionalidades e protocolos do TCP/IP que não comentamos antes, como Telnet, SSH, TFTP, DHCP, DNS, ICMP, RIP, OSPF, BGP, ARP e muito mais.

    É importante lembrar que existem muitos outros protocolos relacionados com a pilha TCP/IP e que só estamos explicando os mais importantes.


    Serviços de Terminal

    Os serviços de terminal permitem que você acesse remotamente um servidor e tenha acesso ao seu shell (isto é, seu prompt de comando) como se você estivesse fisicamente em frente ao teclado e ao monitor do servidor. Os três protocolos de terminal mais comuns são o Telnet, o Rlogin e o SSH (Secure Shell). Todos fazem a mesma coisa, mas as conexões do SSH são criptografadas e, por isso, mais seguras. Se você tem de gerenciar um servidor remotamente, opte por usar o SSH em vez do Telnet ou do Rlogin. Como tanto as conexões Telnet ou quanto as conexões Rlogin não são criptografadas, qualquer pessoa usando um programa d “sniffer” – que é um tipo de programa que permite ao hacker ler os pacotes de dados que trafegam na rede – pode ler tudo o que você digita, incluindo senhas.

    O Telnet, o Rlogin e o SSH são protocolos da camada de aplicação e usam o protocolo TCP na camada de transporte. O Telnet usa a porta 23, o Rlogin usa a porta 513 e o SSH usa a porta 22.

    Um dos programas de Terminal mais famosos para Windows que permite conexões Telnet, Rlogin e SSH é o PuTTY (o Windows vem com um utilitário Telnet – que pode ser acessado através do menu Iniciar, Executar, Telnet – mas não vem com nenhum utilitário com suporte ao SSH).

    TFTP (Trivial File Transfer Protocol)

    Na primeira parte deste tutorial nós explicamos sobre o funcionamento do FTP, um protocolo da camada de aplicação para transferência de arquivos usando o protocolo TCP na camada de transporte.

    O TFTP (Trivial File Transfer Protocol, Protocolo Trivial de Transferência de Arquivo) é um protocolo que desempenha o mesmo tipo de aplicação – transferência de arquivos – mas ao contrário do FTP usa o protocolo UDP na camada de transporte.

    Como você deve se lembrar, a diferença entre o TCP e o UDP é que enquanto o TCP verifica se cada pacote chegou corretamente ao destino, o UDP não. Outra diferença é que o TCP reordena os pacotes que podem ter chegado fora de ordem, enquanto que o UDP também não realiza tal tarefa.

    Por outro lado, por não usar mecanismos de confirmação e reordenamento de pacotes, os pacotes UDP são menores (já que o cabeçalho UDP é menor do que o cabeçalho TCP) e necessitam de menos poder computacional para serem processados – já que o processo de reordenamento e confirmação de recebimento não são necessários. Será a aplicação – e não o protocolo – que se encarregará de executar essas funções.

    Para aplicações cotidianas, o protocolo TFTP não tem muita utilidade, já que o FTP é muito mais confiável. No entanto, existe um tipo de aplicação que tira proveito do TFTP: o boot remoto.
    Você pode ter um computador sem disco rígido ou qualquer outra mídia de armazenamento e configurá-lo para realizar o boot pela rede, isto é, carregar o sistema operacional e programas a partir de um servidor. O programa que carregará o sistema operacional remotamente precisa estar armazenado em uma pequena memória ROM localizada na placa de rede do computador sem mídia de armazenamento. Como este processo necessita de um protocolo para transferência de arquivos, o TFTP é mais indicado do que o FTP, já que os clientes TFTP são muito menores que os clientes FTP, podendo ser armazenado na memória ROM da placa de rede – para você ter uma idéia, o tamanho do maior chip de memória ROM usado para boot remoto é de apenas 64 KB (sim, kilobytes).

    Em resumo, o TFTP é um protocolo da camada de aplicação que usa o protocolo UDP (porta 69) na camada de transporte.

    DHCP (Dynamic Host Configuration Protocol)

    Todos os computadores conectados a uma rede TCP/IP precisam ser configurados com um endereço IP. Sem um endereço IP um computador não pode se comunicar com outros computadores da rede.

    Imagine uma rede grande com centenas de computadores. Configurar cada um desses computadores individualmente seria uma tarefa um tanto ou quanto enfadonha. Além disso, pense como seriam os provedores de acesso à Internet: ele teriam de ensinar cada cliente a configurar seus computadores e teriam de fornecer o endereço IP de cada cliente por telefone – e monitorar esses endereços, já que dois computadores não pode ter o mesmo endereço IP.
    De modo a facilitar esta configuração, existe um protocolo chamado DHCP (Dynamic Host Configuration Protocol, Protocolo de Configuração Dinâmica de Máquinas) que permite que computadores recebam suas configurações através de um servidor DHCP. Esta é a configuração padrão para todos os computadores atualmente. Quando você liga seu computador ele pergunta ao servidor DHCP da sua rede (localizado no seu provedor de acesso se você é um usuário doméstico conectado à Internet): “alô, me manda meu endereço IP!” e pronto, seu computador está configurado. Se você montou uma pequena rede com um roteador de banda larga, o roteador tem embutido um servidor DHCP, sendo, portanto, o responsável por distribuir os endereços IP para os computadores da sua rede.

    Além do endereço IP, o servidor DHCP também envia outras informações de configuração, como o endereço IP do servidor DNS que seu computador deve usar (nós explicaremos mais sobre o funcionamento deste servidor na próxima página), o gateway padrão (o endereço IP do roteador da sua rede – isto é, se seu computador não pode encontrar o computador de destino na sua rede local, para qual endereço os pacotes devem ser enviados) e a máscara de sub-rede (usada por questões de endereçamento que fogem do escopo deste tutorial).

    Com o uso do servidor DHCP o administrador da rede pode configurar todos os computadores de uma rede a partir de uma localização central, facilitado em muito sua vida.

    O DHCP é um protocolo da camada de aplicação e usa o protocolo UDP na camada de transporte. O DHCP usa as portas 67 e 68 e na verdade ele substitui um protocolo antigo chamado BOOTP.

    Em algumas publicações você pode encontrar referências ao BOOTP em vez do DHCP. Tudo o que dissemos sobre o DHCP é válido para o BOOTP, já que o DHCP é 100% compatível com o BOOTP (apesar do DHCP oferecer mais opções do que o BOOTP).

    DNS (Domain Name System)

    Como você já sabe, em redes TCP/IP cada computador tem um endereço virtual único, chamado endereço IP. No entanto, para nós, humanos, nomes são mais fáceis de serem memorizados do que números.

    O DNS (Domain Name System, Sistema de Nome de Domínio) permite o uso de nomes como apelidos para os endereços IP. Por exemplo, é mais fácil memorizar o nome de nosso site do que o endereço IP que nosso servidor web está usando: é muito mais fácil memorizar clubedohardware.com.br do que 69.41.161.36.

    Quando você digita em seu navegador Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar..., o protocolo DNS entra em ação, contatando um servidor DNS e perguntando qual endereço IP está associado ao nome Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar.... O servidor DNS responderá 69.41.161.36 e então o seu navegador saberá qual endereço IP usar nesta conexão.

    O servidor DNS que o seu navegador usará é o servidor DNS que o seu computador está configurado para usar – todos os computadores que estão conectados à Internet têm um campo para configuração do endereço IP de pelo menos um servidor DNS. Normalmente esta configuração é feita automaticamente via DHCP.

    Se o servidor DNS não conhece o nome que você perguntou, ele entrará em contato com outro servidor DNS com um nível hierárquico maior de modo a aprender este nome/endereço IP.

    Todas as entradas no servidor DNS têm um campo “tempo de vida” (também chamado TTL, Time To Live), que diz ao servidor por quanto tempo aquela informação é válida. Quando a informação vence, ela deve ser atualizada contatando novamente o servidor DNS com um nível hierárquico maior. Isto é feito desta forma porque caso o endereço IP de um servidor mude, o tempo máximo que você precisará aguardar para aprender qual é o novo endereço IP para aquele servidor será o campo TTL da sua entrada no servidor DNS - que pode variar de algumas horas a alguns dias.

    O DNS é um protocolo da camada de aplicação e suas requisições são feitas usando a porta 53 do protocolo UDP na camada de transporte. Como já explicamos, o UDP não verifica se os pacotes chegaram ou não ao destino, mas, por outro lado, ele é mais rápido, já que seu cabeçalho é menor e exige menos poder computacional para ser processado.

    Uma maneira fácil de brincar com requisições DNS é através do uso do comando nslookup, disponível tanto no prompt de comando do Windows quanto em sistemas Unix (como Linux – dependendo da sua distribuição do Linux este comando pode ser chamada host e não nslookup).
    No Windows, clique no menu Iniciar, Executar e digite Cmd e clique no botão Ok. No prompt de comando digite nslookup Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar.... Você receberá como resposta o endereço IP associado a este nome (69.41.161.36). Você pode ainda fazer outros testes, como digitar um endereço IP e verificar se existe um nome de servidor associado ao endereço que você digitou. Brinque com este comando para que você possa entender mais sobre o funcionamento do DNS; ele não danificará o seu micro!

    A propósito, o DNS permite que mais de um nome seja associado a um mesmo endereço IP. Isto permite que você hospede mais de um site em um único servidor, por exemplo. Quando você acessa um servidor que tem mais de um site hospedado, seu navegador acessará ele através do seu endereço IP (descoberto através de uma requisição DNS, como explicamos), enquanto que o servidor verificará o nome que você está usando em seu navegador para saber qual site fornecer para você.

    ICMP (Internet Control Message Protocol)

    O ICMP (Internet Control Message Protocol, Protocol de Mensagens de Controle Internet) é usado para enviar mensagens de controle para os roteadores. Este é um protocolo da camada Internet e que funciona em conjunto com o protocolo IP. Ele pode ser usado em várias situações em que pode ser necessário que um roteador instruia outro sobre algo – normalmente quando um roteador recebe um datagrama que não pode ser entregue, ele enviará de volta ao roteador que o enviou o datagrama uma mensagem ICMP explicando o motivo pelo qual ele não pôde entregar o datagrama.

    Algumas mensagens de controle que podem ser enviadas usando o ICMP são:
    • Eco: Usada para testar se o caminho entre o receptor e o transmissor está bom. O uso mais conhecido deste tipo de mensagem é através do comando Ping. Se você enviar um comando Ping ao endereço Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar..., por exemplo, nosso servidor responderá a essas solicitações de eco, e o Ping dirá a você se as mensagens chegaram ou não ao servidor e qual foi o tempo gasto entre você enviar o comando e a mensagem de eco voltar ao seu computador, normalmente dado em milisegundos (ms).
    • Destino Inalcançável: Dentro desta mensagem o roteador pode dizer exatamente o que ocorreu de errado, como rede inalcançável, computador inalcançável, protocolo inalcançável, porta inalcançável, rede de destino inalcançável, computador de destino inalcançável, se o administrador da rede bloqueou a rede ou o computador de destino, problemas de roteamento, etc.
    • Congestionamento: Esta mensagem é enviada caso o roteador esteja sobrecarregado – isto é, caso ele esteja recebendo mais datagramas do é capaz de processar – de modo a fazer com que o roteador que esteja enviando os datagramas reduza a taxa de datagramas enviados para o roteador que está sobrecarregado.
    • Redirecionamento: Esta mensagem é normalmente usada quando um roteador descobre que existe uma rota melhor para alcançar o destino, atualizando o roteador transmissor. Este recurso apenas funciona em redes local, não funcionando em redes grandes que tenham várias redes interconectadas, como a Internet.
    • Tempo de Vida Excedido: Todos os datagramas IP têm um campo tempo de vida (TTL, Time To Live), que indica a quantidade de saltos (isto é, roteadores) que o datagrama pode passar do computador transmissor até o computador receptor. Se um datagrama está configurado com um TTL de 20, isto significa que se ele não chegar no destino dentro de 20 saltos, o datagrama deverá ser descartado. Isto é feito para evitar que os datagramas fiquem eternamente circulando na rede ou na Internet caso a rede não esteja configurada corretamente e o datagrama esteja circulando sem qualquer caminho para alcançar seu destino.
    • Solicitação de Hora: Roteadores (e computadores) podem perguntar a hora a outro roteador ou computador. Um dos usos desta mensagem é para sincronizar os relógios dos dois computadores, apesar desta sincronização não ser perfeita, já que existe um pequeno retardo introduzido pela rede (na ordem de milisegundos). Esta mensagem pode ainda ser usada para medir o tempo de retardo da rede entre dois computadores, se seus relógios estiverem sincronizados.

    Protocolos de Roteamento: RIP, OSPF e BGP

    O roteamento pode ser estático ou dinâmico. Enquanto que em pequenas redes o roteamento estático é usado – isto é, os datagramas sempre trafegam pelo mesmo caminho para alcançarem o seu destino – na Internet ou em redes maiores o roteamento dinâmico faz-se necessário.
    Com o roteamento dinâmico, roteadores podem mudar as rotas a qualquer momento, desde que eles percebam que existem melhores caminhos para alcançar um determinado destino. Por exemplo, se existe mais de um caminho para alcançar um dado destino e a rota atual é mais longa do que uma outra rota disponível, os roteadores podem mudar a sua configuração para usarem a rota mais curta. Aqui “longa” e “curta” referem-se ao número de saltos (isto é, roteadores) existentes no caminho. Rotas mais curtas não são necessariamente mais rápidas, como explicaremos.

    A comunicação entre os roteadores de modo a reprogramarem as suas tabelas de roteamento é feita usando um protocolo de roteamento. Os três protocolos de roteamento dinâmico mais conhecidos são o RIP (Routing Information Protocol, Protocolo de Informação de Roteamento), OSPF (Open Shortest Path First, Primeiro o Caminho Mais Curto – o “Open” no nome refere-se ao fato do protocolo ser “livre”, sendo significando “Abrir”) e o BGP (Border Gateway Protocol, Protocolo de Gateway de Fronteira).

    Se os roteadores estão usando o protocolo RIP, eles enviarão suas tabelas de roteamento para todos os roteadores que eles têm acesso a cada 30 segundos. A tabela de roteamento contém todas as redes que os roteadores conhecem e como alcançá-las, além da distância (dada em número de saltos) até elas.

    Quando cada roteador recebe uma nova tabela de roteamento de outro roteador, ele pode ver se existe alguma rede nesta lista que tenha um caminho mais curto (isto é, usando menos saltos – tradução: passando por menos roteadores) do que ele está atualmente configurado para usar. Se existir, o roteador se reconfigurará para usar este novo caminho mais curto.

    O problema é que os caminhos mais curtos nem sempre são os melhores, já que o protocolo RIP não implementa nenhum modo para verificar o desempenho do caminho. Ele também não verifica o congestionamento ou se o caminho é realmente confiável. Portanto uma rota mais longa pode acabar sendo mais rápida.

    O RIP usa a porta 520 do UDP.


    Apesar do seu nome, o protocolo OSPF não procurar o caminho mais curto, mas sim o caminho mais rápido. Quando os roteadores usam o protocolo OSPF, eles verificam o estado dos outros roteadores que eles têm acesso de tempos em tempos enviando mensagens chamadas “hello”. Através destas mensagens eles sabem se um roteador está operacional e qual é o seu estado. Outra diferença é que usando o OSPF os roteadores conhecem todos os caminhos que podem ser usados para alcançar um determinado destino, enquanto que roteadores RIP conhecem apenas o caminho mais curto. Uma terceira diferença é que roteadores baseados no RIP enviarão suas tabelas de roteamento inteiras a cada 30 segundo, aumentando o tráfego da rede.

    Uma outra diferença é que os roteadores baseados no OSPF permitem balanceamento de carga: se existir mais de uma rota para um dado destino, o roteador pode dividir os datagramas entre eles de modo a reduzir o tráfego em cada um dos caminhos.
    O OSPF funciona diretamente na camada Internet com o protocolo IP, portanto ele não usa os protocolos TCP ou o UDP.

    O BGP é um protocolo usado em redes grandes, como a Internet – na verdade o BGP é o protocolo usado pelos roteadores da Internet. Como tal, ele é classificado como um protocolo externo, enquanto que o RIP e o OSPF são classificados como protocolos internos – já que eles são usados em redes que estão sob a mesma administração.

    O BGP agrupa roteadores e computadores sob uma mesma administração em uma unidade chamada Sistema Autônomo (SA) – por exemplo, todos os roteadores e computadores que pertencem ou estão conectados ao mesmo provedor de Internet fazem parte de um mesmo SA. O BGP é chamado IBGP (Interno) se trabalha dentro de um mesmo sistema autônomo ou de EBGP (Externo) se trabalha entre dois sistemas autônomos diferentes.

    O BGP é muito mais complexo do que o RIP e o OSPF, já que ele usa vários critérios (chamados atributos) para determinar qual é a melhor rota a ser tomada: Peso, Preferência Local, Discriminador de Saídas Múltiplas, Origem, Caminho_SA, Próximo Salto e Comunidade.
    Ao contrário do RIP, os roteadores baseados no BGP enviam apenas o que há de novo em suas tabelas de roteamento em vez de enviar a tabela inteira de tempos em tempos, ajudando a diminuir o tráfego da rede. Uma diferença entre o BGP e o RIP é que o BGP verifica de tempos em tempos se um dado caminho está acessível ou não.
    O BGP utiliza a porta 179 do TCP.


    ARP e RARP

    O ARP (Address Resolution Protocol, Protocolo de Resolução de Endereço) é o responsável por aprender qual é o endereço MAC (isto é, o endereço físico) de um computador que tem um dado endereço IP e o RARP (Reverse Address Resolution Protocol, Protocolo de Resolução de Endereço Reverso) faz o contrário: ele é o responsável por descobrir qual é o endereço IP de um computador que tem um determinado endereço MAC.

    Enquanto um datagrama está sendo transmitido pela Internet o endereço MAC do computador de destino não é necessário – os roteadores no meio do caminho estão interessados apenas em entregar o datagrama para a rede de destino. Mas uma vez que os pacotes chegam na rede de destino, o roteador conectado nessa rede precisa saber o endereço MAC do computador de destino, já que ele irá entregar o datagrama localmente (provavelmente usando o protocolo Ethernet).

    Por exemplo, se o endereço IP de destino é 69.69.69.69, quando o datagrama chegar no roteador da rede 69.69.69.0, ele perguntará a todos os computadores (quando uma mensagem é enviada para todos os computadores dizemos que ela é uma mensagem de broadcast) usando o protocolo ARP: “alô, qual é o computador que tem o endereço 69.69.69.69?” Em seguida o computador que tiver este endereço IP responderá “sou eu!”.
    Claro que enviar uma mensagem de broadcast toda hora congestiona a rede, e por isso os roteadores mantêm uma tabela com os endereços IP conhecidos e seus respectivos endereços MAC, dispensando assim que a mesma requisição seja feita caso um novo datagrama destinado ao endereço 69.69.69.69 seja recebido.

    O RARP, por outro lado, foi usado no passado pelos computadores sem mídia de armazenamento para boot remoto. Como este tipo de computador não tem um sistema operacional instalado, ele não sabe qual endereço IP usar. Ele precisa, portanto, saber qual endereço IP usar de modo a iniciar a carga do sistema operacional do servidor de boot remoto. Com você pode ver, este é exatamente o mesmo papel do DHCP e como atualmente todas as redes usam um servidor DHCP, o uso do RARP tornou-se obsoleto.

    Tanto o ARP e o RAR funcionam na camada de Interface com a Rede.

    Créditos:Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
    Segurança no Brasil é uma total aberração,helicóptero é derrubado por favelado,e seu site admin é ownado

  • Font Size
    #2
    otima explicação pra quem estuda Redes \O
    ~# Criado pela [IN]Segurança #~

    Comment


    • Font Size
      #3
      Asisti toda uma palestra sobre o Asunto
      é melhor doque o antigo MvMv
      Muleque vai Muleque vem. hsuahsua
      Segurança no Brasil é uma total aberração,helicóptero é derrubado por favelado,e seu site admin é ownado

      Comment


      • Font Size
        #4
        Vlw Slek3 pelo Post man
        sigpic

        Comment


        • Font Size
          #5
          Muito Util.

          Comment


          • Font Size
            #6
            Parabens , ira ajudar muito !

            Comment

            X
            Working...
            X