Você está na página 1de 27

O protocolo TCP

As caractersticas do protocolo TCP


O TCP (que significa Transmission Control Protocol, em portugus: Protocolo de Controlo de Transmisso) um dos principais protocolos da camada transporte do modelo TCP/IP. Permite, a nvel das aplicaes, gerir os dados em provenincia da (ou com destino ) camada inferior do modelo (quer dizer, o protocoloIP). Quando os dados so fornecidos ao protocolo IP, este encapsula-os em datagramas IP, fixando o campo protocolo em 6 (para saber que o protocolo ascendente TCP). O TCP um protocolo orientado para a conexo, quer dizer que permite, a duas mquinas comunicantes, controlar o estado da transmisso. As principais caractersticas do protocolo TCP so as seguintes:

TCP permite entregar ordenadamente os datagramas provenientes do protocolo IP TCP permite verificar a onda de dados para evitar uma saturao da rede TCP permite formatar os dados em segmentos de comprimento varivel a fim de os "entregar" ao protocolo IP TCP permite multiplexar os dados, quer dizer, fazer circular simultaneamente informaes que provm de fontes (aplicaes, por exemplo) distintas numa mesma linha TCP permite, por ltimo, o comeo e o fim de uma comunicao de maneira educada.

O objectivo do TCP
Graas ao protocolo TCP, as aplicaes podem comunicar de forma segura (graas ao sistema de avisos de recepo do protocolo TCP), independentemente das camadas inferiores. Isto significa que routers (que trabalham na camada Internet) tm como nico papel o encaminhamento dos dados sob a forma de datagramas, sem se preocuparem com o controlo dos dados, porque este realizado pela camada transporte (mais concretamente pelo protocolo TCP). Aquando de uma comunicao atravs do protocolo TCP, as duas mquinas devem estabelecer uma conexo. A mquina emissora (a que pede a conexo) chama-se cliente, enquanto a mquina receptora se chama servidor. Diz-se ento que estamos num ambiente Cliente-Servidor. As mquinas em tal ambiente comunicam em modo ligado, quer dizer que a comunicao se faz nos dois sentidos. Para permitir o bom desenrolar da comunicao e de todos os controlos que a acompanham, os dados so encapsulados, isto , juntamos ao pacote de dados um cabealho que vai permitir sincronisar as transmisses e assegurar a sua recepo.

Uma outra particularidade do TCP poder controlar o dbito dos dados graas sua capacidade para emitir mensagens de dimenso varivel: estas mensagens designam-se "segmentos".

A funo multiplexagem
O TCP permite efetuar uma tarefa importante: multiplexagem/desmultiplexagem, quer dizer fazer transitar numa mesma linha dados que provm de aplicaes diversas ou, por outras palavras, pr em srie informaes que chegam em paralelo. [Image: http://static.commentcamarche.net/pt.kioskea.net/pictures/internet-imagesmux.gif|230px|] Estas operaes so realizadas graas ao conceito de portas(ou sockets), quer dizer, um nmero associado a um tipo de aplicao que, combinado com um endereo IP, permite determinar de maneira nica uma aplicao que funciona numa dada mquina.

O formato dos dados em TCP


Um segmento TCP constitudo do seguinte modo :

0 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Porta Fonte Porta destino Nmero de ordem Nmero de aviso de recepo Desfasa reservada U A P R S F Janela mento R C S S Y I dados G K H T N N Soma de controlo Opes Dados Ponteiro de emergncia Enchimento

Significado dos diferentes campos:


Porta Fonte (16 bits): Porta relativa aplicao corrente na mquina fonte Porta Destino (16 bits): Porta relativa aplicao corrente na mquina de destino Nmero de ordem (32 bits): Quando a bandeira SYN 0, o nmero de ordem o da primeira palavra do segmento corrente.

Quando SYN 1, o nmero de ordem igual ao nmero de ordem inicial utilizado para sincronizar os nmeros de sequncia (ISN)

Nmero de aviso de recepo (32 bits): O nmero de aviso de recepo, igualmente chamado nmero de pagamento, corresponde ao nmero (de ordem) do prximo segmento esperado, e no o nmero do ltimo segmento recebido. Desfasamento dos dados (4 bits) : permite localizar o incio dos dados no pacote. O desfasamento aqui essencial, porque o campo de opes de dimenso varivel Reservadas(6 bits): Campo inutilizado actualmente, mas previsto para o futuro As bandeiras(flags) (6x1 bit): representam informaes suplementares: o URG: se esta bandeira for 1 o pacote deve ser tratado de maneira urgente. o ACK: se esta bandeira for 1 o pacote um aviso de recepo. o PSH (PUSH): se esta bandeira for 1, o pacote funciona de acordo com o mtodo PUSH. o RST: se esta bandeira for 1, a conexo reiniciada. o SYN: A Bandeira TCP SYN indica um pedido de estabelecimento de conexo. o FIN: se esta bandeira for 1, a conexo interrompe-se. Janela (16 bits): Campo permitindo conhecer o nmero de bytes que o receptor deseja receber sem aviso de recepo Soma de controlo : (Checksum ou CRC) : A soma de controlo realizada fazendo a soma dos campos de dados do cabealho, para poder verificar a integridade do cabealho Ponteiro de emergncia (16 bits): Indica o nmero de ordem a partir do qual a informao se torna urgente Opes (Dimenso varivel): Opes diversas Preencher : Preenche-se o espao que fica aps as opes com zeros, para ter um comprimento mltiplo de 32 bits

Fiabilidade das transferncias


O protocolo TCP permite assegurar a transferncia dos dados de maneira fivel, embora utilize o protocolo IP, que no integra nenhum controlo de entrega de datagrama. Na realidade, o protocolo TCP possui um sistema de aviso de recepo que permite ao cliente e ao servidor terem a certeza da recepo correcta e mtua dos dados. Aquando da emisso de um segmento, um nmero de ordem (chamado tambm nmero de sequncia) associado. Aquando da recepo de um segmento de dado, a mquina receptora vai devolver um segmento de dado cuja bandeira ACK 1 (para assinalar que se trata de um aviso de recepo), acompanhado de um nmero de aviso de recepo igual ao nmero de ordem precedente. Alm disso, graas a um cronmetro desencadeado a partir da recepo de um segmento a nvel da mquina emissora, o segmento reenviado assim que o tempo fixado esgotar, porque neste caso a mquina emissora considera que o segmento se perdeu

Contudo, se o segmento no se perder e chegar mesmo assim ao destino, a mquina receptora saber, graas ao nmero de ordem, que se trata de uma cpia e conservar apenas o ltimo segmento a chegar ao destino

Estabelecimento de uma ligao


J que este processo de comunicao, que se faz graas a uma emisso de dados e a um aviso de recepo, se baseia num nmero de ordem (chamado geralmente nmero de sequncia), necessrio que as mquinas emissoras e receptoras (cliente e servidor) conheam o nmero de ordem inicial da outra mquina. O estabelecimento da ligao entre duas aplicaes faz-se frequentemente de acordo com o esquema seguinte:

As portas TCP devem estar abertas A aplicao no servidor passiva, quer dizer que a aplicao est escuta, espera de uma conexo A aplicao no cliente faz um pedido de conexo ao servidor cuja aplicao est em abertura passiva. Diz-se que a aplicao do cliente est em abertura activa

As duas mquinas devem ento sincronisar as suas sequncias graas a um mecanismo chamado habitualmente three ways handshake (aperto de mos em trs tempos), que encontramos tambm aquando do encerramento de sesso. Este dilogo permite iniciar a comunicao e desenrola-se em trs tempos, como a sua denominao o indica:

Inicialmente a mquina emissora (o cliente) transmite um segmento cuja bandeira SYN de 1 (para assinalar que trata-se de um segmento de sincronizao), com um nmero de ordem NO., que chama-se nmero de ordem inicial do cliente Subsequentemente a mquina receptora (o servidor) recebe o segmento inicial que provem do cliente, seguidamente envia-lhe um acusado de recepo, quer dizer um segmento cuja bandeira ACK de 1 e a bandeira SYN de 1 (porque trata-se l ainda de uma sincronizao). Este segmento contem o nmero de ordem desta mquina (do servidor) que o nmero de ordem inicial do cliente. O campo mais importante deste segmento o campo acusado de recepo que contem o nmero de ordem inicial do cliente, incrementado de 1 Por ltimo, o cliente transmite ao servidor um acusado de recepo, quer dizer um segmento cuja bandeira ACK de 1, cuja bandeira SYN zero (no se age mais de um segmento de sincronizao). O seu nmero de ordem incrementado e o nmero de acusado de recepo representa o nmero de ordem inicial do servidor incrementado de 1

Sequncia esta sequncia que comporta trs trocas as duas mquinas synchronises e a comunicao pode comear! Existe uma tcnica de pirataria, chamada spoofing IP, permitindo corromper esta relao de aprovao fins maliciosos!

Mtodo da janela deslizando


Numerosos em casos, possvel limitar o nmero de acusados de recepo, a fim de descongestionar a rede, fixando um nmero de sequncia extremidade do qual acusado de recepo um necessrio. Este nmero com efeito armazenado no campo janela da rubrica TCP/IP. Chama-se certamente este mtodo mtodo da janela que desliza porque ele define-se em certa medida um garfo de sequncias que no tm necessidade de acusado de recepo, e esta desloca-se a medida que os acusados de recepo forem recebidos. De mais, a dimenso desta janela no fixa. Com efeito, o servidor pode incluir nos seus acusados de recepo armazenando no campo fenestra a dimenso da janela que lhe parece adaptado. Assim, quando o acusado de recepo indica um pedido de aumento da janela, o cliente vai deslocar o bordo direito da janela. Em contrapartida, no caso de uma diminuio, o cliente no vai deslocar o bordo direito da janela para a esquerda mas esperar que o bordo esquerdo avana (com a chegada dos acusados de recepo).

Fim de uma conexo


O cliente pode pedir a pr fim uma conexo assim como o servidor. O fim da conexo faz-se como segue ::

Uma das mquinas envia um segmento com a bandeira FIN 1, e a aplicao pe-se em estado de espera de fim, quer dizer que termina receber o segmento corrente e ignora os seguintes Aps recepo deste segmento, a outra mquina envia um acusado de recepo com a bandeira FIN 1 e continua expedir os segmentos correntes. Sequncia aquilo a mquina informa a aplicao que um segmento FIN foi recebido, seguidamente envia um segmento FIN outra mquina, que encerra a conexo

Protocolo de Internet
Protocolos Internet (TCP/IP) Camada Protocolo

5.Aplicao HTTP, SMTP, FTP, SSH, Telnet, SIP, RDP, IRC, SNMP, NNTP, POP3, IMAP, BitTorrent, DNS, Ping ... 4.Transporte TCP, UDP, RTP, SCTP, DCCP ... 3.Rede 2.Enlace IP (IPv4, IPv6) , ARP, RARP, ICMP, IPsec ... Ethernet, 802.11 WiFi, IEEE 802.1Q, 802.11g, HDLC, Token ring, FDDI, PPP,Switch ,Frame relay, Modem, RDIS, RS-232, EIA-422, RS449, Bluetooth, USB, ...

1.Fsica

Protocolo de Internet (em ingls: Internet Protocol, ou o acrnimo IP) um protocolo de comunicao usado entre duas ou mais mquinas em rede para encaminhamento dos dados.

Funcionamento
Os dados numa rede IP so enviados em blocos referidos como ficheiros (os termos so basicamente sinnimos no IP, sendo usados para os dados em diferentes locais nas camadas IP). Em particular, no IP nenhuma definio necessria antes do n tentar enviar ficheiros para um n com o qual no comunicou previamente. O IP oferece um servio de datagramas no confivel (tambm chamado de melhor esforo); ou seja, o pacote vem quase sem garantias. O pacote pode chegar desordenado (comparado com outros pacotes enviados entre os mesmos ns), tambm podem chegar duplicados, ou podem ser perdidos por inteiro. Se a aplicao requer maior confiabilidade, esta adicionada na camada de transporte. Os roteadores so usados para reencaminhar datagramas IP atravs das redes interconectadas na segunda camada. A falta de qualquer garantia de entrega significa que o desenho da troca de pacotes feito de forma mais simplificada. (Note que se a rede cai, reordena ou de outra forma danifica um grande nmero de pacotes, o desempenho observado pelo utilizador ser pobre, logo a maioria dos elementos de rede tentam arduamente no fazer este tipo de coisas - melhor esforo. Contudo, um erro ocasional no ir produzir nenhum efeito notvel.) O IP o elemento comum encontrado na Internet pblica dos dias de hoje. descrito no RFC 791 da IETF, que foi pela primeira vez publicado em Setembro de 1981. Este

documento descreve o protocolo da camada de rede mais popular e atualmente em uso. Esta verso do protocolo designada de verso 4, ou IPv4. O IPv6 tem endereamento de origem e destino de 128 bits, oferecendo mais endereamentos que os 32 bits do IPv4.

Formato do Cabealho do IPv4


+ 0-3 4-7 8 - 15 16 - 18 19 - 31

Verso

Tamanho do Tipo de Servio (ToS) cabealho (agora DiffServ e ECN)

Comprimento (pacote)

32

Identificador

Flags

Offset

64 Tempo de Vida (TTL)

Protocolo

Checksum

96

Endereo origem

128

Endereo destino

160

Opes

192

Dados

Verso - o primeiro campo do cabealho de um datagrama IPv4 o campo de verso, com quatro bits. IHL - o segundo campo, de quatro bits, o IHL (acrnimo para Internet Header Length, ou seja, Comprimento do Cabealho da Internet) com o nmero de palavras de 32 bits no cabealho IPv4. Como o cabealho IPv4 pode conter um nmero varivel de opes, este campo essencialmente especifica o offset para a poro de dados de um datagrama IPv4. Um cabealho mnimo tem vinte bytes de comprimento, logo o valor mnimo em decimal no campo IHL seria cinco. Tipo de servio - no RFC 791, os oito bits seguintes so alocados para um campo tipo de servio (ToS), agora DiffServ e ECN. A inteno original era para um n especificar uma preferncia para como os datagramas poderiam ser manuseados assim que circulariam pela rede. Por exemplo, um n pode definir o campo de valores do seu ToS dos datagramas IPv4 para preferir pequeno desfasamento de tempo, enquanto que outros podem preferir alta fiabilidade. Na prtica, o campo ToS no foi largamente implementado. Contudo, trabalho experimental, de pesquisa e desenvolvimento se focou em como fazer uso destes

oito bits. Estes bits tm sido redefinidos e mais recentemente atravs do grupo de trabalho do DiffServ na IETF e pelos pontos de cdigo do Explicit Congestion Notification (ECN) (RFC 3168.) Tamanho total - o campo de dezesseis bits seguinte do IPv4 define todo o tamanho do datagrama, incluindo cabealho e alemao loco, em bytes de oito bits. O datagrama de tamanho mnimo de vinte bytes e o mximo 64 Kb. O tamanho mximo do datagrama que qualquer n requer para estar apto para manusear so 576 bytes, mas os ns mais modernos manuseiam pacotes bem maiores. Por vezes, as subredes impem restries no tamanho, em cada caso os datagramas tm que ser "fragmentados". A fragmentao manuseada quer no n quer no comutador de pacotes no IPv4, e apenas no n no caso do IPv6. Identificador - o campo seguinte de dezesseis bits um campo de identificao. Este campo usado principalmente para identificar fragmentos identificativos do datagrama IP original. Alguns trabalhos experimentais sugerem usar o campo IP para outros propsitos, tais como adicionar pacotes para levar a informao para datagrama, de forma a que ajude a pesquisar datagramas para trs com endereos fonte falsificados. Flags - o campo de trs bits que segue usado para controlar ou identificar fragmentos. Offset - o campo offset do fragmento tem treze bits, e permite que um receptor determine o local de um fragmento em particular no datagrama IP original. Tempo de vida - um campo de oito bits, o TTL (time to live, ou seja, tempo para viver) ajuda a prevenir que os datagramas persistam (ex. andando aos crculos) numa rede. Historicamente, o campo TTL limita a vida de um datagrama em segundos, mas tornou-se num campo de contagem de ns caminhados. Cada comutador de pacotes que um datagrama atravessa decrementa o campo TTL em um valor. Quando o campo TTL chega a zero, o pacote no seguido por um comutador de pacotes e descartado. Protocolo - um campo de protocolo de oito bits segue-se, definindo o protocolo seguinte usado numa poro de dados de um datagrama IP. A Internet Assigned Numbers Authority mantm uma lista de nmeros de protocolos. Os protocolos comuns e os seus valores decimais incluem o ICMP (1), o TCP (6). Checksum - o campo seguinte um campo de verificao para o cabealho do datagrama IPv4. Um pacote em alemao loco alterado por cada comutador que atravesse. Um desses comutadores pode comprometer o pacote, e a verificao uma forma simples de detectar a consistncia do cabealho. Este valor ajustado ao longo do caminho e verificado a cada novo n. Envolve apenas verificao do cabealho (no dos dados).

Encapsulamento IP: O endereo de origem no cabealho IP indicar a quem dever ser enviada a resposta do protocolo encapsulado, neste caso o TCP.

Endereo de origem/destino - a seguir ao campo de verificao, seguem-se os endereo de origem e de destino, de 32 bits cada um. Note que os endereos IPv6 de origem e destino so de 128 bits cada. Opes - Campos do cabealho adicionais podem seguir o campo do endereo de destino, mas estes no so normalmente usados. Os campos de opo podem ser seguidos de um campo de caminho que assegura que os dados do utilizador so alinhados numa fronteira de palavras de 32 bits. (No IPv6, as opes movem-se fora do cabealho padro e so especificados pelo campo Next Protocol, semelhante funo do campo "Protocolo" no IPv4). A seguir, trs exemplos de opes que so implementadas e aceitas na maioria dos roteadores:

Security (especifica o nvel de segurana do datagrama (usado em aplicaes militares)), Timestamp (Faz com que cada roteador anexe seu endereo e sua marca temporal (32 bits), que serve para depurao de algoritmos de roteamento) e Record route (faz com que cada roteador anexe seu endereo).

Endereamento IPv4 e encaminhamento


Talvez os aspectos mais complexos do IP sejam o endereamento e o encaminhamento. O endereamento define como os endereos IP dos ns finais so atribudos e como as subredes dos endereos de IP dos ns so divididos e agrupados. O encaminhamento IP feito por todos os ns, mas mais comumente por roteadores de rede, que tipicamente usam os protocolos IGP ou EGP para ajudar na leitura de datagramas IP que reencaminhem decises atravs de IPs em redes ligadas. Na internet, e nas redes particulares que vemos hoje nas empresas ou mesmo nas residncias, o protocolo de comunicao usado pelos computadores chama-se IP - sigla para Internet Protocol. Criado no fim dos anos 70, o protocolo IP tem como "misso" no s fazer dois computadores "conversarem", mas tambm possibilitar a interligao de duas ou mais redes separadas. Com rarssimas excees, praticamente todas as redes do mundo acabaram, de uma forma ou de outra, sendo conectadas entre si e foi essa comunho de redes que acabou formando o que conhecemos hoje por internet (nome que, em portugus, pode ser traduzido por "inter-redes" ou "redes interligadas"). O protocolo IP possui um esquema de endereamento parecido com os nmeros de telefone. Assim como qualquer telefone, no mundo todo, nico (considerando o DDD e o cdigo de pas), cada computador ligado na internet possui um nmero nico, que chamado de endereo IP ou nmero IP. Esse nmero serve para identificar o computador na internet. Se voc precisar conversar com algum pela internet, basta mandar mensagens endereadas ao endereo IP do computador da pessoa. Para que um email da Alice saia de seu computador e chegue ao computador do Beto, por exemplo, preciso que os dados (no caso, o texto do email) sejam divididos em pacotinhos pequenos (chamados de pacotes IP) que possuem marcados dentro de si o endereo IP de origem (ou seja, o nmero nico do computador da Alice) e o IP de destino (o nmero nico do computador do Beto). A internet "se vira" para encontrar o caminho entre Alice e Beto, sem que nenhum dos dois precise se preocupar com isso. No entanto, o protocolo IP em sua verso atual (a verso quatro, rotulada como IPv4) j bastante antiga e tem muitos problemas. Os mais graves so falhas de segurana, que

periodicamente so descobertas e no tm soluo. A maioria dos ataques contra computadores hoje na internet s possvel devido a falhas no protocolo IP. A nova gerao do protocolo IP, o IPv6, resolve grande parte dos problemas de segurana da internet hoje, herdados justamente do projeto antiquado do IPv4. Mas o IPv4 tem um problema ainda mais premente do que sua inerente insegurana: j esgotou sua capacidade de expanso. Cada computador ligado internet - seja um computador pessoal, uma estao de trabalho ou um servidor que hospeda um site precisa de um endereo nico que o identifique na rede. O IPv4 define, entre outras coisas importantes para a comunicao entre computadores, que o nmero IP tem uma extenso de 32 bits. Com 32 bits, o IPv4 tem disponveis em teoria cerca de quatro bilhes de endereos IP mas, na prtica, o que est realmente disponvel menos da metade disso. Se contarmos que o planeta tem seis bilhes de habitantes e que cada dispositivo ligado na internet (o que inclui smartphones, PCs, notebooks e afins) precisa de um nmero s dele, fcil perceber que a conta no fecha. Esse nmero, sendo finito, um dia acaba. Em cima disso, os endereos IP so "travados" geograficamente. Dois endereos prximos esto necessariamente na mesma cidade ou regio. Se considerarmos que cerca de trs quartos dos endereos IP disponveis para a internet esto localizados nos Estados Unidos (mesmo que nunca usados), sobram apenas pouco mais de um bilho de endereos para o resto do mundo - aumentando ainda mais o problema de escassez. A entrada de celulares e outros dispositivos mveis (que so baratos e extremamente populares) na internet contribuiu para que o nmero de endereos IP disponveis seja ainda mais escasso. De fato, algumas previses do conta de que os endereos IP vo acabar por completo em 2012. O advento do IPv6, sexta verso do protocolo IP, resolveria todos esses problemas. Primeiro, porque d fim a praticamente todos os buracos de segurana conhecidos do IPv4, tornando as comunicaes muitssimo mais seguras. O IPv6 provavelmente ser uma dor de cabea sem tamanho para os hackers criminosos. Em segundo lugar, o IPv6 define 128 bits para endereamento, e portanto conta com cerca de 3,4 10^38 endereos disponveis (ou 340 seguido de 36 zeros). Para quem no quiser fazer a conta, basta saber que so muitos bilhes de quatrilhes de endereos disponveis, garantindo que no vai faltar nmeros IP para os humanos por milnios. Pelo "draft" inicial de um documento proposto pelo IETF - Internet Engineering Task Force, rgo responsvel pelo desenvolvimento tecnolgico da internet, a migrao de IPv4 para IPv6 deveria ter comeado em algum momento entre 2009 e 2010, com migrao total at o fim de 2011. O cronograma est atrasado. Google, Yahoo! e Facebook devem adotar o IPv6 em junho deste ano. Na Campus Party Brasil 2011, quarta edio brasileira do evento de inovao, criatividade e cultura digital, realizada em So Paulo de 17 a 23 deste ms, a Telefnica ofereceu aos campuseiros a oportunidade de se conectar internet com IPv6. A companhia vem testando a tecnologia h dois anos e espera poder oferec-la aos seus clientes ainda em 2011[1].

Endereo IP
O endereo IP, de forma genrica, um endereo que indica o local de um n em uma rede local ou pblica. Para um melhor uso dos endereos de equipamentos em rede pelas pessoas, utiliza-se a forma de endereos de domnio, tal como "www.wikipedia.org". Cada endereo de domnio convertido em um endereo IP pelo DNS. Este processo de converso conhecido como "resoluo de nomes".

Notao
O endereo IP, na verso 4 do IP (IPv4), um nmero de 32 bits oficialmente escrito com quatro octetos representados no formato decimal como, por exemplo, "192.168.1.3". A primeira parte do endereo identifica uma rede especfica na interrede, a segunda parte identifica um host dentro dessa rede. Devemos notar que um endereo IP no identifica uma mquina individual, mas uma conexo inter-rede. Assim, um gateway conectando n redes tem n endereos IP diferentes, um para cada conexo. Os endereos IP podem ser usados tanto para nos referir a redes quanto a um host individual. Por conveno, um endereo de rede tem o campo identificador de host com todos os bits iguais a 0 (zero). Podemos tambm nos referir a todos os hosts de uma rede atravs de um endereo por difuso, quando, por conveno, o campo identificador de host deve ter todos os bits iguais a 1 (um). Um endereo com todos os 32 bits iguais a 1 considerado um endereo por difuso para a rede do host origem do datagrama. O endereo 127.0.0.1 reservado para teste (loopback) e comunicao entre processos da mesma mquina. O IP utiliza trs classes diferentes de endereos. A definio de tipo de endereo classes de endereos deve-se ao fato do tamanho das redes que compem a inter-rede variar muito, indo desde redes locais de computadores de pequeno porte, at redes pblicas interligando milhares de hosts. Existe uma outra verso do IP, a verso 6 (IPv6) que utiliza um nmero de 128 bits. Com isso d para utilizar 25616 endereos diferentes. O endereo de uma rede (no confundir com endereo IP) designa uma rede, e deve ser composto pelo seu endereo (cujo ltimo octeto tem o valor zero) e respectiva mscara de rede (netmask).

Resolver
Os endereos da Internet so mais conhecidos pelos nomes associados aos endereos IP (por exemplo, o nome www.wikipedia.org est associado ao IP 208.80.152.130[1]). Para que isto seja possvel, necessrio traduzir (resolver) os nomes em endereos IP. O Domain Name System (DNS) um mecanismo que converte nomes em endereos IP e vice-versa. Assim como o endereamento CIDR, os nomes DNS so hierrquicos e permitem que faixas de espaos de nomes sejam delegados a outros DNS.

Classes de endereos

Os nmeros de rede e de host para as classes A, B e C Originalmente, o espao do endereo IP foi dividido em poucas estruturas de tamanho fixo chamados de "classes de endereo". As trs principais so a classe A, classe B e classe C. Examinando os primeiros bits de um endereo, o software do IP consegue determinar rapidamente qual a classe, e logo, a estrutura do endereo.

Classe A: Primeiro bit 0 (zero) Classe B: Primeiros dois bits so 10 (um, zero) Classe C: Primeiros trs bits so 110 (um, um, zero) Classe D: (endereo multicast): Primeiros quatro bits so: 1110 (um, um, um, zero) Classe E: (endereo especial reservado): Primeiros cinco bits so 11110 (um, um, um, um, zero)

A tabela, a seguir, contm o intervalo das classes de endereos IPs: Classe A B C D E Gama de Endereos 1.0.0.0 at 126.0.0.0 128.0.0.0 at 191.255.0.0 192.0.0.0 at 223.255.255.0 224.0.0.0 at 239.255.255.255 240.0.0.0 at 255.255.255.254 N de Endereos por Rede 16 777 216 65 536 256 Multicast Uso futuro; atualmente reservada a testes pela IETF

Banco de dados
O Banco de dados, um conjunto de registros dispostos em estrutura regular que possibilita a reorganizao dos mesmos e produo de informao. Um banco de dados normalmente agrupa registros utilizveis para um mesmo fim. Geralmente, usado para criar sites, formulrio de questes, e para a criao de jogos piratas com o auxlio do IP, que necessrio para conectar seus dados internet, para se conectar, possvel usar o IP de um Hamachi que usa um IP fixo, ou de sua rede, pode ou no ser fixa. Para ver o IP necessrio ir at sua conexo, e na aba "detalhes" possivel ver seu IP. Muitos, com mais experincia usam um programa chamado No-IP, que substitui o IP de uma pessoa por um Gateway (ou

porta de ligao, uma mquina intermediria geralmente destinada a interligar redes, separar domnios de coliso, ou mesmo traduzir protocolos).

Classes especiais
Existem classes especiais na Internet que no so consideradas pblicas, no so consideradas como endereveis, so reservadas, por exemplo, para a comunicao com uma rede privada ou com o computador local ("localhost"). Blocos de Endereos Reservados CIDR Bloco de Endereos 0.0.0.0/8 10.0.0.0/8 14.0.0.0/8 39.0.0.0/8 127.0.0.0/8 128.0.0.0/16 169.254.0.0/16 172.16.0.0/16 191.255.0.0/16 192.0.2.0/24 192.88.99.0/24 192.168.0.0/24 198.18.0.0/15 223.255.255.0/24 224.0.0.0/4 240.0.0.0/4 255.255.255.255 Descrio Rede corrente (s funciona como endereo de origem) Rede Privada Rede Pblica Reservado Localhost Reservado (IANA) Zeroconf Rede Privada Reservado (IANA) Documentao IPv6 para IPv4 Rede Privada Teste de benchmark de redes Reservado Multicasts (antiga rede Classe D) Reservado (antiga rede Classe E) Broadcast Referncia RFC 1700 RFC 1918 RFC 1700 RFC 1797 RFC 3330 RFC 3330 RFC 3927 RFC 1918 RFC 3330 RFC 3330 RFC 3068 RFC 1918 RFC 2544 RFC 3330 RFC 3171 RFC 1700

A Internet Assigned Numbers Authority (IANA) responsvel pela coordenao global do DNS raiz, endereamento IP, o protocolo de Internet e outros recursos.[2]

Localhost
A faixa de IP 127.0.0.0 127.255.255.255 (ou 127.0.0.0/8 na notao CIDR) reservada para a comunicao com o computador local (localhost). Qualquer pacote enviado para estes endereos ficaro no computador que os gerou e sero tratados como se fossem pacotes recebidos pela rede (Loopback). O endereo de loopback local (127.0.0.0/8) permite aplicao-cliente enderear ao servidor na mesma mquina sem saber o endereo do host, chamado de "localhost".

Na pilha do protocolo TCP/IP, a informao flui para a camada de rede, onde a camada do protocolo IP reencaminha de volta atravs da pilha. Este procedimento esconde a distino entre ligao remota e local.

Redes privadas
Dos mais de 4 bilhes de endereos disponveis, trs faixas so reservadas para redes privadas. Estas faixas no podem ser roteadas para fora da rede privada - no podem se comunicar diretamente com redes pblicas. Dentro das classes A, B e C foram reservadas redes (normalizados pela RFC 1918) que so conhecidas como endereos de rede privados. A seguir so apresentados as trs faixas reservadas para redes privadas:

Dica
Ao configurar um servidor DHCP, necessrio habilitar um endereo de broadcast. Classe Classe A Classe B Classe C Faixa de endereos de IP 10.0.0.0 10.255.255.255 172.16.0.0 172.31.255.255 192.168.0.0 192.168.255.255 Notao CIDR 10.0.0.0/8 172.16.0.0/16 Nmero de Redes 128 16.384 Nmero de IPs por IPs rede 16.777.216 16.777.214 1.048.576 65.535 65 534 254

192.168.0.0/24 2.097.150

Redes privadas podem ser criadas tambm por meio do Zeroconf. A finalidade do Zeroconf fornecer um endereo IP (e, consequentemente, a conectividade entre as redes) sem usar um servidor DHCP e sem ter de configurar a rede manualmente. A subrede 169.254/16 foi reservada para esta finalidade. Dentro desta faixa, as subredes 169.254.0/24 e 169.254.255/24 foram reservadas para uso futuro.

O endereo privado classe A permite 1 rede, o endereo privado classe B permite 16 redes e o endereo de rede privado classe C permite 256 redes.

Entenda o protocolo IP e a diferena entre IPv4 e IPv6

Protocolo IPv6 e banda larga de 10 Gbps foram oferecidos na Campus Party Brasil 2011 Foto: Fernando Borges/Terra

1. Reduzir 2. Normal 3. Aumentar Imprimir

Na internet, e nas redes particulares que vemos hoje nas empresas ou mesmo nas residncias, o protocolo de comunicao usado pelos computadores chama-se IP - sigla para Internet Protocol. Criado no fim dos anos 70, o protocolo IP tem como "misso" no s fazer dois computadores "conversarem", mas tambm possibilitar a interligao de duas ou mais redes separadas. Com rarssimas excees, praticamente todas as redes do mundo acabaram, de uma forma ou de outra, sendo conectadas entre si e foi essa comunho de redes que acabou formando o que conhecemos hoje por internet (nome que, em portugus, pode ser traduzido por "inter-redes" ou "redes interligadas"). O protocolo IP possui um esquema de endereamento parecido com os nmeros de telefone. Assim como qualquer telefone, no mundo todo, nico (considerando o DDD e o cdigo de pas), cada computador ligado na internet possui um nmero nico, que chamado de endereo IP ou nmero IP. Esse nmero serve para identificar o computador na internet. Se voc precisar conversar com algum pela internet, basta mandar mensagens endereadas ao endereo IP do computador da pessoa. Para que um email da Alice saia de seu computador e chegue ao computador do Beto, por exemplo, preciso que os dados (no caso, o texto do email) sejam divididos em pacotinhos pequenos (chamados de pacotes IP) que possuem marcados dentro de si o endereo IP de origem (ou seja, o nmero nico do computador da Alice) e o IP de destino (o nmero nico do computador do Beto). A internet "se vira" para encontrar o caminho entre Alice e Beto, sem que nenhum dos dois precise se preocupar com isso.

No entanto, o protocolo IP em sua verso atual (a verso quatro, rotulada como IPv4) j bastante antiga e tem muitos problemas. Os mais graves so falhas de segurana, que periodicamente so descobertas e no tm soluo. A maioria dos ataques contra computadores hoje na internet s possvel devido a falhas no protocolo IP. A nova gerao do protocolo IP, o IPv6, resolve grande parte dos problemas de segurana da internet hoje, herdados justamente do projeto antiquado do IPv4. Mas o IPv4 tem um problema ainda mais premente do que sua inerente insegurana: j esgotou sua capacidade de expanso. Cada computador ligado internet - seja um computador pessoal, uma estao de trabalho ou um servidor que hospeda um site precisa de um endereo nico que o identifique na rede. O IPv4 define, entre outras coisas importantes para a comunicao entre computadores, que o nmero IP tem uma extenso de 32 bits. Com 32 bits, o IPv4 tem disponveis em teoria cerca de quatro bilhes de endereos IP mas, na prtica, o que est realmente disponvel menos da metade disso. Se contarmos que o planeta tem seis bilhes de habitantes e que cada dispositivo ligado na internet (o que inclui smartphones, PCs, notebooks e afins) precisa de um nmero s dele, fcil perceber que a conta no fecha. Esse nmero, sendo finito, um dia acaba. Em cima disso, os endereos IP so "travados" geograficamente. Dois endereos prximos esto necessariamente na mesma cidade ou regio. Se considerarmos que cerca de trs quartos dos endereos IP disponveis para a internet esto localizados nos Estados Unidos (mesmo que nunca usados), sobram apenas pouco mais de um bilho de endereos para o resto do mundo - aumentando ainda mais o problema de escassez. A entrada de celulares e outros dispositivos mveis (que so baratos e extremamente populares) na internet contribuiu para que o nmero de endereos IP disponveis seja ainda mais escasso. De fato, algumas previses do conta de que os endereos IP vo acabar por completo em 2012. O advento do IPv6, sexta verso do protocolo IP, resolveria todos esses problemas. Primeiro, porque d fim a praticamente todos os buracos de segurana conhecidos do IPv4, tornando as comunicaes muitssimo mais seguras. O IPv6 provavelmente ser uma dor de cabea sem tamanho para os hackers criminosos. Em segundo lugar, o IPv6 define 128 bits para endereamento, e portanto conta com cerca de 3,4 10^38 endereos disponveis (ou 340 seguido de 36 zeros). Para quem no quiser fazer a conta, basta saber que so muitos bilhes de quatrilhes de endereos disponveis, garantindo que no vai faltar nmeros IP para os humanos por milnios. Pelo "draft" inicial de um documento proposto pelo IETF - Internet Engineering Task Force, rgo responsvel pelo desenvolvimento tecnolgico da internet, a migrao de IPv4 para IPv6 deveria ter comeado em algum momento entre 2009 e 2010, com migrao total at o fim de 2011. O cronograma est atrasado. Google, Yahoo! e Facebook devem adotar o IPv6 em junho deste ano. Na Campus Party Brasil 2011, quarta edio brasileira do evento de inovao, criatividade e cultura digital, realizada em So Paulo de 17 a 23 deste ms, a Telefnica ofereceu aos campuseiros a oportunidade de se conectar internet com IPv6. A

companhia vem testando a tecnologia h dois anos e espera poder oferec-la aos seus clientes ainda em 2011.

"Internet Protocol" (IP)


Andr Moreira (andre@dei.isep.ipp.pt) Professor Adjunto do Departamento de Engenharia Informtica do ISEP

1 Introduo
O protocolo IP teve origem em 1970 no desenvolvimento da ARPANET, esta rede foi depois interligada a outras formando em 1980 um vasto conjunto que passou a ser conhecido por Internet. Com a incluso do protocolo IP no UNIX, em 1982, um grande nmero de universidades passou a formar as suas redes que por sua vez tambm foram ligadas Internet. O protocolo IP fornece um servio de datagramas que depois usado por outros protocolos de nvel superior, tais como o TCP (Transmission Control Protocol) e o UDP (User Datagram Protocol).

O IP um protocolo que cuja funcionalidade se aproxima da camada de rede (nvel 3) do MROSI, como tal fornece um servio de transferncia de dados independente da implementao da camada de ligao lgica (nvel 2). A independencia relativamente s camadas inferiores e um esquema de encaminhamento asseguram a comunicao atravs de redes concatenadas com nvel 2 heterogeneo. Uma transferncia de dados entre dois ns usando o protocolo IP pode seguir um caminho em que os dados so transportados pelas mais diversas tecnolgias de nvel inferior, tais como Ethernet, Token-Ring, ATM, X.25, FDDI, etc. Este facto totalmente transparente para os ns finais. O mecanismo de endereamento tambm independente dos nveis inferiores e na "internet" uma administrao hierarquica das gamas disponveis assegura que cada n possui um endereo universal. A especificao completa do protocolo IP pode ser obtida na RFC 791, no presente documento so apenas abordados alguns aspectos considerados fundamentais.

2 Endereamento
O mecanismo de endereamento do protocolo IP utiliza apenas 4 octetos (32 bits) para designar de um modo universal um n. Os quatro bytes que constituem um endereo IP so normalmente representados na notao decimal, separados por um ponto. Destes quatro bytes, alguns so usados para identificar a rede e os restantes para identificar o n dentro dessa rede. O valor dos primeiros bits (mais significativos) indicam quantos octetos so reservados para cada uma das finalidades. Se o endereo IP se inicia com o bit 0, ento trata-se de um endereo de classe A, caso contrrio

trata-se de uma rede de classe B ou C quando o 2 bit possui respectivamente o valor 0 ou 1. A mascara de rede define a parte do endereo IP que usada para rede e para host, sendo a parte de rede preenchida com bits 1 e a parte de host com bits 0, normalmente a mascara representada em notao hexadecimal, com os octetos separados por um ponto. Devido a terem utilizaes especiais, os endereos com todos os bits zero ou um so reservados. A rede 127 reservada para testes de loopback, nomeadamente o endereo de "host" 127.0.0.0 corresponde sempre ao proprio "host". A tabela seguinte apresenta um resumo dos endereos de rede e n (host).

Classe da rede: Valores para o primeiro byte Mascara de rede (HEX) Nmero de bits para rede Primeira rede ltima rede Nmero de redes possveis Nmero de bits para host Primeiro host de cada rede ltimo host de cada rede Nmero de hosts por rede

A 1 a 126 FF.00.00.00 7 1 126 126 24 0.0.1 255.255.254 16777214

B 128 a 191 FF.FF.00.00 14 128.1 191.254 16382 16 0.1 255.254 65534

C 192 a 223 FF.FF.FF.00 21 192.0.1 254.255.254 2097150 8 1 254 254

Para "broadcast" numa rede utilizado o nmero de "host" mais elevado (todos os bits a 1), o "broadcast" apenas se refere a uma dada rede, sendo por isso usado apenas em aplicaes de rede local. A tabela seguinte apresenta um exemplo para cada classe de rede:

Classe da rede: Nmero de rede Endereo de "broadcast" 2.1 Sub-Redes 120

A 180.10 120.255.255.255

B 180.10.255.255

C 194.120.135 194.120.135.255

A motivao da definio de vrias classes de redes suportando quantidades diversas de ns (hosts) evidente: permitir uma melhor adaptao realidade das organizaes. Na prtica verifica-se contudo que trs classes se revelam insuficientes para todo o tipo de situaes. Quando um organizao necessita de uma grande quantidade de redes IP a soluo consiste na sub-diviso de uma rede atribuida em vrias sub-redes. O processo meramente interno e no deve transparecer para o exterior (RFC 950), consiste em reservar alguns dos bits mais significativos da parte de "host" para identificar a sub-rede. Por exemplo uma rede de classe C utiliza 8 bits para o host, deste oito podemos reservar alguns dos mais significativos para subrede e os restantes para host, a seguinte apresenta alguns casos possveis.

Algumas Sub-Redes de Classe C

Bits para sub-rede Mascara de rede Nmero de sub-redes Hosts por sub-rede

2 FF.FF.FF.C0 2 62

3 FF.FF.FF.E0 6 30

4 FF.FF.FF.F0 14 14

5 FF.FF.FF.F8 30 6

Como se pode verificar continua a ser necessrio evitar os nmero de host e rede com todos os bits a zero ou um, este facto diminui o aproveitamento dos endereos (por exemplo com a mascara FF.FF.FF.F0 obtem-se um total de 196 hosts (14 x 14), contra um total de 254 com a mascara FF.FF.FF.00), contudo, a utilizao de sub-redes justifica-se em muitos casos. A ttulo de exemplo, considere-se a diviso da rede de classe C 193.123.42 em 14 sub-redes de 14 hosts cada, utilizando portanto a mscara FF.FF.FF.F0. Na tabela seguinte apresentamse alguns algumas caracteristicas dessas sub-redes:

Sub-rede 193.123.42.(1) 193.123.42.(2) 193.123.42.(3) ... 193.123.42.(13) 193.123.42.(14)

Primeiro Host 193.123.42.17 193.123.42.33 193.123.42.49 ... 193.123.42.209 193.123.42.225

ltimo Host 193.123.42.30 193.123.42.46 193.123.42.62 ... 193.123.42.222 193.123.42.238

Broadcast 193.123.42.31 193.123.42.47 193.123.42.63 ... 193.123.42.223 193.123.42.239

Os valores entre parntesis indicam nmeros de sub-rede, isto apenas se referem parte de sub-rede. Exerccio

Determine os endereos do primeiro e ltimo host das restantes sub-redes. Realize o mesmo exerccio para a rede 194.34.25, dividida em sub-redes com a mascara FF.FF.FF.E0.

2.2 ARP ("Address Resolution Protocol")


O facto de os endereos serem totalmente independentes dos nveis inferiores tem diversas vantagens, nomeadamente na sua utilizao sobre nveis 1 e 2 heterogneos, contudo coloca alguns problemas:

Cada mquina tem necessidade de conhecer inicialmente o seu endereo IP. Para enviar um "datagrama" a uma dada mquina necessrio fornecer camada de ligao lgica o respectivo endereo fsico que no est disponvel directamente do endereo IP.

O primeiro problema resolvido por configurao local esttica, geralmente definindo num ficheiro de configurao os dados necessrios, existem contudo solues de configurao

centralizada que sero referidas mais tarde. O segundo problema apenas se coloca quando o n de destino se encontra na mesma rede (algo que facil de saber por simples anlise dos endereos), quando a mquina de destino no se encontra na mesma rede o "datagrama" enviado para o "default gateway", trata-se do dispositivo de encaminhamento que assegura a ligao da rede corrente a outras redes. O protocolo ARP (RFC 826) permite obter, sempre que necessrio, o endereo fsico de uma mquina mediante o conhecimento do seu endereo IP (encaminhamento directo). Quando uma mquina pretende enviar um "datagrama" IP a outra mquina cujo endereo IP conhece, usa o protocolo ARP para enviar em broadcast um pedido no qual consta o endereo IP de destino. Todas as mquinas escutam o pedido e aquela que possui o endereo IP indicado responde enviando o seu endereo fsico. O protocolo ARP implementado directamente sobre o nvel de ligao lgica e a informao colocada directamente sobre "tramas". A estrutura dos dados comum para ARP e RARP (ver adiante). A sequncia de campos a seguinte: FMAC FPROT LMAC LPROT OPCODE SMAC SIP DMAC DIP (16 bits) (16 bits) ( 8 bits) ( 8 bits) (16 bits) - endereo - endereo - endereo - endereo Formato do endereo MAC (de ligao lgica) Formato do endereo de Rede (no caso IP) Comprimento do endereo MAC Comprimento do endereo de Rede Comando/Pedido MAC de origem de rede de origem MAC de destino de rede de destino

A parte final da estrutura (depois do OPCODE) tem tamanho varivel, por exemplo no caso IP sobre Ethernet ser de 20 bits (6+4+6+4). O campo OPCODE pode ter um dos seguintes valores que asseguram tanto a operao ARP como RARP: 1 2 3 4 ARP request ARP reply RARP request RARP reply

Cada mquina responsvel por manter dinamicamente uma tabela de correspondncia entre endereos fsicos e endereos IP recentemente usados (tabela ARP), este procedimento reduz a frequncia do recurso ao protocolo ARP. Exerccio - Demonstrao Em ambiente UNIX ou Windows em modo de linha de comando.

Use o comando arp para obter a tabela (arp -a). Use o comando ping para contactar uma mquina local ausente da tabela e de seguida consulte-a novamente.

possivel configurar certos ns para funcionarem como servidores de ARP, trata-se de mquinas que vo responder a pedidos ARP que no lhes dizem respeito. A instalao de um servidor de ARP pode ser til em termos de segurana. Muitos protocolos de aplicao das redes IP baseiam a segurana no endereo IP de provenincia dos pedidos,

com um servidor de ARP um possivel intruso local ter de forjar no s o endereo IP, mas tambm o endereo MAC correcto.

2.3 BOOTP/DHCP e RARP


O "BOOT Protocol", o "Dynamic Host Configuration Protocol" (RFC 2131) e o "Reverse Address Resolution Protocol" (RFC 903) so utilizados para obteno dos parmetros de configurao IP, nomeadamente o endereo IP. A utilizao destes protocolos muito vantajosa em termos administrativos, a configurao de todas as mquinas centralizada num "host" onde se instala um servidor adequado (BOOTP/DHCP ou RARP). O protocolo BOOTP/DHCP mais completo do que o RARP: enquanto o RARP apenas permite a obteno do endereo IP, o BOOTP um protocolo para BOOT de mquinas "diskless", assim permite a obteno de um ficheiro-imagem para o arranque da mquina, de entre os parmetros IP fornecidos encontram-se, alm do endereo IP, a mascara de rede, uma lista de servidores de nomes e uma lista de "gateways". Ambos os protocolos utilizam principios semelhantes, emitem em "broadcast" um pacote, o servidor ao receber o pacote verifica o endereo MAC de origem e consulta a sua base de dados para devolver a informao que est associada a esse endereo MAC. O formato dos pacotes RARP idntico ao dos pacotes ARP. O protocolo BOOTP implementado a um nvel totalmente diferente: usa UDP sobre IP, quando o pedido emitido usado como endereo de origem 0.0.0.0 (endereo desconhecido) e endereo de destino 255.255.255.255 ("broadcast" na rede corrente).

3 Datagramas IP
O protocolo IP disponibiliza um servio base de transferncia de dados baseado em "datagramas". Cada "datagrama" totalmente independente dos restantes (servio no orientado conexo) e trata-se de um servio no fivel:

no h controlo de erros ou fluxo (nem entre ns intermdios nem entre ns finais) a deteco de erros apenas assegurada para o cabealho dos "datagramas"

Apesar do caracter de elementar do servio de "datagramas" do protocolo IP, so incluidos alguns mecanismos que o tornam especialmente adequado para comunicaes a longa distancia atravs da concatenao de infra-estruturas de comunicao heterogneas:

esquema de endereamento simples e universal com facilidades para os mecanismos de encaminhamento. mecanismo de fragmentao e reagrupamento que assegura uma passagem eficiente dos "datagramas" IP atravs de infra-estruturas com tamanhos mximos de pacote diversos. definio de qualidade de servio e tempo de vida dos pacotes. notificao de alguns erros bsicos via ICMP ("Internet Control Message Protocol").

3.1 Estrutura do "datagrama" IP

Os campos que constituem um datagrama IP so os seguintes: -------------------------------------------------------------------Verso Internet Header Length (IHL) Tipo de servio Comprimento Total Identificao Flags Offset de Fragmento Tempo mximo de vida Protocolo CheckSum do cabealho Endereo de Origem Endereo de Destino Opes Padding -----Dados um mltiplo de oito, um "datagrama" IP pode ter at 65535 bytes) -------------------------------------------------------------------O primeiro campo contm a verso do protocolo IP, actualmente a verso mais utilizada ainda a 4 que est a ser descrita neste documento, mas encontra-se em expanso a verso 6 (IPv6). A verso do protocolo condiciona a estrutura do "datagrama" e mecanismos implementados. O campo IHL contm o nmero de conjuntos de 32 bits que constituem o cabealho, o valor mnimo 5 que corresponde a um cabealho de 20 bytes. O campo "Tipo de servio". Este campo divide-se na especificao de 8 nveis de prioridade (3 bits), dois nveis de fiabilidade, dois nveis de atraso e dois nveis de capacidade. O comprimento total do "datagrama" (cabealho + dados) indicado no campo seguinte, o seu valor mximo de 65535 bytes. Os 3 campos seguintes (Identificao; Flags; Offset de Fragmento) esto relacionados com o mecanismo de fragmentao/reagrupamento que ser abordado adiante. O tempo mximo de vida um contador de saltos at auto-destruio do "datagrama". inicializado pelo emissor e sempre que o "datagrama" transferido entre redes por um "router" o seu valor decrementado em uma unidade, quando chega a zero o "datagrama" ignorado. O campo "Protocolo" contm um identificador do protocolo responsvel pelos dados que so transportados, trata-se de um simples mecanismo de multiplexagem para permitir a coexistncia de vrios protocolos a utilizarem o IP como base. A seguir apresenta-se o exemplo de um ficheiro /etc/protocols de um sistema UNIX, com vrios identificadores de protocolo: # # protocols (varivel, mas deve ser sempre (4 bits) (4 bits) (8 bits) (16 bits) (16 bits) (3 bits) (13 bits) (8 bits) (8 bits) (16 bits) (32 bits) (32 bits) (numero de bits varivel) (assegura que o cabealho tem um comprimento mltiplo de 32 bits) ---------------------------------------------------------------

This file describes the various protocols that are

# # # # ip icmp igmp ggp tcp pup udp idp raw # End. 0 1 2 3 6 12 17 22 255

available from the TCP/IP subsystem. It should be consulted instead of using the numbers in the ARPA include files, or, worse, just guessing them. IP ICMP IGMP GGP TCP PUP UDP IDP RAW # # # # # # # # # internet protocol, pseudo protocol number internet control message protocol internet group multicast protocol gateway-gateway protocol transmission control protocol PARC universal packet protocol user datagram protocol WhatsThis? RAW IP interface

O checksum do cabealho calculado por somatrio de todos os conjuntos de 16 bits do cabealho, o campo checksum ignorado neste somatrio. Como os valores de alguns campos so alterados nos "routers", estes so obrigados a efectuar o calculo e actualizar este campo antes de procederem retransmisso do "datagrama".

Pseudo-cabealho IP
Os protocolos de nvel superior necessitam de usar alguns campos do cabealho IP, nomeadamente para clculo dos seus prprios "checksums", para esse efeito definida uma estrutura lgica designada por "Pseudo-cabealho" IP, contendo os campos necessrios: Source Address Destination Address ZERO Protocol Data Length (32 bits) (32 bits) (8 bits) (8 bits) (16 bits)

3.2 Opes
As opes so um campo de comprimento varivel onde so incluidos parmetros que nem sempre so necessrios, a existncia deste campo de comprimento varivel possibilita tambm extenses funcionalidade do protocolo, as implementaes correntes limitam o comprimento das opes a 40 octetos (neste caso limite o cabealho IP fica com 56 octetos). Devido ao comprimento varivel das opes adicionado o campo "padding" (enchimento) assegura um alinhamento de 32 bits do cabealho. Algumas das opes mais comuns so:

Marcador de tempo ("Timestamp") - Activando esta opo, cada n por onde o "datagrama" passa adiciona s opes um marcador com preciso ao milisegundo. Gravao de caminho ("Record Routing") - Trata-se de um campo ao qual os sucessivos ns por onde o "datagrama" passa vo adicionando o seu endereo IP, quando o "datagrama" chega ao destino este campo contm o caminho seguido. "Source Routing" - Permite a definio pelo emissor do caminho que o

"datagrama" vai usar (sequncia de endereos IP) para chegar ao destino. 3.3 Fragmentao e Reagrupamento
Os "datagramas" IP so encapsulados em "tramas" ou estrutura equivalente do nvel de ligao lgica. Para cada tipo de implementao do nvel 2 existe uma quantidade mxima de dados que cada "trama" pode transportar, este valor conhecido por MTU ("Maximum Transmission Unit"). Devido aos diferentes valores de MTU a abordagem [1 datagrama : 1 trama] no eficinte pois seria necessrio reduzir o tamanho mximo dos "datagramas" ao menor MTU. A soluo implementar um mecanismo de fragmentao/reagrupamento que realize um ajuste automtico ao MTU praticado em cada ligao. A fragmentao dos "datagramas" implica a cpia do cabealho original para cada fragmento, os valores dos seguintes campos do cabealho IP tornam-se importantes: ... Identificao Flags Offset de Fragmento ... Protocolo ... Endereo de Origem Endereo de Destino ...

(16 bits) (3 bits) (13 bits) (8 bits) (32 bits) (32 bits)

Em cada "router" um "datagrama" IP sempre reconstituido, s depois novamente fragmentado para suportar o MTU da ligao seguinte. Para que os "fragmentos" de diferentes "datagramas" no se confundam entre s, para cada "datagrama" o emissor define um valor para o campo "Identificao" de tal modo que, em conjunto com os campos "Endereo de Origem", "Endereo de Destino" e "Protocolo" defina um valor nico. O primeiro bit do campo "Flags" colocado a 1 para indicar que existem mais fragmentos a seguir, o valor zero indica que se trata do ltimo fragmento ou que o "datagrama" no foi fragmentado. O segundo bit do campo "Flags" pode ser colocado a 1 para evitar a fragmentao, neste caso se o MTU no suporta o tamanho do "datagrama", este ignorado. O terceiro bit do campo "Flags" no utilizado. O campo "Offset de Fragmento" indica a posio relativa do fragmento no "datagrama" original, o valor especificado em unidades de 64 bits, por esta razo os fragmentos (excepto o ltimo) tm comprimentos de dados mltiplos de 64 bits. No caso de se tratar de um "datagrama" no fragmentado ou o primeiro fragmento de um "datagrama" este campo possui o valor zero.

4 Encaminhamento
Os mecanismos de encaminhamento ("routing") destinam-se a fazer os "datagramas" chegar ao seu destino, quando existe uma grande quantidade de redes concatenadas esta tarefa pode no ser to simples como parece. O "routing" de "datagramas" IP baseia-se em endereos de rede, os dispositivos que realizam o encaminhamento so conhecidos por "routers", ou na terminologia internet por "gateways". Um "router IP" no mais do que um "host" que possui um endereo IP em mais do que uma rede, com o "software" adequado pode assegurar a transferncia de "datagramas" entre as vrias

redes nas quais possui endereo. Geralmente um "router" possui mais do que uma interface fsica, assegurando a transferncia de "datagramas" entre tcnologias de ligao lgica que podem ser diferentes. Contudo uma rede IP uma definio lgica, podendo coexistir mais do que uma rede IP a partilhar a mesma rede de ligao lgica, neste caso um "router" de ligao destas redes IP sobrepostas pode assegurar a sua interligao como uma nica interface fsica possuidora de dois endereos IP. A internet constituida por um vasto conjunto de redes das quais podemos distinguir duas categorias com diferenas substanciais sob o ponto de vista de "routing":

Redes terminais - Redes onde esto instalados os utilizadores. Estas redes constituem normalmente sistemas autnomos, sendo administradas por uma nica entidade responsvel. Redes de transito - Redes de "backbone" que asseguram a interligao de redes terminais.

As redes de transito so divididas em vrias categorias hierarquicas, como por exemplo redes regionais, nacionais e internacionais. Apenas as redes de transito do nvel mais baixo esto ligadas a redes terminais, as de nvel superior asseguram a interligao entre outras redes de transito.

4.1 Tabelas de Encaminhamento


Uma tabela de encaminhamento um conjunto de associaes (rede, rota 1, rota 2, ...) cada associao regista vrias rotas possiveis para atingir a rede indicada. Cada rota da forma (prximo gateway, mtrica), indica qual o "gateway" seguinte para onde deve ser enviado o "datagrama" e qual a mtrica associada a essa rota. A mtrica uma medio da eficincia do caminho at ao destino, pode ser definida com base em vrios critrios tais como:

Atraso na Transmisso Nmero de "Hops" (ns intermdios) Capacidade das linhas Preo da ligao

Tanto os "hosts" como os "gateways" implementam geralmente tabelas de encaminhamento, as tabelas de encaminhamento podem ser estticas ou dinmicas. Uma tabela esttica definida pelo administrador da rede, sempre que se produzem alteraes na topologia da rede as tabelas devem ser actualizadas manualmente. As informaes de encaminhamento podem ser trocadas entre "gateways" de modo a actualizar dinamicamente as tabelas. Para o efeito usam-se protocolos de "routing". Os protocolos de "routing" usados nas redes terminais so conhecidos por IGP ("Interior Gateway Protocols"), o mais comum o RIP ("Routing Information Protocol"), os protocolos usados nas redes de trnsito so conhecidos por EGP ("Exterior Gateway Protocols"). Uma entrada importante nas tabelas de encaminhamento a "default route". muitas vezes definida estticamente, todos os "datagramas" cuja rede de destino no consta na tabela de encaminhamento so enviados para o "gateway" especificado na "default route". Um sistema autnomo um conjunto de redes administradas por uma nica entidade, a informao de encaminhamento trocada entre os "gateways" usando um IGP comum, os "gateway" que asseguram a ligao ao exterior ("gateways de fronteira") implementam o mesmo IGP do sistema autnomo mais um EGP para troca de informao com o exterior. A

informao IGP numca deve sair para o exterior, por exemplo se o sistema autnomo usa subredes esse facto no transparece para o exterior.