Arquiteturas de Protocolos Bacharelado em Informática TCP/IP Disciplina: Internet e Arquitetura Arquitetura OSI TCP/IP Arquitetura IEEE Arquitetura Internet Aplicação Aplicação Apresentação Protocolos Inter-rede Sessão Prof. Sérgio Colcher [email protected] Transporte Transporte Rede Inter--rede Inter Enlace LLC MAC Físico Físico Sub--Rede Sub 1 2 Protocolos do nível interinter-rede O Protocolo IP (Internet Protocol) Copyright 19991999-2008 by TeleMídia Lab. TCP/IP TCP/IP Realiza função de roteamento Transporte • Roteamento entre redes ICMP RIP IP IGMP OSPF RARP ARP Intra--rede Intra 3 Oferece um serviço de datagrama não confiável Aplicação • Protocolo sem conexão Transporte • Confiabilidade deve ser fornecida pelas camadas superiores Inter--rede Inter Fornece um endereçamento independente da estrutura ou do endereçamento de cada subsub-rede 4 Sub--Rede Sub RFCs Endereços IP TCP/IP TCP/IP 791: Internet Protocol São números de 32 bits. 919: IP Broadcast Datagrams Um endereço IP identifica um host em uma determinada rede física 922: IP Broadcast Datagrams with Subnets 950: IP Subnet Extensions 1122: Requirements for HostsHosts-Communication Layers 1123: Requirements for HostsHosts-Application & Support End. IP na Rede A ≠ End IP na Rede B Endereçamento hierárquico composto de parte de rede e parte de host: Rede A • Troca de rede = troca de 1812: Requirements for IP Routers endereço. Rede Rede B Host Parte comum a todas as Estações em uma mesma rede 5 6 Endereços IP: Notação “de Ponto” Notação de ponto decimal e hexadecimal TCP/IP 11010000 11110101 00011100 10100011 208 28 245 208.245.28.163 7 163 TCP/IP 11010000 11110101 00011100 10100011 208 28 245 208.245.28.163 163 D0.F5.1C.A3 8 Endereços IP: Primeiro com Classes Delegação de endereços IP na Internet TCP/IP 0 7 15 Octeto 1 Classe A 0 Octeto 2 netid Classe B 1 0 Classe C 1 1 0 Classe D 1 1 1 0 Classe E 1 1 1 1 0 23 31 Octeto 3 Octeto 4 ICANN (Internet Corporation for Assigned Names and Numbers) ICANN APNIC • Antiga IANA hostid netid No Brasil hostid • Registro.br (FAPESP) ISP Classe B: Classe C: Providers) Reservado para uso futuro ISP – Top level: Global Global--One, Embratel, RNP, ... Classe D: Classe E: 0111 1110 X X X X 1000 1000 0000 0000 0001 1011 1011 1111 1111 1111 X X X X 1100 1100 0000 0000 0000 0000 0001 1101 1101 1111 1111 1111 1111 1111 X X 1110 1111 1111 0000 0000 1111 0111 0111 ... ISP ISP ... ... ... 10 X X 1110 0000 ISP • ISPs (Internet Service Endereço Multicast 9 Classe A: RIPE NCC Registro.br (FAPESP) • Política de distribuição ... 0000 0001 ARIN • Controle sobre os prefixos IP hostid netid TCP/IP X X X X X X X X X X X X 1.X.X.X Endereços especiais TCP/IP 126.X.X.X 128.1.X.X 191.255.X.X 192.0.1.X 223.255.255.X 224.X.X.X 239.X.X.X NETID HOSTID Endereço da rede X 0 0 0 0 ... 0 0 0 0 Broadcast direto Broadcast limitado X 1 1 1 1 ... 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1 ... 1 1 1 1 Esse host 0 0 0 0 ... 0 0 0 0 0 0 0 0 ... 0 0 0 0 Loopback 01111111 X geralmente 127.0.0.1 240.X.X.X 247.X.X.X 12 Endereços de rede e host Exemplo TCP/IP TCP/IP Na mesma rede IP A Estação A Estação B 11001000 00010010 10101011 00100101 200 18 171 37 11001000 00010010 10101011 10010100 200 18 171 148 IP B • Determinação da Classe: CLASSE C 200.18.171.148 200.18.171.37 1 1 0 netid hostid • Hosts estão na mesma Rede ? Na classe C, os 3 primeiros bytes são o end. de rede. Logo, os dois endereços estão na mesma rede IP Rede 1 = 200.18.171.0 13 14 Endereços de rede e host Exemplo Host A = 37 Host B = 148 TCP/IP TCP/IP Em redes distintas IP A Estação A Roteador Estação B 11001000 00010010 10101011 00100101 200 18 171 37 11001000 00010010 10110100 10010100 200 18 180 148 IP B • Determinação da Classe: CLASSE C 200.18.171.37 200.18.180.200 1 1 0 netid hostid • Hosts estão na mesma Rede ? Na classe C, os 3 primeiros bytes são o end. de rede. Logo, os dois endereços estão na mesma rede IP Rede 1 = 200.18.171.0 Rede 2 = 200.18.180.0 15 16 Host A = 37 Host B = 148 Endereços de rede e host Formato de um datagrama IP TCP/IP TCP/IP Em redes distintas 0 7 15 Octeto 1 • máquinas ligadas a mais de uma rede possuem mais de um endereço IP VERS HLEN Octeto 3 SERVICE TYPE Roteador TIME TO LIVE 31 Octeto 4 TOTAL LENGTH IDENTIFICATION Multi-homed Multihost 23 Octeto 2 FLAGS PROTOCOL FRAGMENT OFFSET HEADER CHECKSUM SOURCE IP ADDRESS DESTINATION IP ADDRESS IP OPTIONS (IF ANY) 4.10 .2.33 .37 128.10.0.0 .1 200.18.171.0 .0.0.1 .2.1.4 PADDING DATA ... 12.0.0.0 17 18 Campos do datagrama IP Campos do datagrama IP TCP/IP VERS HLEN SERVICE TYPE IDENTIFICATION TIME TO LIVE TOTAL LENGTH FLAGS PROTOCOL FRAGMENT OFFSET HEADER CHECKSUM SOURCE IP ADDRESS DESTINATION IP ADDRESS IP OPTIONS (IF ANY) VERS = 4 HLEN = N x 4 octetos (20 a 64 bytes) TLEN = até 65535 octetos TCP/IP VERS HLEN TIME TO LIVE TOTAL LENGTH SERVICE TYPE IDENTIFICATION FLAGS PROTOCOL FRAGMENT OFFSET HEADER CHECKSUM SOURCE IP ADDRESS VERS = 4 HLEN = N x 4 octetos (20 a 64 bytes) TLEN = até 65535 octetos DESTINATION IP ADDRESS PADDING IP OPTIONS (IF ANY) DATA DATA ... ... PADDING ANTIGO: RENOMEADO PARA DS 19 20 Campos do datagrama IP TCP/IP VERS HLEN SERVICE TYPE IDENTIFICATION TIME TO LIVE TOTAL LENGTH FLAGS PROTOCOL FRAGMENT OFFSET Bacharelado em Informática Protocolos do Nível Disciplina: InterInter-Rede HEADER CHECKSUM SOURCE IP ADDRESS DESTINATION IP ADDRESS IP OPTIONS (IF ANY) PADDING Protocolo IP e endereçamento DATA Transmissão IP sobre redes ... TTL decrementado em cada roteador de 1 ou mais Roteamento IP Alterado a cada roteador TCP = 6 UDP = 17 ICMP = 1 EGP = 8 OSPF= 89 Fragmentação e Remontagem Opções IP 21 Copyright 19991999-2008 by TeleMídia Lab. Transmissão IP sobre redes 22 Transmissão IP sobre redes TCP/IP Envio direto: não há a participação de nenhum roteador H D Inter--rede Inter S Rede A G H G Rede C Rede B H Rede D G H G H 23 IP--ATM IP RFC 1577 IP IP--FR RFC 1490 IP IP--FDDI RFC 1483 IP IP--Eth RFC 894 IP IP--IEEE802 RFC 1042 Rede E H TCP/IP IP IP--SLIP RFC 1055 IP IP--IPX RFC 1132 IP IP--SCSI RFC 2143 (Experimental) 24 Transmissão IP sobre redes Redes ponto a ponto TCP/IP TCP/IP ponto--a-ponto (PPP, SLIP, HDLC, ...) Redes ponto • As máquinas estão ligadas diretamente • Eventualmente não há endereço físico, físico, apenas a Estação A identificação da ligação Estação B 200.18.171.148 – Não há necessidade de mapeamento de endereço 200.18.171.37 HDLC, PPP, SLIP IP Rede = 200.18.171.0 25 26 Transmissão IP sobre redes Redes NBMA TCP/IP TCP/IP √ Redes pontoponto-a-ponto Servidor de Resolução de Endereços Redes de múltiplo acesso NBMA (Non(Non-Broadcast Multiple Access) • WANs (X.25, ATM, SNA, ...) Estação A Estação B • A rede possui uma estrutura própria de endereçamento endereçamento,, mas não possui facilidade de broadcast • Mapeamento entre o endereço físico e o endereço IP 200.18.171.148 200.18.171.37 – mapeamento direto – associação dinâmica por meio de servidores de resolução (Ex.: ATMARP servers utilizados em ATM) 27 ATM Rede = 200.18.171.0 IP 28 Transmissão IP sobre redes Redes de meio compartilhado TCP/IP √ Redes pontoponto-a-ponto √ Redes de múltiplo acesso (NBMA) Redes de Acesso por Difusão (BMA - Broadcast Multiple Access) Access) TCP/IP Estação A Estação B • LANs (Ethernet, Token Ring, ...) • A rede possui uma estrutura própria de endereçamento endereçamento,, e possui facilidade de broadcast • Mapeamento entre o endereço físico e o endereço IP 0D.0A.1F.45.13.01 1E.0B.56.45.13.01 200.18.171.37 – mapeamento direto – associação dinâmica por meio de servidores de resolução – uso da facilidade de broadcast Ethernet 200.18.171.148 Rede = 200.18.171.0 IP 29 30 TCP/IP e redes de meio compartilhado Protocolo ARP (Address Resolution Protocol) TCP/IP É possível um host descobrir o endereço físico de outro na mesma rede, sabendo apenas o endereço IP do mesmo ? para 200.18.171.3 200.18.171.1 200.18.171.3 TCP/IP ARP: permite o mapeamento de endereços IP em endereços físicos • Ethernet, TokenToken-Ring, FDDI, etc... ARP – RFC 826 Aplicação Transporte RARP – RFC 903 200.18.171.4 Inter--rede Inter UnARP – RFC 1868 Int. de adaptação Inverse ARP – RFC 2390 31 32 Intra--rede Intra ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) TCP/IP 200.18.171.1 OD.OA.12.07.48.05 TCP/IP Aplicação Aplicação Aplicação Aplicação TCP/UDP TCP/UDP TCP/UDP TCP/UDP IP IP 200.18.171.3 IP IP 200.18.171.3 Protocolos Sub--rede Sub Protocolos Sub--rede Sub 1F.6D.45.09.11.77 Protocolos Sub--rede Sub Protocolos Sub--rede Sub 1F.6D.45.09.11.77 200.18.171.1 OD.OA.12.07.48.05 200.18.171.4 200.18.171.4 33 34 ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) TCP/IP Aplicação TCP/UDP 200.18.171.1 OD.OA.12.07.48.05 IP destino = 200.18.171.3 Aplicação Aplicação Aplicação TCP/UDP TCP/UDP TCP/UDP IP IP 200.18.171.3 Protocolos Sub--rede Sub Protocolos Sub--rede Sub 1F.6D.45.09.11.77 IP IP 200.18.171.3 Protocolos Sub--rede Sub Protocolos Sub--rede Sub 1F.6D.45.09.11.77 200.18.171.4 TCP/IP 200.18.171.1 OD.OA.12.07.48.05 200.18.171.4 Destino está na mesma rede IP (200.18.171.0) Como enviar para esta máquina ? Qual o MAC Destino ? A mensagem fica esperando e o protocolo ARP é acionado. 35 36 ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) TCP/IP 200.18.171.1 OD.OA.12.07.48.05 TCP/IP Aplicação Aplicação Aplicação Aplicação TCP/UDP TCP/UDP TCP/UDP TCP/UDP IP IP 200.18.171.3 Protocolos Sub--rede Sub 1F.6D.45.09.11.77 IP Protocolos Sub--rede Sub ARP Req IP 200.18.171.3 Protocolos Sub--rede Sub 1F.6D.45.09.11.77 200.18.171.1 OD.OA.12.07.48.05 Protocolos Sub--rede Sub 200.18.171.4 Preâmbulo Destino Origem FF.FF.FF. FF.FF.FF 0D.0A.12. 07.48.05 Endereço de Broadcast 0x806 ARP Req 200.18.171.4 Dados (ARP Request) FCS Type = ARP 37 38 ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) TCP/IP 200.18.171.1 OD.OA.12.07.48.05 TCP/IP Aplicação Aplicação Aplicação Aplicação TCP/UDP TCP/UDP TCP/UDP TCP/UDP IP IP 200.18.171.3 IP IP 200.18.171.3 Protocolos Sub--rede Sub Protocolos Sub--rede Sub 1F.6D.45.09.11.77 Protocolos Sub--rede Sub Protocolos Sub--rede Sub 1F.6D.45.09.11.77 200.18.171.4 200.18.171.1 OD.OA.12.07.48.05 200.18.171.4 ARP Req ARP Req 39 40 ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) TCP/IP 200.18.171.1 OD.OA.12.07.48.05 TCP/IP Aplicação Aplicação Aplicação Aplicação TCP/UDP TCP/UDP TCP/UDP TCP/UDP IP IP 200.18.171.3 IP IP 200.18.171.3 Protocolos Sub--rede Sub Protocolos Sub--rede Sub 1F.6D.45.09.11.77 Protocolos Sub--rede Sub Protocolos Sub--rede Sub 1F.6D.45.09.11.77 200.18.171.1 OD.OA.12.07.48.05 200.18.171.4 200.18.171.4 ARP Req ARP Req 41 42 ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) TCP/IP 200.18.171.1 OD.OA.12.07.48.05 TCP/IP Aplicação Aplicação Aplicação Aplicação TCP/UDP TCP/UDP TCP/UDP TCP/UDP IP IP 200.18.171.3 IP IP 200.18.171.3 Protocolos Sub--rede Sub Protocolos Sub--rede Sub 1F.6D.45.09.11.77 Protocolos Sub--rede Sub Protocolos Sub--rede Sub 1F.6D.45.09.11.77 200.18.171.4 200.18.171.1 OD.OA.12.07.48.05 200.18.171.4 ARP Req ARP Req ARP Req A camada de Enlace passa para O ARP, que descarta o pacote pois não sabe responder à pergunta 43 44 ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) TCP/IP 200.18.171.1 OD.OA.12.07.48.05 TCP/IP Aplicação Aplicação Aplicação Aplicação TCP/UDP TCP/UDP TCP/UDP TCP/UDP IP IP Protocolos Protocolos Sub--rede Sub ARP Req Sub Sub--rede 200.18.171.3 1F.6D.45.09.11.77 200.18.171.1 OD.OA.12.07.48.05 IP IP 200.18.171.3 Protocolos Sub--rede Sub 1F.6D.45.09.11.77 ARP Req Protocolos Sub--rede Sub 200.18.171.4 200.18.171.4 45 46 ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) TCP/IP 200.18.171.1 OD.OA.12.07.48.05 TCP/IP Aplicação Aplicação Aplicação Aplicação TCP/UDP TCP/UDP TCP/UDP TCP/UDP IP IP 200.18.171.3 IP IP 200.18.171.3 Protocolos Sub--rede Sub 1F.6D.45.09.11.77 Protocolos Sub--rede Sub Protocolos Sub--rede Sub 1F.6D.45.09.11.77 Protocolos Sub--rede Sub ARP Reply 200.18.171.4 200.18.171.1 OD.OA.12.07.48.05 200.18.171.4 ARP Reply Preâmbulo Destino Origem 0D.0A.12. 07.48.05 1F.6D.45. 09.11.77 ARP Dados (ARP Reply) FCS Type = ARP 47 48 ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) TCP/IP 200.18.171.1 OD.OA.12.07.48.05 TCP/IP Aplicação Aplicação Aplicação Aplicação TCP/UDP TCP/UDP TCP/UDP TCP/UDP IP IP 200.18.171.3 IP IP 200.18.171.3 Protocolos Sub--rede Sub Protocolos Sub--rede Sub 1F.6D.45.09.11.77 Protocolos Sub--rede Sub Protocolos Sub--rede Sub 1F.6D.45.09.11.77 200.18.171.1 OD.OA.12.07.48.05 200.18.171.4 200.18.171.4 ARP Reply ARP Reply ARP Reply Esse quadro não chega a ser processado pelo ARP pois a camada MAC rejeita o quadro 49 50 ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) TCP/IP 200.18.171.1 OD.OA.12.07.48.05 TCP/IP Aplicação Aplicação Aplicação Aplicação TCP/UDP TCP/UDP TCP/UDP TCP/UDP IP IP 200.18.171.3 IP IP 200.18.171.3 Protocolos Sub--rede Sub Protocolos Sub--rede Sub 1F.6D.45.09.11.77 Protocolos Sub--rede Sub Protocolos Sub--rede Sub 1F.6D.45.09.11.77 200.18.171.1 ARP Reply OD.OA.12.07.48.05 200.18.171.4 200.18.171.4 51 52 ARP Reply ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) TCP/IP 200.18.171.1 OD.OA.12.07.48.05 TCP/IP Aplicação Aplicação Aplicação Aplicação TCP/UDP TCP/UDP TCP/UDP TCP/UDP IP IP 200.18.171.3 IP IP 200.18.171.3 Protocolos Sub--rede Sub Protocolos Sub--rede Sub 1F.6D.45.09.11.77 Protocolos Sub--rede Sub Protocolos Sub--rede Sub 1F.6D.45.09.11.77 200.18.171.1 OD.OA.12.07.48.05 200.18.171.4 Tabela ARP 200.18.171.3 200.18.171.4 Tabela ARP 200.18.171.1 1F.6D. 45.09.11.77 OD.OA.12.07.48.05 Note que … 53 54 ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) TCP/IP 200.18.171.1 OD.OA.12.07.48.05 TCP/IP Aplicação Aplicação Aplicação Aplicação TCP/UDP TCP/UDP TCP/UDP TCP/UDP IP IP 200.18.171.3 IP IP 200.18.171.3 Protocolos Sub--rede Sub Protocolos Sub--rede Sub 1F.6D.45.09.11.77 Protocolos Sub--rede Sub Protocolos Sub--rede Sub 1F.6D.45.09.11.77 200.18.171.4 Tabela ARP 200.18.171.1 Note que … 55 200.18.171.1 OD.OA.12.07.48.05 200.18.171.4 OD.OA.12.07.48.05 Finalmente aquele pacote IP pode ser transmitido carregando uma mensagem TCP que, por sua vez, carrega um comando da Aplicação 56 ARP (Address Resolution Protocol) Formato do quadro ARP TCP/IP Aplicação Aplicação TCP/UDP TCP/UDP IP IP 200.18.171.3 Protocolos Sub--rede Sub Protocolos Sub--rede Sub 1F.6D.45.09.11.77 200.18.171.1 OD.OA.12.07.48.05 TCP/IP 0 7 Octeto 1 15 Octeto 2 HARDWARE TYPE HLEN 23 Octeto 3 31 Octeto 4 PROTOCOL TYPE PLEN OPERATION SENDER HA (octets 00-3) 200.18.171.4 SENDER HA (octets 44-5) SENDER IP (octets 00-1) SENDER IP (octets 22-3) TARGET HA (octets 00-1) TARGET HA (octets 22-5) TARGET IP (octets 00-3) Preâmbulo 1F.6D.45. 09.11.77 0D.0A.12. 07.48.05 IP TCP Aplicação FCS 57 58 Formato do quadro ARP Formato do quadro ARP TCP/IP IP = 2048 AppleTalk = 32823 ... Ethernet = 1 Token Ring = 4 … HARDWARE TYPE PROTOCOL TYPE HLEN PLEN OPERATION SENDER HA SENDER HA SENDER IP SENDER IP TARGET HA TARGET HA TARGET IP OP = 1: OP = 2: OP = 3: OP = 4: OP = 8: OP = 9: TCP/IP ARP Request ARP Response RARP Request RARP Response Inverse ARP Request Inverse ARP Response 59 HARDWARE TYPE PROTOCOL TYPE HLEN PLEN OPERATION SENDER HA SENDER HA SENDER IP SENDER IP TARGET HA TARGET HA TARGET IP HLEN = Hardware Length PLEN = Protocol Length 60 Cache ARP ARP e Broadcast IP TCP/IP TCP/IP Aplicação Aplicação # IF Index End. Fis. End. IP TCP/UDP Tipo 200.18.171.1 1 2 OD.OA.12.07.48.05 IP destino = 200.18.171.255 TCP/UDP IP IP 200.18.171.3 Protocolos Sub--rede Sub Protocolos Sub--rede Sub 1F.6D.45.09.11.77 ... 200.18.171.4 Tipos: - valor com mapeamento dinâmico - valor com mapeamento estático - linha inválida (timeout do cache, conflito, …) Destino é broadcast • IP usa a facilidade de broadcast da intraintra-rede, sem precisar acionar o ARP 61 62 ARP e conflito de IP TCP/IP ARP pode ser usado também: • Durante boot: host testa se o seu endereço IP já está sendo Bacharelado em Informática Protocolos do Nível Disciplina: InterInter-Rede utilizado – Se algum host responder, o módulo IP não é iniciado com aquele endereço e um erro “Duplicate IP Address Found” é retornado • Periodicamente: host atualiza cache dos outros hosts (Gratuitous ARP) Protocolo IP e endereçamento Transmissão IP sobre redes – Servidores acessados freqüentemente Comando arp (Windows e Unix): • arp -a (Mostra a tabela ARP atual) • arp -d <IP> (Deleta um registro da tabela ARP) Roteamento IP Fragmentação e Remontagem Opções IP • arp -s <IP> <MAC> (Faz (Faz um mapeamento ARP estático) 63 Copyright 19991999-2008 by TeleMídia Lab. 64 Como decidir o caminho ? Next--hop routing Next TCP/IP O destino de um datagrama IP pode ser: • a própria estação transmissora • uma estação ligada à mesma rede do transmissor TCP/IP Como um host sabe para qual roteador enviar ? Como um roteador sabe alcançar o destino ? Hosts e roteadores possuem uma tabela de rotas • Tabela contém pares (Rede Destino, Próx. • uma estação ligada a uma outra rede Roteador) Roteamento pode ser feito: • sabendo a rota completa = pouco usado • conhecendo apenas o próximo roteador (next(next-hop routing) = como o IP normalmente funciona Roteadores indicados em “Próx Próx.. Roteador Roteador”” estão na mesma rede do detentor da tabela O datagrama IP carrega somente os endereços IP dos hosts de origem e destino Como isso pode funcionar ? 65 66 Next--hop routing Next Next--hop routing Next TCP/IP Aplicação em A quer enviar dados até B IP de A descobre que B não está na mesma rede IP de A verifica em sua tabela de rotas que que,, para alcançar B, deve usar o roteador 200.18.171.148 TCP/IP IP de A pede ao ARP para resolver endereço IP do roteador 200.18.171.148 • Resultado Resultado:: OD.OA.12.07.48.05 Preâmbulo 0D.0A.12. 07.48.05 ... 0800h 200.18. 171.37 200.18. 180.200 ... FCS IP destino = 200.18.180.200 Estação A Estação B Estação A Estação B Roteador Roteador OD.OA.12.07.48.05 .37 .148 .200 .10 200.18.171.0 200.18.180.0 67 .37 OD.OA.12.07.71.FF .148 .10 200.18.171.0 .200 200.18.180.0 68 Next--hop routing Next Next--hop routing Next TCP/IP TCP/IP Quadro encapsulando datagrama IP é enviado pela rede Roteador recebe um quadro endereçado fisicamente a ele... Estação A Estação A Estação B Estação B Roteador Roteador OD.OA.12.07.48.05 .37 OD.OA.12.07.71.FF .148 .10 200.18.171.0 OD.OA.12.07.48.05 .37 .200 OD.OA.12.07.71.FF .148 .10 200.18.171.0 200.18.180.0 .200 200.18.180.0 69 70 Next--hop routing Next Next--hop routing Next TCP/IP ... encapsulando um datagrama direcionado a B IP do roteador descobre que B está na mesma rede que uma de suas interfaces TCP/IP IP do roteador pede ao ARP para resolver endereço IP 200.18.180.200 • Resultado: OD.OA.12.07.71.FF Preâmbulo IP destino = 200.18.180.200 Estação A Estação B 0D.0A.12. 07.71.FF ... 0800h OD.OA.12.07.71.FF .10 200.18.171.0 .200 200.18.180.0 71 ... FCS Estação B Roteador OD.OA.12.07.48.05 .148 200.18. 180.200 Estação A Roteador .37 200.18. 171.37 OD.OA.12.07.48.05 .37 OD.OA.12.07.71.FF .148 .10 200.18.171.0 .200 200.18.180.0 72 Next--hop routing Next Next--hop routing Next TCP/IP TCP/IP Quadro encapsulando datagrama IP é enviado pela rede B recebe um quadro endereçado fisicamente a ele... Estação A Estação A Estação B Estação B Roteador Roteador OD.OA.12.07.48.05 .37 OD.OA.12.07.71.FF .148 .10 200.18.171.0 OD.OA.12.07.48.05 .37 .200 OD.OA.12.07.71.FF .148 .10 200.18.171.0 200.18.180.0 .200 200.18.180.0 73 74 Next--hop routing Next Atualização da tabela de rotas TCP/IP TCP/IP ... encapsulando um datagrama IP direcionado a ele também !!! Roteamento Estático IP de B passa datagrama para os níveis superiores Tabelas de rotas configuradas manualmente IP destino = 200.18.180.200 Estação A Estação B Roteador OD.OA.12.07.71.FF .148 .10 200.18.171.0 .200 Tabelas de rotas configuradas por meio de algum mecanismo automático • Protocolos de divulgação Não adaptativo Viável apenas em pequenas interinter-redes OD.OA.12.07.48.05 .37 Simples Roteamento Dinâmico de rotas (RIP, RIP2, OSPF, BGPBGP-4) Adaptativo Muito complexo 200.18.180.0 75 76 Propagação automática de rotas Exemplos de tabela de rotas TCP/IP TCP/IP 201.0.0.0 202.0.0.0 eth0 R Protocolos de Divulgação de Rotas .1 203.0.0.0 .2 eth1 R .3 R .4 .5 Tabela de Rotas Rotas:: Tabela de Rotas Internet Protocol 204.0.0.0 .6 Internet 202.0.0.0 203.0.0.0 201.0.0.0 204.0.0.0 eth0 eth1 202.0.0.2 203.0.0.5 default 203.0.0.5 77 78 Exemplos de tabelas de rotas (II) Exemplos de tabelas de rotas (II) TCP/IP 200.10.10.10 200.10.10.1 139.82.0.0 0.0.0.0 200.10.10.55 Interface 1 160.32.0.0 200.10.20.44 139.82.5.70 Interface 2 200.10.20.1 79 TCP/IP Rede Gateway Flags Interface 139.82.0.0 200.10.10.1 XXX 1 160.32.0.0 200.10.10.10 YYY 1 200.10.10.0 - ZZZ 1 200.10.20.0 - ZZZ 2 139.82.5.70 200.10.20.1 ZZZ 2 ... ... ... ... 0.0.0.0 200.10.10.1 YYY 1 Representação da rota específica Representação da rota default Prioridade de escolha escolha:: + rota específica rota para rede rota default 80 Tamanho dos datagramas IP Bacharelado em Informática Protocolos do Nível Disciplina: InterInter-Rede TCP/IP Caso ideal: • datagrama IP ≤ área máxima de dados dos quadros das diversas redes físicas – MTU - Maximum Transmission Unit Protocolo IP e endereçamento Existem vários tipos de redes com diferentes MTUs Transmissão IP sobre redes • FDDI = max 4470 bytes Roteamento IP • Ethernet = max 1500 / max 1492 (IEEE 802.3) Fragmentação e Remontagem • Token Token--Ring = max 2048 bytes Opções IP Como determinar um tamanho máximo ideal ? 81 82 Tamanho dos datagramas IP Fragmentação e Remontagem Copyright 19991999-2008 by TeleMídia Lab. TCP/IP TCP/IP Rede 4 MTU=1500 Módulo IP em cada host escolhe um tamanho máximo “conveniente” para seus datagramas • Datagramas precisam ser fragmentados caso a MTU de alguma rede intermediária seja menor que o tamanho inicial usado pelo host de origem G3 G4 Rede 1 MTU=1500 Rede 3 MTU=1500 G1 83 Rede 2 MTU=500 84 G2 Fragmentação e Remontagem Fragmentação e Remontagem TCP/IP TCP/IP Rede 4 MTU=1500 G3 Rede 4 MTU=1500 G4 G3 Rede 1 MTU=1500 Rede 3 MTU=1500 G1 Rede 2 MTU=500 G2 G4 Rede 1 MTU=1500 3 2 Rede 3 MTU=1500 1 Rede 2 MTU=500 G1 G2 85 86 Tamanho dos datagramas IP Fragmentação e Remontagem TCP/IP TCP/IP Rede 4 MTU=1500 Módulo IP em cada host escolhe um tamanho máximo “conveniente” para seus datagramas • Datagramas precisam ser fragmentados caso a MTU de alguma rede intermediária seja menor que o tamanho inicial usado pelo host de origem Fragmentos precisam de campos que permitam seu roteamento G3 Rede 1 MTU=1500 3 Rede 3 MTU=1500 2 Rede 2 MTU=500 G1 1 87 G4 88 G2 Fragmentação e Remontagem Fragmentação e Remontagem TCP/IP TCP/IP Rede 4 MTU=1500 G3 Rede 4 MTU=1500 G4 G3 G4 2 Rede 1 MTU=1500 Rede 3 MTU=1500 3 Rede 2 MTU=500 G1 Rede 1 MTU=1500 G2 Rede 3 MTU=1500 Rede 2 MTU=500 G1 G2 1 1 2 3 89 90 Considerações sobre fragmentação e remontagem Fragmentação e Remontagem TCP/IP TCP/IP Rede 4 MTU=1500 Fragmentos só são remontados no destino • Fragmentos podem ter percorrido caminhos diferentes 2 1 G3 G4 Rede 1 MTU=1500 Rede 3 MTU=1500 G1 Rede 2 MTU=500 G2 3 91 92 Fragmentação e Remontagem Fragmentação e Remontagem TCP/IP TCP/IP Rede 4 MTU=1500 Rede 4 MTU=1500 2 1 G3 3 G4 G3 1 G4 2 Rede 1 MTU=1500 Rede 3 MTU=1500 G1 Rede 2 MTU=500 G2 Rede 1 MTU=1500 Rede 3 MTU=1500 G1 3 Rede 2 MTU=500 G2 93 94 Fragmentação e Remontagem Fragmentação e Remontagem TCP/IP TCP/IP Rede 4 MTU=1500 Rede 4 MTU=1500 2 G3 3 G3 Rede 3 MTU=1500 Rede 2 MTU=500 95 3 G4 Rede 1 MTU=1500 G1 1 G2 2 G4 Rede 1 MTU=1500 Rede 3 MTU=1500 G1 Rede 2 MTU=500 96 G2 1 Fragmentação e Remontagem Considerações sobre fragmentação e remontagem TCP/IP Rede 4 MTU=1500 G3 Pode ocorrer fragmentação já no host de origem se o protocolo de nível superior requisitar de uma única vez o envio de grande quantidade de dados • Porém, há mecanismos nos níveis superiores que G4 Rede 1 MTU=1500 permitem a seus protocolos aprender a MTU local Rede 3 MTU=1500 Rede 2 MTU=500 G1 TCP/IP Temporizador controla a remontagem no destino • O datagrama inteiro é descartado se algum fragmento não chegar a tempo G2 97 98 Campo FLAGS do datagrama IP Exemplo de fragmentação TCP/IP VERS HLEN SERVICE TYPE IDENTIFICATION TIME TO LIVE TOTAL LENGTH FLAGS PROTOCOL FRAGMENT OFFSET HEADER CHECKSUM SOURCE IP ADDRESS DESTINATION IP ADDRESS IP OPTIONS (IF ANY) PADDING DATA ... Identificador da Mensagem (não do datagrama datagrama)) 13 bits Múltiplos de 8 octetos TOTAL LENGTH informa tamanho do fragmento. fragmento. Só último fragmento determina tamanho do datagrama original, (através de TOTAL LEN e FRAGMENT OFFSET). NU DNF MF More Fragments Bit Do Not Fragment Bit (datagrama descartado e erro enviado para origem) origem) TCP/IP A quer transmitir datagrama de 4000 octetos de dados para B Quantos fragmentos serão gerados na Rede 2 ? A B Tam. datagrama = 4020 Rede 1 MTU=4500 Rede 3 MTU=800 Rede 2 MTU=1500 Não utilizado 99 100 4 5 63784 20 OCTETOS 8 Fragmentação e Remontagem 4020 00000000 0 000 UDP TCP/IP 01F5 Múltiplos de 8 octetos 139.82.17.20 206.12.56.23 Fragmento 1 4 5 63784 8 UDP Fragmento 2 1500 00000000 0 00 001 1 0756 4 5 1500 00000000 63784 8 1480 DVB9834H4K432BVIVV FVNEOFVHNOEF9345F 342589J3948302FJJFV 4000 OCTETOS UDP 185 001 00 1 0FD0 2960 Generalidade: Confiabilidade: • se algum fragmento é tamanho variado UDP 370 000 perdido o datagrama deve ser retransmitido integralmente Eficiência: 1060 00000000 63784 8 Desvantagens • Permite datagramas de Fragmento 3 4 5 Vantagens 4AFF 139.82.17.20 139.82.17.20 139.82.17.20 206.12.56.23 206.12.56.23 206.12.56.23 Primeiros 1480 octetos Próximos 1480 octetos Últimos 1040 octetos • Fragmentos são roteados Eficiência: independentemente • Datagramas só são – Possibilidade de rotas alternativas remontados no destino – Aumento do número de pacotes circulando pelas redes 102