quinta-feira, 9 de maio de 2013

Controle de acesso ao meio em redes sem fio


O padrão IEEE 802.11, apresentado pelo IEEE (Institute of Electrical and Electronics Engineers) em 1997 como um modelo de referência para redes sem fio, utiliza um método de acesso ao meio denominado CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance), semelhante ao das redes locais ethernet, CSMA/CD (Carrier Sense Multiple Access with Collision Detection).
O controle de acesso ao meio ocorre na camada de enlace, numa subcamada chamada MAC, responsável pelos serviços de endereçamento, reconhecimento de quadros e detecção de erros.

Controle de Acesso ao Meio – MAC 

Esta subcamada está localizada imediatamente acima da camada física, tendo como principal função a alocação do meio físico para cada estação, de forma que a transmissão não sofra interferência das outras estações que também disputam o meio.
Outras funções da subcamada MAC: prover garantia de acesso justo e atribuição de prioridades.
O meio sem fio apresenta diversas características peculiares que o difere bastante dos meios confinados mais conhecidos (par trançado, cabo coaxial e fibra ótica). Estas novas características são:
a) Características físicas dinâmicas do canal: o canal pode mudar suas características em períodos de tempo e espaço muito pequenos (desvanecimento de Rayleigh), tornando a comunicação inviável ou a utilização injusta do canal. Um usuário em melhores condições de recepção e transmissão pode prejudicar os demais por “tomar conta” do canal;
b) Mobilidade e topologia de rede dinâmica: tanto as características do canal quanto a mobilidade das estações podem alterar as conexões entre os nós e assim mudar a topologia da rede. Os protocolos devem ser capazes de manter a operação normalizada enquanto a topologia da rede muda com o tempo;
c) Vazão: desde que o espectro é um recurso escasso, a vazão (throughput) é definitivamente a consideração mais crítica dos protocolos de múltiplo acesso;
d) Retardo: características de retardo são importantes para todos os tipos de aplicações, mas, especialmente, para aquelas limitadas no tempo e aplicações multimídia, tais como; voz e vídeo;
e) Justiça no acesso: o sinal recebido de uma determinada estação mais afastada pode estar bem mais fraco do que de outras estações. O acesso de uma EM ao AP não pode ser prejudicado se o se sinal está mais fraco que de outras EM mais próximas. O protocolo MAC deve estar apto a resolver este
problema garantindo um acesso justo a todas as estações;
f) Consumo de energia: devido ao fato de os terminais serem móveis, tipicamente alimentados por baterias, a subcamada MAC deve fazer considerações no que diz respeito à utilização eficiente da potência de transmissão e recepção.
Existem dois métodos de acesso, diferenciados entre si pelas atribuições de prioridades às estações. Estes métodos são:
a) CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance): método de acesso ao meio, sem prioridade, baseado no modo DCF (Distributed Coordination Function);
b) Acesso Baseado em Prioridade: método utilizado em uma rede que contém um coordenador, denominado PC (Point Coordinator), e ele decide quem tem acesso ao meio, segundo uma tabela de prioridades. Este método é conhecido como PCF (Point Coordination Function).
Para garantir cada uma das funções descritas pelos métodos, as subcamadas MAC das EM envolvidas trocam pacotes, a fim de resolver os problemas de quando acessar o meio.

quarta-feira, 1 de maio de 2013

Cabo de par trançado


Os cabos de par trançado vêm substituindo os cabos coaxiais desde o início da década de 90. Hoje em dia é muito raro alguém ainda utilizar cabos coaxiais em novas instalações de rede, o mais comum é apenas reparar ou expandir redes que já existem.
O nome "par trançado" é muito conveniente, pois estes cabos são constituídos justamente por 4 pares de cabos entrelaçados. Os cabos coaxiais usam uma malha de metal que protege o cabo de dados contra interferências externas; os cabos de par trançado por sua vez, usam um tipo de proteção mais sutil: o entrelaçamento dos cabos cria um campo eletromagnético que oferece uma razoável proteção contra interferências externas.
Cabo de par tranlçado
Além dos cabos sem blindagem (como o da foto) conhecidos como UTP (Unshielded Twisted Pair), existem os cabos blindados conhecidos como STP (Shielded Twisted Pair). A única diferença entre eles é que os cabos blindados, além de contarem com a proteção do entrelaçamento dos fios, possuem uma blindagem externa (assim como os cabos coaxiais), sendo mais adequados a ambientes com fortes fontes de interferências, como grandes motores elétricos e estações de rádio que estejam muito próximas. Outras fontes menores de interferências são as lâmpadas fluorescentes (principalmente lâmpadas cansadas que ficam piscando), cabos elétricos quando colocados lado a lado com os cabos de rede e mesmo telefones celulares muito próximos dos cabos.

Tipos

Existem três tipos de cabos Par trançado:
  • Unshielded Twisted Pair – UTP ou Par Trançado sem Blindagem: é o mais usado atualmente tanto em redes domésticas quanto em grandes redes industriais devido ao fácil manuseio, instalação, permitindo taxas de transmissão de até 100 Mbps com a utilização do cabo CAT 5e; é o mais barato para distâncias de até 100 metros; Para distâncias maiores emprega-se cabos de fibra óptica. Sua estrutura é de quatro pares de fios entrelaçados e revestidos por uma capa de PVC. Pela falta de blindagem este tipo de cabo não é recomendado ser instalado próximo a equipamentos que possam gerar campos magnéticos (fios de rede elétrica, motores, inversores de frequência) e também não pode ficar em ambientes com umidade.
  • Shielded Twisted Pair – STP ou Par Trançado Blindado (cabo com blindagem): É semelhante ao UTP. A diferença é que possui uma blindagem feita com a malha metálica em cada par. É recomendado para ambientes com interferência eletromagnética acentuada. Por causa de sua blindagem especial em cada par acaba possuindo um custo mais elevado. Caso o ambiente possua umidade, grande interferência eletromagnética, distâncias acima de 100 metros ou exposto diretamente ao sol ainda é aconselhável o uso de cabos de fibra óptica.
  • Screened Twisted Pair – ScTP também referenciado como FTP (Foil Twisted Pair), os cabos são cobertos pelo mesmo composto do UTP categoria 5 Plenum, para este tipo de cabo, no entanto, uma película de metal é enrolada sobre o conjunto de pares trançados, melhorando a resposta ao EMI, embora exija maiores cuidados quanto ao aterramento para garantir eficácia frente às interferências.

Categorias

Os cabos UTP foram padronizados pelas normas da EIA/TIA-568-B e são divididos em 10 categorias, levando em conta o nível de segurança e a bitola do fio, onde os números maiores indicam fios com diâmetros menores, veja abaixo um resumo simplificado dos cabos UTP.

Categoria do cabo 1 (CAT1) - não é mais recomendado pela TIA/EIA

Consiste em um cabo blindado com dois pares trançados compostos por fios 26 AWG. São utilizados por equipamentos de telecomunicação e rádio. Foi usado nas primeiras redes Token-ring mas não é aconselhável para uma rede par trançado.

Categoria do cabo 2 (CAT2) - não é mais recomendado pela TIA/EIA

É formado por pares de fios blindados (para voz) e pares de fios não blindados (para dados). Também foi projetado para antigas redes token ring E ARCnet chegando a velocidade de 4 Mbps.

Categoria do cabo 3 (CAT3) - é recomendado pela norma TIA/EIA-568-B

É um cabo não blindado usado para dados de até 10Mbits com a capacidade de banda de até 16 MHz. Foi muito usado nas redes Ethernet criadas nos anos noventa (10BASET). Ele ainda pode ser usado para VOIP, rede de telefonia e redes de comunicação 10BASET e 100BASET4.

Categoria do cabo 4(CAT4) - não é mais recomendado pela TIA/EIA

É um cabo par trançado não blindado (UTP) que pode ser utilizado para transmitir dados a uma frequência de até 20 MHz e dados a 20 Mbps. Foi usado em redes que podem atuar com taxa de transmissão de até 20Mbps como token ring, 10BASET e 100BASET4. Não é mais utilizado pois foi substituído pelos cabos CAT5 e CAT5e.

Categoria do cabo 5 (CAT5) - não é mais recomendado pela TIA/EIA

Usado em redes fast ethernet em frequências de até 100 MHz com uma taxa de 100 Mbps.

Categoria do cabo 5e (CAT5e) - é recomendado pela norma EIA/TIA-568-B

É uma melhoria da categoria 5. Pode ser usado para frequências até 125 MHz em redes 1000BASE-T gigabit ethernet. Ela foi criada com a nova revisão da norma EIA/TIA-568-B.

Categoria do cabo 6 (CAT6) - é recomendado pela norma EIA/TIA-568-B

Definido pela norma ANSI EIA/TIA-568-B-2.1 possui bitola 24 AWG e banda passante de até 250 MHz e pode ser usado em redes gigabit ethernet a velocidade de 1Gbps.

Categoria: CAT 6a

É uma melhoria dos cabos CAT6. O a de CAT6a significa augmented (ampliado). Os cabos dessa categoria suportam até 500 MHz e podem ter até 55 metros no caso da rede ser de 10Gbps, caso contrario podem ter até 100 metros. Para que os cabos CAT 6a sofressem menos interferências os pares de fios são separados uns dos outros, o que aumentou o seu tamanho e os tornou menos flexíveis. Essa categoria de cabos tem os seus conectores específicos que ajudam à evitar interferências.

Categoria 7 (CAT7) - Esta norma baseia-se na Classe F que ainda não é reconhecida pela TIA/EIA.

Está sendo criada para permitir a criação de redes de 40Gbps em cabos de 50m usando fio de cobre (apesar de atualmente esse tipo de rede esteja sendo usado pela rede CAT6).

Categoria 7a (CAT7a) - Esta norma baseia-se na Classe Fa que ainda não é reconhecida pela TIA/EIA.

Está sendo criada para permitir a criação de redes de 100Gbps em cabos de 15m usando fio de cobre (apesar de atualmente esse tipo de rede esteja sendo usado pela rede CAT6).
Cores

As cores dos fios são:

  • Laranja e branco
  • Laranja
  • Verde e branco
  • Azul
  • Azul e branco
  • Verde
  • Castanho (ou marrom) e branco
  • Castanho (ou marrom)

É importante que a sequência de cores seja respeitada ao se montar um cabo. Caso contrário, pode haver perda parcial ou total de pacotes, principalmente em cabos de mais de 3 metros.
A norma EIA/TIA-568-B prevê duas montagens para os cabos, denominadas T568A e T568B. A montagem T568A usa a sequência branco e verde, verde, branco e laranja, azul, branco e azul, laranja, branco e castanho, castanho.
A montagem T568B usa a sequência branco e laranja, laranja, branco e verde, azul, branco e azul, verde, branco e castanho, castanho.
As duas montagens são totalmente equivalentes em termos de desempenho, cabendo ao montador escolher uma delas como padrão para sua instalação. É boa prática que todos os cabos dentro de uma instalação sigam o mesmo padrão de montagem.
Um cabo cujas duas pontas usam a mesma montagem é denominado Direto (cabo), e serve para ligar estações de trabalho e roteadores a switches ou hubs. Um cabo em que cada ponta é usada uma das montagens é denominado Crossover, e serve para ligar equipamentos do mesmo tipo entre si.
Existem cabos com diferentes representações destes códigos de cores.
  • O fio com a cor branca pode ser a cor mais clara (verde-claro, azul-claro, laranja-claro, castanho-claro);
  • Fio branco com uma lista de cor;
  • Fio completamente branco. Neste caso é necessário ter atenção aos cabos que estão entrelaçados;
  • Fio dourado representando o fio "branco e castanho".

Existem também limites de comprimentos para esse tipo de cabo. Quando o cabo é usado para transmissão de dados em Ethernet, Fast Ethernet ou Gigabit Ethernet, o limite para o enlace (distância entre os equipamentos nas duas pontas do cabo) é de no máximo 100 metros. Caso seja necessário interligar equipamentos a distâncias maiores, é preciso usar repetidores, ou instalar uma ponte de rede ou switch no meio do caminho, de forma que cada enlace tenha no máximo 100 metros.
A norma EIA/TIA-568-B prevê ainda que os cabos UTP sejam divididos em "sólidos" (os condutores são formados de um único filamento) e "flexíveis". O cabo "sólido" deve ser usado para instalações estáticas, onde não há movimentação do cabo. O cabo "flexível" deve ser usado para as pontas da instalação, onde há movimentações constantes do cabo. Como o cabo "flexível" tem características elétricas diferentes das do cabo "sólido", há a recomendação de que seja usado no máximo 10 metros de cabo flexível num enlace. Caso seja necessário usar cabos flexíveis numa distância maior, o tamanho do enlace deve ser diminuído proporcionalmente, para evitar perda de sinal (p.ex., com 20 metros de cabo flexível, o tamanho máximo do enlace desce para 90 metros).
Outras aplicações que não a transmissão de dados em Ethernet, Fast Ethernet ou Gigabit Ethernet podem ter limites diferentes para o tamanho máximo do cabo.

Crossover

Ligação Crossover
Dois conectores T568B/T568A
Um cabo crossover, é um cabo de rede par trançado que permite a ligação de 2 (dois) computadores pelas respectivas placas de rede sem a necessidade de um concentrador (Hub ou Switch) ou a ligação de modems.
A alteração dos padrões das pinagens dos conectores RJ45 dos cabos torna possível a configuração de cabo crossover.
A ligação é feita com um cabo de par trançado onde tem-se: em uma ponta o padrão T568A, e, em outra, o padrão T568B (utilizado também com modems ADSL).

1ª e 2ª pontas

(da esquerda para a direita sempre)

Padrão T568B:

  • branco laranja (Recepção)
  • laranja (Recepção)
  • branco verde (Transmissão)
  • azul
  • branco azul
  • verde (Transmissão)
  • branco marrom
  • marrom
  • pino função cor

Padrão T568A:

  • branco verde (transmissão)
  • verde (transmissão)
  • branco laranja (Recepção)
  • azul
  • branco azul
  • laranja (Recepção)
  • branco marrom ou
  • marrom

Obs.: As informações sobre transmissão e recepção são baseadas nos padrões 10BASET (Ethernet) e 100BASETX (Fast Ethernet. O padrão 100BASET4, usado em algumas redes Fast Ethernet usa os 4 pares de fios. A rede 1000BASET também usa os 4 pares do cabo CAT5E.

Preço

  • Rolo com 100 metros - Cat 5e - R$ 65,00 (Mercado Livre)
  • Cabo de rede CAT 5e (não blindado) - R$ 1,00 o metro (digitonet)

quinta-feira, 25 de abril de 2013

Meu primeiro cliente/servidor

Aula de Redes de Computadores. Começando a trabalhar com sockets, primeiros programas estabelecendo comunicação...

Cliente:

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <unistd.h>
#include <string.h>

/* função para imprimir a mensagem de erro */
void error(const char *msg) {
    printf("%s\n", msg);
    exit(0);
}

/* função principal */
int main(int argc, char *argv[]) {
    int sockfd, portno, n;
    struct sockaddr_in serv_addr;
    struct hostent *server;
    char buffer[256];


    if (argc < 3) {
        fprintf(stderr, "Use: %s hostname port\n", argv[0]);
        exit(0);
    }

    portno = atoi(argv[2]);

    /* socket = primeira função chamada */
    sockfd = socket(AF_INET, SOCK_STREAM, 0);

    if (sockfd < 0)
        error("Falha ao criar o socket");

    /* Inicializando a estrutura */
    server = gethostbyname(argv[1]);

    if (server == NULL) {
        fprintf(stderr, "ERROR, no such host\n");
        exit(0);
    }

    bzero((char *) &serv_addr, sizeof (serv_addr));

    serv_addr.sin_family = AF_INET;
    bcopy((char *) server->h_addr,
            (char *) &serv_addr.sin_addr.s_addr,
            server->h_length);

    // O que htons faz?!?
    serv_addr.sin_port = htons(portno);

    if (connect(sockfd, (const struct sockaddr *) &serv_addr,
            sizeof (serv_addr)) < 0)
        error("ERROR connect");

    printf("Please enter the message: ");
    bzero(buffer, 256);
    fgets(buffer, 255, stdin);

    n = write(sockfd, buffer, strlen(buffer));

    if (n < 0)
        error("ERROR writing to socket");

    bzero(buffer, 256);

    n = read(sockfd, buffer, 255);

    if (n < 0)
        error("ERROR reading from socket");

    printf("%s\n\n", buffer);

    close(sockfd);

    return 0;
}

Servidor:
 /* A simple server in the internet domain using TCP
   The port number is passed as an argument */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>

/* função para imprimir a mensagem de erro */
void error(const char *msg) {
    perror(msg);
    exit(1);
}

/* função principal */
int main(int argc, char *argv[]) {
    int sockfd, newsockfd, portno;
    socklen_t clilen;
    char buffer[256];
    struct sockaddr_in serv_addr, cli_addr;
    int n;

    if (argc < 2) {
        fprintf(stderr, "ERROR, no port provided\n");
        exit(1);
    }

    /* socket = primeira função chamada */
    sockfd = socket(AF_INET, SOCK_STREAM, 0);

    if (sockfd < 0)
        error("ERROR opening socket");

    /* bzero limpa, colocando /o em todas as posições */
    bzero((char *) &serv_addr, sizeof (serv_addr));

    /* portno recebe o argumento do teclado com o numero da porta */
    portno = atoi(argv[1]);

    serv_addr.sin_family = AF_INET; /* Usaremos a família de protocolos */
    /* correspondente à Internet */
    serv_addr.sin_addr.s_addr = INADDR_ANY;

    /* Usaremos a porta passada como parâmetro */
    serv_addr.sin_port = htons(portno); 

    /* bind = segunda função chamada */
    if (bind(sockfd, (struct sockaddr *) &serv_addr,
            sizeof (serv_addr)) < 0)
        error("ERROR on binding");

    /* listen = função que cria fila de conexões */
    if (listen(sockfd, 5) < 0)
        error("ERROR on waiting");

    clilen = sizeof (cli_addr);

    printf("Waiting for connection\n");

    fflush(NULL);

    /* accept = quarta função chamada */
    newsockfd = accept(sockfd, (struct sockaddr *) &cli_addr, &clilen);

    if (newsockfd < 0)
        error("ERROR on accept");

    bzero(buffer, 256);

    /* Receber mensagem através de newsockfd */
    n = recv(newsockfd, buffer, 256, 0);

    if (n < 0) error("ERROR reading from socket");

    printf("Here is the message: %s\n", buffer);

    /* Enviar mensagem através de newsockfd */
    n = send(newsockfd, buffer, n, 0);

    if (n < 0) error("ERROR writing to socket");

    if ((n = recv(newsockfd, buffer, 256, 0)) < 0)
        error("Falhou ao receber os dados restantes do cliente");

    close(newsockfd);
    close(sockfd);

    return 0;
}

domingo, 7 de abril de 2013

A história da Internet

Criação da Internet


A rede mundial de computadores, ou Internet, surgiu durante a Guerra Fria. Nasceu com objetivos militares, para que as forças armadas norte-americanas pudessem manter as comunicações em caso de ataques inimigos que destruíssem os meios convencionais de telecomunicações.



Nas décadas de 1970 e 1980, além de ser utilizada para fins militares, a Internet também foi um importante meio de comunicação acadêmico. Estudantes e professores universitários, principalmente dos EUA, trocavam idéias, mensagens e descobertas pelas linhas da rede mundial.




Foi somente no ano de 1990 que a Internet começou a alcançar a população em geral. Neste ano, o engenheiro inglês Tim Bernes-Lee desenvolveu a World Wide Web, possibilitando a utilização de uma interface gráfica e a criação de sites mais dinâmicos e visualmente interessantes. A partir deste momento, a Internet cresceu em ritmo acelerado. Muitos dizem, que foi a maior criação tecnológica, depois da televisão na década de 1950.

A década de 1990 tornou-se a era de expansão da Internet. Para facilitar a navegação pela Internet, surgiram vários navegadores (browsers) como, por exemplo, o Internet Explorer da Microsoft e o Netscape Navigator.

O surgimento acelerado de provedores de acesso e portais de serviços on line contribuíram para este crescimento. A Internet passou a ser utilizada por vários segmentos sociais. Os estudantes passaram a buscas informações para pesquisas escolares, enquanto jovens utilizavam para a pura diversão em sites de games. As salas de chat tornaram-se pontos de encontro para um bate-papo virtual a qualquer momento. Desempregados iniciaram a busca de empregos através de sites de agências de empregos ou enviando currículos por e-mail. As empresas descobriram na Internet um excelente caminho para melhorar seus lucros e as vendas on line dispararam, transformando a Internet em verdadeiros shopping centers virtuais.

Nos dias atuais, é impossível pensar no mundo sem a Internet. Ela tomou parte dos lares de pessoas do mundo todo. Estar conectado a rede mundial passou a ser uma necessidade de extrema importância. A Internet também está presente nas escolas, faculdades, empresas e diversos locais, possibilitando acesso as informações e notícias do mundo em apenas um click.

A partir de 2006, começou uma nova era na Internet com o avanço das redes sociais. Pioneiro, o Orkut ganhou a preferência dos brasileiros. Nos anos seguintes surgiram outras redes sociais como, por exemplo, o Facebook e o Twitter.

A partir de 2010, um novo serviço virou febre no mundo da Internet. Conhecidos como sites de compras coletivas, eles fazem a intermediação entre consumidores e empresas. Estes sites conseguem negociar descontos para a venda de grande quantidade de produtos e serviços. Os consumidores compram cupons com 50% de desconto ou até mais. Os sites que mais se destacam neste segmento são: Peixe Urbano e Groupon.