Ultimamente estava com alguns problemas no proxy, quando resolvi dar uma olhada no arquivo cache.log para saber o que estava acontecendo. Percebi que o mesmo estava dando o seguinte erro:
WARNING! Your cache is running out of filedescriptors
Este erro parava totalmente a navegação na rede. Googleando, descobri que o squid estava rodando no limite de arquivos abertos na rede (como somos provedores de serviços), e acontecia um over flow no serviço do proxy.
A Solução:
Para resolver o caso, é preciso aumentar a capacidade dos descritores de arquivos, e existem duas formas de se fazer.
1 - Recompilando o kernel e setando os seguintes valores:
Setar "ulimit -HSn 16384", em /usr/src/linux/include/linux/posix_types.h e definir: #define __FD_SETSIZE 16384 e em /usr/src/linux/include/linux/fs.h e definir: #define INR_OPEN 16384
Em seguida, salve e recompile o kernel.
2 - Setando no shell uma variável com um tamanho de descritores de arquivos maiores que o padrão (1024), com o comando:
ulimit -HSn 16384
Com esta segunda opção, se o servidor reiniciar e você não estiver presente o erro acontecerá novamente, pois o valor padrão voltará.
Logo, o 1º passo é altamente recomendável.
Bom, até hoje não deu problemas, e escolhi a 1º opção.
O endereço IP é um identificador numérico designado a cada dispositivo conectado a uma rede IP, determinando um local para o dispositivo na rede.
O endereço IP é um endereço lógico (software) e não físico (hardware). O endereçamento IP foi criado para permitir que um dispositivo em uma rede possa se comunicar com um dispositivo em outra, independentemente dos tipos de LANs envolvidos (ethernet, Token-Ring, etc).
Para dominar os esquemas de endereçamento IP e de suas sub-redes, é muito importante que se dominem técnicas de coversão binária para decimal, assim como potências de base 2.
Terminologia IP:
Bit: Um dígito - 1 ou 0
Byte: Uma sequência de 7 ou 8 bits, dependendo da paridade utilizada. O normal é uma sequência de 8 bits.
Octeto: Sempre 8 bits.
Endereço de Broadcast: Endereço usado por aplicações e dispositivos para o envio de mensagens a todos os dispositivos em uma rede, simultaneamente (1-to-all). Exemplo de Broadcast: Um sistema aberto de TV, onde todos conseguem captar o sinal da mesma, pois o sinal é enviado de um ponto (antena transmissora), para todas as TV´s em uma região.
Endereço de Multicast: Endereço usado por apenas uma máquina para alcançar um grupo definido de máquinas (1-to-many). Exemplo: Sistema fechado de TV (TV por Assinatura). Apenas um grupo específico de usuários (os assinantes) recebem o seu sinal.
Endereço de Unicast: Comunicação de uma máquina para apenas outra máquina (1-to-1). Exemplo: Pay-per-View, pois somente o assinante que solicitou o programa (e pagou por ele), o receberá.
Técnicas de Endereçamento IP:
Números binários utilizam 8 bits para definir um número decimal. Esses bits tem seus valores considerados da diretia para a esquerda, através de um fator que dobra seu valor. Isso ocorre pelo fato de eles serem determinados através de potências de base 2. Eis o porque do nome ser sistema binário.
Exemplo: O número binário 00100110 é a representação de 0x2⁷ + 0x2⁶ + 1x2⁵ + 0x2⁴ + 0x2³ + 1x2² + 1x2¹ + 0x2⁰ = 0+0+32+0+0+4+2+0=38.
Vejamos tabela abaixo correspondente ao exemplo acima:
2 ⁷
2⁶
2⁵
2⁴
2³
2²
2¹
2⁰
128
64
32
16
8
4
2
1
0
0
1
0
0
1
1
0
0x128=0
0x64=0
1x32=32
0x16=0
0x8=0
1x4=4
1x2=2
0x1=0
00100110 = 32 + 4 + 2 = 38
Para que você entenda bem sobre o processo de conversão binário-decimal, está na tabela acima, logo memorize-a.
2 ⁷
2⁶
2⁵
2⁴
2³
2²
2¹
2⁰
128
64
32
16
8
4
2
1
Um Endereço de IPv4 consiste em 32 bits de informação (32 digitos binários - "0 e 1"). Esses bits são divididos em quatro quadrantes, chamados de octetos ou bytes, cada um contendo 8 bits.
O endereço de 32 bits é estruturado de forma hierárquica, em oposição a uma forma plana, ou não-hierárquica. Embora ambos os esquemas pudessem ser adotados, o esquema hierárquico foi escolhido por uma razão: melhor performance no roteamento. Embora o esquema "plano" nos disponibilize um intervalo bem maior de endereços possíveis (2³² = 4,3 bilhões), se cada endereço fosse único, todos os roteadores na Internet teriam que armazenar o endereço de cada um dos dispositivos conectados a ela. Isso tornaria impossível um processo de roteamento eficaz, mesmo que apenas uma fração dos endereços viesse a ser, efetivamente, utilizada.
A solução para esse problema foi a adoção de um esquema de endereçamento de três níveis (hierarquia), divididos em: REDE.SUBNET.HOST. Esse esquema de endereçamento pode ser comparado a um esquema de endereçamento telefônico tradicional: a primeira parte (REDE) identifica uma grande área, segunda (SUBNET) já é mais específica e define a área de chamada, e, finalmente, a ultima parte - o sufixo - (HOST) identifica o número do cliente na rede.
O endereço de rede (network address) identifica cada rede distintamente. Toda e qualquer máquina em uma rede divide o mesmo endereço de rede como parte de seu endereço IP. No endereço IP 172.16.30.56, por exemplo, a parte 172.16 identifica a rede, sendo portante o o seu endereço, o endereço do nó (node address) 30.56, identifica individualmente cada dispositivo conectado na rede, em oposição ao endereço de rede, que identifica em grupo.
Os projetistas da Internet, decidiram por criar classes de redes baseadas no tamanho delas. Para um pequeno número de dispositivos conectados foi criada a classe A de redes (class A networks). No outro extremo, temos a classe C, que possui um grande número de redes e um pequeno número de dispositivos conectados a cada uma. A classe B, seria um meio termo entre a classe A e a classe C.
8bits
8bits
8bits
8bits
Intervalo
Exemplo
Classe A
NET
HOST
HOST
HOST
0-127
1.2.3.4
Classe B
NET
NET
HOST
HOST
128-191
130.10.100.45
Classe C
NET
NET
NET
HOST
192-223
192.168.1.2
A subdivisão de um endereço IP nas porções de rede e nó é determinada pela classe em que se encontra tal endereço. A tablea acima, identifica apenas as 3 classes mais usadas.
Bom, vamos ficando aqui por enquanto, pois o tempo é curto. Na próxima postagem ensinarei como determinar os Intervalos de Redes.