IER2018-2

De MediaWiki do Campus São José
Revisão de 15h26min de 16 de agosto de 2018 por 127.0.0.1 (discussão)
Ir para navegação Ir para pesquisar

Dados Importantes

Professor: André D'Amato
Email: andre.damato@ifsc.edu.br,
Atendimento paralelo

  • Quarta: 10:30 ás 11:30

Avaliações

AI = Avaliação Individual.
PI = PROJETO INTEGRADOR.
NF = Nota Final com critério de arredondamento de +/-5 pontos.


Atividade Inicial: Questionário

1) Com suas próprias palavras defina qual a importância das camadas 1 e 2 de acordo com:

  a) Modelo OSI;
  b) Modelo TCP/IP.

2) A partir do endereço IPV4 192.168.0.34 e a máscara 255.255.255.0 responda:

  a) Qual é o endereço de subrede;
  b) Qual é o endereço de host;
  c) A quantidade de endereços de hosts possíveis.

3) De acordo com seu entendimento, explique segmentação de redes? Quais são os equipamentos necessários para segmentar uma rede?

4) De acordo com seu entendimento, explique como funciona e para que serve um endereço de broadcast.


</syntaxhighlight>


Referências bibliográficas:

  • Capítulo 13 do livro "Comunicação de Dados e Redes de Computadores", de Berhouz Forouzan
  • Capítulo 5 do livro "Redes de Computadores e a Internet, 5a edição", de James Kurose

Distinção entre WAN, MAN e LAN

Existe uma classificação de redes de computadores segundo sua abrangência. Segundo ela, as redes podem ser divididas em:

  • LAN (Local Area Network, ou Rede Local): É uma rede onde seu tamanho se limita a apenas uma pequena região física. Uma rede de área local (LAN) é uma rede que conecta computadores e dispositivos em uma área geográfica limitada, como uma casa, escola, prédio de escritórios ou grupo de edifícios bem posicionado. LANs com fio são provavelmente baseadas em tecnologia Ethernet. Novos padrões como o ITU-T G.hn também fornecem uma maneira de criar uma LAN com fio usando a fiação existente, como cabos coaxiais, linhas telefônicas e linhas de energia.
  • MAN (Metropolitan Area Network, ou rede metropolitana): A MAN é uma rede que se espalha por uma cidade. Por exemplo, uma rede de farmácias, em uma cidade, onde todas acessam uma base de dados comum. As MAN oferecem altas taxas de transmissão, baixas taxas de erros, e geralmente os canais de comunicação pertencem a uma empresa de de telecomunicações que aluga o serviço ao mercado. As redes metropolitanas são padronizadas internacionalmente pela IEEE 802, e ANSI, e padrões conhecidos para a construção de MAN são Metro Ethernet, Frame Relay, PON (entre outros). Outro exemplo de rede metropolitana é o sistema utilizado nas TV's a cabo.
  • WAN (Wide Area Network, ou rede de longa distância): Uma WAN integra equipamentos em diversas localizações geográficas (hosts, computadores, routers/gateways, etc.), envolvendo diversos países e continentes.



Para fins de ilustração, seguem alguns exemplos de redes WAN no Brasil:


Este outro exemplo apresenta um diagrama de uma rede MAN MetroEthernet em Florianópolis (diagrama antigo .. tal rede não deve mais ser assim !):

Man-metro.png

Redes Locais (LAN)

Obs: obtido de Data and Computer Communications, livro de William Stallings, 8a edição:

  • Uma LAN consiste de um meio de transmissão compartilhado e um conjunto de hardware e software para servir de interface entre dispositivos e o meio de transmissão, além de regular o acesso ao meio de forma ordenada.
  • As topologias usadas em LANs são anel (ring), barramento (bus), árvore (tree) e estrela (star). Uma LAN em anel consiste de um laço fechado formado por repetidores que possibilitam que dados circulem ao redor do anel. Um repetidor pode funcionar também como um ponto de acesso de um dispositivo. Transmissão geralmente se dá na forma de quadros (frames). As topologias barramento e árvore são segmentos de cabos passivos a que os dispositivos são acoplados. A transmissão de um quadro por um dispositivo (chamado de estação) pode ser escutada por qualquer outra estação. Uma LAN em estrela inclui um nó central onde as estações são acopladas.
  • Um conjunto de padrões definido para LANs especifica uma faixa de taxas de dados e abrange uma variedade de topologias e meios de transmissão.
  • Na maioria dos casos, uma organização possui múltiplas LANs que precisam ser interconectadas. A abordagem mais simples para esse problema se vale de equipamentos chamados de pontes (bridges). Os conhecidos switches Ethernet são exemplos de pontes.
  • Switches formam os blocos de montagem básicos da maioria das LANs (não muito tempo atrás hubs também eram usados).

Algumas tecnologias

  • Ethernet (IEEE 802.3): largamente utilizada hoje em dia, na prática domina amplamente o cenário de redes locais.
  • Token Ring (IEEE 802.5): foi usada nos anos 80 e início dos anos 90, mas está em desuso ... muito difícil de encontrar uma rede local deste tipo hoje em dia.
  • Fiber Channel: criada especificamente para interligar servidores em redes de armazenamento de dados (SAN).
  • Infiniband: especificamente criada para interligar equipamentos para fins de computação de alto-desempenho. Mantém-se na ativa nesse nicho específico.

Topologias

Uma topologia de rede diz respeito a como os equipamentos estão interligados. No caso da rede local, a topologia tem forte influência sobre seu funcionamento e sobre a tecnologia adotada. Dependendo de como se desenha a rede, diferentes mecanismos de comunicação são necessários (em particular o que se chama de acesso ao meio). A eficiência da rede (aproveitamento da capacidade de canal, vazão) e sua escalabilidade (quantidade de computadores e equipamentos que podem se comunicar com qualidade aceitável) também possuem relação com a topologia. A tabela abaixo exemplifica topologias conhecidas de redes locais.

Topologia Exemplo Tecnologias
Estrela Lan-Star.png Ethernet (IEEE 802.3) com hubs e switches
Anel
(em desuso)
Lan-Ring.png Token-ring (IEEE 802.5), FDDI
Barramento
(em desuso)
Lan-Bus.png Ethernet (IEEE 802.3)
Árvore Lan-Tree.png Ethernet (IEEE 802.3) com hubs e switches

Exemplos de uso de redes locais

Exemplos de redes locais são fáceis de apresentar. Praticamente toda rede que interconecta computadores de usuários é uma rede local - mesmo no caso de redes sem-fio, um caso especial a ser estudado mais a frente. A rede do laboratório de Redes 1, onde temos nossas aulas, é uma rede local. Os demais computadores da escola formam outra rede local. Quando em casa se instala um roteador ADSL e se conectam a ele um ou mais computadores, cria-se também uma rede local. Portanto, redes locais são extremamente comuns e largamente utilizadas. Ainda assim, cabem alguns outros exemplos de possíveis redes locais, mostrados abaixo:


Lan2-2011-1.png
Uma LAN típica com um link para Internet


Lab1.png
Exemplo: Rede do laboratório

Atividade

Realizar este conjunto de experimentos.



Arquitetura IEEE 802

A arquitetura IEEE 802 define um conjunto de normas e tecnologias no escopo das camadas física (PHY) e de enlace. A camada de enlace é dividida em duas subcamadas:

  • LLC (Logical Link Control): o equivalente a um protocolo de enlace de fato, porém na prática de uso restrito (pouco utilizada).
  • MAC (Medium Access Control): um protocolo de acesso ao meio de transmissão, que depende do tipo de meio físico e tecnologia de comunicação. Esse tipo de protocolo é necessário quando o meio de transmissão é compartilhado.


Arq-ieee.png


Alguns padrões conhecidos (lista completa):

  • IEEE 802.3 e variações: conhecidos como LAN Ethernet
  • IEEE 802.1: tecnologias para interligação de LANs
  • IEEE 802.11 e variações: conhecidos como WLAN (redes locais sem-fio), o que inclui WiFi
  • IEEE 802.15: padrões para WPAN (redes pessoais sem-fio), incluindo Bluetooth

Protocolo de acesso ao meio (MAC)

Parte da camada de enlace na arquitetura IEEE 802, tem papel fundamental na comunicação entre estações. O MAC é responsável por:

  • Definir um formato de quadro onde deve ser encapsulada uma PDU de um protocolo de camada superior. Por exemplo, o quadro Ethernet (padrão IEEE 802.3) tem este formato:


Quadro-ethernet.png
Quadro ethernet


  • Endereçar as estações, já que o meio de transmissão é multiponto (ver campos Endereço Destino (destination address) e Endereço de origem (source address) no quadro Ethernet).
  • Acessar o meio para efetuar a transmissão de quadros, resolvendo conflitos de acesso quando necessário. Um conflito de acesso (chamado de colisão) pode ocorrer em alguns casos quando mais de uma estação tenta transmitir ao mesmo tempo. Isso é fundamental em redes sem-fio, tais como Wifi (IEEE 802.11) e Bluetooth (IEEE 802.15.3), porém não é mais necessário nas LAN ethernet atuais (IEEE 802.3), que operam em modo full-duplex.

Padrão IEEE 802.3 (Ethernet)

Ethernet.png

Desenho usado por Bob Metcalfe, um dos criadores da Ethernet, para apresentação em uma conferência em 1976.


Redes locais Ethernet (padrão IEEE 802.3 e extensões) são compostas de equipamentos que se comunicam, denominados estações (STA na norma IEEE 802.3), de equipamentos que os interligam (hubs e switches), e do meio de transmissão. A figura abaixo ilustra uma rede local hipotética com seus vários componentes.

Lab1-lan-demo.png


De forma geral, uma estação possui um ou mais adaptadores de rede (placas de rede, ou NIC – Network Interface Card), como na figura abaixo à esquerda. Os adaptadores de rede das estações são conectados a um switch por meio de cabos de rede TP (par trançado) com conectores RJ-45, mostrado na figura abaixo à direita.


Lab1-nic-switch.png


Em resumo, são estes os elementos de uma rede Ethernet:

  • Estações: equipamentos que se comunicam pela rede. Ex: computadores e roteadores.
  • Interface de rede (NIC): dispositivo embutido em cada estação com a finalidade de prover o acesso à rede. Implementa as camadas PHY e MAC.
  • Meio de transmissão: representado pelos cabos por onde os quadros ethernet são transmitidos. Esses cabos são conectados às interfaces de rede das estações.
  • Switch: equipamento de interconexão usado para interligar as estações. Cada estação é conectada a um switch por meio de um cabo. Um switch usualmente possui múltiplas interfaces de rede (12, 24 ou mais). Uma rede com switches apresenta uma topologia física em estrela, árvore ou mesmo em anel !


Originalmente LANs Ethernet foram construídas usando um cabo único para interligar as estações (cabo coaxial). Posteriormente surgiram as redes baseadas em hubs, equipamentos que interligavam as estações em nível da camada física (funcionavam como repetidores). Atualmente essas redes são construídas usando switches, equipamentos que interligam as estacões em nível da camada de enlace (na verdade, da subcamada MAC). Um switch apresenta como benefícios, se comparado com hubs:

  1. atuação em nível de MAC: o switch faz o acesso ao meio com CSMA/CD, caso precise se comunicar com um equipamento em half-duplex, ao encaminhar um quadro quebrando o domínio de colisão; além disto, um switch pode operar em modo full-duplex, quando então inexiste a possibilidade de colisão.
  2. preservação da capacidade do canal: para quadros unicast, o switch encaminha um quadro somente pela porta onde reside o destinatário.

Essas características importantes devem fazer com que uma LAN com switches tenha um desempenho superior a uma LAN com hubs. Por desempenho entenda-se um número menor de colisões sob tráfego intenso (ou mesmo ausência total de colisões), e maior capacidade de canal vista por cada equipamento conectado ao switch.


O padrão sofreu um grande número de atualizações e extensões desde sua concepção nos anos 1980. Por exemplo, em sua primeira versão uma rede ethernet apresentava taxa de transmissão de 10 Mbps em half-duplex, porém atualmente essas redes operem em 1 Gbps em modo full-duplex. Na realidade, já existem versões em uso com taxas de 10 Gbps, e outras mais recentes com taxas de até 100 Gbps. Uma tabela dessas extensões ao padrão podem ser vistas na Wikipedia.


Além de taxas maiores de transmissão, a operação em modo full-duplex predominante nas versões recentes do padrão prescindem do controle de acesso ao meio feito pelo protocolo MAC. Quando em modo half-duplex, o controle de acesso ao meio do tipo CSMA/CD (Carrier Sense Multiple Access/Collision Detect - Acesso Múltiplo com Detecção de Portadora/Detecção de Colisões) ainda é necessário.

O acesso do tipo CSMA/CD é probabilístico: uma estação verifica se o meio está está livre antes de iniciar uma transmissão, mas isso não impede que ocorra uma colisão (apenas reduz sua chance). Se acontecer uma colisão, cada estação envolvida usa esperas de duração aleatória para desempate, chamadas de backoff. A ideia é que as estações sorteiem valores de espera diferentes, e assim a que tiver escolhido um valor menor consiga transmitir seu quadro. Veja o fluxograma acima para entender como isso é feito.

Csmacd-fluxograma.jpg
Fluxograma para o acesso ao meio com CSMA/CD do padrão IEEE 802.3.


As colisões e esperas (backoffs) impedem que esse protocolo de acesso ao meio aproveite totalmente a capacidade do meio de transmissão. Nas gerações atuais do padrão IEEE 802.3 (Gigabit Ethernet e posteriores) o CSMA/CD não é mais utilizado. Nessas atualizações do padrão, o modo de comunicação é full-duplex (nas versões anteriores, que operavam a 10 e 100 Mbps, há a possibilidade de ser half ou full-duplex). Se as comunicações são full-duplex, então conceitualmente não existem colisões. Isso se deve ao fato de que nessas novas versões cada estação possui uma via exclusiva para transmitir e outra para receber, portanto não existe mais um meio compartilhado.

Atividade

Realizar este conjunto de experimentos.


Endereçamento IPV4

Como visto em Redes de Computadores e Projeto 2, computadores e equipamentos na Internet (chamados de hosts) precisam ter um identificador único e que seja válido globalmente. Os endereços IP, definidos pelo protocolo da Internet (IP - Internet Protocol) são números de 32 bits que desempenham o papel de identificadores globais. Cada um desses endereços é comumente representado em uma notação decimal, com um número entre 0 e 255 para cada 8 bits. como mostrado na figura a seguir. Com isso, é possível em tese endereçar até hosts na Internet, o que equivale a pouco mais de 4 bilhões de endereços.

PJI3-Ip1.jpg
Um endereço IP apresentado em notação decimal e em binário

Configuração de endereços

O endereço IP de um host pode ser configurado de forma estática ou dinâmica. No primeiro caso, o usuário predefine o endereço IP no próprio equipamento. No segundo, o equipamento usa um protocolo especial de configuração para obter sua configuração de rede.


Um conjunto de informações são necessárias para que um host consiga efetivamente se comunicar em rede, as quais não se limitam ao endereço IP. Essas informações são:

  • Endereço IP e máscara de rede: um host precisa de um endereço para que possa se comunicar com outros hosts. A máscara de rede informa o tamanho da subrede IP em que ele se encontra.
  • Rota default (padrão): para se comunicar com hosts de outras subredes, é preciso enviar os pacotes para um roteador que saiba encaminhá-los a seus destinos. O roteador default (ou padrão) é um roteador para quem se destinam todos esses pacotes. Tecnicamente ele corresponde à rota para o destino 0.0.0.0/0.
  • Endereço IP do servidor DNS: usuários costumam endereçar hosts e servidores por seus nomes de domínio, e não por seus endereços IP. Isso é muito mais fácil de memorizar do que os endereços numéricos. Como explicado em aula, nomes de domínio são análogos a nomes de assinantes em um catálogo telefônico. No entanto, as aplicações precisam dos endereços IP para se comunicarem. O servidor DNS faz a tradução de nome de domínio para endereço IP, e é usado pelas aplicações transparentemente (isso é, você não percebe que isso ocorre). O endereço desse servidor deve ser configurado em cada host, para que se possam traduzir nomes de domínio.

Configuração estática

A configuração estática envolve um usuário gravar a configuração de rede de forma persistente na memória do host. Cada tipo de equipamento apresenta um procedimento diferente para armazenar a configuração de rede estática. Por exemplo, em computadores com sistema operacional Linux da família Debian (tais como Debian Ubuntu, Mint e muitos outros), a configuração de rede fica armazenada no arquivo /etc/network/interfaces:

iface eth0 inet static
  address 10.1.23.19
  netmask 255.255.255.0
  gateway 10.1.23.254


Em roteadores sem-fio TP-Link WDR 4300, essa configuração de rede pode ser gravada por meio de uma interface web para gerenciamento do equipamento:

PJI3-Tplink-lan.jpg
Menu Network->LAN da interface web do roteador sem-fio TP-Link WDR4300


E, em roteadores Cisco, a configuração estática é feita por meio de comandos na CLI (Command Line Interface), os quais ficam gravados na memória permanente do roteador.

router# configure terminal
router(config)# interface e0
router(config-if)# ip address 10.1.23.19 255.255.255.0
router(config-if)# exit
router(config)# ip route 0.0.0.0 0.0.0.0 10.1.23.254
router(config)# exit
router# write memory
router# write terminal
Building configuration...

Current configuration : 472 bytes
!
version 12.3
!
hostname Router
!
interface Ethernet0
 ip address 10.1.23.19 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.1.23.254

Configuração dinâmica

Um host pode obter suas informações de rede dinamicamente por meio do protocolo DHCP (Dynamic Host Configuration Protocol). Desta forma, não há necessidade de o usuário saber as informações de rede necessárias para configurar corretamente seu equipamento. Isso torna possível também centralizar e automatizar a distribuição de endereços de rede para hosts. Se alguma das informações precisar ser modificada (ex: o roteador default), basta alterá-las no serviço DHCP para que toda a rede seja eventualmente reconfigurada.

A maioria dos equipamentos de usuários vem de fábrica com configuração de rede dinâmica. Isso vale para computadores pessoais, em que os sistemas operacionais detectam as interfaces de rede e as configuram com DHCP, smartphones, tablets, câmeras IP, ATA e telefones IP, impressoras, e possivelmente outros equipamentos. Em computadores pessoais com sistemas operacionais Linux da família Debian, uma interface pode ser configurada dinamicamente se for declarada em /etc/network/interfaces desta forma:

auto eth0
iface eth0 inet dhcp


A configuração de interfaces com DHCP no arquivo /etc/network/interfaces não é o procedimento usual, ao menos não em versões desktop desses sistemas operacionais. Nesses casos, o mais comum é que tal configuração seja feita por um daemon chamado network-manager. Esse daemon implementa um serviço de configuração de rede automática para o computador, e tenta configurar automaticamente todas as interfaces de rede que não foram configuradas em /etc/network/interfaces.

Protocolo DHCP

DHCP (Dynamic Host Configuration Protocol) é um protocolo para obtenção automática de configuração de rede, usado por computadores que acessam fisicamente uma rede. Esses computadores são tipicamente máquinas de usuários, que podem usar a rede esporadicamente (ex: usuários ocm seus laptops, com acesso via rede cabeada ou sem-fio), ou mesmo computadores fixos da rede. O principal objetivo do DHCP é fornecer um endereço IP, a máscara de rede, o endereço IP do roteador default e um ou mais endereços de servidores DNS. Assim, um novo computador que acesse a rede pode obter essa configuração sem a intervenção do usuário.

Para esse serviço pode haver um ou mais servidores DHCP. Um computador que precise obter sua configuração de rede envia mensagens DHCPDISCOVER em broadcast para o port UDP 67. Um servidor DHCP, ao receber tais mensagens, responde com uma mensagem DHCPOFFER também em broadcast, contendo uma configuração de rede ofertada. O computador então envia novamente em broadcast uma mensagem DHCPREQUEST, requisitando o endereço IP ofertado pelo servidor. Finalmente, o servidor responde com uma mensagem DHCPACK, completando a configuração do computador cliente. Como a configuração tem um tempo de validade (chamado de lease time), o cliente deve periodicamente renová-la junto ao servidor DHCP, para poder continuar usando-a. O diagrama abaixo mostra simplificadamente esse comportamento:

Dhcp-diag.gif



Abaixo segue um diagrama de estados detalhado do DHCP, mostrando todas as possíveis transições do protocolo:

Dhcpfsm.png

O servidor DHCP identifica cada cliente pelo seu endereço MAC. Assim, o DHCP está fortemente relacionado a redes locais IEEE 802.3 (Ethernet) e IEEE 802.11 (WiFi).

Servidor DHCP

Em uma rede local em que hosts devem obter sua configuração de rede dinamicamente, deve haver ao menos um servidor DHCP. Esse serviço costuma estar disponibilizado em equipamentos de rede, tais como pontos de acesso sem-fio e roteadores. Por exemplo, o roteador sem-fio TP-Link WDR 4300 oferece esse serviço, que pode ser configurado e ativado por meio de sua interface de gerenciamento.

PJI3-Dhcp-tplink.jpg
Configuração do serviço DHCP na interface web do roteador TP-Link WDR4300


Podem existir mais de um servidor DHCP em uma mesma rede local, porém há que ter um cuidado. As faixas de endereços concedidas por diferentes servidores não podem se sobrepor. Assim, se um servidor DHCP oferece endereços entre 192.168.1.20 e 192.168.1.100, um outro servidor DHCP pode oferecer endereços entre 192.168.1.110 e 192.168.1.200, mas não entre 192.168.1.90 e 192.168.1.150.


Servidores DHCP como esse costumam ser limitados. Com eles se consegue tão somente definir a faixa de endereços IP a ser concedida, o tempo de concessão, o servidor DNS e o roteador default. Porém há muitas outras possibilidades no serviço DHCP, tais como:

  • Vincular um endereço IP a um host específico, com base em seu endereço MAC.
  • Informar o nome do domínio DNS e o nome do host
  • Informar os endereços de uma ou mais impressoras
  • Indicar um arquivo de boot a ser usado pelo host
  • ...e muitas outras opções !


O uso de um servidor DHCP completamente funcional demanda um programa especial a ser executado em um computador. O software ISC DHCP Server oferece todas as opções DHCP, além de ser altamente configurável. Ele pode ser instalado e executado em um computador com sistemas operacionais Linux, BSD, Solaris, entre outros da família Unix. Esse servidor DHCP é configurado por meio de um arquivo de configuração, cuja localização depende de como o software foi instalado. Em sistemas Ubuntu, em que o servidor DHCP pode ser instalado a partir de um pacote de software chamado isc-dhcp-server, esse arquivo está em /etc/dhcp/dhcpd.conf. Um exemplo simples desse arquivo está a seguir:

# tempos de concessão, em segundos
default-lease-time 600;
max-lease-time 7200;

# Algumas opções de uso comum
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
option domain-name-servers 191.36.8.2, 191.36.8.3;
option domain-name "sj.ifsc.edu.br";

# subrede 192.168.1.0/24 com duas faixas de endereços a serem concedidos:
# 192.168.1.100 a 192.168.1.150
# 192.168.1.190 a 192.168.1.240

subnet 192.168.1.0 netmask 255.255.255.0 {
   range 192.168.1.100 192.168.2.150;
   range 192.168.1.190 192.168.2.240;
}

Atividades

Realizar este conjunto de experimentos.