Você está na página 1de 27

REDES

Modelo TCP/IP Datagrama IP

Introduo Um computador interage com o mundo atravs de uma ou mais aplicaes que realizam tarefas especficas e gerenciam a entrada e sada de dados. Se esse computador parte de uma rede, algumas dessas aplicaes devem ser capazes de se comunicar com aplicaes em outros computadores da rede. Um conjunto de protocolos de rede um sistema de regras comuns que ajuda a definir o processo complexo de transferir dados. Os dados trafegam de uma aplicao em um computador, passam pelo hardware de rede do computador, pelo meio de transmisso at o destino correto e depois pelo hardware de rede do computador de destino at uma aplicao receptora. Os protocolos do TCP/IP definem o processo de comunicao da rede e, mais importante, definem como deve ser uma unidade de dados e quais informaes ela deve conter para que um computador receptor possa interpretar a mensagem corretamente. O TCP/IP e seus protocolos relacionados formam um sistema completo que define como os dados devem ser processados, transmitidos e recebidos atravs de uma rede TCP/IP.

Caractersticas do TCP/IP Endereamento lgico Um adaptador de rede possui um endereo fsico exclusivo e permanente que um nmero dado placa desde a fbrica. Em uma rede local, protocolos de baixo nvel, conscientes do hardware, fornecem dados pela rede fsica usando o endereo fsico do adaptador. Em uma rede Ethernet, por exemplo, um computador envia mensagens diretamente para o meio de transmisso. O adaptador de rede em cada computador ouve cada transmisso na rede local para determinar se uma mensagem est endereada para o seu prprio endereo. Em redes grandes, naturalmente, cada adaptador de rede no pode ouvir cada mensagem, pois no eficiente. Ento, os administradores de rede segmentam as redes usando dispositivos como roteadores a fim de reduzir o trfego na rede. Em redes roteadas, os administradores precisam de um meio de subdividir a rede em partes menores (chamadas sub-redes) e impor um projeto hierrquico para que uma mensagem possa trafegar de modo eficiente at o seu destino.

O TCP/IP oferece essa capacidade de sub-rede por meio de endereamento lgico. Um endereo lgico um endereo configurado por meio do software da rede. Em TCP/IP, o endereo lgico de um computador chamado endereo IP, formado pelo nmero de cdigo de rede, identificando um rede, nmero de cdigo de sub-rede, identificando uma sub-rede na rede e pelo nmero de cdigo de host, identificando o computador na sub-rede. A traduo do endereo lgico de e para endereo fsico feito atravs dos protocolos ARP (Address Resolution Protocol, traduz endereos IP em endereos fsicos) e RARP (Reverse Address Resolution Protocol, traduz endereos fsicos em endereos IP.) Roteamento Um roteador um dispositivo especial que pode ler informaes de endereamento lgico e direcionar os dados pela rede at o seu destino. Ele divide uma sub-rede local maior. Os dados endereados para a subrede local no atravessam o roteador e, portanto, no enchem as linhas de transmisso da rede maior. Se os dados forem endereados para um computador fora da rede, o roteador encaminhar os dados de acordo.

Servio de nome Embora o endereo IP numrico provavelmente seja mais facilitado ao usurio do que o endereo fsico pr-fabricado do adaptador de rede, o endereo IP ainda basicamente projetado para a convenincia do computador, e no para a convenincia do homem. As pessoas podem ter problemas ao tentarem lembrar se o endereo de um computador. O TCP/IP, portanto oferece uma estrutura paralela de nomes alfanumricos orientados para o homem, chamados nomes de domnio ou nomes DNS (Domain Name Service). O mapeamento de nomes de domnio para um endereo IP chamado traduo de nomes. Computadores especiais, chamados servidores de nomes, armazenam tabelas mostrando como mapear esses nomes de domnio de e para endereos IP. Os endereos do computador normalmente associados a e-mail e wold wide web so expressos como nomes DNS. O sistema do servio de nomes de TCP/IP oferece uma hierarquia de servidores de nomes que alimenta mapeamentos de nomes de domnio/endereos IP para computadores registrados no DNS na rede. Isso significa que o usurio raramente precisa informar ou decifrar um endereo IP real.

Verificao de erro e controle de fluxo O conjunto de protocolos TCP/IP oferece recursos que garantem o fornecimento confivel de dados pela rede. Esses recursos incluem verificao de erros de transmisso de dados e configurao do recebimento bem-sucedido de uma mensagem de rede. A camada Transport do TCP/IP define muitas dessas funes de verificao de erro, controle de fluxo e confirmao pra a rede interligada por meio do protocolo TCP. Mas os protocolos de nvel inferior na camada Network Access do TCP/IP tambm fazem parte do sistema geral de verificao de erros.

Suporte a aplicao
O conjunto de protocolos deve oferecer uma interface para aplicaes no computador, para que essas aplicaes possam acessar o software de protocolo e assim obter acesso rede. No TCP/IP, esta interface da rede para as aplicaes rodando no computador local realizada por meio de um sistema de canais lgicos chamados portas. Cada porta possui como canalizaes lgicas dentro do computador, por meio das quais os dados podem fluir de uma aplicao para o software do protocolo e vice-versa.

Como funciona o TCP/IP O TCP/IP um sistema ou conjunto de protocolos, e um protocolo um sistema de regras e procedimentos. Em sua maior parte, o hardware e software dos computadores que se comunicam executam as regras das comunicaes por TCP/IP. O sistema de protocolos do TCP/IP Um sistema de protocolos como TCP/IP deve ser capaz de realizar as seguintes tarefas: - Dividir mensagens em pedaos gerenciveis de dados que sero passados eficientemente pelo meio de transmisso; - Realizar interface com o hardware adaptador da rede; - Fazer o endereamento; - Fazer o roteamento; - Realizar a verificao de erros, controle de fluxo e confirmao; e - Aceitar dados fsicos de uma aplicao e pass-los para a rede.

Para realizar essas tarefas, os criadores do TCP/IP estabeleceram um projeto modular. O sistema de protocolos TCP/IP dividido em componentes separados que, teoricamente, funcionam de modo independente um do outro. Cada componente responsvel por uma parte do objetivo da comunicao em rede. O sistema de protocolos TCP/IP subdividido em componentes, que por sua vez so divididos em camadas, cada qual realizando tarefas especficas. Esse modelo surgiu nos primeiros dias do TCP/IP, e costuma ser chamado de modelo TCP/IP. O modelo de quatro camadas que ser apresentado o modelo mais comum, mas no o nico: Camada Application, Camada Transport, Camada Internet e Camada Network Access. Camada Network Access (acesso rede) Oferece uma interface com a rede fsica. Formata os dados para o meio de transmisso e enderea os dados para a sub-rede, com base nos endereos de hardware fsico. Oferece verificao de erro para os dados entregues na rede fsica. So responsabilidades dessa camada:

32 bits
Version Time to live IHL Indentification Protocol Source address Destination Address Type of service DF Total Length Fragment offset Header checksum

~ ~

Options

~ ~

Camada Internet Oferece endereamento lgico, independente do hardware, para que os dados possam passar entre as sub-redes com diferentes arquiteturas fsicas. Oferece o roteamento para reduzir o trfego e o suporte para a interligao de redes. Relaciona os endereos fsicos, usando a camada Network Access, aos endereos lgicos. Aqui residem trs protocolos-chaves que so IP, ARP e ICMP e dois outros protocolos menores que so: RARP e IGMP. Cada um desses protocolos possui uma finalidade especfica. Camada Transport Oferece servios de controle de fluxo, verificao de erro e confirmao para interligao de redes. Serve de interface para as aplicaes de rede. A camada Internet do TCP/IP est repleta de protocolos teis eficientes do fornecimento das informaes do endereamento necessrias para que os dados possam fazer sua viagem pela rede. No entanto, o endereamento e o roteamento so apenas parte da figura. Os desenvolvedores do TCP/IP sabiam que precisavam de outra camada acima da camada Internet, que cooperasse com o IP oferecendo recursos adicionais necessrios. Especialmente, eles desejavam que os protocolos da camada Transporte oferecessem o seguinte:

- Uma interface para aplicaes de rede, que um modo de as aplicaes acessarem a rede. Os projetistas queriam a capacidade de apontar os dados no apenas para um computador de destino, mas para uma aplicao em particular rodando no computador de destino; - Um mecanismo para multiplexao/demultiplexao. A multiplexao, nesse caso, significa aceitar dados de vrias entradas e direcion-los para uma nica sada. Em outras palavras, a camada Transport deve ser capaz de aceitar simultaneamente vrias aplicaes de rede e gerenciar o fluxo de dados para a camada Internet. No lado receptor, a camada Transport deve aceitar os dados da camada Internet e direcion-los para vrias sadas (as aplicaes de rede). Isso conhecido com demultiplexao. Outro aspecto da multiplexao/demultiplexao que uma nica aplicao pode manter conexes com mais de um computador simultaneamente; e - Verificao de erro, controle de fluxo e verificao. O sistema de protocolo precisa de um esquema geral garantindo a entrega dos dados entre as mquinas emissora e receptora. Camada Application Oferece aplicaes para diagnsticos de rede, transferncia de arquivo, controle remoto e atividades da Internet. Tambm oferece suporte para as APIs da rede, que permitem que os programas escrito para um ambiente operacional em particular acessem rede.

A camada Application do TCP/IP na realidade uma variedade de componentes de software cientes da rede, que enviam e recebem informaes de e para as portas TCP e UDP. Esses componentes da camada Application no so realmente paralelos no sentido de serem logicamente semelhantes ou equivalentes. Alguns dos componentes da camada Application so utilitrios simples que coletam informaes sobre a configurao da rede. Outros componentes da camada Application pode ser um sistema de interface com o usurio ou uma API (Application Program Inteface), como NetBIOS, que aceita um ambiente operacional de desktop. Alguns componentes da camada Application oferecem servios para a rede, como: - Servios de arquivo e impresso: so dois servidores, sendo um que opera uma impressora e o outro opera um dispositivo de armazenamento de dados, como um disco rgido, e atende aos pedidos para ler ou gravar dados nesse dispositivo. - Servios de traduo de nomes: um processo de mapear endereos IP. - Servios de redirecionador: chamado de solicitante ou shell.

Pacotes de dados O pacote de dados parece diferente em cada camada, e em cada camada ele possui um nome diferente. Os nomes dos pacotes de dados criados em cada camada so os seguintes: - O pacote de dados criado na camada Application chamado de mensagem. - O pacote de dados criado na camada Transport, que encapsula a mensagem da camada Application, chamado segmento se vier do protocolo TCP da camada Transport. Se o pacote de dados vier do protocolo UDP da camada Transport, ele ser chamado de datagrama. - O pacote de dados na camada Internet, que encapsula o segmento da camada Transport, chamado de datagrama. - O pacote de dados na camada Network Access, que encapsula e pode subividir o datagrama, chamado de frame. Esse frame e ento transformado em um fluxo de bits na subcamada mais inferior da camada Network Access.

Conceitos Importantes
Conceitos de protocolos baseados em conexo e sem conexo, portas e soquetes e multiplexao so importantes para o entendimento. - Um protocolo baseado em conexo estabelece e mantm uma conexo entre os computadores se conectando e monitora o estado dessa conexo durante a transmisso. Em outras palavras, cada pacote de dados enviado pela rede recebe uma confirmao, e a mquina emissora registra informaes de status para garantir que cada pacote seja recebido sem erros. No fim da transmisso, os computadores emissor e receptor educadamente encerram a conexo. - Um protocolo sem conexo envia um datagrama unidirecional ao destino e ao se preocupa em notificar oficialmente a mquina de destino que os dados estao a caminho. A mquina de destino recebe os dados e no se preocupa em retornar informaes de status para o computador de origem. Porta um endereo interno redefinido que serve como uma via da aplicao. - Soquete um endereo formado pela concatenao do endereo IP com o nmero de porta. - Multiplexao e o ato de tranar a entrada de vrias origens em um nica sada, e a demuliplexao o ato de receber entrada de uma nica origem e entreg-la a vrias sadas.

A multiplexao/demultiplexao permite que os nveis inferiores da pilha TCP/IP processem dados sem considerar qual aplicao iniciou esses dados. Todas as associaes com a aplicaa de origem so definidas na camada de transport, e os dados passam de e para a camada internet em um nico conduto, independente da aplicao. Se o TCP/IP no oferecesse a multiplexao/demultiplexao, somente uma aplicao poderia usar o software de rede ao mesmo tempo e somente um computador poderia se conectar a uma determinada aplicao ao mesmo tempo.

TCP/IP e o modelo OSI O mercado de redes possui um modelo padro de sete camadas para a arquitetura de protocolos de rede, chamado OSI. O modelo OSI representa um esforo da ISO para padronizar o projeto dos sistemas de protocolos de rede a fim de promover a interconectividade e abrir o acesso aos padres de protocolo para os que desenvolvem software. O TCP/IP j estava em desenvolvimento quando apareceu a arquitetura padro OSI. E os dois modelos tiveram objetivos semelhantes, e havia interao suficiente entre os projetistas desses padres para que ambos surgissem com uma certa compatibilidade. O modelo OSI tem influenciado bastante no crescimento e no desenvolvimento de implementao de protocolo, sendo bastante comum para ver a terminologia OSI aplicada ao TCP/IP.

Observe a figura:

TCP/IP
Camada Application

OSI
Camada Application Camada Presentation Camada Session Camada Transport Camada Network Camada Data Link Camada Physical

Camada Transport Camada Internet Camada Network Access

Essa subdiviso aumenta a complexidade, mas tambm oferece mais flexibilidade aos desenvolvedores, objetivando as camadas do protocolo para servios mais especficos.

Viso geral das redes TCP/IP


Os dados passam por uma aplicao TCP/IP ou a partir de uma interface de programa de aplicao da rede, uma porta TCP ou UDP e chegam a um dos dois protocolos da camada Transport (TCP ou UDP). Os programas podem acessar a rede por meio do TCP ou do UDP, dependendo dos requisitos do programa. - TCP um protocolo orientado para conexo. Os protocolos orientados para conexo oferecem controle de fluxo e verificao de erro mais sofisticados do que os protocolos sem conexo. O TCP faz o mximo para garantir a entrega dos dados. O TCP mais confivel do que o UDP, mas a verificao de erro e o controle de fluxo adicional significa que TCP mais lento que UDP. - UDP um protocolo sem conexo. Ele mais rpido do que TCP, mas no to confivel. UDP deixa mais responsabilidades de verificao de erros para a aplicao. O segmento de dados passa para o nvel Internet, onde o protocolo IP oferece as informaes de endereamento lgico e encerra os dados em um datagrama. O datagrama IP entra na camada Network Access, passa para os componentes do software preparados para fazer a interface com a rede fsica. A camada Network Access cria um ou mais frames de dados destinados entrada de rede fsica. No caso de um sistema de LAN como Ethernet, o frame pode conter informaes de endereo fsico obtidas em tabelas de pesquisas mantidas por meio dos protocolos ARP e RARP da camada Internet. O frame de dados convertido para um fluxo de bytes que transmitido pelo meio da rede. Naturalmente, existem inmeros detalhes descrevendo cada protocolo conseguem realizar suas tarefas associadas.

Estudo de caso
O sistema operacional Windows inclui suporte a vrios protocolos de rede. Se a placa de rede for detectada, durante a instalao do sistema operacional Windows 98, o TCP/IP instalado automaticamente como seu protocolo padro. A pessoa que instala normalmente faz algumas escolhas, sendo que a primeira delas se a mquina receber seu endereo IP de um servidor DHCP. Um servidor DHCP um computador que pode configurar automaticamente outros computadores com informaes do TCP/IP. Se o instalador escolher receber os parmetros de configurao IP de um servidor DHCP, as escolhas de configurao estaro completas e a instalao do TCP/IP continuar. Se o usurio escolher configurar o TCP/IP manualmente, ser apresentada uma tela onde so informados os parmetros de endereo IP, a mscara de sub-rede e, opcionalmente, gateway padro. Supondo que o TCP/IP esteja instalado, configurado corretamente e operando, voc usar o TCP/IP indiretamente. Por exemplo, com o FTP um usurio transfere arquivos entre dois computadores em uma rede TCP/IP, independente do tipo de computador ou sistemas operacionais em uso. Um usurio utiliza programas de aplicaes como navegadores de Web ou pacotes de e-mail. Essas aplicaes tambm utilizam o TCP/IP para se comunicarem com um segundo programa, o servidor. Assim como esses exemplos, existem outros de conectividade como Ping, usado para determinar se o host local capaz de trocar datagramas com outro host, envio e recebimento de pacotes.

Datagrama IP Um datagrama IP a unidade bsica de dados no nvel IP e consiste em uma parte de cabealho e uma parte de texto. O cabealho tem uma parte fixa de 20 bytes e uma parte opcional de tamanho varivel. Ele transmitido em uma ordem big endian: da esquerda para a direita, com o bit de mais alta ordem do campo Version aparecendo primeiro. (O SPARC um big endian; o Pentium um little endian.) Nas mquinas little endian, necessria a converso de software na transmisso e na recepo. O campo Version controla a verso do protocolo qual o datagrama pertence. Incluindo-se a verso em cada datagrama, possvel verificar a transio entre as verses, o que pode levar meses ou at mesmo anos, com algumas mquinas executando a verso antiga e outras executando a nova verso. Como o tamanho do cabealho no constante, existe um campo no cabealho, IHL, que informa seu tamanho em palavras de 32 bits. O valor mnimo 5, quando no h nenhuma opo presente. O valor mximo desse campo de 4 bits 15, o que limita o cabealho a 60 bytes, e o campo Options a 40 bytes. Para algumas opes, como a que registra a rota percorrida pelo pacote, 40 bytes muito pouco, o que torna a opo intil.

O campo Type of service um dos poucos campos que tiveram seu significado modificado ao longo dos anos. Ele foi e ainda destinado a distinguir entre diferentes classes de servio. So possveis vrias combinaes de confiabilidade e velocidade. Em se tratando de voz digitalizada, a entrega rpida vence a entrega segura. Para a transferncia de arquivos, uma transmisso sem erros mais importante do que uma transmisso rpida. Originalmente, o campo de 6 bits continha (da esquerda para a direita) um campo Precedence de 3 bits e trs flags, D, T e R. O campo Pecedence tinha uma prioridade que variava de 0 (normal) a 7 (pacote de controle de rede). Os 3 bits de flags permitiam que o host especificasse o que era mais importante no conjunto {Retardo, Throughput, Confiabilidade}. Teoricamente, esses campos permitem que os roteadores optem, por exemplo, entre um enlace de satlite com alto throughput, mas com grande retardo ou uma linha dedicada com baixo throughput e baixo retardo. Na prtica, os roteadores atuais ignoram completamente o campo Type of service. Mais tarde, a IETF resolveu alterar ligeiramente o campo para acomodar servios diferenciados. Seis dos bits so usados para indicar a que classe de servio, dentre as classes discutidas antes, pertence cada pacote. Essas classes incluem as quatro prioridades de enfileiramento, trs probabilidades de descarte e as classes histricas.

O campo Total length inclui tudo o que h no datagrama cabealho e dados. O tamanho mximo de 65535 bytes. Atualmente, esse limite superior tolervel, mas com as futuras redes de gigabits sero necessrios datagramas maiores. O campo Identification necessrio para permitir que o host de destino determine a qual datagrama pertence um fragmento recm-chegado. Todos os fragmentos de um datagrama contm o mesmo valor de Identification. Em seguida, h um bit no-utilizado e dois campos de 1 bit. DF significa Dont Fragment (no fragmentar). Trata-se de uma ordem para os roteadores no fragmentarem o datagrama, porque a mquina de destino incapaz de juntar os fragmentos novamente. Por exemplo, quando um computador reinicializado, sua ROM solicita que uma imagem de memria seja enviada a ela como um nico datagrama. Marcando-se o datagrama com o bit DF, o transmissor sabe que ele chegar num nico fragmento, mesmo que isso signifique que o datagrama deve evitar uma rede de pacotes pequenos que esteja no melhor caminho, e seguir por uma rota menos adequada. Todas as mquinas so obrigadas a aceitar fragmentos de 576 bytes ou menos. MF significa More Fragment (mais fragmentos). Todos os fragmentos, exceto o ltimo, tm esse conjunto de bits, necessrio para se saber quando chegaram todos os fragmentos de um datagrama.

O campo Fragment offset informa a que ponto do datagrama atual o fragmento pertence. Todos os fragmentos de um datagrama, com exceo do ltimo, devem ser mltiplos de 8 bytes, a unidade elementar de fragmento. Como so fornecidos 13 bits, existem no mximo de datagrama igual a 65536 bytes, um a mais que o campo Total length. O campo Time to live um contador usado para limitar a vida til dos pacotes. Esse campo conta o tempo em segundos, permitindo uma vida til mxima de 255 s. Esse contador deve ser decrementado a cada hop e supe-se que ele seja decrementado diversas vezes quando estiver enfileirado durante um longo tempo em um roteador. Na prtica, ele simplesmente conta os hops. Quando o contador chega a zero, o pacote descartado e um pacote de advertncia enviado ao host de origem. Esse recurso evita que os datagramas fiquem vagando indefinidamente, algo que aconteceria se as tabelas de roteamento fossem danificadas. Quando tiver montado um datagrama completo, a camada de rede precisar saber o que fazer com ele. O campo Protocol informa a que processo de transporte o datagrama deve ser entregue. O TCP uma possibilidade, mas tambm h o UDP e alguns outros. A numerao dos protocolos se aplica a toda a Internet.

O campo Header checksum confere apenas o cabealho. Esse total de verificao til para a deteco de erros gerados por palavras de memria incorretas em um roteador. O algoritmo tem como objetivo somar todas as meias palavras de 16 bits medida que elas chegam, utilizando a aritmtica de complemento de 1 e depois calculando o complemento de 1 do resultado. Para os propsitos desse algoritmo, supomos que o campo Header checksum seja zero no momento da chegada. O uso do algoritmo mais eficaz do que uma soma normal. Observe que Header checksum deve ser recontado a cada hop, porque pelo menos um campo sempre se altera (o campo Time to live), mas existem artifcios que podem ser usados para acelerar o clculo. Os campos Source address e Destination address indicam o nmero da rede e o nmero do host. O campo Options foi projetado para permitir que verses posteriores do protocolo incluam informaes inexistentes no projeto original, possibilitando a experimentao de novas idias e evitando a alocao de bits de cabealho para informaes raramente necessrias. Existem opes de tamanhos variveis. Cada uma comea com um cdigo de um byte identificando a opo. Algumas opes so seguidas por um campo de tamanho de opo de 1 byte e depois por um ou mais bytes de dados. O campo Options preenchido at alcanar um mltiplo de quatro bytes.

A opo Security mostra o nvel de segurana da informao. Teoricamente, um roteador militar poderia usar esse campo para especificar que no se deve seguir rotas que passam por certos pases que os militares consideram mal comportados. Na prtica, todos os roteadores a ignoram, pois a sua nica funo prtica ajudar os espies a descobrirem mais facilmente onde esto as melhores informaes. A opo Strict source routing fornece o caminho completo da origem ao destino como uma seqncia de endereos IP. O datagrama obrigado a seguir exatamente essa rota. Essa opo mais til principalmente para os gerentes de sistemas enviarem pacotes de emergncia quando as tabelas de roteamento esto danificadas ou para fazer medies de sincronizao. A opo Loose source routing exife que o pacote percorra uma lista de roteadores especficos, na ordem determinada, mas permite que ele passe por outros roteadores durante o percurso. Normalemente, essa opo forneceria um pequeno nmero de roteadores, a fim de forar um determinado caminho. A opo Record route informa aos roteadores ao longo do caminho que eles devem anexar seu endereo IP ao campo de opes. Isso permite que administradores de sistemas depurem algoritmos de roteamento. Por fim, a opo Timestamp semelhante opo Record route, exceto pelo fato de que, alm de registrar seu endereo IP de 32 bits, cada roteador tambm registra um timbre de hora de 32 bits. Essa opo tambm se destina, principalmente, depurao de algoritmos de roteamento.

Bibliografia: Redes de computadores. TANENBAU, Andre S. Editora Campus Aprenda em 24 horas TCP/IP. CASAD, Joe e WILLSEY, Bob. Editora Campus Redes de Computadores Curso Completo. TORRES, Gabriel. Axel books

DUVIDAS?