Escolar Documentos
Profissional Documentos
Cultura Documentos
Arquitetura TCP/IP
A arquitetura internet foi criada pelo Departamento de Defesa dos Estados Unidos, com o objetivo de se ter uma rede interligando vrias universidades e rgos do governo de maneira descentralizada (ARPANET), para evitar a sua destruio no caso de ocorrncia de uma guerra. Com o passar do tempo, esta idia inicial perdeu o sentido e a infraestrutura foi aproveitada para se tornar o que hoje a maior rede de computadores do mundo: a Internet. Os padres da internet no so criados por rgos internacionais de padronizao, como a ISO ou o IEEE, mas ela uma arquitetura muito aceita, sendo chamada por isso como padro "de facto", ao contrrio do modelo OSI, considerado padro "de jure". O corpo tcnico que coordena a elaborao de protocolo e padres da internet o IAB (Internet Activity Board). Qualquer pessoa pode criar um protocolo para ser utilizado pela rede internet. Para isto, basta que ela documente este protocolo atravs de um RFC (Request for Comments), que pode ser acessado na Internet. Estes RFC's so analisados pelos membros da IAB que podero sugerir mudanas e public-lo. Se aps seis meses da publicao no houver nenhuma objeo, este protocolo se torna um Internet Standard. A arquitetura internet se destaca pela simplicidade de seus protocolos e pela eficincia com que atinge o seu objetivo de interconectar sistemas heterogneos. Obs: cabe comentar aqui que por rede internet entende-se qualquer rede que utiliza os protocolos TCP/IP, enquanto que o termo Internet (com I maisculo) utilizado para designar a Internet (conjunto de redes baseada na ARPANET, com milhes de usurios em todo o mundo).
O IP um protocolo no orientado a conexo, cuja funo transferir blocos de dados denominados datagramas da origem at o destino, podendo passar inclusive por vrias subredes (a origem e o destino so hosts identificados por endereos IP). A operao no modo datagrama uma comunicao no confivel, no sendo usado nenhum reconhecimento fim a fim ou entre ns intermedirios, nem qualquer tipo de controle de fluxo. Nenhum mecanismo de controle de erro de dados utilizado, apenas um controle de verificao do cabealho, para garantir que os gateways encaminhem as mensagens corretamente. Algumas das principais caractersticas do protocolo IP so as seguintes: Servio de datagrama no confivel; Endereamento hierrquico; Facilidade de fragmentao e remontagem de pacotes; Campo especial indicando qual o protocolo de transporte a ser utilizado no nvel superior; Identificao da importncia do datagrama e do nvel de confiabilidade exigido; Descarte e controle de tempo de vida dos pacotes inter-redes no gateway. 3.1.2.1. Endereamento IP O roteamento dos datagramas atravs das sub-redes so feitos baseados no seu endereo IP, nmeros de 32 bits normalmente escritos como quatro octetos (em decimal), por exemplo 9.179.12.66. Devido ao fato de existirem redes dos mais variados tamanhos compondo a inter-rede, utiliza-se o conceito de classes de endereamento:
Figura 3.3: Formato dos Endereos IP Os endereos IP indicam o nmero da rede e o nmero do host, sendo que a classe A suporta at 128 redes com 16 milhes de hosts cada uma, a classe B 16384 redes com at 64 mil hosts cada uma, a classe C 2 milhes de redes com at 256 hosts cada uma e a classe D, onde um datagrama dirigido a um grupo de hosts. Os endereos a partir de 1111 esto reservados para uso futuro. A Internet utiliza a classe C para endereamento de suas redes e mquinas. Quando um novo provedor de acesso se conecta ela, ele recebe 256 endereos para serem utilizados pelos seus hosts (ou "usurios"). Como um provedor pode ter mais de 256 clientes, ele utiliza um esquema de alocao dinmica de IP, ou seja, quando o usurio se conecta ao provedor de acesso, ele recebe um endereo IP, podendo desta forma haver at 256 usurios conectados simultaneamente a um provedor de acesso.
3.1.2.2. Formato do Datagrama IP O protocolo IP recebe da camada de transporte mensagens divididas em datagramas de 64 kbytes cada um, sendo que cada um destes transmitido atravs da Internet, sendo ainda possivelmente fragmentados em unidades menores medida em que passam por sub-redes. Ao chegarem ao seu destino, so remontados novamente pela camada de transporte, de forma a reconstituir a mensagem original. O datagrama utilizado pelo protocolo IP consiste em um cabealho e um payload, sendo que o cabealho possui um comprimento fixo de 20 bytes mais um comprimento varivel (figura 3.4).
Figura 3.4: Cabealho IP O campo VERS identifica a verso do protocolo que montou o quadro. O campo HLEN informa o tamanho do quadro em palavras de 32 bits, pois este pode ser varivel. O campo SERVICE TYPE indica s sub-redes o tipo de servio que deve ser oferecido ao datagrama (por exemplo, para transmisso de voz digitalizada necessita-se mais de uma entrega rpida do que um controle rigoroso de erros, ao passo que para um servio de transferncia de arquivos, o tempo de entrega pode ser sacrificado para se obter um maior controle de erro). O campo TOTAL LENGTH armazena o comprimento total do datagrama (dados e cabealho), com um valor mximo de 65.536 bytes. O campo IDENTIFICATION possibilita ao host determinar a que datagrama pertence um fragmento recm-chegado (todos os fragmentos de um datagrama possuem o mesmo valor). O campo FLAGS composto de um bit no utilizado seguido por dois bits, DF e MF. O DF significa Don't Fragment e indica que os gateways no devem fragmentar este datagrama (por incapacidade do destino juntar novamente os fragmentos). MF significa More Fragments, e utilizado como dupla verificao do campo TOTAL LENGTH, sendo que todos os fragmentos, menos o ltimo possuem este bit setado. O FRAGMENT OFFSET informa a que posio no datagrama atual pertence o fragmento. O campo TIME TO LIVE um contador utilizado para se limitar o tempo de vida de um pacote. Quando o datagrama criado, este campo recebe um valor inicial, que decrementado toda vez que passa por um gateway. Quando este contador atinge o valor zero, isto indica que a rede est em congestionamento ou que o datagrama est em loop, e o datagrama descartado. O campo PROTOCOL indica o protocolo que gerou o datagrama e que deve ser utilizado no destino. O campo HEADER CHECKSUM utilizado pelos gateways para se fazer uma
verificao do cabealho (apenas do cabealho, no dos dados), para que o gateway no roteie um datagrama que chegou com o endereo errado. SOURCE IP ADRESS e DESTINATION IP ADRESS so, respectivamente, os endereos de host origem e destino. O campo IP OPTIONS usado para o transporte de informaes de segurana, roteamento na origem, relatrio de erros, depurao, fixao da hora e outras. O campo PADDING possui tamanho varivel e utilizado para se garantir que o comprimento do cabealho do datagrama seja sempre um mltiplo inteiro de 32 bits. Finalmente, o campo DATA transporta os dados do datagrama. 3.1.2.3. Roteamento O roteamento consiste no processo de escolha do caminho atravs do qual deve ser enviado o dado para o sistema destino. Caso o destino esteja localizado na mesma sub-rede, esta uma tarefa fcil. Porm quando o destino se encontra em um sub-rede diferente, a transmisso dos dados feita atravs de um gateway. O gateway faz o roteamento baseado no endereo IP de destino do datagrama. Se o gateway j estiver conectado rede para onde o dado deve ser enviado, o problema acabou. Porm, o gateway pode no estar ligado diretamente rede de destino. Neste caso, a partir da identificao da sub-rede, o endereo fsico do prximo gateway na rota obtido, atravs de processos de mapeamento. importante observar que o gateway utilizado em uma rede internet possui funcionalidades distintas das normalmente aplicadas a ele nas redes OSI. O roteamento pode, ento, ser dividido em dois tipos: roteamento direto: quando o destino do datagrama se encontra na mesma sub-rede; roteamento indireto: quando o destino se encontra em outra sub-rede, necessitando de um gateway para o roteamento; Para realizar o roteamento indireto, os gateways utilizam tabelas de roteamento, que armazenam informaes sobre como atingir cada sub-rede da rede internet. Uma tabela de roteamento possui, tipicamente, entradas do tipo (N,G), onde N um endereo IP (de destino) e G o endereo IP do prximo gateway a ser utilizado para se atingir N (figura 3.5):
Figura 3.5: Tabela de Roteamento Para diminuir o tamanho das tabelas de roteamento, existem algumas tcnicas a serem utilizadas. Por exemplo, pode-se utilizar rotas default (pr-estabelecidas) para quando no se encontra referncia na tabela sobre uma determinada rota. Este caso se aplica tipicamente para redes que possuem um nico gateway, como por exemplo, departamentos
de uma universidade ligados ao backbone por apenas um gateway. Ao invs de se ter uma rota para cada sub-rede, utiliza-se a rota default. 3.1.2.3.1. Algoritmos de Roteamento Um algoritmo de roteamento a parte do software da camada de rede que tem por objetivo decidir sobre qual linha de sada um pacote que chega deve ser transmitido. Para uma rede que trabalha com datagrama, a deciso deve ser tomada para cada pacote de dados que chega. J para a rede que trabalha com circuitos virtuais, a deciso de roteamento deve ser tomada apenas quando se estabelece um circuito virtual. Quando uma mquina M tem um datagrama a ser enviado, ela deve executar os seguintes passos: retirar do datagrama o endereo IP do destinatrio (IPD); a partir do IPD obter o id.rede da sub-rede de destino (IRD); caso o IRD corresponda a uma rede na qual a mquina M est diretamente conectada, enviar o datagrama diretamente a IPD (roteamento direto); seno, se IRD aparece na tabela de roteamento, rotear o datagrama como especificado na tabela; seno, se foi especificado um gateway pr-definido na tabela de roteamento, rotear o datagrama conforme especificado na tabela; seno, indicar situao de erro utilizando, por exemplo, o protocolo ICMP. Existem basicamente dois tipos de algoritmos utilizados em redes internet: Vetor-Distncia e Estado-do-Enlace, porm no nos compete entrar em detalhes sobre eles neste momento. Mais detalhes sobre algoritmos de roteamento podem ser encontrados em [Tanenbaum 94]. 3.1.2.4. Fragmentao e Remontagem de Datagramas Como os datagramas IP atravessam redes das mais diversas tecnologias, os tamanhos dos quadros nem sempre devem ser os mesmos. Portanto deve haver uma certa flexibilidade em termos de tamanho de pacote a ser transmitido, de forma a este pacote se adaptar sub-rede que vai atravessar. Esta flexibilidade se d atravs da facilidade de fragmentao e remontagem de datagramas. Quando for necessrio transmitir um datagrama maior do que o suportvel pela rede, devese particionar o pacote em fragmentos. Estes fragmentos so transportados como se fossem datagramas independentes. Para poder recompor o datagrama original no destino, so utilizados alguns campos do cabealho do datagrama, conforme visto em 3.1.2.2. Quando o destino recebe o primeiro fragmento, inicia-se uma temporizao para se aguardar o conjunto completo dos fragmentos que compem o datagrama. Caso um dos fragmentos no chegue durante este intervalo, o datagrama descartado, acarretando em uma perda de eficincia.
Figura 3.6: Servios orientados e no orientados conexo No caso da figura acima, a mquina A quer se comunicar com a mquina B atravs de uma rede em anel utilizando TCP/IP. A nica conexo fsica que existe entre A e B atravs do anel, passando pelas mquinas C e D. A nvel de IP, a comunicao no orientada conexo, portanto muito simples enxergar que os dados possuem apenas dois caminhos para ir de A at B: atravs de C ou atravs de D. A nvel de TCP, porm, a comunicao entre os computadores A e B ocorre como se houvesse uma conexo direta entre eles. Isso implica que, se a nvel de IP os dados podem chegar fora de ordem, o TCP tem que garantir a ordenao destes dados, de forma que eles sempre chegem na ordem correta, como aconteceria se houvesse uma conexo fsica direta entre A e B.
Figura 3.8: Funcionamento do SMTP O SMTP enxerga a mensagem como que dividida em duas partes: o corpo e o cabealho. O corpo da mensagem onde so enviadas as mensagens propriamente ditas, sendo que o cabealho contm dados de endereamento, assunto da mensagem etc. O protocolo SMTP no prov mecanismos sofisticados de controle de envio e recebimento de mensagens, tais como notificaes, segurana de violao, criptografia dentre outros.
(com dados no formato ASCII ou EBCDIC) ou arquivos binrios (dados enviados como uma seqncia de bytes sem qualquer converso).
Figura 3.10: SNMP O gerenciamento de uma rede TCP/IP baseado na estrutura agente-gerente, onde o gerente faz as requisies das operaes a serem executadas sobre os recursos gerenciados. Estas requisies so enviadas ao agente, que executa as operaes sobre os objetos gerenciados (abstraes dos recursos gerenciados para o agente). Atravs de uma interface, estas operaes realizadas nos objetos gerenciados se refletem nos recursos gerenciados, e geralmente uma resposta enviada de volta ao gerente, completando a operao de gerenciamento. O protocolo SNMP baseado no paradigma conhecido como fecth-store (buscaarmazenamento), ou seja, todas as operaes previstas para este protocolo so derivadas de operaes bsicas de busca e armazenamento. Estas operaes bsicas incluem: get-request: leitura do valor de uma varivel; get-next-request: leitura do valor da prxima varivel;
get-response: resposta operao de leitura; set-request: gravao do valor de uma varivel; trap: notificao da ocorrncia de um evento especfico.
Segundo Marshall Rose, "o impacto do gerenciamento de rede adicionado para gerenciar os ns deve ser mnimo, refletindo o menor denominador comum. Cada n visto como tendo algumas variveis. Pela leitura dos valores destas variveis, o n monitorado. Alterando os valores destas variveis, o n controlado". Em decorrncia disto, os agentes SNMP so simples e executam operaes elementares, como estabelecer e obter valores das variveis. O programa que analisa, manipula, combina ou aplica algum algoritmo sobre os dados deve residir no gerente.
Figura 3.10: Comparao entre as arquiteturas OSI e TCP/IP O fato da arquitetura TCP/IP possuir menos camadas que o modelo OSI implica na sobrecarga de algumas camadas com funes que no lhe so especficas. Por exemplo, podemos citar a transferncia de arquivos: no ambiente TCP/IP, as funes correspondentes camada de apresentao OSI so desempenhadas pelo prprio protocolo de transferncia de arquivos FTP. Por outro lado, o TCP/IP nos fornece aplicaes simples, eficiente e de fcil implementao a nvel de produtos. Uma das maiores limitaes da arquitetura TCP/IP quanto a sua capacidade de endereamento, que j est se tornando limitada, devido ao crescimento da Internet. J a arquitetura OSI sofre crticas por apresentar "modelos e solues acadmicas" e objetivar atendimento a requisitos de propsito geral em detrimento de solues imediatas, compatveis com as exigncias atuais dos usurios. tambm criticada por no apresentar meios de migrao entre as arquiteturas atualmente em funcionamento e suas solues. Diante desta situao, observa-se atualmente um emergente esforo de aproximao entre as duas arquiteturas, objetivando-se aproveitar o que cada uma tem de melhor a oferecer, de forma a se encontrar solues mistas.