CISCO GUIA DE ESTUDOS - MODELO DE REFERÊNCIA OSI - APLICAÇÃO [PARTE2]

Camada de Aplicação - Interação com usuário.

Bem, vamos começar a falar da camada de APLICAÇÂO (Aplication Layer). Ela é a camada de nº 7 da pilha de protocolos (é muito importante saber à ordem das camadas, pois em muitos lugares elas são referenciadas pelo numero/nível) e é responsável pela interação com o usuário. Podemos exemplificar como serviço e aplicação desta camada servidor web e navegadores, respectivamente.

Particularmente, gosto de discutir neste tópico os paradigmas atuais envolvendo cliente-servidor; abaixo vou dividi-los em tópicos:

1. Cliente – Servidor: nesta arquitetura, nós temos um nó central que está apto a atender requisições dos serviços por ele prestados. Este modelo gera uma dependência entre clientes e o servidor, criando assim um ponto de falha, o próprio servidor, uma vez que ele pare, por qualquer motivo, o serviço é retirado imediatamente da rede. É preciso entender que apesar destas desvantagens este modelo é relativamente fácil de ser administrado, concedendo maior controle ao administrador da rede sobre os recursos ofertados e os acessos realizados a estes. Exemplo: Servidor Web – Browser (Firefox), onde o browser faz requisições ao servidor que as responde, nunca acontecendo o inverso.

2. Peer-to-Peer (P2P): esta arquitetura, por sua vez, possui uma estrutura distribuída, ou seja, descentralizada; onde o cliente se torna servidor quando requisitado e servidor se torna cliente quando faz uma requisição. É extremamente difícil de administrar, uma vez que não se tem acesso a todos os nós da rede, podendo, assim, um nó se desconectar sem aviso ou autorização do administrador, o que deixa um arquivo ou serviço com sua disponibilidade comprometida.

3. Híbrido : O modelo que realmente é utilizado quando se fala de Peer-to-Peer. Ele é equivalente ao P2P, apresentado acima, acrescentado apenas de um servidor de status/busca e uma peculiaridade. Neste servidor, ficam contidas informações dos nós conectados, arquivos, serviços ativos no momento. O grande diferencial deste modelo é a distribuição de carga - uma vez que o modelo é distribuído, dividindo as requisições para diferentes nós - e um sensível aumento no controle da rede em relação ao modelo anteriormente apresentado (o servidor pode filtrar e indicar recursos disponíveis na rede). Exemplo: MSN. Quando você “starta” o aplicativo, ele se conecta ao servidor onde busca informações de seus contatos para saber quais estão disponíveis (modelo cliente-servidor) e, após o inicio do bate-papo, nós temos um contato ponta a ponta (modelo P2P).

A camada de aplicação não se resume apenas a como é disponibilizado e acessado os recursos, mas existem características que são relevantes a casos particulares e que serão abordadas com o andar dos estudos. Por agora, é preciso ter os conceitos apresentados acima de maneira clara. Vamos continuar com as apresentações das camadas do modelo OSI e, à medida que formos conhecendo cada camada, serão apresentadas as interações entre elas.

Ronney de Paula da S.

Tel:(27)9243-7752 - Claro / ronneyps@hotmail.com / ronney.serafim@gmail.com /

Certificação Linux LPI - Guia de Estudos + Simulado

Olá amigos,

estão se preparando para certificações LPI (101 e/ou 102)?

Se SIM então nada melhor do que ter um bom guia de estudos, fazer um simulado destas certificações e de quebra saber seus pontos fracos e fortes...

tudo isso você encontra nesse site: www.certificacaolinux.com.br

Simulado LPI (101 e/ou 102): Simulados PLI

Guia de Estudos para LPI: Guia de Estudos LPI


Abraço a todos.

Entenda um pouco sobre o IPv6

O CGI.br e o NIC.br, desenvolveram um curso online para estudantes, profissionais e pessoas interessadas a aprenderem, entre outras coisas, o que é o IPv6, qual o motivo da sua criação, questões de segurança do IPv6 e como se dará a transição entre o IPv4 e o IPv6.

Para fazer o curso acesse: http://curso.ipv6.br

Um abraço

Encontrando Software grátis

Quantas vezes você precisou daquele programa, mas não o tinha pois era um software pago, muitas vezes muito caro, e acabou não fazendo determinado trabalho? Inúmeras vezes, não é?

Navegando pela Internet, achei o site Open Source as Alternative que apresenta uma quantidade enorme de correspondências entre software pagos e grátis.

Teste e depois dê sua opinião.


Abraço a todos.

Conexão MySQL + PHP

Neste post vamos mostrar como é simples fazer acesso a banco utilizando o PHP.

Primeiro vamos criar o nosso banco e acrescentar alguns valores para teste:

Criando tabela:
CREATE TABLE `alunos` (
`id_aluno` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nome_aluno` VARCHAR( 40 ) NOT NULL ,
`idade_aluno` TINYINT NOT NULL ,
`curso_aluno` VARCHAR( 40 ) NOT NULL
);

Inserindo valores:
INSERT INTO alunos (nome_aluno, idade_aluno, curso_aluno) VALUES
('Douglas Nascimento', 23, 'Redes de Computadores'),
('José Mário', 45, 'Análise de Sistemas'),
('Adriano Vieira', 24, 'Redes de Computadores'),
('Angélica Davel', 18, 'Análise de Sistemas');

Vamos criar um arquivo para testar a conexão com o banco de dados e executar um comando SQL de busca. Nosso código é o seguinte:
 1 <?php
2 //conecta e seleciona banco de dados
3 $conexao=mysql_connect("localhost", "root", "") or die("Conexão falhou");
4 mysql_select_db("bancoteste",$conexao) or die("Erro selecionando banco");
5
6 //comando SQL
7 $sql = 'SELECT * FROM alunos';
8
9 //executando comando SQL
10 $resultado = mysql_query($sql, $conexao);
11
12 //exibindo resultado
13 while($dados = mysql_fetch_assoc($resultado)) {
14 echo 'Nome: ' . $dados['nome_aluno'] . '<br/>';
15 echo 'Idade: ' . $dados['idade_aluno'] . '<br/>';
16 echo 'Curso: ' . $dados['curso_aluno'] . '<br/>';
17 echo '<hr/><br/>';
18 }
19 ?>
A função mysql_connect (linha 3) é utilizada para fazermos a autenticação no servidor de banco de dados. Seus parâmetros são os seguintes:

mysql_connect("endereco_do_banco_de_dados", "usuario", "senha");

Esta função retorna um identificador para a conexão criada, atribuimos então este valor para variável $conexao.

A seguir temos a função mysql_select_db (linha 4), ela serve para selecionar o banco que queremos utilizar. Esta função tem a seguinte sintax:

mysql_select_db("nome_do_banco", "identificador_da_conexao");

Na linha 10 usamos a função mysql_query que recebe os seguintes parâmetros:

mysql_query("comando_SQL", "identificador_da_conexao");

Esta função pode executar qualquer comando SQL e retorna, no caso de um SELECT, os dados solicitados do banco e códigos de erro para outros comandos como o INSERT INTO. Veremos o tratamento de erros em um post futuro. Neste exemplo passamos o identificador da função, armazenado na variável $conexao, mas ele não é obrigatório.

Na linha 13 imprimimos o resultado da consulta com o auxílio da função mysql_fetch_assoc. Ela retorna um array contendo uma linha da consulta (armazenado, no nosso exemplo, na variável $dados). Cada índice do array pode ser indexado pelo nome da coluna da tabela, ao invés do número da posição no array (por exemplo, 0, 1, 2, 3, ...). Esta é uma boa prática, pois, desta forma, temos certeza do valor que estamos utilizando. Podemos ver isso nas linhas 14, 15 e 16.

Para a função mysql_fetch_assoc passamos apenas o resultset, que é o resultado da função mysql_query, armazenado na variável $resultado.

Bom, espero que tenham gostado. Um abraço a todos =)

CISCO – GUIA DE ESTUDO – MODELO DE REFERÊNCIA OSI [PARTE 1]






Histórico e Motivação

Para que criar um modelo?

Bem para responder esta pergunta é preciso entender o contexto histórico em que ela foi apresentada. Em meados da década de 70 existiam diferentes fabricantes de equipamentos, o problema é que cada um destes tinha sua própria maneira de fazer a comunicação entre seus equipamentos, cada um deles desenvolvia seus próprios protocolos e os mantinham em sigilo. Esta situação criava uma dependência entre as empresas fornecedoras e seus clientes e muitas das vezes isto se tornava um grande problema; como por exemplo: Se uma empresa X optasse por um solução IBM (International Business Machines), uma empresa Y por uma solução DEC (Digital Equipment Corp., hoje HP) e posteriormente a empresa Y comprasse a X teria que levar em consideração o gasto com toda reestruturação da rede X uma vez que soluções IBM não se intercomunicava com as da DEC.

Problema apresentado, então qual a solução? Para respondermos esta pergunta precisamos contemplar outro tema revolucionário, os padrões abertos. A definição do que vem a ser um padrão aberto de acordo com UNIÃO EUROPÉIA é:

  1. O padrão foi adotado e será mantido por uma organização sem fins lucrativos, e seu desenvolvimento contínuo irá ocorrer com base em um processo de tomada de decisão aberto e acessível a todas as partes interessadas (através de consenso ou decisão por maioria, etc.).
  2. A norma foi publicada e seu documento de especificação está disponível gratuitamente, ou através de uma taxa simbólica. Deve ser permitido a todos copiar, distribuir e utilizá-la gratuitamente ou a uma taxa simbólica.
  3. A propriedade intelectual, ou seja, patentes eventualmente presentes - do padrão (ou de partes dele) está disponível irrevogavelmente através de uma base livre de royalties.
  4. Não há restrições sobre a reutilização do padrão.

Entendendo o que significa o termo “Padrão Aberto”, fica fácil formular uma resposta para nossa pergunta, uma vez que fabricantes sigam um padrão aberto os componentes estarão aptos a se comunicar e trabalhar de forma cooperativa para o funcionamento da rede e para isso a ISO (International Organization for Standardization) começou a desenvolver a pilha de protocolos do modelo de referência OSI (Open Systems Interconnection).

De que forma o modelo soluciona o problema apresentado?

O modelo OSI é um modelo de referência, ou seja, ele define de que forma dados gerados por uma aplicação em uma determinada máquina devem ser transmitidos através de um meio específico para uma aplicação em outra máquina [Marco A. Felippetti, pg 39].

O modelo propôs uma padronização em como estes dados seriam transmitidos independentes do fabricante, entende-se assim que qualquer equipamento de rede fabricado com base no parâmetro de referência OSI estaria apto a se comunicar com outro fabricado dentro dos mesmos princípios. Sendo assim o exemplo acima teria uma solução simples caso tanto equipamentos da IBM quanto os da DEC fossem fabricados de acordo com o modelo OSI eles seriam capazes de se comunicar.

Modelo OSI

O modelo OSI é dividido em camadas sendo cada uma delas responsável por “uma” das tarefas para prover a comunicação entre dispositivos. Existe no modelo sete camadas, são elas:

  1. Aplicação (Application Layer) – Provê a Interface com usuário.
  2. Apresentação (Presentation Layer) – Trata da semântica, compressão/descompressão, criptografia e tradução dos dados.
  3. Sessão (Session layer) – Gerencia o “diálogo” entre as portas lógicas e mantém a separação dos dados de diferentes aplicações.
  4. Transporte (Transport Layer) – Provê a comunicação confiável (ou não) e executa checagem de erros antes da retransmissão dos segmentos.
  5. Rede (Network Layer) – Define e gerencia o endereçamento lógico da rede (ex. IP).
  6. Enlace (Data-Link Layer) – Acomoda os pacotes em “quadros” através do processo de encapsulamento. Detecta erros, porém não os corrige.
  7. Fisica (Physical Layer) – Responsável pela movimentação dos bits entre as pontas e pelas definição das interfaces, especificações elétricas e de pinagem dos cabos.


Nos próximos posts vou falar de cada camada individualmente e detalhadamente. Pessoal, gostaria de lembrar que conhecer bem o modelo OSI e TCP/IP não é um diferencial para os profissionais da área e sim um pré-requisito. Este conhecimento é FUNDAMENTAL para a certificação da CISCO, por isso passaremos um bom tempo nessas duas pilhas de protocolos.


Ronney de Paula da S.

Tel: (27)9243-7752 - Claro / ronneyps@hotmail.com / ronney.serafim@gmail.com /

 
Design by Scooby Doo jogos