Computadores (e equipamentos) em Rede TCP/IP Instrumentação Eletrônica - TE460 Prof. Eduardo Parente Ribeiro Classificação - Distância Distância 1m 10 m 100 m 1 Km 10 Km 100 Km 1.000 Km 10.000 Km Ambiente Sistema Sala Prédio Campus Cidade País Continente Planeta Exemplo Multiprocessador LAN (Rede Local) LAN (Rede Local) LAN (Rede Local) MAN (Rede Metropolitana) WAN (Rede geograficamente distribuída) WAN (Rede geograficamente distribuída) Internet (Rede mundial) Outros: CAN (Control Area Network) Classificação - Topologia anel barramento estrela malha Protocolos • Regras para a comunicação Modelo em Camadas (layers) • Hierarquia de protocolos • Reduzir complexidade • Independencia entre as camadas (encapsulamento) • Comunicação vertical x horizontal (peers) • Conjunto = pilha (stack) Exemplo dos 2 filósofos Modelo OSI - 7 camadas TCP/IP x OSI Modelo OSI Camada 1 - Física • Transmitir dados, definindo as especificações elétricas sobre o meio físico • Meios físicos: Cobre, Fibra ótica, ar. • Tipos de Cabos: UTP (unshielded twisted pair), STP (shielded twisted pair), coaxial (thin, thick), Fibra ótica (monomodo, multimodo) • Equipamentos: Repetidores, Hubs. Camada 2 - Enlace • • • • • • Acesso ao meio. Notificação/correção de erros, Controle de fluxo. Delimitação por quadro. Endereço físico. Equipamentos: Placas de Rede (NIC’s), Pontes, Switches. OSI x IEEE Ethernet Token Bus Token Ring DQDB Controle de Acesso ao Meio (MAC) • Necessário em Redes de Difusão • Alocação estática: – TDMA, FDMA, CDMA, WDMA • Alocação dinâmica: – CSMA/CD, ALOHA, MACA, Token Passing... Formato do Quadro Pontes (Bridges) • Dispositivo que conecta duas redes locais • Opera na camada 2 e só retransmite o tráfego apropriado a cada segmento. • Estática x Dinâmica (transparente) Switches • Segmenta a LAN em pequenas VLAN’s para melhorar desempenho e segurança • Modos de Operação: – – – – Store and Forward: Recebe todo o pacote antes de transmitir Fast Forward: Pacote transmitido logo que é identificado Fragment Free: recebe pelo menos 512 bits para transmitir Inteligent: operação de acordo com a quantidade de erros • Controle de Fluxo (IEEE 802.3x): mecanismo de controle de congestinamento • Trafego com Prioridade (IEEE 802.1p) • LAN Virtual (IEEE 802.1Q) • Fabricantes: 3com, Cisco, Extreme, Cabletron, Foundry, Lucent, Ericsson, Newbridge, Nortel Switch Caminho dedicado Topologia FÍSICA ELÉTRICA Coaxial barramento barramento Hub estrela barramento Switch estrela estrela Token ring estrela/anel anel Token bus estrela/ barramento barramento Camada 3 - Rede • Permite a interligação de redes • Encaminha o pacote ao destino (melhor rota ou caminho alternativo) • Endereço lógico • Equipamentos: Roteadores. Camada 4 - Transporte • Responsável pela troca de dados fim a fim de modo confiável. • Sequenciação • Controle de Fluxo • Correção de Erro • Multiplexação Camada 5 - Sessão • Organiza e sincroniza os diálogos • Pontos de sincronização/verificação • Exemplos de protocolos: NFS, RPC, SQL, X Camada 6 - Apresentação • Permite a comunicação entre os aplicativos em diversos sistemas de computador, de uma forma transparente. • Formato de representação (ASCII, EBCDIC; JPG, TIF) • Compactação • Criptografia Camada 7 - Aplicação • • • • • Aplicação propriamente dita Correio Eletrônico Web Telnet/FTP DNS (domain name system) O Protocolo IP Voz Telefone Circuito Físico ou virtual Dados Telegrama Datagrama Característica • Entrega sem conexão (conectioless Delivery) • Entrega Não Confiável (Non reliable delivery) • Entrega com melhor esforço (Best Effort Delivery) IP visto da camada de Transporte • Independência e Isolamento da tecnologia da subrede, numeração, topologia • Endereçamento uniforme Encapsulamento dos Dados APLICAÇÃO TRANSPORTE Dados de Aplicação Segmentos TCP ou Dados Dados Datagramas UDP ROTEAMENTO ENLACE Datagramas IP Quadros (frames) Dados Dados Pacote de dados HARDWARE Bits Dados codificados Endereçamento • 32 bits = 4 bytes Host 10.0.69.15 Host 10.0.69.16 Host 10.0.69.17 quatro campos sequenciais de números decimais inteiros separados por pontos (.) Host 10.0.69.18 Composição do Endereço IP ENDEREÇO IP COMPLETO NETID Endereço da Rede HOST ID Endereço da Máquina Analogia Endereço de Host 78 82 94 Rua Tupinambás 98 Endereço de rede Classes 01234 Classe A 0 Classe B 1 0 Classe C 1 1 0 Classe D 1 1 1 0 Classe E 1 1 1 1 0 8 16 24 32 Endereços Especiais 11111111.11111111.11111111.11111111 00000000. 00000000. 00000000. 00000000 Broadcast limitado Broadcast limitado NETID HOST ID = Tudo em “um” Broadcast direto na rede NETID HOST ID = Tudo em “zero” Endereço da rede dada por NETID NETID = Tudo em “zero” HOST ID 127.X.X.X (por ex.: 127.0.0.1) Emitente na mesma rede Interface para loopback As Classes e os Endereços IP possíveis Classe Endereços válidos Amplitude A 1.0.0.1 a 126.255.255.254 27 - 2 redes com 224 - 2 hosts/rede B 128.0.0.1 a 191.255.255.254 214 redes com 216 - 2 hosts/rede C 192.0.0.1 a 223.255.255.254 221 redes com 28 - 2 hosts/rede Sub-redes •É conveniente dividir uma rede em sub-redes para minimizar os problemas de trafego, colisão, de segurança e disponibilidade Máscara de Sub-Rede Endereço IP HOST ID NETID Endereço do Host Endereço da Rede NETID SUBNET Endereço da Sub-rede HOST ID Máscara de Sub-rede Rede 200.18.178.0 com máscara de sub-rede 255.255.255.224 Endereços Possíveis de Sub-Redes 11001000.00010010.10110010. 11001000.00010010.10110010. 11001000.00010010.10110010. 11001000.00010010.10110010. 11001000.00010010.10110010. 11001000.00010010.10110010. 11001000.00010010.10110010. 11001000.00010010.10110010. 000 001 010 011 100 101 110 111 Variamos os 3 bits emprestados de HOSTID 00000 00000 00000 00000 00000 00000 00000 00000 Máscara de Sub-rede Rede 200.18.178.0 com máscara de sub-rede 255.255.255.224 Endereços possíveis de Hosts por sub-rede Endereços de Sub-Redes 200.18.178.0 200.18.178.32 200.18.178.64 200.18.178.96 200.18.178.128 200.18.178.160 200.18.178.192 200.18.178.224 Endereços possíveis de Hosts em cada sub-rede de 200.18.178.1 até 200.18.178.30 de 200.18.178.33 até 200.18.178.62 de 200.18.178.65 até 200.18.178.94 de 200.18.178.97 até 200.18.178.126 de 200.18.178.129 até 200.18.178.158 de 200.18.178.161 até 200.18.178.190 de 200.18.178.193 até 200.18.178.222 de 200.18.178.225 até 200.18.178.254 CIDR (Classless Interdomain Routing) • Amenizar o problema de esgotamento dos endereços IP • Conceito de Supernet • RFC 1519 - Partição em 4 zonas 194.0.0.0 a 195.255.255.255 198.0.0.0 a 199.255.255.255 200.0.0.0 a 201.255.255.255 202.0.0.0 a 203.255.255.255 Europa América do Norte América do Sul e Central Asia e Pacífico Endereços Privados RFC 1918, "Address Allocation for Private Internets", fevereiro de 1996. 10.0.0.0 - 10.255.255.255 (prefixo 10/8) 172.16.0.0 - 172.31.255.255 (prefixo 172.16/12) 192.168.0.0 - 192.168.255.255 (prefixo 192.168/16) O endereço Lógico • o endereço IP é o endereço lógico de uma rede TCP/IP • ele é programado na máquina, quando esta é ligada em rede. • O endereço IP depende do local dentro da rede onde a máquina está instalada (segmento da rede ao qual ele pertence) • existe uma tabela que relaciona o endereço IP com o endereço MAC O endereço Físico •Numa rede Ethernet o endereço usado pela camada de enlace (endereço físico) chama-se Endereço MAC (Media Access Control) e vem gravado no Hardware do dispositivo de rede •é um endereço de 48 bits representado em notação hexadecimal pontuada. •Exemplo: 08:00:20:0A:8C:6D •são atribuídos pelo IEEE e não se repetem nunca •os três primeiros bytes correspondem ao código do fabricante Endereço em cada camada APLICAÇÃO Dados TRANSPORTE Dados ROTEAMENTO Endereço lógico Dados ENLACE Endereço físico Dados HARDWARE Dados codificados Mensagem TCP/IP no Nível de Enlace em uma Rede Ethernet IP: 10.0.69.16 IP: 10.0.69.15 MAC: 08:00:20:00:96:21 MAC: 08:00:20:00:57:41 Tipo de Protocolo 08:00:20:00:57.41 08:00:20:00:96:21 IP 10.0.69.16 10.0.69.15 MAC Destino MAC Origem IP IP destino origem Dados CRC Resolução de Endereços ARP - Address Resolution Protocol •em cada máquina existe uma tabela que possui a relação entre o endereço MAC e o Endereço IP correspondente (Tabela ARP) •Quando um endereço IP não se encontra na tabela, a máquina manda um broadcast para saber quem tem aquele endereço IP •Comando para listar a tabela: arp -a O Datagrama IP 0 4 Versão Hlen 8 16 Tipo de Serviço 31 Tamanho Total (octetos) Identificação TTL - Time to live. 24 Flags Protocolo Deslocamento do fragmento Checksum do cabeçalho Endereço IP ORIGEM Endereço IP DESTINO Opções IP (se alguma) Dados ... Roteamento dos Pacotes 200.17.100.1 200.17.100.3 200.17.150.4 Router Como mandar este pacote para 200.17.150.4 ? Roteamento na camada IP APLICAÇÃO TRANSPORTE APLICAÇÃO TCP TRANSPORTE IP ROTEAMENTO ENLACE HARDWARE ROTEAMENTO ENLACE HARDWARE ROTEAMENTO ENLACE HARDWARE Tipos de Roteamento • Estático - A tabela de roteamento é configurada de forma manual pelo operador • Dinâmico - A tabela é dinâmicamente configurada, com informações trocadas entre os Roteadores Comparação • Estático - mais simples, suficiente para a maioria dos casos, porem se a tabela de rotas é muito complexa torna-se de dificil manutenção • Dinâmico - mais complexo, indicado para roteadores fazendo a interconexão de diversas redes O Protocolo TCP • TCP: Transmission Control Protocol • Serviço de transporte oferecido à camada de aplicação • Com conexão, entrega confiável, bidirecional TCP • Confirmação positiva • Retransmissão de pacotes com erro • Ordenação dos pacotes Transmissor Receptor Envia pacote 1 Recebe pacote 1 Recebe confirmação 1 Envia confirmação 1 Envia pacote 2 Recebe pacote 2 Recebe pacote 2 Envia confirmação 2 Janela Deslizante Transmissor Receptor Envia pacote 1 Recebe pacote 1 Envia confirmação 1 Envia pacote 2 Envia pacote 3 Recebe confirmação 1 Recebe pacote 2 Envia confirmação 2 Recebe confirmação 2 Recebe pacote 3 Envia confirmação 3 Recebe confirmação 3 1 2 3 4 5 6 7 8 9 10 O tamanho variável permite um aproveitamento melhor da banda e ao mesmo tempo é responsável pelo controle de fluxo Início da conexão • Sincronização entre as duas pontas para o início da troca de dados • Acordo em 3 etapas (3-way hand-shake) • Evita que pacotes duplicados antigos provoquem uma falsa conexão. Acordo em 3 etapas Envia SYN, seq=123 Recebe SYN Envia SYN, seq=456, ACK 124 Recebe SYN+ACK Envia seq=124, ACK 457 Recebe ACK, Conexão extabelecida Dados já podem vir neste pacote, porem só são processados após estabelecida a conexão Fechamento da conexão • 3 etapas modificado • Fechamento da comunicação bidirecional Fechamento TCP Envia FIN, seq=567 Recebe FIN Envia ACK 568 Recebe ACK (aplicação fecha a conexão) Envia FIN seq=789, ACK 568 Recebe FIN+ACK Envia ACK 569 Recebe ACK Demultiplexação Porta 1 Porta 2 Porta 3 Porta 4 TCP: Demultiplexação baseada na porta Chega um segmento TCP Camada IP Demultiplexação (na camada IP) TCP UDP ICMP IGMP IP: Demultiplexação baseada no protocolo Chega um datagrama IP Camada de Enlace Demultiplexação (na camada de Enlace) IP ARP RARP Enlace: Demultiplexação baseada no tipo de quadro Chega um Quadro Camada Física Portas TCP Porta 7 9 11 13 20 21 23 25 53 80 110 Nome echo discard systat daytime ftp-data ftp telnet smtp nameserver http pop Descrição Eco Discarta Usuátios ativos Hora do dia ftp – dados Transferência de arquivo Conexão de terminal Correio eletrônico Servidor de nomes protocolo hypertexto (www) Protocolo de correio Segmento TCP 0 4 10 16 24 Porta origem Porta Destino Número da sequência Número de confirmação Tam. Cab. Reservado Código Janela Checksum Ponteiro Urgente Opções Dados ... 31 Código URG urgente ACK Confirmação PSH Empurra RST Reseta SYN Início, sincronismo FIN Finaliza Ponto de Conexão • A conexão é identificada por um par de “pontos terminais” (endpoints) • Cada ponto de conexão é definido por um par (endereço IP, porta) • Por exemplo, uma conexão é unicamente identificada por: {(200.28.20.1, 1038), (200.35.39.3, 23)} Interface Soquete • É a forma de comunicação com a aplicação fornecida pelo sistema operacional • Ex. socket (unix), Winsock (windows) • Prove uma abstração semelhante a utilização de arquivos: ex. open(), read(), write(), close(), com controles adicionais O Protocolo UDP • • • • User Datagram Protocol Entrega de Dados não confiável Sem Conexão Ex. de aplicações: Streaming Audio, DNS, NFS, TFTP Datagrama UDP 0 4 10 16 Porta origem 24 Porta Destino Tamanho da mensagem Checksum Dados ... 31 Padronizações – IETF • RFC’s - Request for Coments • Drafts • FYI - For your Information http://www.ietf.org http://www.ietf.rnp.br Recomendações Internacionais • • • • ITU - International Telecomunications Union ITU-R (Radiocomunications) ITU-T (Telecomunications) (CCITT até 93) ITU-D (Development) Padronizações Internacionais • ISO - International Standards Organization membros (ANSI, BSI, DIN, ABNT, ...) • IEEE - Institute of Electrical and Eletronics Engineering • Internet Society, IAB (Internet Advisory Board), IETF (Internet Engineering Task Force), IRTF (Internet Research Task Force)