Você está na página 1de 142

Capitulo 3

Camada de Aplicação
Redes de Computadores

Prof. Júlio César Dillinger Conway, DSc


Camada de Aplicação
Visão Geral de Aplicações

 Escrever programas que


 Executem sobre diferentes sistemas finais
e se comuniquem através de uma rede.
 Ex.: Web – software de servidor Web se
comunicando com software do browser.

Nenhum software é escrito para dispositivos


no núcleo da rede
 Dispositivos do núcleo da rede não
trabalham na camada de aplicação
 Esta estrutura permite um rápido
desenvolvimento de aplicação

Duas arquiteturas mais u]lizadas em


Aplicações modernas:
• Cliente--‐servidor;
• Peer--‐to--‐Peer (P2P).
Arquitetura Cliente-servidor

Servidor:
 Hospedeiro sempre ativo
 Endereço IP permanente
 Fornece serviços solicitados
pelo cliente

Clientes:
 Comunicam-se com o servidor
 Pode ser conectado
intermitentemente
 Pode ter endereço IP dinâmico
 Não se comunicam diretamente uns
com os outros, a princípio

4
Arquitetura P2P pura

 Nem sempre no servidor


 Sistemas finais arbitrários
comunicam-se diretamente
 Pares são intermitentemente
conectados e trocam endereços
IP
 Exemplos de aplicações:
• BitTorrent;
• eMule;
• LimeWire;
• Skype;
• PPLive (aplicação de IPTV).

5
Híbrida de cliente-servidor e P2P
Napster

 Transferência de arquivo P2P


 Busca centralizada de arquivos:
 Conteúdo de registro dos pares no servidor central
 Consulta de pares no mesmo servidor central para localizar o conteúdo

Instant messaging
 Bate-papo entre dois usuários é P2P
 Detecção/localização centralizada de presença:
 Usuário registra seu endereço IP com o servidor central quando fica on-
line
 Usuário contata o servidor central para encontrar endereços IP dos
vizinhos
A base das aplicações é a interação cliente-servidor e a comunicação entre
pares.
6
Comunicação de Processos

 Processo: programa executando num hospedeiro


  Dentro do mesmo hospedeiro: dois processos se comunicam
usando comunicação interprocesso (definido pelo OS)
  Processos em diferentes hospedeiros se comunicam por meio de
troca de mensagens
  Processo cliente: processo que inicia a comunicação
  Processo servidor: processo que espera para ser contatado

Nota: aplicações com arquiteturas P2P


possuem processos cliente e processos
servidor

7
Processos de endereçamento

 Para um processo receber mensagens, ele deve ter um identificador


 Um hospedeiro possui um único endereço IP de 32 bits
 P.: O endereço IP do hospedeiro onde o processo está executando
é suficiente para identificar o processo?
 R.: Não, muitos processos podem estar em execução no mesmo
hospedeiro.
 O identificador inclui o endereço IP e o número da porta associada
ao processo no hospedeiro
 Exemplos de números de porta:
 Servidor HTTP: 80
 Servidor de Correio: 25

8
Portas UDP e TCP

9
Sockets

10
Sockets

 Um processo envia/recebe
mensagens para/de seu socket
 O socket é análogo a uma porta
 O processo de envio empurra a
mensagem para fora da porta
 O processo de envio confia na
infra-estrutura de transporte no
outro lado da porta que leva a
mensagem para o socket no
processo de recepção.
 API: (1) escolha do protocolo de transporte; (2) habilidade
para fixar poucos parâmetros

11
Sockets

12
Os protocolos da Camada de Aplicação

• Tipo das mensagens trocadas, mensagens de requisição e resposta


• Sintaxe dos tipos de mensagem: os campos nas mensagens e como
são delineados
• Semântica dos campos, ou seja, significado da informação nos campos
• Regras para quando e como os processos enviam e respondem às
mensagens
Protocolos de domínio público:
 Definidos nas RFCs
 Ex.: HTTP, SMTP

Protocolos proprietários:
 Ex.: KaZaA
De qual serviço de transporte uma
aplicação necessita?

 Perda de dados
  Algumas aplicações (ex.: áudio) podem tolerar alguma perda
  Outras aplicações (ex.: transferência de arquivos, telnet) exigem
transferência de dados 100% confiável
 Temporização
  Algumas aplicações (ex.: telefonia Internet, jogos interativos)
exigem baixos atrasos para serem “efetivos
 Banda passante
  Algumas aplicações (ex.: multimídia) exigem uma banda mínima
para serem “efetivas”
  Outras aplicações (“aplicações elásticas”) melhoram quando a
banda disponível aumenta”

14
Requisitos de transporte de aplicaçôes comuns

Aplicação Perdas Banda Sensível ao atraso

file transfer sem perdas elástica não


e-mail sem perdas elástica não
Web documents tolerante elástica não
real-time áudio/vídeo tolerante aúdio: 5 Kb-1 Mb sim, 100’s mseg
vídeo:10 Kb-5 Mb
stored áudio/video tolerante igual à anterior sim, segundos
jogos interativos tolerante kbps sim, 100’s mseg
e-business sem perda elástica sim

15
Serviços dos protocolos de transporte da
Internet
 Serviço TCP:
  Orientado à conexão: conexão requerida entre processos cliente e servidor
  Transporte confiável entre os processos de envio e recepção
  Controle de fluxo: o transmissor não sobrecarrega o receptor
  Controle de congestionamento: protege a rede do excesso de tráfego
 Não oferece: garantias de temporização e de banda mínima
 Serviço UDP:
  Transferência de dados não confiável entre os processos transmissor e
receptor
  Não oferece: estabelecimento de conexão, confiabilidade, controle de fluxo e
de congestionamento, garantia de temporização e de banda mínima.

 P.: Por que ambos? Por que existe o UDP?

16
Aplicação e protocolos de transporte da
Internet

Protocolo de Protocolo de
Aplicação aplicação transporte

e-mail smtp [RFC 821] TCP


acesso de terminais remotos telnet [RFC 854] TCP
Web http [RFC 2068] TCP
transferência de arquivos ftp [RFC 959] TCP
streaming multimídia RTP ou proprietário TCP ou UDP
(ex.: RealNetworks)
servidor de arquivos remoto NFS TCP ou UDP
telefonia Internet RTP ou proprietário tipicamente UDP
(ex.: Vocaltec)

17
Aplicações da Internet

DNS – Domain Name System

18
DNS

Imagine acessar os sites de seu interesse


Através do IP*:
• UFOP: 200.131.208.21 (www.ufop.br);
• Terra: 200.154.56.80 (www.terra.com.br);
• UOL: 200.221.2.45 (www.uol.com.br);
• TwiRer: 199.59.150.39 (www.twitter.com);
• Google: 74.125.234.56 (www.google.com.br);
• Google: 74.125.234.49 (www.google.com);

Problemas:
• Se lembrar de cada endereço IP;
• Endereços IP podem mudar;
• Solução:
• Criar um serviço de nomes de alto nível.

19
DNS

20
DNS
 Domain Name System (1980s)
 Banco de dados distribuído utilizado pelas aplicações
TCP/IP para fazer o mapeamento entre os nomes e os
endereços IP
 Esquema de nomes hierárquico, baseado em domínio
 Pode ser visto como um middleware porque ele
preenche um gap entre as aplicações e as outras
camadas da rede
 Normalmente, é utilizado por outras aplicações e não
pelo usuário
 Utiliza UDP na porta 53

21
DNS: Funcionamento Básico

22
DNS
USER
user@cs.princeton.edu
cs.princeton.edu
Servidor Programa
de nome de e-mail
192.12.69.5
192.12.69.5

TCP

192.12.69.5

IP

23
DNS

 Definições
 Espaço de nomes: define o conjunto de nomes
possíveis
 Registro de recursos: define os campos do banco
de dados DNS
 Servidores de nome: contém registros de recursos
e está preparado para receber requisições
 Resolvedor: é o processo presente na máquina do
usuário que faz as requisições aos servidores de
nome

24
DNS: Registro de Recursos

25
Espaço de Nomes

 O endereçamento na Internet é dividido em domínios

 Domínios podem ser divididos em sub-domínios, etc.

 Nomes de domínio são insensíveis ao case: Edu =


edu = EDU

 Para criar um novo domínio, a permissão deve ser


requisitada ao domínio sob o qual será feita a inclusão

26
Espaço de Nomes

Um pedaço do espaço de nomes de


domínio da Internet

27
Espaço de Nomes
 Domínios de primeiro nível
 Genéricos: com (comerciais), edu (instituições
educacionais), gov (governo americano), int
(algumas organizacoes internacionais), mil (militar
americano), net (provedores), org (organizações
não governamentais), biz (negócios), info
(informação), name (nomes de pessoas), pro
(profissões), aero (indústrias aeroespaciais), coop
(cooperativas), museum (museus)

 Países: uma entrada para cada país

28
Servidores de Nomes

29
Servidores de Nomes

Espaço de nomes divido em zonas

30
Servidores de Nomes

 Mapeamento:
 Um procedimento chamado resolver é
invocado passando como parâmetro o
nome do computador
 Resolver envia um pacote UDP para o
servidor DNS local que procura pelo nome
e retorna o endereço IP para o resolver que
retorna para quem o invocou

31
Servidores de Nomes: Exemplo
de resolução de nome:

32
DNS: servidores de nomes raiz
  São contatados pelos servidores de nomes locais que não podem resolver um nome
 Servidores de nomes raiz:
 Buscam servidores de nomes autorizados se o mapeamento do nome não for
conhecido
 Conseguem o mapeamento
 Retornam o mapeamento para o servidor de nomes local

Existem 13 servidores
de nomes raiz no mundo

33
DNS: servidores de nomes raiz - Cópias

34
Servidores TLD e autoritários

 Servidores top-level domain (TLD): responsáveis pelos domínios


com, org, net, edu etc e todos os domínios top-level nacionais uk, fr,
ca, jp.
  Network Solutions mantém servidores para o TLD “com” TLD
  Educause para o TLD “edu”
 Servidores DNS autoritários: servidores DNS de organizações,
provêm nome de hospedeiro autorizado para mapeamentos IP para
servidores de organizações (ex.: Web e mail).
  Podem ser mantidos por uma organização ou provedor de serviços

35
Servidor de nomes local

 Não pertence estritamente a uma hierarquia


 Cada ISP (ISP residencial, companhia, universidade) possui
um
 Também chamado de “servidor de nomes default”
 Quando um hospedeiro faz uma pergunta a um DNS, a
pergunta é enviada para seu servidor DNS local
 Age como um proxy, encaminhando as perguntas para
dentro da hierarquia

36
Consulta DNS

  O hospedeiro em
cis.poly.edu quer o
endereço IP para
gaia.cs.umass.edu

37
Consulta DNS

Consulta recursiva:(1 e 8)
 Transfere a tarefa de
resolução do nome para o
servidor de nomes
consultado

Consulta encadeada
(iterativa, demais) :
 Servidor contatado
responde com o nome de
outro servidor de nomes
para contato
 “eu não sei isto, mas
pergunte a este servidor”

38
Cache de registros

39
DNS: armazenando e atualizando registros

40
DNS: armazenando e atualizando registros

41
DNS: armazenando e atualizando registros

42
Registros DNS

43
DNS: protocolo e mensagem
 Protocolo DNS: mensagem de consulta e resposta , ambas com o
mesmo formato de mensagem

Cabeçalho da msg
 Identificação: número de
16 bits para consulta,
resposta usa o mesmo
número
 Flags:
 Consulta ou resposta
 Recursão desejada
 Recursão disponível
 Resposta autoritativa

44
DNS: Criando um novo domínio

 Exemplo: empresa recém-criada “Network Utopia”


 Registrar o nome networkuptopia.com num “registrar”
(ex.: Network Solutions, no Brasil registro.br)

 É necessário fornecer ao registrar os nomes e endereços IP do seu


servidor nomes autorizados (primário e secundário)
 Registrar insere dois RRs no servidor TLD do domínio com:

(networkutopia.com, dns1.networkutopia.com, NS)


(dns1.networkutopia.com, 212.212.212.1, A)

 No servidor autorizado, inserir um registro Tipo A para


www.networkuptopia.com e um registro Tipo MX para networkutopia.com
 Como as pessoas obtêm o endereço IP do seu Web site?

45
Mecanismo de Resolução Recursivo

Como resolver o nome linda.cs.yale.edu

46
Criando um domínio
 http://registro.br/index.html no Brasil
 Núcleo de Informação e coordenação do
Ponto br
 R$40,00 por ano(?)
 Nos EUA: ICANN (Internet Corporation for
Assigned Names and Numbers )
 ICANN é responsável pela raiz da árvore

47
Aplicações da Internet

 FTP – File Transfer Protocol

48
FTP: o protocolo de transferência de arquivos

  Transferência de arquivos de e para o computador remoto


  Modelo cliente servidor
  Cliente: lado que inicia a transferência (seja de ou para o lado remoto)
  Servidor: hospedeiro remoto
  FTP: RFC 959
  FTP servidor: porta 21 (IDentificador)

49
FTP: controle separado, conexões de dados

  Cliente FTP contata o servidor FTP na porta 21 especificando o TCP como protocolo
de transporte
  Cliente obtém autorização pela conexão de controle
  Cliente procura o diretório remoto enviando comandos pela conexão de controle
  Quando o servidor recebe um comando para uma transferência de arquivo, ele abre
uma conexão de dados TCP para o cliente
  Após a transferência de um arquivo, o servidor fecha a conexão
  Servidor abre uma segunda conexão de dados TCP para transferir outro arquivo
  Servidor FTP mantém “estado”: diretório atual, autenticação anterior

50
FTP comandos, respostas
 Exemplos de comandos:
  Envie um texto ASCII sobre canal de controle
  USER username
  PASS password
  LIST retorna listagem do arquivo no diretório atual
  RETR filename recupera (obtém) o arquivo
  STOR filename armazena o arquivo no hospedeiro remoto
 Exemplos de códigos de retorno
  Código de status e frase (como no HTTP)
  331 Username OK, password required
  125 data connection already open; transfer starting
  425 Can’t open data connection
  452 Error writing file

51
Aplicações da Internet

 P2P – Peer to Peer


 Aplicações Ponto a Ponto

52
Compartilhamento de arquivos P2P
 USO

 Compartilhamento de arquivos

 Sistema de armazenamento de arquivos em rede

 Transmissão de dados ou overlay multicast

 Computação distribuída

 Colaboração e comunicação entre usuários


53
Compartilhamento de arquivos P2P
 Exemplo
  Alice executa a aplicação cliente P2P em seu notebook
  Intermitentemente, conecta-se à Internet; obtém novos endereços IP
para cada conexão
  pede por “Hey Jude”
  a aplicação exibe outros pares que possuem uma cópia de Hey
Jude.
  Alice escolhe um dos pares, Bob.
  o arquivo é copiado do PC de Bob para o notebook de Alice: HTTP
  enquanto Alice faz o download, outros usuários fazem upload de
Alice.
  o par de Alice é tanto um cliente Web como um servidor Web
transiente.
 Todos os pares são servidores = altamente escaláveis!
54
P2P: diretório centralizado

 Projeto original “Napster”


1) Quando um par se conecta,
ele informa ao servidor
central:
 Endereço IP
 Conteúdo
2) Alice procura por “Hey Jude”
3) Alice requisita o arquivo de
Bob

55
P2P: problemas com diretório centralizado

  Ponto único de falhas


  Gargalo de desempenho
  Infração de copyright

 Transferência de arquivo é descentralizada, mas a localização


de conteúdo é altamente centralizado

56
Query flooding: Gnutella

  Totalmente distribuído
  Sem servidor central
  Protocolo de domínio público
  Muitos clientes Gnutella implementando o protocolo
 Rede de cobertura: gráfico
  Aresta entre o par X e o Y se não há uma conexão TCP
  Todos os pares ativos e arestas estão na rede de sobreposição
  aresta não é um enlace físico
  Um determinado par será tipicamente conectado a <10 vizinhos na
rede de sobreposição

57
Gnutella: protocolo

 Mensagem de consulta
(query) é enviada pelas
conexões TCP existentes
 Os pares encaminham
a mensagem de consulta
 QueryHit (encontro)
é enviado pelo
caminho reverso

Escalabilidade: flooding de alcance limitado

58
Gnutella: conectando pares

 1.Para conectar o par X, ele precisa encontrar algum outro par na rede
Gnutella: utiliza a lista de pares candidatos
 2.X seqüencialmente, tenta fazer conexão TCP com os pares da lista até
estabelecer conexão com Y
 3.X envia mensagem de Ping para Y; Y encaminha a mensagem de Ping.
 4.Todos os pares que recebem a mensagem de Ping respondem com
mensagens de Pong.
 5.X recebe várias mensagens de Pong. Ele pode então estabelecer
conexões TCP adicionais.

59
Aplicações da Internet

 Correio Eletrônico

60
Arquitetura e Serviços

 Funções básicas
• Composição
• Transferência
• Geração de relatórios
• Exibição
• Disposição

61
Correio Eletrônico: Introdução

62
Correio Eletrônico: Introdução

63
O agente usuário

 Envelopes e mensagens. (a) Correio Convencional. (b) Correio eletrônico.

64
Formatos de mensagens

 Os campos do cabeçalho RFC 822 relacionado ao transporte de


mensagens.

65
Formato de mensagens

 Alguns campos usados no cabeçalho de mensagens RFC 822

66
Arquitetura e Serviços

67
Arquitetura e Serviços

68
Arquitetura e Serviços

69
Agente do Usuário

70
Correio Eletrônico

SMTP POP3 IMAP

TCP

IP

Enlace

71
Transferência de Msgs

 SMTP (Simple Mail Transfer Protocol):


 Protocolo utilizado para enviar mensagens
de um host para outro
 SMTP espera conexões TCP na porta 25

72
Transferência de Msgs

Enviando e recebendo mensagem quando o destinatário


possui conexão permanente com a Internet
73
Acesso às Caixas Postais

 Dois protocolos para recebimento de


mensagens
 POP3 (Post Office Protocol Version 3)
 IMAP (Internet Message Access Protocol)

74
POP3

 Protocolo que permite a transferência


das mensagens do servidor de
mensagens (no ISP) para a máquina do
usuário
 POP3 espera conexões TCP na porta
110

75
Acesso a Caixas Postais

Enviando e recebendo mensagem quando o


destinatário possui conexão discada com o ISP

76
IMAP
 IMAP (Internet Message Access Protocol)
 Todas as mensagens permanecem no servidor
indefinidamente em várias caixas de entrada
 Possui mecanismos para criar, remover, manipular
várias caixas de entrada no servidor
 Permite que apenas partes das mensagens sejam
lidas
 IMAP espera conexões TCP na porta 143

77
Formato de Mensagens

78
Formato de Mensagens

79
Formato de Mensagens

80
Formato de Mensagens

81
Formato de Mensagens

82
Formato de Mensagens

83
MIME

 Os tipos e subtipos MIME definidos na RFC 2045

84
MIME

 Uma mensagem em
várias partes contendo
as alternativas de texto
formatado e áudio.

85
Servidores de Correio

 Servidores de correio
  Caixa postal contém
mensagens que chegaram
(ainda não lidas) para o
usuário
  Fila de mensagens contém
as mensagens de correio a
serem enviadas
 Protocolo SMTP permite aos
servidores de correio
trocarem mensagens entre si
  Cliente: servidor de
correio que envia
  “servidor”: servidor de
correio que recebe

86
Transferência de mensagens

87
Transferência de mensagens

88
Transferência de mensagens

89
Entrega Final

90
Entrega Final

91
Entrega Final

92
Transferência de mensagens

 Transferência de uma
mensagem de
elinor@abcd.com para
carolyn@xyz.com.

93
Alice envia mensagem para Bob

 1) Alice usa o agente de usuário (UA) para compor a mensagem e “para”


bob@someschool.edu
 2) O agente de usuário dela envia a mensagem para o seu servidor de
correio; a mensagem é colocada na fila de mensagens.
 3) O lado cliente do SMTP abre uma conexão TCP com o servidor de correio
do Bob.
 4) O cliente SMTP envia a mensagem de Alice pela conexão TCP.
 5) O servidor de correio de Bob coloca a mensagem na caixa de correio de
Bob.
 6) Bob invoca seu agente de usuário para ler a mensagem.

94
Entrega Final

• Leitura no próprio servidor.


• POP3 (TCP 110).
• IMAP (TCP 143).
• Webmail (TCP 80).

95
Entrega Final

 (a) Envio e leitura de correio eletrônico quando o receptor tem uma conexão
permanente da Internet e o agente usuário funciona na mesma máquina em que está
o agente de transferência de mensagens. (b) Leitura do correio eletrônico quando o
receptor tem uma conexão dial-up para um ISP.

96
IMAP

 Uma comparação entre POP3 e IMAP

97
 World Wide Web

98
WWW: Introdução

99
WWW: Introdução

100
WWW: Introdução

101
World Wide Web

HTTP

TCP

IP

Enlace

102
World Wide Web
 A web consiste em vasta coleção de
documentos ou páginas
 Cada página contém links para outras páginas
 As páginas são descritas em html e são
visualizadas por um programa cliente
chamado de navegador (browser)
 Cliente se comunica com o servidor Web
através do protocolo http

103
Visão geral da arquitetura

 As partes do modelo Web.

104
WWW: Arquitetura

105
WWW: Arquitetura

106
WWW: Arquitetura

107
WWW: Arquitetura

108
WWW: Arquitetura

109
WWW: Arquitetura

110
WWW: Arquitetura

111
WWW: Arquitetura

112
WWW: Arquitetura

113
O lado Servidor

 Um servidor Web multithreaded com um front end e módulos de


processamento.

114
Servidores mais utilizados

 As partes do modelo Web.

115
Páginas Estáticas
Páginas Estáticas
Páginas Estáticas
Páginas Dinâmicas
Geração de Páginas Dinâmicas
Geração de Páginas Dinâmicas
Protocolo de Transferência
Protocolo de Transferência
Protocolo de Transferência
Protocolo de Transferência
Protocolo de Transferência
Cookies
Cookies
URLs – Uniform Resource Locaters

 Alguns URLs comuns.

129
Ausência de estados e cookies

 Alguns exemplos de cookies.

130
HTML – HyperText Markup Language

(b)

 (a) O código HTML correspondente a um exemplo de página Web.


(b) A página formatada.

131
Aperfeiçoamento de desempenho
Proxy
• Replicação de Servidores.
• Armazenamento em cache.

Armazenamento em cache hierárquico com três proxies

132
HTTP – HyperText Transfer Protocol

 Protocolo de transferência de páginas


utilizado na web
 Especifica mensagens que os clientes enviam
para os servidores e quais respostas os
servidores enviam de volta

133
HTTP
 Cliente HTTP: browser
 Servidor HTTP: Servidor web (espera
conexões na porta 80)
 Um cliente HTTP abre uma conexão e envia
uma mensagem de requisição ao servidor
HTTP
 O servidor HTTP retorna uma mensagem de
resposta, geralmente contendo o recurso que
foi requisitado

134
WWW – Desempenho

 Técnicas para melhorar o desempenho da web


 Cache
 Replicação de servidores
 Redes de entrega de conteúdo

135
WWW – Cache
• Quem deve realizar o armazenamento em
cache?

• Por quanto tempo as páginas devem ficar


armazenadas na cache?
136
WWW – Cache

 Um objeto na cache é considerado


válido se:
 Ele possui um tempo de expiração que
ainda não expirou

 Se a cache do proxy buscou este objeto


recentemente e ele foi modificado a muito
tempo atrás

137
WWW – Cache

 Cabeçalho Expires:
Expires: Fri, 30 Oct 1998 14:19:41 GMT

Diz para todas as caches por quanto tempo o


objeto é válido. São bons especialmente para:
 Informações estáticas
 Páginas que são alteradas com uma freqüência
pré-definida

138
WWW – Cache
 Cache pró-ativas
 Quando o proxy busca uma página de um servidor,
ele verifica os links desta página e requisita
também as páginas correspondentes a estes links
 Vantagem: pode reduzir o tempo de acesso das
requisições subseqüentes
 Desvantagem: pode inundar os meios de
comunicação com páginas que nunca serão
acessadas

139
WWW – Replicação de servidores
• Replicação de servidor (mirroring): replicar o
conteúdo de um servidor em múltiplas
localidades bastante separadas.
Funcionamento básico:
• A página principal contém links para web sites de
algumas regiões
• O usuário clica no link do site mais próximo para
acessar o servidor
• A partir daí, todas as solicitações vão para o
servidor selecionado

140
WWW – Redes de Entrega de conteúdo

 Algumas empresas, chamadas de CDN


(Content Delivery Networks), ficam
responsáveis por disseminar conteúdos de
outras empresas para os usuários
 As CDNs replicam estes conteúdos nos vários
ISP
 Com o conteúdo replicado, existe uma
melhoria no desempenho

141
Bibliografia

 J. F Kurose e K. W. Ross, Redes de Computadores e a Internet,


5ª Edição
 Comer, Douglas E., Interligação de Redes Com Tcp/ip

Você também pode gostar