Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Delfa
REDES DE COMPUTADORES
AULA 02
1. Protocolos de Comunicao
A figura acima mostra uma rede com camadas. As entidades que ocupam as mesmas camadas em diferentes mquinas so chamadas de pares (peers). So os pares que se comunicam usando o protocolo. Os dados no so diretamente transferidos da camada n de uma mquina para a camada n da outra. Cada camada transfere os dados e as informaes de controle para a camada imediatamente abaixo dela, at a ltima camada ser alcanada. Abaixo da camada 1 est o meio fsico, atravs do qual se d a comunicao propriamente dita. Uma das consideraes mais importantes a definio clara das interfaces entre as camadas. preciso que cada camada execute um conjunto de funes bem definido. Isto reduz o volume de informaes a ser passado de uma camada para outra e simplifica a substituio de uma camada por uma implementao diferente. Um conjunto de camadas de protocolos chamado de arquitetura de rede. A especificao de uma arquitetura deve conter informaes suficientes para permitir que um implementador desenvolva o software ou construa o hardware de cada camada de modo que ele transmita corretamente o protocolo adequado. No h, no entanto, a 1
Profa. Delfa
REDES DE COMPUTADORES
AULA 02
necessidade de que as interfaces de todas as mquinas de uma rede sejam iguais, desde que cada uma delas possa usar todos os protocolos. Uma lista de protocolos usados por um determinado sistema chamado de pilha de protocolos. Usando como exemplo uma rede com 5 camadas, uma mensagem M produzida por uma aplicao executando na camada 5 transmitida para a camada 4. A camada 4 coloca um cabealho na frente da mensagem para identific-la e envia o resultado camada 3. O cabealho inclui informaes de controle, como nmeros de seqncia para permitir que a camada 4 da mquina de destino repasse as mensagens na ordem correta, para o caso das camadas inferiores no conseguirem manter a seqncia. Algumas camadas no impem limite ao tamanho da mensagem transmitida, enquanto outras impem. Assim, as camadas que limitam o tamanho da mensagem que elas podem enviar devem dividir as mensagens em unidades menores, chamadas pacotes, anexando um cabealho de sua camada a cada pacote. A camada 3 divide ento as mensagens e transmite os pacotes camada 2. A camada 2 adiciona, alm de um cabealho, um fecho (trailer), e envia a unidade resultante camada 1, para que ela possa ser transmitida fisicamente. Na mquina receptora, a mensagem ser movida para cima de camada em camada, com os cabealhos sendo excludos durante o processo.
Profa. Delfa
REDES DE COMPUTADORES
AULA 02
conhecido como PCI (Protocol Control Information Informao de Controle do Protocolo). O pacote formato pela unio da PCI com a SDU formam PDU (Protocol Data Unit Unidade de Dados do Protocolo).
Profa. Delfa
REDES DE COMPUTADORES
AULA 02
Para estabelecer uma conexo ente uma mquina A e uma mquina B, por exemplo, uma entidade na mquina A emite uma primitiva CONNECT.request, que faz com que um pacote seja enviado mquina B, que por sua vez recebe uma primitiva CONNECT.indication anunciando o pedido de conexo. A mquina B responde ao pedido pela primitiva CONNECT.response, que chega mquina A como a primitiva CONNECT.confirm.
No servios com confirmao as quatro primitivas so utilizadas, enquanto nos servios sem confirmao apenas as duas primeiras primitivas so utilizadas.
Profa. Delfa
REDES DE COMPUTADORES
AULA 02
O modelo OSI em si no uma arquitetura de rede, pois no especifica os servios e os protocolos que devem ser usados em cada camada. Ele apenas informa o que cada camada deve fazer. No entanto, a ISO criou padres para todas as camadas, embora eles no pertenam ao modelo de referncia propriamente dito. 1.2.1.1 A Camada Fsica A camada fsica trata da transmisso bruta de bits atravs de um canal de comunicao, sem se preocupar com o seu significado. O projeto da rede deve garantir que, quando um lado envia um bit, o outro lado o receba corretamente. As questes mais comuns so a quantidade de volts a ser usada para representar um bit 1 e um bit 0, a quantidade de tempo que um bit deve durar, o fato de a transmisso poder ser ou no realizada nas duas direes, a forma como a conexo inicial ser estabelecida e de que maneira ela ser encerrada, a quantidade de pinos que o conector da rede precisar e de que maneira eles sero utilizados, etc. As questes dizem respeito s interfaces mecnicas, eltricas e procedurais e ao meio de transmisso fsico, que fica abaixo da camada fsica. 1.2.1.2 A Camada de Enlace de Dados A principal tarefa da camada de enlace de dados transformar um canal de transmisso de bits de dados bruto em uma linha que parea livre dos erros de transmisso no detectados na camada de rede. Para tal, a camada de enlace de dados divide os dados de entrada em quadros de dados (que em geral tm algumas centenas ou milhares de bytes), transmite-os seqencialmente e processa os quadros de reconhecimento transmitidos pelo receptor. Cabe camada de enlace de dados criar e reconhecer os limites do quadro. Para o reconhecimento dos limites podem ser utilizados quatro mtodos. Contagem de caracteres: o cabealho informa o tamanho do quadro. Caracteres delimitadores e transparncia de caracteres: caracteres especiais so utilizados para indicar o incio e o fim do quadro. Para evitar confuso de aparecerem delimitadores nos dados so inseridos caracteres especiais. Seqncias especiais de bits: so utilizados flags para delimitar os quadros. Para evitar seqncia igual nos dados criado o bit stuffing. 5
Profa. Delfa
REDES DE COMPUTADORES
AULA 02
Violao de cdigo: utilizado em redes onde a codificao dos bits traz redundncias como, por exemplo, Manchester, que determina o bit pela direo da transio no meio do perodo do relgio.
Rudos na linha podem destruir completamente um quadro. Nesse caso, a camada de enlace de dados da mquina de origem dever retransmitir o quadro. No entanto, vrias transmisses do mesmo quadro criam a possibilidade de existirem quadros repetidos, especialmente no caso de um quadro de reconhecimento enviado pelo receptor ao transmissor ser perdido. Cabe camada de enlace de dados resolver os problemas causados pelos quadros repetidos, perdidos e danificados. Ela pode, ainda, oferecer diferentes classes de servio para a camada de rede. Outra funo da camada de enlace de dados implementar algum mecanismo de controle de fluxo para impedir que um transmissor rpido seja dominado por um receptor lento. Nas redes de difuso a camada de enlace de dados precisa ainda controlar o acesso ao canal compartilhado. Esse problema resolvido por uma subcamada especial denominada subcamada de acesso ao meio. 1.2.1.3 A Camada de Rede A camada de rede controla como os pacotes so roteados da origem para o destino. As rotas podem se basear em tabelas estticas que raramente so alteradas, podem ser determinadas no incio de cada conversao ou podem ser altamente dinmicas, sendo determinadas para cada pacote a fim de refletir a situao atual da rede. Se houver muitos pacotes na sub-rede eles utilizaro o mesmo caminho, provocando engarrafamentos. O controle de congestionamento pertence camada de rede. A camada de rede tambm responsvel pelo endereamento das mquinas. Em redes que trabalham com unidades de dados de diferentes tamanhos no nvel de enlace de dados pode ser necessrio realizar a fragmentao e a remontagem dos pacotes. A camada de rede a responsvel por esta tarefa. A camada de rede pode interligar redes com diferentes protocolos de enlace de dados. 1.2.1.4 A Camada de Transporte A funo bsica da camada de transporte aceitar dados da camada superior, dividi-los em unidades menores (caso seja necessrio), pass-los para a camada de rede e garantir que todas as unidades cheguem corretamente outra extremidade. Ela deve isolar os nveis superiores de erros como chegada fora de ordem dos pacotes ou at mesmo a perda ou a duplicao de um pacote. A camada de transporte determina o tipo de servio que ser oferecido camada acima. O tipo de conexo de transporte mais comum o canal ponto a ponto sem erros, que libera mensagens ou bytes na ordem em que eles so enviados. Outros tipos possveis de servio de transporte so as mensagens isoladas sem garantia em relao ordem de entrega e difuso de mensagens para muitos destinos. O tipo de servio determinado quando a conexo estabelecida. A camada de transporte uma camada fim a fim, que liga a origem ao destino. Nas camadas inferiores os protocolos so trocados entre mquinas vizinhas. 6
Profa. Delfa
REDES DE COMPUTADORES
AULA 02
Muitos hosts so multiprogramados, possuindo vrias conexes com outros hosts. Desta forma, preciso criar algum mecanismo que determiner a qual conexo uma mensagem pertence. A multiplexao de vrias conexes deve ser feita de forma transparente pela camada de transporte para as camadas superiores. Alm da multiplexao, a camada de transporte pode realizar tambm o splitting, que o aumento da vazo distribuindo uma conexo de transporte por vrias conexes de rede simultaneamente. Tambm cabe camada de transporte estabelecer e encerrar conexes. 1.2.1.5 A Camada de Sesso A camada de sesso permite que os usurios de diferentes mquinas estabeleam sesses entre eles. Uma sesso pode ser usada para permitir que um usurio estabelea um, login com um sistema remoto ou transfira um arquivo entre duas mquinas. Um dos servios de sesso o gerenciamento de token Para alguns protocolos, necessrio que ambos os lados no executem a mesma operao ao mesmo tempo. A camada de sesso oferece tokens para serem trocados, fazendo com que determinadas operaes s possam ser executadas pelo lado que est mantendo o token. Outro servio que a camada de sesso oferece a sincronizao. So inseridos pontos de sincronizao no fluxo de dados de forma que se a conexo for perdida no seja necessrio retransmitir todos os dados novamente, mas apenas aqueles enviados aps o ltimo ponto de sincronizao. 1.2.1.6 A Camada de Apresentao A camada de .apresentao executa determinadas funes solicitadas com muita freqncia, oferecendo uma soluo geral para todas elas em vez de. deixar tal responsabilidade a cargo de cada usurio. Ao contrrio das camadas inferiores, que esto interessadas em tornar confivel o processo de movimentao de bits de uma extremidade a outra, a camada de apresentao se preocupa com a sintaxe e a semntica das informaes transmitidas. Um exemplo tpico de um servio da camada de apresentao a codificao de dados conforme o padro estabelecido. Hosts tm diferentes cdigos para representar strings e valores numricos. Para permitir que hosts com diferentes representaes se comuniquem, as estruturas de dados trocadas podem ser definidas de uma forma abstrata, juntamente com. a codificao padro a ser usada durante a conexo. A camada de apresentao gerencia essas estruturas de dados abstratas e converte a representao utilizada pelo host para a representao padro da rede, e vice-versa. Outros exemplos de servios que podem ser oferecidos pela camada de sesso so a criptografia e a compresso de dados. 1.2.1.7 A Camada de Aplicao a camada que oferece aos usurios acesso pilha de protocolos OSI. Ela contm uma srie de protocolos necessrios ao funcionamento de uma rede como, por exemplo, terminais virtuais, transferncia de arquivos, correio eletrnico, etc. na camada de aplicao que so executados os processos dos usurios. 1.2.1.8 Transmisso de Dados no Modelo OSI A figura abaixo mostra como os dados podem ser transmitidos atravs do modelo OSI. Um processo que deseja enviar dados para um receptor passa os dados para a 7
Profa. Delfa
REDES DE COMPUTADORES
AULA 02
camada de aplicao que, em seguida, anexa o cabealho da aplicao e transmite o item resultante para a camada de apresentao.
camada de apresentao inclui um cabealho ao item a ser enviado e passa o resultado para a camada de sesso. A camada de apresentao no identifica qual trecho dos dados transmitidos a ela o cabealho da camada de aplicao e quais so os verdadeiros dados do usurio. O processo repetido at os dados alcanarem a camada fsica, onde eles so realmente transmitidos para o host de recepo. Na recepo, os diversos cabealhos so excludos um a um conforme a mensagem se propaga pelas camadas. Embora a transmisso de dados propriamente dita seja vertical, cada camada programada como se fosse horizontal. Quando a camada de transporte do transmissor, por exemplo, obtm uma mensagem da camada de sesso, ela anexa um cabealho de transporte e a envia camada de transporte do receptor.
Profa. Delfa
REDES DE COMPUTADORES
AULA 02
1.2.2.1 A Camada Inter-redes A camada inter-redes a camada que integra toda a arquitetura. Sua tarefa permitir que os hosts injetem pacotes em qualquer rede e garantir que eles sejam transmitidos independentemente do destino (que pode ser outra rede). A camada inter-redes define um formato de pacote oficial e um protocolo chamado IP (Internet Protocol). A tarefa da camada inter-redes entregar pacotes IP onde eles so necessrios. O roteamento uma questo de grande importncia nessa camada, assim como evitar congestionamentos. A funo da camada inter-redes do modelo TCP/IP a mesma da camada de rede do modelo OSI. 1.2.2.2 A Camada de Transporte A finalidade da camada de transporte permitir que as entidades par (peer entity) dos hosts de origem e de destino mantenham uma conversao exatamente como acontece na camada de transporte do modelo OSI. Dois protocolos fim a fim foram definidos. O primeiro deles, o TCP (Transmission Control Protocol), um protocolo orientado conexo confivel que permite a entrega sem erros de um fluxo de bytes originado de um determinado host para qualquer host da inter-rede. Esse protocolo fragmenta o fluxo de bytes de entrada em mensagens e passa cada uma delas para a camada inter-redes. No destino, o processo TCP remonta as mensagens recebidas no. O TCP cuida tambm do controle de fluxo, impedindo que um transmissor rpido sobrecarregue um receptor lento com um volume de mensagens muito grande. O segundo protocolo dessa camada o UDP (User Datagram Protocol), um protocolo sem conexo, no confivel, para aplicaes que no necessitam nem de controle de fluxo, nem da manuteno da seqncia das mensagens enviadas. amplamente utilizado em aplicaes em que a entrega imediata mais importante do que a entrega precisa. 1.2.2.3 A Camada de Aplicao O modelo TCP/IP no tem as camadas de sesso e de apresentao. Acima da camada de transporte est a camada de aplicao. A camada de aplicao contm os protocolos de alto nvel. Dentre eles esto o protocolo de terminal virtual (Telnet), o protocolo de transferncia de arquivos (FTP) e o protocolo de correio eletrnico (SMTP). Muitos outros protocolos foram includos com o decorrer dos anos, como o DNS (Domain Name Service), que mapeia os nomes 9
Profa. Delfa
REDES DE COMPUTADORES
AULA 02
de host para seus respectivos endereos de rede, o NNTP, protocolo usado para mover artigos de notcias, o HTTP, protocolo usado para buscar pginas na WWW (World Wide Web), o SSH, permite a conexo com outro computador na rede, permite as mesmas funcionalidades do Telnet com a vantagem da conexo entre o cliente e o servidor criptografada, o SSL, so protocolos criptografados que provem comunicao segura na Internet,como e-mail, navegao por pginas, entre outros. 1.2.2.4 A Camada Host/Rede Abaixo da camada inter-redes nada definido, exceto pelo fato de que o host tem de se conectar com a rede utilizando um protocolo para que seja possvel enviar pacotes IP. Esse protocolo no definido e varia de host para host e de rede para rede.
Profa. Delfa
REDES DE COMPUTADORES
AULA 02
Uma das maiores diferenas entre os dois modelos est no nmero de camadas. O modelo OSI tem sete camadas e o TCP/IP quatro. Outra diferena est na rea da comunicao sem conexo e da comunicao orientada conexo. Na camada de rede o modelo OSI compatvel com a comunicao sem conexo e com a comunicao orientada conexo. No entanto, na camada de transporte, o modelo aceita apenas a comunicao orientada conexo. O modelo TCP/IP tem apenas um modo na camada de rede (sem conexo), mas aceita ambos os modelos na camada de transporte, oferecendo aos usurios uma opo de escolha. Essa escolha especialmente importante para os protocolos simples de solicitao/resposta.
11