Buscar

E-book 4 Tópico 4 - Ambientes de Alta Escalabillidade

Prévia do material em texto

Luciano Rossi
BANCO DE DADOS EM 
AMBIENTES DE ALTA 
ESCALABILIDADE
E-book 4
Neste E-Book:
INTRODUÇÃO ����������������������������������������������������������� 3
GERENCIAMENTO DE SERVIDORES �����������������4
Segurança da informação ��������������������������������������������������������4
Computação em grid e cluster �����������������������������������������������16
Redes de computadores ���������������������������������������������������������19
CONSIDERAÇÕES FINAIS �����������������������������������34
REFERÊNCIAS BIBLIOGRÁFICAS & 
CONSULTADAS �������������������������������������������������������36
2
INTRODUÇÃO
Neste módulo, dedicaremos nossa atenção às ques-
tões de segurança em sistemas de banco de dados, 
bem como à análise dos aspectos da infraestrutura 
que suporta esse tipo de sistema�
Ao fim, teremos construído um conhecimento consi-
derável acerca das diferentes organizações possíveis 
para os servidores que estudaremos neste módulo, 
mas também acerca dos tipos de redes utilizadas 
para a interconexão entre os servidores�
3
GERENCIAMENTO DE 
SERVIDORES
Garantir que as informações, armazenadas no banco 
de dados, sejam consistentes não é suficiente para 
que o proprietário dos dados possa usufruir com 
segurança os serviços oferecidos por um sistema 
gerenciador� Por vezes, os dados armazenados repre-
sentam ou descrevem as características estratégicas 
de uma organização e/ou são sensíveis, do ponto de 
vista ético ou de privacidade, aos indivíduos descritos 
por esses dados�
Sendo assim, iniciaremos este estudo analisando 
as características de segurança da informação, as 
quais são fundamentais para que não haja nenhum 
prejuízo ocasionado por vazamentos de dados ou 
acessos não autorizados�
Segurança da informação
A International Standards Organization (ISO) é uma 
organização internacional que tem por objetivo pa-
dronizar as normas técnicas em diferentes áreas� 
A International Electrotechnical Commission (IEC) 
também é uma organização internacional voltada 
para a padronização de tecnologias elétricas, eletrô-
nicas e outras relacionadas� Ambas as organizações 
são responsáveis pela publicação do ISO/IEC 27000, 
padrão que descreve diretrizes para a implemen-
4
tação de um Sistema de Gestão de Segurança da 
Informação (SGSI)�
A implementação dos padrões, definidos pela série 
ISO/IEC 27000, visa à proteção de toda informação 
escrita, falada e eletrônica, garantindo com isso a 
confiabilidade, integridade e disponibilidade da infor-
mação� Nesse sentido, a informação é um ativo orga-
nizacional que tem seu valor percebido pelo usuário�
Segunda a norma ISO/IEC 13335-1:2004, os ativos 
organizacionais podem ser informação eletrônica, 
documento físico (papel), software, hardware, insta-
lações, pessoas, imagem e/ou reputação da organi-
zação e serviços�
Nesse contexto, podemos definir a importância da 
segurança da informação a partir de seu objetivo, que 
é proteger a informação de modo a garantir a perpe-
tuação dos negócios, reduzindo os danos e aumen-
tando o retorno do investimento e as oportunidades�
Os atributos que são pertinentes à informação segu-
ra podem ser descritos pela sigla CIA, que significa 
Confidentiality, Integrity and Avaliability.
Confidencialidade
A confidencialidade é o atributo da informação que 
deve estar acessível somente a pessoas autoriza-
das� Assim, a informação deve ser protegida de acor-
do com a sigilosidade de seu conteúdo, limitando 
o acesso às pessoas que são as destinatárias do 
conteúdo em questão�
5
Para que a informação apresente o atributo da confi-
dencialidade, é preciso adotar medidas que garantam 
o acesso à informação apenas em locais previamen-
te definidos como necessários. É preciso, ainda, que 
a informação não fique disponível para quem não 
precisa dela; para isso, pode-se usar algum mecanis-
mo de gestão de acesso lógico e a separação entre 
os diferentes contextos do sistema�
Integridade
A integridade da informação é um atributo essencial 
no âmbito da segurança da informação, pois des-
creve a manutenção das características originais da 
informação, ou seja, a informação íntegra é aquela 
que não sofre alterações, salvo quando autorizada 
e realizada de maneira controlada�
A manutenção da integridade dos dados passa por 
medidas que definem as regras monitoradas para a 
alteração de dados, a padronização de valores para 
os atributos no banco de dados, a manutenção de 
um registro de operações realizadas sobre o banco 
de dados e outros mecanismos de controle e rastre-
abilidade das operações�
Disponibilidade
O atributo da disponibilidade refere-se à possibilidade 
de acesso à informação por indivíduos autorizados, 
sempre que necessário� Podemos destacar algumas 
características associadas à disponibilidade dos 
dados, como pontualidade, continuidade e robustez� 
Tais características descrevem a disponibilidade no 
6
momento certo, a persistência do serviço mesmo 
em caso de falhas e a capacidade operacional do 
sistema, respectivamente�
Uma forma importante para se garantir a segurança 
da informação é por meio da implantação de con-
trole de acesso� Esse controle é obtido a partir da 
elaboração de uma política de segurança, em que se 
define quem são os usuários autorizados a acessar 
as informações. Além disso, a política de segurança 
estabelece quais informações podem ser acessa-
das e que tipo de operação o usuário pode realizar 
sobre aquela informação� Assim, o mecanismo de 
segurança é responsável por garantir que a política 
de segurança seja considerada�
No nível do Sistema Gerenciador de Banco de 
Dados (SGBD), há dois mecanismos fundamentais: 
Discretinary Access Control (DAC) e Mandatory 
Access Control (MAC).
O DAC baseia-se na concessão e revogação de privi-
légios, permitindo o acesso e a execução de opera-
ções sobre objetos de dados� Os objetos de dados 
podem representar desde uma tabela até uma visão 
dos dados�
Nesse tipo de mecanismo, o criador do objeto tem 
automaticamente todos os privilégios, e o SGBD é 
responsável por monitorar a concessão e a revoga-
ção dos privilégios, além de controlar a execução de 
requisições dos usuários autorizados apenas�
7
As atribuições de privilégios são feitas a partir do ad-
ministrador do sistema para os usuários� As atribui-
ções de privilégios podem ser: (i) no nível da conta, 
ou seja, os privilégios se associam ao tipo de conta 
que o usuário possui; ou (ii) no nível da relação, ou 
seja, os privilégios são concedidos devido a relações 
ou visões específicas.
O mecanismo MAC baseia-se em políticas globais do 
sistema e, com isso, os usuários não podem alterá-
-las� Nesse mecanismo, os objetos estão associados 
a determinadas classes de segurança, e os usuários 
são associados a um passe, que determina quais 
classes podem ser acessadas�
Observe, no entanto, que esse tipo de mecanismo 
não é considerado pela maioria dos SGBD comer-
ciais, sendo implantado somente em casos particu-
lares que demandam segurança multinível, como as 
organizações governamentais e militares�
O mecanismo MAC prevê que cada objeto no banco 
de dados receba uma classificação (label), a qual 
descreva o grau de importância do objeto. Os usuá-
rios, por sua vez, também são classificados segundo 
o nível de confiabilidade que apresenta perante o 
sistema�
No contexto militar, por exemplo, os níveis de segu-
rança de um objeto (label) podem ser estabelecidos 
como: altamente confidencial (TS: Top Secret), se-
creto (S: Secret), confidencial (C: Confidential) e não 
classificado (U: Unclassified).
8
O modelo Bell LaPadula é muito considerado para 
os mecanismos MAC, pois, nele, existem quatro ele-
mentos básicos:
 ● Objetos: representam as relações, visões, li-
nhas ou colunas no banco de dados.
 ● Sujeitos : representam os usuários e 
programas�
 ● Classes de segurança: representam os níveis 
de segurança descritos anteriormente�
 ● Liberações�
Observe que as classes de segurança se associam 
aos objetos, ao passoque as liberações se associam 
ao sujeito�
Nesse modelo, salientamos duas restrições referen-
tes às operações� A primeira prevê que um sujeito 
pode apenas ler as informações de um objeto se o 
seu nível de liberação for maior ou igual à classe de 
segurança do objeto�
A segunda restrição determina que um sujeito pode 
apenas gravar as informações em um objeto que 
tenha a classe de segurança maior ou igual ao nível 
de liberação do sujeito� Esta última restrição visa a 
impedir que as informações, em um objeto com nível 
de segurança superior, sejam movidas para objetos 
com nível de segurança inferior.
Sob o ponto de vista do mecanismo MAC, os objetos 
podem apresentar níveis de granularidade distintos. 
9
Dito de outra forma, os objetos podem ser tanto uma 
relação quanto uma linha ou coluna.
Assim, em uma relação, podemos ter diferentes 
classes de segurança, uma por linha, por exemplo. 
Uma relação multinível pode ser lida distintamente, 
a depender do usuário� Analise a seguinte relação, 
descrita na Tabela 1:
ID Nome Cor Classe
101 Caneta Azul S
102 Lápis Preto C
Tabela 1: Exemplo de relação multinível. Fonte: Elaboração 
própria�
Imagine uma operação de leitura sobre a relação da 
Tabela 1. Um usuário com nível de liberação TS pode 
visualizar ambas as linhas, ao passo que um usuário 
com nível de liberação C pode visualizar somente a 
segunda linha, e um usuário com nível de liberação 
U não visualiza nenhuma linha.
As relações multiníveis podem apresentar al-
guns problemas de inserção� Por exemplo, supo-
nha que um usuário nível de liberação C deseje 
inserir o seguinte registro na relação da Tabela 1: 
<101,Papel,Vermelho,C>.
Nesse caso, se o SGBD permitir a inserção, isso vio-
laria a restrição de chave, visto que já existe uma 
chave 101 na relação. Porém, se o SGBD não permitir 
a inserção, o usuário pode concluir que existe um 
objeto na relação, com a mesma chave, cuja classe 
de segurança é maior que C, sendo que essa con-
10
clusão é indesejável no contexto da segurança da 
informação�
A resolução do problema é considerar, portanto, o 
nível da classe de segurança do objeto como parte 
da chave, o que resultaria na relação descrita pela 
Tabela 2:
ID Nome Cor Classe
101 Caneta Azul S
101 Papel Vermelho C
102 Lápis Preto C
Tabela 2: Exemplo de relação multinível com a classe com-
pondo a chave. Fonte: Elaboração própria�
A existência de objetos que resultem em visualiza-
ções diferentes para diferentes usuários é denomi-
nada poli-instanciação� Por exemplo, para a relação 
na Tabela 2, um usuário com nível de liberação C 
visualizaria os registros: <101,Papel,Vermelho,C> e 
<102,Lápis,Preto,C>, enquanto outro usuário, com 
nível de liberação S ou TS, visualizaria os registros: 
<101,Caneta,Azul,S>, <101,Papel,Vermelho,C> e 
<102,Lápis,Preto,C>.
Outra questão importante para a manutenção da 
segurança em bancos de dados é a autenticação� 
Quando o acesso ao banco de dados é feito a partir 
de uma localização segura, validar a autenticidade 
do usuário é simples e, normalmente, os mecanis-
mos que implementam senhas são suficientemente 
adequados�
11
Contudo, o acesso realizado pela internet, ou seja, a 
partir de uma rede externa, é mais difícil de autenti-
car� Por exemplo, em uma transação de compras via 
cartão de crédito, como autenticar que o usuário é de 
fato o proprietário do cartão? Ou ainda: como o usu-
ário pode estar seguro de que a interface de inserção 
do número do cartão é, realmente, da empresa que 
oferece o produto? A solução para a autenticação 
em redes externas passa pela criptografia�
A criptografia é uma técnica que desconfigura os 
dados para que tanto a sua transmissão quanto o seu 
armazenamento sejam seguros� Assim, criptografar 
dados consiste de um algoritmo que recebe como 
entrada um conjunto de dados que será criptografado 
e uma chave de criptografia. A saída do algoritmo 
é um conjunto ilegível de dados, ou seja, que não 
representa a informação original�
O dado criptografado não pode ser interpretado sem 
ser descriptografado� O algoritmo que realiza a des-
criptografia recebe o conjunto de dados criptografa-
do com uma chave de descriptografia, a saída é o 
conjunto de dados original�
Na criptografia simétrica, ambas as chaves de cripto-
grafar e descriptografar são iguais e conhecidas por 
todos os usuários autorizados no banco de dados� 
Assim, o emissor e o receptor da mensagem devem 
conhecer a chave para que o algoritmo possa realizar 
o processo�
Uma chave é uma cadeia de bits que define como 
o algoritmo precisa proceder para criptografar os 
12
dados� Existem alguns problemas de segurança com 
a criptografia simétrica, por exemplo, gestão, arma-
zenamento seguro e quantidade de chaves.
A criptografia assimétrica considera dois tipos de 
chaves. Também chamada de criptografia de chave 
pública, a criptografia assimétrica utiliza uma chave 
pública, ou seja, conhecida por todos e utilizada para 
realizar a criptografia dos dados. A chave privada, 
por sua vez, é conhecida somente pelo destinatário 
da mensagem e utilizada com o intuito de descrip-
tografar o conteúdo recebido�
Na prática, quando o usuário A deseja enviar uma 
mensagem para o usuário B, o usuário A utiliza a 
chave pública de B para criptografar os dados, que 
é conhecida por todos, e o usuário B utiliza sua cha-
ve privada para realizar o processo reverso� Essa 
abordagem promove um maior grau de segurança, 
quando comparada com a criptografia simétrica.
Voltando às questões anteriores, a respeito da auten-
ticidade de usuários em compras on-line, perceba que 
o fornecedor do produto pode distribuir sua chave 
pública e, com isso, o comprador pode ter seu pedido 
criptografado, garantindo que somente o vendedor 
possa acessar os dados da transação�
A garantia de que, de fato, o usuário está se comuni-
cando com o servidor do fornecedor do produto pode 
ser obtida a partir do protocolo Secure Sockets Layer 
(SSL). Nesse caso, o fornecedor solicita a um certifi-
cador que publique um certificado. Esse certificado 
13
é criptografado com a chave privada do certificador 
e contém a chave pública do fornecedor.
Assim, o cliente pode descriptografar o certificado, 
por meio da chave pública do certificador; assim, 
obtém-se a chave pública do fornecedor com garantia 
de autenticidade�
Nesse ponto, o navegador do cliente gera uma chave 
de sessão temporária, a qual é criptografada com 
a chave pública do fornecedor e enviada. A partir 
daí, todas as mensagens trocadas pelo fornecedor 
e cliente são criptografadas utilizando a chave de 
sessão�
Note que o procedimento descrito só é possível de-
vido a uma propriedade basilar dos algoritmos de 
criptografia, propriedade essa que diz que as chaves 
podem ter suas funções trocadas:
d e c r y p t ( d , ( e n c r y p t ( e , I ) ) ) = I = d e c r y p t ( e ,
( e n c r y p t ( d , I ) ) )
onde e é a chave de criptografia, d é a chave de 
descriptografia e I é o dado.
A autenticação de um usuário pode ser feita de ma-
neira similar� O fornecedor pode considerar a utiliza-
ção da senha do usuário para a autenticação. Esse 
procedimento ocorre após o protocolo SSL estabele-
cer uma sessão segura entre o fornecedor e o cliente�
Além disso, o cliente pode utilizar sua chave privada 
para criptografar seu pedido; em seguida, criptografa 
novamente utilizando a chave pública do fornecedor. 
14
No lado do fornecedor, o processo é feito inversa-
mente, dado que o fornecedor descriptografa o pe-
dido, utilizando sua chave privada e a chave pública 
do cliente�
Quando a autenticação do emissor da mensagem 
é o objetivo mais importante, pode-se considerar 
o uso de uma assinatura digital para verificar tanto 
a integridade da mensagem, ou seja, se ela não foi 
alterada durante o processo, quanto a identidade 
do emissor�
A assinatura digital é a aplicação de um esquema 
hashing para obter uma versão compacta da men-
sagem� Com isso, a versão da mensagem original 
é criptografada por meiodo uso da chave privada 
do emissor, e o resultado é anexado à mensagem 
original�
O conteúdo criptografado associado à mensagem 
original é a assinatura do emissor� O receptor da men-
sagem realiza o mesmo procedimento, ou seja, cria 
uma versão da mensagem recebida, do mesmo modo 
que o emissor fez, e descriptografa a assinatura�
Se ambos os conteúdos forem iguais, isso indica 
que a mensagem está íntegra e, como foi possível 
realizar a descriptografia com a chave pública do 
emissor, está autenticada a origem da mensagem�
15
Computação em grid e cluster
Os avanços tecnológicos observados no desenvol-
vimento de computadores ocorrem com uma veloci-
dade impressionante� Os computadores oferecidos 
no mercado apresentam muita evolução de um ano 
para outro, comparados com as versões anteriores� 
Ainda assim, existem áreas, como a meteorologia, 
cuja demanda por recursos computacionais supera 
a oferta atual e, em muitos contextos, a aquisição 
de supercomputadores é uma alternativa inviável�
Outra alternativa mais viável e comumente conside-
rada é a soma de recursos de diferentes computa-
dores, o que pode resultar em um ganho importante 
de poder de processamento� Nesse sentido, os pa-
radigmas de cluster e grid de computadores podem 
ser considerados para usufruir o máximo do poder 
computacional�
Um ambiente de alto desempenho pode ser obtido 
tanto pela utilização de grid quanto pela de cluster 
de computadores, levando em conta os processa-
dores mais velozes, a otimização de algoritmos e 
a utilização de computação paralela e distribuída. 
Ademais, garantir a baixa latência da comunicação e 
a alta taxa de transmissão de dados completa esse 
cenário de alto desempenho.
Define-se um cluster de computadores como um con-
junto de computadores interligados em uma rede 
LAN de alto desempenho. Os computadores coope-
16
ram entre si para atingir um determinado objetivo e 
se comunicam para coordenar suas ações�
Por sua vez, um grid computacional caracteriza-se 
pelo compartilhamento de recursos, disponibilizando-
-os como serviços, em um ambiente geograficamente 
distribuído. Os recursos que compõem o grid são in-
terligados a partir de redes WAN de alto desempenho.
Na Tabela 3, encontramos as principais diferenças 
entre as configurações de grid e de cluster:
Configuração Cluster Grid
Domínio Único Múltiplo
Nós Milhares Milhões
Segurança Desnecessária Necessária
Custo Alto Alto
Granularidade Grande Muito grande
Sistema Operacional Homogêneo Heterogêneo
Tabela 3: Diferenças entre as configurações de cluster e 
grid� Fonte: Adaptada de Colvero, Dantas e Cunha (2005).
A regulação em um ambiente de cluster é feita por 
uma única entidade, ao passo que, em um ambien-
te de computação em grid, há múltiplas entidades 
reguladoras�
Outra diferença é a escala do ambiente� À medida que 
a computação em cluster pode contar com milhares 
de nós interconectados, na computação em grid o 
número pode chegar aos milhões de nós.
Um ambiente de cluster é restrito, na maioria das 
vezes, a uma rede privada� Dessa forma, as ques-
tões de segurança não são importantes, visto que o 
ambiente é controlado� Por outro lado, dada a distri-
17
buição geográfica dos recursos na computação em 
grid, as questões de segurança são fundamentais�
Com relação ao custo, em ambos os paradigmas é 
alto; porém, como na computação em grid o custo 
é compartilhado por múltiplas entidades regulado-
ras, acaba por ser menos impactante que em um 
ambiente de cluster�
A granularidade é também grande em ambos os 
paradigmas, com uma tendência de ser maior em 
ambientes de grid. Por fim, a computação em cluster 
conta com um único sistema operacional, enquan-
to que na computação em grid é possível ter vários 
sistemas diferentes�
As diferenças entre clusters e grids podem ser evi-
denciadas, também, por meio das demandas para 
suas respectivas constituições� Em um ambiente 
de cluster deve haver, para o nível do usuário, um 
conjunto de políticas para a utilização do ambiente, 
gerenciadores de recursos e alguma interface com 
o usuário� 
No nível de administração, o ambiente deve contar 
com a gerência de hardware e software. Em ambien-
tes de grid, além das demandas apresentadas para 
os ambientes de cluster, deve haver gerenciadores 
de recursos globais e locais, monitoração, autentica-
ção e certificação. Essas demandas adicionais são 
resultado da necessidade de segurança�
18
Redes de computadores
Anteriormente, pudemos verificar que o ambiente de 
alto desempenho computacional é promovido pelos 
paradigmas cluster e grid, sendo dependentes do 
meio de transmissão de dados� Assim, vamos elencar 
aqui os principais tipos e as principais características 
das redes de computadores�
A internet revolucionou a sociedade contemporânea 
de diferentes maneiras� Tem suas origens a partir de 
demandas militares e, posteriormente, por meio do 
avanço das pesquisas acadêmicas� A rede precursora 
da internet era denominada ARPANET, e surgiu do 
trabalho de estudantes universitários.
Em especial no ambiente acadêmico, muitas redes de 
computadores existiam para a comunicação entre os 
departamentos dos campi� Cada rede contava com 
um protocolo de comunicação particular e, assim, a 
comunicação entre as redes era um problema�
Nesse sentido, o protocolo TCP/IP possibilitou a co-
nexão de novas redes à ARPANET e, devido ao cres-
cimento da escala da rede, o Domain Name System 
surgiu com vistas a solucionar a dificuldade de se 
localizar os host’s na rede�
Uma característica da ARPANET era a dificuldade de 
acesso, o que motivou a criação da National Science 
Foundation (NSFNET) que, em 1983, se conectou à 
ARPANET�
19
Um computador conecta-se à internet se executa a 
pilha de protocolos TCP/IP, se possui um endereço 
IP e se é capaz de enviar pacotes a qualquer máqui-
na na rede. Originalmente, a internet tinha quatro 
aplicações:
I.  Correio eletrônico�
II.  Newsgroups.
III.  Logon remoto (SSH)�
IV.  Transferência de arquivos (FTP)�
A popularização da internet surge com o crescente 
número de redes de computadores conectadas a 
ela� Entre as suas principais aplicações, destacamos 
o compartilhamento de recursos e informações, a 
redução das distâncias geográficas, o acesso a infor-
mações remotas, o comércio eletrônico, entre outras�
As redes de computadores podem ser classificadas 
segundo duas dimensões no âmbito do hardware: a 
tecnologia de transmissão e a escala� Com relação 
à tecnologia de transmissão, podemos ter links de 
difusão ou ponto a ponto� Quanto à escala, podemos 
destacar as redes locais (LAN), as redes metropoli-
tanas (MAN), as redes de longa distância (WAN) e 
as redes sem fio.
As redes do tipo Local Area Network (LAN) são priva-
das de curta extensão e de simples gerenciamento, 
devido ao seu tamanho. As LAN são muito utiliza-
das para possibilitar a comunicação entre diferentes 
20
computadores pessoais, bem como para o compar-
tilhamento de recursos.
As LAN sem fio são muito populares, e a comuni-
cação entre os computadores e a internet é feita a 
partir de um roteador� O padrão considerado para as 
LAN sem fio é chamado IEEE 802.11, mais conhecido 
como Wi-Fi. As LAN com fios podem utilizar diferen-
tes tecnologias, hoje em dia é comum a utilização 
de fibra óptica.
Na Figura 1, temos exemplos de LAN sem fio (a) e 
cabeada (b)� O padrão mais considerado para LAN 
cabeadas é o IEEE 802.3, também conhecido como 
Ethernet. Cada host se conecta a um dispositivo de 
rede chamado switch, por meio de suas várias portas� 
O papel do switch é distribuir os pacotes de dados 
aos computadores, utilizando um endereço no pacote 
para identificar o destinatário.
Ponto de acesso
à rede cabeada
Switch
Ethernet
portas
host’s host’s
restante 
da rede
(a) (b)
Caixa 
de junção
Figura 1: LAN sem fio e cabeada� Fonte: Adaptada de 
Wetherall e Tanenbaum (2011).
21
As redes do tipo Metropolitan Area Network (MAN) 
podem abranger uma cidade. Um exemplo de MAN 
é a rede de televisãoa cabo que tem sua origem nos 
sistemas de antenas comunitárias� Esses sistemas 
eram utilizados em locais com fraca recepção de 
sinais� Assim, uma antena era instalada em um ponto 
alto e distribuía o sinal para os assinantes.
Com a popularização da internet, as operadoras 
passaram a distribuir os serviços de internet, o que 
transformou a rede de distribuição de sinais de TV 
em uma MAN. A Figura 2 apresenta um exemplo de 
MAN. Note que uma central de distribuição a cabo 
recebe os sinais de TV e internet e os distribui aos 
assinantes� 
Outro tipo de MAN, o resultado de pesquisas recentes 
de acesso à internet de alta velocidade sem fio, é 
padronizado como IEEE 802.16, também conhecido 
como WiMAX.
Caixa 
de junção
internet
antena
Central
Figura 2: MAN baseada na TV a cabo. Fonte: Adaptada de 
Wetherall e Tanenbaum (2011).
22
As redes do tipo Wide Area Network (WAN) são uti-
lizadas para conectar grandes áreas geográficas, 
como um país ou continente inteiro. Pense em uma 
empresa que tenha filiais em diferentes cidades. A 
WAN conecta as filiais que possuem diversos host’s 
conectados a um roteador� Uma sub-rede conecta os 
roteadores, transportando dados de um roteador a 
outro, por meio das linhas de transmissão. No caso 
de WAN conectada por fios, as linhas de transmissão 
podem ser fios de cobre ou fibra óptica. Essas linhas 
de transmissão são, no geral, alugadas de empresas 
de telecomunicações�
Os roteadores conectam três ou mais linhas de 
transmissão, sendo os responsáveis por direcionar 
as entradas recebidas para uma interface de saída 
específica, que conduzirá ao host de destino�
A comunicação em uma rede de computadores torna-
-se possível dado o uso de protocolos. Os protocolos 
de redes apresentam uma hierarquia em camadas, 
sendo que cada camada tem uma função específica. 
Todas as camadas utilizam um mecanismo de ende-
reçamento para a identificação dos transmissores e 
dos receptores dos dados�
O projeto de protocolos em camadas deve conside-
rar a definição do número de canais lógicos e suas 
prioridades� O protocolo deve, ainda, prever um con-
trole de erros que permita ao receptor informar ao 
transmissor quais mensagens foram recebidas de 
maneira correta e quais não foram�
23
Outra questão de projeto relacionada às camadas 
de um protocolo é o controle de fluxo. Quando trans-
missores e receptores operam em velocidades dife-
rentes, deve haver algum mecanismo que equalize 
o fluxo de dados.
As camadas inferiores podem oferecer dois tipos de 
serviços às camadas superiores� Os serviços orien-
tados às conexões têm similaridade com o sistema 
telefônico. Quando há pretensão de conversar com 
outra pessoa via telefone, primeiro é preciso estabe-
lecer uma conexão�
Desse modo, os serviços orientados a conexões ne-
cessitam que uma conexão seja estabelecida entre 
emissor e receptor, ou seja, é como se houvesse um 
canal direto entre eles, por onde os dados trafegam 
de um lado para outro�
Quando o serviço é finalizado a conexão é liberada. 
Os serviços sem conexão são similares ao siste-
ma postal� Cada mensagem carrega o endereço do 
destino e, com isso, os pacotes de dados podem 
ser roteados pela rede, independentemente uns dos 
outros, até o destino final.
Um serviço é definido por um conjunto de primitivas 
ou operações� As primitivas podem ser utilizadas 
para a interação entre os componentes em um am-
biente cliente-servidor� Por exemplo, a aplicação das 
primitivas de serviço em um protocolo simples, que 
considera a implementação de um serviço com o 
uso de datagramas confirmados.
24
Observe, na Figura 3, a dinâmica para o estabeleci-
mento de conexão entre cliente e servidor�
Máquina Cliente
Processo
Cliente
KernelSistema 
Operacional
Pilha de 
protocolos Drives
(1) Solicitação de conexão
Chamadas
do sistema
Máquina servidora
(2) Resposta de aceitação
(3) Solicitação de dados
(4) Réplica
(5) Desconexão
(6) Desconexão
Processo
do sistema
Kernel Pilha de protocolos Drives
Figura 3: Interação cliente- servidor� Fonte: adaptado de 
Wetherall e Tanenbaum (2011).
Inicialmente, o servidor executa a primitiva LISTEN, 
a fim de informar que está pronto para aceitar co-
nexões� Em seguida, o cliente executa a primitiva 
CONNECT para efetivar a conexão com o servidor� 
Geralmente, o sistema operacional envia um pacote 
solicitando a conexão (1)�
Ao receber o pacote, o servidor realiza a conexão por 
meio da primitiva de serviço ACCEPT, que envia ao 
cliente uma confirmação (2). Em seguida, o servidor 
executa a primitiva RECEIVE, que prepara o servidor 
para aceitar a solicitação do cliente� Neste ponto o 
servidor fica bloqueado.
O cliente transmite a solicitação por meio da primitiva 
SEND (3), que ao chegar ao servidor desbloqueia o 
processo para atender a solicitação� Quando a soli-
citação é finalizada, o servidor utiliza a mesma pri-
mitiva SEND para responder ao cliente (4)�
25
Caso não haja mais solicitações do cliente, usa-se a 
primitiva DISCONNECT para encerrar a conexão (5)� 
Ao receber a solicitação de encerramento da cone-
xão, o servidor emite um DISCONNECT e confirma 
que a conexão será liberada (6)�
Na Tabela 4, pode-se verificar a descrição das pri-
mitivas de serviços utilizadas para a conexão do 
exemplo:
Primitiva Significado
LISTEN Bloco que espera por uma conexão de entrada.
CONNECT Estabelecer uma conexão com um par que está à espera�
ACCEPT Aceitar uma conexão de entrada de um par�
RECEIVE Bloco que espera por uma mensagem de entrada.
SEND Enviar uma mensagem ao par�
DISCONNECT Encerrar uma conexão�
Tabela 4: Primitivas de serviço� Fonte: Adaptada de 
Wetherall e Tanenbaum (2011).
Proposto pela ISO, o modelo de referência Open 
Systems Interconnection (OSI) descreve um proto-
colo em camadas e é uma iniciativa rumo à padro-
nização internacional dos protocolos em camadas� 
Apesar de os protocolos baseados no modelo OSI 
serem pouco utilizados atualmente, o modelo é im-
portante por conta das características descritas por 
suas camadas�
O modelo OSI compõe-se de sete camadas para as 
quais existem objetivos específicos. Na Figura 4, 
temos uma ilustração que descreve essas camadas 
do modelo OSI� As representações centrais, para as 
quais observamos apenas três camadas, referem-se 
ao protocolo para a sub-rede interna�
26
Aplicação
Apresentação
Sessão
Transporte
Rede
Enlace de dados
Física
Rede
Enlace de dados
Física
Rede
Enlace de dados
Física
Rede
Enlace de dados
Física
Aplicação
Apresentação
Sessão
Transporte
Meio Físico
Figura 4: Modelo OSI. Fonte: Adaptada de Wetherall e 
Tanenbaum (2011)�
A camada da aplicação disponibiliza uma série de 
protocolos importantes para o usuário� Dentre esses 
protocolos, podemos destacar o Hipertext Transfer 
Protocol (HTTP), que é a base para a comunicação 
de dados na World Wide Web, utilizado para sistemas 
que consideram hipertexto; o File Transfer Protocol 
(FTP), um protocolo para a transferência de arquivos; 
o Simple Mail Transfer Protocol (SMTP), protocolo 
padrão de envio de mensagens de correio eletrônico; 
e o Secure Shell (SSH), protocolo para serviços de 
rede seguras em um ambiente inseguro�
27
A camada de apresentação é responsável pela for-
matação dos dados que serão apresentados ao usu-
ário na camada da aplicação, ou seja, essa camada 
é responsável por converter os dados até que eles 
tenham um formato adequado tanto na apresentação 
quanto no envio pela rede� Dentre as responsabilida-
des da camada de apresentação, estão a conversão 
de caracteres de código, a conversão de dados, a 
compactação de dados e a criptografia dos dados.
A camada de sessão é responsável pelo estabeleci-
mento de uma sessão (conexão) entre os processos 
em computadores diferentes� A camada de sessão 
gerencia todo o ciclo de vida da sessão, desde o seu 
estabelecimento até o seu encerramento�
As operações necessárias para que os processos se 
comuniquem são todos de responsabilidade dessa 
camada, como a realização das tarefasde segurança, 
o reconhecimento de nomes, registros em log, etc�
A camada de transporte recebe os dados da camada 
superior e os divide em unidade menores; em segui-
da, envia essas unidades para a camada de rede� 
Além disso, a camada de transporte deve assegurar 
que todas as partes da informação cheguem ao des-
tino corretamente�
A camada de transporte também é responsável por 
absorver qualquer tipo de mudança de hardware que 
possa ocorrer, não permitindo que essas mudanças 
afetem as outras camadas�
28
Quando uma conexão é estabelecida, a camada de 
transporte precisa definir o tipo de serviço que será 
ofertado à camada de sessão� Esses serviços podem 
ser um canal ponto a ponto, que mantém a ordem 
das partes enviadas, mensagens isoladas, que não 
garantem nenhum tipo de ordem no envio, e a difusão 
de mensagens enviadas para múltiplos destinos�
A camada de rede é responsável pelas operações 
que resultam na sub-rede, pois ela determina a for-
ma pela qual os pacotes de dados são roteados da 
origem até o destino�
As rotas definidas para os pacotes podem ser está-
ticas ou dinâmicas: as estáticas são predefinidas; 
as dinâmicas podem apresentar variações durante 
o trajeto em função da carga atual da rede�
Além disso, a camada de rede gerencia o endereça-
mento que pode ser observado entre as redes co-
nectadas, as diferentes definições para o tamanho 
dos pacotes de dados e diferença entre protocolos�
A camada de enlace de dados cuida para que um 
canal de transmissão de dados seja livre de erros de 
transmissão não detectáveis pela camada de rede� 
Determina, ainda, que o transmissor particione o pa-
cote de dados em quadros de dados, visando a poder 
ser transmitidos sequencialmente com confirmação 
de recebimento� A camada de enlace de dados re-
gula o tráfego na rede, equalizando a diferença de 
velocidade entre emissor e receptor�
29
Finalmente, a camada física é responsável pela trans-
missão de bits brutos por um canal de comunicação� 
Entre as questões que a camada física tem de lidar, 
destacamos a voltagem utilizada para a represen-
tação de um bit, o tempo de duração de um bit e o 
gerenciamento de possíveis transmissões bilaterais, 
ou seja, transmissões realizadas em dois sentidos 
simultaneamente. A camada física cuida também das 
interfaces mecânicas, elétricas e de sincronização.
O modelo TCP/IP tem sua relevância definida de ma-
neira oposta àquela apresentada pelo protocolo OSI� 
O modelo TCP/IP é pouco utilizado, contrastando 
com a importância do modelo OSI. Por outro lado, 
os protocolos baseados no modelo TCP/IP são bas-
tante utilizados, o que não se observa nos protocolos 
baseados no modelo OSI�
O modelo de referência TCP/IP tem sua origem as-
sociada aos primórdios da internet, mais especifica-
mente à ARPANET� Tal qual estudamos, a ARPANET 
é a rede ancestral da internet, que se desenvolveu 
a partir da integração entre redes, principalmente, 
acadêmicas�
À medida que a escala da ARPANET crescia, au-
mentavam os problemas de padronização entre as 
diferentes redes� Assim, devido à necessidade de 
integração e padronização, criou-se o que hoje co-
nhecemos por “modelo de referência TCP/IP”.
A Figura 5 traz um comparativo entre as camadas 
dos modelos OSI e TCP/IP:
30
Aplicação
AplicaçãoApresentação
Sessão
Transporte Transporte
Inter-redesRede
Enlace de dados
Física
Host/ rede
Modelo OSI Modelo
TCP/ IP
Figura 5: Comparação entre os modelos OSI e TCP/IP� 
Fonte: Adaptada de Wetherall e Tanenbaum (2011).
O modelo TCP/IP apresenta quatro camadas apenas, 
sendo que a camada da aplicação substitui as cama-
das da aplicação, apresentação e sessão do modelo 
OSI, e a camada host/rede do modelo TCP/IP subs-
titui as camadas de enlace e física do modelo OSI.
31
A camada inter-redes é responsável pela integração 
de redes sem conexões, possibilitando com isso que 
os hosts insiram seus pacotes de dados em qualquer 
rede e assegurando que esses pacotes trafegarão 
independentemente até o destino�
Tal qual ocorre no sistema de correios, os pacotes 
são endereçados e inseridos na rede independente 
e simultaneamente. Isso é possível por causa de um 
endereço IP atribuído a todo host na rede� Ademais, 
a camada inter-redes é responsável por rotear os 
pacotes na rede e evitar o congestionamento�
A camada de transporte é responsável tanto por es-
tabelecer quanto por manter a conversação entre as 
entidades pares dos hosts de origem e destino� Essa 
camada implementa dois protocolos: o Transmission 
Control Protocol (TCP) e o User Datagram Protocol 
(UDP)�
O TCP é orientado para conexões confiáveis e é res-
ponsável por fragmentar o fluxo de bytes e enviá-los 
para a camada inter-redes; ainda, cuida do controle 
de fluxo de dados. Por sua vez, o UDP é um protocolo 
sem conexão e não confiável, por isso é utilizado 
quando a entrega de um determinado pacote de da-
dos deve ser realizada imediatamente, mesmo que 
em detrimento da precisão�
A camada da aplicação, assim como no modelo OSI, 
disponibiliza todos os protocolos de nível mais alto, 
relevantes para o usuário, como o TELNET (terminal 
virtual), o FTP (transferência de arquivos) e o SMTP 
(correio eletrônico)� Note que o TCP/IP não tem as 
32
camadas de sessão e de apresentação, por serem 
raramente utilizadas na maior parte das aplicações�
Finalmente, a camada host/rede apresenta-se como 
um grande vácuo� O modelo de referência TCP/IP 
não especifica o que ocorre nesta camada. A única 
especificação feita pelo modelo é que o host deve 
se conectar à rede por meio de algum protocolo, de 
modo que o host possa enviar pacotes IP pela rede�
O protocolo referido não é, portanto, especificado e 
pode variar em função do host ou da rede� Na lite-
ratura, raramente há algum tipo de descrição mais 
detalhada a respeito da camada host/rede�
33
CONSIDERAÇÕES FINAIS
Ao longo deste módulo, tivemos a oportunidade de 
explorar conceitos que permeiam os sistemas para-
lelos e distribuídos em um contexto de alto desem-
penho e disponibilidade, os quais estão associados 
aos sistemas de banco de dados�
O objetivo aqui foi conhecer as características e 
os serviços ofertados por Sistema Gerenciador de 
Banco de Dados (SGBD), evidenciando com isso as 
suas mais notáveis características.
Buscamos identificar os principais meios de arma-
zenamento de dados, destacando tanto as carac-
terísticas físicas quanto os tipos de organização e 
manipulação dos dados�
Além disso, diferenciamos os tipos de sistema pos-
síveis e, logo em seguida, identificamos as particu-
laridades dos sistemas cliente-servidor no domínio 
dos bancos de dados. Ao final do módulo, explora-
mos as organizações mais relevantes no tocante aos 
componentes computacionais, na forma de redes, 
destacando as características.
Em outras palavras, estudamos as características 
pertinentes à segurança de aplicações, com foco no 
vazamento de senhas, autenticação, autorização e 
auditoria em banco de dados�
Com isso, compreendemos os tipos de organização 
de servidores que consideram os conceitos de com-
34
putação em grid e cluster, ao diferenciar as peculia-
ridades de cada paradigma�
Nesse sentido, abordamos as organizações de con-
juntos de componentes computacionais na forma 
de redes de interconexão aplicados a sistemas pa-
ralelos, salientando as características de cada tipo 
de rede�
Sendo assim, identificamos os diferentes tipos de 
redes de computadores, no contexto dos bancos de 
dados distribuídos, avaliando as vantagens e desvan-
tagens de cada tipo�
35
Referências Bibliográficas 
& Consultadas
BARRETO, J. S. ; ZANIN, A. ; MORAIS, I . S. ; 
VETTORAZZO, A. S. Fundamentos de segurança da 
informação. Porto Alegre: SAGAH, 2018 [Biblioteca 
Virtual]�
COLVERO, T. A.; DANTAS, M. A. R.; CUNHA, D. P. 
Ambientes de clusters e grids computacionais: 
características, facilidades e desafios. SULCOMP 
Congresso Sul Brasileiro de Computação, v. 1, n. 1, 
2005. Disponível em: http://periodicos.unesc.net/
sulcomp/article/view/798/750�Acesso em: 20 nov� 
2020�
ELMASRI, R.; NAVATHE, S. B. Sistema de banco de 
dados. 6. ed. São Paulo: Pearson Addison-Wesley, 
2011 [Biblioteca Virtual].
HEUSER, C� A� Projeto de banco de dados� 6� ed� 
Porto Alegre: Bookman, 2009. [Biblioteca Virtual].
MANNINO, M. V. Projeto, desenvolvimento de apli-
cações e administração de banco de dados� 3� ed� 
Porto Alegre: AMGH, 2014 [Biblioteca Virtual].
MEDEIROS, L. F. Banco de dados: princípios e prática� 
Curitiba: InterSaberes, 2013 [Biblioteca Virtual].
http://periodicos.unesc.net/sulcomp/article/view/798/750
http://periodicos.unesc.net/sulcomp/article/view/798/750
MOLINARO, L. F. R. Gestão de tecnologia da infor-
mação: governança de TI: arquitetura e alinhamento 
entre sistemas de informação e o negócio. Rio de 
Janeiro: LTC, 2011 [Minha Biblioteca].
MORI JUNIOR, F. S. ; MACHADO, E. S. ; 
Autenticação Integrada Baseada em Serviço 
de Diretório LDAP. São Paulo: IME/USP, 2006. 
Disponível em: https://bcc.ime.usp.br/tccs/2006/er-
ich/html/index.html. Acesso em: 18 nov. 2020.
OIKAWA, M. K. Sistemas de Banco de Dados 
– Notas de Aula. Universidade Federal do ABC - 
UFABC, 2012.
RAMARKRISHNAN, R. Sistemas de gerenciamento 
de banco de dados. 3. ed. Porto Alegre: AMGH, 
2001 [Biblioteca Virtual].
SILBERSCHATZ, A.; SUNDARSHAN, S.; KORTH, 
H. F. Sistema de Banco de Dados. Elsevier Brasil, 
2016.
VIDAL, A. G. R. Sistemas Computacionais – Notas 
de Aula. São Paulo: FEA/USP, 2013.
WANDERLEY, A. R. M. C. Gerenciamento de ser-
vidores. São Paulo: Érica, 2019 [Biblioteca Virtual].
https://bcc.ime.usp.br/tccs/2006/erich/html/index.html
https://bcc.ime.usp.br/tccs/2006/erich/html/index.html
	INTRODUÇÃO
	GERENCIAMENTO DE SERVIDORES
	Segurança da informação
	Computação em grid e cluster
	Redes de computadores
	CONSIDERAÇÕES FINAIS
	Referências Bibliográficas & Consultadas

Continue navegando

Outros materiais