Fundamentos • O protocolo TCP/IP atualmente é o protocolo mais utilizado em redes locais. Isso se deve basicamente à popularização da Internet, a rede mundial de computadores, já que esse protocolo foi criado para ser usado na Internet. • Uma das grandes vantagens do TCP/IP em relação a outros protocolos existentes é que ele é roteável, isto é, foi criado pensando em redes grandes e de longa distância, onde pode haver vários caminhos para o dado atingir o computador receptor. • A arquitetura do TCP/IP é mostrada na figura abaixo. Como você pode observar ele é um protocolo de 4 camadas. Aplicação Apresentação Sessão Transporte Rede Link de Dados Física Aplicação OSI Transporte Internet Interface com a rede TCP/IP 1 Fundamentos • O TCP/IP é, na realidade, um conjunto de protocolos. Os mais conhecidos dão justamente o nome desse conjunto: TCP (Transmission Control Protocol, Protocolo de Controle de Tranferência) e IP (Internet Protocol), que operam nas camadas Transporte e Internet, respectivamente. 2 Camada Aplicação • Esta camada equivale às camadas 5,6 e 7 do modelo OSI e faz a comunicação entre os aplicativos e o protocolo de transporte. Existem vários protocolos que operam na camada de aplicação. Os mais conhecidos são HTTP (Hypertext Transfer Protocol), SMTP (Simple Mail Transfer Protocol), o FTP (File Transfer protocol), o SNMP (Simple NetWork Management Protocol), o DNS (Domain Name System) e o Telnet. • Dessa forma, quando um programa cliente de e-mail quer baixar os e-mails que estão armazenados no servidor de e-mail, ele irá efetuar esse pedido para a camada de aplicação do TCP/IP, sendo atendido pelo protocolo SMTP. Quando você entra um endereço www em seu browser para visualizar uma página na Internet, o seu browser irá comunicar-se com a camada de aplicação do TCP/IP, sendo atendido pelo protocolo HTTP. E assim por diante. • A camada de aplicação comunica-se com a camada de transporte através de uma porta. As portas são numeradas e as aplicações padrão usam sempre uma mesma porta. Por exemplo, o protocolo SMTP utiliza sempre a porta 25, o protocolo HTTP utiliza sempre a porta 80 e o FTP as portas 20 (para a transmissão de dados) e 21 (para transmissão de informações de controle). 3 Camada de Transporte • Esta camada é responsável por pegar os dados enviados pela camada de aplicação e tranformá-los em pacotes, a serem repassados para a camada de Internet. • Nesta camada operam dois protocolos: o já falado TCP e o UDP (User Datagram Protocol).Ao contrário do TCP, este segundo protocolo não verifica se o dado chegou ou não ao destino. • Na recepção de dados, a camada de transporte pega os pacotes passados pela camada Internet e trata de colocá-los em ordem e verificar se todos chegaram corretamente. 4 Camada de Internet • A camada de Internet do modelo TCP/IP é equivalente à camada 3 (Rede) do modelo OSI. Assim, todas as explicações dadas sobre essa camada são 100% válidas para a camada de Internet do TCP/IP. • Há vários protocolos que podem operar nessa camada: IP, ICMP, ARP e RARP. • Na transmissão de um dado de programa, o pacote de dados recebidos da camada TCP é dividido em pacotes chamados datagramas. Os datagramas são enviados para a camada de interface com a rede, onde são transmitidos pelo cabeamento da rede através de quadros. • Esta camada é responsável pelo roteamento de pacotes, isto é, adiciona ao datagrama informações sobre o caminho que ele deverá percorrer. 5 Camada de Interface com a Rede • Esta camada é responsável por enviar o datagrama recebido pela camada de Internet em forma de um quadro através da rede. 6 Endereçamento IP • Como foi visto anteriormente, o protocolo TCP/IP é roteável, isto é, ele foi criado pensando-se na interligação de diversas redes – onde podemos ter diversos caminhos interligando o transmissor e o receptor -, culminando na rede mundial que hoje conhecemos por Internet. Por isso, ele utiliza um esquema de endereçamento lógico chamado endereçamento IP. Em uma rede TCP/IP cada dispositivo conectado em rede necessita usar pelo menos um endereço IP. Esse endereço permite identificar o dispositivo e a rede na qual ele pertence. • As redes são interligadas através de dispositivos chamados roteadores. Quando um computador da rede 1 quer enviar um dado para um computador da rede 2, ele envia o pacote de dados ao roteador 1, que fica responsável por encaminhar esse pacote ao computador de destino. No caso de um computador da rede 1 querer enviar um pacote de dados para um computador da rede 3, ele envia o pacote ao roteador 1, que então se encarregará de entregar esse pacote ao computador de destino na rede 3. Observe a figura: 7 Endereçamento IP 8 Endereçamento IP • Esse esquema de entrega de pacotes é feito facilmente pelo roteador porque os pacotes de dados possuem o endereço IP do computador de destino. Nesse endereço IP há a informação de qual a rede onde o pacote deve ser entregue. Por esse motivo, quando o computador da rede 1 quer falar com o computador da rede 3, o roteador 1 sabe que aquele pacote de dados não é para a rede 2, pois no endereço IP de destino há a informação de que o pacote deve ser entregue à rede 3. Então o roteador 1 envia o pacote diretamente ao roteador 2, sem perder tempo tentando entregá-lo a todos os computadores existentes na rede 2 para então verificar que o pacote não era para aquela rede. • É assim que as redes baseadas no protocolo TCP/IP funcionam. Elas têm um ponto de saída da rede, também chamado gateway, que é para onde vão todos os pacotes de dados recebidos e que não são para aquela rede. As redes subsequentes vão, por sua vez, enviando o pacote aos seus gateways até que o pacote atinja a rede de destino. 9 Endereçamento IP • Como dissemos, isso é possível porque o endereço IP possui basicamente duas partes: uma que indica a rede e outra que indica o dispositivo (um computador por exemplo). Identificação da rede Identificação da máquina • O endereço IP é um número de 32 bits, representado em decimal em forma de quatro números de oito bits separados por um ponto, no formato a.b.c.d. Assim, o menor endereço IP possível é 0.0.0.0 e o maior, 255.255.255.255. 10 Endereçamento IP • Cada dispositivo de uma rede TCP/IP precisa ter um endereço IP único, para que o pacote de dados consiga ser entregue corretamente. Por isso, você não pode simplesmente usar em sua rede qualquer endereço IP que você quiser. Você terá de obrigatoriamente usar endereços que não estejam sendo usados por nenhum outro computador da rede. • Para facilitar a distribuição dos endereços IP, foram especificadas cinco classes de endereços IP, como mostra a figura: Classe A 0 Identificação da rede (7 bits) Classe B 10 Identificação da rede (14 bits) Identificação da máquina (24 bits) Identificação da máquina (16 bits) 11 Endereçamento IP Identificação da rede (21 bits) Classe C 110 Classe D 1110 Endereçamento Multicast Classe E 1111 Reservado para o futuro Identificação da máquina (8 bits) • Como você pode reparar, há alguns bits fixos no início de cada classe de endereço IP. Isso faz com que cada classe de endereço IP seja dividida conforme mostra a tabela a seguir: 12 Endereçamento IP Classe Endereço mais baixo Endereço mais alto A 1.0.0.0 126.0.0.0 B 128.1.0.0 191.255.0.0 C 192.0.1.0 223.255.255.0 D 224.0.0.0 239.255.255.255 E 240.0.0.0 255.255.255.254 13 Endereçamento IP • Classe A: O primeiro número identifica a rede, os demais três números indicam a máquina. Cada endereço classe A consegue endereçar até 16.777.216 máquinas. • Classe B: Os dois primeiros números identificam a rede, os dois demais indicam a máquina. Esse tipo de endereço consegue endereçar até 65.536 máquinas. • Classe C: Os três primeiros números identificam a rede, o último número indica a máquina. Com isso, consegue endereçar até 256 máquinas. 14 Endereçamento IP • Para que você entenda melhor essa classificação, vamos explicar primeiro os endereços de classe C. Nesse tipo de endereço IP, os três primeiros números indicam a rede e o último número indica a máquina. Se você for usar um endereço IP classe C em sua rede, você poderá ter, pelo menos teoricamente, até 256 dispositivos conectados em sua rede (de 0 a 255). Na verdade, você poderá ter até 254 dispositivos, já que os endereços 0 e 255 são reservados, como veremos adiante. Se você precisar de mais endereços IP, você precisará ter acesso a mais um endereço classe C, ou mesmo pleitear um endereço classe B, caso sua rede seja realmente muito grande (com um endereço classe B é possível endereçar até 65.536 máquinas diferentes, sem descontar os endereços reservados). • Ou seja, a escolha do tipo de classe de endereçamento (A, B ou C) é feita com base no tamanho de sua rede. As redes locais em sua esmagadora maioria utilizam endereços de classe C. 15 Endereçamento IP • O sistema de redes que forma a estrutura básica da internet é chamado backbone.Para que sua rede esteja conectada à Internet, ela terá de estar conectada ao backbone de alguma forma, seja diretamente, seja indiretamente, através de uma outra rede que esteja conectada ao backbone. Por exemplo, no Brasil, um dos backbones existentes é o da Embratel. Dessa forma, se você quiser que sua rede esteja conectada à Internet, ela deverá estar conectada diretamente à rede da Embratel ou indiretamente, conectando a sua rede a uma outra rede que possua essa conexão. •Existem alguns endereços que são conhecidos como “endereços mágicos”, que são endereços Ips reservados para redes privadas. Assim, você pode montar sua rede TCP/IP baseada nesses endereços que não gerará conflito com os endereços IP da Internet, pois os roteadores da Internet reconhecem esses endereços como sendo de uma rede particular e não repassam os pedidos de pacotes que façam referência a esses endereços para o resto da Internet. 16 Endereçamento IP • Esses endereços especiais (reservados para redes privadas) são os seguintes: • Classe A: 10.0.0.0 a 10.255.255.255 • Classe B: 172.16.0.0 a 172.31.255.255 • Classe C: 192.168.0.0 a 192.168.255.255 • Ou seja, se você pretende montar uma rede TCP/IP particular, sem estar conectada ao backbone da Internet, baseada em um endereço classe C , poderá usar o endereço 192.168.0.0. A figura mostra o exemplo de uma rede TCP/IP com cinco computadores usando esse endereçamento. Como você pode ver, cada máquina possuirá o seu próprio endereço IP. 17 Endereçamento IP 18 Endereçamento IP • O Endereço 0 indica “rede”. Assim, o endereço 192.168.0.0 indica a rede que usa endereço que comecem por 192.168.0. Como esse endereço é classe C, somente o último byte é usado para endereçar as máquinas presentes na rede, por isso os três primeiros números são fixos e só o último varia. Já o endereço 10.0.0.0, por ser da classe A, indica a rede que usa endereços que comecem por 10, pois no endereçamento classe A somente o primeiro byte indica a rede, os três bytes seguintes são usados para o endereçamento das máquinas presentes na rede. • Já o endereço 255 é reservado para broadcast, o ato de enviar um mesmo pacote de dados para mais de uma máquina ao mesmo tempo. Um pacote de dados de broadcast é recebido por todas as máquinas da rede. 19 Endereçamento IP • Protocolo DHCP (Dynamic Host Configuration Protocol, Protocolo de Configuração Dinâmica de Máquinas). Um servidor DHCP distribui para os computadores clientes um IP válido na Internet assim que um computador cliente pede. Dessa forma, se um micro da rede interna pedir uma página www da Internet, o servidor DHCP fornece um endereço IP público válido para ele poder se conectar à Internet. Assim que essa máquina terminar de carregar a´página www solicitada, o o servidor DHCP “toma” esse endereço IP de volta. Se o usuário desse cliente continuar navegando, o servidor poderá dar o mesmo endereço IP ou mesmo dar um outro endereço IP. 20 Máscara de Rede • Um termo que você encontrará com facilidade ao configurar redes baseadas no protocolo TCP/IP é a máscara de rede. A máscara é formada por 32 bits no mesmo formato que o endereçamento IP e cada bit 1 da máscara informa a parte do endereço IP que é usada para o endereçamento da rede e cada bit 0 informa a parte do endereço IP que é usada para o endereçamento das máquinas. Dessa forma, as máscaras padrões são: • Classe A: 255.0.0.0 • Classe B: 255.255.0.0 • Classe C: 255.255.255.0 • O valor 255 equivale a um grupo de oito bits (byte) com todos os seus bits em 1. 21 ARP (Address Resolution Protocol) • O protocolo ARP é responsável por fazer a conversão entre os endereços Ips e os endereços MAC da rede. Em uma rede grande, os pacotes TCP/IP são encaminhados até a rede de destino através dos roteadores. Atingindo a rede para a qual o pacote deve ser entregue, já que no pacote há somente o endereço IP de destino e não o endereço da placa de rede. • O ARP funciona mandado primeiramente uma mensagem de broadcast para a rede perguntando, a todas as máquinas, qual responde pelo endereço IP para o qual pretende-se transmitir um pacote. Então, a máquina que corresponde a tal endereço responde identificando-se e informando o seu endereço MAC para que a transmissão de dados entre essas máquinas possa ser estabelecida. 22 RARP (Reverse Address Resolution Protocol) • O protocolo RARP permite que uma máquina descubra um endereço IP através de um endereço MAC, fazendo o inverso do que o protocolo ARP faz. 23 DNS (Domain Name System) • Nós vimos que todas as máquinas em uma rede TCP/IP possui um endereço IP. Acontece que os endereços IP não são tão fáceis de ser recordados quanto nomes. Por isso, foi criado o sistema DNS, que permite dar nome a endereços IP, facilitando a localização de máquinas por nós, humanos. • Os servidores DNS possuem duas funções: converter endereços nominais em endereços IP e vice-versa. 24 BackBone • Em português, significa "espinha dorsal". São conexões de altíssima velocidade que interligam todo o planeta. Os backbones são mantidos pelos governos ou por grandes companhias de telecomunicações (chamadas "carriers"). Sistemas de menor porte (pertencentes a provedores, empresas, etc.) conectam-se à Internet por meio dos backbones (como ramificações de um galho mais grosso numa árvore). Há backbones dos mais diversos tipos: pode ser um cabo de fibra óptica de alta capacidade pendurado em postes ou correndo sob o solo, pode ser um cabo submarino cruzando oceanos, pode ser uma conexão de microondas entre duas antenas, pode ser um link via satélite, entre outros. • Por isso, não imagine um backbone como um fio que vai de um ponto a outro do mundo! •Dados podem ser transmitidos "pelo ar", entre antenas, entre satélites, etc. Eles não precisam necessariamente de um meio físico (um fio, por exemplo) para ser transmitidos -- embora fibras ópticas constituam a maior parte dos backbones. 25