Redes De Computadores Internet
-
Upload
mario-bittencourt -
Category
Technology
-
view
66 -
download
5
description
Transcript of Redes De Computadores Internet
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.
00010000000010100110000100110011
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 :
b) 200.242.35.10/255.255.255.248
c) 200.242.35.10/255.255.255.224
d) 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 tableDest 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:
b) Estático – as rotas são pré-definidas e fixas pelo administrador
c) Dinâmico – as rotas são especificadas (calculadas) dinamicamente e ajustadas conforme a rede se altera
Roteamento
Roteamento EstáticoVantagens :c) Previsibilidade – como as rotas são especificadas
previamente temos como saber o caminho que o pacote percorre
d) Não impõe overhead a redee) Facilmente configurável em pequenas redes
Roteamento
Roteamento Estático
Desvantagens :
c) 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
d) Não permite uso de conexões redundantes adaptáveis às condições da rede
Roteamento
Roteamento DinâmicoVantagens :c) 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
d) Adaptabilidade – Os roteadores tomam conhecimento das mudanças na topologia e adaptam as regras de acordo
Roteamento
Roteamento Dinâmico
Desvantagens :
c) Complexidade – roteamento dinâmico exige uma configuração mais complexa do que o roteamento dinâmico.
d) 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 fragmentosOs 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 Advertisement10 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 Unreachable0 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 :b) Mudança no tamando do endereço de 32 para
128 bitsc) Remoção da obrigatoriedade de alguns campos do
cabeçalho visando reduzir o processamento dos cabeçalhos (ex. Checksum)
d) 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