REDES DE COMPUTADORES Redes de Computadores Mário Bittencourt <mneto@argo.com.br>
Camada de Internet
Internet Protocol (IP) O IP (Internet Protocol) é o coração do TCP/IP e provê o serviço de entrega de pacotes Todos os protocolos da camada acima (TCP, UDP) usam o IP para entrega de dados
Funções do IP As principais funções do IP são : a) Definir o datagrama - unidade de transmissão  b) Definir o esquema de endereçamento c) Mover dados entre a camada de acesso de rede e camada de transporte host-host d) Roteamento de datagramas para host remoto e) Realizar fragmentação e reagrupamento de datagramas (quando necessário)
Características do IP O IP possui algumas características : a) É um protocolo que não troca informações de controle (handshake) ou estabelece uma conexão. b) Não contem código de detecção e recuperação de erro
Endereçamento O IP define um esquema de endereçamento de forma a permitir uma identificação precisa da origem e destino de uma comunicação Na versão 4 do IP um endereço é representado por uma palavra de 32 bits É usual representar um endereço IP separando os octetos com pontos
Endereçamento Ex. 00010000 00001010 01100001 00110011 100A5133  (Hexadecimal) 16.10.97.51  (Decimal)
Endereçamento Foram criadas classes de endereços : A, B, C, D e E Na classe A temos redes com até 16 milhões de endereços cada Na classe B temos redes com até 65 mil endereços cada Na classe C temos redes com até 256 endereços cada
Endereçamento A classe D é reservada para multicast (onde um datagrama é enviado para vários hosts simultâneamente) A classe E foi reservada para uso futuro
Endereçamento Um IP é composto pelo endereço de rede e o endereço de host Em um classe A temos 0 Rede Host Endereços 1.0.0.0 a 127.255.255.255
Endereçamento Em uma classe B 10 Rede Host Endereços 128.0.0.0 a 191.255.255.255
Endereçamento Em uma classe C 110 Rede Host Endereços 192.0.0.0 a 223.255.255.255
Endereçamento Em uma classe D 1110 Rede Host Endereços 224.0.0.0 a 247.255.255.255
Endereçamento Em uma classe E 1111 Rede Host Endereços 248.0.0.0 a 255.255.255.255
Endereçamento Em uma rede existem sempre dois endereços que são reservados :  Endereço de rede (network address) Endereço de broadcast (broadcast address) Estes endereços não podem ser associados a nenhum host
Endereçamento Ex. Suponha a rede de classe C 200.241.126.0 O endereço de rede é aquele formado por todos os bits iguais a 0 na parte de host 200.241.126 00000000 Nesse caso o endereço de rede é 200.241.126.0
Endereçamento O endereço de broadcast é conseguido fazendo todos os bits do endereço de host iguais a 1 200.241.126 11111111 Onde 11111111 = 255 Logo o endereço de broadcast é 200.241.126.255
Endereçamento Um endereço IP é especificado em conjunto com a máscara de rede a ele associado Ex. 200.241.126.3/255.255.255.0 200.242.35.9/255.255.255.248
Endereçamento IPs que pertençam à mesma rede (possuam mesmo endereço de rede) devem ser acessíveis diretamente Para descobrir o endereço de rede você deve realizar operações lógicas com o endereço IP e a máscara fornecida
Endereçamento Ex. 200.241.126.3 / 255.255.255.0 Para descobrir o endereço de rede basta fazer um AND entre os endereços  11001000.11110001.00111110.00000011 11111111.11111111.11111111.00000000 --------------------------------------------------- 11001000.11110001.00111110.00000000
Endereçamento Ou seja, o endereço de rede do IP 200.241.126.3/255.255.255.0 é 200.241.126.0 Dependendo da máscara o endereço de rede para o mesmo IP pode variar
Endereçamento Calcule o endereço de rede para os IPs/máscaras abaixo : 200.242.35.10/255.255.255.248 200.242.35.10/255.255.255.224 200.241.127.127/255.255.255.192
Endereçamento 200.242.35.10/255.255.255.248 11001000.11110010.00100000.00001010 11111111.11111111.11111111.11111000 --------------------------------------------------- 11001000.11110010.00100000.00001000 Ou seja O ip 200.242.35.10/255.255.255.248 pertence a rede  200.242.35.8
Endereçamento É possível descobrir quantos endereços são possíveis para cada máscara de rede Para isso basta descobrir quantos bits podem ser usados para a parte de host e fazer 2^n Ex. Em uma máscara de rede 255.255.255.248 são usados 5 bits para rede e 3 para host. Logo podemos ter até 2^3 = 8 endereços na mesma rede
Endereçamento De forma similar o número de redes distintas pode ser obtido pegando-se o número de bits disponíveis para a rede. No mesmo exemplo anterior teríamos 2^5 = 32 redes distintas, cada uma com no máximo 8 endereços cada
Datagrama Um datagrama é um bloco de dados que contem, além do dado que se deseja transmitir, a informação necessária para a sua entrega
Datagrama Version (Versão) – indica a versão do protocolo. Atualmente em uso é a versão 4 sendo a versão 6 a mais atual ainda em implantação IHL – indica o tamanho do cabeçalho em palavras de 32 bits. O valor mínimo é 5 e máximo de 15.  Com 5 palavras o cabeçalho IP não possui opções e com 15 pode ter até 40 bytes de opções
Datagrama Type Of Service (TOS) – permite indica que tipo de rede que necessita.  Permitiria a roteadores poder escolher caminhos diferentes de acordo com o tipo escolhido (ex. links rápidos para transmissão de voz, links confiáveis para transmissão de arquivos).  Os 4 tipos são : minimizar delay, maximizar vazão, maximizar confiança e minimizar custo ($)
Datagrama Total length – indica o tamanho total do datagrama (cabeçalho+dados).  O tamanho máximo é de 65535 bytes. Identification – utilizado para identificar a qual datagrama um fragmento pertence.  Fragmentos de um mesmo datagrama possuem o mesmo campo identification
Datagrama Dont Fragment (DF) – indica para os roteadores que o pacote não deve ser fragmentado More Fragments (MF) – indica que ainda existem mais fragmentos do datagrama por vir Fragment Offset – indica em quem ponto do datagrama original estamos
Datagrama Time to Live (TTL) – um contador usado para controlar o “tempo” de vida útil de um pacote. Cada sistema define um TTL inicial e quando um pacote chega a um TTL de zero ele é descartado
Datagrama O campo TTL é decrementado a cada ponto de modo a evitar loops infinitos A B
Datagrama Protocol – indica qual o tipo de protocolo ao qual esse datagrama pertence.  Os códigos são definidos na RFC 1700 Ex. 1 ICMP  6 TCP  17 UDP  47 GRE
Datagrama Header Checksum – permite detectar problemas com o cabeçalho (não dados) do IP.  É recalculado toda vez que passa por um roteador.  Se for detectado uma diferença o pacote é descartado.  Cabe as camadas superiores enviarem qualquer forma de notificação. Source Address – identifica o endereço de origem do pacote Destination Address – identifica o endereço de destino do pacote
Datagrama Options (opções) – esse campo opcional foi criado para permitir que versões posteriores do IP pudesse acrescentar funcionalidades.  Na prática nem todas as opções são implementadas (ou respeitadas) pelos roteadores.
Roteamento O IP entrega o datagrama verificando o endereço de destino (5 byte). Se o endereço de destino pertence a uma rede diretamente conectada a entrega do pacote é feita também diretamente Caso contrário o pacote é passado para um gateway para que este se encarregue da entrega
Roteamento Quando a camada IP recebe da camada superior um datagrama ele segue os seguintes ações 1 – Ele consulta a tabela de roteamento (interna) à procura do endereço destino.  Se encontrar ele entrega para o destino (via uma interface) ou para o roteador indicado 2 – Ele consulta a tabela de roteamento (interna) à procura da rede a qual o endereço destino pertence. Se encontrar ele entrega para o destino (via uma interface) ou para o roteador indicado 3 – Ele consulta a tabela de roteamento (interna) à procura de uma entrada chamada “default”
Roteamento Quando um endereço de destino não está diretamente conectado à mesma rede que o host que origina a conexão, este encaminha o pacote para um gateway
Roteamento
Roteamento Tracing route to www.mailbr.com.br [200.181.68.21] over a maximum of 30 hops: 1  argo07.argo.com.br [200.241.126.16] 2  argo01.argo.com.br [200.241.126.1] 3  embratel-S0-1-3-dist01.mns.embratel.net.br [200.242.64.45] 4  ebt-S2-1-2-dist02.spo.embratel.net.br [200.230.162.166] 5  ebt-G11-0-core01.spo.embratel.net.br [200.230.219.209] 6  ebt-P4-0-dist04.bsa.embratel.net.br [200.244.40.33] 7  ebt-G5-1-acc06.bsa.embratel.net.br [200.244.160.17] 8  200.252.249.22 9  BrT-G3-2-bsacore01.brasiltelecom.net.br [200.199.193.42]
Roteamento É possível ter vários caminhos diferentes para chegar a um mesmo destino A esses caminhos denominamos rotas As rotas podem ter sido previamente definidas (estáticas) ou ser automaticamente atualizadas (dinâmicas)
Roteamento Roteador Roteador Roteador Rede A Rede B Rede C
Roteamento Roteador Roteador Roteador Rede A Rede B Rede C O tráfego entre a rede A e a C fluiria pela rede B
Roteamento Você pode descobrir as rotas existentes em uma máquina windows através do comando  route print Network Destination  Netmask  Gateway  Interface  Metric 0.0.0.0  0.0.0.0  192.168.1.1  192.168.1.101  20 127.0.0.0  255.0.0.0  127.0.0.1  127.0.0.1  1 192.168.1.0  255.255.255.0  192.168.1.101  192.168.1.101  20
Roteamento No linux você pode utilizar o netstat –nr Kernel IP routing table Dest  Gateway  mask  Flags  iface 200.241.126.0  0.0.0.0  255.255.255.0  U  eth0 127.0.0.0  0.0.0.0  255.0.0.0  U  lo 0.0.0.0  200.241.126.1  0.0.0.0  UG  eth0
Roteamento A métrica de uma rota é uma medida criada para estipular um “peso” ou prioridade para a rota.  Desta maneira pode-se ter mais de uma rota para o mesmo lugar mas levando em consideração características da rota (largura de banda, latência, preferência etc)
Roteamento Existem dois tipos de roteamento: Estático – as rotas são pré-definidas e fixas pelo administrador Dinâmico – as rotas são especificadas (calculadas) dinamicamente e ajustadas conforme a rede se altera
Roteamento Roteamento Estático Vantagens : Previsibilidade – como as rotas são especificadas previamente temos como saber o caminho que o pacote percorre  Não impõe overhead a rede Facilmente configurável em pequenas redes
Roteamento Roteamento Estático Desvantagens : Não é escalável – em redes com centenas de segmentos calcular as rotas para predefinir exige um enorme trabalho.  Mudanças na rede exigem recálculo e reconfiguração dos  roteadores Não permite uso de conexões redundantes adaptáveis às condições da rede
Roteamento Roteamento Dinâmico Vantagens : Escalabilidade – o acréscimo de novos segmentos é fácil e o crescimento da rede não tem impacto linearmente proporcional ao número de segmentos Adaptabilidade – Os roteadores tomam conhecimento das mudanças na topologia e adaptam as regras de acordo
Roteamento Roteamento Dinâmico Desvantagens : Complexidade – roteamento dinâmico exige uma configuração mais complexa do que o roteamento dinâmico. Overhead – Os roteadores devem trocar periodicamente informações sobre a topologia e alterações. Isso pode ter um impacto sobre a rede e recursos como processamento dos equipamentos
Roteamento Existem vários protocolos de roteamento disponíveis.  Eles se classificam como : a) Protocolos de roteamento interno (IGP – Interior Gateway Protocol) b) Protocolos de roteamento externo (EGP – Exterior Gateway A classificação se deve a sua capacidade de melhor tratar condições externas ou internas das redes
Roteamento Os protocolos de roteamento interno (IGP) são usados dentro de uma “unidade administrativa” (uma empresa por ex) São protocolos mais simples e exigem menos dos roteadores em termos de processamento
Roteamento Os protocolos IGP mais comuns são : a) RIP (Routing Information Protocol) b) OSPF (Open Shortest Path First) c) EIGRP (Enhanced Interior Gateway Routing Protocol)
Roteamento Os protocolos EGP são usados entre duas ou mais unidades administrativas (empresas).  Cada unidade administrativa possui estruturas independentes. São protocolos mais robutos e escaláveis que exigem normalmente mais recursos dos roteadores
Roteamento O protocolo de roteamento externo utilizado na Internet é o BGP (Border Gateway Protocol)
Fragmentação Quando um datagrama é roteado entre redes diferentes as vezes é necessário dividi-lo em pedaços menores.  Isso acontece, por exemplo, quando temos um gateway que interconecta redes físicas diferentes (Ethernet <-> X.25) Cada rede estabelece um MTU (Maximum Transfer Unit) como sendo o maior datagrama que pode transferir
Fragmentação A esses pedaços chamamos de fragmentos Os fragmentos são transmitidos e remontados no destino antes de serem repassados para a camada superior (transporte)
Fragmentação Cada fragmento deve possuir: Um identificador em comum a todos os fragmentos do mesmo datagrama Um offset da posição original ao qual o datagrama pertence O tamanho do dado sendo transportado no fragmento Se existem mais fragmentos para o mesmo datagrama
Fragmentação
Fragmentação
Fragmentação
Fragmentação
Fragmentação
Fragmentação
Fragmentação
Fragmentação
Fragmentação
ICMP Outro protoloco da camada Internet é o ICMP (Internet Control Message Protocol) Ele usa as facilidades do IP para a entrega das mensagens. São definidos vários tipos de mensagem de acordo com a finalidade da mesma Especificada na RFC 792
ICMP As principais funções do ICMP são : a) Controle de Fluxo - quando datagramas chegam a uma velocidade maior que o host destino pode processar é enviada uma mensagem ICMP de volta para o remetente (ICMP Source Quench) b) Detecção de Destinos Inalcançáveis - quando um destino não pode ser alcançado o sistema que detecta o problema envia uma mensagem ICMP para a origem do datagrama (ICMP Destination Unreacheable)
ICMP c) Redirecionamento de rotas - um gateway pode enviar uma mensagem para indicar a um host para usar outro gateway (ICMP Redirect) d) Verificando hosts remotos - para verificar se um determinado host está operacional (conectado a rede) é possível enviar mensagem ICMP Echo Request e receber ICMP Echo Reply.
ICMP tipo código checksum Conteúdo (depende do tipo e código)
ICMP 0 Echo Reply  1 Unassigned  2 Unassigned  3 Destination Unreachable  4 Source Quench 5 Redirect 6 Alternate Host Address  7 Unassigned 8 Echo  9 Router Advertisement 10 Router Selection  11 Time Exceeded  12 Parameter Problem  13 Timestamp  14 Timestamp Reply  15 Information Request  16 Information Reply  17 Address Mask Request  18 Address Mask Reply  19 Reserved (for Security)  20-29 Reserved (for Robustness Experiment)  30 Traceroute  31 Datagram Conversion Error  32 Mobile Host Redirect [David Johnson]  33 IPv6 Where-Are-You  34 IPv6 I-Am-Here  35 Mobile Registration Request  36 Mobile Registration Reply  37-255 Reserved
ICMP Existem 15 tipos diferentes e dependendo de cada, um ou mais códigos associados para representar eventos O checksum é usado para toda a mensagem, incluindo o cabeçalho
ICMP Alguns tipos de mensagem permitem a especificação de códigos específicos Ex. ICMP Destination Unreachable 0 Net Unreachable  1 Host Unreachable  2 Protocol Unreachable  3 Port Unreachable  4 Fragmentation Needed and Don't Fragment was Set  5 Source Route Failed  6 Destination Network Unknown  7 Destination Host Unknown  8 Source Host Isolated  9 Communication with Destination Network is Administratively Prohibited  10 Communication with Destination Host is Administratively Prohibited  11 Destination Network Unreachable for Type of Service  12 Destination Host Unreachable for Type of Service
ICMP Suponha que você deseje acessar um serviço (DNS) em uma máquina que não oferece esse serviço 192.168.11.4.32781 > 192.168.11.2.domain:  41282+ A? www.argo.com.br. (33) (DF) 192.168.11.2 > 192.168.11.4: icmp: 192.168.11.2 udp port domain unreachable
ICMP Você pode verificar se um host está respondendo através do comando ping 18:20:18.712446 192.168.11.4 > 192.168.11.1: icmp: echo request (DF) 18:20:18.713073 192.168.11.1 > 192.168.11.4: icmp: echo reply
ICMP No ping o pacote padrão tem o formato abaixo Tipo (0 ou 8) Código (0) checksum Conteúdo (depende do tipo e código) Identificador Sequência
ICMP O identificador é um código criado por quem envia o  echo request  para permitir identificar a que resposta um determinado pacote se refere. A sequência é um número que identifica a ordem do pacote e nos permite saber a ordem da chegada, identificar duplicações
ICMP Outro aplicativo que usa o ICMP é o traceroute (linux) ou tracert (windows).  Ele se utiliza do TTL para ir traçando o caminho por onde o pacote passa até chegar a um destino
ICMP Suponha que o comando traceroute tenha o resultado abaixo 1  <1 ms  <1 ms  <1 ms  192.168.11.1 2  10 ms  46 ms  7 ms  10.100.0.1 3  69 ms  6 ms  9 ms  200.242.50.1 4  62 ms  9 ms  20 ms  200.174.159.117 5  55 ms  14 ms  44 ms  200.174.159.122 6  13 ms  17 ms  39 ms  200.241.126.5
ICMP O processo se inicia enviando um pacote ICMP echo request.  Na camada IP o TTL está em 1 Ao chegar no primeiro ponto (o gateway padrão) o TTL é decrementado, chegando a 0.  Com isso o gateway retorna ICMP Time to Live exceeded Um novo pacote ICMP é enviado, desta vez com o TTL igual a 2. Desta maneira toda vez que o TTL chega a zero o host recebe uma mensagem ICMP e sabe por onde o pacote deve passar para chegar ao destino.
ICMP Outra utilização do ICMP é permitir o PMTUD (Path MTU Discovery) O PMTUD é um protocolo criado para evitar a fragmentação por tentar ajustar o MTU do transmissor para não gerar fragmentação O processo se inicia enviando um pacote com o MTU do segmento do transmissor mas a flag DF (Don’t Fragment) ligada
ICMP Se o pacote chegar a um gateway/router que use um MTU menor o mesmo irá gerar uma mensagem ICMP Destination Unreacheable com mensagem Fragmentation Needed but DF set e especificará o tamanho do seu MTU O transmissor irá reduzir o MTU e retransmite o pacote repetindo o passo anterior até encontrar um MTU que permita a transmissão sem fragmentação
ICMP A > B: S 3183102292:3183102292(0) win 16384 <mss 4312,nop,wscale 0,nop,nop,timestamp 12128 0> (DF) B > A: S 2022212745:2022212745(0) ack 3183102293 win 49152 <mss 4312,nop,wscale 1,nop,nop,timestamp 1592957 12128> (DF)  A > B: . ack 1 win 17248 (DF)  A > B: . 1:4301(4300) ack 1 win 17248 (DF) C > A: icmp: B unreachable - need to frag (mtu 1500)! (DF)
IPv6 A versão atualmente em uso tem apresentado problemas : Falta de endereços.  Com o crescente uso da internet cada vez mais endereços são necessários Falta de suporte a requisitos mandatórios para o ambiente em que vivemos (segurança, mobilidade)
IPv6 De modo a resolver problemas como esses foi especificada uma nova versão do IP. Especificada nas RFC 1883 e posteriormente ratificada na RFC 2460 de 1998
IPv6 As principais mudanças são : Mudança no tamando do endereço de 32 para 128 bits Remoção da obrigatoriedade de alguns campos do cabeçalho visando reduzir o processamento dos cabeçalhos (ex. Checksum) Marcação de fluxo.  Sendo possível identificar pacotes relativos a um “fluxo” para tratamento especial
IPv6 d) Suporte nativo a autenticação e Criptografia dos dados
IPv6 O cabeçalho do IPv6 possui os campos abaixo Versão Classe do Tráfego Identificação de Fluxo Tamanho do payload Next Header (similar ao campo protocolo do IPv4)
IPv6 Hop Limit – Similar ao TTL Endereço de destino Endereço de Origem

Redes De Computadores Internet

  • 1.
    REDES DE COMPUTADORESRedes de Computadores Mário Bittencourt <mneto@argo.com.br>
  • 2.
  • 3.
    Internet Protocol (IP)O IP (Internet Protocol) é o coração do TCP/IP e provê o serviço de entrega de pacotes Todos os protocolos da camada acima (TCP, UDP) usam o IP para entrega de dados
  • 4.
    Funções do IPAs principais funções do IP são : a) Definir o datagrama - unidade de transmissão b) Definir o esquema de endereçamento c) Mover dados entre a camada de acesso de rede e camada de transporte host-host d) Roteamento de datagramas para host remoto e) Realizar fragmentação e reagrupamento de datagramas (quando necessário)
  • 5.
    Características do IPO IP possui algumas características : a) É um protocolo que não troca informações de controle (handshake) ou estabelece uma conexão. b) Não contem código de detecção e recuperação de erro
  • 6.
    Endereçamento O IPdefine um esquema de endereçamento de forma a permitir uma identificação precisa da origem e destino de uma comunicação Na versão 4 do IP um endereço é representado por uma palavra de 32 bits É usual representar um endereço IP separando os octetos com pontos
  • 7.
    Endereçamento Ex. 0001000000001010 01100001 00110011 100A5133 (Hexadecimal) 16.10.97.51 (Decimal)
  • 8.
    Endereçamento Foram criadasclasses de endereços : A, B, C, D e E Na classe A temos redes com até 16 milhões de endereços cada Na classe B temos redes com até 65 mil endereços cada Na classe C temos redes com até 256 endereços cada
  • 9.
    Endereçamento A classeD é reservada para multicast (onde um datagrama é enviado para vários hosts simultâneamente) A classe E foi reservada para uso futuro
  • 10.
    Endereçamento Um IPé composto pelo endereço de rede e o endereço de host Em um classe A temos 0 Rede Host Endereços 1.0.0.0 a 127.255.255.255
  • 11.
    Endereçamento Em umaclasse B 10 Rede Host Endereços 128.0.0.0 a 191.255.255.255
  • 12.
    Endereçamento Em umaclasse C 110 Rede Host Endereços 192.0.0.0 a 223.255.255.255
  • 13.
    Endereçamento Em umaclasse D 1110 Rede Host Endereços 224.0.0.0 a 247.255.255.255
  • 14.
    Endereçamento Em umaclasse E 1111 Rede Host Endereços 248.0.0.0 a 255.255.255.255
  • 15.
    Endereçamento Em umarede existem sempre dois endereços que são reservados : Endereço de rede (network address) Endereço de broadcast (broadcast address) Estes endereços não podem ser associados a nenhum host
  • 16.
    Endereçamento Ex. Suponhaa rede de classe C 200.241.126.0 O endereço de rede é aquele formado por todos os bits iguais a 0 na parte de host 200.241.126 00000000 Nesse caso o endereço de rede é 200.241.126.0
  • 17.
    Endereçamento O endereçode broadcast é conseguido fazendo todos os bits do endereço de host iguais a 1 200.241.126 11111111 Onde 11111111 = 255 Logo o endereço de broadcast é 200.241.126.255
  • 18.
    Endereçamento Um endereçoIP é especificado em conjunto com a máscara de rede a ele associado Ex. 200.241.126.3/255.255.255.0 200.242.35.9/255.255.255.248
  • 19.
    Endereçamento IPs quepertençam à mesma rede (possuam mesmo endereço de rede) devem ser acessíveis diretamente Para descobrir o endereço de rede você deve realizar operações lógicas com o endereço IP e a máscara fornecida
  • 20.
    Endereçamento Ex. 200.241.126.3/ 255.255.255.0 Para descobrir o endereço de rede basta fazer um AND entre os endereços 11001000.11110001.00111110.00000011 11111111.11111111.11111111.00000000 --------------------------------------------------- 11001000.11110001.00111110.00000000
  • 21.
    Endereçamento Ou seja,o endereço de rede do IP 200.241.126.3/255.255.255.0 é 200.241.126.0 Dependendo da máscara o endereço de rede para o mesmo IP pode variar
  • 22.
    Endereçamento Calcule oendereço de rede para os IPs/máscaras abaixo : 200.242.35.10/255.255.255.248 200.242.35.10/255.255.255.224 200.241.127.127/255.255.255.192
  • 23.
    Endereçamento 200.242.35.10/255.255.255.248 11001000.11110010.00100000.0000101011111111.11111111.11111111.11111000 --------------------------------------------------- 11001000.11110010.00100000.00001000 Ou seja O ip 200.242.35.10/255.255.255.248 pertence a rede 200.242.35.8
  • 24.
    Endereçamento É possíveldescobrir quantos endereços são possíveis para cada máscara de rede Para isso basta descobrir quantos bits podem ser usados para a parte de host e fazer 2^n Ex. Em uma máscara de rede 255.255.255.248 são usados 5 bits para rede e 3 para host. Logo podemos ter até 2^3 = 8 endereços na mesma rede
  • 25.
    Endereçamento De formasimilar o número de redes distintas pode ser obtido pegando-se o número de bits disponíveis para a rede. No mesmo exemplo anterior teríamos 2^5 = 32 redes distintas, cada uma com no máximo 8 endereços cada
  • 26.
    Datagrama Um datagramaé um bloco de dados que contem, além do dado que se deseja transmitir, a informação necessária para a sua entrega
  • 27.
    Datagrama Version (Versão)– indica a versão do protocolo. Atualmente em uso é a versão 4 sendo a versão 6 a mais atual ainda em implantação IHL – indica o tamanho do cabeçalho em palavras de 32 bits. O valor mínimo é 5 e máximo de 15. Com 5 palavras o cabeçalho IP não possui opções e com 15 pode ter até 40 bytes de opções
  • 28.
    Datagrama Type OfService (TOS) – permite indica que tipo de rede que necessita. Permitiria a roteadores poder escolher caminhos diferentes de acordo com o tipo escolhido (ex. links rápidos para transmissão de voz, links confiáveis para transmissão de arquivos). Os 4 tipos são : minimizar delay, maximizar vazão, maximizar confiança e minimizar custo ($)
  • 29.
    Datagrama Total length– indica o tamanho total do datagrama (cabeçalho+dados). O tamanho máximo é de 65535 bytes. Identification – utilizado para identificar a qual datagrama um fragmento pertence. Fragmentos de um mesmo datagrama possuem o mesmo campo identification
  • 30.
    Datagrama Dont Fragment(DF) – indica para os roteadores que o pacote não deve ser fragmentado More Fragments (MF) – indica que ainda existem mais fragmentos do datagrama por vir Fragment Offset – indica em quem ponto do datagrama original estamos
  • 31.
    Datagrama Time toLive (TTL) – um contador usado para controlar o “tempo” de vida útil de um pacote. Cada sistema define um TTL inicial e quando um pacote chega a um TTL de zero ele é descartado
  • 32.
    Datagrama O campoTTL é decrementado a cada ponto de modo a evitar loops infinitos A B
  • 33.
    Datagrama Protocol –indica qual o tipo de protocolo ao qual esse datagrama pertence. Os códigos são definidos na RFC 1700 Ex. 1 ICMP 6 TCP 17 UDP 47 GRE
  • 34.
    Datagrama Header Checksum– permite detectar problemas com o cabeçalho (não dados) do IP. É recalculado toda vez que passa por um roteador. Se for detectado uma diferença o pacote é descartado. Cabe as camadas superiores enviarem qualquer forma de notificação. Source Address – identifica o endereço de origem do pacote Destination Address – identifica o endereço de destino do pacote
  • 35.
    Datagrama Options (opções)– esse campo opcional foi criado para permitir que versões posteriores do IP pudesse acrescentar funcionalidades. Na prática nem todas as opções são implementadas (ou respeitadas) pelos roteadores.
  • 36.
    Roteamento O IPentrega o datagrama verificando o endereço de destino (5 byte). Se o endereço de destino pertence a uma rede diretamente conectada a entrega do pacote é feita também diretamente Caso contrário o pacote é passado para um gateway para que este se encarregue da entrega
  • 37.
    Roteamento Quando acamada IP recebe da camada superior um datagrama ele segue os seguintes ações 1 – Ele consulta a tabela de roteamento (interna) à procura do endereço destino. Se encontrar ele entrega para o destino (via uma interface) ou para o roteador indicado 2 – Ele consulta a tabela de roteamento (interna) à procura da rede a qual o endereço destino pertence. Se encontrar ele entrega para o destino (via uma interface) ou para o roteador indicado 3 – Ele consulta a tabela de roteamento (interna) à procura de uma entrada chamada “default”
  • 38.
    Roteamento Quando umendereço de destino não está diretamente conectado à mesma rede que o host que origina a conexão, este encaminha o pacote para um gateway
  • 39.
  • 40.
    Roteamento Tracing routeto www.mailbr.com.br [200.181.68.21] over a maximum of 30 hops: 1 argo07.argo.com.br [200.241.126.16] 2 argo01.argo.com.br [200.241.126.1] 3 embratel-S0-1-3-dist01.mns.embratel.net.br [200.242.64.45] 4 ebt-S2-1-2-dist02.spo.embratel.net.br [200.230.162.166] 5 ebt-G11-0-core01.spo.embratel.net.br [200.230.219.209] 6 ebt-P4-0-dist04.bsa.embratel.net.br [200.244.40.33] 7 ebt-G5-1-acc06.bsa.embratel.net.br [200.244.160.17] 8 200.252.249.22 9 BrT-G3-2-bsacore01.brasiltelecom.net.br [200.199.193.42]
  • 41.
    Roteamento É possívelter vários caminhos diferentes para chegar a um mesmo destino A esses caminhos denominamos rotas As rotas podem ter sido previamente definidas (estáticas) ou ser automaticamente atualizadas (dinâmicas)
  • 42.
    Roteamento Roteador RoteadorRoteador Rede A Rede B Rede C
  • 43.
    Roteamento Roteador RoteadorRoteador Rede A Rede B Rede C O tráfego entre a rede A e a C fluiria pela rede B
  • 44.
    Roteamento Você podedescobrir as rotas existentes em uma máquina windows através do comando route print Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.101 20 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 192.168.1.0 255.255.255.0 192.168.1.101 192.168.1.101 20
  • 45.
    Roteamento No linuxvocê pode utilizar o netstat –nr Kernel IP routing table Dest Gateway mask Flags iface 200.241.126.0 0.0.0.0 255.255.255.0 U eth0 127.0.0.0 0.0.0.0 255.0.0.0 U lo 0.0.0.0 200.241.126.1 0.0.0.0 UG eth0
  • 46.
    Roteamento A métricade uma rota é uma medida criada para estipular um “peso” ou prioridade para a rota. Desta maneira pode-se ter mais de uma rota para o mesmo lugar mas levando em consideração características da rota (largura de banda, latência, preferência etc)
  • 47.
    Roteamento Existem doistipos de roteamento: Estático – as rotas são pré-definidas e fixas pelo administrador Dinâmico – as rotas são especificadas (calculadas) dinamicamente e ajustadas conforme a rede se altera
  • 48.
    Roteamento Roteamento EstáticoVantagens : Previsibilidade – como as rotas são especificadas previamente temos como saber o caminho que o pacote percorre Não impõe overhead a rede Facilmente configurável em pequenas redes
  • 49.
    Roteamento Roteamento EstáticoDesvantagens : Não é escalável – em redes com centenas de segmentos calcular as rotas para predefinir exige um enorme trabalho. Mudanças na rede exigem recálculo e reconfiguração dos roteadores Não permite uso de conexões redundantes adaptáveis às condições da rede
  • 50.
    Roteamento Roteamento DinâmicoVantagens : Escalabilidade – o acréscimo de novos segmentos é fácil e o crescimento da rede não tem impacto linearmente proporcional ao número de segmentos Adaptabilidade – Os roteadores tomam conhecimento das mudanças na topologia e adaptam as regras de acordo
  • 51.
    Roteamento Roteamento DinâmicoDesvantagens : Complexidade – roteamento dinâmico exige uma configuração mais complexa do que o roteamento dinâmico. Overhead – Os roteadores devem trocar periodicamente informações sobre a topologia e alterações. Isso pode ter um impacto sobre a rede e recursos como processamento dos equipamentos
  • 52.
    Roteamento Existem váriosprotocolos de roteamento disponíveis. Eles se classificam como : a) Protocolos de roteamento interno (IGP – Interior Gateway Protocol) b) Protocolos de roteamento externo (EGP – Exterior Gateway A classificação se deve a sua capacidade de melhor tratar condições externas ou internas das redes
  • 53.
    Roteamento Os protocolosde roteamento interno (IGP) são usados dentro de uma “unidade administrativa” (uma empresa por ex) São protocolos mais simples e exigem menos dos roteadores em termos de processamento
  • 54.
    Roteamento Os protocolosIGP mais comuns são : a) RIP (Routing Information Protocol) b) OSPF (Open Shortest Path First) c) EIGRP (Enhanced Interior Gateway Routing Protocol)
  • 55.
    Roteamento Os protocolosEGP são usados entre duas ou mais unidades administrativas (empresas). Cada unidade administrativa possui estruturas independentes. São protocolos mais robutos e escaláveis que exigem normalmente mais recursos dos roteadores
  • 56.
    Roteamento O protocolode roteamento externo utilizado na Internet é o BGP (Border Gateway Protocol)
  • 57.
    Fragmentação Quando umdatagrama é roteado entre redes diferentes as vezes é necessário dividi-lo em pedaços menores. Isso acontece, por exemplo, quando temos um gateway que interconecta redes físicas diferentes (Ethernet <-> X.25) Cada rede estabelece um MTU (Maximum Transfer Unit) como sendo o maior datagrama que pode transferir
  • 58.
    Fragmentação A essespedaços chamamos de fragmentos Os fragmentos são transmitidos e remontados no destino antes de serem repassados para a camada superior (transporte)
  • 59.
    Fragmentação Cada fragmentodeve possuir: Um identificador em comum a todos os fragmentos do mesmo datagrama Um offset da posição original ao qual o datagrama pertence O tamanho do dado sendo transportado no fragmento Se existem mais fragmentos para o mesmo datagrama
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
    ICMP Outro protolocoda camada Internet é o ICMP (Internet Control Message Protocol) Ele usa as facilidades do IP para a entrega das mensagens. São definidos vários tipos de mensagem de acordo com a finalidade da mesma Especificada na RFC 792
  • 70.
    ICMP As principaisfunções do ICMP são : a) Controle de Fluxo - quando datagramas chegam a uma velocidade maior que o host destino pode processar é enviada uma mensagem ICMP de volta para o remetente (ICMP Source Quench) b) Detecção de Destinos Inalcançáveis - quando um destino não pode ser alcançado o sistema que detecta o problema envia uma mensagem ICMP para a origem do datagrama (ICMP Destination Unreacheable)
  • 71.
    ICMP c) Redirecionamentode rotas - um gateway pode enviar uma mensagem para indicar a um host para usar outro gateway (ICMP Redirect) d) Verificando hosts remotos - para verificar se um determinado host está operacional (conectado a rede) é possível enviar mensagem ICMP Echo Request e receber ICMP Echo Reply.
  • 72.
    ICMP tipo códigochecksum Conteúdo (depende do tipo e código)
  • 73.
    ICMP 0 EchoReply 1 Unassigned 2 Unassigned 3 Destination Unreachable 4 Source Quench 5 Redirect 6 Alternate Host Address 7 Unassigned 8 Echo 9 Router Advertisement 10 Router Selection 11 Time Exceeded 12 Parameter Problem 13 Timestamp 14 Timestamp Reply 15 Information Request 16 Information Reply 17 Address Mask Request 18 Address Mask Reply 19 Reserved (for Security) 20-29 Reserved (for Robustness Experiment) 30 Traceroute 31 Datagram Conversion Error 32 Mobile Host Redirect [David Johnson] 33 IPv6 Where-Are-You 34 IPv6 I-Am-Here 35 Mobile Registration Request 36 Mobile Registration Reply 37-255 Reserved
  • 74.
    ICMP Existem 15tipos diferentes e dependendo de cada, um ou mais códigos associados para representar eventos O checksum é usado para toda a mensagem, incluindo o cabeçalho
  • 75.
    ICMP Alguns tiposde mensagem permitem a especificação de códigos específicos Ex. ICMP Destination Unreachable 0 Net Unreachable 1 Host Unreachable 2 Protocol Unreachable 3 Port Unreachable 4 Fragmentation Needed and Don't Fragment was Set 5 Source Route Failed 6 Destination Network Unknown 7 Destination Host Unknown 8 Source Host Isolated 9 Communication with Destination Network is Administratively Prohibited 10 Communication with Destination Host is Administratively Prohibited 11 Destination Network Unreachable for Type of Service 12 Destination Host Unreachable for Type of Service
  • 76.
    ICMP Suponha quevocê deseje acessar um serviço (DNS) em uma máquina que não oferece esse serviço 192.168.11.4.32781 > 192.168.11.2.domain: 41282+ A? www.argo.com.br. (33) (DF) 192.168.11.2 > 192.168.11.4: icmp: 192.168.11.2 udp port domain unreachable
  • 77.
    ICMP Você podeverificar se um host está respondendo através do comando ping 18:20:18.712446 192.168.11.4 > 192.168.11.1: icmp: echo request (DF) 18:20:18.713073 192.168.11.1 > 192.168.11.4: icmp: echo reply
  • 78.
    ICMP No pingo pacote padrão tem o formato abaixo Tipo (0 ou 8) Código (0) checksum Conteúdo (depende do tipo e código) Identificador Sequência
  • 79.
    ICMP O identificadoré um código criado por quem envia o echo request para permitir identificar a que resposta um determinado pacote se refere. A sequência é um número que identifica a ordem do pacote e nos permite saber a ordem da chegada, identificar duplicações
  • 80.
    ICMP Outro aplicativoque usa o ICMP é o traceroute (linux) ou tracert (windows). Ele se utiliza do TTL para ir traçando o caminho por onde o pacote passa até chegar a um destino
  • 81.
    ICMP Suponha queo comando traceroute tenha o resultado abaixo 1 <1 ms <1 ms <1 ms 192.168.11.1 2 10 ms 46 ms 7 ms 10.100.0.1 3 69 ms 6 ms 9 ms 200.242.50.1 4 62 ms 9 ms 20 ms 200.174.159.117 5 55 ms 14 ms 44 ms 200.174.159.122 6 13 ms 17 ms 39 ms 200.241.126.5
  • 82.
    ICMP O processose inicia enviando um pacote ICMP echo request. Na camada IP o TTL está em 1 Ao chegar no primeiro ponto (o gateway padrão) o TTL é decrementado, chegando a 0. Com isso o gateway retorna ICMP Time to Live exceeded Um novo pacote ICMP é enviado, desta vez com o TTL igual a 2. Desta maneira toda vez que o TTL chega a zero o host recebe uma mensagem ICMP e sabe por onde o pacote deve passar para chegar ao destino.
  • 83.
    ICMP Outra utilizaçãodo ICMP é permitir o PMTUD (Path MTU Discovery) O PMTUD é um protocolo criado para evitar a fragmentação por tentar ajustar o MTU do transmissor para não gerar fragmentação O processo se inicia enviando um pacote com o MTU do segmento do transmissor mas a flag DF (Don’t Fragment) ligada
  • 84.
    ICMP Se opacote chegar a um gateway/router que use um MTU menor o mesmo irá gerar uma mensagem ICMP Destination Unreacheable com mensagem Fragmentation Needed but DF set e especificará o tamanho do seu MTU O transmissor irá reduzir o MTU e retransmite o pacote repetindo o passo anterior até encontrar um MTU que permita a transmissão sem fragmentação
  • 85.
    ICMP A >B: S 3183102292:3183102292(0) win 16384 <mss 4312,nop,wscale 0,nop,nop,timestamp 12128 0> (DF) B > A: S 2022212745:2022212745(0) ack 3183102293 win 49152 <mss 4312,nop,wscale 1,nop,nop,timestamp 1592957 12128> (DF) A > B: . ack 1 win 17248 (DF) A > B: . 1:4301(4300) ack 1 win 17248 (DF) C > A: icmp: B unreachable - need to frag (mtu 1500)! (DF)
  • 86.
    IPv6 A versãoatualmente em uso tem apresentado problemas : Falta de endereços. Com o crescente uso da internet cada vez mais endereços são necessários Falta de suporte a requisitos mandatórios para o ambiente em que vivemos (segurança, mobilidade)
  • 87.
    IPv6 De modoa resolver problemas como esses foi especificada uma nova versão do IP. Especificada nas RFC 1883 e posteriormente ratificada na RFC 2460 de 1998
  • 88.
    IPv6 As principaismudanças são : Mudança no tamando do endereço de 32 para 128 bits Remoção da obrigatoriedade de alguns campos do cabeçalho visando reduzir o processamento dos cabeçalhos (ex. Checksum) Marcação de fluxo. Sendo possível identificar pacotes relativos a um “fluxo” para tratamento especial
  • 89.
    IPv6 d) Suportenativo a autenticação e Criptografia dos dados
  • 90.
    IPv6 O cabeçalhodo IPv6 possui os campos abaixo Versão Classe do Tráfego Identificação de Fluxo Tamanho do payload Next Header (similar ao campo protocolo do IPv4)
  • 91.
    IPv6 Hop Limit– Similar ao TTL Endereço de destino Endereço de Origem

Notas do Editor

  • #6 - Quando o serviço é orientado a conexão o IP necessita que esse controle para estabelecimento da conexão seja estabelecido por outras camadas - O IP necessita dos serviços de outras camadas para realizar a detecção e controle de erro
  • #23 200.242.35.10/29 = 200.242.35.8 200.242.35.10/27 = 200.242.35.0 200.241.127.127/26 = 200.241.127.64
  • #35 Por conta da mudança do TTL que “exige” que o checksum seja recalculado
  • #36 Uma das opções definidas é o strict source routing onde são especificados os pontos pelos quais o pacote deve passar
  • #39 Inserir exemplo de loop no link internet e do store and forward
  • #61 Imagem de um datagrama (pag. 45)
  • #62 Figura 3.3 (pág 46)
  • #63 Figura do pacote com 4028 bytes (pag 46 fig 3.2)
  • #64 Figura 3.4
  • #65 Figura 3.5
  • #66 Figura 3.6
  • #67 Figura 3.7
  • #68 Figura 3.8
  • #69 Figura 3.9
  • #78 Incluir screenshot do ethereal e demonstração do software