Gil Pinheiro –UERJ/FEN/DETEL Introdução ao Protocolo TCP/IP Gil Pinheiro UERJ-FEN-DETEL Gil Pinheiro –UERJ/FEN/DETEL Introdução ao Protocolo TCP/IP • • • • • • Protocolo Inter Redes Histórico Estrutura do Protocolo TCP/IP Equipamentos de Interconexão Endereçamento na Rede TCP/IP Serviços da Rede TCP/IP Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 2 Gil Pinheiro –UERJ/FEN/DETEL Protocolo Inter Redes • Contexto: Várias redes locais distribuídas geograficamente e isoladas entre si • Problema: Interligar e integrar as redes locais • Cada rede local deve suportar diversos protocolos • Exemplos: vários departamentos e unidades de uma empresa, vários campi de uma universidade, vários servidores da Internet Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 3 Protocolo Inter Redes Rede 3 ? Gil Pinheiro –UERJ/FEN/DETEL Rede 1 Rede 2 Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 4 Protocolo Inter Redes R R Gil Pinheiro –UERJ/FEN/DETEL Rede 1 Rede 3 R Rede 2 Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 5 Gil Pinheiro –UERJ/FEN/DETEL Protocolo Inter Redes • Cada usuário enxerga as redes interligadas como uma única rede • Os elementos de ligação entre as redes chamam-se roteadores • Cada roteador deve conhecer a estrutura das redes interligadas • Cada estação é um nó independente da rede Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 6 Gil Pinheiro –UERJ/FEN/DETEL Tipos de Comunicação entre Estações • Unicast – transmissão direta entre duas estações • Multicast - transmissão para um grupo restrito de estações • Broadcast - transmissão para todas as estações de uma rede Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 7 Gil Pinheiro –UERJ/FEN/DETEL Histórico do Protocolo TCP/IP • Surgiu com a rede ARPA-NET • Objetivo estratégico militar (desenvolver uma rede de alta confiabilidade, que pudesse operar mesmo num contexto catastrófico) • O TCP/IP começou a partir do protocolo IP ao qual foram sendo agregados outros protocolos (UDP, TCP FTP, TELNET, SMTP, ...) e serviços Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 8 Histórico do Protocolo TCP/IP Gil Pinheiro –UERJ/FEN/DETEL Um dos primeiros desenhos da rede ARPANet, e que posteriormente originou a Internet Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 9 Camadas do TCP/IP ISO/OSI Aplicação Apresentação Aplicação Gil Pinheiro –UERJ/FEN/DETEL Sessão TCP/IP Transporte Rede Transporte Inter-redes (Internet - IP) Enlace Físico Intra-rede (Host to Host) Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação Suporte a diversos tipos de rede (anel, barramentos,10etc) O TCP/IP pode ser usado com diversos tipos de redes Gil Pinheiro –UERJ/FEN/DETEL • Camadas Física / Enlace – – – – – – IEEE 802.3 (Ethernet – 10 Mbps) IEEE 802.3u (Fast Ethernet – 100 Mbps) IEEE 802.3z (Gigabit Ethernet – 1 Gbps) IEEE 802.4 (Token Bus) IEEE 802.5 (Token Ring) Serial (EIA-232 / 485): usando os protocolos SLIP, CSLIP e PPP Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 11 Estrutura de Protocolos TCP/IP Camada (Modelo OSI) FTP Protocolos TELNET SMTP HTTP TCP SNMP UDP Redes Gil Pinheiro –UERJ/FEN/DETEL IP ETHERNET Rev. 01/10/2011 TOKEN-BUS ...... Aplicação Transporte Rede TOKEN-RING GIL PINHEIRO - Redes de Comunicação Físico + Enlace 12 Gil Pinheiro –UERJ/FEN/DETEL Alguns protocolos TCP/IP • • • • • • • • IP = Internet Protocol UDP = User Datagram Protocol TCP = Transport Control Protocol FTP = File Transfer Protocol HTTP = Hypertext Transport Protocol SNMP = Simple Network Management Protocol SMTP = Simple Mail Transfer Protocol TELNET = emulação de terminal Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 13 Estruturas de Informação Gil Pinheiro –UERJ/FEN/DETEL • • • • Camada 1 Seqüência de bits / sinal Camada 2 Quadro Camada 3 (Protocolo IP ) Datagrama IP Camada 4 – Protocolo UDP Datagrama UDP – Protocolo TCP Segmento TCP Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 14 Protocolo IP Gil Pinheiro –UERJ/FEN/DETEL • É o protocolo básico de toda a estrutura do TCP/IP (é utilizado pelos outros protocolos do TCP/IP) • Fornece um envio não confiável de mensagens (usando datagramas IP) entre estações da rede • A confiabilidade, se necessária, deverá ser provida pelas camadas superiores da rede. Ex.: TCP Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 15 Formato do Datagrama IP 4 bytes Cabeçalho Version IHL Type of service Total length D M F F Identification Time to live Protocol Fragment Offset Header checksum Fixo (20 bytes) IP Source Address IP Destination Address Gil Pinheiro –UERJ/FEN/DETEL Options (if any) Variável (0 a 40 bytes) Data Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 16 Formato do Datagrama IP • • • • • Gil Pinheiro –UERJ/FEN/DETEL • Version - versão do datagrama IHL - tamanho do cabeçalho em palavras de 32 bits (de 20 a 60 bytes) Type of service - host informa a sub-rede o tipo de serviço, existem combinações de maior velocidade ou confiabilidade. Permite o roteador selecionar entre uma conexão com alta velocidade mas com alto retardo (satélite) ou uma linha privativa (baixa velocidade e baixo retardo) Ex.: FTP - confiabilidade, Voz - rapidez Total length - incluindo cabeçalho e dados Identification - permite identificar datagrama fragmentado. Todos os fragmentos de um mesmo datagrama possuem mesma identificação DF (Bit) - Don’t Fragment, informa aos rotadores não fragmentar. CPU destino não possui capacidade de desfragmentar. Útil para pacotes de boot remoto (carga da memória de uma estação e rede). Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 17 Formato do Datagrama IP • • • Gil Pinheiro –UERJ/FEN/DETEL • • • • • MF (Bit) - More Fragments, todos os fragmentos de um datagrama exceto o último tem esse bit igual a 1, permite saber se todos os fragmentos chegaram. Fragment Offset - número de sequência de um datagrama. Permite saber a ordem dos fragmentos de um datagrama para a remontagem. Time to live - contador usado para limitar tempo de vida de um datagrama. Permite vida máxima de 255 segundos ou 255 hops, evita que datagramas fiquem vagando em caso de falha nas tabelas de roteamento. Protocol - permite identificar o protocolo utilizado, ex.: TCP, UDP Header checksum – seqüência de verificação do cabeçalho apenas, para detectar erros. É calculado a cada hop, pois o Time to live se altera neste caso. Source address – endereço de rede e do host de origem Destination address - endereço de rede e do host de destino Options - campo preenchido com informações experimentais Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 18 Gil Pinheiro –UERJ/FEN/DETEL Endereço IP • Composto de: endereço de rede + endereço do host • Cada nó da rede (host ou roteador) possui um endereço IP • Hosts da mesma rede possuem mesmo endereço de rede • Tamanho de 32 bits (4 bytes) – IP v.4 • Representação “Dotted decimal notation” - Ex.: 164.85.238.26 (A455EE1A hexadecimal) • Os endereços IP são controlados mundialmente pelo NIC (Network Information Center) Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 19 Classes de Endereço IP Gil Pinheiro –UERJ/FEN/DETEL • Os endereços IP são de 5 classes • Classes A, B e C - permitem respectivamente até 126 redes com 16 milhões de hosts, até 16.382 redes com 65536 hosts, até 2 milhões de redes com 254 hosts • Classe D - para multicast, endereçamento de grupos de hosts • Classe E - para uso futuro Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 20 Formatos de Endereço IP 32 bits Endereços de host Gil Pinheiro –UERJ/FEN/DETEL Classe A 0 B 1 0 C 1 1 0 D 1 1 1 0 E 1 1 1 1 0 Rede Rev. 01/10/2011 1.0.0.0 a 127.255.255.255 Host Rede 128.0.0.0 a 191.255.255.255 Host Rede Host 192.0.0.0 a 223.255.255.255 Endereço para Multicast 224.0.0.0 a 239.255.255.255 Reservado para uso futuro 240.0.0.0 a 247.255.255.255 GIL PINHEIRO - Redes de Comunicação 21 Endereços IP Especiais • • • • 0.0.0.0 - host local, endereço de inicialização 255.255.255.255 - difusão na rede local 127.x.x.x - loopback host local Um host desta rede 0 0 0 0 ... 0 0 Host Gil Pinheiro –UERJ/FEN/DETEL • Difusão em uma rede remota Rede Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 1111 ........ 11 22 Rede Classe A Gil Pinheiro –UERJ/FEN/DETEL • Primeiro byte: 0 a 127 • Máscara de rede máxima: 255.0.0.0 • Pode conter até 224 - 2 estações Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 23 Rede Classe A Host 10.25.11.2 Gil Pinheiro –UERJ/FEN/DETEL Rede 10 Host 10.25.11.3 Host 10.25.11.1 Rev. 01/10/2011 Host 10.25.11.4 GIL PINHEIRO - Redes de Comunicação 24 Rede Classe B Gil Pinheiro –UERJ/FEN/DETEL • Primeiro byte: 128 a 191 • Máscara de rede máxima: 255.255.0.0 • Pode conter até 216 - 2 estações Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 25 Rede Classe B Host 140.20.1.2 Gil Pinheiro –UERJ/FEN/DETEL Rede 140.20 Host 140.20.32.3 Host 140.20.10.3 Rev. 01/10/2011 Host 140.20.15.10 GIL PINHEIRO - Redes de Comunicação 26 Rede Classe C Gil Pinheiro –UERJ/FEN/DETEL • Primeiro byte: 192 a 223 • Máscara de rede máxima: 255.255.255.0 • Pode conter até 28 - 2 estações Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 27 Rede Classe C 220.10.5.21/24 Gil Pinheiro –UERJ/FEN/DETEL Rede 220.10.4 220.10.4.13/24 220.10.4.11/24 Rev. 01/10/2011 220.10.5.4/24 GIL PINHEIRO - Redes de Comunicação 28 Gil Pinheiro –UERJ/FEN/DETEL Protocolo UDP • Serviço não confiável de envio de dados • Utiliza o protocolo IP (é uma extensão deste) • Sem conexão • Características: entrega de pacotes desordenados, não elimina pacotes repetidos, controle de fluxo e pode haver perdas de pacotes Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 29 Gil Pinheiro –UERJ/FEN/DETEL Funcionamento do UDP • Recebe requisição da camada superior e entrega à camada IP • Cada operação de saída gera um único datagrama UDP, que será encapsulado num datagrama IP • Na estação receptora, a camada UDP recebe o datagrama IP, envia os dados à camada UDP, que repassa-os à camada superior Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 30 Encapsulamento do Datagrama UDP Datagrama IP Gil Pinheiro –UERJ/FEN/DETEL Datagrama UDP IP Header UDP Header 20 bytes 8 bytes Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação UDP Data 31 Formato do Datagrama UDP 4 bytes Cabeçalho UDP Source Port UDP Destination Port UDP Message Length UDP Checksum Fixo (8 bytes) Gil Pinheiro –UERJ/FEN/DETEL Data Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 32 Protocolo TCP Gil Pinheiro –UERJ/FEN/DETEL • • • • Serviço confiável de envio de dados fim-a-fim Utiliza o protocolo IP (não confiável) Utiliza circuito virtual Informações de camadas superiores são segmentadas • Características: entrega de pacotes em seqüência, elimina pacotes repetidos, controle de fluxo e controle de erros Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 33 Funcionamento do TCP • Etapas: Gil Pinheiro –UERJ/FEN/DETEL – Estabelecimento da conexão – Envio dos dados (com seqüenciamento, correção de erros, eliminação de duplicatas e controle de fluxo) – Encerramento da conexão • Modo Full-Duplex • Método de envio do tipo de janela deslizante • Usa algoritmo three-way handshake na fase de estabelecimento da conexão Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 34 Encapsulamento do Segmento TCP Datagrama IP Gil Pinheiro –UERJ/FEN/DETEL Segmento TCP IP Header TCP Header 20 bytes 20 bytes Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação TCP Data 35 Formato do Segmento TCP 4 bytes Cabeçalho TCP Source Port TCP Destination Port Sequence Number Acknowledgement Number HLEN RESERVED Code Bits WINDOW URGENT POINTER CHECKSUM PADDING Options (if any) Gil Pinheiro –UERJ/FEN/DETEL Fixo (20 bytes) Variável (0 a 40 bytes) Data (if any) Code Bits: URG,GILACK, PSH, SYN, FIN PINHEIRO - RedesRST, de Rev. 01/10/2011 Comunicação 36 Gil Pinheiro –UERJ/FEN/DETEL Equipamentos de Interconexão • • • • • Repetidor (Hub) Camada 1 Ponte (Bridge) Camada 2 Comutador (Switch) Camada 2 Roteador (Router) Camada 3 Gateway Camada 6 Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 37 Gil Pinheiro –UERJ/FEN/DETEL Repetidores / Hubs • Dispositivo de camada 1 • Repetidor amplia o sinal, permitindo aumentar o segmento da rede • Propaga todo o sinal do segmento (sinal e ruído) mesmo domínio de colisão • Podem ser conversores de meio físico (fibra ótica / cabo elétrico) • Hub Repetidor multiporta Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 38 Rede com Hub Gil Pinheiro –UERJ/FEN/DETEL Hub Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 39 Gil Pinheiro –UERJ/FEN/DETEL Ponte (Bridge) • Dispositivo de camada 2 • Analisa o endereço MAC do quadro • Permite isolar o tráfego entre dois segmentos de rede (dois domínios de colisão) • Só propaga pacotes para o segmento de rede se o endereço MAC do host pertencer ao segmento • Reconhece automaticamente os endereços MAC dos hosts em cada segmento de rede • Monta tabela de hosts de cada segmento Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 40 Gil Pinheiro –UERJ/FEN/DETEL Comutador de Rede (Switch) • Também denominado Switch • Dispositivo de camada 2 • É semelhante funcionalmente à Ponte, porém possui várias portas isoladas entre si • Analisa os endereços MAC que chegam a uma porta • Permite subdividir uma rede em diversos domínios de colisão ou isolar os hosts, um em cada porta • Só propaga pacotes para uma porta se o endereço MAC do host pertencer ao segmento ou ao host ligado à porta • Reconhece automaticamente os endereços MAC dos hosts em cada porta do Comutador • Monta tabela com um ou mais hosts ativos em cada porta Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 41 Redes com Comutador Comutador Hub Gil Pinheiro –UERJ/FEN/DETEL Rede 1 Rede 2 Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 42 Roteador Gil Pinheiro –UERJ/FEN/DETEL • • • • Dispositivo de camada 3 Analisa o endereço de rede do pacote Possuem uma tabela com a configuração da rede Enviam os pacotes através dos links, para outros roteadores, até que cheguem à rede destinatária • Utilizam protocolos especiais para comunicar-se com outros roteadores e para descobrir a arquitetura da rede Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 43 Redes com Roteadores R R Gil Pinheiro –UERJ/FEN/DETEL Rede 1 Rede 3 R Rede 2 Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 44 Gateway Gil Pinheiro –UERJ/FEN/DETEL • Dispositivo que abrange até a camada 7 • Permite integrar redes com protocolos e velocidades diferentes • Exemplos: – Gateway MODBUS/TCP x MODBUS/RTU – Gateway HART x MODBUS/RTU – Gateway HART x Fieldbus Foundation Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 45 Gateway MODBUS / TCP x RTU Rede Ethernet TCP/IP Gateway Modbus TCP Gil Pinheiro –UERJ/FEN/DETEL Modbus/RTU sobre RS-232 Controlador com porta serial Modbus/RTU Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 46 Gateway MODBUS / TCP x RTU MODBUS - AP MODBUS - AP TCP Gil Pinheiro –UERJ/FEN/DETEL IP LLC / MAC MODBUS – Camada 2 MODBUS/TCP MODBUS/RTU Ethernet – Camada 1 Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação EIA-232 47 Gateway HART x MODBUS / TCP MODBUS - AP Comandos HART TCP Gil Pinheiro –UERJ/FEN/DETEL IP LLC / MAC HART – Camada 2 MODBUS/TCP HART Ethernet – Camada 1 Rev. 01/10/2011 HART – Camada 1 GIL PINHEIRO - Redes de Comunicação 48 Roteamento de Pacotes na Rede Gil Pinheiro –UERJ/FEN/DETEL • Problema: como os pacotes alcançarão a rede destinatária? • É efetuado pela camada IP do TCP/IP • Consiste em verificar na tabela de roteamento, qual o caminho (rota) adequado e enviar o pacote através dessa rota • Caminho adequado: – Endereço da rede onde está a estação destino – Endereço da estação destino • O roteamento pode ser estático e dinâmico Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 49 Interligação de Redes Host 10.3.41.13 Host 220.10.1.21 Host 10.3.41.4 10.3.41.1 Gil Pinheiro –UERJ/FEN/DETEL Roteador 220.10.1.1 130.20.5.10 Host 130.20.41.13 Host 220.10.4.11 Rev. 01/10/2011 Host GIL PINHEIRO - Redes de Comunicação 130.20.5.4 50 Obtendo o endereço de Enlace (MAC) Gil Pinheiro –UERJ/FEN/DETEL • Endereço MAC: formato mais comum é do IEEE 802 • É necessário descobrir o endereço MAC, tipicamente para efetuar o último salto Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 51 Tradução de endereços IP x Endereço Físico (MAC) • Protocolos utilizados ARP e RARP • Dado o IP, obter o MAC: – ARP = Address Resolution Protocol Gil Pinheiro –UERJ/FEN/DETEL • Dado o MAC, obter o IP: – RARP = Reverse ARP • Exemplo prático Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 52 Gil Pinheiro –UERJ/FEN/DETEL ARP – Address Resolution Protocol • Para obter o endereço MAC de uma máquina na sub-rede local • Pedido de consulta enviado em broadcast na subrede local (LAN) • Host que detêm o endereço (ou proxy) responde com o endereço • Todos os hosts podem responder a requisições ARP (inclusive impressoras de rede) Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 53 Endereços IP Reservados Gil Pinheiro –UERJ/FEN/DETEL • Face ao crescente uso de endereços IP v.4, a IANA (Internet Assigned Numbers Authority) definiu três categorias de endereços: – Categoria 1: hosts de uma empresa que não precisam acessar hosts internos de outras empresas na Internet; hosts dentro dessa categoria podem usar endereços IP que não são ambíguos dentro da empresa, mas podem ser ambíguos entre empresas. Exemplo: 192.168.1.1 – Categoria 2: hosts que precisam acessar de maneira limitada recursos externos (exemplos: E-mail, FTP, www, remote login) que podem ser viabilizados através de gateways especiais (exemplo: gateways de camada de aplicação) Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 54 Endereços IP Reservados Gil Pinheiro –UERJ/FEN/DETEL – Categoria 3: hosts que precisam acesso sem restrições à camada de rede fora da empresa (através de conectividade IP); hosts nessa categoria requerem endereços IP que sejam globalmente não ambíguos • Hosts nas categorias 1 e 2 são denominados privativos e na categoria 3 são denominados públicos Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 55 Endereços IP Reservados • A IANA (Internet Assigned Numbers Authority) reservou os seguintes blocos para redes Internet privativas Gil Pinheiro –UERJ/FEN/DETEL – 10.0.0.0 a 10.255.255.255 (prefixo 10/8) – 172.16.0.0 a 172.31.255.255 (prefixo 172.16/12) – 192.168.0.0 a 192.168.255.255 (prefixo 192.168/16) • Esse endereços não são usados na Internet pública • Podem ser usados outros endereços além desses em redes privativas sem consultar a IANA • Os roteadores devem ser configurados (ex.: provedores de acesso à Internet) para não rotear endereços privativos para a Internet pública Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 56 Gil Pinheiro –UERJ/FEN/DETEL Outros Protocolos do Padrão TCP/IP • • • • • • • • • Telnet Smtp Ftp http IPv4 IPv6 ARP ICMP SNMP Rev. 01/10/2011 GIL PINHEIRO - Redes de Comunicação 57