Baixe o app para aproveitar ainda mais
Prévia do material em texto
Modelo TCP/IP O modelo de referência TCP/IP foi dividido em camadas bem definidas; cada camada realiza uma tarefa de comunicação. Para estudar uma tecnologia, é im- portante aprender a sua história. A Advanced Research and Projects Agency ou Agência de Pesquisas em Projetos Avançados, mais conhecida como ARPANET, é tida como a propulsora da internet atual. Ela foi uma rede de pesquisa criada pelo Departamento de Defesa dos Estados Unidos em 1969. De acordo com Tanenbaum (2003, p. 44), pouco a pouco, centenas de universidades e repartições públicas foram conectadas, usando linhas tele- fônicas dedicadas. Quando foram criadas as redes de rádio e satélite, começaram a surgir problemas com os protocolos existentes, o que forçou uma nova arquitetura de referência. Mais tarde, essa arquitetura ficou conheci- da como modelo de referência TCP/IP, esse modelo foi definido pela primeira vez em 1974. O nome TCP/IP vem dos nomes dos protocolos mais utilizados deste modelo de referência, sendo eles, o Internet Protocol ou Protocolo de Internet, mais conhecido como IP. E o Transmission Control Protocol ou Protocolo de Controle de Transmissão, usualmente chamado de TCP. O modelo TCP/IP é dividido em camadas, os protocolos das várias camadas são denominados pilha de protocolos. Cada camada interage somente com as camadas acima e abaixo. Vejamos no Quadro abaixo o modelo de referência TCP/IP. O modelo OSI possui sete camadas, três camadas a mais que o modelo TCP/ IP. Segue no Quadro abaixo, a comparação do modelo TCP/IP com modelo OSI. OBS: Alguns livros citam que o modelo TCI/IP possui cinco camadas; outros citam que existem quatro camadas. Essa diferença está relacionada à camada de Host/ Rede; alguns autores as dividem em outras duas camadas, sendo elas, física e enlace. Foi adotado neste caderno o modelo de quatro camadas Modelo OSI O Modelo OSI (criado em 1970 e formalizado em 1983) é um modelo de referência da ISO que tinha como principal objetivo ser um modelo standard, para protocolos de comunicação entre os mais diversos sistemas, e assim garantir a comunicação fim a fim. Esta arquitetura é um modelo que divide as redes de computadores em 7 camadas, de forma a se obter camadas de abstração. Cada protocolo implementa uma funcionalidade assinalada a uma determinada camada. O Modelo OSI permite comunicação entre máquinas heterogêneas e define diretivas genéricas para a construção de redes de computadores (seja de curta, média ou longa distância) independente da tecnologia utilizada. O conceito de layers ou camadas de software separa os módulos de um software em camadas, cada uma com sua contribuição para a execução do software. As camadas separam o código- fonte de forma lógica podendo gerar pacotes físicos, mas não implicam necessariamente em separação física, assim as camadas podem compartilhar CPU e até mesmo processos. Este modelo é dividido em camadas hierárquicas, ou seja, cada camada não usa as funções da própria ou da camada anterior, para esconder a complexidade e transparecer as operações ao usuário, seja ele um programa ou uma outra camada. As camadas são empilhadas na seguinte ordem: 7. Camada de aplicação; 6. Camada de apresentação; 5. Camada de sessão; 4. Camada de transporte; 3. Camada de rede; 2. Camada de enlace de dados; 1. Camada física. Camada de Aplicação A camada de aplicação é um termo utilizado em redes de computadores para designar a sétima camada do modelo OSI. É responsável por prover serviços para aplicações de modo a separar a existência de comunicação em rede entre processos de diferentes computadores. Também é a camada número cinco do modelo TCP/IP (quatro do modelo antigo) que engloba também as camadas de apresentação e sessão no modelo OSI. Na definição do Modelo OSI, foi definida que esta camada fizesse a comunicação entre a rede e os aplicativos instalados na máquina. Toda a comunicação de rede que a máquina fizer, deve ser primeiramente passada por esta camada. A camada de aplicação fornece os serviços "reais" de rede para os usuários. Os níveis abaixo da aplicação fornecem serviços de transporte de dados para o nível de aplicação, mas não fazem nenhum trabalho real para os usuários. Ela contém muitos protocolos que asseguram uma comunicação bem-sucedida entre a heterogeneidade da internet. Incluindo diversos protocolos, a camada de aplicação possui muitos protoco- los que não são mais utilizados. A dinâmica dessa camada é muito grande; são criados vários protocolos para suprir a necessidade do tráfego na rede; consequentemente, diversos protocolos deixam de ser utilizados. Estudaremos os principais protocolos da camada de aplicação. Seguem no Quadro 2.3 os principais protocolos da camada de aplicação e suas funções. Para acessar a internet é necessário um browser ou navegador; podemos utilizar o Mozilla, Internet Explorer, Google, Safári, etcd. As páginas da web são requisitadas por meio do protocolo HTTP ao digitar a URL no navegador. Os programas se comunicam com a camada de Aplicação. A Uniform Resource Locator ou Localizador Padrão de Recursos, URL. Normalmente é um link de uma página na internet, por exemplo, http://www.unama.br. A URL; também pode indicar o caminho em uma rede. Portas de comunicação Os protocolos precisam de uma porta para se conectar, ou seja, é utilizado um canal virtual para a transmissão dos dados. De acordo com Scrimger et al. (2002, 102), a maioria dos sistemas operacionais mantém um arquivo que contém os números de porta e seus serviços correspondentes. “Entretanto, os valores de um número de porta podem variar, dependendo da plataforma de hardware ou software na qual o software do TCP é executado”. A Internet Assigned Numbers Authory ou Autoridade de Atribuição de Números da Internet (IANA) é responsável pela coordenação global do DNS raiz, endereçamento IP, e os protocolos da internet (IANA, 2011). A IANA é responsável por endereçar os protocolos da internet. Seguem, no Quadro 2.4, alguns protocolos e suas respectivas portas de comunicação. Camada de Sessão A Camada de Sessão tem por objetivo o controle dos procedimentos de diálogo através da abertura e fechamento de sessões. A camada de Sessão inclui as seguintes funções, entre outras: Transferência de dados em ambas direções, normal ou expressa; Gerência de Token, permitindo às aplicações solicitar e transferir a primazia da comunicação ou de exercício de determinadas funções; Controle de Diálogo, permitindo às aplicações acordar a forma de diálogo, half duplex ou duplex; Quadro 2.4: Protocolos da camada de aplicação e suas respectivas portas padrão Protocolos da Camada de Aplicação Protocolo Porta HTTP 80 FTP 21 SMTP 25 IMAP 143 Telnet 23 SSH 22 DHCP 67 DNS 53 Sincronização e gerência de atividades, permitindo estratificar o diálogo, colocando títulos, subtítulos e marcas de delimitação. Camada de Apresentação A Camada de Apresentação é responsável pela sintaxe de dados, da mesma forma que a camada de Aplicação será pela semântica. Significa que a forma como os conteúdos serão manipulados pela Camada de Aplicação é montada e desmontada pela Camada de Apresentação. Os aspectos de criptografia, se necessários por questões de segurança da comunicação, são também de responsabilidade desta Camada. Camada de Transporte A camada de transporte, tanto no Modelo OSI quanto no Modelo TCP/IP, é a camada responsável pela transferência eficiente, confiável e econômica dos dados entre a máquina de origem e a máquina de destino,independentemente do tipo, topologia ou configuração das redes físicas existentes entre elas, garantindo ainda que os dados cheguem sem erros e na sequência correta. A camada de transporte é uma camada fim-a-fim, isto é, uma entidade (hardware/software) desta camada só se comunica com a sua entidade semelhante do host destinatário. A camada de transporte provê mecanismos que possibilitam a troca de dados fim-a-fim, ou seja, a camada de transporte não se comunica com máquinas intermediárias na rede, como pode ocorrer com as camadas inferiores. Esta camada reúne os protocolos que realizam as funções de transporte de dados fim-a-fim, ou seja, considerando apenas a origem e o destino da comunicação, sem se preocupar com os elementos intermediários. A camada de transporte possui dois protocolos que são o UDP (User Datagram Protocol) e TCP (Transmission Control Protocol). O protocolo UDP realiza apenas a multiplexação para que várias aplicações possam acessar o sistema de comunicação de forma coerente. TCP O principal motivo do sucesso das aplicações da internet é o protocolo TCP. Ele se adapta a diversas finalidades exigidas pelo usuário e suas aplicações. As principais características do TCP, de acordo com Scrimger et al. (2002) são a sua transferência de dados, robustez, controle de fluxo, multiplex, conexões lógicas e o fato de ser full duplex. Os termos estão descritos abaixo: • Transferência de fluxo de dados: uma aplicação pode confirmar se todos os segmentos transferidos pelo TCP alcançaram seu destino previsto e obter retorno sobre o sucesso dessa operação. • Robustez: o TCP do receptor agrupa os segmentos caso eles cheguem fora de ordem. • Controle de fluxo: o receptor, à medida que recebe os segmentos, envia uma mensagem confirmando a recepção. • Multiplex: uso paralelo das portas de comunicação. O protocolo TCP é orientado à conexão. Permite a entrega confiável dos dados, elimina segmentos duplicados e recupera dados corrompidos. Ele é um protocolo confiável e seguro. O protocolo UDP não é orientado à conexão. Sua entrega não é confiável, não elimina pacotes duplicados e não faz o controle de dados corrompidos. • Conexões lógicas: são identificadas pelo processo transmissor e receptor, pela combinação dos mecanismos TCP. • Full duplex: a transferência de dados pode ser simultânea em ambas as direções. O processo de encaminhamento de pacotes TCP é mais lento do que o UDP. Mas, quando se necessita de garantia e ordenação na entrega dos segmentos, a melhor opção e o TCP. UDP O protocolo UDP não utiliza confirmação para se certificar que os datagramas chegaram ao seu destino, não ordena as mensagens que chegam. Assim, os datagramas UDP podem ser perdidos, duplicados ou chegar fora de ordem. De acordo com Comer (2006, p. 114), o protocolo UDP fornece serviço de entrega sem conexão e não é confiável quando usa o IP para transportar datagramas entre as máquinas. Um programa aplicativo que usa UDP aceita responsabilidade total por lidar com problemas de confiabilidade; porém, o UDP é uma ótima escolha para o fluxo de dados em tempo real, como vídeo, voz e jogos. Por não criar conexões durante uma conexão UDP ela troca menos informações do que o protocolo TCP. O processo de encaminhamento de datagramas UDP é mais rápido do que o do TCP; muitos programas o utilizam. Os mais famosos são os programas peer to peer, que compartilham arquivos na rede e gerenciadores de download; normalmente, eles podem ser configurados para utilizar UDP, TCP ou ambos. Com a ativação do UDP, a taxa de transferência de dados aumenta na rede. Camada de Rede Na comunicação entre as redes é necessário de alguns requisitos para fornecer conectividade e seleção de caminho entre transmissor e receptor. Na camada de enlace, a comunicação é possível, pois transmissor e receptor estão na mesma rede. Já na camada de rede uma comunicação entre ambos é realizada host a host, ou seja, numa rede com diversos roteadores a comunicação é feita através de pares de roteadores. O modelo utilizado na Internet é uma rede de datagramas onde a comunicação entre sistemas finais não requer estabelecimento de conexão (circuito virtual) e não utiliza de forma exclusiva o meio de comunicação. Na figura acima é visto o modelo de datagrama onde não existe a garantia de que todos os pacotes seguirão o mesmo caminho, uma vez que os caminhos são baseados nas rotas configuradas nos roteadores. Tais rotas podem ser definidas de forma manual (rotas estáticas) ou configuradas automaticamente (protocolos de roteamento). No decorrer do curso, veremos as duas técnicas. No modelo TCP/IP a camada de rede recebe os serviços da camada de enlace e presta serviços para a camada de transporte. A lista de serviços oferecidos é: • Interconexão – prover conexão lógica entre diversas redes físicas heterogêneas (podem conter diferentes tecnologias de enlace, por exemplo, ATM e ethernet) de forma que as camadas superiores abstraiam o caminho percorrido. • Endereçamento – Prover a identificação de forma única de um host na rede ao qual faz parte seja esta rede uma LAN ou a Internet. • Roteamento – prover a escolha de rotas por onde os pacotes irão trafegar para que cheguem ao seu destino. Vale ressaltar que o P utiliza o conceito de datagrama. • Encapsulamento – encapsular pacotes recebidos de camadas superiores num datagrama. • Fragmentação – permite que um datagrama viaje por diferentes redes sem a preocupação com a tecnologia executadas. Assim, algumas vezes é necessário dividir os pacotes para se adaptar ao novo segmento de rede. O Internet Protocol, ou simplesmente IP, é um protocolo da camada de rede responsável pelo encaminhamento dos dados numa rede. Presta todos os serviços de rede (interconexão, roteamento, endereçamento, fragmentação e encapsulamento) para as camadas superiores. È o protoclo base da arquitetura internet e é utilizado por todos os serviços de aplicação como: páginas, e-mail, transferência de arquivos, gerência de redes, resolução de nomes, dentre outros. Formato IP: • Version: o Identifica a versão do protocolo IP usada no datagrama. o Datagramas recebidos com versões não conhecidas devem ser simplesmente ignorados. o A versão atual é a 4, mas já está em discussão a implementação da versão 6 do IP, o IPNg. • IHL: o Header Length, comprimento do cabeçalho IP em múltiplos de 4 bytes. o O tamanho variável permite o uso de campos opcionais, mas dificulta o processamento. Por isso, seu uso deve ser evitado. • Type of Service o Define a qualidade do serviço (QOS) desejada , mas... o É ignorado na maioria das implementações o Com o uso deste campo é possível escolher as prioridades de serviço para aplicações do tipo interativa, de transferência em massa ou de tempo real. • Total Length o Tamanho total, em bytes, do datagrama (ou de um fragmento), incluindo o cabeçalho. o Todos os hosts devem aceitar datagramas de, pelo menos, 576 bytes. O valor máximo a ser usado numa sub-rede pode ser negociado entre os hosts. • Identification o Usado na fragmentação de datagramas. • Flags o Usado na fragmentação de datagramas. • Fragment Offset o Usado na fragmentação de datagramas. • Time to Live o A cada nó (roteador) por onde o datagrama passa, este campo deve ser decrementado de uma unidade. o Os roteadores mais inteligentes podem decidir por decrementar um valor proporcional ao tempo despendido pelo datagrama em seus buffers. o Quando o valor do TTL chega a zero, o datagrama é descartado e umamensagem enviada ao emissor, através do protocolo ICMP. o O objetivo de toda esta operação é evitar que um erro nas tabelas de roteamento permita que alguns datagramas fiquem circulando eternamente pela rede. • Protocol o Identificador do protocolo usado na camada imediatamente acima. o Mais usados na internet: TCP: Stream confiável UDP: Datagrama com endereço de porta para usuário ICMP: Controle o Outros muito comuns: EGP: Roteamento TP4: Transporte classe 4 da ISSO RDP: Reliable Datagram Protocol • Header Checksum o Garante a integridade do cabeçalho IP. Caso haja erro o datagrama deve ser ignorado. o Não garante a integridade dos dados. • Source Address o Endereço de origem do datagrama. • Destination Address o Endereço destino do datagrama. • Options o Este campo pode ser usado para usar serviços extras. Apesar do nome, todas as implementações de IP devem suportar todas as opções. o Alguns exemplos de opções válidas: Source Routing: Especifica no datagrama qual a rota a ser seguida, retirando esta liberdade do roteador. Em geral é usado para testes de rede. Record Route: Anota a rota por onde o datagrama passou, roteador por roteador. Time Stamps: Além de anotar a rota, anota também o horário em cada ponto. Formato: 32 bits, milisegundos após meia-noite, em relação a GMT. Usado apenas como referência, uma vez que a sincronização de tempo entre os roteadores é muito difícil de ser realizada. • Padding o Complemento sem uso, para garantir que o cabeçalho tem um tamanho múltiplo de 4 bytes. Camada de Enlace A camada de enlace de dados ou camada de link de dados, é uma das sete camadas do modelo OSI. Esta camada detecta e, opcionalmente, corrige erros que possam acontecer na camada física. É responsável pela transmissão e recepção (delimitação) de quadros e pelo controle de fluxo. Ela também estabelece um protocolo de comunicação entre sistemas diretamente conectados. O objetivo básico da Camada de Enlace de Dados é assegurar a transferência confiável de dados entre sistemas conectados diretamente por um meio físico. O meio físico está frequentemente sujeito a ruídos e às interferências mais diversas, necessitando, desta forma que funções mais inteligentes venham a suprir suas limitações. A Camada de Enlace de Dados envolve tipicamente as seguintes funções: Ativação e desativação do Enlace de Dados; Supervisão e Recuperação em caso de anormalidades; Sincronização; Segmentação e delimitação das unidades de dados; Controle de erros e sequenciamento das unidades de dados; Controle de Fluxo. Camada Física A Camada Física define as características mecânicas, elétricas, funcionais e os procedimentos para ativar, manter e desativar conexões físicas para a transmissão de bits. As características mecânicas dizem respeito ao tamanho e forma de conectores, pinos, cabos, etc. que compõem um circuito de transmissão. As características elétricas especificam os valores dos sinais elétricos (nível de tensão e corrente) usados. As características funcionais definem o significado dado aos sinais transmitidos na camada física (por exemplo, transmissão, recepção, terra, etc.). Os procedimentos especificam as funções e protocolos necessários para a transmissão de bits. O bit é considerado, na transmissão serial, como a unidade de dados básica da Camada Física. Os protocolos da Camada Física devem ser independentes do meio de transmissão de modo que um dado terminal possa ser utilizado em diversos meios, como pares metálicos, fibra óptica ou rádio, por exemplo. A Figura abaixo ilustra a situação de retransmissores com diferentes meios físicos.
Compartilhar