Fundamentos de Redes de Computadores Arquitetura TCP/IP Endereçamento das Redes Classes de redes Principais protocolos Histórico O TCP/IP é um padrão de comunicação entre diferentes computadores e diferentes sistemas operacionais e aplicativos. A maioria dos sistemas operacionais e equipamentos de comunicação de dados fabricados hoje possui interfaces para comunicação com redes TCP/IP, ou seja, são capazes de se comunicar com outros equipamentos e redes que também utilizam o padrão TCP/IP. Cada computador deve ser um módulo de software ou protocolo de comunicação TCP/IP, ou seja, um programa de comunicação TCP/IP em seu sistema operacional e aplicativos, para se comunicar com outros dispositivos e redes TCP/IP. O nome TCP/IP se refere a dois protocolos: TCP – (Transmission Control Protocol ) é o protocolos responsável pelo controle e qualidade da comunicação entre a origem e o destino. IP – (Internet Protocol) é protocolo responsável pelo endereçamento nas redes, de forma que os dados cheguem a seu destino de acordo com o endereçamento de rede fornecido. 2 Objetivo da arquitetura TCP/IP: Interligar redes distintas de uma maneira: Padronizada. Simples. Modular. Nenhuma rede atende todas as necessidades de todos os usuários. Logo, cada um usa a sua estrutura física que for melhor, e a arquitetura TCP/IP "por cima". Camada física – semelhante às camadas física e de enlace do modelo OSI. 3 Protocolos para internet Os protocolos para internet formam o grupo de (PROTOCOLOS DE COMUNICAÇÃO) que implementam a pilha de protocolos sobre a qual a IINTERNET e a maioria das redes comerciais funcionam. Eles são algumas vezes chamados de "protocolos TCP/IP", já que os dois protocolos: o protocolo TCP - Transmission Control Protocol (PROTOCOLO DE CONTROLE DA TRANSMISSÃO); e o IIP- Internet Protocol (PROTOCOLO DA INTERNET) foram os primeiros a serem definidos. O modelo inicial do TCP/IP é baseado em 4 níveis: Host/rede (SubRede); nternet (Inter-rede); Transporte; e Aplicação. Surgiu, então, um modelo híbrido, com 5 camadas, que retira o excesso do modelo OSI e melhora o modelo TCP/IP: Física; Enlace; Rede; Transporte; e Aplicação. 4 CAMADAS DE ARQUITETURA TCP/IP Podemos dividir a arquitetura TCP/IP e seu processos em cinco camadas, onde cada camada atuam determinados protocolos que interagem com os protocolos das outras camadas. •Camada 5 : Aplicações – protocolos de aplicação ( FTP, TELNET, DNS, SNMP, SMTP) •Camada 4 : Transporte - protocolos de transporte (TCP, UDP) •Camada 3 : Internet - protocolos de endereçamento (IP, ARP, RARP, TCMP) •Camada 2 : Enlace – acesso à rede, interface de rede – protocolos de acesso ou enlace físico : CSMA/CD-Ethernet, PPP, HDLC, Token-ring, FDDI, que interagem com hardware e o meio de transmissão, permitindo que as camadas de cima independam do meio de transmissão utilizado. •Camada 1: Física – composta pelo hardware, meios de transmissão e seus padrões. Modem, RDIS, RS-232, EIA-422, RS449, Bluetooth, USB, ... 5 Comparação entre os modelos Segundo Tanenbaum o Modelo TCP/IP possui somente quatro camadas : Host/rede (Sub-Rede); Internet (Interrede); Transporte; e Aplicação. Atualmente o modelo mais aceito é das 5 camadas. 6 7 Navegação dos dados através da rede 8 PROTOCOLOS DE ENDEREÇAMENTO CAMADA 3 Protocolo ARP Address Resolution Protocol ou ARP é um protocolo usado para encontrar um endereço da camada de enlace (ETHERNET, por exemplo) a partir do endereço da camada de rede (como um endereço IP). O emissor difunde em broadcast um pacote ARP contendo o endereço IP de outro host e espera uma resposta com um endereço MAC respectivo. Cada máquina mantém uma tabela de resolução em cache para reduzir a latência e carga na rede. O ARP permite que o endereço IP seja independente do endereço Ethernet, mas apenas funciona se todos os hosts o suportarem. O ARP foi implementado em vários tipos de redes; não é uma protocolo restrito a redes IP ou Ethernet e pode ser utilizado para resolver endereços de diferentes protocolos de rede. Porém devido a prevalência de redes IPv4 e Ethernet, ARP é utilizado primordialmente para traduzir Endereço IP para Endereço MAC. Também é utilizado em outras tecnologias de IP sobre LAN, como Token Ring, FDDI ou IEEE 802.11, e para redes IP sobre ATM. 9 Protocolo RARP Reverse Address Resolution Protocol (RARP) ou Protocolo de Resolução Reversa de Endereços associa um endereço MAC conhecido a um endereço IP. Permite que os dispositivos de rede encapsulem os dados antes de enviá-los à rede. Um dispositivo de rede, como uma estação de trabalho sem disco, por exemplo, pode conhecer seu endereço MAC, mas não seu endereço IP. O RARP permite que o dispositivo faça uma solicitação para saber seu endereço IP. Os dispositivos que usam o RARP exigem que haja um servidor RARP presente na rede para responder às solicitações RARP. Os protocolos ARP e RARP encontram-se na camada de nível três (rede) do modelo OSI e na camada de nível um (link layer) do modelo TCP/IP. 10 Protocolo ICMP ICMP, sigla para o inglês Internet Control Message Protocol, é um protocolo integrante do Protocolo IP, definido pelo RFC 792, e utilizado para fornecer relatórios de erros à fonte original. Qualquer computador que utilize IP precisa aceitar as mensagens ICMP e alterar o seu comportamento de acordo com o erro relatado. Os gateways devem estar programados para enviar mensagens ICMP quando receberem datagramas que provoquem algum erro. As mensagens ICMP geralmente são enviadas automaticamente em uma das seguintes situações: Um pacote IP não consegue chegar ao seu destino (i.e. Tempo de vida do pacote expirado) O Gateway não consegue retransmitir os pacotes na frequência adequada (i.e. Gateway congestionado) O Roteador ou Encaminhador indica uma rota melhor para a máquina a enviar pacotes. Ferramentas comumente usadas em Windows baseadas nesse protocolo são: Ping e Traceroute. 11 Protocolo ICMP Algumas das possíveis mensagens são: • Rede fora de alcance; • Nó fora de alcance; • Porta fora de alcance; • Nó desconhecido; • Rede destino desconhecida; • Tempo de vida do pacote excedido; • Pedido de eco (ping); • Resposta de eco (pong); etc. O protocolo ICMP não detecta erros, leva a informação apenas ao seu destino, não aos nós intermediários. 12 Camada de rede PROTOCOLO IP Roteia pacotes de um nó para o outro, na mesma rede ou em redes distintas. Usa comutação por pacotes com datagrama nãoconfiável. Ou seja, não garante a entrega dos pacotes e é não-orientado à conexão. Define também o endereçamento dos nós, o endereço IP. IPv4 - 4 bytes (octetos) IPv6 (em fase de adoção) 13 Conversão do endereço IP Os endereços IP identificam um dispositivo em uma rede e a rede à qual ele está ligado. Para tornálos fáceis de serem lembrados, os endereços IP são geralmente escritos na notação decimal com ponto (4 números decimais separados por pontos, por exemplo, 166.122.23.130) 14 Endereço IP (IPv4) . 15 Divisão em classes dos endereços IP Cada classe de rede permite um número fixo de hosts. Em uma rede de classe A, o primeiro octeto é atribuído à rede, restando os três últimos octetos (24 bits) para serem atribuídos aos hosts, portanto o número máximo de hosts é 224 (menos 2 endereços reservados para rede e broadcast), ou seja, 16.777.214 hosts. Em uma rede de classe B, os primeiros dois octetos são atribuídos à rede, restando os dois últimos octetos (16 bits) para serem atribuídos aos hosts, portanto o número máximo de hosts é 216 (menos 2), ou seja, 65.534 hosts. Em uma rede de classe C, os primeiros três octetos são atribuídos à rede, restando o último octeto (8 bits) para ser atribuído aos hosts, portanto o número máximo de hosts é 28 (menos 2), ou seja, 254 hosts. Lembre-se de que o primeiro endereço em cada rede é reservado para o endereço de rede real (ou número de rede), e o endereço final em cada rede é reservado para broadcast. 16 Classe A Um modo fácil de reconhecer se um dispositivo é parte de uma rede de classe A é olhar o primeiro octeto do seu endereço IP, que variará de 0 a 126. (127 na verdade começa com um bit 0 mas, foi reservado para propósitos especiais.) Todos os endereços IP de classe A usam apenas os oito primeiros bits para identificar a parte da rede do endereço. Os três octetos restantes podem ser usados para a parte do host do endereço. Todas os dispositivos que usam um endereço IP de classe A podem ter atribuídos a ela até 2 elevado a 24 (224) (menos 2), ou seja, 16.777.214 endereços IP possíveis para os dispositivos conectados à rede 17 Classe B Os dois primeiros bits de um endereço de classe B são sempre 10 (um e zero). Um exemplo de um endereço IP de classe B seria 151.10.13.28. Os dois primeiros octetos identificam o número de rede atribuído pelo ARIN. Os administradores internos da rede atribuem os 16 bits restantes. Um modo fácil de reconhecer se um dispositivo é parte de uma rede de classe B é olhar o primeiro octeto do seu endereço IP. Os endereços IP de classe B sempre têm valores variando de 128 a 191 no primeiro octeto. Todos os endereços IP de classe B usam os primeiros 16 bits para identificar a parte da rede no endereço. Os dois octetos restantes do endereço IP podem ser usados para a parte do host do endereço. Todas as redes que usam um endereço IP de classe B podem ter atribuídos a ela até 2 elevado a 16 (216) (menos 2 novamente!), ou seja, 65.534 endereços IP possíveis para os dispositivos conectados à rede 18 Classe C Os três primeiros bits de um endereço de classe C são sempre 110 (um, um e zero). Um exemplo de um endereço IP de classe C seria 201.110.213.28. Os três primeiros octetos identificam o número de rede atribuído pelo ARIN. Os administradores internos da rede atribuem os 8 bits restantes. Um modo fácil de reconhecer se um dispositivo é parte de uma rede de classe C é olhar o primeiro octeto do seu endereço IP. Os endereços IP de classe C sempre têm valores variando de 192 a 223 no primeiro octeto. Todos os endereços IP de classe C usam os primeiros 24 bits para identificar a parte da rede no endereço. Apenas o último octeto de um endereço IP de classe C pode ser usado para a parte do host do endereço. Todas as redes que usam um endereço IP de classe B podem ter atribuídos a ela até 28 (menos 2), ou seja, 254 endereços IP possíveis para os dispositivos conectados à rede 19 Resumindo Classe B: RRHH REDES = 2 16-2 ( 2 BITS UTILIZADOS) =214 - 2 =16.382 REDES Classe A: RHHH REDES = -1BIT =( 2 7) -2= HOSTS = 2 16 -2(End. Rede e end. Broadcast) =65.534 hosts 126 REDES HOSTS = 2 24 -2(End. Rede e end. broadcast)=1677721 4 hosts Classe C: RRRH REDES = 2 24-3 ( 3 BITS UTILIZADOS=( 2 21) -2 = 2.097.150 REDES HOSTS = 2 8 -2(End. Rede e end. Broadcast) =254 hosts 20 Máscara de sub-rede A máscara de sub-rede aponta quais bits são da rede, e quais são das máquinas. Exemplo: Máscara: 255.255.255.0 3 octetos para rede (255.255.255) e 1 octeto para máquinas (0) = 256 possibilidades. 21 C L A S S E INTERVALO ID DE REDE/ HOST MÁSCARA SUB-REDE PADRÃO NÚMERO DE REDES HOSTS END. UTILIZA DOS 255.0.0.0 126 (2 7 -2 ) 2 24 -2= 16.777.214 A 1 - 126 R,H.H.H B 128-191 R.R.H.H 255.255.0.0 2 14-2= 16.382 2 16-2 = 65.534 C 192-223 R.R.R.H 255.255.255.0 2 21 -2 = 2.097.150 28 -2 = 254 D 224-239 E 240 - 254 RESERVADO PARA MULTIDIFUSÃO EXPERIMENTAL, USADO PARA PESQUISA 22 Um endereço de broadcast é um endereço composto totalmente por 1s no campo do host. Quando enviar um pacote de broadcast por uma rede, todos os dispositivos da rede perceberão. Por exemplo, em uma rede com ID 176.10.0.0, um broadcast que chegasse a todos os hosts teria o endereço 176.10.255.255. 23 ENDEREÇO SEM CLASSE Esgotamento de Endereços O imenso crescimento da Internet levaram ao rápido esgotamento dos endereços disponíveis, embora o número de dispositivos na Internet seja menor que os 2³² espaços de endereços. Ficamos sem endereços de classe A e B, e um bloco de classe C é muito pequeno para a maioria das organizações de porte médio. Uma solução que reduziu o problema é a idéia de endereçamento sem classes. Endereçamento sem Classes Nesse método, não existem classes, mas os endereços ainda são concedidos em blocos. Blocos de Endereços No endereçamento sem classes, quando uma entidade, pequena ou grande, precisa ser conectada a Internet, lhe é concedido um bloco (intervalo) de endereços. 0 tamanho do bloco (o framer° de endereços) varia tomando como base a natureza e o tamanho da entidade. Por exemplo, um eletrodoméstico pode receber apenas dois endereços; uma grande organização, milhares de endereços. Um ISP (Internet Service Provider), ou provedor de acesso a Internet, pode receber milhares ou centenas de milhares de endereços com base no número de clientes que pretende atender. 24 BLOCO DE ENDEREÇOS E MÁSCARAS UTILIZAMOS O ESPAÇO DO HOST NAS MÁSCARAS E TOMAMOS EMPRESTADOS BITS. REPRESENTAMOS POR NOTAÇÃO EM BARRA OU CIDR. EXEMPLO: 255.0.0.0 = /8 255.255.0.0 = /16 255.255.255.0= /24 /27= 11111111.11111111.11111111.11100000= 27 1”S MÁSCARA=255.255.255.224 25 EXERCÍCIO DE SUB-REDE Calcule a máscara de sub-rede pedida na opção abaixo. Diga também qual é o endereço de broadcast da primeira sub-rede: REDE 192.168.0.0 – PRECISO DE 32 sub-redes. R.R.R.H CLASSE C Explicação: 32 sub-redes= 2 5 vou utilizar +5 bits para a máscara 255.255.255.11111000= 255.255.255.248 BROADCAST colocarei 1”s no host 000 --111=7 binário 192.168.0. 00000111 = broadcast=192.168.0.7 Resposta: 255.255.255.248 192.168.0.7 26 EXEMPLO DE SUB-REDES 27 REDES PRIVADAS Para separar os endereços usados internamente na residência ou empresa daqueles utilizados para a Internet, os provedores de Internet reservaram três conjuntos de endereços, denominados privados ENDEREÇOS DE REDES PRIVADAS: INTERVALO TOTAL 10.0.0.0 A 10.255.255.255. 2 24 172.16.0.0 A 172.31.255.255 2 20 2 16 192.168.0.0 A 192.168.255.255 28 Camada de Transporte Protocolo TCP Confiável e orientado à conexão. Interface para a aplicação, tornando transparente procedimentos como retransmissão, correção de erros, etc. Alguns dos serviços são: Estabelecimento e liberação de conexões. Transferência de dados. Multiplexação e segmentação Controles de erro e de fluxo. 29 Camada de Transporte Protocolo UDP Não confiável e não orientado à conexão. Não há garantias da entrega de dados, sequenciação, controles, etc. Mais leve, mais rápido e menos confiável. Cabeçalho resume-se a: Endereços de origem e destino; Tamanho da mensagem; Soma de checagem (que é opcional). Tamanho - no máximo 64 bits. 30 Protocolos da Camada de aplicação TELNET - O Telecomunications Network possibilita a um usuário trabalhar em um host distante. Ele emula um terminal especial que faz as conversões necessárias entre dois terminais diferentes, permitindo que se atue remotamente sobre um host sem a necessidade que ambos os hosts tenham um terminal semelhante. FTP - O File Transfer Protocol é uma poderosa ferramenta para transmitir arquivos pela Internet. Ele define os procedimentos para gerenciar a troca de informações entre os hosts do TCP. Uma conexão do FTP passa por dois processos: Conexão de Controle e Transferência de Dados. A Conexão de Controle é a primeira etapa do processo de conexão do FTP. Ela serve para realizar o login e definir níveis de segurança e de manipulação de arquivos. FTP - Protocolo de transferência de arquivos Porta TCP 20 e 21, Já a Transferência de dados é a etapa onde os arquivos são transmitidos. Ela depende do sucesso da conexão de controle para ser realizada. HTTP - Protocolo de transferência de hipertexto - base da Web, junto com a linguagem HTML e os navegadores. Porta TCP 80. 31 Protocolos da Camada de aplicação SMTP - O Simple Mail Transfer Protocol é um aplicativo de nível superior que está ligado à transmissão de correio eletrônico via Internet. Ele é um dos protocolos de nível superior mais utilizados na Internet, que funciona da seguinte forma: O SMTP é constituído de duas partes que são a origem e o destino, sendo que cada uma delas possui acesso a um servidor de armazenamento. Quando a origem envia uma mensagem para o destino, essa mensagem é primeiramente armazenada no servidor de armazenamento da origem. O servidor então tenta enviar as mensagens e, se ocorrer algum problema com o destino, o servidor tentará posteriormente reenviar a mensagem. Se não conseguir, a mensagem será enviada de volta à origem ou ao postmaster. ( servidores de E-mail) 32 DNS – Funcionamento Analogia com o sistema postal: Exemplo: lyric.labma.ufrj.br (lyrix incluído em labma, que está incluído em ufrj, que está incluído em br). br - domínio por país. ufrj e labma - sub-domínios. lyric - máquina. Estrutura hierárquica dos servidores DNS: Máquina pede resolução de nome ao DNS. Se sim, volta o IP. Se não, o DNS pede ao próximo DNS. Pode chegar num dos DNS- raiz da Internet. Se sim, o endereço resolvido volta no sentido contrário. Se não, o DNS propaga uma mensagem de que o endereço não existe. 33 URL Universal Resource Locator Maneira simples e eficiente de apontar onde está um arquivo (rede ou disco local). Exemplo: ftp://fab:[email protected]/pub/dados/beltrano.zip 1 2 3 4 5 6 1. Protocolo: http, ftp, wais, gopher, file, etc. 2. Separador. 3. Usuário e senha (quando necessário). 4. Nome de domínio 5. Caminho dentro do site 6. Nome do arquivo. 34 Outros serviços SNMP - O Simple Network Management Protocol é o padrão mais expressivo em matéria de gerenciamento de redes. Ele é um protocolo que serve para lidar com eventuais falhas nas redes ou nos equipamentos. O SNMP ainda é utilizado para monitoramento das redes. Ele é usado principalmente em redes que utilizam TCP/IP. HTTPS, DNSSEC, SMTPS, POPS, IMAPS, SSH - protocolos que usam cifragem (criptografia) para aumentar a segurança no diálogo cliente-servidor, desmotivando ataques do tipo "homem no meio" (a informação que vai do cliente para o servidor é copiada por um intruso). 35