Você está na página 1de 5

Protocolo IP

O protocolo IP define mecanismos de expedição de pacotes sem conexão.


IP define três pontos importantes:
1. A unidade básica de dados a ser transferida na Internet.
2. O software de IP executa a função de roteamento, escolhendo um caminho
sobre o qual os dados serão enviados.
3. Incluir um conjunto de regras que envolvem a idéia da expedição de pacotes
não confiáveis. Estas regras indicam como os hosts ou gateways poderiam
processar os pacotes; como e quando as mensagens de erros poderiam ser
geradas; e as condições em que os pacotes podem ser descartados.
Dentro do protocolo IP veremos os seguintes tópicos:
• Endereços IP
• Formato do datagrama IP
• Roteamento do datagrama IP
• ICMP (Internet Control Message Protocol)

Endereços Internet
Se diz que um sistema provê um serviço de comunicação universal se ele permite a
qualquer host se comunicar com qualquer outro. Para que um sistema preste serviços de
comunicação universalmente é necessário estabelecer um método de identificar os
computadores que seja aceito globalmente. Na Internet se escolhe identificar os
computadores através de endereços binários.
Na Internet a cada computador é associado um endereço inteiro de 32 bits, chamado
endereço IP. O importante no esquema de endereços internet é que os inteiros são
cuidadosamente escolhidos para fazer o roteamento eficiente. Especificamente um
endereço IP define o identificador da rede ao qual o host está conectado e também a
identificação de um único computador nessa rede.
Conceitualmente cada endereço é um par (netid, hostid), onde netid identifica a rede, e
hostid identifica um computador nessa rede. Na prática cada endereço IP deve ter um
Formato específico. No gráfico abaixo é apresentado o formato dos endereços IP.
FORMATO DO DATAGRAMA IP
O datagrama IP é a unidade básica de dados no nível IP. Um datagrama está dividido
em duas áreas, uma área de cabeçalho e outra de dados.
O cabeçalho contém toda a informação necessária que identificam o conteúdo do
datagrama.
Na área de dados está encapsulado o pacote do nível superior, ou seja um pacote TCP ou
UDP.
O formato do datagrama IP é o seguinte:
CAMPOS IP
VERS: versão do protocolo IP que foi usada para criar o datagrama (4bits)
HLEN: comprimento do cabeçalho, medido em palavras de 32 bits (4 bits)
TOTAL-LENGTH: este campo proporciona o comprimento do datagrama medido em
bytes, incluindo cabeçalho e dados.
SERVICE-TYPE: este campo especifica como o datagrama poderia ser manejado e
dividido em cinco subcomandos
IDENTIFICATION, FLAGS e FRAGMENTS: estes três campos controlam a
fragmentação e a união dos datagramas. O campo de identificação contém um único
inteiro que identifica o datagrama, é um campo muito importante porque quando um
gateway fragmenta um datagrama, ele copia a maioria dos campos do cabeçalho do
datagrama em cada fragmento, então a identificação também deve ser copiada, com o
propósito de que o destino saiba quais fragmentos pertencem a quais datagramas. Cada
fragmento tem o mesmo formato que um datagrama completo.
FRAGMENT OFFSET: especifica o início do datagrama original dos dados que estão
sendo transportados no fragmento. É medido em unidades de 8 bytes.
FLAG: controla a fragmentação.
TTL(Time To Live): especifica o tempo em segundos que o datagrama está permitido a
permanecer no sistema Internet. Gateways e hosts que processam o datagrama devem
decrementar o campo TTL cada vez que um datagrama passa por eles e devem removê-
lo quando seu tempo expirar.
PROTOCOL: especifica qual protocolo de alto nível foi usado para criar a mensagem
que está sendo transportada na área de dados do datagrama.
HEADER-CHECKSUM: assegura integridade dos valores do cabeçalho.
SOURCE AND DESTINATION IP ADDRESS: especifica o endereço IP de 32 bits do
remetente e receptor.
OPTIONS: é um campo opcional. Este campo varia em comprimento dependendo de
quais opções estão sendo usadas. Algumas opções são de um byte, e neste caso este
campo é chamado de Option Code , e está dividido em três campos.

ROTEAMENTO IP
O roteamento IP consiste em decidir para onde enviar um datagrama baseando-se no
endereço IP destino contido no datagrama.
Para entender o roteamento IP deve-se lembrar que a Internet é composta de múltiplas
redes físicas interconetadas por computadores chamados Gateways.
Cada gateway tem conexão direta para duas ou mais redes. A diferença entre um
gateway e um host é que este último liga-se diretamente a uma rede física.
No roteamento IP participam hosts e gateway.
O roteamento pode-se dividir em dois:

ROTEAMENTO DIRETO
Neste tipo de roteamento a transmissão do datagrama é diretamente de uma máquina à
outra. Duas máquinas podem trabalhar em roteamento direto somente se ambas estão na
mesma rede (por exemplo um mesmo barramento ethernet).
A transmissão de um datagrama IP entre duas máquinas numa mesma rede física não
involve gateways. O transmissor (remetente) encapsula o datagrama num quadro físico
(frame: nível de enlace), liga o endereço IP destino ao endereço físico (de hardware)
correspondente, e envia o quadro resultante diretamente ao destino.
Para saber se a máquina destino está na mesma rede se faz uma comparação entre os
endereços IP fonte e destino, especificamente entre os campos que identificam a rede.
Se ambos campos são iguais significa que o datagrama pode ser enviado diretamente
sem ter que passar por um gateway.

ROTEAMENTO INDIRETO
Este tipo de roteamento é mais difícil que o roteamento direto, já que o remetente deve
identificar um gateway ao qual o datagrama pode ser enviado, depois o gateway deve
enviar o datagrama a rede destino.
Vamos supor que tenham muitas redes interconetadas por gateways, mas só tenham dois
hosts em cada extremo da interconexão das redes, quando um host quer enviar ao outro,
ele encapsula o datagrama e o envia ao gateway mais próximo. Uma vez que o quadro
chega ao gateway, o software de IP extrae o datagrama encapsulado, e as rotina de
roteamento IP selecionam o próximo gateway que formará parte do caminho que levarrá
o datagrama ao host destino.
Para um gateway saber onde enviar um datagrama, e para um host saber qual gateway
usar para um destino determinado, precisa-se de um algoritmo de roteamento que
maneje as Tabelas de Roteamento.

TABELAS DE ROTEAMENTO
Um algoritmo de roteamento IP usa uma tabela de roteamento IP em cada máquina que
armazena informações acerca de possíveis destinos e a maneiras de chegar a eles.
Tanto os hosts como gateways têm tabelas de roteamento. Quando o software de
roteamento IP num host ou gateway necessita transmitir um datagrama, ele consulta a
tabela de roteamento para decidir onde enviar o datagrama.
Tipicamente a informação que se armazena nas tabelas de rotas é o par (N,G), onde N é
o endreço IP da rede destino e G é o endereço IP do próximo gateway no caminho a
rede N. De modo que uma tabela de roteamento num gateway G somente especifica um
passo do caminho de G a uma rede destino, o gateway não sabe o caminho completo ao
destino.
É importante entender que a tabela de roteamento sempre aponta aos gateways que
podem ser alcançados através da rede a qual esse gateway está conetado. Isso significa
que todos os gateways listados na tabela de roteamento de uma máquina M devem
conetar-se as redes às quais M está conetada diretamente. Quando um datagrama está
pronto para sair de M, o software IP localiza o endereço IP destino e extrae a porção da
rede. Logo M usa a identificação da rede para fazer uma decisão de roteamento,
selecionando um gateway que possa ser alcançado diretamente.
Nas tabelas de roteamento não é possível armazenar as informações de cada máquina
destino, seria impossível manter as tabelas atualizadas, além de que as máquinas teriam
problemas com armazenamento para toda a informação.
ICMP: Internet Control Message
Protocol
Como IP provê um serviço de expedição de datagramas sem conexão e não confiável, e
além disso um datagrama viaja de um gateway a outro até alcançar um gateway que
possa expedí-lo diretamente ao host destino; é necessário um mecanismo que emita
informações de controle e de erros quando acontecerem problemas na rede. Alguns dos
problemas típicos que podem acontecer são:
• Um gateway não pode expedir ou rotear um datagrama
• Um gateway detecta uma condição não usual tal como congestionamento.
O mecanismo de controle que emite mensagens quando acontece algum erro é a função
principal do protocolo ICMP.
O ICMP permite aos gateways enviar mensagens de erros ou de controle a outros
gateways ou hosts. ICMP provê comunicação entre os software de IP numa máquina e o
software de IP numa outra máquina.
ICMP somente reporta condições de erros à fonte original. A fonte deve relatar os erros
aos programas de aplicação individuais e tomar ação para corrigir o problema. Uma das
mensagens que o ICMP pode enviar é: Destination Unreachable, o qual, por sua vez
pode ser dos seguintes tipos:
- Network Unreachable (rede não alcançável)
- Host Unreachable (host não alcançável)
- Port Unreachable (port não alcançável)
- Destination Host Unknown (Host destino desconhecido)
- Destination Network Unknown (rede destino desconhecida)