98
1 Alessandro Anzaloni, Cairo L. Nascimento Jr. Ericsson Ericsson Material Adicional Material Adicional Cursos DATACOM e TCP/IP Cursos DATACOM e TCP/IP Redes de Computadores e Redes de Computadores e Tecnologia Básica de Tecnologia Básica de INTERNET INTERNET Instrutores: Alessandro Anzaloni e Cairo L. Nascimento Jr. (ITA) E-mail: [email protected], [email protected] Maio 2000 - São José dos Campos - SP (v. 1.1 em Julho 2000)

Alessandro Anzaloni, Cairo L. Nascimento Jr. 1 Ericsson Material Adicional Cursos DATACOM e TCP/IP Redes de Computadores e Tecnologia Básica de INTERNET

Embed Size (px)

Citation preview

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

e-mail

informação

e-mail

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

Ã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

Mail

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

91

Alessandro Anzaloni, Cairo L. Nascimento Jr.

Aplicações: WWWAplicações: WWW

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]:=>

94

Alessandro Anzaloni, Cairo L. Nascimento Jr.

Aplicações: WWWAplicações: WWW

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

98

Alessandro Anzaloni, Cairo L. Nascimento Jr.

ConclusõesConclusões

Lista de acrônimos:http://www.zdnet.com/anchordesk/glossary/

glossaryindexfull.html