Escolar Documentos
Profissional Documentos
Cultura Documentos
Comer
Redes de
Computadores
e Internet
6ª EDIÇÃO
O autor
Dr. Douglas Comer é um internacionalmente reconhecido especialista em redes de com-
putadores, protocolos TCP/IP e Internet. Foi um dos pesquisadores que contribuíram
com a formação da Internet no fim dos anos 1970 e nos anos 1980, sendo membro do In-
ternet Architecture Board, o grupo responsável por guiar o desenvolvimento da Internet.
Também foi presidente do comitê técnico CSNET, membro do comitê executivo CSNET
e presidente do Distributed Systems Architecture Board da DARPA (Defense Advanced
Research Projects Agency). Foi ainda Vice-Presidente de Pesquisa na Cisco Systems.
Comer é consultor de projeto de redes de computadores para empresas e palestran-
te frequente em ambientes acadêmicos e profissionais ao redor do mundo. Seu sistema
operacional, Xinu, e a implementação de protocolos TCP/IP (ambos documentados em
seus livros) são utilizados em produtos comerciais. É professor honorário de Ciências
da Computação na Purdue University, onde leciona redes de computadores, redes de
internet, arquitetura de computadores e sistemas operacionais. Lá desenvolveu labora-
tórios de informática inovadores que dão aos alunos a oportunidade de ter experiências
práticas na operação de sistemas, redes de computadores e protocolos.
Além de escrever livros técnicos best-sellers, já traduzidos para 16 idiomas, atuou
como editor norte-americano do periódico Software – Practice and Experience por 20
anos. Comer é membro da ACM. Informações adicionais podem ser encontradas em:
www.cs.purdue.edu/homes/comer.
CDU 004.7
Não precisa saber qual cliente vai se conectar Precisa saber a qual servidor se conectar
Espera passivamente um tempo indeterminado pelo Inicia o contato quando a comunicação é necessária
contato do cliente
Comunica-se com o cliente enviando e recebendo Comunica-se com o servidor enviando e recebendo
dados dados
Continua executando após atender um cliente, Pode encerrar após interagir com o servidor
esperando pelo próximo
Software cliente
• Consiste em um programa de aplicação arbitrário que se torna um cliente
temporariamente quando acesso remoto é necessário.
• É invocado diretamente pelo usuário e executa somente durante uma sessão.
• Roda localmente no computador ou dispositivo do usuário.
• Inicia contato ativamente com o servidor.
• Pode acessar múltiplos serviços se necessário, mas usualmente se comunica
com um servidor por vez.
• Não necessita hardware potente.
Software servidor
• Consiste em um programa de propósito especial, com privilégios, dedicado
a fornecer um serviço.
Capítulo 3 Programação em redes e aplicações da Internet 29
conexão Internet
1
O Capítulo 21 trata de endereços IP em detalhes e explica os formatos de endereços em IPv4 e IPv6.
Capítulo 3 Programação em redes e aplicações da Internet 31
Figura 3.4 Passos conceituais de que cliente e servidor necessitam para se comunicar.
2
Alguns sistemas operacionais utilizam o termo thread de execução ou processo para se referir à thread de
controle.
32 Parte I Introdução a redes e aplicações da Internet
mento. Depois de atender o cliente, a thread termina. Enquanto isso, o programa princi-
pal mantém o servidor ativo – após criar a thread para atender à requisição, o programa
principal espera novas conexões.
Note que, se N clientes estão utilizando simultaneamente um servidor concorrente,
haverão N+1 threads sendo executadas: o programa principal esperando conexões e as N
threads interagindo com seus respectivos clientes. Podemos resumir:
Um servidor concorrente utiliza threads de execução para atender a requisições
dos múltiplos clientes ao mesmo tempo. Assim, um cliente pode ser atendido
imediatamente, sem precisar esperar um cliente anterior finalizar sua conexão.
servidor
todo o tráfego ocorre
sobre um único enlace
Internet
A questão que surge é: como serviços da Internet podem ser oferecidos sem criar
um gargalo central? Uma forma de evitar o gargalo é a base das aplicações de compar-
tilhamento de arquivos. Conhecido como arquitetura peer-to-peer (p2p ou par-a-par),
Capítulo 3 Programação em redes e aplicações da Internet 33
A API de sockets, que se tornou o padrão de fato para comunicação via Inter-
net, está disponível na maioria dos sistemas operacionais.
O restante do capítulo descreve funções na API de sockets; leitores que não são progra-
madores podem pular os detalhes.
3
O Apêndice 1 contém uma API simplificada (com somente sete funções) e um código-exemplo que demons-
tra como tal API pode ser utilizada para criar aplicações na Internet, incluindo um servidor Web funcional.
Encerra aqui o trecho do livro disponibilizado para
esta Unidade de Aprendizagem. Na Biblioteca Virtual
da Instituição, você encontra a obra na íntegra.