R&c 05 14_1 - Protocolo IP (Parte 1)

36
1 R&C+R&I 1 / ISTEC – 14/15 5ª Parte 5ª Parte Protocolo IP Protocolo IP

Transcript of R&c 05 14_1 - Protocolo IP (Parte 1)

1

R&C+R&I 1 / ISTEC – 14/15

5ª Parte5ª Parte

Protocolo IPProtocolo IP

2

R&C+R&I 1 / ISTEC – 14/155.1 - Comunicação virtual entre camadas

Protocolos de Aplicações

3

R&C+R&I 1 / ISTEC – 14/155.1 - Comunicação virtual entre camadas

4

R&C+R&I 1 / ISTEC – 14/155.1 - Comunicação virtual entre camadas

File

5

R&C+R&I 1 / ISTEC – 14/155.1 - Comunicação virtual entre camadas

6

R&C+R&I 1 / ISTEC – 14/155.1 - Comunicação virtual entre camadas

Suporte a novos serviços: VoIP (Voice Over IP)• Desempenho imprevisível na internet • Desempenho bom em redes de operadores

• Melhor controlo da ocupação da rede• IP possibilita um serviço mais económico e flexível (PS: Packet

Switch) do que redes tradicionais (CS: Circuit Switch)

7

R&C+R&I 1 / ISTEC – 14/155.2 - Protocolo IP e a criação de uma internet

8

R&C+R&I 1 / ISTEC – 14/15

� Protocolo IP (Internet Protocol - RFC 791):* Comutação de pacotes (datagramas):

* Encaminhamento de pacotes entre redes heterogéneas* Suporte a comunicação entre quaisquer computadores/redes

* Endereçamento Universal* Não orientado à ligação:

* Diferentes pacotes podem fazer diferentes caminhos * Não fiável

* Não detecta nem recupera erros* Não garante QoS (IP v4) Best Effort

5.2 - Protocolo IP e a criação de uma internet

9

R&C+R&I 1 / ISTEC – 14/155.3 - Datagramas IP e os protocolos de transporte

Cabeçalho IP

10

R&C+R&I 1 / ISTEC – 14/15

� Pacote IP

Versão Comprimento Total (bytes)

32 bits

IHL Tipo de serviço

Identificação Offset do fragmentoDF

MF

Tempo de vida Checksum do cabeçalhoProtocolo

Endereço IP de Origem

Endereço IP de Destino

Opções (se existentes)

Dados

5.3 - Datagramas IP e os protocolos de transporte

11

R&C+R&I 1 / ISTEC – 14/15

* Versão - Garantir compatibilidade entre diferentes versões * IHL (IP Header Length) - Tamanho do cabeçalho

* Min. = 5 ; Max.= 15 (words de 32 bits) * Tipo de serviço - Possibilitar definição de diferentes requisitos de:

* Velocidade/Atraso de pacote* Dimensão total - Inclui cabeçalho e mensagem (máximo = 64K) * Identificação - Identificador de pacote a que pertence este fragmento* DF (Don’t Fragment) - Se estiver a ‘1’ informa router que não deve

fragmentar o pacote, pois o destino não saberá reconstruí-lo* MF (More fragments) - Se estiver a ‘1’ indica que não é ainda o último

fragmento (do pacote) * Offset do fragmento - Posição no pacote deste fragmento (x 8 bytes)

* 13 bits máximo = 8192 fragmentos por pacote (excepto último)* 8192*8 bytes = 64K, tamanho dinamica/ variável, em função de

aplicação + MTU da rede

5.3 - Datagramas IP e os protocolos de transporte

12

R&C+R&I 1 / ISTEC – 14/15

* Tempo de vida - Contador de tempo de vida de pacote* Decrementado em cada transmissão entre routers

* Previne possibilidade de pacotes se “perderem” na rede * Erros nas tabelas de routing* Endereço corrompido

* Quando atinge o valor 0 o fragmento é destruído e enviada uma mensagem a notificar a sua origem.

* Valor máximo = 255* Protocolo - Especifica o protocolo de camada superior: TCP, UDP* Checksum – Controlo de erros do cabeçalho do pacote* Opções - Possibilitar actualização no protocolo (futuras versões)

* Ex. poder especificar caminhos pretendidos, pedir aos routers que marquem o seu endereço e data/hora de passagem, etc

5.3 - Datagramas IP e os protocolos de transporte

13

R&C+R&I 1 / ISTEC – 14/155.3 - Datagramas IP e os protocolos de transporte

14

R&C+R&I 1 / ISTEC – 14/155.4 - Fragmentação de Datagramas IP

Variável paracada rede

15

R&C+R&I 1 / ISTEC – 14/155.3 - Datagramas IP e os protocolos de transporte

Fragmentação

16

R&C+R&I 1 / ISTEC – 14/155.4 - Estrutura de Endereços IP

Limite Teórico: ~4,3 biliões de endereçosLimite Prático: ~250 milhões de endereços(RFC 3194: Esquema de alocação de endereços)

17

R&C+R&I 1 / ISTEC – 14/155.4 - Estrutura de Endereços IP

Permite atribuir ~67 biliões de endereços

por cm2 do planeta

18

R&C+R&I 1 / ISTEC – 14/155.5 - Unicidade de Endereços IP

ISOC: Internet SOCietyIANA - Internet Assigned Numbers Authorithy

19

R&C+R&I 1 / ISTEC – 14/155.6 - Representação dos Endereços IP

20

R&C+R&I 1 / ISTEC – 14/15

Data de esgotamento de

atribuição deEndereços IP v4 a RIRs (Regional

Internet Registry)

APNIC: Asia Pacific NW Information CenterRIPENCC: RIPE NW Coordination CenterARIN: American Registery for Interner NbrsLACNIC: Latin America and Caribbean NICAFRINIC: African Network Information Center

Data estimada para esgotamento de

atribuição deEndereços IP v4 por

RIRs

5.7 - Atribuição de Endereços IP

21

R&C+R&I 1 / ISTEC – 14/155.7 - Atribuição de Endereços IP

22

R&C+R&I 1 / ISTEC – 14/15

� Endereços IP* Todos os elementos de rede (Computadores/Routers) possuem um

endereço IP unívoco, atribuído por entidade coordenadora: * IANA - Internet Assigned Numbers Authorithy, que delega em:

* Europa: RIPE - Reseaux IP Européens (RIR: Regional Internet

Registry) * Portugal: FCCN – Fundação para Computação Cientifica Nacional

* Todos os endereços IP (v4) possuem um comprimento de 32 bits, divididos em 3 campos:

* Identificador de classe de endereço* Número de identificação de Rede * Numero de identificação de Host (Elemento Terminal de Rede)

• Ex: 00000001 00000010 00001111 11111111 = 1.2.15.255 d

0 Rede Terminal (Host)

7 bits 24 bits

5.7 - Classes de Endereços IP

Considerar apenas campo “Rede” para simplificar

23

R&C+R&I 1 / ISTEC – 14/15

� Endereços IP* Representação de redes de diferentes dimensões:

Definição de classes de endereços * Definidos 5 tipos de formato, distinguidos pelo tamanho:

• Classe A - 127 redes com ~16 milhões de terminais cada• Classe B - ~16 mil redes com ~65 mil terminais cada• Classe C - ~2 milhões de redes com 254 terminais cada• Classe D - Endereços para multicasting• Classe E - Reservado para uso futuro

5.7 - Classes de Endereços IP

24

R&C+R&I 1 / ISTEC – 14/15

Classe

E

32 bits

Gama de endereços

A 0 Rede (7 bits) Terminal (24 bits) 1.0.0.0 a127.255.255.255

1 0B Rede (14 bits) Terminal (16 bits) 128.0.0.0 a191.255.255.255

1 1 0C Rede (21 bits) Terminal (8 bits) 192.0.0.0 a223.255.255.255

1 1 1 0D Multicast - Grupo de Terminais (28 bits ) 225.0.0.0 a239.255.255.255

1 1 1 1 0 Reservado para uso futuro 240.0.0.0 a247.255.255.255

5.7 - Classes de Endereços IP

25

R&C+R&I 1 / ISTEC – 14/15

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Endereço desconhecido (boot)

� Endereços IP especiais

0 0 0 . . . 0 0 0 Terminal na própria rede

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Broadcast na rede local

Broadcast em rede remota

0 1 1 1 1 1 1 1 x x x x x x x x x x x x x x x x x x x x x x x x x Teste de loopback127.xx.yy.zz

Terminal

Rede 1 1 1 . . . 1 1 1

32 bits

5.7 - Classes de Endereços IP

26

R&C+R&I 1 / ISTEC – 14/15

� Endereços IP

* Problemas do endereçamento IP v4:* Capacidade disponível cada vez menor* Tabelas de Routing com dimensão limitada

* Soluções Temporárias:* Subnets - Segmentação e redefinição de campo “Terminal”* Supernets - Agregação de endereços* NAT - Conversão de endereços Públicos/Privados* Endereços Dinâmicos

* Solução Efectiva:* IP v6 - nova versão com endereços de 128 bits

5.7 - Classes de Endereços IP

27

R&C+R&I 1 / ISTEC – 14/15

� Subnets* Facilitar gestão de redes (autónomas)

* Definição de segmentos e de Terminais/Segmento* Redução/Separação de tráfego (por Subnet) Melhor Desempenho* Simplificação de tabelas de Routers da rede interna (empresa)

* Router c\ ligação a Subnet k

Conhecer (apenas) terminais de Subnet k

Tabelas ARP: Conversão Endereços IP/MAC +Reduzidas* Invisível para redes exteriores * Facilitar controlo de acessos Subnet define domínio de broadcat

* Divisão de campo Nº Terminal, em 2:* Nº Subnet + Nº Terminal

* Determinação de Subnet (para encaminhamento de pacotes): * Máscara “1’s” bits de Rede e Subnet, “0’s” bits de

Terminal

* Cálculo de Subnet “Endereço de Pacote” AND “Máscara”

5.8 - Subnets

Uso de Máscara:Retirar endereçode Rede+Subnet

28

R&C+R&I 1 / ISTEC – 14/15

� Subnets

* Nº de Terminais ou Subnets (SN)= 2 n - 2, n = nº de bits

* n = 2 => 4 - 2 = 2 Terminais ou Subnets (00, 01, 10, 11) * 00 - todo o segmento ; 11 - broadcast e multicast

reservados* Ex. Classe B = 16 mil redes com 64 mil terminais, numa LAN

Se 6 bits de Subnet 16 mil redes/62 SNs/1022 terminais

1 0B Rede Terminal (10 bits)Subnet (6 bits)

32 bits

5.8 - Subnets

29

R&C+R&I 1 / ISTEC – 14/15

� VLSM - Variable Lenght Subnet Mask:

* Possibilidade de criar vários níveis hierárquicos de subnets de dimensão variável dentro de uma mesma rede. Exemplo:

* Nível 1 (SNN1): 2 bits de Subnet 2 SNs/8190 terminais

* Nível 2 (SNN2): 2 LANs, com 4 bits de Subnet 14 subnets/1022 terminais

5.8 - Subnets

B

B

1 0 Rede Terminal (14 bits)

2 bits

32 bits

1 0 Rede Terminal (10 bits)

4 bits

SNN1

SNN1 SNN2

30

R&C+R&I 1 / ISTEC – 14/15

� Exemplo de Subnet

INTERNET

Subnet 5: 130.50.5.0 Subnet 8: 130.50.8.0

* Empresa com Endereço de Rede = 130.50.0.0 (Classe B) * 254 Subnets => 8 bits para representar Subnet => Subnet Mask = 255.255.255.0 * Cálculo de Subnet destino por Router: Ex. pacote c\ endereço = 130.50.5.1

130.50.5.1 AND 255.255.255.0 = 130.50.5.0 => Destino = Subnet 5

Router

130.50.5.1130.50.5.254

* * * * * *

130.50.8.254130.50.8.1

5.8 - Subnets

Operador lógico AND: 0 1 1 0

AND 1 0 1 0 0 0 1 0

31

R&C+R&I 1 / ISTEC – 14/15

C Terminal (8 +1 bits)

� Supernets (CIDR - Classless Inter-Domain Routing)

* Solução para ultrapassar falta de endereços de classe B* Utilização de múltiplos endereços de classe C, contínuos e pares* Ex. Rede com 500 terminais

* Sem CIDR Endereço classe B desperdício de ~65 mil End.* Com CIDR Agregação de 2 endereços classe C, contínuos

* Ex. 200.1.128.0 e 200.1.129.0

* Encaminhamento deixa de ser feito com base em classes

Utilizada máscara (semelhante a subnet) de 32 bits sem respeitar fronteiras (8,16,24 bits) “1’s” bits de Rede, “0’s” bits de Terminal

* Facilitar tabelas de routing 1 só entrada para endereços agregados* Melhor utilização de espaço de endereçamento

1 0 1 Rede (21 - 1 bits)

32 bits

5.9 - Supernets

Uso de Máscara:Retirar endereçoSupernet

32

R&C+R&I 1 / ISTEC – 14/15

� Supernets*Compatibilidade com Subnets

* Notação CIDR (Prefixo IP):* a.b.c.d / x

* x = nº de bits que identificam rede* a.b.c.d = bits comuns para identificação de endereço de rede

* Exemplos: * Classe C: 192.168.0.0 a 192.168.255.255 216 endereços Ter.

Supernet c\ 254 Redes: 192.168.0.0/16, Máscara = 255.255.0.0

* Classe C: 200.1.128.0 a 200.1.129.255 29 endereços Terminal

Supernet c\ 2 Redes = 200.1.128.0/23 , Máscara = 255.255.254.0

1 1 0C Rede Terminal (9 bits)

32 bits

5.10 - Supernets

33

R&C+R&I 1 / ISTEC – 14/15

� Exemplo de Supernet

INTERNET

Subnet 2: 200.1.129.0 Subnet 1: 200.1.128.128Router 2

200.1.129.126

Router 1SuperNet: 200.1.128.0/23

* * * * * *

200.1.129.1 200.1.128.254200.1.128.129

INTERNET

* Empresa com Endereço de Rede = 200.1.128.0/23 (2 endereços classe C)* 9 bits para representar Terminais => Net Mask = 255.255.254.0 * Cálculo de SuperNet destino por Router 1: Ex. pacote c\ endereço = 200.1.129.126

200.1.129.126 AND 255.255.254.0 = 200.1.128.0 = Rede Destino* SuperNet com 2 SubNets => 2 bits para SubNet => SubNet Mask = 255.255.255.128 * Cálculo de SubNet destino por Router 2: Ex. pacote c\ endereço = 200.1.129.126

200.1.129.126 AND 255.255.255.128 = 200.1.129.0 => Destino = Subnet 2

5.10 - Supernets

34

R&C+R&I 1 / ISTEC – 14/15

� NAT - Network Address Translation

* Conversão de endereços privados (não públicos) em endereços públicos* Ex. máquinas de intranets ligadas ao exterior por firewalls* Comunicação interna (maior tráfego):

* Utilização de endereços privados

* IANA recomenda: 10.x.x.x, 172.[16..31].x.x, 192.168.x.x* Comunicação para exterior (menor tráfego):

* Mapeamento de endereço privado em endereço público

* Endereço privado Endereço público / Porto TCP/UDP

* Possibilidade de utilizar apenas um endereço público (PAT)

* Conversão de endereço privado<->público efetuado em Router/Proxy

* Maior segurança utilização de endereços privados para mascarar identidade de rede/terminais

5.11 - NAT

35

R&C+R&I 1 / ISTEC – 14/15

� PAT - Port AddressTranslation:

* Possibilitar que vários terminais de uma rede partilhem endereços IP públicos, sendo identificados pelo porto TCP/UDP

5.11 - NAT

Servidor WEBEnd. Público 205.134.98.123

Internet

Router/ProxyNAT/PAT

Cliente End. Privado

10.0.0.1

Rede 192.157.137.0

1)2)

3)4)

1) Pedido de terminal Cliente para se ligar a Servidor WEB: Source Address = 10.0.0.1 / Source Port = 1250 Destination Address = 205.134.98.123 / Desination Port =80

2) Router converte endereço/porto privado de Cliente em publico Source Address = 192.157.137.5 / Source Port = 5128 Dest. Address = 205.134.98.123 / Destination Port =803) Resposta de Servidor a pedido de Cliente: Source Address = 205.134.98.123 / Source Port =80 Destination Address = 192.157.137.5 / Destination Port = 5128 4) Routerconsulta tabela de PAT e converte endereço/porto publico de Cliente em privado Source Address = 205.134.98.123 / Source Port =80 Destination Address = 10.0.0.1 / Destination Port = 1250

PortoPúblico

PortoPrivado

IPPrivado

Tabela de PAT em Router:

36

R&C+R&I 1 / ISTEC – 14/15

� Endereços Dinâmicos* Objetivo Poupança de endereços, quando:

* Nº total de users > Nº endereços IP > Nº total de users activos* Utilizado por ISP’s

* Usa protocolo DHCP (Dynamic Host Configuration Protocol / RFC 2131)* Facilitar gestão de atribuição de endereços em redes IP

* Acesso a Internet *Clientes requisitam endereço variável e temporário (lease time) a servidor DHCP do ISP* Endereço atribuído corresponde a gama de endereços do ISP*No fim do acesso (ou expiração de lease time) o endereço é libertado para outros clientes (se lease time expirar com cliente ainda ligado lease time renovado e endereço mantido)

* Endereço variável maior segurança contra planos de ataques

* Cliente não disponibilizar serviços públicos (ex. Web Server)

* Necessário atualização de DNS

5.12 - Endereços Dinâmicos