Servidor 162.243.7.189

Modelo OSI

Quando as redes de computadores surgiram, ainda não existia uma padronização, por isso as soluções eram proprietárias, o que abrigava cada fabricante implementar todos dispositivos de uma rede.
Por esse motivo o cliente ficava dependente das soluções desenvolvidas por apenas um fabricante, e a interconexão entre redes era um grande problema.

Para facilitar a interconexão entre redes de computadores a ISO (International Standards Organization) desenvolveu o modelo OSI (Open Systems Interconnection) para que os fabricantes criassem protocolos a partir desse modelo.

As camadas do modelo OSI podem ser vistas na figura a seguir, vale lembrar que esta modelo é teórico, nenhum dos protocolos existentes, como por exemplo TCP/IP, IPX/SPX ou NetBEUI seguem esse modelo a risca, eles são baseados no padrão OSI e implementam algumas das camadas propostas pelo modelo.

Para a transmissão de dados cada camada recebe as informações passadas pela camada superior, acrescenta as informações pelas quais é responsável e passa os dados para a camada imediatamente inferior. Esse processo é conhecido por encapsulamento. No recebimento dos dados o processo é realizado ao contrario, a camada de baixo recebe os dados, e após tratar-los passa para a camada imediatamente superior.

As camadas do modelo OSI também podem ser divididas em três grupos: o grupo de aplicação que abrange as camadas de sessão, apresentação e aplicação, transporte que abrange apenas a camada de transporte e o grupo de rede que abrange as camadas física, enlace(link de dados) e de rede, está divisão está mostrada na figura a seguir.

A seguir será apresentado os detalhes de cada uma das camadas do modelo OSI:

Camada 7 – Aplicação

A camada de Aplicação também chamada de Camada 7 do modelo OSI é a responsável pela interface entre o aplicativo e o protocolo de comunicação.

Protocolos da Camada de Aplicação
HTTP, SMTP, FTP, SSH, RTP, Telnet, SIP, RDP, IRC, SNMP, NNTP, POP3, IMAP, BitTorrent, DNS e Ping sendo está a camada que possui mais protocolos implementados.

Camada 6 – Apresentação

A camada de Apresentação também conhecida com camada de Tradução é responsável pela conversão do dados recebidos da camada de Aplicação e que serão transmitidos pela rede, convertendo os dados num formato entendido pelo protocolo que está sendo utilizado.
Alem da conversão de dados esta camada pode realizar as funções de compressão e criptografia dos dados que serão enviados.

Camada 5 – Sessão

A Camada de Sessão é responsável por permitir que duas aplicação em computadores diferentes estabeleçam uma sessão de comunicação.
Na transmissão as aplicações definem como será feita a transmissão dos dados, e colocam marcações nos dados que estão sendo transmitidos para ter controle em caso de falhas na rede, com isso o transmissor sabe quais dados devem ser reenviados. Esta transmissão de dados pode ser feita de duas formas Half-duplex ou Full-duplex. Na Half-duplex a conexão interliga somente duas estações na rede, havendo um canal ponto-a-ponto entre elas, quando um nó transmite o outro recebe, um de cada vês; na Full-duplex uma estação pode estabelecer um canal entre vários hosts na rede a fim de enviar uma mensagem em broadcast para as demais estações.
Um dos protocolos usado nessa camada é o RPC (Remote Procedure Call) que trata as sincronizações (checkpoints) de transferência de arquivos.

Camada 4 – Transporte

No processo de envio esta camada é responsável por dividir em pacotes os dados recebidos da Camada de Sessão e após repassa os dados para a Camada de Rede. No receptor esta camada é responsável por pegar os pacotes recebidos da Camada de Rede e remontar o dado original para enviá-lo à Camada de Sessão.
O processo de montagem dos pacotes recebidos inclui o controle de fluxo (colocar os pacotes recebidos em ordem, caso tenham chegados fora de ordem) e correção de erros, o que geralmente é controlado através do envio para o transmissor de um pacote de reconhecimento (acknowledge), informando que o pacote foi recebido com sucesso.
Esta camada também é responsável por separar as camadas de nível de aplicação (Camadas 5 a 7) das camadas de nível físico (Camadas de 1 a 3).
Alguns dos protocolos dessa camada incluem: TCP (Transmission Control Protocol), UDP(User Datagram Protocol), RTP(Real-time Transport Protocol), SCTP(Stream Control Transmission Protocol). Eu escrevi um artigo detalhando melhor essa camada, acesse neste link http://www.adonai.eti.br/wordpress/2011/03/camada-de-transporte-transport-layer/

Camada 3 – Rede

A Camada de Rede é responsável pelo endereçamento dos pacotes, convertendo endereços lógicos em endereços físicos, de forma que os pacotes consigam chegar corretamento ao destino.
Esta camada também determina a rota (roteamento) que os pacotes irão seguir até chegar o destino, baseada em fatores como condições de tráfego da rede e prioridades.
Está camada é a responsável por definir como fragmentar um pacote em tamanhos menores tendo em vista o MTU (Maximum Transmision Unit) da rede utilizada.
Alguns dos protocolos usados nessa camda são: IP, ICMP, ARP, RARP, IGMP, RIP, OSPF
Os protocolos da Camada de Rede podem ser classificados em 3 grupos: Protocolos Roteáveis, Protocolos de Roteamento e Protocolos Não-Roteáveis, a seguir será detalhado cada um deles.

* Protocolos Roteáveis: São protocolos que especificam o endereçamento lógico referente à camada inter-rede. Os endereços especificados por estes protocolos são utilizados para a decisão de encaminhamento de um pacote. Alguns exemplo desses protocolos são o IP, IPX e o AppleTalk.

* Protocolos de Roteamento: São responsáveis pelo preenchimento da tabela de roteamento. Esses protocolos especificam como as rotas serão aprendidos e divulgadas a outros roteadores, por isso são protocolos utilizados pelos roteadores. Alguns dos protocolos são o RIP (Routing Information Protocol) e o OSPF (Open Shortest Path First).

* Protocolos Não-Roteáveis: Um protocolo não-roteável é um protocolo que não pode ser encaminhado por roteadores. Geralmente isso ocorre com protocolos que não rodam sobre um protocolo de camada 3 (Rede).
Alguns exemplos de protocolos não-roteaveis são: NetBIOS e o NetBEUI.

Camada 2 – Enlace ou Link de Dados

Esta camada pega os dados recebidos da camada de Rede e os transforma em quadros que serão enviados pela rede, adicionando informações como o endereço da placa de rede de origem, o endereço da placa de rede de destino, dados de controle, os dados em si e o CRC.
No receptor esta camada é responsável pela verificação dos dados recebidos, refazendo o CRC. Se os dados estão corretos, é enviado uma confirmação de recebimento (chamada de acknowledgeou simplesmente ack). Caso essa confirmação não seja recebida, a camada de enlace do transmissor reenvia o quadro, já que ele não chegou até o receptor ou então chegou com os dados corrompidos.
Alguns dos protocolos usados nessa camada são: PPP (Point-to-Point Protocol), HDLC (High-Level Data Link Control) e o ADCCP (Advanced Data Communication Control Procedures).

Camada 1 – Camada Física

A Camada Física é responsável por converter os quadros enviados pela Camada de Enlace em sinais compatíveis com o meio que serão transmitidos, como por exemplo sinais elétricos para um meio elétrico, ou sinais luminosos para fibra óptica.

Protocolos da Camada de Rede
IP (Internet Protocol): Recebe segmentos de dados da camada de transporte e os encapsula em datagramas, é um protocolo não confiável por não exigir confirmação.
ICMP (Internet Control Message Protocol): É um padrão TCP/IP necessário, são documentos regidos IETF que estabelecem os padrões de cada protocolo com o ICMP os hosts e roteadores que usam comunicação IP podem relatar erros e trocar informações de status e controle limitado.
ARP (Address Resolution Protocol): Permite certo computador se comunicar com outro computador em rede quando somente o endereço de IP é conhecido pelo destinatário.
RARP (Reverse Address Resolution Protocol): Faz o contrario do protocolo ARP, ao invés de obter o informações como o MAC e o IP de máquinas remotas, o protocolo RARP requisita informações para a própria maquina. Foi substituido pelo DHCP e pelo BOOTP.
IGMP (Internet Group Management Protocol): É usado por hosts para reportar seus participantes de grupos de hosts a roteadores multicast vizinhos, é um protocolo assimétrico.

Provas de Concursos

Instituto Movens – DNPM 2010
37) O modelo de camadas OSI foi idealizado para padronizar os meios de interconexão de sistemas, permitindo
que diferentes produtos, de diferentes empresas, se comuniquem entre si. Por esse motivo, sistemas que seguem o modelo OSI são chamados de abertos. Esse modelo é dividido em camadas, o que traz muitas vantagens, como:
– interfaces padronizadas permitem a interoperabilidade entre diferentes produtos;
– o desenvolvimento de uma camada não interfere no funcionamento de outra;
– diminui a complexidade do problema, permitindo focar o desenvolvimento de cada camada separadamente.

A respeito do modelo OSI e de suas camadas, assinale a opção INCORRETA.
(A) A camada de apresentação realiza a formatação dos dados antes de enviá-los para a camada de aplicação.
(B) A camada de rede é responsável por determinar a rota que a informação deve seguir, desde o remetente até o receptor.
(C) A camada de transporte interage diretamente com as camadas de rede e de sessão.
(D) A camada de física realiza controle de fluxo, podendo mudar a ordem em que os dados serão transmitidos.
(E) É função da camada de enlace detectar e notificar erros na comunicação.

Gabarito: D
Quem realiza o controle de fluxo é a Camada de Transporte.

Quadrix – Dataprev 2011 – Rede de Telecomunicações
31) O modelo de referência OSI para redes de computadores é composto de camadas. Qual das alternativas melhor representa a terceira camada ou camada de redes?
(A) Uma parte de hardware chamada de Placa de Rede
(B) Um slot PCI do computador
(C) Um conjunto de funções do sistema operacional
(D) O cabo UTP que interconecta os computadores
(E) Um controlador de sinais elétricos

Gabarito: C

Tipos de Backup

Neste artigo vou abordar os tipos de backup que são utilizados para evitar a perda de dados. São 3 os tipos de backups principais: Completos, Diferenciais e Incrementais, a Microsoft apresenta no seu aplicativo outras duas terminologias que irei apresentar também: o Diário e o Cópia

Backup Completo ou Normal

Nessa opção de é realizada a cópia de todos os arquivos que estão no disco. Essa forma de backup costuma ser utilizada na primeira vez que é criado o conjunto de backup inicial e nos seguintes é utilizada as opções Diferencial ou Incremental.

Vantagens: É mais fácil localizar os arquivos pois sempre estão no último backup realizado, a recuperação é mais simples, pois necessita recuperar apenas o conteúdo do último backup realizado.
Desvantagens: Essa forma de backup é mais demorada, pois copia sempre todos os arquivos, com isso ocorre muito desperdício de armazenamento pois faz backup de arquivos que não foram alterados após o último backup realizado.

Backup Diferencial

No Diferencial são copiados apenas os arquivos que foram alterados após o último Backup Completo ou Incremental. Essa forma não marca os arquivos como salvos em backup (o atributo de arquivo não é desmarcado) por isso a cada Backup Diferencial todos os arquivos que foram alterados são copiados novamente.

Vantagens: A recuperação é mais simples, pois exige apenas a o último Backup Completo e o último Diferencial que foram realizados.
Desvantagens: Os backups são mais lentos e maiores que os do tipo Incremental.

Backup Incremental

Um Backup Incremental copia somente os arquivos criados ou alterados desde o último Backup Completo ou Incremental. Essa forma marca os arquivos que passaram por backup (o atributo de arquivo é desmarcado). Se você utilizar uma combinação dos Backups Completo e Incremental, precisará do último conjunto de Backup Completo e de todos os conjuntos de Backups Incrementais realizados posteriormente para restaurar os dados.

Vantagens: Requer a menor quantidade de armazenamento para os dados.
Desvantagens: A restauração completa do sistema pode levar mais tempo do que se for usado o Backup Completo e o Diferencial.

Backup de Cópia

O Backup Cópia é um termo utilizado pela ferramenta de backup da Microsoft, ele copia todos os arquivos selecionados, mas não os marca como arquivos que passaram por backup (ou seja, o atributo de arquivo não é desmarcado). A cópia é útil caso você queira fazer backup de arquivos entre os Backups Completo e o Incremental, pois ele não afeta essas outras operações de backup.

Backup Diário

Um backup diário copia todos os arquivos selecionados que foram modificados no dia da execução do Backup Diário. Os arquivos não são marcados como arquivos que passaram por backup (o atributo de arquivo não é desmarcado).

RAID (Redundant Array of Independent Disks)

Neste artigo irei apresentar os detalhes básicos de cada tipo de RAID (Redundant Array of Independent Disks) que em português significa Conjunto Redundante de Discos Independentes. Os tipos de RAID existentes são os seguintes:

RAID 0 (Data Striping)

No RAID 0, os dados são divididos e gravados distribuídos em todos os discos que compõem o conjunto RAID, isso permite que a gravação e o acesso aos dados sejam mais rápidos, mas existe a desvantagem que na falha de qualquer um dos discos os dados são inteiramente perdidos, pois não existe a redundância dos dados.

Arranjo dos Discos no RAID 0

RAID 1 (Mirroring)

No RAID 1 os dados são totalmente duplicados entre os discos, no caso de falha de um deles o sistema segue funcionando normalmente. Nesse arranjo de discos ocorre a desvantagem que não é possível somar os tamanhos dos discos, já que um disco é copia do outro, também aumenta o tempo de escrita pois é necessário gravar os dados em dois discos.

Arranjo dos Discos no RAID 1

RAID 2

O RAID 2 é um sistema de RAID já obsoleto, pois ele veio para implementar a checagem de erros implementando o algoritmo de Hamming ECC (error Correcting Code) e atualmente os próprios discos já possuem essa tecnologia, o que dispensa o uso do RAID 2.

RAID 2

RAID 3

O RAID 3 é uma simplificação do RAID 2, nesta versão é necessário apenas um disco para controle da paridade.

RAID 3

RAID 4

O RAID 4 funciona com 3 ou mais discos iguais, um dos discos guarda as informações de paridade, caso um dos discos venha a falhar ele pode ser reconstruído utilizando as informações do disco de paridade. Essa técnica de RAID não é mais utilizada pois existe formas melhores de se obter o mesmo resultado.

RAID 4

RAID 5

O RAID 5 é muito utilizado atualmente, ele funciona similarmente ao RAID 4, mas nessa arquitetura as informações de paridade são distribuidas em todos os discos do conjunto, com isso esse padrão consegue um desempenho maior.

RAID 5

RAID 6

Esse padrão é uma evolução do RAID 5, ele utiliza o dobro da quantidade de bits de paridade, garantindo a integridade dos dados caso até 2 dos HDs venham a falhar simultaneamente.

RAID 6

RAID 01 (RAID 0+1)

Essa versão é a combinação dos níveis 0 (Striping) e 1 (Mirroring), com isso é possível ter desempenho do RAID 0 e segurança oferecida pelo RAID 1. No caso que um disco venha a falhar o sistema vira um RAID 0.

RAID 0+1

RAID 1+0

O RAID 1+0 ou RAID 10, cada par de discos é espelhado sendo montado em RAID 1, e os conjuntos de discos são montados em RAID 0. Esse é RAID recomendado para bancos de dados, por se o mais seguro e um dos mais velozes.

RAID 1+0

RAID 50

Esse é um arranjo hibrido do RAID 5 com o RAID 0, conforme visto na figura abaixo.

RAID 50

RAID 100

O RAID 100 basicamente é composto do RAID 10+0. Normalmente ele é implementado utilizando uma combinação de software e hardware, ou seja, implementa-se o RAID 0 via software sobre o RAID 10 via Hardware.

RAID 100

Modelos de Ciclo de Vida de Software

Nesse post vou abordar alguns dos modelos de ciclo de vida de desenvolvimento de software. Para escrever esse conteúdo estou utilizando as aulas disponibilizadas por esse site http://cederj.edu.br/videoaulas/ além de outros conteúdos que pesquisei pela internet.

1) Modelo em Cascata/Clássico (Waterfall Model)

* Popularizado na década de 1970;
* Composto por uma sequência de atividades;
* Uma atividade começa a executar quando a outra termina;
* Resultado de uma etapa é utilizado na etapa seguinte;
* Guiado por documentos;
* Ciclo de vida mais antigo e mais utilizado.

Modelo em Cascata

Modelo em Cascata

a) Vantagens:
* Oferece uma maneira de tornar o processo mais visível;
* Facilita o planejamento.

b) Desvantagens:
* Dificuldade de manter a serialização proposta pelo modelo
* Dificuldade de se concluir a etapa de análise de requisitos, devido a modificações nos requisitos do software (requisitos deveriam ser congelados ao fim da análise)
* A primeira versão do software só estará disponível após o término das fases de análise, projeto, codificação e testes, aumentando o tempo de latência entre o início do projeto e a criação de sua primeira versão.

2) Prototipação

* O objetivo é entender os requisitos do usuário;
* Versão simplificada de um produto de software, geralmente criada sem um processo formal de desenvolvimento, utilizada para elucida ou validar os requisitos do produto.

a) Vantagens:
* Protótipos contribuem para melhorar a especificação dos requisitos;
* Partes do protótipo podem vir a ser usadas no desenvolvimento do sistema final.

b) Desvantagens:
* Custo elevado;
* Atraso no desenvolvimento.

3) Modelo Incremental

* Combinação entre os modelos linear e prototipação;
* O desenvolvimento é dividido em etapas, denominadas “incrementos”;
* Em cada incremento é realizado todo o ciclo do desenvolvimento de software;
* Cada etapa produz um sistema totalmente funcional;

a) Vantagens:
* Existe um risco menor de fracasso do software;
* Reduz a chance de mudança de requisito;

Tipos de Incrementos:
* Evolutivos: Produtos de cada etapa de desenvolvimento são aproveitados em cada nova passagem pela etapa.
* Descartáveis: Produtos das etapas de desenvolvimento são descartados a cada novo protótipo é construído do início.
* Operacional: Requisitos são elucidados através de protótipos e o produto final é construído paralelamente a construção dos protótipos.

3.1) Ciclo Incremental Evolutivo
* Os requisitos vão sendo implementados por parte
* Entregas rápidas de produtos intermediários para o usuário
* Maior entendimento a medida que o desenvolvimento ocorre

Ciclo Incremental Evolutivo

Ciclo Incremental Evolutivo

3.2) Ciclo Incremental Descartável
* Custo alto pela perda do produto construído no incremento
* Alta qualidade do processo por trás do protótipo descartável
* Possível insistência do usuário em manter o protótipo em uso.

3.3) Ciclo Incremental Operacional
* Mantem duas equipes
– Uma equipe pequena trabalha em turnos longos no ambiente do usuário, construindo protótipos “quick-&-dirty” para facilitar o entendimento dos requisitos do usuário.
– Uma equipe trabalha em ritmo menos acelerado e em um ambiente separado, produzindo um software de qualidade a partir dos requisitos coletados pela primeira equipe.

4) Ciclo de Vida em Espiral

* É um metamodelo, visto que qualquer ciclo de vida pode ser utilizado na fase de desenvolvimento.
* Foi criado visando abranger as melhores características do modelo clássico e da prototipagem;
* Dividido em quatro fases;
* Essas fases são repetidas várias vezes;

a) Vantagens:
* Possibilidade de melhorar o sistema a cada iteração;
* Diminui manutenção.

b) Desvantagens:
* Modelo relativamente novo;
* Modelo mais complexo.

Modelo em Espiral

Modelo em Espiral

5) Ciclo de Vida RAD (Rapid Application Development)

* É um modelo que enfatiza um ciclo de desenvolvimento curto;
* Construção baseada em componentes;
* O modelo RAD é usado principalmente para aplicações de sistema de informação;
* Adaptação do modelo em cascata, onde um desenvolvimento rápido é obtido através de uma abordagem de construção baseada em componentes.

a) Vantagens:
* Baseado em componentes;
* Pode ser desenvolvido em várias equipes;

b) Desvantagens:
* É necessário desenvolvedor e cliente comprometidos;
* Não é apropriado para qualquer aplicação;

Critérios para Seleção de um Ciclo de Vida

* Relacionados aos usuários e a equipe
– Experiencia dos usuários no domínio da aplicação;
– Facilidade de expressão dos usuários;
– Experiencia da equipe no domínio da aplicação;
– Experiencia da equipe de Engenharia de Software;
– Disponibilidade de recursos humanos para a equipe;
– Grau de acesso aos usuários.

* Relacionados ao Produto
– Tamanho e grau de complexidade da aplicação
– Grau de importância dos requisitos de interface