View
259
Download
0
Category
Preview:
Citation preview
Camada de Rede
d Pág 5.1
© 1997–2000 Paulo Lício de Geus
Camada de rede
• serviços providos à camada de transporte
melhor deixar para as camadas supe-riores o controle de erros e fluxo…
100 anos de experiência do sistema telefônico ➔ melhor prover serviço completo…
Re
•
es de Computadores versão 1.3 – 21.Sep.02
– independência do sistema de sub-redes usado» tipo, topologia, número de sub-redes, roteamento
– endereçamento uniforme à camada de transporte
– tipo de serviço» sem conexão, não confiável (comunidade da Internet)
» com conexão, confiável (pessoal das Teles)
– ATM e IP» conexão ATM carregando pacotes IP
» duplicação de esforços (ineficiência)
organização interna
– conexão ➔ circuito virtual» rota estabelecida durante conexão, fixa durante…
– sem conexão ➔ datagramas» cada pacote roteado independentemente dos demais
» mais trabalho para “usuários”
» mais robusto
» adapta-se facilmente a falhas e congestionamentos
Camada de Rede
d Pág 5.2
© 1997–2000 Paulo Lício de Geus
Camada de rede
• detalhes de circuitos virtuais
além das demais informações neces-sárias, tais como nºs de seqüência e reconhecimento, checagensendereços de rede só usados por ocasião do estabelecimento da cone-xão
por ocasião do estabelecimento da conexão…
politicamente incorreta:-):-):-)
Re
•
es de Computadores versão 1.3 – 21.Sep.02
– rota fixa ➔ roteadores devem manter tabelas» uma entrada por circuito virtual
» pacote deve conter nº de circuito➔ porém não necessita do endereço de destino na rede
– chegada de pacote em roteador ➔ linha e circuito» info suficiente para repassar para linha de saída correta
– identificadores de circuito» significado local para cada máquina
» roteadores alocam números disponíveis sob demanda
– liberação de circuito virtual» processos devem pedir liberação
» tratamento especial ➔ máquina “crasha” ao invés de liberar
detalhes de datagramas
– roteadores mantém tabelas» qual linha de saída para cada roteador destino
» cada datagrama deve conter o endereço completo de rede
Camada de Rede
d Pág 5.3
© 1997–2000 Paulo Lício de Geus
Camada de rede
– tabela comparativa de sub-redes
qualquer das 4 combinações é possí-vel em teoria; em particular, um ser-viço orientado à conexão em sub-rede de datagrama provê robustez! Oposto: IP sobre ATM
(VC)
e º de VC (curto)
nas tabelas na
imento do VC; em tal rota
e am pelo rotea-rminados
gficientes para ra cada VC
cm
elecimentoa pacote
Re
e
c
es de Computadores versão 1.3 – 21.Sep.02
– serviço pode ser orientado à conexão ou não
– sub-rede pode ser circuito virtual ou datagrama» nível de rede fará o trabalho que falta p/ serviço oferecido
item datagramas circuitos virtuais
stabelecimento não necessário necessáriondereçamento cada pacote contém
endereços completos de ori-gem e destino
cada pacote contém um n
informação de estado
sub-rede não mantém cada VC necessita espaçosub-rede
roteamento cada pacote roteado indepen-dentemente
rota escolhida no estabelectodos os pacotes segu
feito de falhas em roteadores
nenhum, exceto por pacotes perdidos durante o crash
todos os VC’s que passavdor capotado são te
ontrole de con-estionamento
difícil fácil se houver buffers sualocação antecipada pa
arga processa-ento roteador
carga razoável para cada pacote
carga pesada no estabcarga leve para cad
Camada de Rede
d Pág 5.4
© 1997–2000 Paulo Lício de Geus
Algoritmos de roteamento
• função principal da camada de rede
Re
•
es de Computadores versão 1.3 – 21.Sep.02
– rotear pacotes da máquina origem à destino» basicamente quando não estão na mesma rede física…
– vários roteadores no meio do trajeto» vários “pulos” (diferentes redes físicas)
– decisões de roteamento» a cada pacote se sub-rede usa datagramas
» apenas no estabelecimento do circuito virtual, para conexões
qualidades buscadas para algoritmos de roteamento
– operação correta
– simplicidade
– robustez» suportar falhas de todos os tipos e mudanças na topologia
– estabilidade» nem todos convergem a um funcionamento equilibrado
– igualdade de tratamento
– otimalidade no funcionamento» igualdade e otimalidade às vezes são excludentes…
Camada de Rede
d Pág 5.5
© 1997–2000 Paulo Lício de Geus
Algoritmos de roteamento
• otimalidade
A
Re
F
es de Computadores versão 1.3 – 21.Sep.02
– sink tree (árvore de absorção)» conjunto de rotas ótimas, todas as origens até um certo destino
» forma uma árvore com raiz no destino
» pode não ser única (por vezes há alternativas)
» métrica: nº de pulos constantes da rota
– objetivo dos algoritmos de roteamento» descobrir e usar as árvores de absorção p/ todos os roteadores
– problemas da vida real» conexões e roteadores caem e voltam (dinamicidade)
» quem faz o levantamento das árvores de absorção?
B
D
G
K L
M
H
O
N
J
C
I
EA
B
D
GF
K L
M
H
O
N
J
C
I
E
sub-redeárvore de absor-ção p/ roteador B
Camada de Rede
d Pág 5.6
© 1997–2000 Paulo Lício de Geus
Algoritmos de roteamento
• métricas (ou custo) normalmente utilizadas
Re
es de Computadores versão 1.3 – 21.Sep.02– nº de pulos
– distância geográfica
– tamanho médio de fila (pacotes)
– atraso médio de transmissão (pacote padrão de testes)
– banda passante
– tráfego médio
– etc
– função dos fatores acima…
Camada de Rede
d Pág 5.7
© 1997–2000 Paulo Lício de Geus
Algoritmos de roteamento
(estático)• bolas cheias são ditas nós perma-nentes, e bolas vazias são ditas nós candidatos• pode-se partir tanto da origem quanto do destino; este será o nó ativo• marcam-se, nos nós diretamente acessíveis pelo nó ativo, as distâncias computadas nos trajetos, com a res-pectiva origem de tal caminho• substitui-se as distâncias marcadas sempre que as recém-obtidas forem menores que as existentes• escolhe-se o nó candidato de menor distância para ser marcado como nó permanente e como o novo nó ativo• repete-se o procedimento até obter-se a menor rota desejada; a etapa seguinte à etapa f) já revela o menor caminho de A a D, pois, a partir de H, D receberá custo 10, o que força o algoritmo a escolher C como nó ativo; mas então D não sofrerá redução de custo porque CD tem custo 3, e por-tanto usando C como rota só aumen-taria o custo total de D
• roteamento pelo caminho mais curto
Re
A
A
A
a
c
e
es de Computadores versão 1.3 – 21.Sep.02
– vários algoritmos conhecidos
– ex: Dijkstra, datado de 1959: menor rota A ➔ DB
G
EF
H
D
C
22
61
4
2
73
2 2
3
B (2,A)
A
G (6,A)
E (∞,-)F (∞,-)
H (∞,-)
D (∞,-)
C (∞,-)
B (2,A)
G (6,A)
E (4,B)F (∞,-)
H (∞,-)
D (∞,-)
C (9,B) B (2,A)
A
G (5,E)
E (4,B)F (6,E)
H (∞,-)
D (∞,-)
C (9,B)
B (2,A)
G (5,E)
E (4,B)F (6,E)
H (9,G)
D (∞,-)
C (9,B) B (2,A)
A
G (5,E)
E (4,B)F (6,E)
H (8,F)
D (∞,-)
C (9,B)
) b)
) d)
) f)
Camada de Rede
d Pág 5.8
© 1997–2000 Paulo Lício de Geus
Algoritmos de roteamento
nada prático, devido ao tráfego gerado…exceto por onde chega…estático por natureza…
• inundação (flooding)
todos os caminhos possíveis tentados em paralelo
sempre acha rota, se houver uma…
(estático)• levanta-se a matriz de tráfego entre cada nó• calcula-se o tráfego para cada linha• calcula-se o atraso médio para cada linha e para toda a sub-rede
(com pesos) via
= tamanho médio pacotes ➔bitsC = capacidade da linha (kbps)
= tráfego estimado (pcts/seg)
T 1µC λ–----------------=
µ
λ
Re
•
es de Computadores versão 1.3 – 21.Sep.02
– pacote que chega é enviado p/ todas as linhas de saída
– duplicações são controladas por contador no pacote» cada pulo decrementa o contador
» zerando o contador, pacote é descartado
– inundação seletiva (selective flooding)» pacote enviado somente em direções compatíveis
» obviamente é necessário algum conhecimento da topologia
– alg. inundação é sempre ótimo
– alg. inundação é robusto
roteamento baseado em fluxo (tráfego)
– leva em conta topologia e carga estimada
– rotas fixas pré-descobertas por outro algoritmo
– capacidade da linha e fluxo médio conhecidos» teoria de filas permite calcular o atraso médio
– testa-se alternativas até achar a de menor atraso global
– melhor algoritmo com os dados acima…
Camada de Rede
d Pág 5.9
© 1997–2000 Paulo Lício de Geus
Algoritmos de roteamento
(dinâmico)
usado originalmente na ARPANET, usado na Internet com o nome RIP (porém não exatamente assim), e também na DECnet e Novell IPX
• roteamento por vetor de distância
e também escutam a divulgação dos demais (difusão)…
em poucos pulos todos ficam sabendo…
o custo (p.ex. medido em pulos) começa a aumentar e tenderá ao infi-nito, levando muitos ciclos até lá (é útil definir “infinito” como sendo o nº de pulos da rota mais longa somado com 1)…exemplo ao lado:• rota para A surge• rota para A cai
Re
A
es de Computadores versão 1.3 – 21.Sep.02
– roteadores mantém tabelas de menores distâncias» roteadores vizinhos interagem para atualizar as tabelas
– detalhes: entradas nas tabelas contém» cada roteador na sub-rede
» linha de saída preferencial para alcançar tal roteador
» medida da distância ou tempo de alcance de tal destino
– métricas comumente usadas» nº de pulos, atraso em ms, nº de pacotes enfileirados
– roteadores divulgam periodicamente suas tabelas
– característica de funcionamento» reage bem ao surgimento de novas rotas
» reage mal à queda de rotas existentes (count-to-infinity)B C D E
∞ ∞ ∞ ∞1 ∞ ∞ ∞1 2 ∞ ∞1 2 3 ∞1 2 3 4
inicialmentedepois de 1 divulgaçãodepois de 2 divulgaçõesdepois de 3 divulgaçõesdepois de 4 divulgações
A B C D E
1 2 3 43 2 3 43 4 3 45 4 5 45 6 5 6
inicialmentedepois de 1 divulgaçãodepois de 2 divulgaçõesdepois de 3 divulgaçõesdepois de 4 divulgações
7 6 7 6 depois de 5 divulgações7 8 7 8 depois de 6 divulgações
… ∞
Camada de Rede
d Pág 5.10
© 1997–2000 Paulo Lício de Geus
Algoritmos de roteamento
• roteamento por vetor de distância (cont.)
sucessor na ARPANET do roteamento por vetor de distância…notar que os caminhos mais curtos em toda a rede podem ser medidos localmente, e com o algoritmo de dis-tribuição de info, todos ficam sabendo…
pacotes simples tipo ECHO são usa-dos para medir atraso…
OSPF = Open Shortest Path FirstIS-IS = Intermediate System - Intermediate System
conhecimento detalhado da rede localconhecimento de um ponto de acesso a uma rede remota (região)
Re
•
•
es de Computadores versão 1.3 – 21.Sep.02
– possível solução para count-to-infinity» split horizon hack (também não é perfeita…)
roteamento por estado de conexãocada roteador deve:
– descobrir vizinhos e aprender seus endereços de rede
– medir atraso ou custo para cada vizinho
– enviar pacote com tal info a todos os roteadores
– computar caminho mais curto para todos os roteadores
– usar Dijkstra, p.ex., para achar o caminho mais curto
– usado pelo OSPF e IS-IS (recentes na Internet)
roteamento hierárquico
– objetivo: evitar crescimento exagerado de tabelas
– divisão em “regiões”» e subdivisões suas até tabelas se adequarem…
Camada de Rede
d Pág 5.11
© 1997–2000 Paulo Lício de Geus
Algoritmos de roteamento
• roteamento para máquinas móveis (ou migratórias)
algum mecanismo de autenticação provê um certo nível de segurança…
máq. móvel está agora “regis-trada”…
próprio para mensagens de difusão
gera tráfego exagerado
roteadores multiplicam pacotes pelas várias linhas de comunicação neces-sárias
roteador difunde se linha de chegada é mesma que melhor rota de retorno
Re
•
es de Computadores versão 1.3 – 21.Sep.02
– usuários móveis sempre têm uma localização base
– regiões geográficas dispõem de» agentes locais, home agents (cuidam de seus “habitantes”)
» agentes externos, foreign agents (cuidam de “hóspedes”)
– máquina móvel registra-se junto a agentes externos» mecanismos de difusão acessíveis a ambos
– agentes externos contactam agentes locais» informam localização atual da máquina móvel
– após reconhecimento do agente local:» agente externo adiciona entrada (máq. móvel) nas suas tabelas
roteamento por difusão, alternativas:» pacotes individuais a cada destino
» inundação
» roteamento multi-destino (lista de destinos no pacote)
» spanning tree ➔ por definição é ótimo…
» repasse por caminho de volta (reverso)
» roteamento multicast ➔ divisão em grupos de interesse
Camada de Rede
d Pág 5.12
© 1997–2000 Paulo Lício de Geus
Algs. controle de congestionamento
• situação de congestionamentoeste é também o comportamento das principais redes físicas em uso geral, no nível de enlace
quando a oferta aumenta muito, a Ethernet torna-se inutilizável, ao passo que a TokenRing aproxima-se cada vez mais da eficiência máxima
com ofertas menores, contudo, a Ethernet oferece atrasos menores, pois quase sempre os quadros serão transmitidos sem atraso (em Token-Ring o token deve passar de mão em mão até chegar ao transmissor que precisa dele…)
pacotes começam a ser descartados por vencerem sua temporização…
controle de congestionamento ➔ garantir que a sub-rede carregue o tráfego oferecidocontrole de fluxo ➔ relacionado ao tráfego ponto-a-ponto entre um dado transmissor e um dado receptor
aa
paco
tes
Re
cc
es de Computadores versão 1.3 – 21.Sep.02
– aumento na oferta de tráfego faz cair desempenho
– eventos que levam ao congestionamento» pacotes em linhas de entrada concentram-se em 1 saída apenas
» falta de memória nos buffers dos roteadores
» memória excessiva nos buffers dos roteadores➔ duplicações dos pacotes tornam o cenário pior ainda
» processadores lentos nas interfaces dos roteadores
– analogia com tecnologias de rede (figura acima)» Ethernet permite demanda maior que capacidade
➔ disputa pelo meio progressivamente rouba banda passante
» Token Ring não deixa demanda maior se traduzir no meio
pacidade máx. de rga da sub-rede
perfeito
desejável (…Token Ring)
entre
gues
pacotes oferecidos
congestionamento (…Ethernet)
Camada de Rede
d Pág 5.13
© 1997–2000 Paulo Lício de Geus
Algs. controle de congestionamento
• políticas que afetam o congestionamento
r
Re
t
es de Computadores versão 1.3 – 21.Sep.02
camada política detalhes
ansporte retransmissão semelhante ao enlacecacheamento de
quadros fora de ordemidem
reconhecimento idemcontrole de fluxo idem
determinação de tempo-rização
dificuldade, muitas redes diferentes
rede circuitos virtuaisversus datagramas
maioria opera controle em circuitos vir-tuais apenas
filas de pacotes, serviço filas por linhas, prioridadesdescartamento escolha, falta de espaço em buffer
roteamento espalhamento de tráfego, várias linhastempo de vida/pacote temporização prematura, pacotes per-
didos “velhos” causam entupimentoenlace retransmissão temporização, quadro/carona
cacheamento de quadros fora de ordem
descartamento
reconhecimento imediato (quadro) ou carona, retrans-missões
controle de fluxo janela estreita diminui chance de con-gestionamento
Camada de Rede
d Pág 5.14
© 1997–2000 Paulo Lício de Geus
Algs. controle de congestionamento
ATM usa…• modelamento do tráfego (fixando comportamento)
nº de pacotes constante em, p.ex., ATM, ou nº de bytes constante com pacotes de tamanho variável
fluxo irregular, como no caso da tor-neira pouco ou muito aberta, é repre-sado no balde e sempre liberado a uma taxa constante (desconsiderado o efeito da pressão da água, nesta analogia)
Re
•
es de Computadores versão 1.3 – 21.Sep.02
– regular taxa média e de rajada
leaky bucket (balde que vaza)
– pacotes liberados a taxa constante» analogia: vazamento do balde por furo ➔ taxa constante
» balde cheio ➔ derramamento, perda
rede
Camada de Rede
d Pág 5.15
© 1997–2000 Paulo Lício de Geus
Algs. controle de congestionamento
bastões podem contabilizar direitos de transmissão de pacotes ou de bytes…
• token bucket (balde com bastões)
na figura, pode-se ver que a segunda rajada remetida por camada superior conseguiu ser enviada no ritmo mais rápido determinado pela banda pas-sante disponível, pois créditos sufici-entes foram acumulados após a primeira rajada (que foi retardada por ausência de créditos)
ao esgotarem-se os créditos, o ritmo de envio fica limitado ao ritmo de liberação dos créditos, cujos instan-tes estão representados pelos símbo-los $
ttaa
Re
•
tt
es de Computadores versão 1.3 – 21.Sep.02
» balde armazena direitos de transmissão (bastões)➔ se, é claro, a máquina não os está usando…
» se necessário, máquina pode transmitir rajada➔ do tamanho da quantidade de bastões armazenados
» tamanho máximo de rajada ➔ capacidade do balde
especificação de fluxo
– acordo inicial entre transmissor, sub-rede e receptorcaracterísticas da entrada serviço desejado
amanho máx. de pacote (bytes) sensibilidade a perdas (bytes)axa do balde com bastões (B/s) sensibilidade a intervalo de perdas (µs)manho do balde c/ bastões (B) sensib. a perdas de rajadas (pacotes)xa de transmissão máxima (B/s) atraso mínimo notado (µs)
variação máxima no atraso, jitter (µs)qualidade da garantia
rede
$$ $
$
$ = direito de transmissão
$$$$$$$$$$
Camada de Rede
d Pág 5.16
© 1997–2000 Paulo Lício de Geus
Algs. controle de congestionamento
• controle em sub-redes de circuitos virtuais
depende da “boa-vontade” dos trans-missores em cumprir ou não a deter-minação do choke packetflag ligado no pacote original para avisar roteadores seguintes que aviso de controle de fluxo já foi enviado…
pacotes medidos por comprimento (término de recepção) e enviados na ordem em que foram completamente recebidos
Re
•
es de Computadores versão 1.3 – 21.Sep.02
– controle dinâmico, com realimentação
– controle de admissão de novos circuitos» evita que situação problemática desmorone de vez
– controle de roteamento de novos circuitos» contorna canais problemáticos
– negociação inicial» sub-rede nunca aloca mais do que pode lidar
pacotes de sufocamento
– monitoramento de tráfego» subida além de limiar ➔ estado de sobreaviso
➔ pacote de sufocamento enviado ao transmissor➔ redução do tráfego de transmissão por determinado fator
– enfileiramento justo por pesos» roteadores mantém filas por linhas de entrada
– pacotes de sufocamento por pulos (hops)» tempo de propagação grande ➔ reação muito lenta
➔ agem imediatamente por cada roteador por onde passam
Camada de Rede
d Pág 5.17
© 1997–2000 Paulo Lício de Geus
Algs. controle de congestionamento
• corte de carga
política do vinho:-)
política do leite:-)
bufferização nos roteadores não é uma boa solução, porque causará um atraso maior do que o necessário, muito embora a seqüência de entrega seja mais homogênea…
Resource reSerVation Protocol
spanning tree ➔ árvore de enverga-dura ou de cobertura
Re
•
•
es de Computadores versão 1.3 – 21.Sep.02
– medida extrema (outros métodos não funcionam…)
– pacotes descartados seletivamente
– para transferências de arquivos:» pacotes antigos faltando irão causar retransmissões futuras
– para aplicações multimídia» pacotes mais novos são mais importantes
➔ melhor seleção possível, por tipo de aplicação
controle de variação no atraso (jitter)
– leva em conta necessidade de certas aplicações
controle em multicasting (difusão para grupos)
– RSVP» grupos roteados via multicast com spanning trees
» estações enviam pedidos de reserva rumo ao remetente
» retorno da mensagem revela sucesso ou falha do pedido
» bandas reservadas em todo o trajeto
Camada de Rede
d Pág 5.18
© 1997–2000 Paulo Lício de Geus
Interconexão de redes
• cenário típico
…à sua plena potência nominal
mas não fragmenta pacotes para adaptar a uma dada sub-rede
não sabe como…
Re
•
es de Computadores versão 1.3 – 21.Sep.02
hardware de interconexão
– repetidor» amplificadores eletrônicos ➔ regeneram sinais fracos
» copiam bits, em forma eletrônica
– bridge» armazena e repassa quadros
» faz checagem de erros
» adapta cabeçalhos de quadros (redes físicas diferentes)
» jamais analisa cabeçalhos de nível 3
B
802.3 LAN 802.4 LAN
802.3 LANRM
RM
RMRM SNA WANX.25 WAN802.5 LAN
RM = roteador multiprotocoloB = bridge
Camada de Rede
d Pág 5.19
© 1997–2000 Paulo Lício de Geus
Interconexão de redes
– roteador multiprotocolos
IPX, IP, AppleTalk, SNA, DECnet
)
q
c
Re
•
co
es de Computadores versão 1.3 – 21.Sep.02
» armazena e repassa pacotes (nível 3)
» redes físicas diferentes, pacotes de protocolos diferentes
» fragmenta pacotes, se necessário, para adaptar às sub-redes
diferenças entre redesitem algumas possibilidades
serviço oferecido orientado à conexão vs. sem conexãoprotocolos IP, IPX, CLNP, AppleTalk, DECnet etc
endereçamento plano (802) vs. hierárquico (IP ➔ rede e máquinamulti/broadcasting presente ou ausentetamanho de pacote cada rede tem seu tamanho máximoualidade de serviço presente ou ausente, muitas variaçõestratamento de erros confiável, ordenado, e entrega sem ordemcontrole de fluxo janela deslizante, controle de taxa, outros, nenhum
ntr. congestionamento balde que vaza, pacotes de sufocamento etcsegurança regras de privacidade, cifragem etcparâmetros temporizações diferentes, especificações de fluxo et
contabilidade tempo de conexão, por pacotes, bytes ou nenhum
Camada de Rede
d Pág 5.20
© 1997–2000 Paulo Lício de Geus
Interconexão de redes
roteadores multiprotocolos tomam parte no estabelecimento de VC entre sub-redes, mantendo entradas em suas tabelas
• circuitos virtuais conectados
diferenças entre protocolos de redes torna inviável conversão “literal” de pacotes
razoável: operação de um dado pro-tocolo (ou vários) sobre a rede glo-bal interconectada
Re
•
es de Computadores versão 1.3 – 21.Sep.02
sem conexão
RM
RM
RM
RM
X.25
SNA
OSI
ATM
m1
m2
RM
RM
RM
RM
m1
m2
Camada de Rede
d Pág 5.21
© 1997–2000 Paulo Lício de Geus
Interconexão de redes
• tunelamento
carona…
AS = Autonomous System
pedaços devem ser todos recebidos para permitir reconstrução do pacote original
em IPv6 (nova versão do protocolo IP), fragmentação só é feita na ori-gem, nunca no meio do caminho; é necessário o remetente descobrir a mínima MTU do trajeto de antemão
Re
•
•
es de Computadores versão 1.3 – 21.Sep.02
– duas redes locais remotas, mesmo protocolo
– rede diferente disponível, provendo intercomunicação» pacotes rede local encapsulados na rede de conexão
roteamento em redes interconectadas
– redes locais (AS) ➔ protocolos de roteamento interno
– redes interconectadas ➔ protoc. de roteamento externo
– encapsulamento conforme neccessário
fragmentação
– tamanhos máximos distintos (enlace/rede)
– transparente» roteadores “externos” fragmentam e desfragmentam
➔ antes de entregar ao destino
– não transparente» se necessário ➔ fragmentação
➔ novos pacotes (pequenos) gerados➔ mas nenhum roteador os combina de volta
» máquinas destino devem ser capazes de remontar os pacotes
Camada de Rede
d Pág 5.22
© 1997–2000 Paulo Lício de Geus
Camada de rede na Internet
• versão atual: 4; próxima: 6 (IPv6)• IHL ➔ comprimento do cabeçalho em palavras de 32 bits• tipo de serviço ➔ serviria para atender diferentes serviços com dife-rentes qualidades, porém até hoje ele tem sido ignorado completamente• comprimento total ≤ 65.535 B• identificação de datagramas indiivi-duais; fragmentos de um datagrama têm todos a mesma identificação…• DF ➔ pedido para não fragmentar• MF ➔ indica que há mais fragmen-tos ainda; o último não tem este flag• deslocamento ➔ indica posição do fragmento dentro do datagrama• tempo de vida ➔ contador, teorica-mente conta segundos; na prática, conta pulos (roteadores decremen-tam de 1); quando chega a zero pacote é descartado• protocolo ➔ tipo carga: TCP, UDP• checagem ➔ soma das palavras de 16 bits do cabeçalho, tomadas em complemento de 1, complemen-tando de 1 o resultado• opções ➔ security, strict source routing, loose source routing, record route, timestamp
• cabeçalho do protocolo IP
0
1
1
1
1
Re
•
es de Computadores versão 1.3 – 21.Sep.02
endereços IP
versão IHL tipo de serviço comprimento total
tempo de vida protocolo
identificação D M deslocamento de fragmento
checagem do cabeçalho
endereço de origem
endereço de destino
opções (0 ou mais palavras de 32 bits)
F F
32 bits
rede máquina
10 rede
rede máquina
máquina
32 bits
0
110 endereço de multicast
1110 reservado para uso futuro
1.0.0.0 a 127.255.255.255128.0.0.0 a 191.255.255.255192.0.0.0 a 223.255.255.255224.0.0.0 a 239.255.255.255
240.0.0.0 a 247.255.255.255
Camada de Rede
d Pág 5.23
© 1997–2000 Paulo Lício de Geus
Camada de rede na Internet
• endereços especiais
0 ➔ bits do endereço de máquina1 ➔ bits do endereço de rede
0
0
1
1
Re
•
es de Computadores versão 1.3 – 21.Sep.02
subnet (sub-rede)
– máscara (netmask) ➔ palavra de 32 bits» implementa fronteira rede/máquina no endereço (real)
00………………………………………………………000
máquina
32 bits
00……………0000
rede 111……………………………111
127 (qualquer coisa)
esta máquina
uma máquinanesta rededifusão na redelocaldifusão em uma rede remotaloopback(retorno)
11………………………………………………………111
32 bits
rede máquina0 sub-rede
netmask
Camada de Rede
d Pág 5.24
© 1997–2000 Paulo Lício de Geus
Camada de rede na Internet
r
ICMP = Internet Control Message Protocol
ARP = Address Resolution Protocol
e
r
poo
Re
P
•
•
d
p
es de Computadores versão 1.3 – 21.Sep.02
otocolos de controle
ICMP
– mensagens carregadas por pacotes IP; principais:
ARP
– tradução end. lógico IP ➔ end. físico (ex. Ethernet)
– tabela em arquivo ➔ impraticável p/ muitas máquinas
– cacheamento em memória de dados descobertos
– aprende por ocasião da pergunta de outra máquina
tipo de mensagem descrição
stination unreachable pacote não pôde ser entregue
tempo excedido campo TTL (tempo de vida) alcançou 0oblema c/ parâmetro campo do cabeçalho inválido
source quench pacote de sufocamentoredirect ensina um roteador sobre topologia da rede
echo request pergunta a uma máquina se está vivaecho reply sim, estou viva
timestamp request mesmo que echo request, mas com registro de temtimestamp reply mesmo que echo reply, mas com registro de temp
Camada de Rede
d Pág 5.25
© 1997–2000 Paulo Lício de Geus
Camada de rede na Internet
• entrega via sua própria interface (interação ARP)o teste é feito via AND da netmask com o IP destino.
máq_a e máq_b, nomes IP, só conhecem seus endereços IP, além de seu próprio endereço Ethernet, mas precisam do endereço Ethernet da outra para seus pacotes se alcança-rem.
efeito colateral: aprende o endereço físico de máq_b…
Re
es de Computadores versão 1.3 – 21.Sep.02– IP, em máq_a➔ verifica se o IP de máq_c pertence à sua sub-rede
– se sim, e primeira comunicação máq_a ➔ máq_b➔ ou se entrada na tabela ARP expirou
1- IP, em máq_a, requisita ao módulo ARP a obtenção do endereço físico de máq_b
2- ARP, em máq_a, lança pacote de broadcast perguntando quem é máq_b
3- ARP, em máq_b, ouve, como todos, e deve responder com o endereço físico de máq_b
3/4- ARP, em máq_a, põe tal endereço em sua tabela local
4- IP, em máq_a, envia pacote IP endereçado a máq_b➔ carregado por quadro Ethernet corretamente endereçado
…ARPIP
ARPIP
máq_a máq_b
1
2
3
4
Camada de Rede
d Pág 5.26
© 1997–2000 Paulo Lício de Geus
Camada de rede na Internet
máq_c reside em outra subnet…• entrega via roteadoro teste é feito via AND da netmask com o IP destino.
pode haver mais de um roteador…
essa função, IP Forwarding, só é habilitada em condições especiais, como quando a máquina em questão tiver mais de uma interface.
Re
es de Computadores versão 1.3 – 21.Sep.02– IP, em máq_a➔ verifica se o IP de máq_c pertence à sua sub-rede
– se não➔ consulta tabela de rotas para descobrir qual roteador
1- IP, em máq_a, envia pacote IP endereçado a máq_c➔ mas com endereço Ethernet de roteador
2/3- IP, em roteador, repassa para outra interface sua➔ talvez fazendo ciclo ARP para obter end. Ethernet de máq_c
…ARP
IPARP
IP
máq_a máq_c
roteador
IP ARPIPARP
… 23
1
Camada de Rede
d Pág 5.27
© 1997–2000 Paulo Lício de Geus
Camada de rede na Internet
RARP = Reverse Address Resolu-tion Protocol
• RARP
difusão (estação boot’ando, não sabe seu end. IP)
usa quadro de enlace
pois usa difusão
OSPF = Open Shortest Path Firstsucessor do RIP (próprio para redes maiores)
cômputo é dinâmico; roteador pode mudar de idéia a qualquer hora…
BGP = Border Gateway Routing Protocol
tráfego que pode ou não passar
trânsito ➔ usado por outros…
Re
•
•
•
es de Computadores versão 1.3 – 21.Sep.02
– resolução reversa: end. físico (Ethernet) ➔ lógico (IP)
– servidor RARP consulta arquivos e responde
– limitado à sub-rede local (cabo)
BOOTP
– semelhante a RARP, mas usa UDP como transporte
– repassado a outros roteadores (ultrapassa subnet local)
OSPF ➔ roteamento interno
– grafos representando a rede» arcos com pesos (distância, atraso, carga etc)
» nós: roteadores e redes de acesso múltiplo
» roteadores computam rota mais curta entre si
BGP ➔ roteamento externo
– preocupação: garantir política de uso
– 3 classes de SA: stub, multiconectados e trânsito
Camada de Rede
d Pág 5.28
© 1997–2000 Paulo Lício de Geus
IPv6
• principais metas da nova versãomesmo com alocação ineficiente de espaço de endereçamento…
simplificar construção de árvores de absorção para multicast
SIPP = Simple Internet Protocol Plus
Re
•
es de Computadores versão 1.3 – 21.Sep.02
– suportar bilhões de máquinas
– reduzir tamanho das tabelas de roteamento
– simplificar protocolo» para roteadores processarem pacotes mais rapidamente
– prover melhor segurança (autenticação e privacidade)
– dedicar mais atenção ao tipo de serviço» em especial a tráfego de tempo real
– ajudar multicasting através da especificação de escopos
– permitir a máquinas móveis mover-se na rede mundial➔ sem mudança de endereço
– permitir evolução do protocolo no futuro
– permitir coexistência dos protocolos antigo e novo
escolha dentre as propostas apresentadas
– SIPP, por Deering, Francis, Katz e Ford, 1993
Camada de Rede
d Pág 5.29
© 1997–2000 Paulo Lício de Geus
IPv6
• versão ➔ 6 (IPv6)• prioridade ➔ permite identificar pacotes cujas fontes podem ter seu fluxo controlado ou não0–7 ➔ tráfego que pode ser reduzido in caso de congestionamento8–15 ➔ tráfego em tempo real cuja taxa de envio é constante, mesmo que todos os pacotes estejam sendo per-didos (video, audio)valores menores dentro de cada grupo indicam pacotes menos impor-tantes1 ➔ news, 4 ➔ ftp, 6 ➔ telnet• rótulo de fluxo ➔ pares poderão negociar parâmetros de uma pseudo-conexão, exigindo requisitos particu-lares de qualidade; roteadores deve-rão buscar parâmetros de tratamento em tabelas próprias toda vez que o campo for não-nulo• comprimento da carga útil ➔ quantos bytes se seguem ao cabeça-lho fixo de 40 bytes• próximo cabeçalho ➔ contém código do próximo cabeçalho, espe-cialmente importante para os cabeça-lhos de extensão• limite de hops ➔ número permi-tido de pulos em roteadores
• cabeçalho do protocolo IP versão 6
Re
es de Computadores versão 1.3 – 21.Sep.02versão prioridade rótulo (identificador) de fluxocomprimento da carga útil limite de hops
endereço de origem
endereço de destino
32 bits
próximo cabeçalho
(16 bytes)
(16 bytes)
Camada de Rede
d Pág 5.30
© 1997–2000 Paulo Lício de Geus
IPv6
total de 2128, ou 3 x 1038 máquinas
7 x 1023 máquinas por metro qua-drado
uso ineficiente de espaço de endere-çamento ➔ cerca de 1000 máquinas por metro quadrado!
• endereços IPv6
endereços IPv4 ➔ ::143.106.60.2
Re
es de Computadores versão 1.3 – 21.Sep.02» 8000:0000:0000:0000:0123:4567:89AB:CDEF➔ 8000::123:4567:89AB:CDEF
prefixo (binário) uso fração0000 0000 reservado (inclui IPv4) 1/2560000 0001 não alocado 1/2560000 001 endereços OSI NSAP 1/1280000 010 endereços Novell NetWare IPX 1/1280000 011 não alocado 1/1280000 1 não alocado 1/320001 não alocado 1/16001 não alocado 1/8010 endereços baseados em provedores 1/8011 não alocado 1/8100 endereços geográficos 1/8101 não alocado 1/8110 não alocado 1/81110 não alocado 1/161111 0 não alocado 1/321111 10 não alocado 1/641111 110 não alocado 1/1281111 1110 0 não alocado 1/5121111 1110 10 endereços de uso local em links 1/10241111 1110 11 endereços de uso local em sites 1/10241111 1111 multicast
Camada de Rede
d Pág 5.31
© 1997–2000 Paulo Lício de Geus
Camada de rede em ATM
• virtual circuit ou virtual channelporém conexões multicast também são possíveis
UNI = User-Network Interface
NNI = Network-Network Interface
célula: 53 B, cabeçalho: 5 bytesCLP ➔ 1 serão as primeiras células a serem descartadas caso haja falta de recursos
teoricamente uma máquina pode ter até 256 agrupamentos de 64K con-xões; na prática, algumas delas são reservadas para funções de controle
b
b
U
N
Re
•
•
GVV
es de Computadores versão 1.3 – 21.Sep.02
– conexão entre uma origem e um destino
hierarquia de conexão
– virtual path » agrupamento de virtual channels
tipos de interface
– UNI» entre máquina e a rede ATM (switch)
– NNI» entre switches (“roteadores”) ATM
PTI
itsCLP
VCIVPIGFC HEC
4 8 16 3 1 8
PTI
itsCLP
VCIVPI HEC
12 16 3 1 8
FC = General Flow ControlPI = Virtual Path IdentifierCI = Virtual Channel Identification
PTI = Payload TypeCLP = Cell Loss PriorityHEC = Header Error Check
NI
NI
Camada de Rede
d Pág 5.32
© 1997–2000 Paulo Lício de Geus
Camada de rede em ATM
• circuitos virtuais ➔ permanentes ou comutados
Re
•
•
es de Computadores versão 1.3 – 21.Sep.02
estabelecimento de conexão
– realizada pelo “plano de controle” do ATM
– 1ª alternativa ➔ via circuito de controle» célula contendo requisição enviada por VP=0, VC=5
» caso positivo, nova conexão é aberta em outro circuito
– 2ª alternativa ➔ VP alocado a um par de máquinas» máquina pode então alocar VCs desta VP sem pedir à switch
primitivas
– SETUP: estabeleça circuito ou indicação de chamada
– CALL PROCEEDING: “estou ciente sobre pedido”
– CONNECT: aceitação ou confirmação de chamada
– CONNECT ACK: reconhecimento da aceitação
– RELEASE: termine a chamada ou chamada terminada
– RELEASE COMPLETE: reconhecimento de liberação
Camada de Rede
d Pág 5.33
© 1997–2000 Paulo Lício de Geus
Camada de rede em ATM
Re
R
•
•
M
•
•
es de Computadores versão 1.3 – 21.Sep.02
oteamento
tabela convencional de roteamento reune:
– origem, linha de entrada, VPI/VCI de entrada,destino, linha de saída, VPI/VCI de saída
em ATM, tabelas individuais por linha com:
– VPI/VCI de entrada, linha de saída, VPI/VCI de saída
anipulação de cabeçalhos pelo roteamento
cada switch tem seus próprios números de VPI/VCI
ao repassar célula, switch reescreve VPI/VCI
– sua própria numeração é que vai agora no cabeçalho
– a próxima switch terá assim a mesma tarefa
– se numeração fosse única na rede inteira:» haveria nº insuficiente de circuitos disponíveis
Camada de Rede
d Pág 5.34
© 1997–2000 Paulo Lício de Geus
Camada de rede em ATM
especificadas durante estabeleci-mento de conexão; assim switches podem honrar QoS
• categorias de serviço
atraso médio de células e variações desse atraso
variações no atraso não são tão rele-vantes
banda extra não garantida
QoS = Quality of Service
Re
•
es de Computadores versão 1.3 – 21.Sep.02
– CBR: Constant Bit Rate» emula conexão física (fio de cobre)
– VBR: Variable Bit Rate, taxa variável» com requisitos de tempo real (videoconferência)
» sem requisitos de tempo real (e-mail com multimídia)
– ABR: Available Bit Rate
» tráfego em rajada, com garantia de banda mínima
– UBR: Unspecified Bit Rate» sem banda garantida ou informação sobre congestionamento
» adequado para tráfego IP
parâmetros de qualidade de serviço (QoS)» PCR (Peak Cell Rate), SCR (Sustained Cell Rate)
» MCR (Minimum Cell Rate), CLR (Cell Loss Ratio)
» CDVT (Cell Delay Variation Tolerance), CER (Cell Error Rate)
» CTD (Cell Transfer Delay), CDV (Cell Delay Variation)
» SECBR (Severely-Errored Cell Block Ratio)
» CMR (Cell Misinsertion Rate)
Recommended