Вы находитесь на странице: 1из 19

Sistemas Operacionais II

1.1.1 Modelo OSI


Para atingir objetivos de interoperabilidade, interconectividade, portabilidade e escalabilidade a ISO (International Organization for Standardization) criou um padro de arquitetura aberta e baseada em camadas. O padro desenvolvido conhecido como Modelo de Referncia para Interconexo de Sistemas Abertos (Reference Model for Open Systems Interconection - RM OSI).

1.1.1.1 Caractersticas gerais do modelo OSI


No modelo RM-OSI a comunicao dividida em 7 camadas. Cada camada trata com um aspecto especfico de comunicao e fornece uma interface para a camada acima. A interface consiste de um conjunto de operaes que definem o servio que a camada oferece. Cada camada (ou nvel) deve ser pensada como sendo um programa ou processo, que pode ser implementado tanto por hardware quanto por software e que est se comunicando com os processos correspondentes de outra mquina da rede. As regras que governam a conversao de um nvel N qualquer so chamadas de protocolo de nvel N. Um protocolo de nvel N um conjunto de regras e formatos (semntica e sintaxe), atravs dos quais informaes ou dados do nvel N so trocados entre as entidades do nvel N, localizadas em sistemas distintos, com o intuito de realizar as funes que implementam os servios do nvel N. Este conjunto de camadas hierrquico, ou seja, cada camada baseia-se na camada inferior, reduzindo o trabalho de desenvolvimento e de manuteno. O projeto de uma camada restrito ao contexto dessa camada e supe que os problemas fora deste contexto j estejam resolvidos. Ou seja, existem duas vantagens na utilizao de uma arquitetura em camadas: A complexidade reduzida atravs de abstraes - no interessa para uma determinada camada como as demais implementam o fornecimento de seus servios, s o que elas oferecem, na medida que a camada (N) sabe apenas que existem a camada (N-1), prestadora de determinados servios e a camada (N+1), que lhe requisita os servios; e, Facilidade de manuteno - a camada (N) preocupa-se apenas em utilizar os servios da camada (N-1), independentemente da implementao de seu protocolo. assim que uma camada pode ser alterada sem mudar as demais, desde que os servios que ela presta no sejam modificados. O modelo OSI um modelo de referncia e define apenas a arquitetura do sistema. O padro criado para o modelo OSI define o que cada camada deve fazer, mas no define como isto ser feito, ou seja, define os servios que cada camada deve prestar, mas no o protocolo que o realizar. A definio dos protocolos de cada camada, tambm prevista pela ISO, mas realizada por grupos de estudo diversos. Este passo uma tarefa muito dinmica, pois novas tecnologias de transmisso surgem a todo instante. Por um lado temos alguns padres bem documentados, mas por outro temos tecnologias emergentes que precisam ser adaptadas s condies do modelo OSI e ainda esto em processo de definio.

Sistemas Operacionais II

A arquitetura OSI foi desenvolvida a partir de trs elementos bsicos :


os processos de aplicao; as conexes que ligam os processos de aplicao e que lhes permitem trocar informaes; e, os sistemas que rodam as aplicaes. O esquema bsico das aplicaes e arquiteturas pode ser visto nas figuras abaixo:

Funes de cada elemento da arquitetura: Hardware: prov a infraestrutura necessria (no nvel mais baixo) para o processamento da aplicao, como a manipulao de bits, acesso a disco, etc. Sistema operacional: prov os servios bsicos de acesso a hardware, etc. Gerenciamento de dados: cuida de tarefas como o acesso, manipulao e troca de vrios tipos de dados. Uma consistncia nesta tarefa um grande passo rumo portabilidade de aplicaes. Existem vrias formas de implementao de acesso a bancos de dados, mas a mais comum e aceita pela indstria a SQL (Structure Query Language). Linguagem: tem sido feitos esforos em relao criao de uma linguagem com independncia da plataforma, de forma a prover a portabilidade de cdigo. Interface com o usurio: um dos principais fatores de portabilidade, j que prov a interface com o usurio da aplicao. Cada vez mais esto sendo desenvolvidas interfaces grficas e orientadas a objetos baseadas em janelas, cones e menus. Os principais padres para desenvolvimento de interfaces grficas so X Window e Motif. Comunicao: esta parte prov a comunicao e interoperao entre mquinas e sistemas diferentes, cuidando de caractersticas como padres de interoperao, endereamento, etc. O modelo OSI possui sete camadas, onde cada camada responsvel por uma determinada funo especfica. Os princpios utilizados para se chegar a estas camadas so: uma camada deve ser criada onde necessrio um nvel de abstrao diferente; cada camada deve desempenhar uma funo bem definida; a funo de cada camada deve ser definida tendo em vista a definio de protocolos padres internacionais; as fronteiras entre as camadas devem ser escolhidas de forma a minimizar o fluxo de informaes atravs das interfaces; nmero de camadas deve ser grande o suficiente para que no seja preciso agrupar funes em uma mesma camada por necessidade, e pequeno o suficiente para que a arquitetura fique manejvel. Cada camada usuria dos servios prestados pela camada imediatamente inferior e presta servios para a camada imediatamente superior. Esta troca de informaes entre as camadas adjacentes ocorre por meio da troca de primitivas de servios nas interfaces entre as camadas.

Sistemas Operacionais II Apesar do modelo OSI estar dividido em sete nveis, pode-se considerar genericamente que as trs camadas mais baixas cuidam dos aspectos relacionados transmisso propriamente dita e a camada de transporte lida com a comunicao fim-a-fim, enquanto que as trs camadas superiores se preocupam com os aspectos relacionados aplicao, j a nvel de usurio. A comunicao entre sistemas ocorre a nvel de camadas, ou seja, a camada de aplicao do sistema A se comunica com a camada de aplicao do sistema B e assim por diante at o nvel fsico, onde ocorre a comunicao fsica entre os sistemas. Na prtica, cada camada tem como funo adicionar um cabealho aos dados do usurio a serem transmitidos para outro sistema. A funo de cada camada do outro sistema exatamente a inversa, ou seja, retirar os cabealhos dos dados que chegam e entreg-los ao usurio em sua forma original. Assim, quando um processo na mquina A quer se comunicar com um processo na mquina B, ele constri uma mensagem e passa a mensagem para a camada de aplicao. Esta camada adiciona um header na frente da mensagem e passa a mensagem restante atravs da interface para a camada de apresentao. Esta nova camada adiciona seu prprio header e passa a mensagem restante para a camada sesso e assim por diante. Quando a mensagem chega na maquina B, o processo realizado ao contrario, retirando os headers nas camadas correspondentes. Consideradas todas as camadas do modelo OSI o aspecto das mensagens o apresentado na figura abaixo :

O procedimento de transmisso e recepo dos dados pode ser descrito como: O processo do sistema A que deseja transmitir entrega os dados a serem transmitidos para a entidade do nvel de aplicao do sistema A Estes dados recebem a denominao de Unidade de Dados do Servio (Service Data Unit - SDU) (A primeira SDU pertence ao nvel de aplicao) A entidade da camada de aplicao junta aos dados do usurio um cabealho denominado Informao de Controle do Protocolo (Protocol Control Information - PCI)

Sistemas Operacionais II A juno da SDU com a PCI formam um objeto chamado de Unidade de Dados do Protocolo (Protocol Data Unit - PDU) (A PDU a unidade de informao trocada entre entidades pares, ao executar o protocolo de uma camada, para fornecer o servio que cabe camada em questo ) A PDU do nvel de aplicao (cabealho mais dados do usurio) ento passada para o nvel de apresentao A entidade do nvel de apresentao trata a unidade que recebe, da mesma forma que o nvel de aplicao trata os dados do usurio (A PDU do nvel de aplicao uma SDU no nvel de apresentao ) A camada de apresentao acrescenta seu cabealho compondo assim a PDU do nvel de apresentao Este processo se repete at o nvel de enlace A camada de enlace, alm de acrescentar seu cabealho, acrescenta tambm uma terminao que contm uma Frame Check Sequence (FCS) para a deteco de erros (A PDU do nvel de enlace denominada de quadro ou frame) O quadro passado para o nvel fsico que acrescenta tambm um cabealho e uma terminao. Os dados no nvel fsico so tratados como bits. Os bits do nvel fsico so transmitidos atravs do meio de transmisso Quando os bits do nvel fsico chegam no nvel de enlace do destinatrio, todo o processo ocorre de forma inversa a medida em que a unidade de dados vai sendo passada para as camadas superiores, ou seja, cada camada retira seu cabealho e a terminao, que foi acrescentado pela entidade par de origem Cada camada executa as operaes do protocolo de acordo com a informao contida nos cabealhos e passa sua unidade de dados para a camada superior O procedimento se encerra com o processo no sistema remoto B recebendo os dados enviados pelo processo do sistema A Uma observao importante que o fato de termos dois sistemas distintos que estejam seguindo o padro RM-OSI, no garante que eles iro se comunicar. Isto se deve ao fato do modelo permitir que sejam usadas diferentes opes de servios e protocolos para as diversas camadas. Assim, dois sistemas distintos que utilizem servios e protocolos em conformidade com o RM-OSI ainda assim podem no se comunicar, caso tenham adotado protocolos incompatveis.

1.1.1.2 Servios
Um servio, representa um conjunto de funes oferecidas a um usurio por um fornecedor. O servio oferecido por um fornecedor acessado por um usurio atravs de um ponto de acesso ao servio denominado SAP - Service Access Point. Os elementos ativos de uma camada so chamados de entidades. Uma entidade pode ser de software (processo) ou de hardware (placa de rede). Entidades de uma mesma camada em mquinas diferentes so denominadas de entidades pares ou parceiras.

As entidades da camada 1 implementam servios usados pela camada 2 e assim por diante, at os servios aos usurios do ambiente de comunicao.
Os servios fornecidos de uma camada a outra so especificados por um conjunto de primitivas de servio que so trocadas entre as camadas por meio de sua API. Um servio pode ser confirmado, no confirmado ou iniciado pelo fornecedor.

Um servio confirmado ou com confirmao envolve um acordo entre o usurio que solicita o servio (solicitante) e outro usurio que informado que o servio foi solicitado e o aceita (acolhedor). Neste tipo de servio ocorrem 4 primitivas:
service.REQUEST - invocada pelo usurio solicitante service.INDICATION - entregue pelo fornecedor do servio ao usurio que o aceita service.RESPONSE - invocada pelo usurio que aceita o servio service.CONFIRMATION - entregue ao solicitante pelo fornecedor

Sistemas Operacionais II No servio no confirmado ou sem confirmao, no necessrio que o usurio solicitante e acolhedor acordem sobre a realizao do servio. Assim, a transferncia de dados provida sem o estabelecimento da conexo. Existem apenas duas primitivas para este tipo de servio. service.REQUEST - invocada pelo solicitante service.INDICATION - entregue ao acolhedor pelo fornecedor Finalmente, um servio iniciado pelo fornecedor gerado pelo fornecedor do servio em resposta a alguma condio interna. Consiste de apenas uma primitiva. service.INDICATION - entregue a ambos os usurios

1.1.1.3 Conexes
O modelo OSI distingue dois tipos de protocolos. a) Protocolos orientados a conexo Antes da troca de dados o receptor e o emissor estabelecem explicitamente uma conexo. Quando eles terminam devem terminar a conexo. Exemplo: sistema telefnico. No modo orientado a conexo temos trs fases: 1- Estabelecimento da Conexo Nesta fase, os usurios e o fornecedor do servio, negociam parmetros e opes que iro determinar como que o servio ser utilizado. Se a negociao for bem sucedida, uma conexo ser estabelecida entre os usurios do servio. Depois disso, as primitivas de servio passam a ser executadas no contexto desta conexo.

Sistemas Operacionais II Por exemplo, para estabelecer uma conexo de um servio de transporte, so trocadas as seguintes primitivas: T-CONNECT.request - enviada pelo solicitante ao fornecedor do servio de transporte T-CONNECT.indication - entregue pelo fornecedor ao usurio acolhedor do pedido de conexo. T-CONNECT.response - enviada pelo acolhedor ao fornecedor do servio T-CONNECT.confirmation - entregue pelo fornecedor ao solicitante 2 - Transferncia dos dados Nesta fase, os usurios do servio trocam dados. Seguindo o exemplo anterior ocorrem as seguintes primitivas de servio: T-DATA.request - enviada pelo solicitante ao fornecedor do servio seguida dos dados a serem transmitidos. T-DATA.indication - O fornecedor providencia o transporte dos dados a serem transmitidos e os entrega ao destinatrio. 3 - Liberao da conexo Nesta fase, a ligao entre os usurios desfeita, podendo ser feita de trs formas: Desconexo ordenada - Os usurios envolvidos concordam com o encerramento da conexo. Desconexo abrupta1 - Feita a partir de uma solicitao por parte de um dos usurios. Desconexo abrupta2 - Feita por solicitao do fornecedor do servio. b) Protocolos sem conexo O emissor transmite a primeira mensagem quando estiver pronto. Colocar uma carta na caixa do correio um exemplo de protocolo sem conexo.

No modo de transmisso no orientado a conexo, uma nica unidade de dados transmitida do SAP de origem para um ou mais SAPs de destino, sem que para isto seja estabelecida uma conexo entre eles. Toda a informao necessria para transmitir a unidade de dados (endereo, parmetros de qualidade de servio, etc) passada para a camada que vai fornecer o servio, junto com os dados a serem transmitidos atravs de uma nica primitiva de servio service.REQUEST. O fornecedor do servio no relaciona um pedido com nenhum outro efeito antes e depois dele. Sendo assim, cada unidade de dados roteada de forma independente das demais. No servio no orientado a conexo bsico, no feito nenhum controle de fluxo nem sequenciao. O fornecedor do servio entrega a unidade de dados transmitida aos destinatrios atravs da primitiva service.INDICATION. 1.1.1.4 Camadas 1) A camada Fsica
Responsvel pela transmisso dos os e 1s que compe a mensagem, quantos bits por segundo podem ser enviados e se a transmisso pode ser feita em ambas as direes simultaneamente. A camada fsica a nica camada que possui acesso fsico ao meio de transmisso da rede devendo, portanto, se preocupar com fatores como as especificaes eltricas, mecnicas, funcionais e procedurais da interface fsica entre o equipamento e o meio de transmisso, ou seja, a camada fsica tem como funo bsica a adaptao do sinal ao meio de transmisso. mecnicas: propriedades fsicas da interface com o meio fsico de transmisso, incluindo, por exemplo, o tipo de conector utilizado; eltricas: se relacionam com a representao de um bit em termos de, por exemplo, nvel de tenso utilizado e taxa de transmisso de bits; funcionais: definem as funes a serem implementadas por esta interface;

Sistemas Operacionais II procedurais: especificam a seqncia de eventos trocados durante a transmisso de uma srie de bits atravs do meio de transmisso. A camada fsica possui as seguintes funes: estabelecimento/encerramento de conexes: ativa e desativa conexes fsicas mediante a solicitao de entidades da camada de enlace; transferncia de dados: a unidade de transmisso utilizada o bit. O nvel fsico tem como funo transmitir os bits na mesma ordem em que chegam da camada de enlace (no sistema de origem) e entreg-los camada de enlace na mesma ordem que chegaram (no sistema de destino); gerenciamento das conexes: gerncia da qualidade de servio das conexes fsicas estabelecidas. Deve monitorar taxa de erros, disponibilidade de servio, taxa de transmisso, atraso de trnsito etc. Exemplos de padres de nvel fsico: X.21, X.21 bis, V.24, V.28, RS-232, I.430, I.431 etc.

2) A camada de Enlace de Dados


Responsvel por agrupar os bits em frames e verificar se cada frame corretamente recebido. Esta camada coloca um padro de bits especial denominada checksum no incio e no fim de cada frame. Quando o frame chega no receptor este recalcula o checksum do dado e o compara com o checksum que segue o frame. Se eles no coincidem o receptor pede ao emissor para retransmiti-lo. Caso contrrio o receptor aceita a mensagem. No header so atribudos nmeros seqenciais aos frames para saber em relao a qual frame a mensagem de erro corresponde.

A camada de enlace tem o objetivo de prover uma conexo confivel sobre um meio fsico. Sua funo bsica detectar e, opcionalmente, corrigir erros que por ventura ocorram no nvel fsico. As suas principais funes so:
estabelecimento e liberao da conexo de enlace sobre conexes fsicas ativas; splitting da conexo de enlace: desta forma pode haver uma conexo de enlace sobre vrias conexes fsicas; montagem e delimitao de quadros (framing): montagem de quadros a partir de unidades de quadros de servios provindas da camada de rede e reconhecimento de quadros a partir da cadeia de bits vinda do nvel fsico; controle de fluxo: controla a taxa de transmisso dos quadros, evitando que o sistema transmissor envie dados a uma taxa maior do que o receptor consegue processar. Utiliza para isso mecanismos como stop-and-wait, positive acknowledgment e sliding window. controle de acesso: gerncia do acesso ao meio de transmisso; controle de erro: a camada de enlace deve detectar erros de transmisso, de formato e de operao devidos a problemas de conexo fsica ou mau funcionamento da prpria camada. Os erros mais comumente detectados so erros devido a perdas, duplicao, no-ordenao e danificao de quadros. controle de seqncia: as unidades de dados de servio de enlace devem ser entregues entidade de rede de destino na mesma ordem em que so recebidas da entidade de rede de origem; gerenciamento: a camada de enlace deve exercer algumas funes de gerenciamento relacionadas qualidade de servio prestado, caracterizada por: tempo mdio entre erros irrecuperveis, taxa de erro residual decorrente da alterao, perda, duplicao e noordenao dos quadros, disponibilidade do servio, atraso de trnsito e throughput (vazo). O protocolo de enlace mais conhecido o HDLC, antecessor de outros como LAPB, LAPD e LLC.

3) A camada de Rede
Numa LAN no existe necessidade do emissor localizar o receptor, basta colocar a mensagem na rede e o receptor o consome. Mas numa rede WAN com um grande nmero de

Sistemas Operacionais II maquinas esta camada responsvel por encontrar o melhor caminho. Este procedimento conhecido por roteamento e a principal desta camada. A camada de rede deve tornar transparente para a camada de transporte a forma como os recursos dos nveis inferiores so utilizados para implementar conexes de rede. Deve tambm equalizar as diferenas entre as diversas sub-redes utilizadas de forma a fornecer um servio nico a seus usurios (independente da rede utilizada). Suas principais funes so: roteamento: determinao das rotas apropriadas para a transmisso dos dados entre dois endereos (origem e destino) atravs de algoritmos de roteamento; multiplexao da conexo de rede: vrias conexes de rede podem ser multiplexadas sobre uma nica conexo de enlace, a fim de otimizar a utilizao desta ltima; segmentao e blocagem: caso as sub-redes envolvidas em uma comunicao fim-afim possuam diversos tipos e tamanhos de quadros, a camada de rede deve exercer funes de segmentao de quadros e remontagem destes no destino; controle de erro: detecta e, dependendo da qualidade do servio exigida, at corrige erros de alterao, perda, duplicao e no-ordenao das unidades de dados; seqenciao: a camada de rede responsvel por manter a ordem das unidades de dados de servio de rede a serem transmitidas na rede e recebidas pela camada de transporte no destino; controle de fluxo: controle da taxa em que os dados so transmitidos, de forma que o transmissor no envie mais dados do que o receptor tenha capacidade de receber; transferncia de dados expressos: a transmisso de dados expressos tem por finalidade estabelecer prioridade de transmisso para alguns dados (como sinalizao e interrupo) sobre os dados normais; seleo de servio: permite a escolha do servio de rede, de modo a garantir que os servios oferecidos pelas diversas sub-redes sejam equivalentes; gerenciamento: a camada de rede deve efetuar tarefas de gerenciamento relacionadas qualidade de servio oferecida, caracterizada pelos parmetros citados acima. A camada de rede pode prestar servios orientados conexo (CONS - Connection Oriented Network Service) ou servios no-orientados conexo (CLNS - Connection Less Oriented Network Service). Dois protocolos de rede so muito usados, um orientado a conexo chamado X.25 e o outro sem conexo chamado IP ( Internet Protocol). O usurio do X.25 envia um Call Request para o destino que pode aceitar ou rejeitar a conexo. Se a conexo aceita o chamador recebe um identificador para usar nos pedidos subsequentes. Um pacote IP pode ser enviado sem qualquer inicializao, ele roteado para os seus destinos independente de todos os outros.

4) A camada de Transporte
Fornece o servio de manter conexes confiveis. Aps receber uma mensagem da camada de sesso, esta camada quebra em pequenos pedaos e atribui a cada um 1 nmero seqencial e os envia. No receptor a camada de transporte controla a chegada dos pacotes e os ordena seqencialmente. A camada de transporte prov mecanismos que possibilitam a troca de dados fim-a-fim, ou seja, a camada de transporte no se comunica com mquinas intermedirias na rede, como pode ocorrer com as camadas inferiores. As principais funes da camada de transporte so: estabelecimento e liberao da conexo de transporte: para se estabelecer a conexo, devem ser negociadas a classe de protocolo a ser utilizada, o tamanho mximo das unidades de dados de protocolo, a utilizao ou no do servio de transferncia de dados expressos, parmetros de qualidade de servio (throughput, atraso de trnsito, prioridade, taxa de erro residual, etc) etc; controle de seqncia e controle de erro: numerao e reconhecimento explcito dos dados a fim de evitar perdas, duplicao ou entrega fora de ordem; 8

Sistemas Operacionais II controle de fluxo: a tcnica de controle de fluxo utilizada na camada de transporte a tcnica de alocao de crdito, parecida com a janela deslizante; segmentao, blocagem e concatenao fim-a-fim: adapta o tamanho da unidade de dados utilizadas para as camadas de transmisso; monitorao da qualidade do servio: a monitorao da qualidade de servio deve ser constante, caso contrrio deve ser gerada uma notificao camada de sesso; transferncia de dados expressos: a camada de transporte deve possibilitar esta funcionalidade; gerenciamento: funes de gerenciamento relacionadas qualidade de servio prestado s entidades de sesso.

As funes implementadas pela camada de transporte dependem da qualidade de servio desejada. Foram especificadas, ento, cinco classes de protocolos
orientados conexo: classe 0: simples, sem nenhum mecanismo de deteco e recuperao de erros; classe 1: recuperao de erros bsicos sinalizados pela rede; classe 2: permite que vrias conexes de transporte sejam multiplexadas sobre uma nica conexo de rede e implementa mecanismos de controle de fluxo; classe 3: recuperao de erros sinalizados pela rede e multiplexao de vrias conexes de transporte sobre uma conexo de rede; classe 4: deteco e recuperao de erros e multiplexao de conexes de transporte sobre uma nica conexo de rede. O protocolo de transporte DOD chamado TCP a combinao TCP/IP muito usada em protocolo sem conexo. O protocolo de transporte DOD sem conexo chamado UDP.

5) A camada de Sesso
Fornece controle de dialogo para guardar a trilha de que parte est ativa e fornece facilidades de sincronizao. A camada de sesso a responsvel pelo estabelecimento de sesses entre dois usurios permitindo o transporte ordinrio de dados (assim como a camada de transporte), porm com alguns servios mais refinados, que podem ser teis em algumas aplicaes. Alguns servios que a camada de sesso deve prover so, por exemplo: gerncia do controle de dilogo: a troca de informaes entre entidades em um circuito halfduplex deve ser controlada atravs da utilizao de tokens. A camada de sesso responsvel pela posse e entrega destes tokens, ajudando a controlar de quem a vez de transmitir; sincronizao: para se evitar, por exemplo, a perda de um volume de dados muito grandes que esto sendo transmitidos em uma rede no confivel, utiliza-se o conceito de ponto de sincronizao. O ponto de sincronizao corresponde a marcas lgicas posicionadas ao longo do dilogo. Toda vez que um usurio recebe um ponto de sincronizao, deve enviar uma resposta, confirmando que este foi recebido. Caso a transmisso, por algum motivo, seja interrompida, ela pode ser reiniciada a partir do ltimo ponto de sincronizao confirmado; gerenciamento da camada de sesso.

6) A camada de Apresentao Ao contrrio das camadas inferiores, esta camada j no se preocupa com os dados a nvel de bits, mas sim com a sua sintaxe, ou seja, sua representao. Nela definida a sintaxe abstrata, ou seja, a forma como os tipos e os valores dos dados so definidos, independentemente do sistema computacional utilizado e a sintaxe de transferncia, ou seja, a maneira como realizada esta codificao. Por exemplo, atravs da sintaxe abstrata define-se

Sistemas Operacionais II

que um caracter A deve ser transmitido. A sintaxe de transferncia especifica, ento, como este dado ser codificado em ASCII ou EBCDIC ao ser entregue camada de sesso.
Outras funes que a camada de apresentao pode executar so a criptografia e compresso de dados.

10

Sistemas Operacionais II

7) A camada da Aplicao
Coleo de protocolos para atividades comuns tal como: mail eletrnico, transferencia de arquivos e conexo de terminais remotos para computadores da rede. Basicamente, as funes da camada de aplicao so aquelas necessrias adaptao dos processos de aplicao ao ambiente de comunicao. A camada de aplicao estruturada modularmente para permitir a flexibilidade das funes e de forma, para se determinar os requisitos de comunicao de cada aplicao distribuda. A camada de aplicao deve seguir o descrito na norma ISO 9545. Ela formada por vrias ASE's (Elemento de Servio de Aplicao), que so os componentes bsicos das AE's (Entidade de Aplicao). Uma AE a funo que um processo de aplicao utiliza para se comunicar com os seus pares. Um processo de aplicao pode utilizar diversas AE's, cada uma das quais provendo um conjunto de definies de cada uma das funes e das regras que governam o uso destas funes. O componente bsico de uma AE um Elemento de Servio de Aplicao (ASE). Um ASE um elemento que define uma funo ou um conjunto de funes que ajudam na realizao da aplicao. Desta forma, pode-se imaginar que um AE um grande programa feito de muitos subprogramas ou procedimentos, que so os ASE. As principais funes da camada de aplicao so: Seleo do modo de dilogo (full duplex ou half duplex); Determinao da qualidade de servio aceitvel na conexo: retardo de transferncia, taxa de erro tolervel, etc; Identificao dos futuros parceiros na comunicao: por nome ou endereo; Especificao de aspectos relativos segurana: controle de acesso, integridade de dados, etc.

Exemplos de protocolos a nvel de Aplicao so o X.400 para correio eletrnico e X.500 para servidor de diretrios.

7 - Internet e TCP/IP
O Departamento de Defesa dos Estados Unidos (DOD), com o objetivo de se ter uma rede interligando vrias universidades e rgos do governo de maneira descentralizada , estabeleceu protocolos de comunicao para os nveis de rede (IP) e de transporte (TCP e UDP) que, ao longo do tempo, foram se tornando padres de fato e so amplamente utilizados, principalmente com a expanso da Internet (a rede mundial originria da rede de instituies de ensino e pesquisa proposta inicialmente pelo DOD). Os protocolos da internet no foram criados por rgos internacionais de padronizao, como a ISO ou o IEEE, mas existe um corpo tcnico que coordena a elaborao de protocolos e padres da internet, que o IAB (Internet Activity Board). Qualquer novo protocolo a ser utilizado pela rede internet pode ser proposto atravs de um documenteto chamado RFC (Request for Comments), que pode ser acessado na Internet. Estes RFC's so analisados pelos membros da IAB que podem sugerir mudanas e public-lo. Se aps seis meses da publicao no houver nenhuma objeo, este protocolo torna-se um Internet Standard. A arquitetura internet se baseia praticamente em um servio de rede no orientado conexo (datagrama no confivel), o Internet Protocol (IP) e em um servio de transporte orientado conexo, o Transmission Control Protocol (TCP). Juntos, estes protocolos se completam, oferecendo um servio confivel de uma forma simples e eficiente.

11

Sistemas Operacionais II

A arquitetura internet se baseia em um modelo com quatro camadas, onde cada uma executa um conjunto bem definido de funes de comunicao. No modelo em camadas da internet, no existe uma estruturao formal para cada camada, conforme ocorre no modelo OSI. Ela procura definir um protocolo

prprio para cada camada, assim como a interface de comunicao entre duas camadas adjacentes.

7.1 - Camada de Rede de comunicao


Na camada de rede de comunicao da internet, no existe um padro para a sub-rede de acesso, possibilitando a conexo de qualquer tipo de rede, desde que haja uma interface que compatibilize a tecnologia da rede com o protocolo IP. Desta forma, um nmero muito grande de tecnologias pode ser utilizado na sub-rede de acesso, como Ethernet, Token Ring, FDDI, X.25, Frame Relay, ATM, etc. Para que todas estas tecnologias possam ser "vistas" pela rede internet, existe a necessidade de uma converso de endereamentos do formato utilizado pela sub-rede e o formato IP. Esta converso realizada pelos gateways, que tornam a interconexo das redes transparente para o usurio (figura 3.2). Alm das converses de protocolos, os gateways so responsveis pela funo de roteamento das informaes entre as sub-redes.

12

Sistemas Operacionais II

7.2 - Camada de Inter-rede

A camada de Inter-Rede, tambm chamada de Internet, equivalente camada de rede do modelo OSI. Nela so especificados vrios protocolos, dentre os quais se destaca o IP (Internet Protocol). O IP um protocolo no orientado a conexo, cuja funo transferir blocos de dados denominados datagramas da origem at o destino, podendo passar inclusive por vrias sub-redes (a origem e o destino so hosts identificados por endereos IP). A operao no modo datagrama uma comunicao no confivel, no sendo usado nenhum reconhecimento fim a fim ou entre ns intermedirios, nem qualquer tipo de controle de fluxo. Nenhum mecanismo de controle de erro de dados utilizado, apenas um controle de verificao do cabealho, para garantir que os gateways encaminhem as mensagens corretamente. Algumas das principais caractersticas do protocolo IP so as seguintes: Servio de datagrama no confivel; Endereamento hierrquico; Facilidade de fragmentao e remontagem de pacotes; Campo especial indicando qual o protocolo de transporte a ser utilizado no nvel superior; Identificao da importncia do datagrama e do nvel de confiabilidade exigido; Descarte e controle de tempo de vida dos pacotes inter-redes no gateway.

13

Sistemas Operacionais II

7.2.1 - Endereamento IP O roteamento dos datagramas atravs das sub-redes so feitos baseados no seu endereo IP, nmeros de 32 bits normalmente escritos como quatro octetos (em decimal), por exemplo 9.179.12.66. Devido ao fato de existirem redes dos mais variados tamanhos compondo a inter-rede, utiliza-se o conceito de classes de endereamento:

Formato dos Endereos IP


Os endereos IP indicam o nmero da rede e o nmero do host, sendo que a classe A suporta at 128 redes com 16 milhes de hosts cada uma, a classe B 16384 redes com at 64 mil hosts cada uma, a classe C 2 milhes de redes com at 256 hosts cada uma e a classe D, onde um datagrama dirigido a um grupo de hosts. Os endereos a partir de 1111 esto reservados para uso futuro. A Internet utiliza a classe C para endereamento de suas redes e mquinas. Quando um novo provedor de acesso se conecta ela, ele recebe 256 endereos para serem utilizados pelos seus hosts (ou "usurios"). Como um provedor pode ter mais de 256 clientes, ele utiliza um esquema de alocao dinmica de IP, ou seja, quando o usurio se conecta ao provedor de acesso, ele recebe um endereo IP, podendo desta forma haver at 256 usurios conectados simultaneamente a um provedor de acesso.

7.2.2 - Formato do Datagrama IP


O protocolo IP recebe da camada de transporte mensagens divididas em datagramas de 64 kbytes cada um, sendo que cada um destes transmitido atravs da Internet, sendo ainda possivelmente fragmentados em unidades menores medida em que passam por sub-redes. Ao chegarem ao seu destino, so remontados novamente pela camada de transporte, de forma a reconstituir a mensagem original. O datagrama utilizado pelo protocolo IP consiste em um cabealho e um payload, sendo que o cabealho possui um comprimento fixo de 20 bytes mais um comprimento varivel.

14

Sistemas Operacionais II

Cabealho IP
O campo VERS identifica a verso do protocolo que montou o quadro. O campo HLEN informa o tamanho do quadro em palavras de 32 bits, pois este pode ser varivel. O campo SERVICE TYPE indica s sub-redes o tipo de servio que deve ser oferecido ao datagrama (por exemplo, para transmisso de voz digitalizada necessita-se mais de uma entrega rpida do que um controle rigoroso de erros, ao passo que para um servio de transferncia de arquivos, o tempo de entrega pode ser sacrificado para se obter um maior controle de erro). O campo TOTAL LENGTH armazena o comprimento total do datagrama (dados e cabealho), com um valor mximo de 65.536 bytes. O campo IDENTIFICATION possibilita ao host determinar a que datagrama pertence um fragmento recm-chegado (todos os fragmentos de um datagrama possuem o mesmo valor). O campo FLAGS composto de um bit no utilizado seguido por dois bits, DF e MF. O DF significa Don't Fragment e indica que os gateways no devem fragmentar este datagrama (por incapacidade do destino juntar novamente os fragmentos). MF significa More Fragments, e utilizado como dupla verificao do campo TOTAL LENGTH, sendo que todos os fragmentos, menos o ltimo possuem este bit setado. O FRAGMENT OFFSET informa a que posio no datagrama atual pertence o fragmento. O campo TIME TO LIVE um contador utilizado para se limitar o tempo de vida de um pacote. Quando o datagrama criado, este campo recebe um valor inicial, que decrementado toda vez que passa por um gateway. Quando este contador atinge o valor zero, isto indica que a rede est em congestionamento ou que o datagrama est em loop, e o datagrama descartado. O campo PROTOCOL indica o protocolo que gerou o datagrama e que deve ser utilizado no destino. O campo HEADER CHECKSUM utilizado pelos gateways para se fazer uma verificao do cabealho (apenas do cabealho, no dos dados), para que o gateway no roteie um datagrama que chegou com o endereo errado. SOURCE IP ADRESS e DESTINATION IP ADRESS so, respectivamente, os endereos de host origem e destino. O campo IP OPTIONS usado para o transporte de informaes de segurana, roteamento na origem, relatrio de erros, depurao, fixao da hora e outras. O campo PADDING possui tamanho varivel e utilizado para se garantir que o comprimento do cabealho do datagrama seja sempre um mltiplo inteiro de 32 bits. Finalmente, o campo DATA transporta os dados do datagrama.

7.2.3 - Roteamento
O roteamento consiste no processo de escolha do caminho atravs do qual deve ser enviado o dado para o sistema destino. Caso o destino esteja localizado na mesma sub-rede, esta uma tarefa fcil. Porm quando o destino se encontra em um sub-rede diferente, a transmisso dos dados feita atravs de um gateway. O gateway faz o roteamento baseado no endereo IP de destino do datagrama. Se o gateway j estiver conectado rede para onde o dado deve ser enviado, o problema acabou. Porm, o gateway pode no estar ligado diretamente rede de destino. Neste caso, a partir da identificao da sub-rede, o endereo fsico do prximo gateway

15

Sistemas Operacionais II na rota obtido, atravs de processos de mapeamento. importante observar que o gateway utilizado em uma rede internet possui funcionalidades distintas das normalmente aplicadas a ele nas redes OSI. O roteamento pode, ento, ser dividido em dois tipos: roteamento direto: quando o destino do datagrama se encontra na mesma sub-rede; roteamento indireto: quando o destino se encontra em outra sub-rede, necessitando de um gateway para o roteamento; Para realizar o roteamento indireto, os gateways utilizam tabelas de roteamento, que armazenam informaes sobre como atingir cada sub-rede da rede internet. Uma tabela de roteamento possui, tipicamente, entradas do tipo (N,G), onde N um endereo IP (de destino) e G o endereo IP do prximo gateway a ser utilizado para se atingir N :

Tabela de Roteamento Para diminuir o tamanho das tabelas de roteamento, existem algumas tcnicas a serem utilizadas. Por exemplo, pode-se utilizar rotas default (prestabelecidas) para quando no se encontra referncia na tabela sobre uma determinada rota. Este caso se aplica tipicamente para redes que possuem um nico gateway, como por exemplo, departamentos de uma universidade ligados ao backbone por apenas um gateway. Ao invs de se ter uma rota para cada sub-rede, utiliza-se a rota default. 7.5.1 - Algoritmos de Roteamento
Um algoritmo de roteamento a parte do software da camada de rede que tem por objetivo decidir sobre qual linha de sada um pacote que chega deve ser transmitido. Para uma rede que trabalha com datagrama, a deciso deve ser tomada para cada pacote de dados que chega. J para a rede que trabalha com circuitos virtuais, a deciso de roteamento deve ser tomada apenas quando se estabelece um circuito virtual. Quando uma mquina M tem um datagrama a ser enviado, ela deve executar os seguintes passos: retirar do datagrama o endereo IP do destinatrio (IPD); a partir do IPD obter o id.rede da sub-rede de destino (IRD); caso o IRD corresponda a uma rede na qual a mquina M est diretamente conectada, enviar o datagrama diretamente a IPD (roteamento direto); seno, se IRD aparece na tabela de roteamento, rotear o datagrama como especificado na tabela;

seno, se foi especificado um gateway pr-definido na tabela de roteamento, rotear o datagrama conforme especificado na tabela;
seno, indicar situao de erro utilizando, por exemplo, o protocolo ICMP. Existem basicamente dois tipos de algoritmos utilizados em redes internet: Vetor-Distncia e Estado-do-Enlace.

16

Sistemas Operacionais II

7.2.4 - Fragmentao e Remontagem de Datagramas


Como os datagramas IP atravessam redes das mais diversas tecnologias, os tamanhos dos quadros nem sempre devem ser os mesmos. Portanto deve haver uma certa flexibilidade em termos de tamanho de pacote a ser transmitido, de forma a este pacote se adaptar sub-rede que vai atravessar. Esta flexibilidade se d atravs da facilidade de fragmentao e remontagem de datagramas. Quando for necessrio transmitir um datagrama maior do que o suportvel pela rede, devese particionar o pacote em fragmentos. Estes fragmentos so transportados como se fossem datagramas independentes. Para poder recompor o datagrama original no destino, so utilizados alguns campos do cabealho do datagrama. Quando o destino recebe o primeiro fragmento, inicia-se uma temporizao para se aguardar o conjunto completo dos fragmentos que compem o datagrama. Caso um dos fragmentos no chegue durante este intervalo, o datagrama descartado, acarretando perda de eficincia.

7.3 - Camada de Transporte


A camada de transporte tem o objetivo de prover uma comunicao confivel entre dois processos, estando eles ocorrendo dentro da mesma rede ou no. Ela deve garantir que os dados sejam entregues livres de erros, em seqncia e sem perdas ou duplicao. A Arquitetura Internet especifica dois tipos de protocolos na camada de transporte: o UDP (User Datagram Protocol) e o TCP (Transmission Control Protocol). O UDP um protocolo no orientado conexo que pode ser considerado como uma extenso do protocolo IP, e no oferece nenhuma garantia em relao entrega dos dados ao destino. J o protocolo TCP oferece aos seus usurios um servio de transferncia confivel de dados, atravs da implementao de mecanismos de recuperao de dados perdidos, danificados ou recebidos fora de seqncia, minimizando o atraso na sua transmisso. A cada fragmento transmitido incorporado um nmero de seqncia, de forma a no se perder a ordem dos segmentos a serem juntados para formar o datagrama. Existe um mecanismo de reconhecimento para executar essa funo que funciona da seguinte forma: o reconhecimento transmitido pelo receptor ao receber o segmento X o nmero do prximo segmento que o receptor espera receber (X+1), indicando que j recebeu todos os segmentos anteriores a este. Atravs da anlise dos nmeros de segmento, o receptor pode ordenar os segmentos que chegaram fora de ordem e eliminar os segmentos duplicados. Com base no checksum que adicionado a cada segmento transmitido, os erros de transmisso so tratados e os segmentos danificados so descartados. Existe ainda um controle de fluxo baseado no envio da capacidade de recebimento do receptor, contado a partir do ltimo byte recebido, ao transmissor. Desta forma o transmissor consegue controlar a quantidade de dados que so enviados ao receptor para no haver descarte de segmentos nem necessidade de retransmisso, que ocasionam a queda do desempenho da rede. Para permitir que vrios usurios (processos de aplicao) possam utilizar simultaneamente os servios do protocolo TCP, foi criado o conceito de porta. Para no haver problemas de identificao de usurios, o identificador da porta associado ao endereo IP onde a entidade TCP est sendo realizada, definindo assim um socket. A associao de portas a processos de aplicao (usurios) tratada de forma independente por cada entidade TCP. No entanto, processos servidores que so muito utilizados, como FTP, Telnet, etc, so associados a portas fixas, divulgadas aos usurios. Uma conexo identificada pelo par de sockets ligados em suas extremidades. Um socket local pode participar de vrias conexes diferentes com sockets remotos. Uma conexo pode ser utilizada para transportar dados em ambas as direes simultaneamente, ou seja, as conexes TCP so full-duplex.

17

Sistemas Operacionais II importante observar aqui que quando se fala que o TCP orientado conexo, no se fala em conexo a nvel fsico, mas sim a nvel lgico. Este conceito pode ser compreendido atravs da figura abaixo.

Servios orientados e no orientados conexo No caso da figura acima, a mquina A quer se comunicar com a mquina B atravs de uma rede em anel utilizando TCP/IP. A nica conexo fsica que existe entre A e B atravs do anel, passando pelas mquinas C e D. A nvel de IP, a comunicao no orientada conexo, portanto muito simples enxergar que os dados possuem apenas dois caminhos para ir de A at B: atravs de C ou atravs de D. A nvel de TCP, porm, a comunicao entre os computadores A e B ocorre como se houvesse uma conexo direta entre eles. Isso implica que, se a nvel de IP os dados podem chegar fora de ordem, o TCP tem que garantir a ordenao destes dados, de forma que eles sempre chegem na ordem correta, como aconteceria se houvesse uma conexo fsica direta entre A e B.

7.4 - Camada de aplicao


As aplicaes na arquitetura Internet, ao contrrio do que ocorre com as OSI, so implementadas de uma maneira isolada, ou seja, no existe um padro que defina como deve ser estruturada uma aplicao. Cada aplicao possui seu prprio padro, correspondente a um RFC (Request for Comments).

18

Sistemas Operacionais II

7.5 - TCP/IP x OSI


A principal diferena entre os modelos TCP/IP e OSI, que o modelo OSI evoluiu de uma definio formal elaborada por comisses da ISO para o desenvolvimento de produtos, enquanto que o TCP/IP nasceu da necessidade do mercado e da demanda de produtos para resolver o problema de comunicao e a partir da passou por uma srie de implementaes onde muitos produtos foram desenvolvidos fora da arquitetura internet, passando a ser incorporados a ela. A figura abaixo compara a estrutura dos dois modelos. Pode-se observar que a parte referente s sub-redes de acesso da arquitetura internet corresponde camada fsica, de enlace e, parcialmente, de rede do modelo OSI, sem que haja nenhuma padronizao neste sentido.

Comparao OSI x TCP/IP O IP corresponde camada de rede, enquanto o TCP e o UDP oferecem servios semelhantes aos prestados, respectivamente, pelos protocolos de transporte orientados e no-orientados conexo do modelo OSI. Nas camadas superiores, a arquitetura Internet coloca sob responsabilidade da aplicao os servios fornecidos pelas camadas de sesso, apresentao e aplicao do modelo OSI. O fato da arquitetura TCP/IP possuir menos camadas que o modelo OSI implica na sobrecarga de algumas camadas com funes que no lhe so especficas. Por exemplo, podemos citar a transferncia de arquivos: no ambiente TCP/IP, as funes correspondentes camada de apresentao OSI so desempenhadas pelo prprio protocolo de transferncia de arquivos FTP. Por outro lado, o TCP/IP nos fornece aplicaes simples, eficiente e de fcil implementao a nvel de produtos.

19

Вам также может понравиться