1Alessandro Anzaloni, Cairo L. Nascimento Jr.
EricssonEricssonMaterial AdicionalMaterial Adicional
Cursos DATACOM e TCP/IPCursos DATACOM e TCP/IP
Redes de Computadores e Redes de Computadores e Tecnologia Básica de INTERNETTecnologia Básica de INTERNET
Instrutores: Alessandro Anzaloni e Cairo L. Nascimento Jr. (ITA)E-mail: [email protected], [email protected] 2000 - São José dos Campos - SP (v. 1.1 em Julho 2000)
2
Alessandro Anzaloni, Cairo L. Nascimento Jr.
ConteúdoConteúdo
Tipos de Redes de Computadores
Problema a ser Resolvido
Estratégia de Solução
Como o TCP/IP Funciona
Modelos de Referência OSI e TCP/IP
Endereçamento no TCP/IP
Roteamento no TCP/IP
Modelo Computacional Cliente/Servidor
Aplicações: Telnet, E-mail, FTP, WWW
3
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Tipos de Redes de Tipos de Redes de ComputadoresComputadores
As redes de computadores podem ser classificadas
nas três seguintes categorias: LAN, MAN e WAN.
Os parâmetros de diferenciação são os seguintes:
Tamanho;
Meio de transmissão;
Topologia;
Forma de gerência.
4
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Tipos de Redes de Tipos de Redes de ComputadoresComputadores
Exemplos tipícos de meios de transmissão:
LAN: cabo, rádio, infravermelho e fibra ótica
MAN e WAN: rádio, fibra ótica e linha telefônica dedicada
5
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Tipos de Redes de Tipos de Redes de ComputadoresComputadores
Local Area Network (LAN - Rede Local): Pequena área de cobertura, como um prédio.
10 Mbps a 2 Gbps, conexão via cabos ou rádio.
Usada para conectar computadores pessoais,
workstations, compartilhar recursos e trocar
informações locais.
Exemplos:
Ethernet, FastEthernet, GigaEthernet
Token Ring
6
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Tipos de Redes de Tipos de Redes de ComputadoresComputadores
Metropolitan Area Network (MAN):
Metropolitan Area Network: interliga LANs em
uma mesma cidade, 56 Kbps a 100 Mbps, usa
fibra ótica ou linhas de telefone.
Geralmente conecta um grupo de escritórios
próximos de uma mesma organização em uma
mesma cidade e pode ser privada ou pública
Exemplo: FDDI, Frame Relay e ATM
7
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Tipos de Redes de Tipos de Redes de ComputadoresComputadores
Wide Area Network (WAN): Interliga cidades e países, 9.6 Kbps a 45 Mbps, usa
linhas dedicadas de telefone ou conexões via satélite.
Sub-rede
roteador
host
Linhas de transmissão
8
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Problema a ser resolvidoProblema a ser resolvido
Troca de mensagens digitais entre
programas que estão sendo executados
em computadores basicamente muito
distintos (hardware e software) e que
podem estar fisicamente muito distantes
entre si.
9
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Problema a ser resolvidoProblema a ser resolvido
Requisitos desejados para a solução:
Baixo custo de implementação em hardware e
software Possibilidade de escolha de diferentes
tecnologias de hardware de rede independência
do tecnologia do hardware de rede e do seu
fabricante.
Independência da distância: deve funcionar se os
computadores estiverem na mesma sala ou em
diferentes continentes.
10
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Problema a ser resolvidoProblema a ser resolvido
Independência dos computadores nas “pontas” da
comunicação: deve ser implementável em diferentes
tipos de computador (diferentes sistemas
operacionais rodando em diferentes hardwares).
Facilidade de uso e de gerenciamento.
11
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Estratégia da SoluçãoEstratégia da Solução
Decisão 1:
Grande no de computadores e várias conexões
simultâneas Packet Switching ao invés de
Circuit Switching (ex. rede de telefonia).
Os aplicativos trocam mensagens entre si que
são divididas em blocos chamados pacotes.
Os pacotes são então transportados pelo
hardware de rede.
12
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Estratégia da SoluçãoEstratégia da Solução
Packet Switching:
Vantagem: possibilidade de comunicação entre vários computadores ao mesmo tempo.
Desvantagem: não garantia de capacidade de tráfego para cada comunicação, uma vez que várias conexões têm que dividir o mesmo meio de transmissão.
Fator Decisivo: custo X desempenho.
13
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Estratégia da SoluçãoEstratégia da Solução
Requisito necessário para uma solução baseada em
Packet Switching:
Resolver o problema de como obter conexão
confiável entre os aplicativos executados nas
diferentes máquinas se o hardware de rede é
basicamente não confiável.
14
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Estratégia da SoluçãoEstratégia da Solução
Problemas a serem considerados:
não confiabilidade da entrega dos pacotes: os pacotes podem ser corrompidos, perdidos, duplicados ou chegarem fora de ordem.
possível congestionamento do tráfego e falhas nas máquinas no trajeto da conexão.
Para uma mesma tecnologia de redes:
estes problemas aumentam com a distância,
quanto maior a distância entre os computadores menor será a velocidade de conexão.
15
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Estratégia da SoluçãoEstratégia da Solução
Decisão 2:
Independência da tecnologia de hardware de rede
2 níveis de endereçamento para a máquina:
End. Lógico (na Internet EL = End. IP único =
Network.Host), e
End. Fisíco (EF, usado apenas pelo hardware de
rede).
Analogia: EL= IP no da Carteira de Identidade
EF endereço da sua casa
16
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Estratégia da SoluçãoEstratégia da Solução
Decisão 3:
Identificar os tipos de problemas e tratá-los
separadamente (conceito de camadas de protocolo
de software).
Vantagem: cada área pode ser tratada e melhorada de
forma independente das outras.
Tipos de problemas:
problemas do aplicativo,
problemas de “quebrar” e “remontar” a mensagem,
problemas de entregar fisicamente os pacotes.
17
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Estratégia da SoluçãoEstratégia da Solução
Cuidado na implementação do conceito de camadas de
protocolo: uma implementação muito rigída será
ineficiente (lenta).
Algumas vezes camadas superiores precisam acesso
direto a informações disponíveis nas camadas
inferiores (ex. tamanho máximo de pacote
transportável pela rede fisíca = network’s maximum
transfer unit, MTU).
Ex: MTU para redes ethernet = 1500 bytes.
18
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Estratégia da SoluçãoEstratégia da Solução
(1) nível do aplicativo;
(2) quebra da mensagem em pacotes no remetente, montagem e verificação da mensagem no destinatário;
(3) Unreliable: os pacotes podem ser perdidos, corrompidos, duplicados ou chegar for a seqüência; Best Effort: em funcionamento nomal os pacotes não são descartados; Connectionless cada pacote é tratado de forma independente.
Application Services (1)
Reliable Transport Service (2)
Unreliable Best Effort Connectionless Packet Delivery Service (3)
19
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Como o TCP/IP FuncionaComo o TCP/IP Funciona
Na INTERNET os pacotes são chamados de:
Internet datagram, IP datagram ou datagram.
Estratégia Básica:
1) M = mensagem a ser entregue com ELR e ELD
(R = remetente, D = destinatário)
2) M é quebrada p. ex. em M1+M2+M3 e a cada
Mi acrescenta-se DHi (Datagram Header i):
3 datagramas: [DH1,M1], [DH2,M2], [DH3,M3]
20
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Como o TCP/IP FuncionaComo o TCP/IP Funciona
Problema:
As máquinas entre o remetente e o destinatário da mensagem podem estar usando diferentes tecnologias de rede que usam tamanhos máximos de frames diferentes.
Solução adotada no TCP/IP:
Se necessário, o frame pode ser “quebrado” mas será remontado apenas quando chegar no seu destinatário final.
21
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Como o TCP/IP FuncionaComo o TCP/IP Funciona
Pacotes TCP(Transmission Control Protocol)
>>>
informação
informação
Computador SP
Computador Japão
Rede local
Rede local
Rede Regional
Rede Regional
Conexão Internacional
22
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Como o TCP/IP FuncionaComo o TCP/IP Funciona
Computador
163.52.128.72
Computador
137.42.6.72
H 1 H 2 H 3 H 4
137.42.6.72
H 1
ROTEADOR
137.42.6.72
H 1
H 1
TCP
IP - Internet Protocol
23
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Como o TCP/IP FuncionaComo o TCP/IP Funciona
3) A cada datagrama acrescenta-se um novo header (FH) com EFR e EFD para entrega fisíca do pacote pela rede. Este pacote ampliado é chamado frame.Frame = Frame Header + Frame Data Area
Frame Data Area = DHi + Mi(Frame)i = FHi + DHi + Mi
Encapsulamento (analogia com envelopes do correio).
24
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Modelos de ReferênciasModelos de Referências
Vantagens de modelos de referência em várias camadas: Independência da tecnologia usada para construir o
hardware de rede e dos seus fabricantes. Permitir que aplicativos sejam desenvolvidos no
nível mais alto de abstração, sem que seja necessário incluir os detalhes dos níveis inferiores.
Modelos de Referência para redes de computadores: Modelo de Referência OSI da ISO, Modelo de Referência TCP/IP.
25
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Modelo de Referência OSI da ISOModelo de Referência OSI da ISO
OSI Reference Model(Open System Interconnection)
Physical
Data Link
Network
Transport
Session
Presentation
Application
Physical
Data Link
Network
Physical
Data Link
Network
Physical
Data Link
Network
Transport
Session
Presentation
Application
1
2
3
4
5
6
7
AP
LIC
AÇ
ÃO
TR
AN
SM
ISSÃ
O
ISO = International Organization for Standardization
26
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Modelo de Referência OSI da ISOModelo de Referência OSI da ISOPhysical Layer (Camada Física): Transmite seqüências de bits através de um canal de
comunicação. O seu projeto deve garantir que quando um bit 1 é
transmitido, ele é recebido como bit 1, não como bit 0, e vice-versa.
Data Link Layer (Camada de Enlace): Transforma as facilidades de transmissão da Physical
Layer em um canal livre de erros de transmissão para a Network Layer.
Quebra a seqüência de entrada em frames. Cria e reconhece os limites dos frames.
27
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Modelo de Referência OSI da ISOModelo de Referência OSI da ISO
Network Layer (Camada de Rede):
Determina como os pacotes são roteados da fonte ao
destino.
Transport Layer (Camada de Transporte):
Realiza uma comunicação fim-a-fim.
Torna as camadas superiores independentes da tecnologia de hardware utilizada nos diversos tipos de rede.
Implementa controle de fluxo.
28
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Modelo de Referência OSI da ISOModelo de Referência OSI da ISOSession Layer (Camada de Sessão): Permite a troca de dados entre usuários, implementando
serviços úteis em algumas aplicações Implementa vários serviços:
Transferência de arquivos. Gerência do controle de diálogo. Sincronização.
Presentation Layer (Camada de Apresentação): Preocupa-se com a sintaxe e semântica das informações
transmitidas Usa estruturas de dados definidas de um modo abstrato
29
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Modelo de Referência TCP/IPModelo de Referência TCP/IP
Messages
Transport Protocol Packets
IP Datagram
Network-Specific Frames
Application Layer
Transport Layer
Internet Layer
Network Interface Layer
Hardware
Software outside the operating system
Software inside the operating system
Only IP addresses used
Only physical addresses used
30
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Modelo de Referência TCP/IPModelo de Referência TCP/IP
Application
Transport(TCP/UDP)
InternetProtocol (IP)
Network Interface
Application
Transport(TCP/UDP)
InternetProtocol (IP)
Network Interface
Host A Host BDoD 1972
Physical Net
Identical Message
Identical Packet
Identical Datagram
Identical Frame
31
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Modelo de Referência TCP/IPModelo de Referência TCP/IP
Application Layer (Camada de Aplicação): Interage com o usuário se necessário e
manipula comandos e dados (mensagens). Como podemos ter várias instanciações de um
programa na mesma máquina (ex. várias janelas de web browsers) que precisam ser diferenciadas entre si, para cada instanciação é alocada uma porta de protocolo (um número inteiro).
32
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Modelo de Referência TCP/IPModelo de Referência TCP/IP
Transport Layer (Camada de Transporte): Fornece a comunicação entre os programas
(end-to-end communication). Remetente: quebra a mensagem em pacotes Destinatário: remonta a mensagem a partir dos
pacotes. A comunicação pode ser confiável (protocolo
TCP) ou não (protocolo UDP).
33
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Modelo de Referência TCP/IPModelo de Referência TCP/IP
Cont. Transport Layer (Camada de Transporte):
Se for necessário uma comunicação confiável end-to-end (Pacote TCP): O remetente verifica se o destinatário enviou
confirmação de recebimento para cada pacote e se for necessário retransmite os pacotes;
O destinatário verifica se cada pacote recebido não foi corrompido na transmissão e envia acknowledgement para cada pacote recebido sem erro.
34
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Modelo de Referência TCP/IPModelo de Referência TCP/IP
Network Messages Receiver SiteSender Site
Receive Packet 1Send ACK 1
Receive Packet 2Send ACK 2
Receive Packet 3Send ACK 3
Send Packet 1
Send Packet 2
Send Packet 3
Receive ACK 1
Receive ACK 2
Receive ACK 3
TCP usa Positive Acknowledgement with Retransmission eSliding Window.
Send Packet 4
Send Packet 5
Send Packet 6
Receive Packet 4Send ACK 4
123456
123456
123456
123456
123456
123456123456
123456
123456
35
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Modelo de Referência TCP/IPModelo de Referência TCP/IP
Network Messages Receiver SiteSender Site
Send Packet 1 Start Timer
ACK should arrive
Timer Expires
Packet lost
Packet should arriveACK should be sent
Retransmit Packet 1Start Timer
Receive ACK 1Cancel Timer
Receive Packet 1Send ACK 1
36
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Modelo de Referência TCP/IPModelo de Referência TCP/IP
Veja animações sobre este tópico em:http://www.netbook.cs.purdue.edu/anmtions/anim20_1.htmhttp://www.netbook.cs.purdue.edu/anmtions/anim20_2.htmhttp://www.netbook.cs.purdue.edu/anmtions/anim20_3.htmhttp://www.netbook.cs.purdue.edu/anmtions/anim20_4.htmhttp://www.netbook.cs.purdue.edu/anmtions/anim20_5.htmExemplo de uma conexão real: cliente (runner c/ Win 95 - Netscape) requisita de um web server (raquel c/ AIX3.2 - CERN httpd) um arquivo de imagem JPG com 3117 bytes:
a) No primeiro pacote enviado RUNNER avisou para RAQUEL que o seu MSS (maximum segment size) é 1460 bytes.
b) Win: indica quantos bytes podem ainda ser enviados até completar o “buffer” alocado para a conexão.
37
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Modelo de Referência TCP/IPModelo de Referência TCP/IP
“snoop” é um programa do tipo packet sniffer disponível para rodar nas workstations UNIX da Sun Microsystems.
marina# snoop runner raquelUsing device /dev/le (promiscuous mode)runner -> raquel TCP D=80 S=1311 Syn Seq=10613297 Len=0 Win=8192raquel -> runner TCP D=1311 S=80 Syn Ack=10613298 Seq=2943835649 Len=0 Win=16060runner -> raquel TCP D=80 S=1311 Ack=2943835650 Seq=10613298 Len=0 Win=8760runner -> raquel TCP D=80 S=1311 Ack=2943835650 Seq=10613298 Len=339 Win=8760raquel -> runner TCP D=1311 S=80 Ack=10613637 Seq=2943835650 Len=205 Win=16060raquel -> runner TCP D=1311 S=80 Ack=10613637 Seq=2943835855 Len=1460 Win=16060raquel -> runner TCP D=1311 S=80 Ack=10613637 Seq=2943837315 Len=1460 Win=16060runner -> raquel TCP D=80 S=1311 Ack=2943837315 Seq=10613637 Len=0 Win=8760raquel -> runner TCP D=1311 S=80 Fin Ack=10613637 Seq=2943838775 Len=197 Win=16060runner -> raquel TCP D=80 S=1311 Ack=2943838973 Seq=10613637 Len=0 Win=8760runner -> raquel TCP D=80 S=1311 Fin Ack=2943838973 Seq=10613637 Len=0 Win=8760raquel -> runner TCP D=1311 S=80 Ack=10613638 Seq=2943838973 Len=0 Win=16059
38
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Modelo de Referência TCP/IPModelo de Referência TCP/IP
Cont. Transport Layer (Camada de Transporte):
Em aplicações onde por razões de eficiência não é desejado o controle restrito da entrega dos pacotes presente no protocolo TCP, o protocolo UDP pode ser usado (ex. DNS, DHCP, aúdio e vídeo em real-time).
O protocolo UDP não adiciona confiabilidade ao serviço fornecido pela camada IP.
É responsabilidade do programa aplicativo que usa UDP lidar com o problema da falta de confiabilidade da rede física.
39
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Modelo de Referência TCP/IPModelo de Referência TCP/IP
IP Layer (Internet Protocol Layer - Camada Internet):
Fornece a comunicação entre as máquinas
Monta os datagramas adicionando o DH (Datagram Header) aos pacotes no remetente
Decide o roteamento do datagrama (opções: entrega na mesma LAN ou em um certo gateway)
40
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Modelo de Referência TCP/IPModelo de Referência TCP/IP
Network Interface Layer (Camada de Interface com a Rede):
Transforma os datagramas em frames (remetente) ou vice-versa (destinatário);
Repassa os frames para o hardware de rede (remetente) ou recebe os frames do hardware de rede (destinatário).
41
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Endereçamento no TCP/IPEndereçamento no TCP/IP
O TCP/IP usa uma combinação de 3 níveis de endereçamento para direcionar os pacotes:
1) Nível de Hardware:
Ex. o ethernet address é único, é setado pelo fabricante da placa, 48 bits (6 bytes = 48 bits, exemplo real 0:80:ad:b6:29:e)
Leia mais sobre ethernet, fast e giga ethernet em:
http://wwwhost.ots.utexas.edu/ethernet/
42
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Endereçamento no TCP/IPEndereçamento no TCP/IP
2) Nível de Internet:
Endereço único na internet com número (4 bytes = 32 bits) e nome.
Ex. reais:
www.ericsson.se 193.180.14.22
www.ericson.com.br 200.210.225.7
www.ita.cta.br 161.24.1.39
www.ele.ita.cta.br ou ele.ita.cta.br 161.24.1.16
runner.ele.ita.cta.br 161.24.1.121
43
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Endereçamento no TCP/IPEndereçamento no TCP/IP
3) Nível de Aplicativo: Para determinado serviço é alocado uma porta
padrão (abstração para estender o conceito de IP address).
Os números das portas são definidos no arquivo /etc/services (UNIX) ou /windows/services (MS-Windows 3.x/95/98/NT/2000).
Exs. reais:
ftp: portas 20 e 21, telnet: porta 23,
smtp (email): porta 25, pop3 (email): porta 110,
http (www): porta 80, timed: porta 525
44
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Endereçamento no TCP/IPEndereçamento no TCP/IP
Mapeamentos necessários:
1) Nome Internet para Número Internet (IP address): serviço DNS (Domain Name System).
2) Número IP para Hardware address:
serviço ARP (Address Resolution Protocol).
45
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Endereçamento no TCP/IPEndereçamento no TCP/IP
Endereçamento Internet (IP number):
A IANA (The Internet Assigned Numbers Authority,
http://www.iana.org/) coordena em escala global a
distribuição dos IPs e atualmente tal tarefa é implementada
pela ICANN (The Internet Corporation for Assigned Names
and Numbers, http://www.icann.org/).
Para o Brasil, esta distribuição é feita pela FAPESP
(Fundação de Amparo à Pesquisa do Estado de São Paulo, veja http://registro.fapesp.br/).
Cada IP tem 4 bytes (32 bits), escritos na forma decimal,
cada byte vale entre 0 e 255.
Endereço dividido em Network + Host = netid + hostid.
46
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Endereçamento no TCP/IPEndereçamento no TCP/IP
Classes de IPs:
Class A: 1-126.H.H.H, major networks, almost never assigned now, 126 nets with 16 million hosts each (bit 1 = 0, netid = 7 bits, hostid = 24 bits).
Class B: 128-191.N.H.H, for large sites, usually subnetted, very hard to get, 16382 nets with up to 65536 hosts (bits 1-2 = 10, netid = 14 bits, hostid = 16 bits).
Class C: 192-223.N.N.H, easy to get, often obtained in sets, 2 million nets with up to 254 hosts (bits 1-3 = 110, netid = 21 bits, hostid = 8 bits).
Class D: 224-239.x, multicasting addressing, a datagram is direct to multiple hosts, still in development (bits 1-4 = 1110).
Class E: 240-254.x, reserved for future use (bits 1-5 = 11110).OBS: Os valores 0, 127 e 255 são reservados para funções especiais da rede.
47
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Endereçamento no TCP/IPEndereçamento no TCP/IP
ARP (Address Resolution Protocol):
Função: dado o endereço lógico INTERNET (IP) de uma máquina na rede local descobrir o endereço físico (hardware). A comunicação final é através do hardware de rede.
Vantagens: independência da tecnologia de hardware e facilidade caso seja preciso trocar o endereço do hardware.
Resolution through Direct Mapping: Quando é possível escolher o endereço fisíco como parte do
endereço IP (caso rede Token-Ring).
Ex: IP classe C: N.N.N.H, endereço fisíco = H. Na maioria dos casos não é possível.
Ex: endereço ethernet = 6 bytes (48 bits), porém endereço IP = 4 bytes (32 bits).
48
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Endereçamento no TCP/IPEndereçamento no TCP/IP
Resolution through Dynamic Binding: Criamos uma tabela que fica armazenada na própria máquina
e é consultada sempre que um pacote for enviado. Use o comando “arp -a” para ver esta tabela.
Esta tabela é criada usando broadcasting (host 255).
Se a máquina A deseja saber qual é o IP da máquina local B:
1) A máquina A faz um anúncio geral (broadcast) na rede local que deseja saber o IP da máquina B. Aproveitando o anúncio a máquina A comunica o seu IP e endereço físico.
2) Todas as máquinas recebem e processam esta mensagem, mas apenas a máquina B responde enviando apenas para a máquina A o seu IP e endereço físico (veja animação em http://www.netbook.cs.purdue.edu/anmtions/anim15_1.htm).
Ao entrar na rede (p. ex. ao ser “rebotada”) a máquina anuncia o seu IP e endereço físico.
49
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Endereçamento no TCP/IPEndereçamento no TCP/IPOperação: comando “arp -a”
marina.ele.ita.cta.br (161.24.1.10) at 8:0:20:87:e5:e5 [ethernet]
meneghetti.ele.ita.cta.br (161.24.1.118) at 0:c0:df:ef:23:13 [ethernet]
runner.ele.ita.cta.br (161.24.1.121) at 0:80:ad:b6:29:e [ethernet]
labatt-g.ele.ita.cta.br (161.24.1.55) at 0:e0:7d:81:76:a6 [ethernet]
bizuca.ele.ita.cta.br (161.24.1.165) at 0:60:6e:34:c:a6 [ethernet]
fabiano.ele.ita.cta.br (161.24.1.174) at 0:60:6e:34:1b:19 [ethernet]
leizer.ele.ita.cta.br (161.24.1.176) at 0:c0:df:2:9c:bf [ethernet]
ita-r.ita.cta.br (161.24.1.200) at 2:60:8c:2d:6d:65 [ethernet]
Exercício: Quando você estiver em uma máquina com sistema operacional Microsoft Windows 9x/NT/2000 com conexão ativa para a INTERNET, verifique o seu IP entrando na opção “Iniciar/Executar” o comando winipcfg. Note que se sua conexão for tipo dial-up com um provedor o seu IP será alocado dinâmicamente, ou seja, ele será diferente em cada conexão.
50
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Endereçamento no TCP/IPEndereçamento no TCP/IP
DNS (Domain Name System): Função: descobrir o número IP de uma máquina na Internet
dado o seu nome Internet, visto a facilidade para os usuários em trabalhar com o nome Internet ao invés do número IP.
DNS é um serviço de banco de dados hierárquico (forma de árvore invertida), distribuído na Internet (espeficação original feita em 1983, RFC 881, 882, 883) baseado em um protocolo para troca de mensagens entre as máquinas com informações sobre os nomes.
Na Internet a hierarquia dos nomes é atribuída de acordo com a estrutura das organizações que registraram o sub-domínio, não necessariamente de acordo com a estrutura física das conexões.
51
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Endereçamento no TCP/IPEndereçamento no TCP/IP
Alguns domínios:
(http://www.icann.org/ e http://www.internic.net/faq.html)
.COM (commercial organizations),
.ORG (not-for-profit organizations),
.NET (organizations involved in Internet infrastructure
activities)
.GOV (government institutions),
.EDU (educational institutions).
52
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Endereçamento no TCP/IPEndereçamento no TCP/IP
Domínios correspondentes a países:
(veja lista completa em http://www.iana.org/cctld.html):
AU = Australia, BR = Brazil, CA = Canada,
CH = Switzerland, DE = Germany, DK = Denmark,
FR = France, IT = Italy, JP = Japan, MX = Mexico,
PT = Portugal, UK/GB = United Kingdom,
US = United States, SA = Saudi Arabia, ZA = South Africa,
VA = Holy See (City Vatican State)
53
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Endereçamento no TCP/IPEndereçamento no TCP/IP
DNS namespace: árvore de domínios (domains) com autoridade crescente. No topo da árvore está o domínio root simbolizado por “.”
Abaixo do root domain estão na seqüência: top level, second level, subdomains e machines.
Cada domínio tem uma máquina associada a ele (name server) responsável por responder aos pedidos de informações de DNS sobre este domínio. Esta máquina roda o daemon named (name server).
Em UNIX os comandos nslookup e host podem ser usados pelo usuário para interagir com o DNS.
54
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Endereçamento no TCP/IPEndereçamento no TCP/IP
Ex. de localização de www.example.com:1) sua máquina pede ao name server local o IP de
www.example.com;2) o name server local pergunta ao root server que retorna info
sobre o name server de .com;3) o name server local pergunta ao name server de .com que
retorna info sobre o name server de example.com;4) o name server local pergunta ao name server example.com
que retorna o IP da máquina www.example.com;5) o name server local responde à sua máquina com o IP de
www.example.com;6) o name server local armazena por um período determinado
em “cache” o IP de www.example.com, pois outra máquina na rede local pode solicitar o mesmo pedido.
55
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Endereçamento no TCP/IPEndereçamento no TCP/IP
http://www.wia.org/pub/rootserv.html
56
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Roteamento no TCP/IPRoteamento no TCP/IP
Roteamento: Processo de direcionar um pacote através das várias redes que existem entre a máquina de origem e a máquina de destino final. O roteamento é feito na camada IP.
Roteador (Router, Gateway): máquina com interfaces de hardware em mais de uma rede local e que executa a ligação entre estas redes implementando o roteamento.
57
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Roteamento no TCP/IPRoteamento no TCP/IP
Operação: rota de ele.ita.cta.br até www.ericsson.com.br
comando: traceroute www.ericsson.com.br
traceroute to www.ericsson.com.br (200.231.200.158), 30 hops max, 40 byte packets
1 ita-r.ita.cta.br (161.24.1.200) 4 ms 4 ms 4 ms
2 rrita-r.cta.br (161.24.23.200) 4 ms 4 ms 4 ms
3 rriae.cta.br (161.24.239.60) 5 ms * 5 ms
4 161.24.88.254 (161.24.88.254) 5 ms 5 ms 4 ms
5 fpspra-sjc.cora.br (150.163.157.2) 12 ms 17 ms 12 ms
6 rnp.ix.spo.ANSP.BR (200.136.34.2) 12 ms 9 ms 8 ms
7 rnp-br-H4-0-0-acc04.spo.embratel.net.br (200.211.38.149) 29 ms 16 ms 9 ms
8 frontier-S10-0-acc04.spo.embratel.net.br (200.211.38.110) 22 ms 14 ms 27 ms
9 200.231.200.158 (200.231.200.158) 20 ms 25 ms 21 ms
Obs: Acesse http://registro.br/pesq.html e experimente outros “traceroutes”.
Em máquinas Win 9x/NT experiment o comando “tracert”.
58
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Roteamento no TCP/IPRoteamento no TCP/IPOperação: rota de ele.ita.cta.br até www.ericsson.setraceroute to www.ericsson.se (193.180.14.23), 30 hops max, 40 byte packets 1 ita-r.ita.cta.br (161.24.1.200) 5 ms 2 ms 2 ms 2 rrita-r.cta.br (161.24.23.200) 4 ms 4 ms 4 ms 3 rriae.cta.br (161.24.239.60) 5 ms 5 ms 5 ms 4 161.24.88.254 (161.24.88.254) 4 ms 4 ms 4 ms 5 fpspra-sjc.cora.br (150.163.157.2) 242 ms 306 ms 258 ms 6 e1core1-serial0-0-4-0.WestOrange.cw.net (166.49.29.17) 594 ms 396 ms 527ms 7 bordercore4.WestOrange.cw.net (166.48.10.1) 383 ms 409 ms 398 ms 8 telia-north-america-inc.WestOrange.cw.net (166.48.11.254) 578 ms 532 ms 608 ms 9 209.95.129.89 (209.95.129.89) 483 ms 393 ms 371 ms10 193.45.5.25 (193.45.5.25) 620 ms * 974 ms11 apv-b1-atm2-0-1.telia.net (194.17.1.158) 477 ms 501 ms 456 ms12 apv-c2-pos3-0-0.core.stockholm.telia.net (194.17.1.74) 559 ms 448 ms 501ms13 apv-ds1.telia.net (195.67.159.94) 512 ms 556 ms 556 ms14 apv-a10-feth5-1-0-access.stockholm.telia.net (195.67.159.41) 523 ms 459 ms 562 ms15 62.20.217.66 (62.20.217.66) 532 ms 505 ms 489 ms16 * * *17 194.237.142.151 (194.237.142.151) 514 ms 583 ms 814 ms18 153.88.244.1 (153.88.244.1) 664 ms 639 ms 673 ms19 rproxy2.ericsson.net (193.180.14.23) 536 ms 545 ms 482 ms
59
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Roteamento no TCP/IPRoteamento no TCP/IP
Roteamento Direto x Indireto:
Roteamento Direto: A transmissão do pacote é feita diretamente de uma máquina para outra sem passar por um roteador, isto é, as 2 máquinas estão ligadas diretamente ao mesmo meio físico (ex. mesmo segmento ethernet).
Verificação da parte Network do endereço IP.
60
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Roteamento DiretoRoteamento Direto
Application
Transport(TCP/UDP)
InternetProtocol (IP)
Network Interface
Application
Transport(TCP/UDP)
InternetProtocol (IP)
Network Interface
Host A Host B
Physical Net
Identical Message
Identical Packet
Identical Datagram
Identical Frame
61
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Roteamento IndiretoRoteamento Indireto
Roteamento Indireto
O pacote tem que passar por roteadores.
É executado por consulta em uma tabela (IP routing table) de pares N,G a qual inclui uma rota padrão.
N = endereço IP da rede destino.
G = endereço IP do próximo roteador no caminho para a rede N, onde G está conectado diretamente à mesma rede da máquina que deseja enviar o pacote.
Obs: Veja as animações sobre este tópico em:
http://www.netbook.cs.purdue.edu/anmtions/anim09_3.htm
http://www.netbook.cs.purdue.edu/anmtions/anim16_1.htm
http://www.netbook.cs.purdue.edu/anmtions/anim17_1.htm
62
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Roteamento IndiretoRoteamento Indireto
Tabela para Roteador F:
Se N=10.0.0.0, entregue diretamente
Se N=20.0.0.0, entregue diretamente
Para outros valores de N, entregue para 20.0.0.1150.0.0.69
Rede10.0.0.0
Rede20.0.0.0F
10.0.0.5
Rede30.0.0.0
G
20.0.0.6
30.0.0.47
40.0.0.15
Rede40.0.0.0
20.0.0.11
H
Rede50.0.0.0
30.0.0.58
Tabela para Roteador G:
Se N=10.0.0.0, entregue para 20.0.0.6
Se N=20.0.0.0, entregue diretamente
Se N=30.0.0.0, entregue diretamente
Se N=40.0.0.0, entregue diretamente
Se N=50.0.0.0, entregue para 30.0.0.58
63
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Roteamento IndiretoRoteamento Indireto
Application
Transport(TCP/UDP)
InternetProtocol (IP)
Network Interface
Application
Transport(TCP/UDP)
InternetProtocol (IP)
Network Interface
Host A Host B
Physical Net 1
Identical Message
Identical Packet
IdenticalDatagram
IdenticalFrame
InternetProtocol (IP)
Network Interface
Physical Net 2
Gateway G
IdenticalDatagram
IdenticalFrame
64
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Roteamento Estático x DinâmicoRoteamento Estático x Dinâmico
A manutenção das tabelas pode ser feita de forma estática ou dinâmica.
Roteamento Estático:
As rotas são definidas manualmente.
Usada para redes com topologias estáveis (não sujeita a falhas).
Mais fácil de configurar.
Requer que o sysadmin saiba a topologia da rede.
65
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Roteamento Estático x DinâmicoRoteamento Estático x Dinâmico
Roteamento Dinâmico:
Programas específicos (routing deamons) rodando em máquinas diferentes comunicam-se para descobrir a topologia da rede e calcular como direcionar correta e efecientemente os pacotes para os pontos de destino desejados fora da rede.
As rotas são definidas automaticamente.
Usada para explorar a possibilidade de caminhos alternativos e tornar a rede tolerante a falhas.
66
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Modelo ComputacionalModelo ComputacionalCliente-ServidorCliente-Servidor
Aplicação Servidor
Aplicação Cliente
Aplicação Cliente
Aplicação Cliente
67
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Modelo Cliente-ServidorModelo Cliente-Servidor
Servidor: programa que oferece um serviço e pode ser
alcançado através da rede.
O servidor:
aceita o pedido que chega pela rede,
realiza o serviço,
devolve o resultado para a máquina solicitante.
Normalmente a máquina que roda algum programa servidor
fica conectada à rede permanentemente e normalmente esta
máquina roda UNIX ou MS-Win NT/2000 Server.
Ex.: http (www) server, e-mail server, ftp server, telnet
server, time-of-the-day server.
68
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Modelo Cliente-ServidorModelo Cliente-Servidor
Cliente: programa que envia o pedido ao servidor, aguarda e processa a resposta.
A máquina que roda o programa cliente só precisa estar conectada à rede durante a conexão com o servidor.
Ex.: http (www) client = browser, e-mail client (Eudora), ftp client (WS-FTP), telnet client, time-of-the day client e vários outros tipos.
69
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Modelo Cliente-ServidorModelo Cliente-Servidor
Vantagens do Modelo Cliente-Servidor: Melhor distrbuição da carga computacional na rede:
Parte Servidor: processamento dos dados e interfacea-mento com o programa cliente, sem a preocupação com o interfacemento com o usuário.
Parte Cliente: interfaceamento com o usuário final (jane-las, menus, mouse, formatação dos dados).
O servidor e o cliente podem estar em sistemas operacio-nais bem diferentes e podem ser desenvolvidos separadamente. O usuário final tem maior liberdade para escolher o compu-tador/sistema operacional/interface para rodar o lado cliente do aplicativo com uma interface homem/máquina familiar.
70
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Modelo Cliente-ServidorModelo Cliente-Servidor
Operação Cliente-Servidor:
1) O aplicativo servidor é iniciado antes de começar a interação cliente-servidor e espera por pedidos em uma porta de número padrão (ex. 25 para o SMTP).
2) Quando o cliente é iniciado o sistema operacional aloca para este cliente uma porta arbitrária de número não reservado.
3) O cliente envia um pedido ao servidor e entra em modo de espera da resposta. Ao receber a resposta o cliente sinaliza ao servidor que não tem mais pedido e encerra a conexão.
4) O programa servidor continua sendo executado esperando por novos pedidos na porta padrão.
71
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Documentação oficial sobre a INTERNET: Internet RFC/STD/FYI/BCP Archives:
http://www.faqs.org/rfcs/ http://www.faqs.org/rfcs/np.html http://www.rfc-editor.org/
Alguns RFCs relacionados a aplicações:TELNET, RFC 854, maio 83SMTP (Simple Mail Transfer Protocol), RFC 821, ago 82POP 3 (Post Office Protocol - Version 3), RFC 1939, maio 96FTP (File Transfer Protocol) , RFC 959, out 85HTTP (Hypertext Transfer Protocol), HTTP/1.0 - RFC 1945,
maio 96; HTTP/1.1 - RFC 2616, jun 99 (http://www.w3.org/Protocols/)
HTML (Hypertext Markup Language) http://www.w3.org/MarkUp/ HTML 2.0 (RFC 1866) nov 95; 3.2/jan 97; 4.0/abr 98; 4.0.1/dez 99
MIME (Multipurpose Internet Mail Extensions), RFC 2045-2049, nov 96
AplicaçõesAplicações
72
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Aplicações: TelnetAplicações: Telnet Telnet: porta TCP 23
RFC 854, TELNET PROTOCOL SPECIFICATION, May 1983
Função: Basicamente executa a emulação de um terminal.
Permite a um usuário em um site estabelecer uma conexão TCP para um “login server” em um outro site e então passar as “keystrokes” do terminal do usuário diretamente para a máquina remota, como se as “keystrokes” tivessem sido entradas diretamente no terminal da máquina remota. Desta maneira o usuário interage diretamente com o sistema operacional da máquina remota. Normalmente a máquina remota com o telnet server será uma máquina UNIX. A máquina com o telnet client pode ser UNIX ou MS-Windows.
TCP connection
across Internet
User’sTerminal
Client ServerServer’sSystem
73
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Aplicações: TelnetAplicações: Telnet
Define NVT - Network Virtual Terminal: terminal padrão para hosts remotos.
Texto extraído do RFC 854:
“The purpose of the TELNET Protocol is to provide a fairly general, bi-directional, eight-bit byte oriented communications facility. Its primary goal is to allow a standard method of interfacing terminal devices and terminal-oriented processes to each other. It is envisioned that the protocol may also be used for terminal-terminal communication ("linking") and process-process communication (distributed computa-tion).”
74
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Aplicações: TelnetAplicações: TelnetEx. de uma sessão telnet, onde o cliente roda
MS-Win 95 e o servidor UNIX (AIX 3.2)
75
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Aplicações: E-mailAplicações: E-mail
E-mail (Electronic Mail)
Composto de dois subsistemas:
Mail User Agent (Mail client) e Mail Delivery Agent (Mail server)
Mail User Agent: programa usado para fazer a interface com o usuário facilitando a este: 1) o envio de msgs para outros usuários, 2) a leitura das msgs recebidas e entregues em sua mailbox, 3) a organização das msgs em sua mailbox.
Exs:
no UNIX: mail, mailtool, xmailtool, elm;
no ambiente MS-Windows: Eudora, Microsoft Outlook Express, Netscape Messenger;
76
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Aplicações: E-mailAplicações: E-mail Mail Delivery Agent: programa responsável pela entrega ou
recepção do email pela Internet. Atua como servidor sendo o programa “Mail User Agent” o cliente da transação.
Exs: SMTP, também conhecido como sendmail (porta TCP 25), POP 3 (porta TCP 110), IMAP4rev1 (Porta TCP 143, Internet Message Access Protocol, v.4 rev. 1, RFC 2060, dez 96, 82 pags.)
“The Internet Message Access Protocol, Version 4rev1 (IMAP4rev1) allows a client to access and manipulate electronic mail message on a server. IMAP4rev1 permits manipulation of remote message folders, called "mailboxes", in a way that is functionally equivalent to local mailboxes. IMAP4rev1 also provides the capability for an offline client to resynchronize with the server”.
77
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Commands,Replies and
Aplicações: E-mailAplicações: E-mail
MUA
FileSystem
User
MDA
MUA
FileSystem
User
MDA
Microcomputador
Microcomputador
Servidorde e-mail
Servidorde e-mail
78
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Aplicações: E-mailAplicações: E-mail Note que POP 3 e IMAP 4 não estabelecem mecanismos para enviar msgs (entregar email para o servidor de email), assim a entrega das msgs geradas no micro PC é feita via SMTP para o servidor de email, o qual então coloca as msgs na Internet. Vantagens:1) Envio/Recebimento/Gerenciamento das msgs pode ser feito no micro PC, no ambiente que o usuário se sentir mais confortável.2) Não é preciso ter sempre o programa SMTP rodando no micro PC e nem é preciso deixar o micro sempre ligado. Dicas: Configure um servidor de email (com unix/linux/NT) sempre ligado rodando SMTP e recebendo os emails para os usuários no domínio. Os emails recebidos ficam armazenados no servidor até o usuário usar o seu utilitário de email para receber os seus emails do servidor (usando p. ex. POP3). Quando o usuário deseja enviar msgs, a msg é entregue usando SMTP ao servidor de email local que a repassa para o destino final.
79
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Aplicações: E-mailAplicações: E-mail$ telnet ele.ita.cta.br 25Trying 161.24.1.16...Connected to ele.ita.cta.br.Escape character is '^]'.220 ele.ita.cta.br ESMTP Sendmail 8.9.2/8.9.2; Mon, 17 Apr 2000 03:04:34 -0300helo501 helo requires domain addresshelo ele.ita.cta.br250 ele.ita.cta.br Hello marina.ele.ita.cta.br [161.24.1.10], pleased to meet youmail from:<[email protected]>501 <[email protected]>... Sender domain must existmail from:<[email protected]>250 <[email protected]>... Sender okrcpt to:<[email protected]>250 <[email protected]>... Recipient ok
80
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Aplicações: E-mailAplicações: E-mailhelp data214-DATA214- Following text is collected as the message.214- End with a single dot.214 End of HELP infodata354 Enter mail, end with "." on a line by itselfThis is just a teste.Hello there ...Bye bye!!.250 DAA14613 Message accepted for deliveryquit221 ele.ita.cta.br closing connectionConnection closed by foreign host.
$
81
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Aplicações: FTPAplicações: FTP File Transfer Protocol (FTP): portas TCP 20 e 21
Em RFC 959, out 95, 69 pags, temos na seção INTRODUCTION:“The objectives of FTP are:1) to promote sharing of files (computer programs and/or data),2) to encourage indirect or implicit (via programs) use of remote computers,3) to shield a user from variations in file storage systems among hosts, and4) to transfer data reliably and efficiently.FTP, though usable directly by a user at a terminal, is designed mainly for use by programs.”
82
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Aplicações: FTPAplicações: FTP
Servidor FTP
Cliente FTP
Cliente FTP
FTP Site
Win 9x-NT-UNIX: cliente FTP tipo “text-based”
UNIX e Win NT: servidor FTP
83
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Aplicações: FTPAplicações: FTP
THE FTP MODELComandos e respostas FTP: porta TCP 21
Conexão para Dados: porta TCP 20
------------- |/---------\| || User || -------- ||Interface|<--->| User | |\----^----/| -------- ---------- | | | |/------\| FTP Commands |/----V----\| ||Server|<---------------->| User || || PI || FTP Replies || PI || |\--^---/| |\----^----/| | | | | | | -------- |/--V---\| Data |/----V----\| -------- | File |<--->|Server|<---------------->| User |<--->| File | |System| || DTP || Connection || DTP || |System| -------- |\------/| |\---------/| -------- ---------- -------------
Server-FTP USER-FTP
84
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Aplicações: FTPAplicações: FTP
Ex. de um FTP client muito usado:WS_FTP Limited Edition (http://www.ipswitch.com/)
85
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Aplicações: WWWAplicações: WWW
World Wide Web (WWW) - http://www.w3.org
Também usa o modelo cliente-servidor, sendo o cliente chamado de web browser (ex. Netscape Navigator, Microsoft Internet Explorer).
É a aplicação usada para acessar documentos espalhados nas milhares de máquinas ligadas à Internet
Enorme popularidade devido aos seguintes fatos seguintes:Interface gráfica amigável cheia de cores, onde
usuários sem experiência podem usá-la.Fornece uma grande quantidade de informações para
qualquer que seja o tema.
86
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Aplicações: WWWAplicações: WWW
HISTÓRICO
1989 Tim Berners-Lee do European Center for Nuclear Research (CERN) propôs uma rede de documentos ligados (hipertexto distribuído)
1990 O primeiro protótipo, baseado apenas em texto, estava operando
1991 Uma demonstração pública foi dada no Hypertext’91 em San Antonio, USA
87
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Aplicações: WWWAplicações: WWW
1993 A primeira interface gráfica, o Mosaic, foi desenvolvido por Marc Andreessen do National Center for Supercomputing Applications (hipermídia distribuída)
1994 Marc Andreessen funda a Netscape Communica-tions Corp.
1994 CERN e MIT assinam um acordo criando o World Wide Web Consortium. Tim Berners-Lee torna-se o diretor.
88
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Servidor WWW ou http server: basicamente envia as web pages (transferidas para o servidor
via ftp e administradas via telnet) para o web browser. geralmente roda em máquinas UNIX ou MS-Win NT/2000
Server. por default a porta TCP 80 é usada, mas outras portas podem
ser usadas. exs: Apache HTTP Server (http://www.apache.org/, o mais
usado atualmente, programa de domínio público); Netscape Enterprise Server; Microsoft IIS (Internet Information Server).
Cliente WWW ou web browser:
basicamente recebe web pages do servidor, processa as instruções de formatação e exibe a web page na janela.
Aplicações: WWWAplicações: WWW
89
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Usa HTTP (Hypertext Transfer Protocol) para especificar a troca das msgs e HTML para especificar o formato das msgs.
HTTP (Hypertext Transfer Protocol), HTTP/1.0 - RFC 1945, maio 96; HTTP/1.1 - RFC 2616, jun 99 (http://www.w3.org/Protocols/)
HTML (Hypertext Markup Language) http://www.w3.org/MarkUp/ HTML 2.0 (RFC 1866) nov 95; 3.2/jan 97; 4.0/abr 98; 4.0.1/dez 99
URL: Uniform Resource Locator (RFC 2396, Ago 1998; RFC 2718 Nov 1999): formato para especificação de um recurso disponível na INTERNET: protocolo, máquina (nome ou IP), recurso
exs.:
http://www.fapesp.br/, http://www.ita.cta.br/index.html,
ftp://ftp.ita.cta.br/pub/README,
telnet://ele.ita.cta.br,
mailto:[email protected]%20?subject=Hello
Aplicações: WWWAplicações: WWW
90
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Aplicações: WWWAplicações: WWW
ComputadorCliente
ProvedorComputador
Host
ServidorWWW
Backbone
Fibra ótica ou rádio ou linhatelefônica
Linha telefônica
Web Browser
Conexão Web Browser/Servidor HTTP
92
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Aplicações: WWWAplicações: WWW
Trocando mensagens diretamente com o programa web server:
[ita-r]:=>telnet ele.ita.cta.br 80Trying...Connected to www.ele.ita.cta.br.Escape character is '^]'.GET /~cairo/ericsson/ HTTP/1.0 [tecle ENTER] [tecle ENTER]HTTP/1.0 200 Document followsMIME-Version: 1.0Server: CERN/3.0Date: Monday, 17-Jul-00 06:09:28 GMTContent-Type: text/htmlContent-Length: 767Last-Modified: Friday, 02-Jun-00 06:30:44 GMT[linha em branco]
93
Alessandro Anzaloni, Cairo L. Nascimento Jr.
Aplicações: WWWAplicações: WWW<HTML><HEAD><TITLE>Index of /~cairo/ericsson/</TITLE></HEAD><BODY><H1>Index of /~cairo/ericsson/</H1><PRE><IMG ALT=" "SRC="http://raquel.ele.ita.cta.br/httpd-internal-icons/blank.xbm"> Name Last modified Size Description<HR><IMG ALT="[UP ]"SRC="http://raquel.ele.ita.cta.br/httpd-internal-icons/back.xbm"><A HREF="..">Parent directory</A><IMG ALT="[BIN]"SRC="http://raquel.ele.ita.cta.br/httpd-internal-icons/binary.xbm"><A HREF="./CursoTCP-IP-maio-2000.zip">CursoTCP-IP-maio-2000></A> 02-Jun-00 03:30 632K<IMG ALT="[BIN]"SRC="http://raquel.ele.ita.cta.br/httpd-internal-icons/binary.xbm"><A HREF="./rfc-list-by-subject.zip">rfc-list-by-subject.z></A> 02-Jun-00 03:30 174K<HR>2 files</PRE></BODY></HTML>Connection closed. [ita-r]:=>
95
Alessandro Anzaloni, Cairo L. Nascimento Jr.
ConclusõesConclusões
Para aprender mais consulte: Livro “The Internet Book: Everything you need to know about
computer networking and how the INTERNET works” de Douglas Commer, Prentice-Hall, 2nd edition, 1997, ISBN 0-13-890161-9 (para iniciantes, abordagem apenas conceitual).
Livro “Computer Networks and Internets” de Douglas Comer, Prentice Hall, 2nd edition, Jan 1999, ISBN 013083617-6 (inclui CD-ROM) e o web site do livro em: http://www.netbook.cs.purdue.edu/ (para iniciantes, cobertura mais profunda que no livro acima).
Livro “Internetworking with TCP/IP: Principles, Protocols, and Architectures” de Douglas Comer, Vol. 1, Prentice Hall, 4th edition, 2000, ISBN 0-13-018380-6 (livro parte de uma série clássica de 3 vols. na área de redes TCP/IP, cobertura avançada para quem deseja se tornar um expert na área).
96
Alessandro Anzaloni, Cairo L. Nascimento Jr.
ConclusõesConclusões
Livro “TCP/IP: Solução para Conectividade” de A. F. L. Gasparini e F. E. Barella, Editora Érica, 3a edição, 1993 (cobertura aprofundada).
Livro na web “World Wide Web - Beyond the Basics” de Marc Abrams (editor), Prentice Hall, 1998:
http://ei.cs.vt.edu/~wwwbtb/book/ Documentação oficial sobre a Internet:
Internet RFC/STD/FYI/BCP Archives:http://www.faqs.org/rfcs/ e http://www.faqs.org/rfcs/np.htmlW3C - The World Wide Web Consortiumhttp://www.w3.orgThe Internet Engineering Task Force:http://www.ietf.org/
97
Alessandro Anzaloni, Cairo L. Nascimento Jr.
ConclusõesConclusões
TCP/IP Frequently Asked Questionshttp://www.itprc.com/tcpipfaq/
Welcome to Charles Spurgeon’s Ethernet Web Sitehttp://wwwhost.ots.utexas.edu/ethernet/
How the web Works: HTTP and CGI explainedhttp://www.stud.ifi.uio.no/~lmariusg/download/artikler/HTTP_tut.html
Vários guias sobre Internet na Internet, p. ex., em:http://dir.yahoo.com/Computers_and_Internet/Internet/World_Wide_Web/Information_and_Documentation/
Webnovice - Online WebZine:http://www.webnovice.com/
Tools for the Internet Trainer:http://www.state.mt.us/isd/techinfo/15minute/
Matisse’s Glossary of Internet Terms:http://www.matisse.net/files/glossary.html