Aula #38 - Endereços de Rede

Máquinas em uma rede precisam ser capazes de se localizar com base em seus endereços de rede exclusivos. 
Endereços IPv4 ainda são os mais comuns, mas têm capacidade de expansão limitada.
Endereços IPv6 ainda não são amplamente utilizados, mas superam essa limitação. Endereços vem em diferentes classes de acordo com o tamanho das redes locais, e é importante ser capaz de reconhecer essas classes.


Endereços IP são usados ​​globalmente e identificam de forma única nós em toda a Internet. Eles são registrados através de ISPs, sigla em inglês para Provedores de Serviços Internet.

O endereço IP é o número que identifica o seu sistema na rede. Ele vem em duas variedades:

    IPv4: Um endereço de 32 bits, composto por 4 octetos (um octeto é apenas 8 bits, ou um byte). Exemplo:

    148.114.252.10
     
    IPv6: Um endereço de 128 bits, composto de 16 octetos. Exemplo:

    2003:0db5:6123:0000:1f4f:0000:5529:fe23 



Nos dois casos, um conjunto de endereços reservados faz parte da especificação do protocolo. Por padrão vamos nos concentrar apenas no IPv4. 



Tipos de endereços IPv4 incluem:


  •     Unicast

    Um endereço associado a um host específico. Pode ser algo como 140.211.169.4 ou 64.254.248.193.


  •     Rede

    Um endereço cuja parte reservada a hosts contém zeros na representação binária. Ex. 192.168.1.0. (A parte do host pode ser até os últimos 3 octetos como veremos tarde, neste caso apenas o último octeto é usado para o host.)


  •     Broadcast

    Um endereço que todos os membros de um segmento de rede especial vão receber pacotes. A parte do host contém apenas números 1 na representação binária como em 172.16.255.255 ou 148.114.255.255 ou 192.168.1.255. (A parte do host é os dois últimos octetos nos dois primeiros casos, apenas o último no terceiro caso.)


  •     Multicast

    Um endereço para o qual uma configuração é feita para determinar quais hosts vão ouvir. O endereço 224.0.0.2 é um exemplo de um endereço de multicast. Apenas os nós especificamente configurado para prestar atenção a um endereço de multicast específico irão ler os pacotes destinados a esse grupo multicast. 




Alguns endereços e algumas classes de endereço são reservados:



    127.x.x.x

    Reservado para a interface loopback local, 
em que 0  >=  x <=  254.  Geralmente 127.0.0.1.
     
    0.0.0.0

    Usado por sistemas que ainda não sabem o seu endereço ip. Protocolos como DHCP e BOOTP usam este endereço para se comunicar com o servidor.
     
    255.255.255.255

    Endereço genérico privado de broadcast, reservado para uso interno. Este endereço não é designado e não é roteável.
     
    Outros exemplos de classes reservadas incluem:

    10.0.0.0 - 10.255.255.255
    172.16.0.0 - 172.31.255.255
    192.168.0.0 - 192.168.255.255
  

    Cada uma dessas classes tem um propósito. Por exemplo a classe mais conhecida, 192.168.x.x é usada apenas para redes privadas.



Você pode ver uma longa lista de endereços reservados para IPv4 e IPv6 em http://en.wikipedia.org/wiki/Reserved_ IP_addresses.



IPv6

Tipos de endereços IPv6 incluem:

    Unicast:
    Um pacote é entregue a uma interface.
    - Link-local: é configurado automaticamente para cada interface ter um endereço unicast. Não é roteável.
    - Global: atribuído manualmente ou dinamicamente. Roteáveis.
    - Reservado para documentação.

    Multicast:
    Um pacote é entregue para várias interfaces.

    Anycast:
    Um pacote é entregue para a interface mais próxima (em termos de distância de roteamento) dentre as várias interfaces disponíveis.

    IPv4-mapped:
    Um endereço IPv4 mapeado para IPv6. Por exemplo, ::FFFF:a.b.c.d/96 

Além disso, o IPv6 tem alguns tipos especiais de endereços, como loopback, que atribui ::1/128 a interface lo





Historicamente, endereços IP são baseados em classes. As classes A, B, e C são usadas para dividir e distinguir partes dos endereços etre rede e hosts. Isso é usado por questões de roteamento.




Classe de Endereços


A
1-127
128 redes, 
16,772,214 hosts por rede, 
127.x.x.x reservado para loopback

B
128-191
16,384 redes, 
65,534 hosts por rede

C
192-223
2,097,152 redes, 
254 hosts por rede

D
224-239
Endereços multi-cast

E
240-254       
Endereços reservados



A máscara de rede é usada para determinar a divisão do endereçamento entre rede e host, como vimos anteriormente. 
A máscara de rede também é usada para determinar os endereços de rede e de broadcast.



Classes de endereço e máscara de rede
Classe de rede
Decimal
Hexadecimal  
Binário

A
255.0.0.0
ff:00:00:00
11111111 00000000 00000000 00000000

B
255.255.0.0
ff:ff:00:00
11111111 11111111 00000000 00000000

C
255.255.255.0
ff:ff:ff:00
11111111 11111111 11111111 00000000





Endereços Classe A usam 8 bits para rede e 24 bits para o host. 


Endereços Classe B usam 16 bits para rede e 16 bits para o host.


Endereços Classe C usam 24 bits para a rede e 8 bits para o host.


Endereços Classe D são usados para multicasting.


Endereços Classe E não são usados.


O endereço de rede é obtido somando o endereço IP com a máscara de rede. Nós estamos interessados nos endereços de rede porque eles definem uma rede local que consiste em nós conectados na mesma mídia e que compartilham endereços de rede similares. Todos os nós em uma mesma rede podem ver uns aos outros diretamente.







DHCP

O DHCP é o serviço responsável por distribuir os endereços automaticamente para os hosts dentro de uma rede.
No seguinte artigo: https://www.esli-nux.com/2012/07/dhcp-guia-completo.html

Eu explico como funciona a distribuição dos endereços por este serviço, além de repassar novamente os tipos de endereços, endereçamento e classes.


Nome do host


O nome do host é apenas um rótulo usado para identificar um dispositivo de rede e para diferenciá-lo de outros elementos da rede. Antigamente o mesmo conceito era chamado de nome de nó.

No contexto do DNS, nomes de hosts recebem um ponto (.) e um nome de domínio, de modo que um servidor chamado "intra" pode ter intra.linuxfoundation.org como FQDN, ou nome de domínio totalmente qualificado (fully qualified domain name).

O nome do host é geralmente especificado no momento da instalação, mas pode ser modificado em a qualquer momento.


A qualquer momento, verificar o nome do host (hostname) pode ser feito com:

$ hostname
wally

Para alterar o nome do host, basta passa o novo nome como parâmetro:

$ sudo hostname lumpy
lumpy

Mudar o nome do host desta forma não é persistente; quando reiniciar o sistema o nome do host antigo será configurado novamente. Observe que o valor é sempre salvo no arquivo /etc/hostname na maioria das distribuições Linux . (No openSUSE esta informação parece estar no arquivo /etc/HOSTNAME.)

Como é comum em casos assim, fazer alterações persistentes envolve alterar arquivos de configuração no diretório /etc . Em sistemas baseados em Red Hat esta configuração foi historicamente salva no arquivo /etc/sysconfig/network como em:

$ cat /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=gilbert
NTPSERVERARGS=iburst

Em sistemas baseados no Debian basta editar (como root) o arquivo /etc/hostname e colocar um novo nome, para sistemas baseados no SUSE basta alterar o arquivo /etc/HOSTNAME.

Nota: O RHEL 7 não tem mais o arquivo /etc/sysconfig/network. Versões mais recentes de Linux, como o Ubuntu 14.04 LTS e sistemas baseados no SUSE usam a ferramenta hostnamectl , que é parte do systemd:

$ hostnamectl --help
hostnamectl [OPTIONS...] COMMAND ...

Query or change system hostname.
    -h --help Show this help
    --version Show package version
    --transient Only set transient hostname
    --static Only set static hostname
    --pretty Only set pretty hostname
    -P --privileged Acquire privileges before execution
    --no-ask-password Do not prompt for password
    -H --host=[[email protected]]HOST Operate on remote host

Commands:

    status Show current hostname settings
    set-hostname NAME Set system hostname
    set-icon-name NAME Set icon name for host
    set-chassis NAME Set chassis type for host



Alterar o hostname é simples:

$ sudo hostnamectl set-hostname MYPC

A maioria das distribuições não usa o nome de host "pretty".







Mais vistos no mês:

As melhores distribuições Linux para 2017

TuxMath - Tux, do Comando da Matemática. Ensino e diversão a crianças.

Teste de Performance de Rede com Iperf

OPNsense - Firewall Open Source

DHCP - Guia Completo

Aula #14 - Os sistemas de arquivos ext2/ext3/ext4

SSD no linux

Administração de sistema e Deploys: Ansible, Chef, Fabric, Puppet ou Salt?