I
Endere¸cos s˜ao usados para encaminhar pacotes pela rede
I Na Internet, endere¸cos s˜ao ´unicos e atribu´ıdos pelaInternet Assigned Numbers Authority(IANA)
I
Endere¸co IP ´e hier´arquico com 2 partes:
I Endere¸co da rede: identifica a rede ou segmento de rede
I Endere¸co da m´aquina (host): identifica a interface espec´ıfica que se deseja atingir
I
M´aquinas Dual-Homed
I M´aquinas conectados a mais de uma rede
I Possuem v´arias placas de rede e portanto possuem mais de um endere¸co
I Assim endere¸co refere-se apenas a interface e n˜ao `a m´aquina
Vers˜ao IPv4: endere¸co com 32 bits:
I A parte mais significativa designa endere¸co da rede
I A parte menos significativa designa endere¸co da m´aquina
I
Formato utilizado: decimal com pontos
I Cadabyte´e convertido em decimal
I Bytess˜ao separados por pontos
I
Exemplos: 131.108.122.204, 192.168.1.8
I
Classful Address
I Separa¸c˜ao de endere¸co rede-m´aquina depende da classe do endere¸co
I
Classe A
I Identificada pelobitmais significativo em 0
I Destinada a redes muito grandes, com muitos computadores
I Endere¸co de rede ocupa obytemais significativo
I Total de 126 redes: de 1 a 126
I Valores 0 e 127 s˜ao reservados (0 para designar a rede desta m´aquina e 127 para teste deloopback)
I At´e 16.777.216 computadores por rede (3bytes)
I
Classe B
I Identificada pelosbits mais significativos em 10
I Endere¸co de rede ocupa os 2bytesmais significativos
I Total de 16.384 redes (14bits)
I At´e 65.535 computadores por rede (2bytes)
I
Classe C
I Identificada pelosbits mais significativos em 110
I O tipo mais utilizado, e destinada a redes pequenas
I Endere¸co de rede ocupa os 3bytesmais significativos
I Total de 2.097.152 redes (21bits)
I At´e 254 computadores por rede (1byte)
I
Classe D
I Identificada pelosbits mais significativos em 1110
I Destinada a tr´afegomulticast
I
Classe E
I Identificada pelosbits mais significativos em 1111
I Destinada a testes
I
Endere¸cos reservados
I Endere¸co de rede: valor 0 para todos osbits do endere¸co de m´aquina
I O endere¸co classe C 198.159.11.0 significa um endere¸co de rede que inclui todos os endere¸cos de m´aquinas de 198.159.11.1 a 198.159.11.254
I Os endere¸cos classe A 113.0.0.0 e classe B 176.10.0.0 significam endere¸cos de rede
I Endere¸cobroadcast: valor 1 para todos osbitsdo endere¸co de m´aquina
I O endere¸co classe C 198.159.11.255 significa um endere¸co broadcastpara todas as m´aquinas da rede 198.159.11.0
I Os endere¸cos classe A 113.255.255.255 e classe B
176.10.255.255 significam endere¸cosbroadcastpara as redes 113.0.0.0 e 176.10.0.0, respectivamente
I
Endere¸cos Privados
I Uteis para redes privadas que n˜ao tˆem conex˜ao com a Internet´
I Necess´arios para redes com conex˜ao a Internet e que precisam de mais endere¸cos do que os dispon´ıveis
I Deve utilizar um roteador que implemente oNetwork Address Translation(NAT)
I Endere¸cos definidos pela RFC 1918:
I 10.0.0.0 a 10.255.255.255 (Classe A)
I 172.16.0.0 a 172.31.255.255 (Classe B)
I 192.168.0.0 a 192.168.255.255 (Classe C)
I
Subrede (subnet)
I Acrescenta mais um n´ıvel hier´aquico ao endere¸co:
I rede-m´aquina→rede-subrede-m´aquina
I Bitspara subrede s˜ao retirados do endere¸co de m´aquina
I M´ascara de subrede permite obter endere¸co de subrede com opera¸c˜ao l´ogicaAND
I Exemplo para rede 130.50.0.0 (Classe B)
I 16bits(m´aquina)→6 (subrede) + 10 (m´aquina)
I Subredes: 130.50.4.0, 130.50.8.0,. . .
I M´ascara de subrede: 255.255.252.0/22 onde 22 ´e a
quantidade de bits dos endere¸cos de rede e subrede (16 + 6)
I
Classless InterDomain Routing (CIDR)
I Escassez de endere¸cos levam ao abandono das classes
I Oferta de endere¸cos segundo a demanda
I Exemplo: empresa precisa de 2000 endere¸cos: recebe um bloco com 2048 endere¸cos
I Roteamento fica mais complexo (tabelas de roteamento maiores)
I Entretanto endere¸cos podem ser agregados para simplifica¸c˜ao
I Exemplo: Atribui¸c˜ao de blocos de endere¸cos a 3 universidades
I
Classless InterDomain Routing (CIDR)
I Exemplo (cont.)
Endere¸co B´asico M´ascara
Cb 11000010 00011000 00000000 00000000 11111111 11111111 11111000 00000000 Ed 11000010 00011000 00001000 00000000 11111111 11111111 11111100 00000000 Ox 11000010 00011000 00010000 00000000 11111111 11111111 11110000 00000000
Pacote destinado a 194.24.17.4
endere¸co do pacote 11000010 00011000 00010001 00000100
pacoteANDCb 11000010 00011000 00010000 00000000 6= endere¸co b´asico pacoteANDEd 11000010 00011000 00010000 00000000 6= endere¸co b´asico pacoteANDOx 11000010 00011000 00010000 00000000 = endere¸co b´asico
I
Network Address Translation (NAT)
I Motivado pela escassez de endere¸cos
I Id´eia b´asica ´e atribuir apenas um ´unico endere¸co por organiza¸c˜ao
I Internamente s˜ao utilizados endere¸cos privados
I Pacotes com destino externo s˜ao atribu´ıdos o endere¸co da organiza¸c˜ao
I Problema: para onde encaminhar as respostas?
I
NAT B´asico
I Exige 1 endere¸co externo para cada conex˜ao
I
Network Address Port Translation (NAPT)
I Utiliza o endere¸co da camada de transporte (n´umero da porta de origem ousource port)
I Pacotes de sa´ıda tem endere¸co IP esource portsubstitu´ıdos
I Cabe¸calhos IP e TCP devem ter oschecksumsrecalculados
I Pacotes de entrada tˆem osource portverificado
I Souce port´e utilizado como ´ındice para determina¸c˜ao do destino correto
I
Vers˜ao IPv6: endere¸co com 128 bits:
I Permite 3,4×1038endere¸cos
I Equivalente a 3,8×1028endere¸cos para cada um dos 9 bilh˜oes de habitantes previstos para 2050
I
Obtendo um endere¸co IP
I Atribui¸c˜ao Est´atica
I Atribuido pelo operador de rede atrav´es de comandos do sistema operacional (SO)
I Alguns SOs (Windows, por exemplo) tentam verificar duplicidade de endere¸co
I Principal raz˜ao para atribui¸c˜ao est´atica: m´aquinas que precisam ser referenciadas por outras (impressoras, servidores, etc.)
I Atribui¸c˜ao Dinˆamica
I Atribuido por um servidor segundo determinadas regras
I Utiliza protocolos comoReverse Address Resolution Protocol (RARP),Bootstrap Protocol(BOOTP) eDynamic Host Configuration Protocol(DHCP)
I
Address Resolution Protocol (ARP)
I Para transmiss˜ao, o n´o de origem precisa conhecer os endere¸cos IP e MAC do n´o de destino
I Quando apenas o endere¸co IP ´e conhecido, utiliza-se o ARP para a obten¸c˜ao do endere¸co MAC
I N´os mantˆem tabelas ARP onde endere¸cos MAC e IP est˜ao associados (utilize o comandoarp -apara consultar essa tabela)
I Default Gateway: endere¸co IP da interface do roteador conectada a esse segmento de rede
Exemplo de tabela ARP
I ARPRequestenviado embroadcast
I ARPReply enviado emunicast
I
Reverse Address Resolution Protocol (RARP)
I Faz o inverso do ARP: solicita o endere¸co IP quando o endere¸co MAC ´e conhecido
I RARPRequestenviado embroadcast
I RARPReplyenviado emunicast
I Pode ser utilizado para atribui¸c˜ao dinˆamica de endere¸cos IP
I Quando ligada, a m´aquina conhece seu endere¸co MAC mas n˜ao o seu endere¸co IP
I M´aquina solicita endere¸co IP ao servidor RARP
I Servidor deve estar presente para responder requisi¸c˜oes
I Deve haver um servidor para cada subrede (uma vez que o Request´e enviado com o endere¸co MAC debroadcast)
I
Bootstrap Protocol (BOOTP)
I Protocolo de atribui¸c˜ao de endere¸co IP
I Assim como o RARP, trabalha no modo cliente-servidor
I Entretanto al´em do endere¸co IP, servidor envia outras informa¸c˜oes:
I endere¸co IP do roteador dessa subrede (default gateway)
I outras informa¸c˜oes
I N˜ao foi projetado para compartilhamento de endere¸cos IP
I Administrador cria um arquivo de configura¸c˜ao
I Cada n´o da subrede deve aparecer na configura¸c˜ao do BOOTP e ter o seu endere¸co IP designado
I Assim n˜ao permite reciclagem de endere¸cos IP
I BOOTP utiliza UDP para transporte das mensagens (porta 67 para servidor e 68 para cliente)
I Uma m´aquina envia uma requisi¸c˜ao para o endere¸co de broadcastIP 255.255.255.255
I A resposta do servidor tamb´em ´e enviada embroadcastIP
I
Dynamic Host Configuration Protocol (DHCP)
I Protocolo de atribui¸c˜ao de endere¸cos IP, sucessor do BOOTP
I Permite atribui¸c˜ao dinˆamica de endere¸cos IP sem existˆencia de especifica¸c˜ao individual para cada m´aquina na subrede
I Respalda mobilidade porque permite que o usu´ario use qualquer subrede
I Servidor guarda em sua base de dados:
I Endere¸co IP dodefault gateway
I Endere¸co IP dos servidores DNS
I Endere¸cos IP a serem atribu´ıdos aos clientes
I Dura¸c˜ao das concess˜oes oferecidas pelo servidor
I Resposta do servidor inclui toda a configura¸c˜ao TCP/IP necess´aria (inclusive m´ascara de subrede)
I
Dynamic Host Configuration Protocol (DHCP)
I A configura¸c˜ao deve ser introduzida em todos os roteadores
I Endere¸co IP da rede destino
I M´ascara de subrede
I Endere¸co IP do pr´oximo roteador no caminho
I Troca de mensagens (caso com sucesso)
I Mensagens s˜ao enviadas embroadcastpara alertar outros servidores DHCP
I Em caso de n˜ao aceite da DHCPOFFER, o cliente envia DHCPDECLINE embroadcast
I Servidor retira oferta com DHCPNAK embroadcast
I
Routing Information Protocol (RIP)
I E um dos protocolos de roteamento mais utilizados´ atualmente, embora considerado inferior ao OSPF ou IS-IS
I Originalmente especificado na RFC 1058
I Utiliza vetor de distˆancia
I Utilizahop count(n´umero de saltos) como ´unica m´etrica para sele¸c˜ao de rota
I Sehop count>15, pacote ´e descartado (assim evitaloops mas tamb´em limita o tamanho da rede)
I Por padr˜ao, atualiza¸c˜ao de rotas s˜ao difundidas a cada 30 s
I RIP-1 (RIP Vers˜ao 1) permite apenas roteamento de endere¸cos com classes (classful routing)
I RIP-2 (ver RFC 2453) envia tamb´em a m´ascara de subrede nas atualiza¸c˜oes e assim permite roteamento de endere¸cos sem classe (classless routing)
I RIPng (ver RFC 2080) ´e a extens˜ao do RIP-2 para IPv6
Intermediate System-to-Intermediate System (IS-IS)
I Protocolo OSI inicialmente desenvolvido para oConnectionless Network Protocol(CLNP), o concorrente do IP
I IntegratedIS-IS permite roteamento de m´ultiplos protocolos
I Utiliza vetor de distˆancia e estado do enlace (protocolo h´ıbrido)
I Utiliza vetor de distˆancia para determinar as melhores rotas
I Utiliza estado do enlace para disparar atualiza¸c˜oes das tabelas de roteamento
I
Open Shortest Path First (OSPF)
I OSPF Vers˜ao 2 especificado na RFC 2328 e OSPF Vers˜ao 3 para IPv6 especificado na RFC 2740
I Desenvolvido para substituir o RIP
I Utiliza estado do enlace (capaz de calcular a topologia da rede)
I Permiteclassless routing
I Utiliza como m´etrica o custo da rota (path cost)
I Path cost: valor gen´erico determinado pelo projeto da rede
I
Open Shortest Path First (OSPF)
I Divide a rede em ´areas (similar a subrede)
I Backbone Areaou ´area 0 conecta todas as outras ´areas
I
Open Shortest Path First (OSPF)
I
Autonomous System (AS)
I Rede ou conjunto de redes sob o controle de uma ´unica entidade
I Exemplo: intranetsde empresas, universidades, etc.
I Registro de AS inclue uma identifica¸c˜ao de 16bits e depende da localiza¸c˜ao
I Am´erica Anglo-Saxonica: ARIN
I Am´erica Latina: LACNIC
I Europa, Oriente M´edio e Asia Central: RIPE-NCC
I Asia e Oceania: AP-NIC
I Africa: AfriNIC´
I
Interior Gateway Protocol (IGP): protocolo utilizado para roteamento dentro de um AS
I Exemplos: RIP, IS-IS, OSPF
I
Exterior Gateway Protocol (EGP): protocolo utilizado para roteamento entre ASs
I Exemplo: Border Gateway Protocol(BGP)
Border Gateway Protocol (BGP)
I Especificado na RFC 4271, ´e o protocolo EGP dominante
I BGP-4 respaldaclassless routinge agrega¸c˜ao de rota
I Roteamento baseado em restri¸c˜oes pol´ıticas
I Grandezas tradicionais (hop count,bandwidth, atraso, etc.) somente utilizadas ap´os an´alise subjetiva das rotas
I Semelhante a vetor de distˆancia exceto que cada n´o divulga a rota completa para os destinos
I Vizinhos s˜ao estabelecidos por configura¸c˜ao manual e enlaces s˜ao mantidos por mensagens peri´odicas
I Intervalo padr˜ao entre mensagens ´e 60 s
I Comunica¸c˜ao atrav´es de mensagens “Update” utiliza TCP na porta 179
I Categorias de redes
I Redestub: Tem somente um enlace a um roteador BGP;
portanto n˜ao pode ser utilizada para tr´agego
I Rede multiconectada: Possuem v´arios enlaces a roteadores BGP e pode, se n˜ao houver impedimento, carregar tr´afego
I
Internet Protocol (IP)
I Oferece servi¸co sem conex˜ao
I Servi¸co n˜ao confi´avel: n˜ao existe garantia de entrega; n˜ao existe controle de seq¨uenciamento; n˜ao detecta erros e n˜ao informa o transmissor
I Orientado a pacotes: cada pacote tratado independentemente dos demais
I Datagrama (unidade b´asica) pode ser quebrado em fragmentos para adequar-se a rede
I Servi¸co oferecido na base do “melhor esfor¸co” (best effort):
usu´ario entrega pacote ao provedor de servi¸co na esperan¸ca que o dado chegue ao endere¸co desejado
I
Internet Protocol (IP)
I Pacote IP
I
Internet Protocol (IP)
I Pacote IP
I Version: vers˜ao do protocolo IP
I IPheader length(IHL): comprimento do cabe¸calho em palavras de 32bits
I Type of service: tipo de servi¸co, atribu´ıdo pelas camadas superiores para designar n´ıvel de importˆancia do tr´afego
I Total length: comprimento total do datagrama embytes
I Identification: n´umero de seq¨uˆencia que identifica esse pacote
I Don’t fragment(DF): solicita que o datagrama n˜ao seja fragmentado
I More fragments(MF): indica mais fragmentos por vir
I Fragment offset: informa a posi¸c˜ao do fragmento no datagrama original
I Time-to-live: contador que ´e decrementado gradualmente ao longo da rota; pacote ´e descartado quando contador chega a 0
I
Internet Protocol (IP)
I Pacote IP
I Protocol: indica qual o protocolo destinat´ario na camada de transporte
I Header checksum: verifica¸c˜ao do cabe¸calho
I Source address: endere¸co de origem
I Destination address: endere¸co de destino
I Options: utilizado para op¸c˜oes extras
I
Internet Control Message Protocol (ICMP)
I Protocolo para apenas informar problemas associados ao IP
I Notifica¸c˜ao ´e endere¸cada ao n´o de origem dos datagramas
I Mensagens s˜ao encaminhadas utilizando IP (entretanto falhas desses datagramas n˜ao geram novos erros)
I
Internet Control Message Protocol (ICMP)
I Destination unreachable
I Network unreachable: em geral indica falha de endere¸camento ou roteamento
I Host unreachable: em geral indica falha na entrega (por exemplo, m´ascara de subrede errada)
I Protocol unreachable: em geral indica que o destino n˜ao suporta o protocolo de camada superior especificado
I Port unreachable: em geral indica que a porta TCP n˜ao est´a dispon´ıvel
I Time exceeded
I Enviado quando TTL chega a 0
I Detecta rotas excessivamente longas
I Echo requesteEcho reply
I Verifica se o destino est´a ao alcance
I Comandopingutiliza essas mensagens ICMP
I
Internet Control Message Protocol (ICMP)
I Parameter problem
I Problemas no cabe¸calho do datagrama
I Outros problemas n˜ao relacionados ao estado do destino
I Redirect(Redirect/Change request)
I Originado apenas em roteadores
I Enviado pelodefault gatewaye destinado aohostindicando que existe uma rota melhor (e direta)
I Informa o endere¸co IP do roteador conectado aohostque pertence a rota melhor
I Timestamp requesteTimestamp reply
I Oferece sincroniza¸c˜ao temporal
I Timestamp ´e expresso em mili-segundos utilizando ouniversal time
I
Internet Control Message Protocol (ICMP)
I Information requesteInformation reply
I Forma obsoleta para ohostdeterminar a rede ao qual ele pertence (hoje utiliza-se DHCP, BOOTP, etc.)
I Address mask requesteAddress mask reply
I Forma para ohostobter a m´ascara de subrede/rede
I Router solicitationeRouter advertisement
I Utilizado para que umhostobtenha o endere¸co de seudefault getaway
I Source quench
I Utilizada para controle de congestionamento
I Solicita a origem para reduzir a taxa de envio de pacotes
I Taxa original pode ser retomada vagarosamente quando uma nova mensagemsource quenchn˜ao ´e recebida
I
Necessidade do IPv6
I IETF IPv6Working Groupiniciado no come¸co dos anos 90 para atacar o problema da exaust˜ao de endere¸cos
I Enquanto isso, solu¸c˜oes paliativas:
I Implementa¸c˜ao do CIDR, NAT, DHCP
I Recupera¸c˜ao de endere¸cos comclassless addressing
I Sistema de registro regional (Regional Internet Registry)
I Necessidade deixa de ser urgente
I Escassez de endere¸cos IPv4 ainda n˜ao ´e iminente
I Falta momento para implanta¸c˜ao do IPv6
I Entretanto
I Redes de dados sem fio tornam-se importante
I Paises emergentes precisam de endere¸cos
I Endere¸camento pode de fato tornar-se um problema (IPv4 Address Report(1) prediz que endere¸cos se esgotem em 2011)
I Conclus˜ao: Endere¸camento realmente empurra IPv6
(1) http://www.potaroo.net/tools/ipv4/index.html
Mercado para IPv6
I Internet dom´estica
I ADSL,set-top box, etc.
I Equipamento sem fio
I PDA, telefone celular 3G,tabletPC, ve´ıculos, etc.
I Internet tradicional
I Mais de 500 milh˜oes dehostsem uso(1)
I Provedores, empresas, governos, etc.
I Recupera¸c˜ao da conectividade fim-a-fim (proposta original da Internet)
I Permite dispositivosalways online
I
Problemas com NAT
I Quebra modelo de conectividade fim-a-fim
I Impede seguran¸ca de rede fim-a-fim
I Dificulta ou impede algumas aplica¸c˜oes
I Demanda que rede mantenha estado das conex˜oes
I
Mudan¸cas no IPv6
I Espa¸co de endere¸camento expandido
I Endere¸co com 16bytes(4 vezes mais)
I Simplica¸c˜ao do cabe¸calho
I Comprimento fixo
I Cabe¸calhos opcionais colocados emdaisy-chain
I Cabe¸calho mandat´orio (sem opcionais) com 40bytes(2 vezes maior)
I Semchecksum
I Evita segmenta¸c˜ao
I Quando um roteador receber um pacote muito grande, envia de volta uma mensagem de erro em vez de fragment´a-lo
I Tamanho m´ınimo para o maior pacote passa para 1280bytes (era 68bytes)
I Alinhado em 64bits
I Permite autentica¸c˜ao e privacidade
I Conjunto de protocolos IPsec (IPsecurity) mandat´orio
I Sembroadcast, apenasmulticast
I Maior aten¸c˜ao `a Qualidade de Servi¸co (QoS)
Mudan¸cas no IPv6
I
Cabe¸calho IPv6
I Version: vers˜ao (IPv6) do protocolo
I Traffic class:
I Equivalente aoType of service(que n˜ao era utilizado)
I Disting¨ue tr´afego em fun¸c˜ao dos seus requisitos de QoS
I Flow label: para permitir rotula¸c˜ao de determinados fluxos
I Payload length: equivalente aoTotal length, exceto que o cabe¸calho n˜ao ´e contado
I Next header:
I Informa qual cabe¸calho de extens˜ao (opcional) segue
I Se esse ´e o ´ultimo cabe¸calho, informa o protocolo de transporte (equivalente aoProtocol)
I Hop limit: equvalente aoTime to live, exceto que expressa saltos e n˜ao tempo
I Source addresseDestination address: endere¸cos de origem e destino
I
Extens˜oes
I
Representa¸c˜ao de endere¸co
I 8 grupos de 4 d´ıgitos hexadecimais separados por dois-pontos
I Exemplo: 8000:0000:0000:0000:0123:4567:89AB:CDEF
I Simplifica¸c˜ao: zeros `a esquerda em um grupo podem ser omitidos
I Simplificado: 8000:0:0:0:123:4567:89AB:CDEF
I Simplifica¸c˜ao: Grupos de zeros sucessivos podem ser representados por um par de dois-pontos
I Mecanismo pode ser utilizado apenas 1 vez
I Simplificado: 8000::123:4567:89AB:CDEF
I Endere¸co IPv4: representa¸c˜ao tradicional, iniciado com o prefixo ::FFFF:0:0/96
I Exemplo: ::FFFF:192.168.30.1 = ::FFFF:C0A8:1E01
I Endere¸co URL: entre colchetes
I Exemplo: http:[2001:1:4F3A::206:AE14]/index.html
I
Endere¸camento
I Tipos de endere¸camento
I Unicast: Especifica uma ´unica interface (um ´unico destinat´ario)
I Anycast: Especifica um grupo de interfaces, embora o pacote
´e entregue apenas `aquela mais pr´oxima (segundo as regras de roteamento)
I Multicast: Especifica um grupo de interface e o pacote ´e entregue a todas elas
I Endere¸cos Especiais
I ::/128: endere¸co n˜ao especificado (deve ser usado apenas pelo software
I ::1/128: endere¸co deloopback
I FE80::/10: prefixo de endere¸colocal link
I FF00::/8: prefixo de endere¸comulticast
I ::FFFF:0:0/96: prefixo de endere¸co IPv4
I
Endere¸camento
I Endere¸co globalUnicast
I Endere¸co ´e atribuido hierarquicamente para facilitar agrega¸c˜ao
I Divis˜ao:
I 48bitspara endere¸co de rede
I 16bitspara endere¸co de subrede
I 64bitspara endere¸co de interface
I O endere¸co de interface pode ser atribuido por
I Auto configur´avel atrav´es da expans˜ao do endere¸co MAC (48 bitscom 0xFFFE colocado no meio)
I Auto gera¸c˜ao aleat´oria
I Servidor DHCP ou similar
I Manualmente