Redes industriais
Carlos Roberto da Silva Filho, M. Eng.
Camada de Rede
• Uma das principais funções da camada de
rede são: repasse e roteamento;
• Repasse: mover pacotes da entrada do
roteador para a saída apropriada do
roteador;
• Roteamento: determinar rota seguida pelos
pacotes da origem ao destino;
Camada de Rede
aplicação
transporte
rede
enlace
física
1. Envia dados
aplicação
transporte
rede
2. Recebe dados
enlace
física
Visão geral do Roteador
• As duas funções principais do roteador:
• Executar algoritmos/protocolo de roteamento
(RIP, OSPF, BGP)
• Repassar datagramas do enlace de entrada
para saída;
Roteamento e Repasse
algoritmo de roteamento
tabela de repasse local
enlace saída
valor cab.
0100
0101
0111
1001
3
2
2
1
valor no cabeçalho
do pacote de chegada
1
0111
3
2
Camada de Rede
• Funções na camada de rede do host e
roteador:
Camada de transporte: TCP, UDP
Camada
de rede
protocolo IP
•conversão de endereçamento
•formato de datagrama
•conversão manuseio de pacote
prots. roteamento
•seleção caminho
•RIP, OSPF, BGP
tabela de
repasse
protocolo ICMP
•informe de erro
•“sinalização” do roteador
Camada de enlace
Camada física
Roteamento - Protocolos
• Protocolos
conhecidos
como
Interior
Gateway Protocols (IGP);
• Protocolos de roteamento intra-AS (sistemas
autônomos) mais comuns:
• RIP: Routing Information Protocol;
• OSPF: Open Shortest Path First;
• IGRP: Interior Gateway roteamento Protocol
(proprietário da Cisco);
RIP - Routing Information
Protocol
•
•
•
•
Algoritmo de vetor de distância;
Incluído na distribuição BSD-UNIX em 1982;
Métrica de distância: # de saltos (máx. = 15);
Vetores de distância: trocados entre
vizinhos a cada 30 s por meio de mensagem
de resposta (também conhecida como
anúncio);
• Cada anúncio: lista de até 25 sub-redes de
destino dentro do AS;
RIP - Falha e Recuperação
• Se nenhum anúncio for ouvido após 180 s -->
vizinho/enlace declarado morto;
• Rotas via vizinho invalidadas;
• Novos anúncios enviados aos vizinhos;
• Vizinhos por sua vez enviam novos anúncios
(se não houver tabelas alteradas)
• Informação de falha do enlace rapidamente
(?) se propaga para rede inteira;
Roteamento
3c
3a
3b
AS3
2a
1c
1a
1d
2c
2b
AS2
1b
algoritmo
de roteamento
intra-AS
AS1
algoritmo
de roteamento
inter-AS
tabela de
repasse
- Tabela de repasse
configurada por algoritmo
de roteamento intra e interAS:
- intra-AS: define entradas
para destinos internos
- inter-AS & intra-AS:
definem entradas para
destinos externos
OSPF - Open Shortest Path First
•
•
•
•
•
•
“open”: publicamente disponível;
Usa algoritmo Link State (estado do link);
Disseminação de pacote LS;
Mapa de topologia em cada nó;
Cálculo de rota usando algoritmo de Dijkstra;
Anúncio OSPF transporta uma entrada por
roteador vizinho;
• Anúncios disseminados ao AS inteiro (com
inundação);
• Transportados
nas
mensagens
OSPF
diretamente por IP (em vez de TCP ou UDP);
Formato do Datagrama IP
Fragmentação
• Enlaces de rede têm MTU – unidade máxima
de transferência) – maior quadro possível.
• Diferentes tipos de enlace, diferentes MTUs.
• Grande
datagrama
IP
dividido
(“fragmentado”) dentro da rede;
• Um datagrama torna-se vários datagramas;
• Deve ser “reconstruído” apenas no destino;
• Bits de cabeçalho IP usados para identificar,
ordenar fragmentos relacionados;
Fragmentação
Fragmentação - exemplo
Exemplo
• datagrama de
4000 bytes
• MTU = 1500 bytes
1480 bytes no
campo de dados
deslocamento =
1480/8
tam.
ID fragflag desloc.
= 4000 = x
=0
=0
Um datagrama grande torna-se
vários datagramas menores
tam.
ID fragflag desloc.
= 1500 = x
=0
=1
tam.
ID fragflag desloc.
= 1500 = x
= 185
=1
tam.
ID fragflag desloc.
= 1040 = x
= 370
=0
Endereço IP - CIDR
• CIDR: Classless InterDomain Routing
(roteamento interdomínio sem classes);
• Parte de sub-rede do endereço de tamanho
arbitrário;
• Formato do endereço: a.b.c.d/x, onde x é #
bits na parte de sub-rede do endereço;
parte de
sub-rede
parte do
hosp.
11001000 00010111 00010000 00000000
200.23.16.0/23
DHCP - Visão Geral
• DHCP: Dynamic Host Configuration Protocol;
• Objetivo: permitir que o hospedeiro obtenha
dinamicamente seu endereço IP do servidor
de rede quando se conectar à rede;
• Pode renovar seu prazo no endereço
utilizado;
• Permite reutilização de endereços (só mantém
endereço enquanto conectado e “ligado”);
• Aceita usuários novos que queiram se juntar
à rede;
DHCP - Visão Geral
• Visão geral do DHCP:
• host broadcasts “DHCP discover” msg
[optional]
• servidor DHCP responde com msg “DHCP
offer” [opcional]
• hospedeiro requer endereço IP: msg
“DHCP request”
• servidor DHCP envia endereço: msg
“DHCP ack”;
DHCP - Visão Geral
servidor DHCP: 223.1.2.5
Descoberta DHCP
src : 0.0.0.0, 68
dest.: 255.255.255.255,67
yiaddr: 0.0.0.0
transaction ID: 654
Oferta DHCP
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
transaction ID: 654
Lifetime: 3600 secs
Solicitação DHCP
tempo
src: 0.0.0.0, 68
dest:: 255.255.255.255, 67
yiaddrr: 223.1.2.4
transaction ID: 655
Lifetime: 3600 secs
DHCP ACK
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
transaction ID: 655
Lifetime: 3600 secs
cliente
chegando
DHCP - Visão Geral
• O DHCP pode retornar mais do que apenas
o endereço IP alocado na sub-rede:
• Endereço do roteador do primeiro salto
para o cliente;
• Nome e endereço IP do servidor DNS;
• Máscara de rede (indicando parte de rede
versus host do endereço);
Endereçamento IP
• Como um ISP recebe bloco de endereços?
• ICANN: Internet Corporation for Assigned
Names and Numbers:
• aloca endereços;
• administra o DNS;
• atribui nomes de domínio e resolve
disputas;
NAT – Motivação
• Rede local usa apenas um endereço IP no
que se refere ao mundo exterior;
• Intervalo de endereços não necessário
pelo ISP apenas um endereço IP para
todos os dispositivos;
• Pode mudar os endereços dos dispositivos
na rede local sem notificar o mundo
exterior;
NAT – Motivação
• Pode mudar de ISP sem alterar os
endereços dos dispositivos na rede
local;
• Dispositivos dentro da rede local não
precisam ser explicitamente endereçáveis
ou visíveis pelo mundo exterior (uma
questão de segurança);
NAT – Visão Geral
• NAT: Network Address Translation;
restante da
Internet
rede local
(p. e., rede doméstica)
10.0.0/24
10.0.0.1
10.0.0.4
138.76.29.7
todos os datagramas saindo da rede
local têm mesmo endereço IP NAT
de origem: 138.76.29.7, mas
diferentes números de porta de
origem
datagramas com origem ou
destino nesta rede têm
endereço 10.0.0/24 para
origem/destino (como sempre)
NAT – Implementação
• Implementação: roteador NAT deve:
• Enviando
datagramas:
substituir
(endereço IP de origem, # porta) de cada
datagrama saindo por (endereço IP da
NAT, novo # porta);
• Clientes/servidores remotos responderão
usando (endereço IP da NAT, novo #
porta) como endereço de destino;
NAT – Implementação
• Lembrar (na tabela de tradução NAT) de
cada par de tradução (endereço IP de
origem, # porta) para (endereço IP da NAT,
novo # porta);
• Recebendo
datagramas:
substituir
(endereço IP da NAT, novo # porta) nos
campos de destino de cada datagrama
chegando por (endereço IP origem, #
porta) correspondente, armazenado na
tabela NAT;
NAT – Implementação
NAT – Implementação
Protocolos de Transporte
• Oferecem comunicação lógica entre processos
de aplicação rodando em hosts diferentes;
• Protocolos de transporte rodam em sistemas
finais;
• Lado remetente: divide as msgs da aplicação
em segmentos, passa à camada de rede;
• Lado destinatário: remonta os segmentos em
msgs, passa à camada de aplicação;
• Mais de um protocolo de transporte disponível
às aplicações: Internet: TCP e UDP;
Protocolos de Transporte
aplicação
transporte
rede
enlace
física
aplicação
transporte
rede
enlace
física
Protocolos de Transporte
•
•
•
•
•
•
•
•
•
Remessa confiável e em ordem: TCP;
Controle de congestionamento;
Controle de fluxo;
Estabelecimento da conexão;
Remessa não confiável e desordenada:
UDP;
Extensão sem luxo do IP pelo “melhor
esforço”;
Serviços não disponíveis:
Garantias de atraso;
Garantias de largura de banda;
TCP – Visão Geral
TCP – Visão Geral
•
•
•
•
•
•
Ponto a ponto:
Um remetente, um destinatário;
Cadeia de bytes confiável, em ordem:
Sem “limites de mensagem”;
Paralelismo:
Congestionamento TCP e controle de fluxo
definem tamanho da janela;
• Buffers de envio & recepção;
TCP – Visão Geral
• Dados full duplex:
• Dados bidirecionais fluem na mesma
conexão;
• MSS: tamanho máximo do segmento;
• Orientado a conexão:
• Apresentação (troca de msgs de controle)
inicia estado do remetente e destinatário
antes da troca de dados;
• Fluxo controlado:
• Remetente não sobrecarrega destinatário;
TCP – Visão Geral
URG: dados urgentes
(quase não usado)
ACK: # ACK
válido
PSH: empurrar dados
agora (quase não usado)
RST, SYN, FIN:
estab. conexão
(comandos setup,
teardown)
soma de verificação
da Internet
32 bits
porta origem
porta destino
número sequência
contagem por
bytes de dados
(não segmentos!)
número reconhecimento
compr. não
UA P R S F
cab. usado
janela recepção
soma verificação ponteiro dados urg.
opções (tamanho variável)
dados da
aplicação
(tamanho variável)
# bytes
destinatário
pode aceitar
Multiplexação e Demultiplexação
multiplexação no remetente:
demultiplexação no destinatário:
entregando segmentos
recebidos ao socket correto
= socket
aplicação
transporte
rede
P3
colhendo dados de múltiplos
sockets, envelopando dados
com cabeçalho (usados depois
para demultiplexação)
= processo
P1
P1
aplicação
transporte
P2
P4
aplicação
transporte
rede
rede
enlace
enlace
enlace
física
física
física
host 1
host 2
host 3
Sockets
• Processo
envia/recebe
mensagens
de/para seu socket;
• Socket semelhante à porta;
• Processo enviando empurra mensagem
pela porta;
• Processo
enviando
conta
com
infraestrutura de transporte no outro lado
da porta, que leva a mensagem ao socket
no processo receptor;
Sockets
hospedeiro
ou servidor
processo
hospedeiro
ou servidor
controlado pelo
desenvolvedor
da aplicação
processo
socket
socket
TCP com
buffers,
variáveis
Internet
controlado
pelo OS
TCP com
buffers,
variáveis
Multiplexação e Demultiplexação
• Hospedeiro recebe datagramas IP;
• Cada datagrama tem endereço IP de
origem, endereço IP de destino;
• Cada datagrama carrega 1 segmento da
camada de transporte;
• Cada segmento tem número de porta de
origem, e porta de destino;
• Hospedeiro usa endereços IP e números
de porta para direcionar segmento ao
socket apropriado;
Multiplexação e Demultiplexação
32 bits
# porta origem
# porta destino
outros campos de cabeçalho
dados da
aplicação
(mensagem)
formato do segmento TCP/UDP
Multiplexação e Demultiplexação
P1
P4
P5
P2
P6
P1P3
SP: 5775
DP: 80
S-IP: B
D-IP:C
SP: 9157
cliente
IP: A
DP: 80
S-IP: A
D-IP:C
SP: 9157
servidor
IP: C
DP: 80
S-IP: B
D-IP:C
cliente
IP:B
Aplicações de Rede
•
•
•
•
•
Web, e-mail, mensagem instantânea;
Login remoto;
Compartilhamento de arquivos P2P;
Jogos em rede multiusuários;
Clipes de vídeo armazenados em fluxo
contínuo;
• Redes sociais;
• Voice over IP;
• Vídeoconferência em tempo real;
Aplicações de Rede
aplicação
transporte
rede
enlace
física
aplicação
transporte
rede
enlace
física
aplicação
transporte
rede
enlace
física
Arquitetura Cliente - Servidor
•
•
•
•
•
•
•
Servidor:
Host sempre ligado;
Endereço IP permanente;
Server farms por expansão;
Clientes:
Comunicam-se com o servidor;
Podem
estar
conectados
intermitentemente;
• Podem ter endereços IP dinâmicos;
• Não se comunicam diretamente entre si;
Arquitetura Cliente - Servidor
cliente/servidor
Arquitetura P2P
• Nenhum servidor sempre
ligado;
• Sistemas finais arbitrários se
comunicam diretamente;
• Pares são conectados
intermitentemente e mudam
endereços IP;
peer-peer
• Altamente escalável, mas
difícil de administrar;
Arquitetura Híbrida
• Skype:
• Aplicação P2P voice-over-IP;
• Servidor centralizado: achando endereço
da parte remota;
• Conexão cliente-cliente: direta;
Arquitetura Híbrida
• Mensagem instantânea:
• Bate-papo entre dois usuários é P2P;
• Serviço centralizado: detecção/localização
da presença do cliente;
• Usuário registra seu endereço IP com
servidor central quando entra on-line;
• Usuário contacta servidor central para
descobrir endereços IP dos parceiros;
Serviço de Transporte
• Que tipo de serviço de transporte
uma aplicação precisa?
• Perda de dados:
• algumas aplicações (ex.: áudio) podem
tolerar alguma perda;
• outras aplicações (ex.: transferência de
arquivos) exigem transferência de dados
100% confiável;
• Segurança:
• Criptografia, integridade de dados,…
Serviço de Transporte
• Que tipo de serviço de transporte
uma aplicação precisa?
• Temporização:
• algumas aplicações (ex.: telefonia na
Internet jogos interativos) exigem pouco
atraso para serem “eficazes”;
• Vazão:
• algumas apls. (p. e., multimídia) exigem um
mínimo de vazão para serem “eficazes”
• outras apls. (“apls. elásticas”) utilizam
qualquer vazão que receberem;
Serviço de Transporte
Aplicação
Perda de dados
Vazão
Sensível ao tempo
transf. arquivos
e-mail
documentos Web
áudio/vídeo
tempo real
áudio/vídeo
armazenado
jogos interativos
Mensagem
instantânea
sem perda
sem perda
sem perda
tolerante a perda
elástica
elástica
elástica
áudio: 5 kbps-1 Mbps
vídeo:10 kbps-5 Mbps
áudio: 5 kbps-1 Mbps
vídeo:10 kbps-5 Mbps
poucos kbps ou mais
elástica
não
não
não
sim, centenas de ms
tolerante a perda
tolerante a perda
sem perda
sim, alguns seg
sim, centenas de ms
sim e não
Web e HTTP
• Página Web consiste em objetos;
• Objeto pode ser: arquivo HTML, imagem
JPEG, applet Java, arquivo de áudio,…
• Página Web consiste em arquivo HTML
básico que inclui vários objetos referenciados
• Cada objeto é endereçável por um URL;
• Exemplo de URL:
• http://esportes.terra.com.br/futebol/estaduais/
nome do host
nome do caminho
HTTP – Visão Geral
• HTTP: HyperText Transfer Protocol;
• Protocolo da camada de aplicação da
Web;
• Modelo cliente/servidor;
• Cliente: navegador que requisita, recebe,
“exibe” objetos Web;
• Servidor: servidor Web envia objetos em
resposta a requisições;
HTTP – Visão Geral
PC rodando
Explorer
Servidor
rodando
servidor Web
Apache
Mac rodando
Navigator
HTTP – Visão Geral
• Usa TCP:
• Cliente inicia conexão TCP (cria socket) com
servidor, porta 80;
• Servidor aceita conexão TCP do cliente;
• Mensagens HTTP (do protocolo da camada de
aplicação) trocadas entre navegador (cliente
HTTP) e servidor Web (servidor HTTP);
• conexão TCP fechada;
• HTTP é “sem estado”;
• servidor não guarda informações sobre
requisições passadas do cliente;
HTTP – Visão Geral
• Mensagem de requisição HTTP: formato geral
Cache Web
• Objetivo: satisfazer a requisição do cliente
sem envolver servidor de origem:
• Usuário prepara navegador: acessos à Web
via cache;
• Navegador envia todas as requisições HTTP
ao cache;
• Objeto no cache: cache retorna objeto;
• Ou cache requisita objeto do servidor de
origem, depois retorna objeto ao cliente;
Cache Web
servidor
de origem
servidor
proxy
cliente
cliente
Cache Web
• Cache atua como cliente e servidor;
• Normalmente, cache é instalado por ISP (da
universidade, empresa, residencial);
• Por que caching Web?
• Reduz tempo de resposta à requisição do
cliente, o tráfego no enlace de acesso de
uma instituição;
• Internet densa com caches: permite que
provedores de conteúdo “fracos” remetam
conteúdo efetivamente;
FTP – Visão Geral
• transfere arquivo de/para hospedeiro remoto
• modelo cliente/servidor
• cliente: lado que inicia transferência
(de/para remoto)
• servidor: hospedeiro remoto;
conexão de controle TCP
porta 21
cliente
FTP
conexão de dados TCP
porta 20
servidor
FTP
FTP – Visão Geral
• Cliente FTP contacta servidor FTP na porta
21, TCP é protocolo de transporte;
• Cliente autorizado por conexão de controle;
• Cliente navega por diretório remoto enviando
comandos por conexão de controle;
• Quando servidor recebe comando de
transferência de arquivo, abre 2a conexão
TCP (para arquivo) com cliente;
• Após transferir um arquivo, servidor fecha
conexão de dados;
FTP – Visão Geral
interface
cliente
de usuário
FTP
FTP
usuário no
hospedeiro
transf. de arquivos
sistema de
arquivo local
servidor
FTP
sistema de
arquivo remoto
DNS – Visão Geral
• Como mapear entre endereço IP e nome?
• Domain Name System – DNS:
• Banco de dados distribuído implementado
na hierarquia de muitos servidores de
nomes;
• Protocolo de aplicação: host, roteadores,
servidores de nomes se comunicam para
resolver nomes (tradução endereço/nome);
• Função básica da Internet, implementada
como protocolo em nível de aplicação;
• Complexidade na “borda” da rede;
Banco de Dados Distribuído
Servidores DNS raiz
servs. DNS com
servs. DNS
yahoo.com
servs. DNS
amazon.com
servs. DNS org
servs. DNS
pbs.org
servs. DNS edu
servs. DNS servs. DNS
poly.edu
umass.edu
Cliente quer IP para www.amazon.com:
• Cliente consulta servidor raiz para achar DNS .com
• Cliente consulta servidor DNS .com para obter
DNS amazon.com
• Cliente consulta servidor DNS amazon.com para
obter endereço IP para www.amazon.com
DNS – Protocolo
• Servidores de domínio de alto nível (TLD) :
• Responsáveis por: com, org, net, edu, ... e todos
os domínios de país de alto nível: br, uk, fr, ca,
jp.
• A Network Solutions mantém servidores para
TLD .com e a Educause para TLD .edu;
• Servidores DNS com autoridade: são servidores
da organização, provendo nome de host com
autoridade a mapeamentos IP para os servidores
da organização (ex.: Web, correio).
• Podem ser mantidos pela organização ou ISP;
DNS – Protocolo
• Protocolo DNS: mensagens de consulta e
resposta, ambas com algum formato de
mensagem.
cabeçalho da
mensagem
 identificação: # de 16
bits para consulta;
resposta usa mesmo #
 flags:
 consulta ou resposta
 recursão desejada
 recursão disponível
 resposta é com
autoridade
DNS – Protocolo
campos de nome
e tipo para
uma consulta
RRs na resposta
à consulta
registros para
servidores
com autoridade
Informação
adicional “útil”
que pode ser usada
Download

Endereçamento IP