O papel do protocolo IPO protocolo IP faz parte da camada internet da sequencia de protocolos TCP/IP. E um dos protocolos mais importantes da Internet, porque permite a elaboracao e o transporte dos datagramas IP (os pacotes de dados), sem contudo assegurar a entrega. Na realidade, o protocolo IP trata os datagramas IP independentemente uns dos outro, definindo a sua representacao, o seu encaminhamento e a sua expedicao. O protocolo IP determina o destinatario da mensagem gracas a 3 campos:O campo dirige IP : endereco da maquinaO campo mascara de subrede: uma mascara de subrede permite ao protocolo IP determinar a parte do endereco IP que se refere a redeO campo ponte estreita por defeito: Permite ao protocolo Internet saber a que maquina entregar o datagrama, se por acaso a maquina de destino nao esta na rede localOs datagramasOs dados circulam na Internet sob a forma de datagramas (fala-se tambem de pacotes). Os datagramas sao dados encapsulados, isto e, sao dados aos quais se acrescentaram cabecalhos que correspondem a informacoes sobre o seu transporte (como o endereco IP de destino). Os dados contidos nos datagramas sao analisados (e eventualmente alterados) pelos switchs que permitem o seu transito. Eis o aspecto de um datagrama: <--32 bits-->Versao (4 bits)Comprimento de cabecalho(4 bits)Tipo de servico (8 bits)Comprimento total (16 bits)Identificacao (16 bits)Bandeira (3 bits)Desfasamento fragmento (13 bits)Duracao de vida (8 bits)Protocolo (8 bits)Soma de controlo cabecalho (16 bits)Endereco IP fonte (32 bits) Endereco IP destino (32 bits) Dados Eis o significado dos diferentes campos:Versao (4bits): trata-se da versao do protocolo IP que se utiliza (actualmente utiliza-se a versao 4 IPv4) para verificar a validade do datagrama. E codificada em 4 bits.Comprimento de cabecalho, ou IHL para Internet Header Length (4 bits): trata-se do numero de palavras de 32 bits que constituem o cabecalho (nota: o valor minimo e 5). Este campo e codificado em 4 bits.Tipo de servico (8 bits): indica a maneira segundo a qual o datagrama deve ser tratado.Comprimento total (16 bits) : indica a dimensao total do datagrama em bytes. A dimensao deste campo de 2 bytes, a dimensao total da datagrama nao pode exceder 65536 bytes. Utilizado conjuntamente com a dimensao do cabecalho, este campo permite determinar onde estao situados os dados.Identificacao, bandeiras (flags) e deslocacao de fragmento sao campos que permitem a fragmentacao dos datagramas, e que serao explicados abaixo.Duracao de vida chamada tambem TTL, para Time To Live (8 bits): este campo indica o numero maximo de switchs atraves atraves dos quais o datagrama pode passar. Assim este campo e reduzido a cada passagem em switch, quando este atinge o valor critico de 0, o switch destroi o datagrama. Isto evita o congestionamento da rede pelos datagramas perdidos.Protocolo (8 bits): este campo, em notacao decimal, permite saber de que protocolo procede o datagramaICMP : 1IGMP : 2TCP : 6UDP : 17Soma de controlo do cabecalho ou, em ingles, header checksum (16 bits) : este campo contem um valor codificado de 16 bits, que permite controlar a integridade do cabecalho a fim de determinar se este nao foi alterado durante