MÓDULO 12 – Modelo de Referência TCP/IP A internet é conhecida como uma rede pública de comunicação de dados com o controle totalmente descentralizado, utiliza para isso um conjunto de protocolos TCP e IP, conhecidos como protocolo TCP/IP como base para a estruturação de sua comunicação e os seus serviços de rede. A arquitetura TCP/IP fornece protocolos que habilitam a comunicação de dados e define uma série de aplicações que contribui para o sucesso da arquitetura. Serviços mais conhecidos na internet: Protocolo SMTP e POP3 utilizados no correio-eletrônico; FTP – Utilizado na transferência de arquivo; NFS – Utilizado no compartilhamento de arquivo; TELNET e SSH – Emulação remota de terminais; HTTP – Acesso a informações de hipermídia. O conjunto de protocolos TCP/IP teve seu projeto construído especialmente para a internet, sua principal característica é de proporcionar a interligação entre diversos tipos de redes. Qualquer tecnologia de rede pode ser empregada, pois o protocolo TCP/IP é independente de infra-estrutura tanto física quanto lógica. A arquitetura TCP/IP é bem parecida com a arquitetura OSI, pois divide suas funções em camadas. No modelo TCP/IP as camadas são: Aplicação Transporte Inter-rede Rede 12.1 A camada de rede A camada de rede tem como principal função, o envio dos datagramas que são construídos pela camada de inter-rede, ela é responsável por realizar o mapeamento entre um endereço a nível de inter-rede para um endereço físico ou lógico de rede. Protocolos existentes na camada de rede: Protocolos de enlace OSI (Ethernet, Token-Ring, PPP, FDDI, HDLC) Protocolos com estrutura própria (ATM, X.25, Frame-Relay) As redes do tipo ponto-a-ponto constituídas pela interligação de dois computadores, não possuem na maioria das vezes um endereçamento a nível de rede, pois não existe a necessidade de identificar várias máquinas. 12.2 A camada inter-rede A camada inter-rede tem como principal função, realizar a comunicação através do protocolo IP. Ela permite que Hosts injetem pacotes na rede e garante que eles irão trafegar independentes até chegar ao seu destino. Eles poderão chegar em uma ordem diferente da que foi enviada, o que obriga as camadas superiores a organizá-los. O formato dos pacotes que são enviados são definidos utilizando o protocolo IP, e o protocolo IP realiza a função mais importante dessa camada que é a própria comunicação inter-rede. Para que isso seja possível, ela realiza a função de roteamento, que consiste no transporte de mensagens entre redes, e na decisão de qual rota uma mensagem deve seguir através da estrutura da rede até a chegada ao seu destino. O Protocolo IP utiliza a própria estrutura da rede localizada nos níveis inferiores, para a entrega de uma mensagem destinada a uma máquina que está na mesma rede. Quando a mensagem tem que ser entregue em máquinas que estão localizadas em redes distintas, são utilizadas as funções de roteamento com o auxilio de um roteador. Ele repassa a mensagem para o destino ou então repassa para outros roteadores, até que a mensagem chegue a seu destino. Protocolos existentes na camada de inter-rede: IP – Internet Protocol (Protocolo de transporte de dados) ICMP – Internet Control Message Protocol (Protocolo de controle de erro) IGMP – Internet Group Manegment Protocol (Protocolo de controle de grupo de endereços) 12.3 A camada de transporte A camada de transporte está localizada acima da camada de inter-rede, tem como finalidade permitir que as entidades dos Hosts de origem e destino mantenham uma conversação. Dois protocolos fim a fim foram definidos na camada de transporte: Protocolo TCP (Transmission Control Protocol – Protocolo de controle de transmissão) : é um protocolo confiável e orientado a conexão, que permite a entrega sem erros de um fluxo de bytes de uma origem a qualquer computador, localizado em uma inter-rede. Tem como característica a fragmentação do fluxo de dados em pequenos pacotes de mensagens e passa para a camada de inter-rede. No destino, o protocolo TCP monta novamente o fluxo de dados com as mensagens recebidas. Além da fragmentação de mensagens, o TCP controla o fluxo de dados enviados, impedindo que um receptor lento seja sobrecarregado com um volume muito grande de dados enviados por um transmissor rápido. Protocolo UDP (User Datagram Protocol – Protocolo de datagrama do usuário): O UDP é um protocolo não orientado a conexão e não confiável, muito utilizado em aplicações que não requerem um controle de fluxo e nem a manutenção da seqüência em que as mensagens foram enviadas. As aplicações que utilizam o protocolo UDP necessitam de uma entrega imediata da mensagem, sendo mais importante que a entrega precisa. Como exemplos de entrega imediata temos as transmissões de áudio e vídeo. 12.4 A camada de aplicação A camada de aplicação reúne os protocolos que fornecem serviços de comunicação ao sistema e ao usuário. Como foi percebido, o modelo TCP/IP não possui as camadas de sessão e de apresentação, pois elas são pouco utilizadas na maiorias das aplicações. A camada de aplicação possui todos os protocolos de nível mais alto, sendo dividido nas seguintes categorias: Protocolos de serviços básicos: Fornece serviços que atendem as próprias necessidades do sistema de comunicação TCP/IP: DNS, BOOTP, DHCP. Protocolos de serviços para o usuário: FTP, TELNET, SMTP, POP3, IMAP, NFS, SNMP entre outros. 12.5 Diferenças entre o modelo OSI e o Modelo TCP/IP O Modelo TCP/IP possui uma série de diferenças se comparado ao modelo OSI, elas se encontram localizadas principalmente nos níveis de aplicação e interrede do modelo TCP/IP. Principais diferenças a serem citadas: O Modelo OSI oferece serviços orientados a conexão a nível da camada de rede, para que isso seja possível é necessária a utilização de equipamentos com inteligência adicional. No modelo TCP/IP a função de roteamento é bem simples, não necessitando da manutenção de informações complexas. As aplicações TCP/IP tratam os níveis superiores de forma monolítica, com isso o modelo OSI é mais eficiente pois permite o reaproveitamento de funções comuns a diversos tipos de aplicações. No TCP/IP cada aplicação é responsável por implementar suas necessidades de forma completa.