Sei sulla pagina 1di 11

Título: Resumão do conteúdo Camada de Redes. Autor: Andrey G.

França Data: Jun 25 de 2018

Camada de Rede
Repasse e roteamento
Roteador
Elemento de Comutação
Atraso e fila
Protocolo da Internet (IP)
Fragmentação datagrama IP
Endereçamento IPv4
DHCP
Tradução de endereços na rede (NAT)
UPnP
Protocolo de Mensagens de Controle da Internet (ICMP)
IPv6
Novidades do IPv6
Endereços Unicast
Endereços Multicast
Endereços Anycast
Transição do IPv4 para o IPv6
Algoritmos de Roteamento
O algoritmo de roteamento de estado de enlace (LS)
Algoritmo Vetor de Distância (DV)
Protocolos que utilizam o algoritmo DV
Links úteis

Camada de Rede
Repasse e roteamento
Repasse. Quando um pacote chega ao enlace de entrada de um roteador, este deve conduzi-lo até o enlace de saída
apropriado. Por exemplo, um pacote proveniente do hospedeiro H1 que chega ao roteador R1 deve ser repassado ao
roteador seguinte por um caminho até H2.

Roteamento. A camada de rede deve determinar a rota ou o caminho tomado pelos pacotes ao fluírem de um remetente a
um destinatário. Os algoritmos que calculam esses caminhos são denominados algoritmos de roteamento. Um algoritmo
de roteamento determinaria, por exemplo, o caminho pelo qual os pacotes fluiriam de H1 para H2.

Portanto a diferença é grandem repasse é repassar localmente de uma porta de entrada para uma porta de saída dentro de
um roteador, já o roteamento é algo mais geral, isto é determinar todo o caminho de uma mensagem do hospedeiro de
origem ao de destino.
Cada roteador tem uma tabela de repasse. Um roteador repassa um pacote examinando o valor de um campo no
cabeçalho do pacote que está chegando e então utiliza esse valor para indexar sua tabela de repasse. O resultado da
tabela de repasse indica para qual das interfaces de enlace do roteador o pacote deve ser repassado.

O termo comutador de pacote se refere a qualquer dispositivo que cosniga transmitir dados de uma entrada para uma
saída, temos os comutadores de pacotes de camada 3 (roteadores) mas também temos os comudadores de pacote de
camada 2 (switches) que trabalham com protocolos da camada 2.

Roteador
Um roteador é composto por 4 componentes

Portas de entrada
elemento de comutação
portas de saída
processador de roteamento

Elemento de Comutação
É por meio do elemento de comutação que os pacotes são comutados (isto é, repassados) de uma porta de entrada para
uma porta de saída. A comutação pode ser realizada de inúmeras maneiras

Comutação por memória - Esse é o tipo mais simples de se fazer o repasse, o comutador recebe um datagrama na
entrada, o processador de roteamento então extraía o endereço de destino do cabeçalho, consultava a porta de saída
apropriada na tabela de repasse e copiava o pacote para os buffers da porta de saída. Assim apenas um datagrama
poderia ser processado por vez.
Comutação por um barramento - Nessa abordagem, as portas de entrada transferem um pacote diretamente para a
porta de saída por um barramento compartilhado sem a intervenção do processador de roteamento. Para isso, a porta
de entrada insere um rótulo interno ao comutador (cabeçalho) antes do pacote, indicando a porta de saída local à qual
ele está sendo transferido e o pacote é transmitido para o barramento. Ele é recebido por todas as portas de saída, mas
somente a porta que combina com o rótulo manterá o pacote. O rótulo é então removido na porta de saída, pois só é
usado dentro do comutador para atravessar o barramento. Se vários pacotes chegarem ao roteador ao mesmo tempo,
cada um em uma porta de entrada diferente, todos menos um deverão esperar, pois apenas um pacote pode cruzar o
barramento de cada vez. Como cada pacote precisa atravessar o único barramento, a velocidade de comutação do
roteador é limitada à velocidade do barramento

Comutação por uma rede de interconexão - Cada barramento vertical atravessa cada barramento horizontal em um
cruzamento, que pode ser aberto ou fechado a qualquer momento pelo controlador do elemento de comutação (cuja
lógica faz parte do próprio elemento de comutação). Quando um pacote chega da porta A e precisa ser repassado para
a porta Y, o controlador do comutador fecha o cruzamento na interseção dos barramentos A e Y, e a porta A, então,
envia o pacote para seu barramento, que é apanhado (apenas) pelo barramento Y.
Atraso e fila
Tem vários protocolos no kurose pagina 241, rever depois se precisar.

Protocolo da Internet (IP)


Fragmentação datagrama IP
Quando um datagrama IP precisa ser encapsulado em um quadro da camada de enlace, acotence um problema, pois os
quadros da camada de enlace podem suportar apenas uma pequena porção de Bytes, por exemplo o quadro Ethernet
suporta apenas 1500 Bytes, dessa forma se o datagrama ultrapassa esse tamanho ele precisa ser fragmentado, e cada
fragmento vai em um quadro diferente. Nesse sentido, é preciso de mecanismos para que quando o datagrama IP chege no
hospedeiro de origem ele possa ser reconstruído. Para permitir que o hospedeiro destinatário realize essas tarefas de
reconstrução, os projetistas do IP (versão 4) criaram campos de identificação, flag e deslocamento de fragmentação no
cabeçalho do datagrama IP. Quando um datagrama é criado, o hospedeiro remetente marca o datagrama com um número
de identificação, bem como com os endereços de origem e de destino. Em geral, o hospedeiro remetente incrementa o
número de identificação para cada datagrama que envia. Quando um roteador precisa fragmentar um datagrama, cada
datagrama resultante (isto é, cada fragmento) é marcado com o endereço de origem, o endereço do destino e o número de
identificação do datagrama original.

Vimos que a fragmentação do IP tem papel importante na união das diversas tecnologias distintas da camada de enlace.
Mas a fragmentação também tem seu preço. Primeiro, ela dificulta roteadores e sistemas finais, que precisam ser
projetados para acomodar a fragmentação do datagrama e o reagrupamento. Segundo, a fragmentação pode ser usada para
criar ataques DoS fatais, em que o atacante envia uma série de fragmentos estranhos e inesperados. Um exemplo clássico
é o ataque Jolt2, no qual o atacante envia uma cadeia de pequenos fragmentos para o computador-alvo, nenhum dos
quais com um deslocamento de zero. O alvo pode se recolher ao tentar reconstruir datagramas pelos pacotes degenerados.
Outra classe de exploits envia sobreposição de fragmentos IP, ou seja, fragmentos cujos valores de deslocamento são
definidos para que não se alinhem corretamente. Sistemas operacionais vulneráveis, sem saber o que fazer com a
sobreposição de fragmentos, podem pifar. O IPv6, põe fim por completo à fragmentação, o processamento do pacote IP e
tornando o IP menos vulnerável a ataques.
Endereçamento IPv4
Cada endereço IP tem 34 bites (4 bytes). Portanto, há um total de endereços IPs possíveis, cerca de 4 bilhões, os quais
são escritos em notação separada por pontos, na qual cada byte é escrito na sua forma decimal e separado dos outros
bytes por um ponto.

A Figura abaixo fornece um exemplo de endereçamento IP e interfaces. Nela, um roteador (com três interfaces) é usado
para interconectar sete hospedeiros. Examine os endereços IP atribuídos às interfaces de hospedeiros e roteadores; há
diversas particularidades a notar. Todos os três hospedeiros da parte superior esquerda da Figura — e também a interface
do roteador ao qual estão ligados — têm um endereço IP na forma 223.1.1.xxx, ou seja, todos têm os mesmos 24 bits
mais à esquerda em seus endereços IP. As quatro interfaces também estão interconectadas por uma rede que não contém
nenhum roteador. Essa rede poderia ser interconectada por uma LAN Ethernet, caso em que as interfaces seriam
conectadas por um comutador Ethernet ou por um ponto de acesso sem fio .

Na terminologia IP, essa rede que interconecta três interfaces de hospedeiros e uma interface de roteador forma uma sub-
rede. O endereçamento IP designa um endereço a essa sub-rede: 223.1.1.0/24, no qual a notação /24, às vezes conhecida
como uma máscara de sub-rede, indica que os 24 bits mais à esquerda do conjunto de 32 bits definem o endereço da
sub-rede. Assim, a sub-rede 223.1.1.0/24 consiste em três interfaces de hospedeiros (223.1.1.1, 223.1.1.2 e 223.1.1.3) e
uma interface de roteador (223.1.1.4).

A estratégia de de atribuição de endereços IP é conhecida como CIDR (roteamento interdomínio sem calsse) O CIDR
generaliza a noção de endereçamento de sub-rede. Como acontece com o endereçamento de sub-redes, o endereço IP de
32 bits é dividido em duas partes e, mais uma vez, tem a forma decimal com pontos de separação a.b.c.d/x, em que x
indica o número de bits da primeira parte do endereço. Os x bits mais significativos de um endereço na forma a.b.c.d/x
constituem a parcela da rede do endereço IP e costumam ser denominados prefixo (ou prefixo de rede).
Quando uma organização compra uma parcela de endereços IPs ela pode criar sub-redes dentro dela e dividir os
endereços IPs para cada subrede. Tão logo quanto receba uma parcela desses endereços IPs, uma organização ja pode
disponibilizar aos hospedeiros da sub-rede um endereço IP individual, isto pode ser manualmente pelo administrador de
rede, ou ele poderá utilizar o DHCP para determinar endereços IPs automaticamente para cada hospedeiro conectado na
sub-rede, e pode fazer várias configurações, como por exemplo determinar que um hospedeiro H sempre receba o mesmo
endereço IP quando se conectar à rede.

DHCP
Por causa de sua capacidade de automatizar os aspectos relativos à rede da conexão de um hospedeiro, o DHCP é em
geral denominado um protocolo plug and play. Por exemplo considere uma sub-rede de uma universidade em que vários
alunos chegam e se contectam a todo momento, por isso um servidor DHCP fica atribuindo endereços IPS às máquinas
dos alunos e removendo quando desconectado, com isso o administrador da rede fica de boa (tipo eu agora).

O DHCP é um protocolo cliente-servidor. Em geral o cliente é um hospedeiro recém-chegado que quer obter informações
sobre configuração da rede, incluindo endereço IP, para si mesmo. Cada sub-rede terá um servidor DHCP.

Para um hospedeiro recém-chegado, o protocolo DHCP é um processo de quatro etapas

Descoberta do servidor DHCP: Quando um cliente recém chegado na sub-rede quer ser conectar ele manda uma
mensagem de descoberta DHCP, a qual o cliente envia dentro de um pacote UDP para a porta 67 com o endereço IP
de destino de difusão 255.255.255.255 e um endereço IP destinatário “desse hospedeiro” 0.0.0.0. O DHCP então
responde por difusão para esta rede.
Oferta(s) dos servidores DHCP – ESSA PARTE TA MEIO OBSCURA VOLTAR AQUI DEPOIS KORMEN 257
Solicitação DHCP – O cliente recém-chegado escolherá dentre uma ou mais ofertas do servidor e responderá à sua
oferta selecionada com uma mensagem de solicitação DHCP, repetindo os parâmetros de configuração
DHCP ACK - O servidor responde a mensagem de requisição DHCP com uma mensagem DHCP ACK, confirmando os
parâmetros requisitados.

Pronto amiguinhos, uma vez que o cliente recebe o DHCP ACK, a interação é concluída e ele pode usar o endereço IP
alocado pelo DHCP pelo tempo de concessão. Caso queira usar seu endereço após a expiração da concessão, o DHCP
também fornece um mecanismo que permite ao cliente renovar sua concessão sobre um endereço IP.

Tradução de endereços na rede (NAT)


Se eu quiser criar uma sub-rede na minha casa vou precisar ligar pro meu ISP e pedir uma faixa de IP? a resposta é NÃO
eu posso utilizar um roteador NAT (tradução de endereços de rede). Com o NAT eu consigo criar uma sub-rede visivel
só na minha casa, com endereços 10.0.0.0/24, e quando um hospedeiro na minha sub-rede por exemplo que uma página
web de um servidor na Internet, ele requisita essa página, seu endereço IP vai para a tabela NAT, ou seja, um endereço
local tipo 10.0.0.1 juntamente com um endereço de porta arbitrário tipo 3545, o roteador NAT gera um novo número de
porta para esse hospedeiro tipo 5001 por exemplo e armazena o IP e essa porta na tabela de tradução NAT. O servidor
Web, totalmente alheio ao fato de que o datagrama que está chegando com uma requisição HTTP foi manipulado pelo
roteador NAT, responde com um datagrama cujo endereço de destino é o endereço IP do roteador NAT, e cujo número de
porta de destino é 5001. Quando esse datagrama chega ao roteador NAT, ele indexa a tabela de tradução NAT usando o
endereço IP de destino e o número de porta de destino para obter o endereço IP (10.0.0.1) e o número de porta de destino
(3545) adequados para o navegador na rede residencial. O roteador então reescreve o endereço de destino e o número de
porta de destino do datagrama e o repassa para a rede residencial.

Para leitura mais aprofundada, porra nenhuma merma merda, Kurose 259.

UPnP
Em resumo, o UPnP permite que hospedeiros externos iniciem sessões de comunicação com hospedeiros que utilizam
NAT, usando TCP ou UDP. As NATs foram inimigas das aplicações P2P por um longo tempo; o UPnP, que apresenta uma
solução eficaz e potente para a travessia da NAT, pode ser a salvação.

Protocolo de Mensagens de Controle da Internet (ICMP)


O ICMP, é usado por hospedeiros e roteadores para comunicar informações de camada de rede entre si. A utilização mais
comum do ICMP é para comunicação de erros.

Por exemplo, ao rodar uma sessão Telnet, FTP ou HTTP, é possível que você já tenha encontrado uma mensagem de erro
como “Rede de destino inalcançável”. Essa mensagem teve sua origem no ICMP.

Mensagens ICMP não fazem parte do IP, mensagens ICMP vão dentro da carga útil do datagrama IP, assim como o UDP e
TCP.

Mensagens ICMP têm um campo de tipo e um campo de código. Além disso, contêm o cabeçalho e os primeiros 8 bytes
do datagrama IP que causou a criação da mensagem ICMP em primeiro lugar (de modo que o remetente pode determinar
o datagrama que causou o erro).

Alguns tipos de mensagens ICMP são mostrados na figura acima. Note que mensagens ICMP não são usadas somente
para sinalizar condições de erro.

Por exemplo, O conhecido programa ping envia uma mensagem ICMP do tipo 8 código 0 para o hospedeiro
especificado. O hospedeiro de destino, ao ver a solicitação de eco, devolve uma resposta de eco ICMP do tipo 0 código
0.
IPv6
A primeira motivação para o desenvolvimento do IPv6 era que o IPv4 já não estava tendo endereços suficientes (os 4
bilhões possíveis) para não ter problemas, no icinio da década de 90 começou-se a pensar no IPv6

Novidades do IPv6

Capacidade de endereçamento expandida – O IPv6 aumenta o tamanho do endereço IP de 32 bits para 128 bits. o
IPv6 introduziu um novo tipo de endereço, denominado endereço para qualquer membro do grupo (anycast), que
permite que um datagrama seja entregue a qualquer hospedeiro de um grupo.
Cabeçalho aprimorado de 40 bytes – Vários campos IPv4 foram descartados ou tornaram-se opcionais. O cabeçalho
de comprimento fixo de 40 bytes resultante permite processamento mais veloz do datagrama IP. Uma nova codificação
de opções permite um processamento de opções mais flexível.
Rotulação de fluxo e prioridade – Rotular pacotes que pertencem a fluxos particulares para os quais o remetente
requisita tratamento especial, tal como um serviço de qualidade não padrão ou um serviço de tempo real”. Por
exemplo, a transmissão de áudio e vídeo seria tratada como um fluxo. Por outro lado, aplicações mais tradicionais,
como transferência de arquivos e e-mail, poderiam não ser tratadas assim.

Regras de abreviação:

1 - Em cada bloco, os zeros à esquerda podem ser omitidos. Exemplo de representações:

FDEC:0074:0000:0000:0000:B0FF:0000:FFF0

FDEC:74:0:0:0:B0FF:0:FFF0

2 - Sequências longas de X números podem ser substituídas por ::.

3 - 4 zeros seguidos podem ser substituído por apenas 1

Exemplos: Original: 2001:0DB8:0000:0000:130F:0000:0000:140B Reduzido: 2001:DB8:0:0:130F::140B ou


2001:DB8::130F:0:0:140

Essa abreviação pode ser feito no início ou no fim, exemplo:


2001:DB8:0:54:0:0:0:0 Torna: 2001:DB8:0:54::

Endereços Unicast

Um endereço unicast define um único computador. O pacote enviado a um endereço unicast deve ser entregue àquele
computador específico. O IPv6 define dois tipos de endereços unicast: baseados geograficamente e em provedores. Os
endereços baseados em provedores geralmente são usados por um host comum, como um endereço unicast.

Endereços Multicast

São usados para definir um grupo de hosts em vez de apenas um. Um pacote enviado para um endereço multicast tem de
ser entregue a cada membro do grupo.

Endereços Anycast

O IPv6 também define endereços anycast. Um endereço anycast, assim como um endereço multicast, também define um
grupo de nós. Entretanto, um pacote destinado a um endereço anycast é entregue apenas a um dos membros do grupo
anycast, o mais próximo (aquele com a rota mais curta).

Transição do IPv4 para o IPv6


Como seria feita a migração do IPv4 para o IPv6, quando este foi lançado, tinha a opção para o dia D, mas isso era
enviável. Provavelmente, a maneira mais direta de introduzir nós habilitados ao IPv6 seja uma abordagem de pilha
dupla, em que nós IPv6 também tenham uma implementação IPv4 completa.

Uma alternativa para a abordagem de pilha dupla é conhecida como implantação de túnel. Nessa abordagem um
roteador com suporte IPv6 coloca a informação dentro da carga útil do datagrama IPv4, e manda pela rede com se fosse
um IPv4, e quando ele chega no hospedeiro de destino, ele sabe que a carga útil se trata do verdadeiro datagrama.

Livro começa a falar de segurança na camada de Rede, com o protocolo IPsec, vou deixar para o capitulo 8

Algoritmos de Roteamento

Classificação

algoritmo de roteamento global – Algoritmo que calcula o caminho de menor custo sabendo de todas as informações
da rede.
algoritmo de roteamento descentralizado – o cálculo do caminho de menor custo é realizado de enlace em enlace,
isto é o. Então, por meio de um processo iterativo de cálculo e de troca de informações com seus nós vizinhos, um nó
gradualmente calcula o caminho de menor custo até um destino ou um conjunto de destinos.
algoritmos de roteamento estáticos – as rotas mudam muito devagar ao longo do tempo, muitas vezes como
resultado de intervenção humana
algoritmos de roteamento dinâmicos – mudam os caminhos de roteamento à medida que mudam as cargas de tráfego
ou a topologia da rede. Um algoritmo dinâmico pode ser rodado periodicamente ou como reação direta a mudanças de
topologia ou de custo dos enlaces. Ao mesmo tempo em que são mais sensíveis a mudanças na rede, algoritmos
dinâmicos também são mais suscetíveis a problemas como loops de roteamento e oscilação em rotas.
algoritmo sensível à carga – custos de enlace variam dinamicamente para refletir o nível corrente de
congestionamento no enlace subjacente. Se houver um alto custo associado com um enlace que está congestionado,
um algoritmo de roteamento tenderá a escolher rotas que evitem esse enlace.

O algoritmo de roteamento de estado de enlace (LS)


A topologia da rede e todos os custos de enlace são conhecidos, isto é, estão disponíveis como dados para o algoritmo de
estado de enlace.

Algoritmo Vetor de Distância (DV)


é iterativo, assíncrono e distribuído. É distribuído porque cada nó recebe alguma informação de um ou mais vizinhos
diretamente ligados a ele, realiza cálculos e, em seguida, distribui os resultados de seus cálculos para seus vizinhos. É
iterativo porque esse processo continua até que mais nenhuma informação seja trocada entre vizinhos. (O interessante é
que este é um algoritmo finito — não há nenhum sinal de que o cálculo deve parar; ele apenas para.) O algoritmo é
assíncrono porque não requer que todos os nós rodem simultaneamente.

Seja o custo do caminho de menor custo do nó ao nó . Então, os menores custos estão relacionados segundo a
famosa equação de Bellman-Ford:

sendo o da equação calculado para todos os vizinhos de . A equação de Bellman-Ford não é apenas uma
curiosidade intelectual. Na verdade, ela tem uma importância prática significativa. Em particular, sua solução fornece os
registros da tabela de repasse do nó .

Cada roteador em uma rede que utiliza o algoritmo DV possui sua tabela de repasse, cada roteador sabe a distância dele
para seus vizinhos, e também possui um vetor de distâncias dos seus vizinhos, isto é, a distância dos seus vizinhos para
os vizinhos dos vizinhos (rsrs soy fueda). Em fim, com o algoritmo DV cada nó mantém os seguintes dados de
roteamento:

Para cada vizinho , o custo de até o vizinho diretamente ligado a ele,


O vetor de distâncias do nó , isto é, , contendo a estimativa de para seus custos até
todos os destinos, , em
Os vetores de distâncias de seus vizinhos, isto é, para cada vizinho de

No algoritmo distribuído, assíncrono, cada nó envia, a intervalos regulares, uma cópia do seu vetor de distâncias a cada
um de seus vizinhos.

Protocolos que utilizam o algoritmo DV

RIP
BGP da Internet
ISO IDRP
IPX da Novel
ARPAnet original

Links úteis
http://www.rederio.br/downloads/pdf/nt01100.pdf
https://www.gta.ufrj.br/grad/98_2/aline/indice.html

Potrebbero piacerti anche