1/5 ________________________________________________________________________________ PROTOCOLOS DE REDE O Modelo OSI O OSI é um modelo usado para entender como os protocolos de rede funcionam. Para facilitar a interconexão de sistemas de computadores, a ISO (International Standards Organization) desenvolveu um modelo de referência chamado OSI (Open Systems Interconnection) para que os fabricantes pudessem criar protocolos a partir deste modelo. A idéia básica do modelo de referência OSI é: cada camada é responsável por algum tipo de processamento e cada camada apenas se comunica com a camada imediatamente inferior ou superior. Por exemplo, a camada 6 só poderá se comunicar com as camadas 7 e 5, e nunca diretamente com a camada 1. Quando seu computador está transmitindo dados para a rede, uma dada camada recebe dados da camada superior, acrescenta informações de controle pelas quais ela seja responsável e passa os dados para a camada imediatamente inferior. Quando seu computador está recebendo dados, ocorre o processo inverso: uma dada camada recebe dados da camada inferior, processa os dados recebidos removendo informações de controle pelas quais ela seja responsável e passa os dados para a camada imediatamente superior. O que é importante ter em mente é que cada camada adiciona (quando o computador estiver transmitindo dados) ou remove (quando o computador estiver recebendo dados) informações de controle de sua responsabilidade. APLICAÇÃO APRESENTAÇÃO APLICAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS REDE FÍSICA ________________________________________________________________________________ Paulo Damico 2/5 ________________________________________________________________________________ Aplicação: Essas são as camadas mais altas que colocam os dados no formato usado pelo programa. Transporte: Esta camada é responsável por pegar os dados recebidos da rede e transformá-los em um formato compreensível pelo programa. Quando seu computador está recebendo dados, esta camada pega os pacotes recebidos e os coloca em ordem. Rede: As camadas deste grupo são camadas de baixo nível que lidam com a transmissão e recepção dos dados da rede. Explicação das camadas do modelo OSI usando com exemplo o envio de e-mail. Camada 7 – Aplicação: A camada de aplicação faz a interface entre o programa que está enviando ou recebendo dados e a pilha de protocolos. Quando você está baixando ou enviando e-mails, seu programa de e-mail entra em contato com esta camada. Camada 6 – Apresentação: Também chamada camada de Tradução, esta camada converte o formato do dado recebido pela camada de Aplicação em um formato comum a ser usado pela pilha de protocolos. Por exemplo, se o programa está usando um código de página diferente do ASCII, esta camada será a responsável por traduzir o dado recebido para o padrão ASCII. Esta camada também pode ser usada para comprimir e/ou criptografar os dados. A compressão dos dados aumenta o desempenho da rede, já que menos dados serão enviados para a camada inferior (camada 5). Se for utilizado algum esquema de criptografia, os seus dados circularão criptografados entre as camadas 5 e 1 e serão descriptografadas apenas na camada 6 no computador de destino. Camada 5 – Sessão: Esta camada permite que dois programas em computadores diferentes estabeleçam uma sessão de comunicação. Nesta sessão, esses dois programas definem como será feita a transmissão dos dados e coloca marcações nos dados que estão sendo transmitidos. Se porventura a rede falhar, os dois computadores reiniciam a transmissão dos dados a partir da última marcação recebida em vez de retransmitir todos os dados novamente. Por exemplo, você está baixando e-mails de um servidor de e-mails e a rede falha. Quando a rede voltar a estar operaciona l, a sua tarefa continuará do ponto em que parou, não sendo necessário reiniciá-la. Note que nem todos os protocolos implementam esta função. Camada 4 – Transporte: Nas redes de computadores os dados são divididos em vários pacotes. Quando você está transferindo um arquivo grande, este arquivo é dividido em vários pequenos pacotes. No computador receptor, esses pacotes são organizados para formar o arquivo originalmente transmitido. A camada de Transporte é responsável por pegar os dados enviados pela camada de Sessão e dividi-los em pacotes que serão transmitidos pela rede. No computador receptor, a camada de Transporte é responsável por pegar os pacotes recebidos da camada de Rede e remontar o dado original para enviá-lo à camada de Sessão. Isso inclui controle de fluxo (colocar os pacotes recebidos em ordem, caso eles tenham chegado fora de ordem) e correção de erros, tipicamente enviando para o transmissor uma informação de reconhecimento (acknowledge), informando que o pacote foi recebido com sucesso. A camada de Transporte separa as camadas de nível de Aplicação (camadas 5 a 7) das camadas de nível Rede (camadas de 1 a 3). As camadas de Rede estão preocupadas com a maneira com que os dados serão transmitidos e recebidos pela rede, mais especificamente com os pacotes são transmitidos pela rede, enquanto que as camadas de ________________________________________________________________________________ Paulo Damico 3/5 ________________________________________________________________________________ Aplicação estão preocupadas com os dados contidos nos pacotes, ou seja, estão preocupadas com os dados propriamente ditos. A camada 4, Transporte, faz a ligação entre esses dois grupos. Camada 3 – Rede: Esta camada é responsável pelo endereçamento dos pacotes, convertendo endereços lógicos em endereços físicos, de forma que os pacotes consigam chegar corretamente ao destino. Essa camada também determina a rota que os pacotes irão seguir para atingir o destino, levando em consideração fatores como condições de tráfego da rede e prioridades. Camada 2 – Link de Dados: Essa camada (também chamada camada de Enlace) pega os pacotes de dados recebidos da camada de rede e os transforma em quadros que serão trafegados pela rede, adicionando informações como o endereço da placa de rede de origem, o endereço da placa de rede de destino, dados de controle, os dados em si e uma soma de verificação, também conhecida como CRC. O quadro criado por esta camada é enviado para a camada Física, que converte esse quadro em sinais elétricos (ou sinais eletromagnéticos, se você estiver usando uma rede sem fio para serem enviados através do cabo de rede. Quando o receptor recebe um quadro, a sua camada de Link de Dados confere se o dado chegou íntegro, refazendo a soma de verificação (CRC). Se os dados estiverem o.k., ele envia uma confirmação de recebimento (chamada acknowledge ou simplesmente ack). Caso essa confirmação não seja recebida, a camada Link de Dados do transmissor reenvia o quadro, já que ele não chegou até o receptor ou então chegou com os dados corrompidos. Camada 1 – Física: Esta camada pega os quadros enviados pela camada de Link de Dados e os transforma em sinais compatíveis com o meio onde os dados deverão ser transmitidos. Se o meio for elétrico, essa camada converte os 0s e 1s dos quadros em sinais elétricos a serem transmitidos pelo cabo; se o meio for óptico (uma fibra óptica), essa camada converte os 0s e 1s dos quadros em sinais luminosos; se uma rede sem fio for usada, então os 0s e 1s são convertidos em sinais eletromagnéticos; e assim por diante. No caso da recepção de um quadro, a camada física converte os sinais do cabo em 0s e 1s e envia essas informações para a camada de Link de Dados, que montará o quadro e verificará se ele foi recebido corretamente. Quando seu computador está transmitindo dados, o fluxo da informação é do programa para a rede (isto é, o caminho de dados é de cima para baixo), portanto os programas se comunicam com a camada 7, que por sua vez se comunica com a camada 6 e assim por diante. Quando seu computador está recebendo dados, o fluxo da informação é da rede para o programa (isto é, o caminho de dados é de baixo para cima), portanto a rede se comunica com a camada 1, que por sua vez se comunica com a camada 2 e assim por diante. Na transmissão de dados, cada camada pega as informações passadas pela camada superior, acrescenta informações de controle e passa os dados para a camada imediatamente inferior. Na recepção de dados o processo inverso acontece: cada camada remove informações de controle e passa para a camada imediatamente superior. ________________________________________________________________________________ Paulo Damico 4/5 ________________________________________________________________________________ TCP/IP De uma forma simples, o TCP/IP é o principal protocolo de envio e recebimento de dados, uma espécie de comunicador que fornece o endereço e o nome e permite a localização do outro computador devido ao recebimento das mesmas informações, sendo usado para estabelecer esta relação tanto na internet quanto em uma intranet. TCP significa Transmission Control Protocol (Protocolo de Controle de Transmissão) e o IP Internet Protocol (Protocolo de Internet), esses dois foram os primeiros a ser definidos. Entrando em termos um pouco mais técnicos, este conjunto de protocolos também pode ser visto como um modelo de camadas, no qual cada uma delas é responsável pela execução de uma quantidade ( grupo) de tarefas, e entregando um conjunto de atividades definidas para o protocolo da camada logo acima. Quanto mais alta a camada, mais próxima ao usuário ela se encontra e são aquelas que trabalham com dados mais abstratos (esta é a chamada “camada de aplicação”) e para as camadas em níveis mais baixos restam funções com um nível de abstração menor. O TCP faz parte da camada de mais alto nível do IP. Para entrar em detalhes ainda um pouco mais específicos, IP é um protocolo responsável pela entrega de pacotes para todos os outros protocolos TCP/IP e oferece um sistema de entrega de dados sem conexão. O TCP garante a entrega e garante o seqüenciamento dos pacotes. No caso da rede perder ou corromper um pacote TCP/IP durante a transmissão, é tarefa do TCP repassar estes dados. TCP/IP vs. Modelo de Referência OSI Como o TCP/IP é o protocolo de rede mais usado atualmente, vamos fazer uma correlação entre o protocolo TCP/IP e o modelo de referência OSI. Isto provavelmente ajudará a você entender tanto o modelo de referência OSI quanto o protocolo TCP/IP. Como vimos, o modelo de referência OSI tem sete camadas. O TCP/IP, por outro lado, tem apenas quatro camadas e dessa forma algumas camadas do protocolo TCP/IP representam mais de uma camada do modelo OSI. ________________________________________________________________________________ Paulo Damico 5/5 ________________________________________________________________________________ OSI TCP/IP APLICAÇÃO APRESENTAÇÃO APLICAÇÃO SESSÃO TRANSPORTE TRANSPORTE REDE INTERNET LINK DE DADOS INTERFACE COM A REDE FÍSICA Aplicação: Como mencionamos, os programas se comunicam com esta camada. Vários protocolos diferentes podem ser usados nesta camada, dependendo do programa que você estiver usando. Os mais conhecidos são HTTP (navegação web), SMTP (para envio de e-mails), POP3 (para o recebimento de e-mails) e o FTP (para transferência de arquivos). Transporte: Tudo o que dissemos sobre a camada de Transporte do modelo de referência OSI é válido para a camada de Transporte TCP/IP. Dois protocolos diferentes podem ser usados nesta camada, TCP (Transmission Control Protocol) e UDP (User Datagram Protocol). O primeiro usa o esquema de confirmação de recebimento, enquanto que o UDP não usa. O TCP é usado para transmitir dados do usuário (como páginas da web e e-mails) enquanto que o UDP é mais usado para transmitir dados de controle. Rede: Tudo o que dissemos sobre a camada de Rede do modelo de referência OSI é válido para a camada de Rede do TCP/IP. Vários protocolos podem ser usados nesta camada e o mais comum deles é o protocolo IP. Interface com a Rede: Camada 1 Esta camada é responsável por enviar os dados para o meio de transmissão. O que há dentro desta camada dependerá do seu tipo de rede. Se você está usando uma rede Ethernet (o tipo mais comum) você encontrará as três camadas do Ethernet (LLC, MAC e Física – LLC significa Controle do Link Lógico e MAC significa Controle de Acesso ao Meio) dentro desta camada do TCP/IP. A camada Física da rede Ethernet corresponde à camada Física do modelo de referência OSI, enquanto que as outras duas camadas (LLC e MAC) correspondem à camada de Link de Dados do modelo OSI. ________________________________________________________________________________ Paulo Damico