rdredes de cdc omputadores - laboratório de sistemas e...
TRANSCRIPT
R d d C dRedes de Computadores
Nível RedeNível Rede
Li i t E ª I f átiLicenciatura Engª Informática
2º Semestre 2009/2010
Prof. José Rogadojose dot rogado at ulusofona dot pt
Universidade Lusófona
Nível Rede4‐1
Nível Rede
Objectivos:Descrever os princípios e os serviços associados ao nível rede:
Características dos circuitos de rede
Routing (escolha de rotas)g ( )
Endereçamento
Funcionamento de um router
IPv6, mobilidade
Implementação na InternetImplementação na Internet
Nível Rede4-2
Nível RedeIntrodução
Circuitos virtuais e
Algoritmos de routingLink state
datagramas
IP: Internet Protocol
Vector distância
Routing hierárquico
Formato dos datagramas
Esquema de endereçamento IPv4
Routing na InternetRIP
OSPFIPv4
ICMP
IPv6
OSPF
BGP
Routing em brodacast eFuncionamento de um Router
Routing em brodacast e multicast
Nível Rede4-3
Serviços do Nível RedeEncapsular os segmentos em datagramas no emissor
Encaminhar segmentos do emissor ao receptor
Entregar os segmentos ao nível de transporte no receptorreceptor
Os protocolos do nível rede estão em todos os hosts eestão em todos os hosts e routers
O router examina o headerde todos os datagramas
Nível Rede4‐4
Funcionalidades principaisForwarding:mover pacotes no interior do
Analogias:pacotes no interior do router desde a interface de entrada até à
Forwarding: escolha da direcção certa numa
interface de saída apropriada
direcção certa numa rotunda
Routing: determinar a rota a seguir pelos
d d i
Routing: planeamento de uma viagem desde a
pacotes desde a origem até ao destino
gorigem ao destino
Utilização de algoritmos de Routing
Nível Rede4‐5
Relação entre routing e forwarding
Nível Rede4‐6
Modelo de Serviço do Nível Rede
Modelo de Serviço associado ao encaminhamento de datagramas através de um canal entre um emissor e datagramas através de um canal entre um emissor e um receptor:Serviços associados a Serviços associados a umServiços associados a
datagramas isolados:
Garantir a entrega
Serviços associados a um fluxo de datagramas:
Entrega ordenadaGarantir a entrega
Garantir a entrega dentro de um intervalo específico
Entrega ordenada
Garantia de largura de banda mínimapRestrições nos tempos de separação entre a entrega dos pacotes (jitter)
Nível Rede4-7
Nível RedeIntrodução
Circuitos virtuais e
Algoritmos de routingLink state
datagramas
IP: Internet Protocol
Vector distância
Routing hierárquico
Formato dos datagramas
Esquema de endereçamento IPv4
Routing na InternetRIP
OSPFIPv4
ICMP
IPv6 Funcionamento de um
OSPF
BGP
Routing em broadcast eIPv6 Funcionamento de um Router
Routing em broadcast e multicast
Nível Rede4-8
Tipos de Serviço do Nível Rede
Em algumas arquitecturas de rede, existe uma funcionalidade adicional associada ao nível redefuncionalidade adicional associada ao nível rede
ATM, X.25, Frame Relay (ver cap. V)
Antes do envio dos datagramas, dois hosts e os routers g ,(ou switches na terminologia ATM) envolvidos estabelecem uma ligação virtual
Participação activa dos routers (ou switches)Participação activa dos routers (ou switches)
Existem assim dois tipos de serviços do nível rede:Circuito Virtual que fornece serviços com conexãoCircuito Virtual que fornece serviços com conexão
Datagrama que fornece serviços sem conexão
Nível Rede4-9
Arquitectura ATM O ATM é um protocolo de comutação de pacotes (células) que utiliza Circuitos Virtuais para realizar o encaminhamento entre i d iorigem e destino
Situa‐se em principio no nível 2 embora forneça funcionalidades de encaminhamento
Mais detalhes no próximo capítulo…
Nível Rede4‐10
Características dos Modelos de Serviço
Network Service CongestionGuarantees ?
ç
NetworkArchitecture
I t t
ServiceModel
b t ff t
Bandwidth
none
Loss
no
Order TimingCongestionfeedback
(i f dInternet
ATM
best effort
CBR
none
constant
no
yes
no
yes
no
yes
no (inferredvia loss)no
ATM VBRrateguaranteedrate
yes yes yescongestionnocongestion
Constant Bit Rate
Variable Bit Rate
ATM
ATM
ABR
UBR
guaranteed minimumnone
no
no
yes
yes
no
no
gyes
noAvailable Bit Rate
ATM UBR o e o yes no noUnspecified Bit Rate
Nível Rede4-11
Circuitos Virtuais (CV)
CV: Semelhante a um circuito telefónicoA nível da performance
Ao nível das acções realizadas pela rede ao longo do caminho
Estabelecimento e finalização de ligação separadas da transmissão dosEstabelecimento e finalização de ligação separadas da transmissão dos dados
Cada pacote transporta o identificador do CV e não o endereço de d tidestino
Cada router no caminho mantém um estado para cada conecção estabelecida
Recursos da ligação e dos routers (largura de banda e buffers) podem ser alocados a um dado CV
Nível Rede4-12
Implementação de Circuitos Virtuais
Um CV consiste de:1 Um caminho da origem ao destino1. Um caminho da origem ao destino2. Número de CV: um número para cada segmento da ligação 3. Tabelas de encaminhamento em cada router utilizado
Cada pacote que circula num CV é identificado pelo número do circuitoO número de CV do pacote muda em cada ligaçãoO número de CV do pacote muda em cada ligação
O número de cada novo CV é obtido da tabela de encaminhamento
Os routers (ou switches) mantêm informação de estado associada a cada circuito virtual
Cada vez que é criado um novo CV é inserido um elemento naCada vez que é criado um novo CV é inserido um elemento na tabela de encaminhamento de cada router
Nível Rede4-13
Tabelas de EncaminhamentoNúmero de CV
12 22 32
Número de interface
Elementos das tabelas de encaminhamento nos routers R1 e R2R t If d E t d CV d i If d S íd CV d d tiRouter If. de Entrada CV de origem If. de Saída CV de destino
R1 1 12 2 22 … … … … …
… … … …R2 1 22 2 32
Nível Rede4-14
… … … … …
Protocolos de Sinalização
Utilizados para criar, manter e remover circuitos virtuais
Utili d ATM X 25 F R lUtilizados em ATM, X.25 e Frame‐Relay
Não utilizados no Internet Protocol
applicationapplication
1. Initiate call 2. Incoming call
3. Accept call4. Call connected
transportnetworkdata link
applicationtransportnetwork
5. Data flow begins 6. Receive data
data linkphysical data link
physical
Nível Rede4‐15
Redes DatagramaNão existe estabelecimento de conecção no nível rede
Não existe o conceito de conecção
Os routers não guardam estado relativamente às conecções end‐to‐endOs routers não guardam estado relativamente às conecções end to end
Os pacotes são encaminhados utilizando o endereço do host de destinoPacotes sucessivos entre os mesma origem e destino podem seguir
i h ( ) difcaminhos (rotas) diferentes
applicationli ti
pptransportnetworkdata link
applicationtransportnetwork1. Send data 2 Receive datadata link
physical data linkphysical
2. Receive data
Nível Rede4‐16
Routing em Redes Datagrama
A determinação do caminho a seguir em cada router é determinada pela análise do endereço de destino
Em cada router existe uma tabela de encaminhamento
Cada elemento da tabela associa um intervalo de endereços a um interface de saídainterface de saída
O router faz seguir (forward) o pacote pela interface associada ao intervalo a que pertence o endereço de destino
0000-0111 11000 1011 2
12 1000-1011 2
1100-1111 3
2
3
Nível Rede4-17
Exemplo232: 4 mil milhões de possibilidadesRouter com 4 interfaces de saída
Endereço de 32 bits
Intervalo do Endereço de Destino Interface de saída
11001000 00010111 00010000 00000000até 0
11001000 00010111 00010111 11111111
11001000 00010111 00011000 00000000até 1
11001000 00010111 00011000 1111111111001000 00010111 00011000 11111111
11001000 00010111 00011001 00000000até 2até 2
11001000 00010111 00011111 11111111
senão 3
Nível Rede4-18
senão 3
Redução do número de elementos
P fi I t f d íd
Prefix Matching: comparação de parte mais significativa do endereço
Prefixo Interface de saída
11001000 00010111 00010 0
11001000 00010111 00011 1
11001000 00010111 00011000 2
senão 3
Exemplos
Q i f ?
ED: 11001000 00010111 00011000 10101010
ED: 11001000 00010111 00010110 10100001 Que interface?
Que interface?
0
2ED: 11001000 00010111 00011000 10101010 Que interface?
É escolhida a interface que corresponde ao maior prefixo comum !
2
Nível Rede4‐19
Redes Datagrama ou Circuito Virtual?
InternetTransferência de dados entre computadores
ATMEvoluiu a partir da telefonia
Analogia com o diálogo humanocomputadores
Serviço “flexível”, sem requisitos temporais rigorosos
Si t fi i “i t li t ”
Analogia com o diálogo humano
Requisitos temporais e de fiabilidade rigorosos
Sistemas finais “inteligentes” (computadores)
Podem adaptar‐se, realizar controle ã d
Necessidade de garantir níveis de serviço
Sistemas finais “pouco espertos” e correcção de erros
Simplicidade no interior da rede, complexidade na “periferia”
Telefones
Redes inteligentes
Complexidade no interior da redeSuporta múltiplos tipos de ligação
Diferentes características
Difícil estabelecer um serviço
Complexidade no interior da rede
Difícil estabelecer um serviço uniforme
Nível Rede4-20
Comparação Redes Datagrama – Circuito Virtual
Nível Rede4-21
Nível RedeIntrodução
Circuitos virtuais e
Algoritmos de routingLink state
datagramas
IP: Internet Protocol
Vector distância
Routing hierárquico
Formato dos datagramas
Esquema de endereçamento IPv4
Routing na InternetRIP
OSPFIPv4
ICMP
IPv6
OSPF
BGP
Routing em brodacast eFuncionamento de um Router
Routing em brodacast e multicast
Nível Rede4-22
Internetworking
Internet: o protocolo IP permite interligar uma enorme
Nível Rede4‐23
diversidade de redes heterogéneas
O Nível Rede da InternetFuncionalidades do nível rede (Hosts e Routers):
IP protocol
Transport layer: TCP, UDP
Routing protocols•path selection•RIP, OSPF, BGP
IP protocol•addressing conventions•datagram format•packet handling conventionsNível
forwardingtable
ICMP protocol•error reporting
Rede
•router “signaling”
Link layer
Physical layer
Nível Rede4‐24
Formato dos Datagramas IP
ver length
32 bitsIP protocol version
numberheader length
total datagramlength (bytes)head. type ofver length
16‐bit identifier
Headertime to
(bytes)
max number
forfragmentation/reassembly
len service“type” of data
flgsfragmentoffset
upper Headerchecksum
time tolive
32 bit source IP address
max numberremaining hops
(decremented at each router)
yupperlayer
eac oute )
upper layer protocolto deliver payload to
32 bit destination IP address
Options (if any) E.g. timestamp,
Data (variable length,
record routetaken, specifylist of routers
i i
Overhead TCP+IP:
20 bytes of TCP( g ,typically a TCP or UDP segment)
to visit.20 bytes of IP
= 40 bytes + app layer overhead
Nível Rede4‐25
y
O Header IP
O cabeçalho do Protocolo Internet IPv4O cabeçalho do Protocolo Internet IPv4
Total: 20 bytes
Nível Rede4-26
O Header IP (I)Version” ‐ versão do protocolo IP utilizada. Já disponível versão 6, utiliza‐se contudo maioritariamente a versão 4.IHL ‐ IP Header Length: Número de conjuntos de 32 bits que o cabeçalho tem, sendo o valor mínimo 5 (valor por defeito).( p )TOS ‐ Type of Service: permite a indicação do tipo de serviço pretendido
Actualmente começam a ser utilizados pelos DiffServ (Serviços Diferenciados) e ECN (explicit Congestion Notification)V di it li d i i t t l id d fi bilid dVoz digitalizada ‐mais importante a velocidade que a fiabilidade.Transferência de ficheiros ‐mais importante a ausência de erros que a velocidade.Os primeiros três bits do campo são a “precedence” de 0 – normal a 7 – (Network control packet) de seguida existem três flags D, T e R (Delay, Throughput e p ) g g , ( y, g pReliability). Informação deveria ser utilizada pelos routers para escolher quel a encaminhamento a escolher (satélite, linha alugada, etc.) na prática os routers ignoram este campo.
Total length ‐ comprimento total do datagrama. máximo de 65.535 bytes.g p g yIdentification – para o host destino determinar a que datagrama um novo fragmento pertence. Todos os fragmentos do mesmo datagrama contêm o mesmo valor no campo “Identification”.DF Don’t Fragment bit indica que a máquina destino deve receber o datagrama na suaDF – Don t Fragment bit indica que a máquina destino deve receber o datagrama na sua totalidade e não em fragmentos, todas as máquinas devem estar preparadas para aceitar fragmentos de 576 bytes ou menos.
Nível Rede4-27
O Header IP (II)MF – More Fragments bit, serve para indicar que que o datagrama contém mais fragmentos, apenas o último dos fragmentos não terá este bit posicionado a 1.Fragment Offset ‐ posição que o fragmento deve ocupar no corrente datagrama. Fragmentos excepto último são múltiplos de 8 bytes Máx de 8192Fragmentos, excepto último são múltiplos de 8 bytes. Máx de 8192 fragmentos/datagrama‐máx de 65.536 bytes mais um que max Total length.Time to live ‐ contador para limitar o tempo de vida útil de um pacote na rede. (segundos ‐máximo de 255 s. Decrementado em cada nó ou fila de espera até atingir o valor zero quando é eliminado pela redequando é eliminado pela rede.Protocol ‐ indica a que protocolo de transporte o datagrama pertence. (TCP e UDP ‐definidos no RFC 1700).Header Checksum ‐ detecção erros de transmissão no cabeçalho. Recalculado em cada ç çnó da rede uma vez que pelo menos o campo Time to Live é modificado.Source Address e Destination Address ‐ endereços origem e destino.Options ‐ acrescentado até um múltiplo de quatro bytes. (Security, Source Routing, Record route TimestampRecord route, Timestamp.
Nível Rede4-28
Fragmentação e Assemblagem IPNem todas as ligações de rede utilizadas pelo IP têm o mesmo tamanho de trama
MTU: Max. Transfer Unit
Ethernet: 1500 bytes
ATM: 48 bytes
Os datagramas IP são divididos em “fragmentos” pela rede
Cada fragmento é enviado num novo datagrama
Os fragmentos são assemblados no destino
Os bits do header IP são utilizados para identificar e ordenar os fragmentosordenar os fragmentos relacionados
Nível Rede4-29
Fragmentação e Assemblagem IP
ID=x
offset=0
fragflag=0
length=4000Exemplo
O datagrama inicial é fragmentado em vários datagramas de comprimento inferior
Exemplo
Datagrama de 4000 bytes
ID=x
offset=0
fragflag=1
length=1500
MTU = 1500 bytes
1480 bytes de dados x 011500
ID=x
offset=185
fragflag=1
length=1500
(1500 – 20 do header)
offset = 1480/8
ID=x
offset=370
fragflag=0
length=1040
O flag é posicionado em todos os fragmentos excepto
O offset é indicado em múltiplos de 8 bytes !
g pno último
Nível Rede4‐30
Endereçamento IP: IntroduçãoEndereço IP: identificador de 32bits de cada interface de rede dos hosts e routersrede dos hosts e routers
Interface: dispositivo que realiza a ligação entre o g çhost/router e o meio físico
Os routers têm geralmente múltiplos interfacesmúltiplos interfaces
Os hosts geralmente têm um só interface
d f dCada interface tem um endereço IP associado
223.1.1.1 = 11011111 00000001 00000001 00000001
Nível Rede4-31223 1 11
Partições Rede com 3 partições
ti ãO endereço IP é dividido em duas zonas:
partição
N.º de rede (bits de maior peso)
N.º de host (bits de menor (peso)
O que é uma partição ?É caracterizada pelo facto deÉ caracterizada pelo facto de todos as interfaces terem o mesmo número de rede
Nã d t li dNão poderem estar ligadas fisicamente sem ser através de um router
networkaddress
hostaddress
11011111 00000001 00000001 00000000
223.1.1.0/24
Nível Rede4-32
Partições do Laboratório (com gateways)
Nível Rede4-33
Partições do Laboratório (com router)
Sala Q3.1
Sala Q3.2
Sala Q2.5
Nível Rede4-34
Sala Q2.5
Partições do Laboratório (conectividade)
Nível Rede4-35
Tabela de Roteamento do Laboratório
Tabela do roteamento do Router
Nível Rede4-36
Versão com Gateways
Nível Rede4-37
Tabela de Roteamento Gateway1Gateway de acesso à rede 192.168.10.0/24
Cada servidor de bancada tem uma tabela de roteamento equivalente
Nível Rede4-38
Tabela de Roteamento Gateway2Gateway de acesso à rede 192.168.20.0/24
Cada servidor de bancada tem uma tabela de roteamento equivalente
Nível Rede4-39
IP: Classes de Endereçamento
Nível Rede4-40
Endereços IP
XXX.XXX.XXX.XXX => nnn.nnn.hhh.hhh em que XXX ‐ Valor de 0 a 255 ( 00 a FF em Hexadecimal)nnn – REDE e hhh – HOST
CLASSES DECIMAL HEXADECIMAL FORMATOA 0 127 00 7F hhh hhh hhhA 0 a 127 00 ‐ 7F nnn.hhh.hhh.hhh
127 Redes com 16.516.350 Hosts
B 128 a 191 80 8B nnn nnn hhh hhhB 128 a 191 80 ‐ 8B nnn.nnn.hhh.hhh16.002 Redes com 64.770 Hosts
C 192 a 223 C0 ‐ DF nnn.nnn.nnn.hhhC 192 a 223 C0 DF nnn.nnn.nnn.hhh1.999.996 Redes com 254 Hosts
Aproximadamente 2 Biliões de Endereços Tcp/IpE não chegam !!
Aproximadamente 100 Triliões de Endereços Ethernet
Nível Rede4-41
Endereços IP Especiais
Nível Rede4-42
Endereçamento IP: CIDR
CIDR: Classless InterDomain RoutingCIDR: Classless InterDomain RoutingA zona atribuída à subnet é de tamanho arbitrário
O formato utilizado é a b c d/x onde x é o número deO formato utilizado é a.b.c.d/x , onde x é o número de bits utilizados pela zona da subnet
subnetpart
hostpart
11001000 00010111 00010000 00000000p
200 23 16 0/23200.23.16.0/23
Nível Rede4-43
Mascaras de Rede (Netmasks)As mascaras de rede (netmasks) permitem extrair o número de rede de um endereço IP através de uma operação lógica simples (AND)
Netmask classe A ‐> 255.0.0.0Netmask classe A 255.0.0.0
Netmask classe B ‐> 255.255.0.0
Netmask classe C ‐> 255.255.255.0
N k CIDR
Exemplo:IP: 192.168.10.12
Netmask: 255.255.255.0Netmask CIDR
192.168.10.0/22 ‐> 255.255.252.0
192.168.20.0/26 ‐> 255.255.255.192
Netmask: 255.255.255.0
Rede: 192.168.10.0
HostNetwork Endereço IP
11111111111111111111 000000000000000000 Netmask
(AND)
Network 000000000000000000
(AND)
Nº de Rede
Nível Rede4-44
NAT: Network Address TranslationJustificação: Os endereços IP são escassos em IPv4 !
A utilização do NAT permite que uma rede local utilize apenasA utilização do NAT permite que uma rede local utilize apenas um endereço IP para aceder ao exterior:
Evita a necessidade de alocação de uma gama de endereços IP por parte ç g ç p pdo ISP: apenas um endereço é utilizado para todos os dispositivos
É possível modificar endereços dos dispositivos na rede local sem notificar o mundo exteriornotificar o mundo exterior
Pode‐se mudar de ISP sem mudar os endereços dos dispositivos na rede local
Os dispositivos no interior da rede local não endereçáveis explicitamente podem ser acedidos a partir da rede externa ‐> segurança adicional.
Nível Rede4-45
NAT: Network Address Translation
d l lR d
Exemplo
10.0.0.1
Rede local(ex., rede doméstica)
10.0.0/24
Resto daInternet
10.0.0.210.0.0.4
138 76 29 7
10.0.0.3
138.76.29.7
Todos os datagramas à saída de uma rede local têm o mesmo e único d d i IP 138 76 29 7
Os datagramas com origem ou destino na rede local
endereço de origem IP: 138.76.29.7 e diferentes números de portos de
origem
têm 10.0.0.x como endereços de origem ou destino
Nível Rede4‐46
NAT: ImplementaçãoUm router que implemente NAT efectua as seguintes operações:
À saída: substituir os campos (endereço IP de origem, n.º de ) d d d íd ( d IP NATporto) em todos os datagramas de saída por (endereço IP‐NAT,
novo n.º de porto)Os clientes/servidores remotos responderão utilizando / p(endereço IP‐NAT, novo n.º de porto) como endereço destino.
Memorizar (na tabela de translação NAT) todos as correspondências entre (endereço IP de origem n º de porto) ecorrespondências entre (endereço IP de origem, n.º de porto) e (endereço IP‐NAT, novo n.º de porto)À entrada: substituir os campos (endereço destino IP‐NAT, novo º d t ) d t d d t d h d ln.º de porto) de todos os datagramas de chegada pelos
correspondentes (endereço IP de origem, n.º de porto) armazenados na tabela NAT
Nível Rede4-47
NAT: Funcionamento
1: host 10.0.0.1 i d t
NAT translation tableWAN side addr LAN side addr2: router NAT
envia datagrama para 128.119.40.186, 80
WAN side addr LAN side addr
138.76.29.7, 5001 10.0.0.1, 3345…… ……
Muda o source addrdo datagrama de10.0.0.1, 3345 para
10.0.0.1
S: 10.0.0.1, 3345D: 128.119.40.186, 80
1
138.76.29.7, 5001,e actualiza tabela
10.0.0.2
1
10.0.0.4
138 76 29 7
S: 138.76.29.7, 5001D: 128.119.40.186, 802
10.0.0.3
138.76.29.7 S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4
S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3
3: Chega resposta4: router NATM d d dd d3: Chega resposta
para dest. address:138.76.29.7, 5001
Muda o dest addr dodatagrama de 138.76.29.7, 5001 para 10.0.0.1, 3345
Nível Rede4‐48
Diferentes tipos de NAT (I)Source: http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_7-3/anatomy.html
NAT SimétricoÉ estabelecido um mapeamento entre um endereço e porto internos e um endereço e porto externo
Esse mapeamento só pode ser utilizado pelos dois intervenientes para enviar e receber dados
Nível Rede4-49
Diferentes tipos de NAT (II)Source: http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_7-3/anatomy.html
Full Cone NATÉ estabelecido um mapeamento entre um endereço e porto internos e um endereço e porto externo
Esse mapeamento pode ser utilizado por qualquer endereço e portos externos para enviar dados
d t i tpara o endereço e porto internos
Outros tipos de NAT:Address Restricted Cone NAT
Port Restricted Cone NAT
Ver link para mais detalhes
Nível Rede4-50
Considerações sobre a utilização do NAT
Campo número de porto tem 16‐bits:É possível ter cerca de 60.000 ligações simultâneas com um único endereço de à saída LAN!
A utilização do NAT é controversa:Os routers devem apenas processar protocolos só até ao nível 3p p p• O router modifica o porto que é um conceito do nível 4 !
Viola argumentos a favor do ponto‐a‐ponto• a possibilidade NAT deve ser tida em conta por designers de aplicações, i.e., p p g p ç , ,aplicações P2P
• Cria problemas ao VoIP
As limitações de endereçamento IP deveriam ser resolvidas ç çpelo IPv6
Mas a realidade é que o NAT é utilizado por todo o lado !
Nível Rede4-51
ICMP: Internet Control Message Protocol
Utilizado por hosts e routers para comunicar informação ao nível redeao nível rede
Comunicação de erros: unreachable host, network, port, protocolp , p
Echo request/reply (utilizado pelo ping)
Implementado “em cima” do IP:Implementado em cima do IP:
As mensagens ICMP são transportadas em datagramas IP
Mensagem ICMP: contém “type”, “code” mais os 8 primeiros bytes do datagrama IP que causou o erro
Nível Rede4-52
ICMP – Tipos de Mensagens
5-61
Nível Rede4-53
Comando Traceroute e ICMPOrigem envia séries de segmentos UDP para destino
Quando a mensagem ICMP chega, a origem calcula o RTT
1º tem TTL=1
2º tem TTL=2, etc.
Traceroute faz isto 3 vezes
N.º de porto incoerente
Quando o datagrama n chega ao router n:
Critério de paragem
Segmento UDP acaba por chegar ao host de destinorouter n:
O router descarta o datagrama
ao host de destino
O n.º de porto enviado não corresponde a nenhum válidog
Envia para a origem uma mensagem ICMP 11: “Time to
p
Destinatário devolve um pacote ICMP “host unreachable” (type 3, d )Live Expired”
Mensagem inclui nome do router e endereço IP
code 3)
Quando a origem obtém este ICMP pára
Nível Rede4-54
router e endereço IP ICMP, pára.
Nível RedeIntrodução
Circuitos virtuais e
Algoritmos de routingLink state
datagramas
IP: Internet Protocol
Vector distância
Routing hierárquico
Formato dos datagramas
Esquema de endereçamento IPv4
Routing na InternetRIP
OSPFIPv4
ICMP
IPv6
OSPF
BGP
Routing em brodacast eFuncionamento de um Router
Routing em brodacast e multicast
Nível Rede4-55
IPv6Origem em 1990, para suceder ao IPv4
RFC 2460
h // f f / / / d h lhttp://www.rfc‐ref.org/RFC‐TEXTS/2460/index.html
Motivação inicial: espaço de endereçamento de 32‐bit está esgotadoesgotado.
Motivação adicional:Formato do cabeçalho ajuda a acelerarFormato do cabeçalho ajuda a acelerar processamento/encaminhamento
Cabeçalho muda para facilitar QoS
Formato datagrama IPv6:Cabeçalho de comprimento fixo 40 bytes
A gestão da fragmentação é retirada do header principal e gerida separadamente num header adicional
Nível Rede4-56
Datagrama IPv6
Principais característicasT h d b lh fi d 40 b tTamanho de cabeçalho fixo de 40 bytesOs campos de endereços passaram para 128 bitsIntrodução do conceito de fluxo e tipo de tráfego
Nível Rede4-57
ç p gNão tem campo de checksum nem de gestão de fragmentos
IPv6: Outras Mudanças
Checksum: eliminada totalmente para reduzir o tempo de processamento em cada hopprocessamento em cada hop.Fragmentation: gerida ponto a ponto pelo emissor e receptor dos pacotes e não pelos routersOptions: permitidas, mas fora do cabeçalho, indicado pelo campo “Next Header”ICMPv6: nova versão do ICMPICMPv6: nova versão do ICMP
Tipos de mensagens adicionais, i. e. “Packet Too Big”Grupo multicast de funções de gestão
Nível Rede4-58
Fragmentação IPv6
Fragment Header
Nível Rede4-59
Protocolo IPv6Convergência Internet e Redes de Telecomunicações (comutação IP) => processo de transição IPv4 => IPv6Version – mantém‐se do IPv4 terá sempre o valor fixo 6.pTraffic Class ‐ distingue entre pacotes com diferentes requisitos de entrega em tempo real.
Campo sempre presente mesmo no IPv4 (TOS), nunca usado de forma generalizada. Sugestão: 0 e 7 para transmissões que sejam capazes de reduzir a sua actividade emSugestão: 0 e 7 para transmissões que sejam capazes de reduzir a sua actividade em caso de congestão. 8 e 15 para tráfego em tempo real, com taxa de envio constante (Por exemplo Áudio e Vídeo). Sug. 1 para News, 4 para FTP e 6 para Telnet.
Flow Label ‐ Permite quer ao emissor quer ao destinatário definir uma pseudo‐ligação com propriedades e requisitos particulares como por exemplo um fluxoligação com propriedades e requisitos particulares, como por exemplo um fluxo de pacotes de um processo de um host origem para um processo num hostdestino com determinados requisitos em termos de atraso e de largura de banda. Payload length ‐ indica quantos bytes se seguem ao cabeçalho de 40 bytes e corresponde ao campo “Total Length” do protocolo IPv4, o nome foi mudado em virtude do seu significado ter mudado ligeiramente (os bytes do cabeçalho não são contados como eram anteriormente).)
Nível Rede4-60
Header IPv6Next Header ‐ existe para permitir a indicação de quais dos possíveis seis cabeçalhos de extensão que seguem, caso existam. Se este cabeçalho é o último cabeçalho então o campo next header indica para que protocolo de t t d d t (TCP UDP )transporte deve ser passado o pacote (TCP, UDP, …).Hop Limit ‐ utilizado para prevenir que os pacotes permaneçam para sempre na rede, substitui o campo “Time to Live” do protocolo IPv4, mudou de nome por ser originalmente definido para representar segundos e não ser assim que é g p p g qefectivamente utilizado, mas sim decrementado em cada nó da rede. Source Address e Destination Address ‐ Endereços origem e destino de 16 bytes para substituir os endereços de 4 bytes do IPv4. Definida uma nova notação com oito grupos de quatro dígitos hexadecimais (16 bits) com “:” entrenotação com oito grupos de quatro dígitos hexadecimais (16 bits) com : entre cada grupo. Zeros à esquerda podem ser omitidos e um ou mais grupos de 16 bits zero podem ser substituídos por dois “:”Endereço 8000:0000:0000:0000:0123:4567:89AB:CDEF poderá ser
t drepresentado por 8000::123:4567:89AB:CDEF
Os endereços IPv4 podem ser representados ::192.31.20.46
Nível Rede4-61
Protocolo IPv6: Extensões“Extension Headers”
Alguns campos adicionais podem ser necessáriosO IPv6 introduziu a possibilidade de utilizar “extensionheaders” opcionais que são incluídos depois do header inicial e referidos pelo campo “Next Header”p p
Nível Rede4-62
Transição de IPv4 Para IPv6
A compatibilidade de IPv6 com IPv4 é possível mas o contrário nãocontrário nãoNem todos os routers podem ser actualizados simultaneamentesimultaneamente
É impossível declarar um dia em que se faria a mudança de todo o parque informático global
Dual Stack: elementos activos capazes de falar os dois protocolosTunneling: IPv6 transportado como dados no datagrama IPv4 entre routers IPv4
Nível Rede4-63
Dual Stack
No caso de haver um troço de rede com IPv4 entre a origem e o destino as características do IPv6 não são mantidas de ponto a pontodestino, as características do IPv6 não são mantidas de ponto a ponto
Nível Rede4-64
Tunneling
No caso do tunneling, as características do IPv6 são mantidas ponto a ponto, excepto no troço em que só há IPv4
A-to-B:IP 6
E-to-F:IP 6B-to-C: B-to-C:
Nível Rede4-65
IPv6 IPv6IPv6 insideIPv4
IPv6 insideIPv4
Nível RedeIntrodução
Circuitos virtuais e
Algoritmos de routingLink state
datagramas
IP: Internet Protocol
Vector distância
Routing hierárquico
Formato dos datagramas
Esquema de endereçamento IPv4
Routing na InternetRIP
OSPFIPv4
ICMP
IPv6
OSPF
BGP
Routing em brodacast eFuncionamento de um Router
Routing em brodacast e multicast
Nível Rede4-66
RoutersRouter ‐ Equipamento activo que liga várias redes e realiza o encaminhamento de pacotes com base em algoritmos e tabelas de encaminhamento.de encaminhamento.
Também pode impedir ou filtrar a passagem de certos tipos de pacotes.
Actua no nível rede (nível 3 do modelo OSI).
Nível Rede4-67
Resumo da Arquitectura de um Router
Q Duas funções chave:Correr algoritmos/protocolos de routing (RIP, OSPF, BGP)
Quatro componentes:Portas de EntradaMalha de Comutação
encaminhar datagramas da ligação de chegada para a de saída
Ma ha mutaçãProcessador de encaminhamentoPortas de Saída
Malha
dede
Comutação
Nível Rede4-68
Funcionalidade das Portas de Chegada
Nível Físico:
Processamento do Pacote:Conhecido o destino de um datagrama a porta
recepção nível bit
Nível Ligação:d l t Conhecido o destino de um datagrama, a porta
de saída é seleccionada através das tabelas de encaminhamento.Objectivo: completar o processamento do pacote
desencapsulamento
j p p pde chegada à ‘velocidade da linha’Queuing: se os datagramas chegam mais rapidamente que a taxa de encaminhamento na
Nível Rede4-69
malha de comutação.
Três tipos de malha de comutaçãop ç
Nível Rede4-70
Comutação através de Memória
InputPort
OutputPort
Memory
Routers de primeira geração:
System Bus
p m g çComputadores tradicionais com comutação realizada através de controle directo do CPU Pacotes copiados para a memória do sistemaA velocidade é limitada pelo tempo de acesso da p pmemória
O encaminhamento de um datagrama implica dois acessos à ó i ( it l it )
Nível Rede4-71
à memória (escrita e leitura)
Comutação através de Bus
O datagrama passa da memória de entrada para a memória de saída através de um Bus partilhadoContenção no Bus: a velocidade de comutação está limitada pela largura de banda do BusCisco 1900: Bus com 1 Gbps, suficiente para routers p pempresariais mas não para routers regionais ou de backbones
Nível Rede4-72
Comutação através de Crossbar
Ultrapassa as limitações da largura de banda do buslargura de banda do busRedes de interligação inicialmente desenvolvidas para máquinas paralelasmáquinas paralelasDesign avançado: os datagramas são fragmentados em células de
i fi ãcomprimento fixo que são comutadas através da malhaCisco 12000: permite débitos de p~100 Gbps através da rede de interligação
Nível Rede4-73
Funcionalidade das Portas de Saída
Buffering necessário quando os datagramas chegam mais rapidamente do que a taxa de emissão de saídarapidamente do que a taxa de emissão de saída
Algoritmo de escalonamento selecciona datagrama da fila de espera para emissãode espera para emissão
Nível Rede4-74
Nível RedeIntrodução
Circuitos virtuais e
Algoritmos de routingLink State
datagramas
IP: Internet Protocol
Vector Distância
Routing Hierárquico
Formato dos datagramas
Esquema de endereçamento IPv4
Routing na InternetRIP
OSPFIPv4
ICMP
IPv6 Funcionamento de um
OSPF
BGP
Routing em broadcast eIPv6 Funcionamento de um Router
Routing em broadcast e multicast
Nível Rede4-75
Algoritmos de Routing
Determinam as rotas ou caminhos entre um router de origem e umaentre um router de origem e uma rede de destino
Permitem construir as tabelas de i h t i t tencaminhamento existentes em
todos os routers de uma rede
A quantidade de routers e sub‐redes existentes na Internet implica a utilização de vários níveis de algoritmosalgoritmos
Algoritmos inter‐organizacionais
Algoritmos intra‐organizacionais
O i ã A SOrganização: Autonomous System (AS)
Nível Rede4-76
Abstracção utilizada: Grafos
• Os algoritmos de routing abstraem a topologia da rede sob a forma de grafos• Utilizam a noção de custo para Utilizam a noção de custo para determinar o “peso” de uma ligação na determinação de uma rota• Custo da ligação (x1, x2) = c(x1, x2) g ç ( 1, 2) ( 1, 2)• Ex: c(w,z) = 5• O custo pode ser 1 por cada troço, ou ser inversamente relacionado com a largura de banda ou factor de congestão
Custo do caminho (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp)
Pergunta: Qual é o caminho de menor custo entre u e z ?
Algoritmo de Routing: calcula os caminhos de menor custo entre os nós de um grafo de uma rede
Nível Rede4-77
menor custo entre os nós de um grafo de uma rede
Classificação dos Algoritmos de Routing
Informação central ou descentralizada?
Estáticos ou dinâmicos?
Central:Todos os routers têm completa informação sobre a topologia e custo
Estáticos:As rotas mudam pouco frequentemente no tempo
informação sobre a topologia e custo de toda a redeAlgoritmos “Link State”‐ LS
Dinâmicos:As rotas mudam mais frequentemente
Descentralizada:Os routers só conhecem os vizinhos a que estão fisicamente ligados e os custos dessas ligações
qNecessidade de actualização periódica em resposta a mudanças de topologia ou custos de ligação
custos dessas ligaçõesProcesso iterativo de cálculo e troca de informação entre routers vizinhosAlgoritmos “Distance Vector”‐ DVg
Nível Rede4-78
Routing Hierárquico
A aproximação utilizada pelos algoritmos LS e DV não é realnão é real
Os routers não são todos idênticosA rede não é um grafo linear -> antes uma rede de redes
Problemas de escala:Mais de 200 milhões de
Autonomia administrativaInternet = rede de redes
g
Mais de 200 milhões de destinos:
Não se podem guardar todos numa tabela de routingO l d d d it t
Internet = rede de redesCada administrador de rede pode querer implementar uma política de routing específica na sua organização
O volume de dados respeitante a trocas de tabelas poderia saturar a rede !
A solução é dividir o espaço de roteamento global em parcelas mais pequenas e aplicar os algoritmos a vários níveis
Nível Rede4-79
Routing Hierárquico: princípios
Agregação de routers em regiões denominadas “Autonomous Systems” (AS)m y m ( )
Correspondendo a uma organização ou domínioOs routers numa mesma AS utilizam o mesmo protocolo interno
Protocolo de routing “intra-AS”O AS di i d ili dif Os routers em AS distintos podem utilizar diferentes protocolos
Um ou mais routers de um AS são designados Um ou mais routers de um AS são designados Gateway Router e estabelecem ligações permanentes com os routers correspondentes dos p pAS a que estão ligados
Protocolo de routing “inter-AS”
Nível Rede4-80
Interligação de ASs??
A tabela de routing é configurada pelos algoritmos inter e intra-AS
Intra AS configura as rotas para Intra-AS configura as rotas para os destinos internosIntra-AS e Inter-AS colaboram
fi ã d s t s na configuração das rotas para destinos externos
Nível Rede4-81
Nível RedeIntrodução
Circuitos virtuais e
Algoritmos de routingLink State
datagramas
IP: Internet Protocol
Vector Distância
Routing Hierárquico
Formato dos datagramas
Esquema de endereçamento IPv4
Protocolos de RoutingRIP
OSPFIPv4
ICMP
IPv6 Funcionamento de um
OSPF
BGP
Routing em broadcast eIPv6 Funcionamento de um Router
Routing em broadcast e multicast (não há tempo…)
Nível Rede4-82
Routing Intra‐ASg
Também conhecidos como Interior Gateway ProtocolsTambém conhecidos como Interior Gateway Protocols (IGP)
Protocolos Intra‐AS mais comuns:
RIP: Routing Information Protocol
OSPF: Open Shortest Path First
IGRP: Interior Gateway Routing Protocol (desenvolvidoIGRP: Interior Gateway Routing Protocol (desenvolvido pela Cisco)
Nível Rede4-83
RIP (Routing Information Protocol)Um d s p im i s p t c l s d utin utili d s n Int n tUm dos primeiros protocolos de routing utilizados na Internet
Várias versões: RFCs 1058, 2453, 2080Utiliza um algoritmo de Distance Vector (descentralizado)g ( )Incluído na versão BSD-UNIX Distribution (BSD) em 1982Métrica utilizada: n.º de hops (saltos) entre redes
Max. = 15 hopsA partir do router A:
Nível Rede4-84
RIP: ImplementaçãoAs tabelas de routing do RIP são geridas por um processo de As tabelas de routing do RIP são geridas por um processo de nível aplicação denominado routed (unix daemon)As mensagens entre routers (advertisements) são enviadas em pacotes UDP e repetidas periodicamentepacotes UDP e repetidas periodicamente
Todos os 30 segundos: lista de destinos dentro da ASSe um router não envia advertisements durante mais de 180 sec. é considerado desligado e retirado das tabelasé considerado desligado e retirado das tabelas
Nível Rede4-85
RIP: Exemplo (i)
wx yA CB
zt
Destination Network Next Router Num. of hops to dest.
D
Destination Network Next Router Num. of hops to dest.x ‐‐ 1y B 2w B 3z B 4t 1t ‐‐ 1
Tabela de Routing em A
Nível Rede4‐86
Dest Next hops
RIP: Exemplo (ii)v ‐ 1t ‐ 1z E 2
Advertisementde D para A
wx yA CB
…. … ...
y
ztv
Destination Network Next Router Num. of hops to dest.1
D E
x ‐‐ 1y B 2w B 3w B 3z B D 4 3t ‐‐ 1
Nível Rede4‐87
Tabela de Routing em A
RIP: ImplementaçãoAs t b l s d ti d RIP sã id s ss d As tabelas de routing do RIP são geridas por um processo de nível aplicação denominado route-d (unix daemon)As mensagens entre routers (advertisements) são enviadas em
t UDP tid i di tpacotes UDP e repetidas periodicamenteTodos os 30 segundosSe um router não envia advertisements durante mais de 180 sec. é id d d li d ti d d t b lé considerado desligado e retirado das tabelas
routed routed
Transport(UDP)
Transport(UDP)
li k
network forwarding(IP) table
li k
network(IP)
( )forwarding
table
physicallink
physicallink
Nível Rede4-88
OSPF (Open Shortest Path First)Concebido para ser o sucessor do RIP
“Open”: protocolo aberto, acessível publicamenteInumeras versões: RFCs 1131 2328 4750Inumeras versões: RFCs 1131, 2328, 4750.
Utiliza um algoritmo de Link State – Dijkstra (centralizado)Cada nó estabelece um mapa topológico de “toda” a rede do ASR li i di t di i ã d t d Li k St t (30 )Realiza periodicamente disseminação de pacotes de Link State (30mn.) para todos os elementos do AS (flooding)As mensagens OSPF são enviadas directamente em cima de IP
C té f i lid d d l ã RIPContém funcionalidades avançadas em relação ao RIPSegurança: todas as mensagens OSPF são autenticadas Permite caminhos múltiplos com o mesmo custoPara cada ligação, permite múltiplas métricas para diferentes TOS (tipos de serviços)• ex: link satélite pode ter custo baixo para melhor esforço, e alto para tempo real
Integra suporte de unicast e multicastPermite uma organização hierárquica em domínios extensos
Nível Rede4-89
OSPF Hierárquico
Hierarquia em dois níveis: áreas locais e backbones.
C d ó t t l i d á ó h i h i t B dCada nó tem a topologia da área e só conhece o caminho mais curto para o BorderRouter
Internal Routers: efectuam o roteamento interno na sua área
Area Border Routers: realizam a interface entre uma área e o backbone exportando asArea Border Routers: realizam a interface entre uma área e o backbone, exportando as rotas para as redes internas à área
Backbone routers: efectuam o roteamento entre áreas ligadas ao backbone
Boundary routers: realizam roteamento inter AS com outros AS podendo utilizar outros
Nível Rede4‐90
Boundary routers: realizam roteamento inter‐AS com outros AS, podendo utilizar outros protocolos tais como o BGP
Routing Inter‐AS: BGP
BGP (Border Gateway Protocol): o standard de facto na Internet (RFC 4271)O BGP fornece aos administradores dos Autonomous System (ASs) meios para:
Obt i f ã d ibilid d à b d d AS i i h1. Obter informação de acessibilidade às subredes dos ASs vizinhos2. Propagar a informação de acessibilidade a todos os routers
internos de um mesmo AS3. Determinar a “boas” rotas entre sub‐redes baseadas em
informação de acessibilidade e de estratégia (administrativa, comercial, etc.)
4. O BGP não impõe políticas mas fornece mecanismos
Permite a uma sub‐rede anunciar a sua existência ao resto da Internetda Internet
Nível Rede4‐91
Conceitos Básicos do BGP
Pares de routers (peers) trocam informação através de ligações TCP semi‐permanentes: sessões BGPsemi‐permanentes: sessões BGP
Sessões internas (iBGP) e externas (eBGP)
O BGP permite a cada AS conhecer os destinos que são acessíveis através dos ASs a que está ligadoatravés dos ASs a que está ligadoOs destinos não são routers mas (grupos de) sub‐redes expressos em notação CIDR
Nível Rede4‐92
Políticas de routing com o BGP
Exemplo:
A,B,C são redes de providers (ISPs)
XWY são redes de clientes (desses ISPs)X,W,Y são redes de clientes (desses ISPs)
A rede X tem duplo acesso: está ligada a duas redes
O ISP B pode publicar o acesso BAW ao cliente X mas não ao seu t C d fconcorrente C de forma a que:
A acesso de X a W seja feito através de B
O acesso dos clientes de C a W não utilize a sua rede pois nesse caso
Nível Rede4‐93
está a suportar tráfego não contratado
Inter e Intra‐AS routing: Diferenças
Administração:Inter AS: administradores podem controlar como éInter‐AS: administradores podem controlar como é encaminhado o seu tráfego, e quem está autorizado a encaminhar através das suas redes.
ó á ú áIntra‐AS: como só há um único AS, não são necessárias políticas de encaminhamento
Escala:Escala:Encaminhamento hierárquico reduz o tamanho das tabelas e o seu tráfego de actualização
Performance:Intra‐AS: enfoque na performanceInter AS: enfoque na administraçãoInter‐AS: enfoque na administração
Nível Rede4-94
DHCP: Dynamic Host Configuration ProtocolProtocolo de atribuição dinâmica de endereço IPProtocolo de atribuição dinâmica de endereço IPUtiliza o broadcast MAC
Nível Rede4‐95
DHCP: Funcionamento
Nível Rede4-96
ConclusãoEntrámos no interior da rede…
Aprendemos os fundamentos da camada que cria o nível deAprendemos os fundamentos da camada que cria o nível de abstracção e permite a homogeneizar a camada de ligação (Internetworking)( g)
Aprendemos os detalhes do endereçamento IPEssencial para comunicar entre hosts
Fundamental para tarefas de administração de rede
Abordámos os conceitos básicos dos algoritmos de encaminhamento
Muito ficou ainda para verOutros protocolos…
Complementos de Redes !!
Nível Rede4-97