Mostrando postagens com marcador Redes de Computadores I. Mostrar todas as postagens
Mostrando postagens com marcador Redes de Computadores I. Mostrar todas as postagens

terça-feira, 18 de fevereiro de 2014

Cálculo de Sub-rede IP


Para que seja possível a comunicação entre maquinas em uma mesma rede é necessário que cada uma possua um endereço IP exclusivo naquela rede.

Um endereço IP é um numero binário de 32 bits escrito em notação decimal. O endereço IP é dividido em quatro partes denominadas octetos, pois cada parte é composta por 8 bits.

Para fazermos a conversão da notação decimal para a binária devemos utilizar a tabela abaixo.

BIT
8º bit
7º bit
6º bit
5º bit
4º bit
3º bit
2º bit
1º bit
Cálculo
27
26
25
24
23
22
21
20
Valor Decimal
128
64
32
16
8
4
2
1

Lembre que:
-A base é 2x, pois o bit pode assumir dois valores: ligado ou desligado.

-23 é exatamente o dobro que 22, assim como 25 é o dobro que 24 e assim por diante. Isto será útil para depois fazermos os cálculos todos de cabeça, sem que seja necessário rascunhar no papel.

Existem diversas redes conectadas umas as outras no mundo, de maneira que cada rede precisa ter uma “faixa” exclusiva de endereços IP. Esta faixa é constituída por diversos endereços IP’s. O tamanho de cada rede em quantidade de endereços é determinado pela máscara de rede.

Esta exclusividade no endereçamento de cada rede é o que viabiliza a comunicação entre uma rede e outra, pois desta forma é possível traçar uma rota para que seja possível alcançar redes distantes da sua.

Aliado a máscara de rede, um endereço IP nos fornece duas informações. A rede a qual pertence e a identificação do host (máquina) nesta rede. É como se você escrevesse uma carta e nela inserisse o seu endereço onde consta o numero do prédio e seu apartamento.

Para que um roteador seja capaz de entregar informações em redes remotas, é necessário que forneçamos a ele os endereços de origem e destino, bem como as respectivas máscaras de rede. Através dessas informações, o roteador terá condições de analisar de onde vem e para onde vai à informação, calculando o caminho (rota) mais eficiente para alcançar o destino.

Concluímos então que o endereço serve como referencia para localização, ou seja, permite encontrar e traçar um caminho eficiente para se chegar a determinado local. O mesmo vale para as redes, através dos endereços IP (de origem e destino) e suas respectivas máscaras são possíveis localizar e traçar rotas para alcançar hosts em redes remotas, mesmo que esteja no outro lado do mundo.

Uma máscara de rede é um numero binário escrito em notação decimal, das 256 combinações possíveis, não podemos utilizar a primeira (0), pois é a que identifica a rede, nem a ultima (255), pois representa o endereço de broadcast desta rede.

Assim, reescrevemos a formula como 28-2=254. Esta é a quantidade de endereços IP disponíveis para endereçar hosts na rede 10.5.1.254. Portanto esta rede não suportará mais do que 254 equipamentos que utilizam endereços IP.

Considerando que:
Com a máscara /24 (255.255.255.0) podemos abrigar até 254 (28-2) hosts em uma única rede;

Com a máscara /16 (255.255.0.0) podemos abrigar até 65534 (216-2) hosts em uma única rede;

Com a máscara /8 (255.0.0.0) podemos abrigar até 16.777.214 (224-2)hosts em uma única rede. Isto é possível, pois nesta máscara (11111111.00000000.00000000.00000000) temos 24 zeros (0) disponíveis para combina-los criando identificações de hosts nesta rede.

Imaginemos agora que em nossa empresa temos duas redes distintas, uma delas com 53 máquinas e a outra com 31, totalizando 84 hosts em toda a empresa. Portanto serão necessários 84 IP’s divididos em duas sub-redes para atender a necessidade de endereçamento da nossa empresa.

Qualquer uma das máscaras padrão (/8, /16 ou /24) possui uma quantidade muito maior de IP’s do que precisamos. Se utilizássemos qualquer uma dessas máscaras, estaríamos desperdiçando os IP’s restantes conforme a tabela abaixo.


Quantidade de hosts
Máscara utilizada
Total de IP’s/rede
IP’s Despediçados/rede
Sub-rede 01
53
255.255.255.0
254
201
Sub-rede 02
31
255.255.255.0
254
223
Totais
84


424

Está havendo um desperdício de 424 IP’s, pois temos apenas 84 hosts e a máscara que escolhemos comporta 254 IP’s por rede. E neste caso estamos utilizando duas redes classe C.

Para resolvermos definitivamente este problema, precisamos empregar uma máscara de rede que permita menos de 254 hosts por rede, e é aqui onde se encaixa o conceito de sub-rede.

Se uma máscara classe C padrão (/24 = 255.255.255.0) permite 256 combinações numéricas (254 endereços efetivamente, devido ao calculo 28-2), então meia (1/2) classe C permitirá 128 combinações e um quarto (1/4) de classe C permitirá 64 combinações numéricas.

Tudo o que precisamos fazer então é dividir uma classe C nas chamadas sub-redes. Para compreendermos como ocorre esta divisão, será necessário trabalharmos com a notação binária.

Na classe C temos 8 bits desligados (0) representando a porção do endereço que identificará os hosts. Podemos utilizar o primeiro bit da esquerda para criarmos uma sub-rede. Para que isso seja possível basta que liguemos este bit:

Note o primeiro bit do ultimo octeto ligado:
11111111.11111111.11111111.1000000

Isto gera outra máscara de rede, se antes tínhamos uma /24, agora temos um /25, pois estamos utilizando 25 bits ligados (1) para compor a máscara de rede.

Nova máscara: 255.255.255.128
Notação CIDR: /25
Notação Binária: 11111111.11111111.11111111.1000000
Quantidade de hosts/rede: 27-2 = 126 hosts.

Com a nova máscara, devemos recalcular a quantidade de hosts que esta nova rede (sub-rede neste caso, pois deriva de uma rede classe C) comportará:


Quantidade de hosts
Máscara utilizada
Total de IP’s/rede
IP’s Despediçados/rede
Sub-rede 01
53
255.255.255.128
126
73
Sub-rede 02
31
255.255.255.128
126
95
Totais
84


168

Neste caso as duas sub-redes ficaram assim:

10.5.1.0 até 10.5.1.127
10.5.1.128 até 10.5.1.255

As máscaras possíveis para sub-redes são:

Máscara
Máscara em binário
Quantidade de sub-redes
Quantidade de Hosts
255.255.255.128
11111111.11111111.11111111.10000000
2
126
255.255.255.192
11111111.11111111.11111111.11000000
4
62
255.255.255.224
11111111.11111111.11111111.11100000
8
30
255.255.255.240
11111111.11111111.11111111.11110000
16
14
255.255.255.248
11111111.11111111.11111111.11111000
32
6
255.255.255.252
11111111.11111111.11111111.11111100
64
2

Outro exemplo é se dividirmos uma rede em quatro sub-redes
As faixas de rede ficarão assim:

10.1.1.0 a 10.1.1.63
10.1.1.64 a 10.1.1.127
10.1.1.128 a 10.1.1.191
10.1.1.192 a 10.1.1.255


Podemos ter ainda sub-redes derivadas das classes A e B, seguindo as mesmas regras.

quinta-feira, 12 de dezembro de 2013

Camadas do Modelo OSI

Visão geral da arquitetura OSI.

Estabelecida em 1947, a International Organization for Standardization( ISO) é um órgão que se dedica ao estabelecimento de acordos mundiais sobre padrões internacionais, e conta com a participação de varias nações. Um padrão ISO que cobre todos os aspectos das comunicações de dados em redes é o modelo OSI (Open Systems Interconnection). Ele foi introduzido inicialmente no final da década de 1970. Um sistema aberto é um conjunto de protocolos que permite que dois sistemas diferentes se comuniquem independentemente de suas arquiteturas subjacentes. O propósito do modelo OSI é facilitar a comunicação entre sistemas diferentes sem a necessidade de realizar mudanças na lógica do hardware e software de cada um deles. O modelo OSI não e um protocolo; trata-se de um modelo para compreender e projetar uma arquiteta de rede flexível, robusta e interoperável.

ISO é a organização. OSI é o modelo.

O modelo OSI é uma estrutura em camadas para projeto de sistemas de redes que permitem a comunicação entre todos os tipos de sistemas de computadores. Ele é formado por sete camadas distintas, porem relacionadas entre si, cada uma das quais definidos uma parte do processo de transferência de informações através de uma rede. Compreender os fundamentos do modelo OSI fornece uma base sólida para explorar outros conceitos de comunicações de dados. 

O Modelo OSI permite comunicação entre máquinas heterogêneas e define diretivas genéricas para a construção de redes de computadores (seja de curta, média ou longa distância) independente da tecnologia utilizada. Este modelo é dividido em camadas hierárquicas, ou seja, cada camada não usa as funções da própria ou da camada anterior, para esconder a complexidade e transparecer as operações ao usuário, seja ele um programa ou outra camada.
As camadas são empilhadas na seguinte ordem:

7. Aplicação
6. Apresentação
5. Sessão
4. Transporte
3. Rede
2. Enlace
1. Física

1 - Camada Física
A camada física define especificações elétricas e físicas dos dispositivos. Em especial, que define a relação entre um dispositivo e um meio de transmissão, tal como um cabo de cobre ou um cabo de fibra óptica. Isso inclui o layout de pinos, tensões, impedância da linha, especificações do cabo, temporização, hubs, repetidores, adaptadores de rede, adaptadores de barramento de host (HBA usado em redes de área de armazenamento) e muito mais.
Exemplo de equipamento ou protocolo:
Modem, Repetidor, Hub, RDIS, RS-232,EIA-422, RS-449,Bluetooth, USB,10BASE-T, 100BASE-TX, ISDN, SONET, DSL.

2 - Camada de Enlace 
A camada de enlace dados também é conhecida como link de dados. Esta camada detecta e, opcionalmente, corrige erros que possam acontecer no nível físico. É responsável por controlar o fluxo (recepção, delimitação e transmissão de quadros) e também estabelece um protocolo de comunicação entre sistemas diretamente conectados.
Exemplo de equipamento ou protocolo:
Switch, Ethernet, 802.11 WiFi, IEEE 802.1Q, 802.11g, HDLC, Token ring, FDDI, PPP, Frame relay, ATM .

3 - Camada de Rede
A camada de rede fornece os meios funcionais e de procedimento de transferência de comprimento variável de dados de sequências de uma fonte de acolhimento de uma rede para um host de destino numa rede diferente (em contraste com a camada de ligação de dados que liga os hosts dentro da mesma rede), enquanto se mantém a qualidade de serviço requerido pela camada de transporte. A camada de rede realiza roteamento, funções, e também pode realizar a fragmentação e remontagem, e os erros de entrega de relatório. Roteadores operam nesta camada, o envio de dados em toda a rede estendida e tornando a Internet possível. Este é um esquema de endereçamento lógico - os valores são escolhidos pelo engenheiro de rede. O esquema de endereçamento não é hierárquico.
A camada de rede controla a operação da sub-rede, decidindo qual caminho físico devem levar os dados com base nas condições da rede, a prioridade de serviço e outros fatores. Primeiro, a camada de rede precisa fornecer o mecanismo de endereçamento destes dispositivos finais. Se fragmentos individuais de dados precisam ser direcionados a um dispositivo final, este dispositivo precisa ter um endereço único. Em uma rede IPv4, quando este endereço é atribuído a um dispositivo, o dispositivo passa a ser chamado de host.

Encapsulamento
Em segundo lugar, a camada de rede precisa fornecer o encapsulamento. Além da necessidade dos dispositivos serem identificados com um endereço, os fragmentos individuais também devem conter estes endereços. Durante o processo de encapsulamento, a camada 3 recebe a PDU da camada 4 e acrescenta um cabeçalho ou rótulo da camada 3 para criar uma PDU da camada 3. Ao fazer referência à camada de rede, chamamos esta PDU de pacote. Quando se cria um pacote, o cabeçalho deve conter, entre outras informações, o endereço do host para o qual ele está sendo enviado. Este endereço é chamado de endereço de destino. O cabeçalho da camada 3 também contém o endereço do host de origem. Este endereço é chamado de endereço de origem
Exemplo de equipamento ou protocolo:
IP (IPv4, IPv6), IPsec,ICMP, ARP, RARP, NAT.

4 - Camada de Transporte
A camada de transporte é responsável por receber os dados enviados pela camada de Sessão e segmentá-los para que sejam enviados a camada de Rede, que por sua vez, transforma esses segmentos em pacotes. No receptor, a camada de Transporte realiza o processo inverso, ou seja, recebe os pacotes da camada de Rede e junta os segmentos para enviar à camada de Sessão.
Isso inclui controle de fluxo, ordenação dos pacotes e a correção de erros, tipicamente enviando para o transmissor uma informação de recebimento, garantindo que as mensagens sejam entregues sem erros na sequência, sem perdas e duplicações. A camada de Transporte separa as camadas de nível de aplicação (camadas 5 a 7) das camadas de nível físico (camadas de 1 a 3). A camada 4, Transporte, faz a ligação entre esses dois grupos e determina a classe de serviço necessária como orientada a conexão e com controle de erro e serviço de confirmação ou, sem conexões e nem confiabilidade.
O objetivo final da camada de transporte é proporcionar serviço eficiente, confiável e de baixo custo. O hardware e/ou software dentro da camada de transporte e que faz o serviço é denominado entidade de transporte. A entidade de transporte comunica-se com seus usuários através de primitivas de serviço trocadas em um ou mais TSAP(Transport Service Access Point), que são definidas de acordo com o tipo de serviço prestado: orientado ou não à conexão. Estas primitivas são transportadas pelas TPDU (Transport Protocol Data Unit).
Na realidade, uma entidade de transporte poderia estar simultaneamente associada a vários TSA e NSAP (Network Service Access Point). No caso de multiplexação, associada a vários TSAP e a um NSAP e no caso de splitting, associada a um TSAP e a vários NSAP.
A ISO define o protocolo de transporte para operar em dois modos:
Orientado a conexão.
Não-Orientado a conexão.
Como exemplo de protocolo orientado à conexão, temos o TCP, e de protocolo não orientado à conexão, temos o UDP. É óbvio que o protocolo de transporte não orientado à conexão é menos confiável. Ele não garante - entre outras coisas mais -, a entrega das TPDU, nem tão pouco a ordenação das mesmas. Entretanto, onde o serviço da camada de rede e das outras camadas inferiores é bastante confiável - como em redes locais -, o protocolo de transporte não orientado à conexão pode ser utilizado, sem o overhead inerente a uma operação orientada à conexão.
Exemplo de protocolo:
NetBEUI, TCP, UDP,RTP, SCTP, DCCP, RIP.

5 - Camada de Sessão
A camada de Sessão permite que duas aplicações em computadores diferentes estabeleçam uma sessão de comunicação. Definindo como será feita a transmissão de dados, pondo marcações nos dados que serão transmitidos. Se porventura a rede falhar, os computadores reiniciam a transmissão dos dados a partir da última marcação recebida pelo computador receptor.
Exemplo de equipamento ou protocolo:
NetBIOS, RPC, SQL, NFS, AppleTalk ASP, DECnet SCP.

6 - Camada de Apresentação
A camada de Apresentação, também chamada camada de Tradução, converte o formato do dado recebido pela camada de Aplicação em um formato comum a ser usado na transmissão desse dado, ou seja, um formato entendido pelo protocolo usado. Um exemplo comum é a conversão do padrão de caracteres (código de página) quando o dispositivo transmissor usa um padrão diferente do ASCII. Pode ter outros usos, como compressão de dados e criptografia.
Os dados recebidos da camada sete estão descomprimidos, e a camada 6 do dispositivo receptor fica responsável por comprimir esses dados. A transmissão dos dados torna-se mais rápida, já que haverá menos dados a serem transmitidos: os dados recebidos da camada 4 foram "encolhidos" e enviados à camada 1.
Para aumentar a segurança, pode-se usar algum esquema de criptografia neste nível, sendo que os dados só serão decodificados na camada 6 do dispositivo receptor.
Ela trabalha transformando os dados em um formato no qual a camada de aplicação possa aceitar, minimizando todo tipo de interferência.
Exemplo de equipamento ou protocolo:
XDR, TLS, AFP, PAP.

7 - Camada de Aplicação
A camada de aplicação corresponde às aplicações (programas) no topo da camada OSI que serão utilizados para promover uma interação entre a máquina-usuário (máquina destinatária e o usuário da aplicação). Esta camada também disponibiliza os recursos (protocolo) para que tal comunicação aconteça, por exemplo, ao solicitar a recepção de e-mail através do aplicativo de e-mail, este entrará em contato com a camada de Aplicação do protocolo de rede efetuando tal solicitação (POP3, IMAP).
Tudo nesta camada é relacionado ao software. Alguns protocolos utilizados nesta camada são: HTTP, SMTP, FTP, SSH, Telnet, SIP, RDP, IRC, SNMP, NNTP, POP3, IMAP, BitTorrent, DNS, Ping, etc.

Questões para revisão.



terça-feira, 3 de dezembro de 2013

Comunicação de Dados

Quando nos comunicamos, estamos compartilhando informações. Esse compartilhamento pode ser local ou remoto. Entre indivíduos, a comunicação local se dá normalmente frente a frente, ao passo que a comunicação remota ocorre a distancia. O termo telecomunicação abrande telefonia, telegrafia e televisão e comunicação a distancia (tele, em grego, quer dizer “distante”).

A palavra dados se refere à informação apresentadas em qualquer forma que seja acordada entre as partes que criam e usam os dados.

Comunicação de dados são as trocas de dados entre dois dispositivos por intermédio de algum tipo de meio de transmissão, como um cabo condutor formado por fios. Para que as comunicações de dados ocorram, os dispositivos de comunicação devem fazer parte de um sistema de comunicações, composto por uma combinação de hardware (equipamentos físicos) e software (programas). A eficácia de um sistema de comunicações de dados depende de quatro características fundamentais: entrega precisão, sincronização e jitter.

Entrega: O sistema deve entregar dados no destino correto. Os dados têm de ser recebidos pelo dispositivo ou usuário pretendido e apenas por esse dispositivo ou usuário.

Precisão: O sistema deve entregar dados de forma precisa. Dados que foram alterados na transmissão e deixados sem correção são inúteis.

Sincronização: O sistema deve entregar dados no momento certo. Dados entregues com atraso são inúteis. No caso de vídeo e áudio, a entrega em tempo significa fornecer os dados à medida que eles são produzidos e sem atrasos consideráveis. Esse tipo de entrega é denominado de transmissão em tempo real.

Jitter: Refere-se à variação no tempo de chegada dos pacotes. È o atraso desigual na entrega de pacotes de áudio e vídeo. Suponhamos, por exemplo, que pacotes de vídeo sejam enviados a cada 30min. Se alguns destes pacotes chegarem com um atraso de 30min e outros um atraso de 40min, o resultado será uma qualidade de vídeo irregular.

Um sistema de comunicação de dados é formado por cinco componentes.

Mensagem: São informações (dados) a serem transmitidas. Entre as formas populares de informação, temos: texto, números, figuras, áudio e vídeo.

Emissor: É o dispositivo que envia a mensagem de dados. Pode ser um computador, estação de trabalho, aparelho telefônico, televisão e assim por diante.

Receptor: É o dispositivo que recebe a mensagem. Pode ser um computador, estação de trabalho, aparelho telefônico, televisão e assim por diante.

Meio de transmissão: É o caminho físico pelo qual uma mensagem trafega do emissor ao receptor. Alguns exemplos de meios de transmissão são os seguintes: cabo par trançado, cabo coaxial, cabo de fibra óptica e ondas de rádio.

Protocolo: É um conjunto de regras que controla a comunicação de dados. Representa um acordo entre os dispositivos de comunicação. Sem um protocolo, dois dispositivos podem estar conectados, mas sem se comunicar. De modo semelhante, uma pessoa que fala francês não consegue entender outra que fala apenas o idioma japonês.




Fluxo de Dados.

A comunicação entre dois dispositivos pode ser simplex, half-duplex ou full-duplex.

Simplex

No modo simplex, a comunicação é unidirecional, como em uma via de mão única. Apenas um dos dois dispositivos em um link pode transmitir; o outro pode apenas receber.

Teclados e monitores tradicionais são exemplos de dispositivos simplex. O teclado só é capaz de introduzir informações; o monitor pode somente mostrar as saídas. O modo simplex pode usar toda a capacidade do canal para enviar dados em uma única direção.

Half-Duplex

No modo half-duplex, cada estação pode transmitir, assim como receber, mas não ao mesmo tempo. Quando um dispositivo está transmitindo, o outro pode apenas receber e vice-versa

O modo half-duplex é uma estrada de pista única com trafego permitido em ambas às direções. Quando carros estão trafegando em uma direção, os veículos que vêem no outro sentido tem de esperar. Em uma transmissão half-duplex, toda a capacidade de um canal é capturada por um dos dois dispositivos que está transmitindo no momento. Walkie-talkies e rádios CB (faixa do cidadão0 são exemplos de sistemas half-duplex.

O modo half-duplex é usado nos casos em que não existem necessidades de comunicação em ambas as direções e ao mesmo momento; toda a capacidade do canal pode ser utilizada em uma direção.

Full-Duplex

No modo full-duplex (também chamado de duplex), ambas as estações podem transmitir e receber simultaneamente.

O modo full-duplex é como uma via de mão dupla com trafego fluindo em ambas as direções ao mesmo tempo. No modo full-duplex, sinais indo em uma direção compartilham a capacidade do link com sinais indo na outra direção. Esse compartilhamento pode ocorrer de duas maneiras:

a) O link contém dois caminhos de transmissão separados fisicamente, um para transmissão e outro para recepção.

b) A capacidade do canal é dividida entre os sinais que trafegam em ambas as direções.

Um exemplo comum de comunicação full-duplex é a rede telefônica. Quando duas pessoas estão se comunicando através de uma linha telefônica, estas podem conversar e ouvir ao mesmo tempo.

O modo full-duplex é usado quando é necessária a comunicação em ambas as direções durante o tempo todo. Entretanto, a capacidade total do canal tem de serem divididas entre as duas direções.

Protocolos

Nas redes de computadores, a comunicação ocorre entre entidades em sistemas diferentes. Uma entidade é qualquer coisa capaz de enviar ou receber informações. Entretanto, duas entidades não podem simplesmente enviar fluxos de bits uma para outra e esperar que sejam compreendidas. Para que ocorra a comunicação, as entidades devem concordar com um protocolo. Protocolo é um conjunto de regras que controlam as comunicações de dados. Um protocolo define o que é comunicado, como isso é comunicado e quando deve ser comunicado. Os elementos-chave de um protocolo são sintaxe, semântica e timing.

Sintaxe: Refere-se à estrutura ou o formato dos dados, significando a ordem na qual eles são apresentados. Por exemplo, um protocolo simples poderia esperar que os primeiros 8 bits de dados significassem os endereços do emissor, o segundo conjunto de 8 bits seria o endereço do receptor e o restante do fluxo de bits seria a mensagem em si.
Semântica: Refere-se ao significado de cada seção de bits. Como determinado padrão deve ser interpretado e que ações devem ser tomadas com base nessa interpretação. Por exemplo, o endereço identifica a rota a ser tomada ou o destino final da mensagem.
Timing: Refere-se a duas características: quando os dados devem se enviados e com que rapidez eles podem ser enviados. Por exemplo, se um emissor produz dados a 100Mbps, mas o receptor é capaz de processar dados somente a 1Mbps, o transmissor sobre-carregará o receptor e parte dos dados será perdida.

Padrões

Os padrões são essenciais na criação e na manutenção de um mercado aberto e competitivo para fabricantes de equipamentos e na garantia de interoperabilidade nacional e internacional de dados e de tecnologia de telecomunicações e processos. Os padrões fornecem diretrizes aos fabricantes, fornecedores, órgãos do governo e outros provedores de serviços para garantir o tipo de interconectividade necessário no mercado atual e nas comunicações internacionais. Os padrões de comunicação de dados são divididos em duas categorias: padrões de fato e padrão de regulamentação.

Questões para revisão