Buscar

Infraestrutura de Comunicação (Camada de Rede)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Módulo 4: CAMADA DE REDE
Funções da camada de rede
A camada de rede é responsável pelo transporte do segmento do host emissor pro host
receptor. Existem protocolos da camada de rede em todos os hosts e roteadores.
➢ No lado emissor, ela recebe segmentos da camada de transporte e encapsula
eles em datagramas.
➢ No lado receptor, ele desencapsula os datagramas em segmentos e entrega
eles pra camada de transporte.
➢ O roteador recebe o datagrama, examina o cabeçalho e decide pra onde vai
encaminhar ele.
Existem duas funções principais da camada de rede:
1. Forwarding/Encaminhamento: O roteador recebe um pacote e encaminha ele
pra saída correta (analogia: processo de fazer escalas em uma viagem).
2. Roteamento: Determina a rota a ser tomada pelo pacote, da origem ao destino,
através de algoritmos de roteamento (analogia: planejar uma viagem da origem
ao destino).
Cada roteador tem uma tabela de encaminhamento local (construída a partir do
algoritmo de roteamento) que tem os valores dos enlaces de saída dos datagramas,
dependendo do endereço de destino do cabeçalho do pacote. No nosso caso, vamos
trabalhar com endereçamento IP (mais à frente).
Estabelecimento de conexão
A depender da arquitetura de rede, a camada de rede pode oferecer uma conexão
virtual. Do mesmo jeito que o TCP abre uma conexão para fazer troca de pacotes, essa
mesma ideia pode ser aplicada à camada de rede (porém, quando é na internet isso não
acontece).
Antes de enviar o fluxo de datagramas, os dois hosts precisam estabelecer uma
conexão virtual com a ajuda dos roteadores no caminho. Assim, enquanto a camada de
transporte estabelece conexão entre dois processos, a camada de rede estabelece
conexão entre dois hosts.
Modelos de serviços de rede
Modelos de serviço de rede ofertados para transporte de datagramas individuais:
➢ Serviço com entrega garantida.
➢ Serviço com entrega garantida e com menos de 40ms de atraso.
Modelos de serviço de rede ofertados para transporte de fluxo de datagramas:
➢ Serviço com entrega na ordem correta.
➢ Serviço com banda passante mínima.
➢ Serviço com restrições sobre mudanças de espaçamento entre pacotes
sucessivos (restrições sobre jitter). E o que é isso? À medida que os pacotes vão
passando pelos roteadores, o espaçamento de tempo entre eles pode mudar. O
jitter é a variação desse tempo, e é um tópico importante quando se fala sobre
tráfego de voz, pois não se pode ter jitter muito alto (limite: 400ms).
Os modelos de serviço de rede para internet são os de best effort: não tem nenhuma
garantia de banda, perda, ordenação ou atraso, nem tem feedback sobre
congestionamento. Já para as arquiteturas de rede ATM, existem algumas garantias,
vistas na tabela abaixo:
Como se garante que NÃO vai haver congestionamento, como nos casos do CBR e VBR?
Fazendo controle de admissão, no qual vai ser determinado um caminho para o pacote e
um algoritmo vai determinar se a entrada desse pacote no enlace vai provocar algum
congestionamento. Assim, se for, a entrada do pacote no enlace não é permitida. -> pra
caso de circuitos virtuais, é mais possível de fazer porque se tem uma quantidade de
banda passante definida que será garantida / pra rede de datagrama não é possível
fazer isso
Redes de circuitos virtuais e de datagramas
Existem dois tipos de serviços de rede: circuitos virtuais (VC) e redes de datagramas.
➢ Redes de circuitos virtuais provêm serviços orientados à conexão.
➢ Redes de datagramas não provêm serviços orientados à conexão.
Eles são análogos aos serviços da camada de transporte no que diz respeito a
conexões, mas têm 3 principais diferenças:
➢ São serviços de host pra host, ao invés de processo pra processo.
➢ O usuário não tem escolha se vai ter conexão na camada de rede, pois
dependendo da arquitetura a rede provê um serviço ou o outro.
➢ A implementação pode ser toda no núcleo da rede (no caso do VC), o que é ruim
pelo tempo, pois os roteadores têm que processar mais e acabam demorando
mais para fazer os encaminhamentos de pacotes.
Circuitos virtuais (VC)
Circuito virtual é o caminho da fonte para o destino que se comporta de forma
semelhante ao circuito da linha telefônica (das antigas). Ele dá garantias de
desempenho (performance-wise) e a rede faz ações ao longo do caminho por meio dos
roteadores.
Ele estabelece conexão e cada pacote carrega um identificador de circuito virtual
(número de VC). Os roteadores precisam guardar o estado de cada conexão passando,
assim eles podem alocar recursos para o circuito virtual.
Implementação do VC
O número de VC que cada pacote carrega corresponde ao número do enlace. A cada
roteador que ele chega, ele passa pela tabela de encaminhamento e o número de VC é
atualizado.
Quando um pacote entra no roteador, ele verifica qual sua porta e número de VC de
entrada. Com esses valores, ele verifica na tabela de encaminhamento qual a porta de
saída e qual o número do VC de saída.
Os circuitos virtuais têm protocolos de sinalização, que são usados pra estabelecer,
manter e encerrar a conexão. A camada de transporte do host de origem contata a
camada de rede e especifica o endereço de destino. A camada de rede, então,
determina o caminho até o destino e atualiza as tabelas de encaminhamento em cada
roteador. Ela define também os números de VC de cada enlace e pode reservar recursos
como banda passante. Quando a rede estabelece o VC, a transferência de dados inicia e,
no fim, um dos hosts informa à camada de rede que deseja encerrar a conexão,
atualizando as tabelas nos roteadores para indicar o fim do VC.
Redes de datagramas
Não estabelecem conexão, logo os roteadores não guardam seus estados. Os pacotes
são enviados com base no endereço de destino, então eles podem pegar caminhos
diferentes (fica a cabo do roteador decidir o caminho de cada um, o que vai depender de
filas, congestionamento etc).
Funcionamento da tabela de encaminhamento
Os endereços de destino normalmente tem 32 bits, então é inviável colocar na tabela
todas as possibilidades de endereço. Assim, se usa uma faixa de endereços na tabela,
de forma que fica: do endereço de número X até o endereço de número Y, o datagrama é
enviado para a interface de enlace Z.
Também pode ser usada a regra do prefixo mais longo: A tabela não usa faixas, mas
usa prefixos dos endereços. Quando ela recebe um endereço de 32 bits, vai comparar
seu valor com os prefixos da tabela. O prefixo mais longo que bater com o endereço vai
determinar a interface de destino do datagrama
Comparações entre VCs e datagramas
Internet (rede de datagrama):
1. O serviço é elástico, ou seja, ele usa a banda passante que tem disponível. Logo,
não consegue definir prazo de entrega.
2. Os sistemas finais são inteligentes (computadores): podem se adaptar, realizar
controle e recuperação de erros. A rede é simples, mas os serviços nos
sistemas finais são mais complexos.
3. Tem diferentes tipos de enlaces, dependendo do provedor. Assim, o serviço não
consegue ser uniformizado.
ATM (VC):
1. A arquitetura de rede é uma evolução da do telefone.
2. Dá garantias que a rede telefônica dava: tempo estrito e confiabilidade (não
perde pacotes).
3. Os sistemas finais são burros: são telefones, então a complexidade é toda
dentro da rede.
Arquitetura de um roteador
O roteador tem duas funções principais:
1. Executar algoritmos e protocolos de roteamento.
2. Encaminhar datagramas do enlace de entrada para o enlace de saída.
Entre as portas de entrada e de saída tem um elemento de comutação (ou switching
fabric) e um processador de roteamento, que vai receber das portas de entrada os
pacotes de controle que carregam informações do protocolo de roteamento.
Porta de entrada
1. A primeira caixinha é a terminação de linha, onde se faz a recepção de bits.
2. A segunda desencapsula o datagrama.
3. A terceira usa a tabela de encaminhamento para determinar a porta de saída.
Ela tem uma fila para caso os datagramas cheguem mais rápido do que o
elemento de comutação pode aguentar.
Elemento de comutação
Ele faz oencaminhamento dos pacotes para as interfaces de saída, que pode ser feito
de 3 formas:
1. Comutação via memória: faz uma cópia de memória do pacote e encaminha pra
porta de saída. Usado em roteadores de 1º geração e tem um problema: a
velocidade é limitada pela banda passante da memória.
2. Comutação via barramento (bus): escreve o pacote no barramento e endereça
ele à fila de saída. É mais vantajoso que o de memória pois os barramentos
podem ter taxa de transferência alta, de até 1Gbps.
3. Comutação via rede de interconexão (crossbar): Usadas para evitar essa
limitação de banda passante dos barramentos. As portas de entradas são
ligadas às de saída por fios, que possuem conexões elétricas. As conexões
ligadas representam o caminho que está sendo usado. Inspirada nas Redes
Banyan, redes de interconexão desenvolvidas para conectar processadores de
sistemas multiprocessadores. Ela também faz fragmentação de datagramas em
tamanhos fixos.
Porta de saída
1. A primeira caixinha tem uma fila, pois a taxa do elemento de comutação pode
ser maior que a taxa do processamento de enlace. Pode acontecer também de
virem muitos datagramas de diferentes entradas para a mesma saída, e só se
pode processar um por vez, precisando assim da fila.
2. A segunda faz o processamento de enlace, recebendo um datagrama que é
encapsulado num quadro do enlace.
3. A terceira é a terminação de linha, que escreve os bits no enlace de
comunicação.
obs: A gente assume, para questões de cálculo, que o roteador tem uma única fila, mas
na prática ele tem uma fila pra cada interface de entrada e de saída.
Precisa ter um algoritmo de escalonamento pra atender cada uma das filas das portas
de entrada, estabelecendo alguma prioridade. Tem elementos de comutação que
encaminham pacotes de entradas diferentes simultaneamente, contanto que vão pra
saídas diferentes. Mas isso pode gerar o bloqueio de cabeça de fila (head-of-the-line
blocking - HOL), no qual o primeiro datagrama da fila bloqueia os de trás, mesmo que
eles vão pra saídas que estejam livres. Esse enfileiramento causa atraso e pode haver
overflow, com perda de pacotes.
Camada de rede da internet
Possui dois protocolos: IP e ICMP.
Formato do datagrama IPv4
Pontos importantes do cabeçalho:
➢ Offset de fragmentação: digamos que foi gerado um datagrama que é maior que
o enlace de comunicação, você vai fragmentar o datagrama em datagramas
menores.
➢ Tempo de vida: guarda o número máximo de saltos (é decrementado a cada
roteador - se tiver um problema de loop na rede, quando o contador chega a
zero o pacote é descartado). Também é usado no traceroute.
obs: À medida que o pacote vai descendo de camadas (aplicação, transporte e rede),
vão sendo adicionados cabeçalhos. Isso tem impacto com relação à taxa máxima de
transmissão do enlace, que não é diretamente revertida em dados úteis da aplicação.
Por isso, pode haver overhead (sobrecarga). Assim, o cabeçalho deve ser sempre o
menor possível.
Fragmentação
Na versão IPv4 do protocolo IP, os roteadores quebram datagramas que são grandes
demais para um enlace (ultrapassam o MTU - maximum transmission unit) e, no destino
final, esses datagramas são remontados. Diferentes tipos de enlaces têm diferentes
MTUs. Fazer fragmentação significa que o roteador vai precisar ter um processamento
adicional, causando mais atrasos para a aplicação.
Como acontece essa fragmentação?
A única parte fragmentada é a parte de dados. Já o cabeçalho dos datagramas
fragmentados vai ter o mesmo tamanho do cabeçalho do datagrama original, mas
algumas informações vão ser diferentes.
Cálculo da quantidade de fragmentos:
A divisão entre o tamanho de dados do datagrama original e o tamanho de dados do
fragmento resulta na quantidade de fragmentos necessários (deve ser arredondado
para o inteiro superior). No exemplo acima, o datagrama terá 2 fragmentos com
tamanho de dados máximo e um fragmento menor.
Campos do cabeçalho importantes na fragmentação:
➢ Comprimento do datagrama: Ele é calculado pela soma do tamanho do
cabeçalho e o tamanho dos dados.
➢ Identificador de 16 bits: o dos fragmentos permanece igual ao do original, para
que o destino final consiga identificar todos os fragmentos que pertencem
àquele datagrama específico.
➢ Flag de fragmentação: Quando é 1, quer dizer que é um fragmento (que não seja
o último). Quando é zero, seu significado depende do offset (deslocamento): Se
o datagrama for o original, o offset é zero e, se for o último fragmento, seu
offset é diferente de zero.
➢ Offset é um deslocamento que mostra a posição dos fragmentos no datagrama
original. Essa posição corresponde a blocos de 8 bits, então ele é calculado pela
soma dos tamanhos dos dados dos fragmentos anteriores dividido por 8. No
caso do primeiro fragmento, o offset vai ser sempre 0.
Assim, no destino, o datagrama vai ser remontado tomando como referência esses
campos no cabeçalho: ID, flag e offset.
O que acontece se um fragmento for perdido?
O host de destino não pode mandar pra camada de cima, pois ele não tem como
remontar o datagrama. Assim, se o protocolo de transporte for um TCP, o host de
origem vai identificar a perda em algum momento e reenviar o datagrama. Se tiver
usando UDP, não tem como detectar a perda e fica por isso mesmo.
Endereçamento com IPv4
Os identificadores são de 32 bits e precisam ser atribuídos para cada interface do
host/roteador. A interface é a conexão entre host/roteador e enlace físico, então, se
tiver mais de uma, cada uma vai ter um IP. Normalmente se trabalha com números de 0
a 255.
Hierarquia de endereçamento IP:
1. Prefixo: bits mais significativos, que determinam em qual rede o computador
está acoplado.
2. Sufixo: bits menos significativos, que identificam o computador acoplado na
rede.
Subredes
A parte da subrede no endereço IP corresponde ao prefixo, enquanto a parte do host
corresponde ao sufixo.
Uma subrede é o conjunto de interfaces de dispositivos com a mesma parte de subrede
do endereço IP. Esses dispositivos podem mandar pacotes entre si sem passar pelo
roteador.
Máscara de rede: Quantidade de bits que é usada para identificar a subrede. A máscara
pode ter duas notações:
➢ 223.1.1.0/24 (significa que a parte da subrede são os primeiros 24 bits desse
número - cada ponto separa números de 8 bits)
➢ 223.1.1.0/255.255.255.0 (como 225 é o valor máximo - 11111111 - está setando os
24 primeiros bits para 1, representando a subrede. Essa representação equivale
à de cima)
Antigamente existiam 3 classes de endereçamento IP:
➢ Classe A: 8 bits para a subrede
➢ Classe B: 16 bits para a subrede
➢ Classe C: 24 bits para a subrede
Através dessas classes, existe uma forma de calcular a quantidade de hosts disponível
por interface para aquela subrede, elevando 2 à quantidade de bits do sufixo do
endereço e diminuindo por 2 (pois o primeiro endereço é usado para roteamento e o
último é usado para broadcasting). Assim, para as 3 classes, fica o seguinte:
➢ Classe A: 2^24 - 2 = 16777214
➢ Classe B: 2^16 - 2 = 65534
➢ Classe C: 2^8 - 2 = 254
O problema disso é que para organizações que precisam de uma subrede com até 2000
hosts é necessário alocar um endereço de rede na classe B, desperdiçando mais de
63000 endereços. Assim, com várias subredes sendo usadas e endereços
desperdiçados, os IPs estavam se esgotando.
Como foi que resolveram isso?
Criaram o CIDR (classless interdomain routing), um método que abandona essas classes
definidas e permite que a parte da subrede tenha tamanho arbitrário. Assim, as
subredes agora são representadas por faixas de endereços IP, como:
1. 192.168.0.0/24
Esse número representa os 256 endereços IPv4 de 192.168.0.0 até 192.168.0.255
(equivalente a classe C, mas incluindo os de roteamento e de broadcasting).
2. 192.168.0.0/22
Representa 1024 endereços IPv4 de 192.168.0.0 até 192.168.3.255
Obtendo o endereço IP
Antigamente, os hosts obtinham um endereço IP colocando ele em um arquivo de
configuração, enquanto hoje eles usam o protocolo DHCP (dynamic host configuration
protocol),no qual, através de um servidor, eles obtêm o endereço dinamicamente.
Sempre que o host se conectar, ele pode receber o mesmo endereço IP ou um endereço
temporário de maneira automática. Por conta dessa automatização, ele é considerado
um protocolo plug and play.
A rede obtém a parte de subrede do endereço IP pelo endereço do seu ISP, pegando o
prefixo do endereço dele. Logo, se 8 organizações vão pegar faixas de IPs de um mesmo
ISP, eles adicionam 3 bits ao prefixo para identificar as 8 diferentes organizações.
Já o ISP consegue um bloco de endereços através do órgão ICANN (internet corporation
for assigned names and numbers), que aloca endereços, gerencia DNS, atribui nomes de
domínios e resolve disputas.
Os roteadores precisam informar a outros roteadores, como da internet, por exemplo,
qual a faixa de endereços IP que eles enxergam. Isso é o endereçamento hierárquico,
no qual os roteadores aprendem quem enxerga quem e por qual direção um pacote vai
tomar pra chegar no destino, permitindo uma divulgação de informações de roteamento
mais eficiente. Quando um roteador executa o protocolo de roteamento, ele
basicamente diz pros seus vizinhos: envie-me tudo a partir do endereço de IP X.
E o que acontece se uma organização sair de um ISP e for pra outro?
O ISP que ela tava anteriormente mantém a mesma faixa de endereços, enquanto o
novo ISP vai falar: envie-me tudo a partir de Y ou Z (sendo Y sua faixa original e Z o
endereço da organização que mudou). Já o roteador da internet vai saber pra qual
interface mandar um pacote pela regra do prefixo mais longo nas tabelas de
encaminhamento dos roteadores. O prefixo mais longo que bate com o endereço está
na interface nova, então é pra ela que vai ser mandado o pacote.
broadcasting -> se mandar algo pra ele, ele manda pra todos os pcs da subrede
multicast -> não manda pra todo mundo, mas pra um grupo
NAT: Network Address Translation
NAT é uma abordagem de tradução de endereços de rede que garante maior segurança
através de IPs não rastreáveis para a internet.
Dentro de uma rede local, os computadores possuem endereços IP privados. Esses
endereços não podem ser usados para se comunicar com a internet fora dessa rede
local. Por isso, o roteador da rede local possui um endereço IP público que vai servir
para todos os hosts dentro daquela rede, sendo diferenciados por portas. Esse
endereço público é alocado no roteador pelo provedor de acesso à internet com o uso
do DHCP.
Assim, quando é enviado um datagrama, o host de origem coloca seu IP privado no
cabeçalho, junto com um número de porta. Quando o datagrama chega no roteador, ele
converte esses valores no IP público e em outro número de porta, através de uma tabela
de conversão. Se chegar uma resposta, o roteador converte de volta esses valores
externos pra os valores internos, reescrevendo o cabeçalho do pacote.
Vantagens do uso do NAT:
➢ Independente da quantidade de computadores na rede local, o provedor só
precisa alocar um único endereço IP público pra falar com o mundo externo.
➢ Se quiser mudar os endereços IP internos da rede, não precisa alterar o IP
público.
➢ Se chegar um pacote no roteador que não tem mapeamento na tabela, o
roteador descarta ele, fornecendo mais segurança para os hosts internos da
rede.
➢ Como o número de porta tem 16 bits, então é possível ter 2^16 conexões
simultâneas suportadas num único endereço IP público.
Por esses motivos, os roteadores precisam ter um processamento maior e maior
capacidade de memória, o que nem todos os roteadores possuem.
Algumas pessoas têm grandes restrições com relação ao uso do NAT, porque ele viola
alguns princípios estabelecidos sobre redes de computadores. As principais
controvérsias incluem:
➢ Os números de porta devem endereçar somente processos e não hospedeiros.
➢ Os roteadores devem processar somente até a camada de rede (camada 3), e
como o NAT tem que reescrever o cabeçalho, ele precisa acessar a camada de
transporte.
➢ O NAT viola o argumento fim a fim, que diz que os hosts devem falar diretamente
uns com os outros, sem a interferência de nós que mudem os endereços IP e
números de porta.
➢ Para conexões P2P, antigamente, o usuário precisava abrir portas no
computador e no roteador. Hoje, tem o protocolo UPnP que abre as portas
necessárias automaticamente, já que o NAT por si só não abre portas para
comunicação de hosts numa rede privada e outro fora dela que não tem
mapeamento.
Assim, a escassez dos endereços IP deve ser resolvida com uma nova versão do
protocolo IP (IPv6) e não com uma solução temporária como a NAT.
ICMP e Traceroute
Esse protocolo (Internet Control Message Protocol) é usado tanto por hosts quanto por
roteadores pra comunicar acontecimentos no nível de rede, como erros relacionados a
um host, rede, porta ou protocolo inalcançável.
As mensagens do tipo echo request e echo reply são usadas pelo ping para testar a
conexão entre dispositivos.
Uma mensagem ICMP carrega o tipo, código e os 8 primeiros bits do datagrama IP
referente à resposta. A mensagem é encapsulada dentro do datagrama IP, por isso o
protocolo ICMP está acima do IP, mas ainda dentro da camada de rede.
obs: código 11 0 TTL expirado:
Mensagem que indica que o tempo de vida (time to live) expirou.
O código de TTL expirado é bastante usado no Traceroute. O protocolo ICMP é quem vai
mandar a resposta pra origem quando cada probe chega num roteador. Então, se um
host especifica o TTL máximo de 10, por exemplo, ele faz o seguinte para calcular o RTT
de cada roteador:
1. Manda o primeiro probe com TTL = 1. Quando ele chegar no primeiro roteador o
TTL vai pra 0 e o ICMP manda a mensagem de TTL expirado. Assim que a origem
receber a resposta, ela calcula o RTT para o primeiro salto.
2. Depois, manda o segundo probe com TTL = 2 e, quando ele chegar no segundo
roteador, seu TTL vai pra 0 e a mensagem de expirado é mandada pra origem.
Quando ela chegar, o RTT é calculado e o processo se repete, até os pacotes
chegarem no destino ou o TTL máximo expirar.
Se o datagrama chegar no host de destino, retorna a mensagem ICMP de host
inalcançável.
IPv6
A motivação principal para a criação do protocolo IPv6 foi a de aumentar a faixa de
endereçamento do IPv4, pois os endereços estavam se esgotando.
Algumas motivações adicionais:
➢ Permitir que a rede forneça serviços diferentes para tipos de pacotes
diferentes, por exemplo: usar filas normais e prioritárias no roteador, para que
pacotes marcados no cabeçalho como prioritários tenham menor atraso. Esse
tipo de diferenciação de serviços na rede não é permitida no IPv4.
➢ Colocar um tamanho fixo no cabeçalho de 40 bytes, pois o do IPv4 tem 20 bytes
fixos + o campo de opções, o que não ajuda no processamento nos roteadores.
Isso demanda um aumento da banda passante, pois a sobrecarga cresce com o
aumento do tamanho do cabeçalho.
➢ Não fazer fragmentação, pra dar menos trabalho pro roteador.
Alguns campos importantes do cabeçalho do IPv6:
➢ Campo prioridade, que determina se o datagrama tem prioridade em filas de
roteadores.
➢ Flow label, que identifica fluxos de datagramas.
➢ Payload length, que é o tamanho da parte de dados.
➢ Next header, que identifica o protocolo da camada superior e se tem um campo
opções na parte de dados.
➢ Hop limit, que é equivalente ao Tempo de Vida (TTL).
➢ Endereços de origem e destino tem agora 128 bits cada.
obs: IPv6 não tem checksum, com o objetivo de reduzir o tempo de processamento em
cada salto. Como hoje os equipamentos de cabeamento são melhores, então são menos
suscetíveis a erros de bits. Os erros que ocasionalmente surgirem, o trabalho de
detecção fica pras outras camadas, como a de transporte.
O protocolo do ICMP também precisou ser atualizado pra ICMPv6. Algumas mudanças
foram:
➢ Tipos adicionais de mensagens, como a de “pacote muito grande”, já que agora
não tem mais fragmentação nos roteadores. Com essa mensagem, a fonte que
se vire pra enviar um pacote no tamanho correto.
➢ Funções de gerenciamento de grupos multicast.
Endereçamentocom IPv6
Cada endereço é formado por 8 grupos com 4 dígitos hexadecimais, mas algumas
substituições podem ser feitas pra simplificar.
Se um grupo tem 4 zeros, ele pode ser omitido e substituído por :: ou por um único 0. Se
tiver mais de um grupo com 4 zeros, o :: pode substituir todos ou apenas alguns. Um
zero à esquerda dos números de um grupo também pode ser tirado.
Já sobre a notação CIDR, usa a mesma representação do IPv4 de /número de bits da
subrede.
Então a seguinte faixa de endereços:
2001:0db8:1234::/48 vai de
2001:0db8:1234:0000:0000:0000:0000:0000 até
2001:0db8:1234:FFFF:FFFF:FFFF:FFFF:FFFF
Atualizações do IPv4 pro IPv6
Os roteadores não podem ser atualizados todos de uma vez, logo a rede tem que operar
com roteadores IPv4 e IPv6.
➢ Estratégia da pilha dupla: equipamentos suportam os dois protocolos.
➢ Estratégia do tunelamento: Pacotes IPv6 são encapsulados na parte de dados
dos datagramas IPv4. Assim, quando for necessário usar o IPv6 em algum
dispositivo, ele é desencapsulado e usado, e depois encapsulado de novo.
Quando passa por roteadores que não suportam o IPv6, é como se passasse por
um túnel.

Outros materiais