Resumo – Modelo OSI Maio 31, 2008
Posted by rafow in Rede, Uncategorized.Tags: camadas, ISO, OSI, Rede
add a comment
Histórico
Nos anos 70, redes como a Arpanet começaram a fazer sucesso e aliado a isso a queda no preço do hardware aumentou a procura por equipamentos de rede. Cada fabricante, praticamente, criava seu próprio padrão, tornando assim, impossível a comunicação entre equipamentos de diferentes fabricantes.
Com base nesse contexto, em 78 a ISO resolveu criar o Subcomitê16 SC16, para estudar padrões para sistemas abertos.
O SC16 criou o padrão internacional 7498, chamado de Open Systems Interconnection que definia um modelo de referência para interconexão de sistemas abertos.
As camadas do modelo OSI
O modelo de referência ISO OSI trata da interconexão de sistemas abertos, como já foi dito anteriormente.
O Modelo OSI, como é mais conhecido, não define propriamente uma arquitetura de rede, pois ele não especifica com exatidão os serviços e protocolos de cada camada. Ele apenas define funções, ou seja, “o que cada camada deve fazer”.
Este Modelo tem sete camadas e essas camadas são orientadas pelos seguintes princípios:
• Onde houver necessidade de outro grau de abstração, deverá ser criada uma nova camada;
• Cada camada deverá ter uma função bem definida;
• A função de uma camada deverá ser escolhida com base na definição de protocolos padronizados internacionalmente;
• Cada camada deverá ser limitada de modo a reduzir o fluxo de informações transportadas entre as interfaces;
• A quantidade de camadas deverá ser grande o suficiente para que funções distintas na precisem ser colocadas na mesma camada e pequena o suficiente para que não se torne difícil de controlar.
A ISO produziu padrões para todas as camadas e cada um deles foi publicado como um padrão internacional distinto.
Camada Física
Esta camada trata da transmissão física (como o nome já diz) de bits através de um canal de comunicação. Esta camada é responsável pela integridade dos bits enviados, ou seja, se um lado envia um bit 1, esta camada deverá garantir que o outro lado deverá receber 1 e não 0.
Nesta camada, os padrões estabelecidos atuam nas interfaces mecânicas, elétricas, procedurais e o meio de transmissão físico.
Camada de Enlace de Dados
De um modo geral, podemos dizer que a camada de enlace transforma um canal de transmissão de bits brutos em uma linha que pareça livre de erros de transmissão. Para isso, esta camada divide os dados de entrada em quadros de dados.
Um quadro é composto por Header (que contém endereço de origem, endereço de destino e contagem), User Data (parte onde os dados são transportados) e Trailer (FCS, endereço de retorno).
Segundo Pinheiro, esta camada tem as funções de:
• Delimitação de quadros;
• Controle de erros;
• Controle de fluxo;
• Variedade de serviços;
• Controle de acesso e
• Multiplexação
Camada de Rede
Esta camada é responsável pela conexão lógica entre dois pontos, para isso, cuida do roteamento e do tráfego de dados da rede.
As rotas podem seguir tabelas estáticas, amarradas à rede ou podem ser determinadas no início de cada conversação, ou de maneira mais dinâmica ainda, podem ser determinadas para cada apacote, conforme o estado da rede.
Segundo Piccinin, o roteamento pode ser:
• Direto – quando os dois hosts estão na mesma rede física;
• Indireto – quando os hosts estão em redes distintas, neste caso, necessitam de uma gateway para efetuar o encaminhamento dos datagramas as redes de destinos.
Camada de Transporte
Esta camada aceita os dados da camada de sessão, quebra em unidades menores quando necessário e repassa esses dados para a camada de rede, certificando-se de que os dados chegam corretamente ao outro extremo.
A camada de transporte tem três fases:
• Fase de estabelecimento – estabelecimento de conexões entre funções de serviços das camadas mais altas, além do estabelecimento da qualidade do serviço;
• Fase de transferência – transfere os dados obedecendo à qualidade descrita na fase anterior;
• Fase de terminação – esta fase é responsável pelo encerramento da conexão e por notificar ambas as partes.
Camada de Sessão
Através da camada de sessão os usuários de diferentes máquinas podem estabelecer sessões entre elas. Uma sessão permite o transporte de dados, assim como, a camada de transporte, seu diferencial é oferecer serviços aperfeiçoados, que possibilitam a existência de aplicações como o login em um sistema remoto de tempo compartilhado ou a transferência de arquivos entre duas máquinas.
A camada de sessão é responsável por:
• Intercâmbio de dados;
• Controle de conversação;
• Sincronização de diálogos;
• Gerenciamento de atividades;
• Relatório de exceções.
Camada de Apresentação
A camada de apresentação se preocupa com a sintaxe e com a semântica das informações transmitidas.
Esta camada é responsável por:
• Transformação de dados;
• Formatação de dados;
• Sintaxe de seleção.
Camada de aplicação
Esta camada é a que representa o usuário final no modelo OSI. Baseada em pedidos de um usuário da rede, esta camada seleciona serviços a serem fornecidos por funções das camadas mais baixas.
Troca de Dados entre as camadas
Quando recebe dados para efetuar um serviço, uma camada N precisa incluir um cabeçalho, neste, são registradas informações relativas à camada. Este cabeçalho é denominado PCI (Protocol Control Information) .
Os dados recebidos pela camada N, damos o nome de Unidade de dados do Serviço – SDU (Service Data Unit).
O conjunto formado por PCI + SDU é denominado Unidade de Dados do Protocolo – PDU (Protocol Data Unit).
A figura1 mostra como o é feita a troca de dados entre as camadas.

Software livre e inclusão digital Maio 26, 2008
Posted by rafow in software livre.Tags: inclusão digital, software livre
add a comment
Estou lendo o livro “software livre inclusão digital” da Conrad Livros, que foi organizado por Sérgio Amadeu da Silveira e João Cassino.
Trata-se de uma coletânea de artigos sobre software livre e inclusão digital, alguns artigos já estão com estatísticas e números desatualizados porque essa obra é de 2003 mas a temática e grande parte dos argumentos são bastantes atuais.
Acredito que essa seja uma leitura indispensável para alunos e profissionais da computação e de qualquer outra área, visto que a inclusão digital deve ser um esforço de toda a comunidade.
Em alguns dias escreverei aqui algumas críticas sobre o livro e sobre alguns artigos em particular.
Pra quem está com preguiça de pesquisar
o preço e como adquirir a obra estão aí um link:
http://compare.buscape.com.br/software-livre-e-inclusao-digital-silveir
P4A Maio 26, 2008
Posted by rafow in Frameworks, P4A, PHP.Tags: O.O, P4A, php5, RAD
add a comment
O p4a ( php for applications) é um RAD orientado a eventos baseado no zend framework, escrito em php5, que facilita muito a vida do programador. Algumas características do p4a são:
- O código-cliente gerado é xhtml e tableless;
- Suporta teclas de atalho;
- Implementa ajax ( sem o programador precisar colocar a mãozinha nisso).
Como estou utilizando ele no trabalho, em breve postarei algumas coisas aqui sobre ele.
Fica a dica:http://p4a.crealabsfoundation.org/
Red5 Maio 26, 2008
Posted by rafow in Red5.Tags: Flash, Red5, streaming
1 comment so far
O Red5 é definido como um Servidor Flash de Código Aberto (sob licença LGPL), escrito em Java. Seu projeto é dedicado a interação entre o flash player e uma conexão direta e permanente com o servidor reservada usando RTMP e que suporta:
· Streaming de Áudio e Vídeo (arquivos flv e mp3);
· Gravação de streams enviados por clientes (apenas no formato flv);
· Objetos compartilhados;
· Chamada remota;
Este software encontra-se na versão 0.7, mas já tem maturidade suficiente para dar suporte a uma aplicação de Videoconferência desde a sua versão 0.4.
Veja mais informações no site do projeto.
Publicado originalmente em 12 Novembro 2007
Protocolo RTMP Maio 26, 2008
Posted by rafow in Red5.Tags: Flash, RTMP, streaming
add a comment
Visão Geral
O RTMP (Real Time Messaging Protocol) é um protocolo proprietário desenvolvido pela Adobe Systems que utiliza, por padrão, a porta 1935 e foi utilizado primeiramente no Flash Communication Server.
RTMP usa o protocolo TCP/IP para a transmissão de pacotes e não é usado para RCP (Remote Procedure Calls). O RTMP mantém uma conexão persistente com o servidor e permite a comunicação em tempo real de dados do tipo: áudio, vídeo e objeto.
Hoje o protocolo RTMP está sendo implementado também pelo Red5, através da engenharia reversa.
Para ser realizada a comunicação RTMP, é necessário, além do servidor, um arquivo swf. Este arquivo que deverá ser compartilhado pelos usuários finais, deve ser dotado de chamadas RTMP, normalmente codificadas em Action Script.
Legalidade do uso do protocolo RTMP
O RTMP foi criado pela Macromedia (hoje Adobe) no projeto do Flash Communication Server para permitir o compartilhamento em tempo real de áudio, vídeo e objetos. Até hoje a Adobe nâo abriu a codificação deste protocolo.
A equipe de desenvolvimento do Red5, o “refez” a partir da engenharia reversa.
Examinar determinado pacote e recriar seu comportamento não é ilegal, portanto o Red5 é um projeto legal.
Servidores RTMP
O primeiro servidor RTMP é o Flash Communication Server, antecessor do Flash Media Server, depois vieram o WebOrb, o ElectroServer e outros, também de código proprietário. Mais tarde surge o Red5, uma alternativa em software livre para o Flash Media Server, que codificou o RTMP através do processo de engenharia reversa.
Publicado originalmente em 12 Novembro 2007
Conhecendo o Ajax Maio 26, 2008
Posted by rafow in Ajax.Tags: Ajax, Asyncronous Javascript and XML, Holznerv
add a comment
Conceitos e definições
A sigla AJAX significa Asyncronous Javascript and XML.
Ajax é uma técnica de comunicação com o servidor, onde a tela não é recarregada para cada ação do usuário, apenas a parte necessária. Para isso o Ajax se utiliza das seguintes tecnologias, segundo Holzner (2006, p.11):
• HTML e CSS para a camada de apresentação (que os xiitas não me ouçam mas é possível com Flash também);
• Manipulação e troca de dados em XML;
• XMLHttpRequests para retorno assíncrono de dados;
• Javascript, para tornar tudo possível.
Além disso, o Ajax pode e deve se combinar perfeitamente com tecnologias do lado do servidor como PHP, Ruby, Asp e JSP.
Vantagens do uso de Ajax
Dentre as melhorias notáveis com o uso Ajax, destacamos:
1. Melhoria na iteração com o usuário, eliminando a lentidão do processo de clique-e-espere, aumentando, com isso, a sua produtividade;
2. Economia de banda de servidor, já que não serão carregadas n vezes “informações repetidas”;
3. Ajax, quando bem construído, é crossbrowser, e independente de Plug-in.
Desvantagens no uso do Ajax
A grande desvantagem do Ajax ainda é a acessibilidade. Dispositivos móveis como celulares, PDAs não conseguem usar o XMLHttpRequest, além disso as search engines não são capazes de localizar um site feito unicamente com Ajax, mas em breve deveremos ter novidades a esse respeito.
Onde Ajax está sendo usado?
Ajax já está sendo empregado para várias finalidades, dentre as quais destacam-se:
• Campos de busca, para refinamento de pesquisa mais rápido. Para testar isso acesse http://www.google.com/webhp?complete=1&hl=en;
• Em recursos de auto-completar, como em www.papermountain.org/demos/live, www.gmail.com e www.gowebtop.com (com interface em flash), sendo que os dois últimos auto completam o endereço de e-mail para o campo destinatário de um e-mail que será enviado a partir da agenda de contatos do usuário;
• No Google Maps, http://maps.google.com;
• Em vários outros recursos como o de drag-and-drop, para ver exemplos convincentes acesse http://www.backbase.com/demos e explore, mas para exemplos de código aberto acesse http://www.openrico.org/demos
Publicado originalmente em 02 Julho 2006