Usando e Construindo
Aplicações Internet:
iniciando com aplicações e
escrevendo programas que se
comunicam através da Internet
Sumário do Capítulo
1.1 Crescimento das Redes de Computadores 33 1.2 Complexidade em Sistemas de Rede 34 1.3 Dominando a Complexidade 34 1.4 Conceitos e Terminologia 34 1.5 O Valor da Experiência Prática 34 1.6 Organização do Livro 35
1.1 Crescimento das redes de computadores
As redes de computadores têm crescido explosivamente. Há duas décadas, poucas pessoas tinham acesso a uma rede. Agora, a comunicação via computador transformou-se em uma parte essencial da infra-estrutura de todos. A ligação de computadores em rede é usada em cada aspecto dos negó-cios, incluindo propaganda, produção, transporte, planejamento, faturamento e contabilidade. Con-seqüentemente, a maioria das corporações tem múltiplas redes. As instituições de ensino, em todos os níveis, do fundamental ao pós-graduação, estão utilizando redes de computadores para fornecer a estudantes e professores acesso instantâneo a informações em bibliotecas on-line em todo o mun-do. Escritórios governamentais em níveis federal, estadual e municipal utilizam redes, assim como organizações militares. Em resumo, as redes de computadores estão em toda parte.
O crescimento contínuo da Internet global é um dos fenômenos mais interessantes e excitantes em redes. Há pouco mais de vinte anos, a Internet era um projeto de pesquisa que envolvia algu-mas dúzias de sites. Hoje, ela cresceu e se tornou um sistema de comunicação produtivo que al-cança milhões de pessoas em todos os países do mundo. Nos Estados Unidos, a Internet conecta a maioria das corporações, faculdades e universidades, assim como escritórios federais, estaduais e municipais. Também alcança a maioria das escolas. Além disso, muitas residências têm acesso à Internet através das conexões de linha discada, cable-modens, DSL e tecnologias sem fio. Uma prova do impacto da Internet na sociedade pode ser percebida nas propagandas em revistas e na televisão, que freqüentemente contêm referências a sites da Web que fornecem informações adi-cionais sobre os produtos e serviços dos anunciantes.
O crescimento das ligações de computadores em rede tem também um impacto econômico. As re-des de dados têm disponibilizado o telecommuting aos indivíduos e mudaram a comunicação no mundo dos negócios. Além disso, uma indústria inteira surgiu e desenvolve produtos, serviços e tecnologias de rede. A popularidade e a importância das redes de computadores têm produzido uma forte demanda em todos os empregos para pessoas com maior conhecimento sobre o assun-to. As empresas necessitam de empregados para planejar, adquirir, instalar, operar e gerenciar os sistemas de hardware e software que fazem redes de computadores e inter-redes. Além disso, a pro-gramação computacional não é mais restrita a computadores individuais; espera-se que os progra-madores projetem e executem software aplicativo que possa se comunicar com o software em ou-tros computadores.
1.2 Complexidade em sistemas de rede
A ligação de computadores em rede é um assunto complexo. Existem muitas tecnologias, e cada uma possui características que a distingue das outras. Muitas organizações criaram, independen-temente, padrões de ligação em rede que não são totalmente compatíveis. Muitas empresas cria-ram produtos comerciais e serviços de ligação em rede que usam as tecnologias de maneiras não-convencionais. Finalmente, a ligação em rede é complexa porque existem múltiplas tecnologias que podem ser usadas para interconectar duas ou mais redes. Como conseqüência, são possíveis mui-tas combinações de redes.
A ligação de computadores em rede pode ser especialmente confusa para um novato porque não há nenhuma teoria de base que explique o relacionamento entre todas as partes. Várias organizações e grupos de pesquisa têm tentado definir os modelos conceituais que podem ser usados para expli-car as diferenças e similaridades entre hardware de rede e sistemas de software. Infelizmente, o conjunto de tecnologias é diverso e está mudando rapidamente; os modelos são tão simples que não distinguem os detalhes ou tão complexos que não ajudam a facilitar o assunto.
A falta de uma teoria de embasamento produziu um outro desafio para os novatos: não há uma ter-minologia simples e uniforme para os conceitos sobre ligação de computadores em rede. Uma vez que várias organizações definem tecnologias e padrões sobre ligação em rede, existem vários termos pa-ra um dado conceito. Os profissionais freqüentemente usam um termo técnico de uma tecnologia ao se referirem a uma característica análoga de outra tecnologia. E os termos técnicos são confundidos às vezes com nomes de produtos populares. Assim, além de um grande conjunto de termos e de si-glas que contêm muitos sinônimos, o jargão da ligação em rede contém termos que são freqüente-mente abreviados, mal-empregados ou associados a produtos.
1.3 Dominando a complexidade
Para dominar a complexidade, deve-se olhar para além dos detalhes e concentrar-se em entender os conceitos. Por exemplo, embora não seja importante compreender os detalhes sobre os fios usa-dos para conectar computadores a uma rede específica, é importante entender as poucas categorias básicas de esquemas de fiação e as vantagens de cada um. Similarmente, embora não seja impor-tante aprender os detalhes de como um protocolo de comunicação particular trata uma rede con-gestionada, é importante saber o que é congestionamento e porque ele deve ser tratado.
1.4 Conceitos e terminologia
Este livro foi escrito para ajudar a superar a complexidade, concentrando-se em conceitos e evi-tando detalhes desnecessários. Explica a finalidade de cada tecnologia de ligação em rede, apre-senta suas vantagens e desvantagens e descreve algumas das conseqüências ao usá-las. Sempre que possível, são utilizadas analogias e ilustrações para simplificar as explicações.
Além de cobrir os conceitos e as tecnologias, o livro apresenta terminologia sobre ligação de com-putadores em rede. Quando é apresentado um conceito novo, sua terminologia é definida. O livro também mostra as abreviaturas e os sinônimos populares utilizados pelos profissionais. A termi-nologia está resumida em um glossário no Apêndice 1, que serve como uma referência rápida pa-ra os muitos termos e siglas definidas ao longo do livro.
1.5 O valor da experiência prática
Este texto fornece uma visão abrangente do material essencial para o iniciante; conhecimento aprofundado resulta somente da experiência pessoal. Portanto, os leitores são fortemente recomen-dados a ganhar tanta experiência prática quanto for possível com softwares e hardwares de redes.
1.6 Organização do livro
O texto começa com capítulos que introduzem aplicativos e programação de redes. Leitores que têm acesso a um computador são encorajados a construir e usar aplicativos que utilizem a In-ternet enquanto prosseguem com a leitura. As quatro partes do livro que seguem os capítulos so-bre aplicativos explicam como as tecnologias subjacentes funcionam. A primeira parte descreve a transmissão de dados. Ela explica que, no nível mais baixo, são usados sinais elétricos que viajam através dos fios para carregar informações e mostra como os dados podem ser codifica-dos usando sinais elétricos. Os capítulos da primeira parte não fornecem detalhes para enge-nheiros que projetam hardware de ligação em rede. Em vez disso, fornecem descrições gerais dos princípios e das realidades práticas da transmissão de dados e de suas conseqüências para as re-des de computadores.
A segunda parte do livro se concentra na transmissão de pacotes. Explica porque as redes de com-putadores usam pacotes e mostra como são agrupados dados em pacotes para transmissão. Essa seção introduz as duas categorias básicas de redes de computadores: Redes Locais (Local Area
Net-works, LANs) e Redes de Longo Alcance (Wide Area NetNet-works, WANs). Explica as diferenças entre
as duas e revisa exemplos de tecnologias. Finalmente, discute os conceitos importantes de endere-çamento e roteamento, explicando como uma rede roteia um pacote a seu destino.
A terceira parte do livro cobre a ligação inter-redes – a idéia importante que permite que as tecno-logias heterogêneas de rede sejam combinadas em um grande sistema integrado de comunicação. O livro explica TCP/IP, a tecnologia do protocolo usada na Internet global.
A quarta parte do livro retorna às aplicações da ligação de computadores em rede. Os capítulos começam explicando o modelo cliente-servidor de interação. Capítulos posteriores usam o mo-delo para explicar como programas aplicativos fornecem serviços como correio eletrônico e na-vegação na Web.
1.7 Resumo
O grande conjunto de tecnologias, produtos e esquemas de interconexão torna a ligação em rede um assunto complexo. Muitas organizações têm definido padrões competitivos, e a maioria das re-des incorpora componentes que usam padrões múltiplos. Além disso, não existe uma teoria que possa ser usada para explicar como as partes se encaixam. Conseqüentemente, a terminologia e o jargão usados na ligação em rede são complexos e confusos. Para dominar tal complexidade, é im-portante enfatizar a compreensão dos conceitos e da terminologia.
A obra, que enfatiza a conceituação, cobre todos os aspectos da ligação de computadores em redes: desde as aplicações comuns até os detalhes de baixo nível sobre ligações e sinais. Explica como as tecnologias são usadas para formar a Internet. O livro de acompanhamento, Hands-On
Networ-king, contém um conjunto de projetos que examinam as tecnologias de rede disponíveis e
forne-cem experiência prática ao leitor.