quinta-feira, 24 de março de 2011
sexta-feira, 18 de março de 2011
INT 13h
Ao longo da evolução dos micros PCs, existiram vários limites de capacidade dos HDs, causados por limitações nos endereços usados pelos BIOS e limitações por parte dos drivers e sistemas operacionais. Instalar um HD IDE de grande capacidade em um micro antigo pode ser bastante frustrante, com o BIOS da placa reconhecendo apenas os primeiros 504 MB ou os primeiros 7.88 GB do HD e o sistema operacional se recusando a carregar depois de instalado.
Estas limitações surgiram devido à falta de visão por parte dos projetistas que desenvolveram o padrão IDE e as instruções INT 13h do BIOS, as responsáveis pelo acesso ao HD. Elas foram originalmente desenvolvidas para serem usadas pelo PC AT (baseado no 286), mas acabaram sendo perpetuadas até os dias de hoje. Naquela época, HDs com mais de 504 MB pareciam uma realidade muito distante.
Ao formatar o HD, ele é dividido em clusters, que são a menor parcela do disco endereçada pelo sistema de arquivos. Cada cluster pode ter de 512 bytes a 32 KB, de acordo com o sistema de arquivos e as opções usadas durante a formatação.
Entretanto, num nível mais baixo, os setores do HD precisam ser endereçados diretamente. Cada setor possui apenas 512 bytes, de forma que é necessária uma grande quantidade de endereços para endereçá-los individualmente.
O padrão IDE reserva 16 bits para o endereçamento dos cilindros (65,536 combinações), 4 bits para o endereçamento das cabeças de leitura (16 combinações) e 8 bits para os setores dentro de cada cilindro (256 combinações), o que permite endereçar um total de 256 milhões de setores. Como cada setor tem sempre 512 bytes, teríamos, a princípio, suporte a HDs de até 128 GB.
Entretanto, o BIOS possui outras limitações para o acesso a discos (serviço chamado de INT 13h), reservando 10 bits para o endereçamento dos cilindros (1,024 combinações), 8 bits para as cabeças de leitura (256) e apenas 6 bits para os setores (63 combinações, pois o endereço 0 é reservado), o que permite endereçar 1.61 milhões de setores e consequentemente discos de até 7.88 GB. Essa configuração é apenas lógica, o modo como o BIOS enxerga o disco rígido, não tem necessariamente relação com a organização real do HD. A placa lógica de um HD de 504 MB pode dizer que tem 16 cabeças leitura e 63 setores por cilindro de forma a utilizar todos os endereços disponibilizados pelo BIOS, mas internamente endereçar os setores de forma diferente. Na prática não faz muita diferença, desde que cada setor receba uma identificação única.
Como é preciso usar tanto a interface IDE quanto as instruções INT 13h do BIOS, acabamos por juntar os dois conjuntos de limitações. O padrão IDE reserva 16 bits para o endereçamento dos cilindros, porém o BIOS só utiliza 10. O BIOS por sua vez reserva 8 bits para o endereçamento das cabeças de leitura, porém só pode utilizar 4 por limitações da interface. A capacidade de endereçamento então acaba sendo nivelada por baixo, combinando as limitações de ambos os padrões, permitindo endereçar discos de no máximo 504 MB, limite para a maioria dos micros 486 ou inferiores. Este método de endereçamento é chamado de Normal ou CHS (cilindro, cabeça de leitura e setor). Esta limitação com relação a HDs de 504 MB foi derrubada com o surgimento do padrão LBA.
Estas limitações surgiram devido à falta de visão por parte dos projetistas que desenvolveram o padrão IDE e as instruções INT 13h do BIOS, as responsáveis pelo acesso ao HD. Elas foram originalmente desenvolvidas para serem usadas pelo PC AT (baseado no 286), mas acabaram sendo perpetuadas até os dias de hoje. Naquela época, HDs com mais de 504 MB pareciam uma realidade muito distante.
Ao formatar o HD, ele é dividido em clusters, que são a menor parcela do disco endereçada pelo sistema de arquivos. Cada cluster pode ter de 512 bytes a 32 KB, de acordo com o sistema de arquivos e as opções usadas durante a formatação.
Entretanto, num nível mais baixo, os setores do HD precisam ser endereçados diretamente. Cada setor possui apenas 512 bytes, de forma que é necessária uma grande quantidade de endereços para endereçá-los individualmente.
O padrão IDE reserva 16 bits para o endereçamento dos cilindros (65,536 combinações), 4 bits para o endereçamento das cabeças de leitura (16 combinações) e 8 bits para os setores dentro de cada cilindro (256 combinações), o que permite endereçar um total de 256 milhões de setores. Como cada setor tem sempre 512 bytes, teríamos, a princípio, suporte a HDs de até 128 GB.
Entretanto, o BIOS possui outras limitações para o acesso a discos (serviço chamado de INT 13h), reservando 10 bits para o endereçamento dos cilindros (1,024 combinações), 8 bits para as cabeças de leitura (256) e apenas 6 bits para os setores (63 combinações, pois o endereço 0 é reservado), o que permite endereçar 1.61 milhões de setores e consequentemente discos de até 7.88 GB. Essa configuração é apenas lógica, o modo como o BIOS enxerga o disco rígido, não tem necessariamente relação com a organização real do HD. A placa lógica de um HD de 504 MB pode dizer que tem 16 cabeças leitura e 63 setores por cilindro de forma a utilizar todos os endereços disponibilizados pelo BIOS, mas internamente endereçar os setores de forma diferente. Na prática não faz muita diferença, desde que cada setor receba uma identificação única.
Como é preciso usar tanto a interface IDE quanto as instruções INT 13h do BIOS, acabamos por juntar os dois conjuntos de limitações. O padrão IDE reserva 16 bits para o endereçamento dos cilindros, porém o BIOS só utiliza 10. O BIOS por sua vez reserva 8 bits para o endereçamento das cabeças de leitura, porém só pode utilizar 4 por limitações da interface. A capacidade de endereçamento então acaba sendo nivelada por baixo, combinando as limitações de ambos os padrões, permitindo endereçar discos de no máximo 504 MB, limite para a maioria dos micros 486 ou inferiores. Este método de endereçamento é chamado de Normal ou CHS (cilindro, cabeça de leitura e setor). Esta limitação com relação a HDs de 504 MB foi derrubada com o surgimento do padrão LBA.
Lei de Moore
Termos técnicos
A "profecia" feita por Gordon Moore, um dos fundadores da Intel, feita durante a década de 70 de que a partir dali a potência dos processadores dobraria a cada 18 meses. A lei de Moore sobreviveu durante mais de duas décadas e ainda não parece ter prazo de validade definido.
Muitos acreditam que os processadores possam continuar dobrando de potência a cada 18 meses, ou até em menos tempo pelos próximos 50 ou 80 anos. Apesar do ciclo evolutivo dos transistores estar próximo do fim, eles ainda devem continuar evoluindo por pelo menos mais uma década, até os limites das técnicas de 0.02 mícron, onde cada gate terá o equivalente a apenas um átomo de ouro de largura. Atualmente estamos migrando dos 0.18 para os 0.13 mícrons, ainda restam pelo menos mais 5 gerações pela frente, as barreiras de 0.10, 0.07, 0.05, 0.03 e 0.02 mícron. Depois disso, ainda restará aos fabricantes otimizar suas arquiteturas e adicionar mais transístores. Esgotadas as possibilidades dos transístores, ainda restam os chips óticos, os nanotubos, os processadores quânticos e o que mais poderá surgir pela frente. A evolução dos computadores não deverá parar tão cedo.
Muitos acreditam que os processadores possam continuar dobrando de potência a cada 18 meses, ou até em menos tempo pelos próximos 50 ou 80 anos. Apesar do ciclo evolutivo dos transistores estar próximo do fim, eles ainda devem continuar evoluindo por pelo menos mais uma década, até os limites das técnicas de 0.02 mícron, onde cada gate terá o equivalente a apenas um átomo de ouro de largura. Atualmente estamos migrando dos 0.18 para os 0.13 mícrons, ainda restam pelo menos mais 5 gerações pela frente, as barreiras de 0.10, 0.07, 0.05, 0.03 e 0.02 mícron. Depois disso, ainda restará aos fabricantes otimizar suas arquiteturas e adicionar mais transístores. Esgotadas as possibilidades dos transístores, ainda restam os chips óticos, os nanotubos, os processadores quânticos e o que mais poderá surgir pela frente. A evolução dos computadores não deverá parar tão cedo.
Lei de Murphy
Termos técnicos
Segundo esta lei "infalível", se algo puder dar errado, pode ter certeza que algum dia realmente dará. O seu HD vai pifar, um vírus vai apagar o BIOS da placa mãe, sua fonte vai explodir, vai acabar a luz dois segundos antes de você salvar uma apresentação que ficou a tarde toda fazendo e o CD onde você tinha gravado um backup de tudo vai explodir dentro do drive :-).
A história oficial conta que Murpy era um pesquisador, que durante a década de 40, fez uma experiência que consistia em monitorar as funções vitais de um paciente usando 80 eletrodos colados em pontos estratégicos do corpo. O tal Murpy conseguiu dar a sorte de colar todos os eletrodos nos lugares errados e a experiência resultou num fracasso completo. Inconformado, ele professou a "lei", que continua em voga por tempo indefinido.
A história oficial conta que Murpy era um pesquisador, que durante a década de 40, fez uma experiência que consistia em monitorar as funções vitais de um paciente usando 80 eletrodos colados em pontos estratégicos do corpo. O tal Murpy conseguiu dar a sorte de colar todos os eletrodos nos lugares errados e a experiência resultou num fracasso completo. Inconformado, ele professou a "lei", que continua em voga por tempo indefinido.
LGPL
Termos técnicos
Library GPL. Esta é uma variação da licença GPL que permite o desenvolvimento de programas de código aberto que contenham módulos proprietários.
Na GPL "tradicional" todo o código do programa é aberto, isso atende bem à maioria dos projetos colaborativos. O problema é que muitas empresas possuem segredos a guardar, o que as impede de simplesmente abrir totalmente o código de seus programas.
A LGPL funciona melhor nestes casos, pois permite que você desenvolva programas "semi abertos" onde parte do código do programa está disponível e o restante das funções é proporcionada por alguns binários que não possuem seu código aberto, estes binários linkados no programa no momento da compilação, de uma forma análoga às DLL's do Windows.
Imagine que você tenha uma empresa que desenvolve um processador de textos no estilo do Word. Depois de algumas noites sem dormir você desenvolve um módulo revolucionário que é capaz de abrir e salvar qualquer tipo de arquivo do Office sem falhas. Isso sem dúvida é um grande diferencial para o seu produto e por isso você resolve não abrir o código fonte, afinal você desenvolveu o software sozinho e pode decidir o que fazer com ele.
A LGPL funcionaria bem no seu caso, pois você poderia abrir o código do seu editor de textos para que outras pessoas possam contribuir com melhorias e correções, mas manter proprietário o módulo que lê arquivos do Office, o grande diferencial que faria as pessoas comprarem o editor ao invés de simplesmente instalar a partir do código fonte.
Na GPL "tradicional" todo o código do programa é aberto, isso atende bem à maioria dos projetos colaborativos. O problema é que muitas empresas possuem segredos a guardar, o que as impede de simplesmente abrir totalmente o código de seus programas.
A LGPL funciona melhor nestes casos, pois permite que você desenvolva programas "semi abertos" onde parte do código do programa está disponível e o restante das funções é proporcionada por alguns binários que não possuem seu código aberto, estes binários linkados no programa no momento da compilação, de uma forma análoga às DLL's do Windows.
Imagine que você tenha uma empresa que desenvolve um processador de textos no estilo do Word. Depois de algumas noites sem dormir você desenvolve um módulo revolucionário que é capaz de abrir e salvar qualquer tipo de arquivo do Office sem falhas. Isso sem dúvida é um grande diferencial para o seu produto e por isso você resolve não abrir o código fonte, afinal você desenvolveu o software sozinho e pode decidir o que fazer com ele.
A LGPL funcionaria bem no seu caso, pois você poderia abrir o código do seu editor de textos para que outras pessoas possam contribuir com melhorias e correções, mas manter proprietário o módulo que lê arquivos do Office, o grande diferencial que faria as pessoas comprarem o editor ao invés de simplesmente instalar a partir do código fonte.
IPv6
IPv6 é a versão mais atual do protocolo IP. Sua criação é fruto do esforço do IETF para criar a "nova geração do IP" (IPng: Internet Protocol next generation), cujas linhas mestras foram descritas por Scott Bradner e Allison Marken, em 1994, na RFC 1752. Sua principal especificação encontra-se na RFC 2460.
O protocolo está sendo implantado gradativamente na Internet e deve funcionar lado a lado com o IPv4, numa situação tecnicamente chamada de "pilha dupla" ou "dual stack", por algum tempo. A longo prazo, o IPv6 tem como objetivo substituir o IPv4, que só suporta cerca de 4 bilhões (4x109) de endereços IP, contra cerca de 3,4x1038 endereços do novo protocolo. A previsão atual para a exaustão de todos os endereços IPv4 livres para atribuição a operadores é de Julho de 2011, o que significa que a implantação do IPv6 é inevitável num futuro bastante próximo.
O assunto é tão relevante que alguns governos têm apoiado essa implantação. O governo dos Estados Unidos, por exemplo, em 2005, determinou que todas as suas agências federais deveriam provar ser capazes de operar com o protocolo IPv6 até junho de 2008. Em julho de 2008, foi liberada uma nova revisão das recomendações para adoção do IPv6 nas agências federais, estabelecendo a data de julho de 2010 para garantia do suporte ao IPv6. O governo brasileiro recomenda a adoção do protocolo no documento e-PING, dos Padrões de Interoperabilidade de Governo Eletrônico.
Para entender as razões desse esgotamento, é importante considerar que a Internet não foi projetada para uso comercial. No início da década de 1980, ela poderia ser considerada uma rede predominantemente acadêmica, com poucas centenas de computadores interligados. Apesar disso, pode-se dizer que o espaço de endereçamento do IP versão 4, de 32 bits, não é pequeno: 4.294.967.296 endereços.
Ainda assim, já no início de sua utilização comercial, em 1993, acreditava-se que o espaço de endereçamento da Internet poderia se esgotar num prazo de 2 ou 3 anos. Isso não ocorreu por conta da quantidade de endereços, mas sim por conta da política de alocação inicial, que não foi favorável a uma utilização racional desses recursos. Dividiu-se esse espaço em 3 classes, a saber:
O espaço reservado para a classe A atenderia a apenas 128 entidades, no entanto, ocupava metade dos endereços disponíveis. Não obstante, empresas e entidades como HP, GE, DEC, MIT, DISA, Apple, AT&T, IBM, USPS, dentre outras, receberam alocações desse tipo.
As previsões iniciais, no entanto, de esgotamento quase imediato dos recursos, não se concretizaram devido ao desenvolvimento de uma série de tecnologias, que funcionaram como uma solução paliativa para o problema trazido com o crescimento acelerado:
Contudo, há outros fatores que motivam sua implantação:
Formato do cabeçalho base do datagrama IPv6:
O processo de descoberta do MTU tem que ser dinâmico, porque o percurso pode ser alterado durante a transmissão dos datagramas.
No IPv6, um prefixo não fragmentável do datagrama original é copiado para cada fragmento. A informação de fragmentação é guardada num cabeçalho de extensão separado. Cada fragmento é iniciado por uma componente não fragmentável seguida de um cabeçalho do fragmento.
As especificações actuais recomendam a seguinte ordem:
Um endereço padrão IPv6 deve ser formado por um campo provider ID, subscribe ID, subnet ID e node ID. O node ID (ou identificador de interface) deve ter 64bits, e pode ser formado a partir do endereço físico (MAC) no formato EUI 64.
Os endereços IPv6 são normalmente escritos como oito grupos de 4 dígitos hexadecimais. Por exemplo,
Usuários de qualquer tipo receberão de seus provedores redes /48, ou seja, terão a seu dispor uma quantidade suficiente de IPs para configurar aproximadamente 65 mil redes, cada uma com 2^64 endereços. É preciso notar, no entanto, que alguns provedores cogitam entregar aos usuários domésticos redes com tamanho /56, permitindo sua divisão em apenas 256 redes /64.
Para tal, os 128 bits do IPv6 ficam assim divididos:
Para tal, os 128 bits do IPv6 ficam assim divididos:
Comparando-se o formato do IPv6 com o do IPv4, os mecanismos de opções foram completamente revisados, seis campos foram suprimidos (header length, type of service, identification, flags, fragment offset e header checksum), três foram renomeados e, em alguns casos, ligeiramente modificados (length, protocol type e time to leave), e dois foram criados (trafic class e flow label).
As simplificações mais consideráveis do IPv6 foram a alocação de um formato fixo para todos os cabeçalhos, a remoção do check-sum de cabeçalho e a remoção dos procedimentos de segmentação "hop-by-hop".
A remoção de todos os elementos opcionais não significa que não se possa configurar serviços especiais. Estes poderão ser obtidos através de cabeçalhos denominados "Cabeçalhos de Extensão", que são anexados ao cabeçalho principal.
A remoção do check-sum poderia gerar problemas no roteamento dos pacotes, mas o IPv6 pressupõe que as camadas inferiores são confiáveis, com seus respectivos controles de erro como, por exemplo, o 802.2 LLC (Logical Link Control) para redes locais, o controle das camadas de adaptação dos circuitos ATM e o controle do PPP para links seriais.
A cada salto de um pacote IPv6, os roteadores não precisarão se preocupar com o cálculo do tamanho do cabeçalho, e nem com as tabelas de fragmentação, que serão realizadas pelos hosts. Todas estas modificações aumentam substancialmente o desempenho dos roteadores, permitindo melhor desempenho para redes de alta velocidade.
Novos recursos para permitir maior segurança na rede foram descritos, assim como uma nova estrutura interna de endereçamento, podendo agora os endereços terem campos em seu conteúdo. Este novo tipo de estrutura afeta de forma direta os novos tipos de roteamento. A tabela abaixo, conforme citada em http://www.cisco.com.br/ipv6, mostra um quadro comparativo entre os dois protocolos.
A principal diferença entre o endereçamento do IPv4 e do IPv6 é o tamanho: endereços IPv4 possuem 32 bits de tamanho, enquanto endereços IPv6 possuem 128 bits. Porém esta não é a única diferença no endereçamento destes protocolos. Enquanto os endereços IPv4 são dividido em apenas duas ou três partes variáveis para serem distribuidos e localizados (um identificador de rede, um identificador de nodo e, às vezes, um identificador de sub-rede), os endereços IPv6 são grandes o suficiente para suportarem uma nova idéia - a idéia de campos dentro do endereço.
Há três tipos de endereços IPv6: o unicast, o multicast e o anycast. Os endereços unicast e multicast são similares com os da versão IPv4; o endereço broadcast existente no IPv4 deixa de existir, enquanto um novo tipo de endereçamento é criado: o anycast.
Representação do Endereçamento IPv6
Para que possa haver uma compreensão de como são representados os endereços IPv6, é necessário que primeiro se observe alguns dados sobre a represntação dos endereços IPv4.
Os endereços IPv4 são representados em quatro partes, com valores delimitados, ou seja, , quatro números separados por pontos. Por exemplo, todos os endereços da figura abaixo são IPv4 válidos, representados por inteiros decimais:
Os endereços IPv6, quatro vezes maiores que os endereços IPv4, são também quatro vezes mais complexos. A representação básica de um endereço IPv6 se dá na forma X:X:X:X:X:X:X:X, onde X refere-se a quatro dígitos hexadecimais (16 bits). Cada dígito consiste em quatro bits, cada inteiro consiste em quatro dígitos e cada endereço consiste em oito inteiros, num total de 128 bits (4x4x8 = 128). Por exemplo, os endereços da figura abaixo são alguns endereços IPv6 válidos:
Este é o formato preferido para representar os endereços IPv6, porém há dois outros métodos adicionais que podem ser usados para clarear e facilitar o seu uso.
Apenas 15 % de todo espaço IPv6 está alocado, ficando os outros 85% restantes para uso futuro. Devido a esta pré-alocação, será comum endereços com uma longa seqüência de bits zero. Neste caso, a especificação permite "suprimir" estes zero. Em outras palavras, o endereço "2000:0:0:0:0:0:0:1" pode ser representado como "2000::1".
O dois pontos indica que o endereço será expandido em um endereço de 128 bits. O método substitui zeros somente quando eles estiverem em grupos de 16 bits, e os dois pontos pode ser usado apenas uma vez por endereço.
A terceira opção é útil quando se deseja juntar endereços IPv4 com endereços IPv6. Os últimos 32 bits de um endreneço IPv6 podem ser usados para referenciar um endereço IPv4, sendo expressados da seguinte forma: X:X:X:X:X:X:d.d.d.d, onde "X" representa um inteiro de 16 bits e "d" representa um inteiro decimal.
Por exemplo, o endereço "0:0:0:0:0:0:10.0.0.1" é um endereço IPv4 válido. Combinando ambos os métodos alternativos de representação, este endereço pode ser represesentado como "::10.0.0.1".
Pelo fato dos endereços IPv6 serem quebrados em duas partes - um prefixo indicando sub-rede e um identificador de interface - espera-se que um nodo com endereçamento IPv6 seja representado indicando qual parte deve ser mascarada, para fins de roteamento, de maneira similar ao que é feito em endereços do tipo CIDR (Classless Interdomain Routing). Em outras palavras, um nodo de endereço IPv6 indica um tamanho de prefixo, separado do endereço IPv6 por uma barra, como o da figura abaixo, por exemplo. Este endereço indica que os primeiros 60 bits referem-se ao prefixo, com o propósito de roteamento.
O primeiros 0,03% dos endereços IPv6, todos os endereços que comecem com os bits 0000 0000, são considerados endereços reservados. Muito do espaço reservado ainda está vazio, porém ainda serão muitos os endereços reservados que deverão ser encontrados daqui para a frente. Estes tipos de endereços incluem:
Uma importante razão para o sucesso dos endereços IP é que eles não são encaminhados de forma indiscriminada para todos os nodos de um conjunto de redes (veja-se como exemplo a internet). Caso isto acontecesse seria um caos. Esta é a razão do porquê os endereços broadcast não são encaminhados para outras redes pelos roteadores. Entretanto, com o multicast, pode-se selecionar pacotes a serem encaminhados adiante, para roteadores que estão inscritos em endereços multicast e que têm insteresse em recebê-los.
Quando um nodo inscreve-se em um endereço multicast, ele anuncia que deseja ser um membro daquele endereço, e algum roteador local será inscrito como interessado para receber os pacotes indicados àquele endereço. Quando uma transmissão é enviada para um endereço multicast vindo de outro nodo que está na mesma rede, o pacote multicast é encapsulado dentro de uma uma unidade de transmissão de dados multicast. Na ethernet, a unidade encapsulada é um endereço que é enviado para um endereço de multicast ethernet; em outros tipos de redes que usam circuitos ponto a ponto para todas as transmissões (como ATM), o pacote será transmitido para inscritos da mesma maneira, utilizando para isto um mecanismo em que o servidor transmite o pacote para cada inscrito individual. Multicast fora de redes locais é tratado da mesma maneira: somente sera enviado o pacote ao roteador se este tiver nodos inscritos para receberem o pacote.
O IPv4 utiliza multicast para enviar dados que necessitam de alta largura de banda para serem enviados a muitos nodos, como o caso de videoconferência ou distribuição de notícias financeiras e cotas de estoque. Outras aplicações são possíveis, com muitas novas possibilidades, juntando-se a idéia de endereços multicast, com a possibilidade de alterar o campo scop. Muitos dos já conhecidos endereços multicast incluem em seus grupos roteadores, serviços DHCP, serviços de audio e vídeo, serviços de jogos pela rede, e muitos outros, conforme descrito em [RFC2375].
Para ilustrar, supondo que se deseja trabalhar com o identificador de grupo multicast para "todos os servidores DHCP". Este grupo é representado pelo identificador 1:3. Quando usado, marcando a abrangência para dois, representando a distância de tipo link local, o resultado do endereço multicast será "FF02:0:0:0:0:0:1:3", podendo ser usado para pegar um endereço IP sendo de qualquer lugar onde estiver o nodo na rede. Isto porque o servidor DHCP estará inscrito em um endereço multicast, fazendo com que ao receber o pacote vindo do host originário, envie um endereço IPv6 válido, com o intuito de auto-configuração. Este tipo de aplicação torna-se extremamente útil para proprietários de computadores portáteis.
O protocolo está sendo implantado gradativamente na Internet e deve funcionar lado a lado com o IPv4, numa situação tecnicamente chamada de "pilha dupla" ou "dual stack", por algum tempo. A longo prazo, o IPv6 tem como objetivo substituir o IPv4, que só suporta cerca de 4 bilhões (4x109) de endereços IP, contra cerca de 3,4x1038 endereços do novo protocolo. A previsão atual para a exaustão de todos os endereços IPv4 livres para atribuição a operadores é de Julho de 2011, o que significa que a implantação do IPv6 é inevitável num futuro bastante próximo.
O assunto é tão relevante que alguns governos têm apoiado essa implantação. O governo dos Estados Unidos, por exemplo, em 2005, determinou que todas as suas agências federais deveriam provar ser capazes de operar com o protocolo IPv6 até junho de 2008. Em julho de 2008, foi liberada uma nova revisão das recomendações para adoção do IPv6 nas agências federais, estabelecendo a data de julho de 2010 para garantia do suporte ao IPv6. O governo brasileiro recomenda a adoção do protocolo no documento e-PING, dos Padrões de Interoperabilidade de Governo Eletrônico.
Motivações para a implantação do IPv6
O esgotamento do IPv4 e a necessidade de mais endereços na Internet
O principal motivo para a implantação do IPv6 na Internet é a necessidade de mais endereços, porque os endereços livres IPv4 estão se acabando.Para entender as razões desse esgotamento, é importante considerar que a Internet não foi projetada para uso comercial. No início da década de 1980, ela poderia ser considerada uma rede predominantemente acadêmica, com poucas centenas de computadores interligados. Apesar disso, pode-se dizer que o espaço de endereçamento do IP versão 4, de 32 bits, não é pequeno: 4.294.967.296 endereços.
Ainda assim, já no início de sua utilização comercial, em 1993, acreditava-se que o espaço de endereçamento da Internet poderia se esgotar num prazo de 2 ou 3 anos. Isso não ocorreu por conta da quantidade de endereços, mas sim por conta da política de alocação inicial, que não foi favorável a uma utilização racional desses recursos. Dividiu-se esse espaço em 3 classes, a saber:
- Classe A: com 128 segmentos, que poderiam ser atribuídos individualmente às entidades que deles necessitassem, com aproximadamente 16 milhões de endereços cada. Essa classe era classificada como /8, pois os primeiros 8 bits representavam a rede, ou segmento, enquanto os demais poderiam ser usados livremente. Ela utilizava o espaço compreendido entre os endereços 00000000.*.*.* (0.*.*.*) e 01111111.*.*.* (127.*.*.*).
- Classe B: com aproximadamente 16 mil segmentos de 64 mil endereços cada. Essa classe era classificada como /16. Ela utilizava o espaço compreendido entre os endereços 10000000.0000000.*.* (128.0.*.*) e 10111111.11111111.*.* (191.255.*.*).
- Classe C: com aproximadamente 2 milhões de segmentos de 256 endereços cada. Essa classe era classificada como /24. Ela utilizava o espaço compreendido entre os endereços 11000000.0000000.00000000.* (192.0.0.*) e 11011111.11111111.11111111.* (213.255.255.*).
O espaço reservado para a classe A atenderia a apenas 128 entidades, no entanto, ocupava metade dos endereços disponíveis. Não obstante, empresas e entidades como HP, GE, DEC, MIT, DISA, Apple, AT&T, IBM, USPS, dentre outras, receberam alocações desse tipo.
As previsões iniciais, no entanto, de esgotamento quase imediato dos recursos, não se concretizaram devido ao desenvolvimento de uma série de tecnologias, que funcionaram como uma solução paliativa para o problema trazido com o crescimento acelerado:
- O CIDR (Classless Inter Domain Routing), ou roteamento sem uso de classes, que é descrito pela RFC 1519. Com o CIDR foi abolido o esquema de classes, permitindo atribuir blocos de endereços com tamanho arbitrário, conforme a necessidade, trazendo um uso mais racional para o espaço.
- O uso do NAT e da RFC 1918, que especifica os endereços privados, não válidos na Internet, nas redes corporativas. O NAT permite que com um endereço válido apenas, toda uma rede baseada em endereços privados, tenha conexão, embora limitada, com a Internet.
- O DHCP (Dynamic Host Configuration Protocol), descrito pela RFC 2131. Esse protocolo trouxe a possibilidade aos provedores de reutilizarem endereços Internet fornecidos a seus clientes para conexões não permanentes.
Outros fatores motivantes
O principal fator que impulsiona a implantação do IPv6 é a necessidade. Ele é necessário na infraestrutura da Internet. É uma questão de continuidade de negócios, para provedores e uma série de outras empresas e instituições.Contudo, há outros fatores que motivam sua implantação:
- Internet das coisas: Imagina-se um futuro onde a computação será ubiqua e pervasiva... A tecnologia estará presente em vários dispositivos hoje não inteligentes, que serão capazes de interagir autonomamente entre si - computadores invisíveis interligados à Internet, embutidos nos objetos usados no dia a dia - tornando a vida um pouco mais simples. Pode-se imaginar eletrodomésticos conectados, automóveis, edifícios inteligentes, equipamentos de monitoramento médico, etc. Dezenas, talvez mesmo centenas ou milhares de equipamentos estarão conectados em cada residência e escritório... O IPv6, com endereços abundantes, fixos, válidos, é necessário para fazer desse futuro uma realidade.
- Expansão das redes: Vários fatores motivam uma expansão cada vez mais acelerada da Internet: a inclusão digital, as redes 3G, etc. São necessários mais IPs.
- Qualidade de serviço: A convergência das redes de telecomunicações futuras para a camada de rede comum, o IPv6, favorecerá o amadurecimento de serviços hoje incipientes, como VoIP, streaming de vídeo em tempo real, etc, e fará aparecerem outros, novos. O IPv6 tem um suporte melhorado a classes de serviço diferenciadas, em função das exigências e prioridades do serviço em causa.
- Mobilidade: A mobilidade está a tornar-se um factor muito importante na sociedade de hoje em dia. O IPv6 suporta a mobilidade dos utilizadores, estes poderão ser contactados em qualquer rede através do seu endereço IPv6 de origem.
Novidades nas especificações do IPv6
- Espaço de Endereçamento. Os endereços IPv6 têm um tamanho de 128 bits.
- Autoconfiguração de endereço. Suporte para atribuição automática de endereços numa rede IPv6, podendo ser omitido o servidor de DHCP a que estamos habituados no IPv4.
- Endereçamento hierárquico. Simplifica as tabelas de encaminhamento dos roteadores da rede, diminuindo assim a carga de processamento dos mesmos.
- Formato do cabeçalho. Totalmente remodelados em relação ao IPv4.
- Cabeçalhos de extensão. Opção para guardar informação adicional.
- Suporte a qualidade diferenciada. Aplicações de áudio e vídeo passam a estabelecer conexões apropriadas tendo em conta as suas exigências em termos de qualidade de serviço (QoS).
- Capacidade de extensão. Permite adicionar novas especificações de forma simples.
- Encriptação. Diversas extensões no IPv6 permitem, à partida, o suporte para opções de segurança como autenticação, integridade e confidencialidade dos dados.
Formato do datagrama IPv6
Um datagrama IPv6 é constituído por um cabeçalho base, ilustrado na figura que se segue, seguido de zero ou mais cabeçalhos de extensão, seguidos depois pelo bloco de dados.Formato do cabeçalho base do datagrama IPv6:
- Tem menos informação que o cabeçalho do IPv4. Por exemplo, o checksum será removido do cabeçalho, que nesta versão considera-se que o controle de erros das camadas inferiores é confiável.
- O campo Traffic Class é usado para assinalar a classe de serviço a que o pacote pertence, permitindo assim dar diferentes tratamentos a pacotes provenientes de aplicações com exigências distintas. Este campo serve de base para o funcionamento do mecanismo de qualidade de serviço (QoS) na rede.
- O campo Flow Label é usado com novas aplicações que necessitem de bom desempenho. Permite associar datagramas que fazem parte da comunicação entre duas aplicações. Usados para enviar datagramas ao longo de um caminho pré-definido.
- O campo Payload Length representa, como o nome indica, o volume de dados em bytes que pacote transporta.
- O campo Next Header aponta para o primeiro header de extensão. Usado para especificar o tipo de informação que está a seguir ao cabeçalho corrente.
- O campo Hop Limit tem o número de hops transmitidos antes de descartar o datagrama, ou seja, este campo indica o número máximo de saltos (passagem por encaminhadores) que o datagrama pode dar, antes de ser descartado, semelhante ao TTL do IPv4.
Fragmentação e determinação do percurso
No IPv6 o responsável pela fragmentação é o host que envia o datagrama, e não os roteadores intermédios como no caso do IPv4. No IPv6, os roteadores intermédios descartam os datagramas maiores que o MTU da rede. O MTU será o MTU máximo suportado pelas diferentes redes entre a origem e o destino. Para isso o host envia pacotes ICMP de varios tamanhos; quando um pacote chega ao host destino, todos os dados a serem transmitidos são fragmentados no tamanho deste pacote que alcançou o destino.O processo de descoberta do MTU tem que ser dinâmico, porque o percurso pode ser alterado durante a transmissão dos datagramas.
No IPv6, um prefixo não fragmentável do datagrama original é copiado para cada fragmento. A informação de fragmentação é guardada num cabeçalho de extensão separado. Cada fragmento é iniciado por uma componente não fragmentável seguida de um cabeçalho do fragmento.
Múltiplos cabeçalhos
Uma das novidades do IPv6, é a possibilidade de utilização de múltiplos cabeçalhos encadeados. Estes cabeçalhos extra permitem uma maior eficiência, devido a que o tamanho do cabeçalho pode ser ajustado às necessidades. Também permite uma maior flexibilidade, porque podem ser sempre adicionados novos cabeçalhos para satisfazer novas especificações.As especificações actuais recomendam a seguinte ordem:
- IPv6
- Hop-By-Hop Options Header
- Destination Option Header
- Routing Header
- Fragment Header
- Authentication Security Payload Header
- Destination Options Header
- Upper-Layer Header
Endereçamento
O endereçamento no IPv6 é de 128 bits, e inclui prefixo de rede e sufixo de host. No entanto, não existem classes de endereços, como acontece no IPv4. Assim, a fronteira do prefixo e do sufixo pode ser em qualquer posição do endereço.Um endereço padrão IPv6 deve ser formado por um campo provider ID, subscribe ID, subnet ID e node ID. O node ID (ou identificador de interface) deve ter 64bits, e pode ser formado a partir do endereço físico (MAC) no formato EUI 64.
Os endereços IPv6 são normalmente escritos como oito grupos de 4 dígitos hexadecimais. Por exemplo,
2001:0db8:85a3:08d3:1319:8a2e:0370:7344
Se um grupo de vários dígitos seguidos for 0000, pode ser omitido. Por exemplo,2001:0db8:85a3:0000:0000:0000:0000:7344
é o mesmo endereço IPv6 que:2001:0db8:85a3::7344
Existem no IPv6 tipos especiais de endereços:- unicast - cada endereço corresponde a uma interface (dispositivo).
- multicast - cada endereço corresponde a múltiplas interfaces. É enviada uma cópia para cada interface.
- anycast - corresponde a múltiplas interfaces que partilham um prefixo comum. Um datagrama é enviado para um dos dispositivos, por exemplo, o mais próximo.
Usuários de qualquer tipo receberão de seus provedores redes /48, ou seja, terão a seu dispor uma quantidade suficiente de IPs para configurar aproximadamente 65 mil redes, cada uma com 2^64 endereços. É preciso notar, no entanto, que alguns provedores cogitam entregar aos usuários domésticos redes com tamanho /56, permitindo sua divisão em apenas 256 redes /64.
Estruturas de endereços de transição
Os endereços IPv6 podem ser compatíveis com IPv4 , podendo o primeiro conter endereços IPv4.Para tal, os 128 bits do IPv6 ficam assim divididos:
- campo de 80 bits colocado a '0' (zero)
- campo de 16 bits colocado a '0' (zero)
- endereço IPv4 de 32 bits
::<endereço IPv4>
Os endereços IPv6 podem ser mapeados para IPv4 e são concebidos para roteadores que suportem os dois protocolos, permitindo que nós IPv4 façam um "túnel" através de uma estrutura IPv6. Ao contrário dos anteriores, estes endereços são automaticamente construídos pelos roteadores que suportam ambos os protocolos.Para tal, os 128 bits do IPv6 ficam assim divididos:
- campo de 80 bits colocado a '0' (zero)
- campo de 16 bits colocado a 'F'
- endereço IPv4 de 32 bits
::FFFF:<endereço IPv4>
Outras estruturas de endereços IPv6
Existem outras estruturas de endereços IPv6:- Endereços de ISP - formato projetado para permitir a conexão à Internet por utilizadores individuais de um ISP.
- Endereços de Site - para utilização numa Rede Local.
Estrutura do Protocolo IPv6
Comparando-se o formato do IPv6 com o do IPv4, os mecanismos de opções foram completamente revisados, seis campos foram suprimidos (header length, type of service, identification, flags, fragment offset e header checksum), três foram renomeados e, em alguns casos, ligeiramente modificados (length, protocol type e time to leave), e dois foram criados (trafic class e flow label).
As simplificações mais consideráveis do IPv6 foram a alocação de um formato fixo para todos os cabeçalhos, a remoção do check-sum de cabeçalho e a remoção dos procedimentos de segmentação "hop-by-hop".
A remoção de todos os elementos opcionais não significa que não se possa configurar serviços especiais. Estes poderão ser obtidos através de cabeçalhos denominados "Cabeçalhos de Extensão", que são anexados ao cabeçalho principal.
A remoção do check-sum poderia gerar problemas no roteamento dos pacotes, mas o IPv6 pressupõe que as camadas inferiores são confiáveis, com seus respectivos controles de erro como, por exemplo, o 802.2 LLC (Logical Link Control) para redes locais, o controle das camadas de adaptação dos circuitos ATM e o controle do PPP para links seriais.
A cada salto de um pacote IPv6, os roteadores não precisarão se preocupar com o cálculo do tamanho do cabeçalho, e nem com as tabelas de fragmentação, que serão realizadas pelos hosts. Todas estas modificações aumentam substancialmente o desempenho dos roteadores, permitindo melhor desempenho para redes de alta velocidade.
Novos recursos para permitir maior segurança na rede foram descritos, assim como uma nova estrutura interna de endereçamento, podendo agora os endereços terem campos em seu conteúdo. Este novo tipo de estrutura afeta de forma direta os novos tipos de roteamento. A tabela abaixo, conforme citada em http://www.cisco.com.br/ipv6, mostra um quadro comparativo entre os dois protocolos.
Endereçamento IPv6
A principal diferença entre o endereçamento do IPv4 e do IPv6 é o tamanho: endereços IPv4 possuem 32 bits de tamanho, enquanto endereços IPv6 possuem 128 bits. Porém esta não é a única diferença no endereçamento destes protocolos. Enquanto os endereços IPv4 são dividido em apenas duas ou três partes variáveis para serem distribuidos e localizados (um identificador de rede, um identificador de nodo e, às vezes, um identificador de sub-rede), os endereços IPv6 são grandes o suficiente para suportarem uma nova idéia - a idéia de campos dentro do endereço.
Há três tipos de endereços IPv6: o unicast, o multicast e o anycast. Os endereços unicast e multicast são similares com os da versão IPv4; o endereço broadcast existente no IPv4 deixa de existir, enquanto um novo tipo de endereçamento é criado: o anycast.
Representação do Endereçamento IPv6
Para que possa haver uma compreensão de como são representados os endereços IPv6, é necessário que primeiro se observe alguns dados sobre a represntação dos endereços IPv4.
Os endereços IPv4 são representados em quatro partes, com valores delimitados, ou seja, , quatro números separados por pontos. Por exemplo, todos os endereços da figura abaixo são IPv4 válidos, representados por inteiros decimais:
| 10.5.3.1 127.0.0.1 201.199.244.101 |
| CDCD:910A:2222:5498:8475:1111:3900:2020 1030:0:0:0:C9B4:FF12:48AA:1A2B 2000:0:0:0:0:0:0:1 |
Apenas 15 % de todo espaço IPv6 está alocado, ficando os outros 85% restantes para uso futuro. Devido a esta pré-alocação, será comum endereços com uma longa seqüência de bits zero. Neste caso, a especificação permite "suprimir" estes zero. Em outras palavras, o endereço "2000:0:0:0:0:0:0:1" pode ser representado como "2000::1".
O dois pontos indica que o endereço será expandido em um endereço de 128 bits. O método substitui zeros somente quando eles estiverem em grupos de 16 bits, e os dois pontos pode ser usado apenas uma vez por endereço.
A terceira opção é útil quando se deseja juntar endereços IPv4 com endereços IPv6. Os últimos 32 bits de um endreneço IPv6 podem ser usados para referenciar um endereço IPv4, sendo expressados da seguinte forma: X:X:X:X:X:X:d.d.d.d, onde "X" representa um inteiro de 16 bits e "d" representa um inteiro decimal.
Por exemplo, o endereço "0:0:0:0:0:0:10.0.0.1" é um endereço IPv4 válido. Combinando ambos os métodos alternativos de representação, este endereço pode ser represesentado como "::10.0.0.1".
Pelo fato dos endereços IPv6 serem quebrados em duas partes - um prefixo indicando sub-rede e um identificador de interface - espera-se que um nodo com endereçamento IPv6 seja representado indicando qual parte deve ser mascarada, para fins de roteamento, de maneira similar ao que é feito em endereços do tipo CIDR (Classless Interdomain Routing). Em outras palavras, um nodo de endereço IPv6 indica um tamanho de prefixo, separado do endereço IPv6 por uma barra, como o da figura abaixo, por exemplo. Este endereço indica que os primeiros 60 bits referem-se ao prefixo, com o propósito de roteamento.
| 1030:0:0:0:C9B4:FF12:48AA:1A2B/60 |
Endereços Especiais e Reservados
O primeiros 0,03% dos endereços IPv6, todos os endereços que comecem com os bits 0000 0000, são considerados endereços reservados. Muito do espaço reservado ainda está vazio, porém ainda serão muitos os endereços reservados que deverão ser encontrados daqui para a frente. Estes tipos de endereços incluem:
- Endereço não especificado. Este endereço possui zeros em toda a sua extensão. Ele é útil quando precisamos de um endereço que não seja válido, como por exemplo, quando um host acessa uma rede pela primeira vez, e não tem um endereço IP assossiado a ele, precisando tem um endereço origem para fazer uma requisição de configuração. Este endereço é representado como 0:0:0:0:0:0:0:0, ou de forma abreviada, ::, como explicado na sessão anterior.
- Endereço de loopback: No IPv4, o endereço de loopback é definido como 127.0.0.1; qualquer pacote endereçado a ele seria enviado a interface de rede - porém sem ser transmitido pelo link da rede. Endereços de loopback são úteis para testes de softwares, assim como configurações. O endereço IPv6 de loopback é formado inteiramente por zeros, com excesão do último bit, que é 1. Em outras palavras, o endereço de loopback ficaria representado da seguinte maneira: 0:0:0:0:0:0:0:1, ou simplesmente ::1.
- Endereço IPv6 carregando endereço IPv4: Existem dois tipos destes endereços, um permite que nodos IPv6 acessem nodos IPv4 que não suportam IPv6, enquanto que outro permite que roteadores IPv6 possam fazer um túnel para enviar pacotes IPv6 utilizando a rede IPv4.
Endereços Multicast
Como os endereços do tipo broadcast, endereços multicast são particularmente úteis em redes locais ethernet, quando todos os nodos devem receber a transmissão enviada. No caso do broadcast, cada nodo verifica no datagrama recebido o endereço destino, e se este for um endereço de broadcast, o nodo receberá o restante da transmissão. Um endereço de broadcast indica que cada nodo da rede deve receber a mensagem enviada. Multicast, no entanto, é um pouco diferente: o nodo deve se inscrever em um endereço multicast e, ao receber um datagrama percebe que o endereço destino é um endereço multicast, verifica se está inscrito neste endereço e pode receber o datagrama.Uma importante razão para o sucesso dos endereços IP é que eles não são encaminhados de forma indiscriminada para todos os nodos de um conjunto de redes (veja-se como exemplo a internet). Caso isto acontecesse seria um caos. Esta é a razão do porquê os endereços broadcast não são encaminhados para outras redes pelos roteadores. Entretanto, com o multicast, pode-se selecionar pacotes a serem encaminhados adiante, para roteadores que estão inscritos em endereços multicast e que têm insteresse em recebê-los.
Quando um nodo inscreve-se em um endereço multicast, ele anuncia que deseja ser um membro daquele endereço, e algum roteador local será inscrito como interessado para receber os pacotes indicados àquele endereço. Quando uma transmissão é enviada para um endereço multicast vindo de outro nodo que está na mesma rede, o pacote multicast é encapsulado dentro de uma uma unidade de transmissão de dados multicast. Na ethernet, a unidade encapsulada é um endereço que é enviado para um endereço de multicast ethernet; em outros tipos de redes que usam circuitos ponto a ponto para todas as transmissões (como ATM), o pacote será transmitido para inscritos da mesma maneira, utilizando para isto um mecanismo em que o servidor transmite o pacote para cada inscrito individual. Multicast fora de redes locais é tratado da mesma maneira: somente sera enviado o pacote ao roteador se este tiver nodos inscritos para receberem o pacote.
Grupos Multicast IPv6
O IPv4 utiliza multicast para enviar dados que necessitam de alta largura de banda para serem enviados a muitos nodos, como o caso de videoconferência ou distribuição de notícias financeiras e cotas de estoque. Outras aplicações são possíveis, com muitas novas possibilidades, juntando-se a idéia de endereços multicast, com a possibilidade de alterar o campo scop. Muitos dos já conhecidos endereços multicast incluem em seus grupos roteadores, serviços DHCP, serviços de audio e vídeo, serviços de jogos pela rede, e muitos outros, conforme descrito em [RFC2375].
Para ilustrar, supondo que se deseja trabalhar com o identificador de grupo multicast para "todos os servidores DHCP". Este grupo é representado pelo identificador 1:3. Quando usado, marcando a abrangência para dois, representando a distância de tipo link local, o resultado do endereço multicast será "FF02:0:0:0:0:0:1:3", podendo ser usado para pegar um endereço IP sendo de qualquer lugar onde estiver o nodo na rede. Isto porque o servidor DHCP estará inscrito em um endereço multicast, fazendo com que ao receber o pacote vindo do host originário, envie um endereço IPv6 válido, com o intuito de auto-configuração. Este tipo de aplicação torna-se extremamente útil para proprietários de computadores portáteis.
RPM
Revolutions (ou Rotations) Per Minute, o número de rotações por minuto de um disco rígido ou outro tipo de disco. Quanto maior for o número de rotações, mais rápido os dados armazenados poderão ser lidos.
RPM (2)
Este é o formato de pacote originalmente utilizado pelo Red Hat Linux, mas que vem tornando-se um padrão para um número cada vez maior de distribuições. Os pacotes RPM contém programas ou arquivos, que podem ser facilmente instalados através de um gerenciador de pacotes fornecido junto com a distribuição. Em geral basta apenas clicar sobre o pacote para chamar o gerenciador de pacotes e iniciar a instalação.
RTFM
Esta é uma frase não muito educada usada em grupos de discussão em afins como um protesto conta quem não se dispõe sequer a dar uma olhada no manual ou na documentação disponível sobre um determinado assunto antes de fazer uma pergunta básica. RTFM significa “Read the Fu***ng Manual', equivale ao LPDM (“Leia a p*** do manual') que é a versão aportuguesada do protesto.
RPM (2)
Este é o formato de pacote originalmente utilizado pelo Red Hat Linux, mas que vem tornando-se um padrão para um número cada vez maior de distribuições. Os pacotes RPM contém programas ou arquivos, que podem ser facilmente instalados através de um gerenciador de pacotes fornecido junto com a distribuição. Em geral basta apenas clicar sobre o pacote para chamar o gerenciador de pacotes e iniciar a instalação.
RTFM
Esta é uma frase não muito educada usada em grupos de discussão em afins como um protesto conta quem não se dispõe sequer a dar uma olhada no manual ou na documentação disponível sobre um determinado assunto antes de fazer uma pergunta básica. RTFM significa “Read the Fu***ng Manual', equivale ao LPDM (“Leia a p*** do manual') que é a versão aportuguesada do protesto.
Correção de erros
Por melhor que seja sua qualidade, nenhuma mídia magnética é 100% confiável (como pode confirmar quem já teve o desprazer de trabalhar com disquetes ;). Pequenas falhas na superfície da mídia podem levar a erros de leitura, sobretudo quando ela possui uma densidade de gravação de mais de 100 gigabits por polegada quadrada e gira a 7.200 RPM ou mais, como nos HDs atuais.
Isso não significa que o seu HD vá pifar amanhã, mas que são comuns erros na leitura de um setor ou outro. Obviamente, como todos os nossos dados importantes são guardados no disco rígido, a possibilidade de erros na leitura de "um setor ou outro" não seria aceitável, principalmente no caso de máquinas destinadas a operações críticas. Imagine se, nesse "setor ou outro" do servidor de um grande banco, estivessem gravados os dados referentes à conta bancária de um cliente importante, por exemplo.
De modo a tornar os HDs uma forma de armazenamento confiável, os fabricantes utilizam sistemas de ECC para detectar e corrigir erros de leitura eventualmente encontrados. O ECC é o mesmo sistema utilizado em módulos de memória destinados a servidores e também em CD-ROMs, onde são usados nada menos do que 276 bytes de códigos de correção de erros para cada setor de 2048 bytes.
Em um HD, cada setor armazena, além dos 512 bytes de dados, mais algumas dezenas de bytes contendo os códigos ECC. A criação dos bytes de ECC, assim como sua utilização posterior é feita pela placa lógica, um processo automático que é feito de forma completamente transparente ao sistema operacional.
Quando um setor é lido pela cabeça de leitura, juntamente com os dados são lidos alguns dos códigos ECC, que visam apenas verificar se os dados que estão sendo lidos são os mesmos que foram gravados, uma técnica que lembra o sistema de paridade antigamente usado na memória RAM. Caso seja verificado um erro, são usados os demais códigos para tentar corrigir o problema. Na grande maioria dos casos, esta primeira tentativa é suficiente. Estes erros transitórios, que são corrigidos com a ajuda dos códigos ECC são chamados de "soft errors" e não causam nenhum efeito colateral além de um delay de alguns milissegundos na leitura.
Caso não seja possível corrigir o erro usando o ECC, a controladora faz uma nova tentativa de leitura do setor, pois é grande a possibilidade do erro ter sido causado por alguma interferência ou instabilidade momentânea. Caso o erro persista, ela fará várias tentativas sucessivas, reduzindo a velocidade de rotação dos discos e comparando o resultado de várias leituras, de forma a tentar recuperar os dados gravados no setor. Esse processo gera aquele ruído característico de HD sendo "mastigado" e quase sempre indica o aparecimento de um badblock.
Isso não significa que o seu HD vá pifar amanhã, mas que são comuns erros na leitura de um setor ou outro. Obviamente, como todos os nossos dados importantes são guardados no disco rígido, a possibilidade de erros na leitura de "um setor ou outro" não seria aceitável, principalmente no caso de máquinas destinadas a operações críticas. Imagine se, nesse "setor ou outro" do servidor de um grande banco, estivessem gravados os dados referentes à conta bancária de um cliente importante, por exemplo.
De modo a tornar os HDs uma forma de armazenamento confiável, os fabricantes utilizam sistemas de ECC para detectar e corrigir erros de leitura eventualmente encontrados. O ECC é o mesmo sistema utilizado em módulos de memória destinados a servidores e também em CD-ROMs, onde são usados nada menos do que 276 bytes de códigos de correção de erros para cada setor de 2048 bytes.
Em um HD, cada setor armazena, além dos 512 bytes de dados, mais algumas dezenas de bytes contendo os códigos ECC. A criação dos bytes de ECC, assim como sua utilização posterior é feita pela placa lógica, um processo automático que é feito de forma completamente transparente ao sistema operacional.
Quando um setor é lido pela cabeça de leitura, juntamente com os dados são lidos alguns dos códigos ECC, que visam apenas verificar se os dados que estão sendo lidos são os mesmos que foram gravados, uma técnica que lembra o sistema de paridade antigamente usado na memória RAM. Caso seja verificado um erro, são usados os demais códigos para tentar corrigir o problema. Na grande maioria dos casos, esta primeira tentativa é suficiente. Estes erros transitórios, que são corrigidos com a ajuda dos códigos ECC são chamados de "soft errors" e não causam nenhum efeito colateral além de um delay de alguns milissegundos na leitura.
Caso não seja possível corrigir o erro usando o ECC, a controladora faz uma nova tentativa de leitura do setor, pois é grande a possibilidade do erro ter sido causado por alguma interferência ou instabilidade momentânea. Caso o erro persista, ela fará várias tentativas sucessivas, reduzindo a velocidade de rotação dos discos e comparando o resultado de várias leituras, de forma a tentar recuperar os dados gravados no setor. Esse processo gera aquele ruído característico de HD sendo "mastigado" e quase sempre indica o aparecimento de um badblock.
O que provoca o "Dispositivo de inicialização inacessível" Stop 0x0000007B Erro?
Um erro de parada inacessível boot dispositivo pode ser causada por qualquer um dos seguintes e, normalmente, associada a um erro no sistema operacional Windows ou upgrade de hardware. Algumas causas comuns podem incluir: * Um vírus de setor de inicialização * Registro do Windows corrompido * Atualizando a placa-mãe do seu computador Nem todos os erros do dispositivo de boot inacessíveis são causadas pelo sistema operacional.
Algumas causas comuns podem incluir:* Um vírus de setor de inicialização
* Registro do Windows corrompido
* Atualizando a placa-mãe do seu computador
Nem todos os erros do dispositivo de boot inacessíveis são causadas pelo sistema operacional.
* Mover um disco de inicialização de um computador para outro
* Mau ou parcialmente ligados os cabos de dados
* Setores defeituosos no disco rígido
* Aumento ou queda de energia
A solução mais recomendada para este erro de inicialização do dispositivo é inacessível para formatar o disco rígido e executar uma reinstalação limpa do sistema operacional.
Há um problema com esta recomendação ... Você perderá seus dados! Você só deve reinstalar ou formatar o disco rígido se você estiver absolutamente certo que você não precisa de nenhum dos arquivos (você só pode ser certeza que depois de verificar o seu backups).
Clientes e técnicos tanto que pensei que tinha feito backup ou salvar seus dados de um disco rígido apenas para perceber que após a formatação, havia arquivos que não tivessem sido salvas ou não foram incluídos na sessão de backup.
Na maioria dos casos, os dados podem ser recuperados depois de um disco rígido tenha sido formatado ou após uma nova instalação do sistema operacional tenha sido realizada. No entanto, há sempre um risco que todos os seus dados podem não ser recuperáveis, especialmente se o drive foi usado após o formato ou reinstalar.
Crie o seu próprio CD de instalação do Windows XP SP3!
Quem vira e mexe está reinstalando o Windows XP no computador já deve estar saturado de precisar instalar programas, atualizações e definir preferências todas as vezes. Em se tratando de atualizações do Windows o problema é ainda mais grave, já que muitos usuários possuem as primeiras versões dos CDs de instalação do Windows XP, SP1 e SP2, e de lá pra cá, foi lançada uma quantidade imensa de atualizações pela Microsoft, inclusive o atual Service Pack 3 (SP3).
Como o Service Pack 3 se integra aos arquivos de instalação do Windows XP, um CD-R será o suficiente para gravar os arquivos posteriormente. No entanto, caso você pretenda incluir outras coisas, como programas e drivers da máquina, é possível que seja necessária a utilização de um DVD-R. Outro ponto importante é idioma do Service Pack 3, que deve ser o mesmo do sistema operacional em questão. O link citado acima aponta para a versão em português (Brasil). Para a versão em inglês, clique aqui.
Mãos à obra!
O nLite se caracteriza por facilitar todo o processo de criação, apresentando um passo-a-passo muito prático e suporte integral ao nosso idioma. Inicie o programa e verá uma tela como esta abaixo:
Na caixa Language, clique e selecione o idioma a ser utilizado no processo a ser desenvolvido — Portuguese (Brasileiro), no nosso caso. O idioma do nLite será alterado no ato da seleção. Clique em Próximo, no rodapé da tela, para prosseguir.
Na tela seguinte você deve selecionar o local do CD de instalação do Windows XP. Em seguida, o programa irá lhe solicitar a criação de uma pasta, local para onde os arquivos do CD serão copiados. Na imagem abaixo, a pasta utilizada se chama “temp” e foi criada na Área de Trabalho do usuário corrente.
O processo de cópia pode levar alguns minutos, dependendo da configuração do seu computador. Ao término, como mostra a figura acima, serão apresentadas as informações referentes à versão do Windows XP a ser usado e o botão Próximo será disponibilizado no rodapé da tela. Clique sobre ele.
Agora é exibido um relatório sobre os últimos trabalhos realizados no nLite. Como se trata do nosso primeiro CD, nada será exibido. Clique em Próximo para continuar.
Este passo é o mais simples de todos. Aqui você seleciona os itens que irá adicionar à nova instalação do Windows. No nosso caso, será necessária apenas a opção Service pack integrado. Agora, se você não pretende gravar o arquivos gerados em um CD ou pretende utilizar um outro software de gravação para “queimar” o CD, marque a opção Criar uma imagem iso auto executável. Ao término, a tela ficará com esse aspecto:
Clicando em Próximo, lhe será solicitado o arquivo do Service Pack a ser integrado. Clique sobre o botão Selecione e escolha o arquivo do Service Pack 3 que você baixou. Assim que selecioná-lo, algumas janelas poderão ser exibidas indicando a integração dos arquivos. Ao término, clique sobre o botão Próximo.
Enfim a tela onde tudo será finalizado. Na caixa geral, selecione os seguintes parâmetros para a gravação em disco: Modo -> Gravação direta e, logo abaixo, Nome da iso -> Windows_SP3. Os demais campos são preenchidos automaticamente pelo nLite. Se você for criar uma imagem ISO, selecione Modo -> Criar imagem, na terceira caixa clique em Criar iso, especifique o local e o nome do arquivo e, por fim, em Salvar.
Quando o processo de criação terminar, clique em Próximo e depois em Finalizar. Agora você já pode utilizar seu novo CD de instalação do Windows com o Service Pack 3!
Para evitar esse trabalho excessivo, existe um software no mercado chamado nLite. Ele é um aplicativo que possibilita ao usuário criar seu próprio CD de instalação do Windows XP, como incluir atualizações e programas, automatizar processos e predefinir configurações. Visando facilitar a vida do usuário, a equipe do Baixaki resolver expor aqui um guia prático de como criar seu próprio CD de instalação do Windows XP com o SP3!
Você vai precisar de:
Você vai precisar de:
- O CD de instalação do Windows XP.
- Um CD-R “virgem”.
- O aplicativo nLite instalado. Clique aqui para baixá-lo.
- Arquivo de instalação do Service Pack 3. Clique aqui para baixá-lo.
Como o Service Pack 3 se integra aos arquivos de instalação do Windows XP, um CD-R será o suficiente para gravar os arquivos posteriormente. No entanto, caso você pretenda incluir outras coisas, como programas e drivers da máquina, é possível que seja necessária a utilização de um DVD-R. Outro ponto importante é idioma do Service Pack 3, que deve ser o mesmo do sistema operacional em questão. O link citado acima aponta para a versão em português (Brasil). Para a versão em inglês, clique aqui.
Mãos à obra!
O nLite se caracteriza por facilitar todo o processo de criação, apresentando um passo-a-passo muito prático e suporte integral ao nosso idioma. Inicie o programa e verá uma tela como esta abaixo:
Na caixa Language, clique e selecione o idioma a ser utilizado no processo a ser desenvolvido — Portuguese (Brasileiro), no nosso caso. O idioma do nLite será alterado no ato da seleção. Clique em Próximo, no rodapé da tela, para prosseguir.
Na tela seguinte você deve selecionar o local do CD de instalação do Windows XP. Em seguida, o programa irá lhe solicitar a criação de uma pasta, local para onde os arquivos do CD serão copiados. Na imagem abaixo, a pasta utilizada se chama “temp” e foi criada na Área de Trabalho do usuário corrente.
O processo de cópia pode levar alguns minutos, dependendo da configuração do seu computador. Ao término, como mostra a figura acima, serão apresentadas as informações referentes à versão do Windows XP a ser usado e o botão Próximo será disponibilizado no rodapé da tela. Clique sobre ele.
Agora é exibido um relatório sobre os últimos trabalhos realizados no nLite. Como se trata do nosso primeiro CD, nada será exibido. Clique em Próximo para continuar.
Este passo é o mais simples de todos. Aqui você seleciona os itens que irá adicionar à nova instalação do Windows. No nosso caso, será necessária apenas a opção Service pack integrado. Agora, se você não pretende gravar o arquivos gerados em um CD ou pretende utilizar um outro software de gravação para “queimar” o CD, marque a opção Criar uma imagem iso auto executável. Ao término, a tela ficará com esse aspecto:
Clicando em Próximo, lhe será solicitado o arquivo do Service Pack a ser integrado. Clique sobre o botão Selecione e escolha o arquivo do Service Pack 3 que você baixou. Assim que selecioná-lo, algumas janelas poderão ser exibidas indicando a integração dos arquivos. Ao término, clique sobre o botão Próximo.
Enfim a tela onde tudo será finalizado. Na caixa geral, selecione os seguintes parâmetros para a gravação em disco: Modo -> Gravação direta e, logo abaixo, Nome da iso -> Windows_SP3. Os demais campos são preenchidos automaticamente pelo nLite. Se você for criar uma imagem ISO, selecione Modo -> Criar imagem, na terceira caixa clique em Criar iso, especifique o local e o nome do arquivo e, por fim, em Salvar.
Quando o processo de criação terminar, clique em Próximo e depois em Finalizar. Agora você já pode utilizar seu novo CD de instalação do Windows com o Service Pack 3!
Subscrever:
Mensagens (Atom)