Sei sulla pagina 1di 11

Profa.

Delfa

REDES DE COMPUTADORES

AULA 02

1. Protocolos de Comunicao

1.1 Software de Rede


Nas primeiras redes de computadores, o hardware foi colocado como prioridade e o software, em segundo plano. Atualmente, o software da rede est altamente estruturado. Neste tpico ser estudada a tcnica de estruturao dos softwares.

1.1.1 Hierarquias de Protocolo


Para reduzir a complexidade do projeto, a maioria das redes foi organizada como uma srie de camadas ou nveis, que so colocados um em cima do outro. O objetivo de cada camada oferecer determinados servios para as camadas superiores, ocultando detalhes da implementao desses recursos. A camada n de uma mquina se comunica com a camada n da outra mquina. As regras usadas nesse dilogo so chamadas de protocolo da camada n. Basicamente, um protocolo um conjunto de regras sobre o modo como se dar a comunicao entre as partes envolvidas.

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.

1.1.2 Interfaces e Servios


Os elementos ativos em cada camada so chamados de entidades. Uma entidade pode ser uma entidade de software (como um processo) ou uma entidade de hardware. As entidades da mesma camada contidas em mquinas diferentes so chamadas de entidades pares (peer entity). As entidades da camada n implementam um servio usado pela camada n+1. Nesse caso, a camada n chamada provedora de servios e a camada n+1 chamada de usuria do servio. A camada n pode usar os servios da camada n-1 para oferecer seu servio. Ela pode, ainda, oferecer diversas classes diferentes de servios. Os servios esto disponveis em SAPs (Service Access Points Pontos de Acesso ao Servio). Os SAPs da camada n so os locais onde a camada n+1 pode acessar os servios oferecidos. Cada SAP tem um endereo exclusivo que o identifica. Para que duas camadas possam trocar informaes necessrio estabelecer um conjunto de regras sobre a interface. A entidade da camada n+1 passa uma IDU (Interface Data Unit Unidade de Dados da Interface) para a entidade da camada n atravs do SAP. A IDU consiste em uma SDU (Service Data Unit Unidade de Dados do Servio) e algumas informaes de controle. A SDU a informao passada pela rede para a entidade par da camada n+1. Para enviar a SDU, a camada n acrescenta um cabealho SDU. Tal cabealho 2

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).

1.1.3 Servios Orientados Conexo e Servios sem Conexo


As camadas podem oferecer dois tipos de servio diferentes para as camadas superiores: servios orientados conexo e servios sem conexo. No servio orientado conexo o usurio do servio antes estabelece uma conexo, usa a conexo e, em seguida, libera a conexo. Uma conexo funciona como um duto entre duas aplicaes, onde o emissor coloca os dados em uma extremidade do duto e o receptor recebe estes dados na outra extremidade. No servio sem conexo cada mensagem carrega o endereo destino. Cada mensagem pode percorrer um caminho diferente das demais, ocasionando a possibilidade de uma mensagem enviada em determinado momento chegar depois de uma mensagem enviada depois dela. Alguns servios so confiveis no sentido de que os dados jamais sero perdidos. Geralmente um servio confivel implementado por meio da confirmao das mensagens que chegam ao receptor. O processo de confirmao introduz overhead e retardos, fazendo com que ele nem sempre seja desejvel. Uma situao tpica em que um servio orientado conexo confivel apropriado a transferncia de arquivos, enquanto uma situao em que o retardo introduzido pode ser pior do que a confiabilidade o trfego de voz. O servio orientado conexo confivel tem duas pequenas variaes: fluxo de mensagem e fluxo de bytes. No fluxo de mensagens os limites da mensagem so preservados. Quando duas mensagens so enviadas, elas chegam como duas mensagens distintas. No fluxo de bytes a conexo no preserva os limites da mensagem. Nem todas as aplicaes necessitam de conexo. Tudo o que necessrio enviar uma mensagem cuja probabilidade de chegada seja bastante alta, sem que haja uma garantia de entrega. O servio sem conexo no confivel (sem confirmao) conhecido como servio de datagrama. Em algumas situaes conveniente ter confiabilidade em um servio sem conexo. O servio de datagrama com confirmao pode ser oferecido para essas aplicaes.

Profa. Delfa

REDES DE COMPUTADORES

AULA 02

1.1.4 Primitivas de Servio


Um servio um conjunto de primitivas (operaes) disponveis para que uma entidade possa acess-lo. Uma primitiva indica a execuo de alguma ao ou a gerao de um relatrio sobre uma ao executada por uma entidade par. As primitivas podem ser divididas em quatro classes: Primitiva Request Indication Response Confirm Significado Uma entidade solicita uma ao a outra Uma entidade informada sobre um evento Uma entidade responde a um evento Resposta a uma solicitao anterior da entidade

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.

1.2 Modelos de referncia


Nesta seo sero analisadas duas importantes arquiteturas de rede: o modelo de referncia OSI e o modelo TCP/IP.

1.2.1 O Modelo de Referncia OSI


O RM-OSI (Reference Model for Open Systems Interconnection Modelo de Referncia para Interconexo de Sistemas Abertos) mostrado na figura abaixo. Ele um modelo de 7 camadas baseado em uma proposta desenvolvida pela ISO (International Organization for Standardization) como um primeiro passo na direo da padronizao internacional dos protocolos usados nas diversas camadas. O modelo OSI trata da interconexo de sistemas abertos, ou seja, sistemas que esto abertos comunicao com outros sistemas.

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.

1.2.2 O Modelo de Referncia TCP/IP


A ARPANET, antecessora da Internet, foi uma rede de pesquisa criada pelo Departamento de Defesa dos Estados Unidos. Aos poucos universidades e reparties pblicas foram sendo conectadas a ela. Quando foram criadas as redes de rdio e satlite, comearam a surgir problemas com os protocolos existentes, forando a criao de uma nova arquitetura de referncia com o objetivo de conectar vrias redes ao mesmo tempo. Essa arquitetura veio a ficar conhecida como Modelo de Referncia TCP/IP, graas a seus dois principais protocolos. Diante da preocupao do Pentgono de que seus hosts e roteadores fossem destrudos de uma hora para outra, definiu-se tambm que a rede deveria ser capaz de sobreviver perda de hardwares da sub-rede, impedindo que as conversas que estivessem ocorrendo fossem interrompidas. Em outras palavras, o Pentgono queria que as conexes permanecessem intactas enquanto as mquinas de origem e de destino estivessem funcionando, mesmo que algumas mquinas ou linhas de transmisso intermedirias deixassem de operar repentinamente. 8

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.

1.2.3 Comparao entre os Modelos de Referncia OSI e TCP/IP


Os modelos de referncia OSI e TCP/IP tm muito em comum. Os dois se baseiam no conceito de uma pilha de protocolos independentes e as camadas tm praticamente as mesmas funes. Em ambos so oferecidos aos processos que desejam se comunicar um servio de transporte fim a fim independente do tipo de rede que est sendo usado. O modelo OSI tem trs conceitos fundamentais: Servios Interfaces Protocolos' Cada camada executa alguns servios para a camada acima dela. A definio do servio informa o que a camada faz e no a forma como as entidades acima dela o acessam ou como a camada funciona. A interface de uma camada informa como os processos acima dela podem acessla. A interface especifica quais so os parmetros e resultados a serem esperados. Ela tambm no revela o funcionamento interno da camada. Os protocolos utilizados em uma camada so de responsabilidade dessa camada. A camada pode usar os protocolos que quiser, desde que eles viabilizem a realizao do trabalho. Ela tambm pode alterar esses protocolos sem influenciar o software das camadas superiores. Originalmente, o modelo TCP/IP no distinguiu com clareza a diferena entre servio, interface e protocolo, embora as pessoas tenham tentado adapt-lo ao modelo OSI. Por essa razo, os protocolos do modelo OSI so mais bem encapsulados do que no modelo TCP/IP e podem ser substitudos com relativa facilidade. O modelo de referncia OSI foi concebido antes de os protocolos terem sido inventados. Conseqentemente, o modelo no foi criado com base em um determinado conjunto de protocolos, o que o deixou bastante flexvel. No entanto, h o inconveniente de os projetistas no terem experincia com o assunto e no terem muita noo sobre a funcionalidade que deveria ter sido colocado em cada camada. Com o TCP/IP, aconteceu exatamente o contrrio, Como os protocolos vieram primeiro, o modelo foi criado com base neles. Os protocolos no tiveram problemas para se adaptarem ao modelo. O nico problema foi que o modelo no se adaptava s outras pilhas de protocolos. Assim ele no era de muita utilidade quando havia necessidade de se descrever redes que no faziam uso do protocolo TCP/IP. 10

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

Potrebbero piacerti anche