Menu

Menu Horizontal

sexta-feira, 31 de janeiro de 2014

TCP IP




           TCP IP

É um padrão criado pelo Departamento de Defesa americano (DoD), com a finalidade de garantir a integridade dos dados. Sua finalidade era manter a comunicação de dados entre suas bases em uma guerra.
Se a rede TCP/IP e seus protocolos forem implementados corretamente, essa rede pode ser confiável e muito eficiente. Esse processo de implantação da rede não é complexa e sim trabalhosa.

            O Modelo DoD – TCP/IP


            Um numero considerável de protocolos atuam na camada de processo/aplicação do modelo DoD (TCP/IP), suas funções são iguais as três camadas do modelo OSI, São elas: Aplicação, Apresentação e seção).

        Camada de Processo
         Define os protocolos necessários para a comunicação ponto a ponto e também controla as especificações da interface com o usuário.  

             Camada de Transporte

            Define os protocolos para estabelecer o nível do serviço de transmissão para as aplicações. Encarrega-se de tarefas de criação da conexão ponto a ponto confiável e a entrega de dados, cuidando pela a integridade dos mesmos. Essa camada de responsabiliza pelo seqüenciamento de pacotes de dados.

            Camada de rede

         Essa camada designa protocolos pela transmissão lógica dos pacotes através da rede.
Ela cuida dos endereços lógicos dos dispositivos na rede, colocando ip’s nesses dispositivos.
A essa camada também é responsável pelo roteamento de pacotes e controle de fluxo quando os dispositivos estão trocando informações na rede.

             Camada de Host à Rede

         Essa camada é responsável pelo monitoramento do trafego de toda a rede. Ela também define os protocolos que vão transmitir os dados através dos meios físicos, assim como a aplicação e analise dos endereços de hardware.

               Estudo das Camadas do Modelo TCP/IP   

1.     Camada de Aplicação – Alguns protocolos e aplicações utilizados em redes IP, são eles:
TELNET – Sua função é a emulação de terminais. Esse protocolo permite um usuário se comunicar através da rede em um computador ou dispositivo remoto (CLIENTE) para acessar outro dispositivo ou computador (SERVIDOR), com a finalidade de utilizar seus recursos.


2.     FTP/TFTP- Protocolo usado para a transferência de dados entre duas maquinas. Ele não é apenas um protocolo é também um programa. Quando opera como um protocolo, o FTP é usado por outras aplicações. E como programa ele é usado para transferir arquivos. O TFTP é uma versão simplificada do FTP, que é usado quando se sabe exatamente onde se encontra o arquivo. O TFTP não possui busca ou pesquisa em diretórios, ele apenas envia e recebe arquivos. É utilizado para instalar uma atualização do sistema CISCO em um roteador.

3.     NFS- (Network File System) É um protocolo utilizado para compartilhar arquivos e também permite a comunicação de sistemas diferentes.

4.     SMTP-(Simple Mail Transfer Protocol) Esse protocolo é utilizado no gerenciamento e distribuição de emails.

5.      LPD- (Line Printer Deamon) Protocolo usado para compartilhamento de impressoras.
6.      X Window- Esse protocolo define um padrão para o desenvolvimento de interfaces gráficas em sistemas cliente-servidor
7.     DNS- (Domain Name Service) Protocolo que mapeia nomes para endereços IP.


Camada de Transporte

            Sua função é mascarar das aplicações das camadas superiores as complexidades da rede. Os protocolos definidos nessa camada são: O TCP e o UDP.
             
        TCP- (Transmission Control Protocol) Esse protocolo recebe um fluxo de dados e os quebra em seguimentos. Esses seguimentos são enumerados, organizados e seqüenciados, permitindo a remontagem do dos dados recebidos no momento em que chegam ao seu destino.

Depois do envio de dados o protocolo aguarda a confirmação dos dados recebidos pelo destino e caso algum dado não tinha sido entregue ao seu destino corretamente, a maquina de origem envia novamente os dados que não tiverem sido recebidos pelo maquina de destino. Após essa troca de mensagens primaria e antes de se iniciar uma transmissão, o protocolo da TCP da maquina de origem entra em contato como o protocolo TCP da maquina de destino estabelecendo uma conexão.
Que é chamada de circuito virtual, essa conexão de circuito virtual é orientada a conexão. Esse aperto de mão (Hand Shake) inicial, os protocolos TCP das pontas determinam o volume de dados a ser transmitido antes de ocorrer à confirmação por parte do destino.
Esse procedimento é realizado para garantir a confiabilidade da comunicação entre as maquinas envolvidas nesse processo.
O protocolo TCP é full-duplex, orientado a conexão e também altamente confiável. Mais tem um grande custo em termos de cabeçalho. (Overhead)
Devido as redes de hoje serem bem mais confiáveis grande parte dessas características podem ser dispensadas.
      
    UDP- (User Datagram Protocol) O uso desse protocolo está diretamente relacionado a um processo mais dinâmico, pois ele é um protocolo leve . Ele utiliza menos largura de bando do que o TCP, não tem as mesmas funções. Porém realiza um trabalho igualmente  eficiente, desde que a aplicação não requeira confiabilidade na entrega. Exemplos a que ele pode ser empregado;
            Nos sinais de rede que são transmitidos constantemente pelo protocolo SMNP (os cães de Guarda) congestionariam a rede caso fossem enviados por TCP. Esse protocolo realiza os transportes desses sinais da melhor forma que o TCP, porque nesse caso a confiabilidade da entrega não é um fator critico.
            A confiabilidade pode ser alcançada quando a camada de processos e aplicações é utilizada, pois elas têm suas próprias maneiras, sendo desnecessária a utilização do TCP para transporte nesse caso.
            O protocolo UDP recebe blocos de dados pelas camadas superiores e os quebra em seguimentos. O UDP enumera os seguimentos transmitidos pelo dispositivo de origem, e permite a reconstrução dos dados no dispositivo de destino. Ele não seqüência os seguimentos e não se importa com a ordem que os blocos de dados chegam ao destino.
            Após a enumeração dos seguimentos dos blocos de dados eles os enviam e  simplesmente os esquece, não existindo confirmação no recebimento dos dados na outra ponta do link. O que ocorre é o completo abandono dos dados do seguimento na rede, não estabelecendo o link virtual antes da transmissão. Por esse motivo, ele um protocolo considerado não orientado a conexão.
            Portanto, O TCP é usado para o transporte de dados de forma confiável;
                                   UDP é usado para o transporte rápido de dados.


O Cabeçalho TCP possui os seguintes campos;
·        Porta de Origem (Source Port) – Numero da porta lógica onde a aplicação transmissora está localizada.
·        Porta de Destino (Destination Port)- Numero da porta lógica onde a aplicaçãoou protocolo requisitado está localizado na maquina destinatária.
·        Numero Sequencial (Sequence Number)- Numero utilizado para a recolocação dos seguimentos de forma correta.
·        Numero de confirmação (Acknowledgement Number)- Define qual Octeto TCP deve ser aguardado na seguencia.
·        Comprimento do Cabeçalho HLEN (Header Lenght) – Define o comprimento do cabeçalho TCP.
·        Reservado (Reserved)- Esse valor é sempre 0
·        Bits Código (Code Bits)- Funções de controle para iniciar e encerrar uma conexão.
·        Checagem (Checksum)- Checagem de redundância cíclica (CRC). Obs: O TCP não confia no controle da checagem de erros realizada pelas camadas mais baixas, ele tem seus próprios controles para checar se os segmentos contem erros.
·        Janela (Window)- Tamanho da janela de dados que o remetente tem capacidade de receber, medido em octetos.
·        Opções (Options)- Define o tamanho Maximo do segmento TCP.
·        Dados (Data)- Dados passados para a camada de transporte, que incluem os cabeçalhos das camadas superiores. (encapsulamento)

O cabeçalho UDP possui os seguintes campos;
·        Porta de Origem (Source Port) – Numero da porta lógica onde a aplicação transmissora está localizada.
·        Porta de Destino (Destination Port)- Numero da porta lógica onde a aplicaçãoou protocolo requisitado está localizado na maquina destinatária.
·        Comprimento (Lenght)- Define o tamanho do seguimento UDP, incluindo cabeçalho e dados.
·         Checagem (Checksum)- Checagem de redundância cíclica (CRC), de campos do cabeçalho e dados.
·        Dados (Data)- Dados passados para a camada de transporte, que incluem os cabeçalhos das camadas superiores. (encapsulamento)
TCP
UDP
Comunicação Sequencial
Comunicação não-Sequencial
Comunicação Confiável
Comunicação não-Confiável
Comunicação Orientada a conexão
Comunicação não-Orientada a conexão
Latência elevada (cabeçalho complexo)
Latência Baixa (cabeçalho Menor)
Estabelece um circuito virtual
Não estabelece um circuito virtual

                                                          
          Portas Lógicas

São Utilizadas portas lógicas para a comunicação dos protocolos TCP e UDP com as camadas superiores. As portas lógicas permitem o registro das diferentes seções que são estabelecidas através da rede.
Essas portas lógicas são usadas pelas aplicações de origem e são dinamicamente designadas pela maquina transmissora a deve ter uma numeração igual ou maior que 1024.
Os números 0 a 1023 são usadas para identificação das aplicações em que elas são identificadas.  
Exemplos:
FTP PORTA 21                                           TFTP PORTA 69
TELNET PORTA 23                                    POP3 PORTA 110
HTTP PORTA 80                                        SNMP PORTA 161
DNS PORTA 53
           
Essas são algumas portas lógicas dos protocolos TCP/UDP
A seção da aplicação que não tenha uma porta reservada é escolhida de forma aleatória. Dentro do intervalo 0 a 1023, essa numeração de porta é responsável pela identificação do protocolo ou aplicação origem e destino, em um segmento TCP ou UDP.
Os números de porta 0 a 1023 são predefinidos por uma RFC 1700.
            Os números de portas 1024 ou maior são usados pelas camadas superiores, estabelecendo seções com outros dispositivos e pelo protocolo TCP utilizando como endereço de transmissão e destino em um segmento TCP.

            A Camada Internet
        
         As duas principais funções para a existência da camada internet é o roteamento e disponibilização de uma interface de rede unificada para as camadas superiores. Nenhuma
outra camada tem essas funções.
            A Interface de rede unificada para as camadas superiores garante a operação de diferentes tipos de protocolos de acesso a rede. O protocolo de rede IP é o responsável por promover a operação de protocolos diferentes pelas camadas superiores. Todas as camadas Utilizam o protocolo IP.
            São basicamente quatro protocolos que existem na camada internet;
·        IP – Internet Protocol
·        ICMP – Internet Control Message Protocol
·        ARP – Address Resolution Protocol
·        RARP – Reverse resolution Protocol


O protocolo que define a camada internet e o protocolo IP no modelo DoD, os demais protocolos apenas o suportam. O protocolo IP na internet está em todo lado, ele interconectada toda a rede, só é possível porque todos os dispositivos na rede têm um endereço lógico chamado endereço IP que é atribuído pelo protocolo IP.
Ele efetua verificações de analise de endereço para cada pacote de dados em que recebe, em seguida utiliza a tabela de roteamento para decidir para qual rede o pacote deve ser enviado e seleciona a melhor rota. O IP recebe os segmentos na camada de transporte e os encapsula em pacotes ou datagramas. No destinatário o IP não remonta esses datagramas de volta em segmentos.
Cada datagrama recebe o IP da origem e do destino. São roteadores na camada 3 (rede) que tem a missão de processar os datagramas, e decidir sobre qual rota deve encaminhar o segmento/ datagrama.


 

            Essa figura representa o formato do cabeçalho ipv4.

·        Versão (Version) – numero da versão do protocolo, nesse caso IPV4.
·        HLEN – Comprimento do cabeçalho
·        Priority ou ToS (Type of Service)- Indica como o datagrama deve ser manipulado. Os 3 primeiros bits definem a prioridade.
·        Total Lenght – Comprimento total do pacote, incluindo o  cabeçalho.
·        Identificação (Identification) – Valor único para a identificação do pacote.
·        Flags Especifica se a fragmentação deve ou não ocorrer.
·        Frag offset – Prove a fragmentação e remontagem se um pacote de dados for muito extenso para ser colocado em um frame. Permite diferentes unidades máximas de transmissão. MTUs (Maximum Transmission Units)
·        TTL (Time to Live/Tempo de vida) – Esse valor se estabelece quando o pacote é gerado. É o tempo de vida de um pacote, estipulado por diferentes métricas. (Numero de Saltos, tempo e etc.) Quando um pacote não atinge o seu destino antes do timer TTL expirar, ele é descartado. Impedindo pacotes IPs de circularem continuamente pela internet, gerando loopings.
·        Protocol – Numero de porta lógica do protocolo de camada superior (Transporte). A porta TCP é 6 / UDP é 17 em hexadecimal. Essas portas lógicas usadas pelo protocolo IP, não tem ligação nenhuma com as portas TCP e UDP.
·        Header Checksum – Checagem de redundância (aplicada ao cabeçalho, apenas.)
·        Source IP address Endereço de IP de origem (32 bits)
·        Destination IP Address – Endereço IP de destino (32bits)
·        IP options – Campo utilizado em testes de rede. (debugging)
·        Data – Dados enviados pela camada superior. (transporte)

           
          Portas Logicas IP   

         A comunicação entre a camada internet e a camada Host to Host, Transporte é realizada  através de portas lógicas, igual e comunicação entre a camada de transporte e a camada de aplicação.
            O campo protocol orienta o protocolo IP para enviar os dados pela porta TCP (6). Outras opções que poderiam aparecer aqui seriam UDP (17), ICMP(1), IPV6(41), IGRP(9), entre outras. As portas são sempre representadas de forma hexadecimal.  


  




Nenhum comentário:

Postar um comentário