Académique Documents
Professionnel Documents
Culture Documents
Protocolo Internet
Gustavo Reis
gustavo.reis@ifsudestemg.edu.br
- Protocolos de Internet
Mensagem
Aplicao
Segmento
Ht
Transporte
TCP, UDP
Hr
Ht
Rede
Hr
Ht
Enlace
Datagrama
Quadro
He
Fsica
UDP
Ethernet, PPP
- Protocolos de Internet
Arquitetura cliente-servidor
Servidor:
- Protocolos de Internet
Arquitetura P2P pura
Nem sempre no servidor
Sistemas finais arbitrrios
comunicam-se diretamente
Pares so intermitentemente
conectados e trocam
endereos IP
Altamente escalveis mas
difceis
de gerenciar
- Protocolos de Internet
Hbrida cliente-servidor e P2P
Napster
Transferncia de arquivo P2P
Busca centralizada de arquivos:
Contedo de registro dos pares no servidor central
Consulta de pares no mesmo servidor central para localizar o
contedo
Instant messaging
Bate-papo entre dois usurios P2P
Deteco/localizao centralizada de presena:
Usurio registra seu endereo IP com o servidor central quando fica
on-line
Usurio contata o servidor central para encontrar endereos IP dos
vizinhos
- Protocolos de Internet
Processos de Endereamento
Para um processo receber mensagens, ele deve ter um
identificador
Um hospedeiro possui um nico endereo IP de 32 bits
P.: O endereo IP do hospedeiro onde o processo est
executando suficiente para identificar o processo?
R.: No, muitos processos podem estar em execuo no mesmo
hospedeiro.
Servidor HTTP: 80
Servidor de Correio: 25
- Protocolos de Internet
O protocolo da camada de aplicao define
Tipo das mensagens trocadas, mensagens de requisio e resposta
Sintaxe dos tipos de mensagem: os campos nas mensagens e como
so delineados
Semntica dos campos, ou seja, significado da informao nos
campos
Regras para quando e como os processos enviam e respondem s
mensagens
Protocolos de domnio pblico
Definidos nas RFCs
Recomendados para interoperabilidade
Ex.: HTTP, SMTP
Protocolos proprietrios
Ex.: KaZaA
- Protocolos de Internet
De qual servio de transporte uma aplicao necessita?
Perda de dados
Algumas aplicaes (ex.: udio) podem tolerar alguma perda
Outras aplicaes (ex.: transferncia de arquivos, telnet) exigem
transferncia de dados 100% confivel
Temporizao
Algumas aplicaes (ex.: telefonia Internet, jogos interativos) exigem
baixos atrasos para serem efetivos
Banda passante
Algumas aplicaes (ex.: multimdia) exigem uma banda mnima para
serem efetivas
Outras aplicaes (aplicaes elsticas) melhoram quando a banda
disponvel aumenta
- Protocolos de Internet
Aplicao Perdas
file transfer
e-mail
Web documents
real-time udio/vdeo
sem perdas
sem perdas
tolerante
tolerante
Banda
Sensvel ao atraso
elstica
elstica
elstica
adio: 5 Kb-1 Mb
vdeo:10 Kb-5 Mb
igual anterior
kbps
elstica
no
no
no
sim, dcimo de segundo
sim, alguns segundos
sim, dcimo de segundo
sim e no
- Protocolos de Internet
Aplicao
e-mail
acesso de terminais remotos
Web
transferncia de arquivos
streaming multimdia
servidor de arquivos remoto
telefonia Internet
Protocolo de
aplicao
Protocolo de
transporte
TCP
TCP
TCP
TCP
TCP ou UDP
TCP ou UDP
tipicamente UDP
Camada de Aplicao
- Web e HTTP
Primeiro alguns jarges
Pgina Web consiste de objetos
Objeto pode ser arquivo HTML, imagem JPEG, Java applet,
arquivo de udio,
A pgina Web consiste de arquivo-HTML base que inclui
vrios objetos referenciados
Cada objeto endereado por uma URL (Uniform Resource
Locator)
Exemplo de URL:
www.someschool.edu/someDept/pic.gif
Nome do hospedeiro
Nome do caminho
Modelo cliente/servidor
HTTP stateless
- Conexes HTTP
HTTP no persistente
HTTP persistente
Mltiplos objetos podem ser enviados sobre uma conexo TCP entre o
cliente e o servidor
O HTTP/1.1 utiliza conexes persistentes em seu modo padro
- HTTP no persistente
Usurio entra com a URL:
www.someSchool.edu/someDepartment/home.index
1a.
1b.
Tempo
- HTTP no persistente
4. Servidor HTTP fecha conexo TCP.
5. Cliente HTTP recebe mensagem
de resposta contendo o
arquivo html, apresenta o
contedo html. Analisando o
arquivo html, encontra 10
objetos jpeg referenciados
Tempo
- Modelagem do tempo
de resposta
Definio de RTT (Round
Trip Time): tempo para
enviar um pequeno
pacote que vai do cliente
para o servidor e
retorna.
Tempo de resposta:
- HTTP persistente
Caractersticas do HTTP persistente:
HTTP persistente
Padro no HTTP/1.1
O cliente envia requisies assim que encontra um objeto
referenciado
- Tipos de mtodos
HTTP/1.0
HTTP/1.1
Linha de pedido
(comandos GET, POST,
HEAD )
User-agent: Mozilla/4.0
Linhas de Accept: text/html, image/gif,image/jpeg
cabealho
Accept-language:fr
Carriage return,
(extra carriage return, line feed)
line feed
indica fim da mensagem
Dados, ex.:
arquivo html
HTTP/1.0 200 OK
Date: Thu, 06 Aug 1998 12:00:15 GMT
Server: Apache/1.3.0
Last-Modified: Mon, 22 Jun 1998 ...
Content-Length: 6821
Content-Type: text/html
data data data data data ...
- Correio eletrnico
Trs componentes principais:
Agentes de usurio
Servidores de correio
Simple mail transfer protocol:
SMTP
Agente de usurio
leitor de correio
Composio, edio, leitura de
mensagens de correio
Ex.: Eudora, Outlook, Netscape
Messenger
Mensagens de entrada e de
sada so armazenadas no
servidor
- Correio eletrnico
Servidores de correio
- Correio eletrnico
Usa TCP para transferncia confivel de mensagens de correio do
cliente ao servidor, porta 25
Interao comando/resposta
Handshaking (apresentao)
Transferncia de mensagens
Fechamento
- Servidores Raiz
So contatados pelos servidores de nomes locais que no podem resolver um nome
Servidores de nomes raiz:
Buscam servidores de nomes autorizados se o mapeamento do nome no for conhecido
Conseguem o mapeamento
Retornam o mapeamento para o servidor de nomes loca
Existem 13 servidores
de nomes raiz no
mundo
- Exemplo
O hospedeiro em
cis.poly.edu quer o
endereo IP para
gaia.cs.umass.edu
- Resolvendo nomes
Consulta recursiva:
- Resoluo recursiva
edu
2
5
fh.edu
1
6
Cliente
csu.edu
- Resoluo Iterativa
edu
4
fh.edu
5
2
Cliente
csu.edu
- Exemplo
Resoluo recursiva
ou iterativa?
O hospedeiro em
cis.poly.edu quer o
endereo IP para
gaia.cs.umass.edu
Cabealho da msg
Identificao: nmero de 16
bits para consulta, resposta
usa o mesmo nmero
Flags:
Consulta ou resposta
Recurso desejada
Recurso disponvel
Resposta autorizada
Camada de Transporte
- Protocolos e servios de
transporte
Fornecem comunicao lgica
entre processos de aplicao em
diferentes hospedeiros
Os protocolos de transporte so
executados nos sistemas finais
Lado emissor: quebra as
mensagens
da aplicao
em segmentos e envia
para a
camada de rede
Lado receptor: remonta os
segmentos em mensagens e
passa
para a camada de
aplicao
H mais de um protocolo de
transporte disponvel para as
aplicaes
Internet: TCP e UDP
- Camada de transporte vs
camada de rede
Camada de rede: comunicao lgica entre os hospedeiros
Camada de transporte: comunicao lgica entre os processos
Depende dos servios da camada de rede
- Protocolos da camada de
transporte da Internet
Confivel, garante ordem de
entrega: TCP
Controle de congestionamento
Controle de fluxo
Orientado conexo
- Mecanismo de
endereamento
Aplicao
HTTP
DNS
SMTP
80
53
25
TCP / UDP
Transporte
TRANSPORTE VIRTUAL
e-mail
web
ftp
- Mecanismo de
endereamento
Nmero de porta
Nmero de porta destino: identifica o endereo de entrega
Nmero de porta origem: identifica o endereo de resposta
Discrimina entre os muitos processos que podem rodar
simultaneamente
Identificado por nmeros inteiros de 16-bits (0 a 65535)
IANA (Internet Assigned Number Authority)
Portas conhecidas ou permanentes: 0 a 1023
Portas registradas: 1024 a 49151
Portas dinmicas: 49152 a 65535
Alguns portas bem conhecidas RFC 1700
HTTP: porta 80
SMTP: porta 25
- Mecanismo de
endereamento
Identificado por nmeros inteiros de 16-bits (0 a 65535)
0
1023
1024
49.152
65.535
49.151
- Exemplo de endereamento
SOCKET: portas pelas quais dados passam da rede para o processo e do processo para a rede (KUROSE, 2006).
Este
o pedido
Processo
Socket
Cliente
Porta Fonte
50.001
Porta Fonte
25
Porta destino
50.001
Porta destino
25
Servidor
- UDP checksum
Objetivo: detectar erros (ex.: bits trocados) no segmento
transmitido
Transmissor:
Trata o contedo do segmento como seqncia de inteiros de 16
bits
Checksum: soma (complemento de 1 da soma) do contedo do
segmento
Transmissor coloca o valor do checksum no campo de checksum do
UDP
Receptor:
Computa o checksum do segmento recebido
Verifica se o checksum calculado igual ao valor do campo
checksum:
NO - erro detectado
SIM - no h erros. Mas, talvez haja erros apesar disso?
(I)
(II)
(III)
0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
(I)
(II)
1 0 1 1 1 0 1 1 1 0 1 1 0 1 0 1
(IV)
1 0 1 1 1 0 1 1 1 0 1 1 0 1 0 1
1 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0
1 0 1 0 0 1 0 1 0 1 1 0 0 0 0 0 1
(IV)
(III)
(V)
1 0 1 1 1 0 1 1 1 0 1 1 0 1 0 1
1 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0
wraparound
sum
checksum
(IV)
(III)
1 0 1 0 0 1 0 1 0 1 1 0 0 0 0 0 1
1
1
0 1 0 0 1 0 1 0 1 1 0 0 0 0 1 0
1 0 1 1 0 1 0 1 0 0 1 1 1 1 0 1
(V)
Binrio
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
- Exerccio
Qual a palavra a ser inserida no campo checksum, se o
segmento contm as seguintes palavras: 4465, 7477, 6F72, 6B73
Camada de Rede
- A camada de rede
- Transporta segmentos do
hospedeiro transmissor para o
receptor
- No lado transmissor encapsula os
segmentos em datagramas
- No lado receptor, entrega os
segmentos camada de
transporte
- Protocolos da camada de rede em
cada hospedeiro, roteador
- Roteador examina campos de
cabealho em todos os
datagramas IP que passam por
ele
- Funes-chave da camada
de rede
Analogia:
- Roteamento: processo de planejar a viagem da origem ao destino
- Comutao: processo de passar por um determinado caminho
- Funes-chave da camada
de rede
Entidade de rede em roteadores ou hospedeiros:
Camada de Transporte: TCP, UDP
Camada de
rede
protocolo de
roteamento
- Escolha de caminhos
- RIP, OSPF, BGP
Tabela
de rotas
protocolo IP
- Endereamento
- Formato dos datagramas
- Tratamento de pacotes
protocolo ICMP
- Aviso de erros
- Sinalizao de rotas
Camada de enlace
Camada fsica
- Funes-chave da camada
de rede
32 bits
verso do protocolo IP
tamanho do header
(bytes)
(Type of Service)
classe de servio
nmero mximo
de saltos
protocolo da camada
superior
length
fragment
16-bit identifier flgs
offset
TTL
protocol
Internet
checksum
tamanho total
do datagrama
(bytes)
para
fragmentao/
remontagem
Fragment offset
(mltiplo de 8 bytes)
Soma de
verificao
do cabealho
Ex.: marca de
tempo,registro
de rota lista de
roteadores a
visitar.
- Endereamento IP
- Endereo IP: identificador de 32
bits para interfaces de
roteadores e hospedeiros
- Interface: conexo entre
roteador ou hospedeiro e
enlace fsico
- Roteador tem tipicamente
mltiplas interfaces
- Hospedeiros podem ter
mltiplas interfaces
- Endereos IP so associados
com interfaces, no com o
hospedeiro ou com o
roteador
223.1.1.1 = 11011111 00000001 00000001 00000001
Notao decimal separada por ponto
223
- Endereamento IP
Prefixo e sufixo
Cada endereo IP de 32 bits dividido em duas partes:
prefixo e sufixo.
- Prefixo: identifica a rede fsica (NetID)
- Sufixo: identifica o computador da rede (HostID)
Propriedades
- a cada computador atribudo um endereo nico
- o nmero de rede coordenado globalmente
- os sufixos poder ser atribudos localmente
- Endereamento IP
- conhecido como endereamento IP de classes (classfull IP Addressing)
- conveno utilizada nos protocolos TCP/IP
- Classe A
- Classe B
Classes primrias
- Classe C
- Classe D
Multicast
- Classe E
Reservado
Identificao de Classe
1
1o.
1o.bit?
bit?
0
Classe
ClasseAA
1
2o.
2o.bit?
bit?
0
Classe
ClasseBB
1
3o.
3o.bit?
bit?
0
Classe
ClasseCC
4o.
4o.bit?
bit?
11
0
Classe
ClasseDD
Classe
ClasseEE
- Endereamento IP
Classe A: 1.0.0.0 at 127.0.0.0 - Permite at 16.777.216 de computadores em
cada rede (mximo de 127 redes);
Classe B: 128.0.0.0 at 191.255.0.0 - Permite at 65.536 computadores em
uma rede (mximo de 16.384 redes);
Classe C: 192.0.0.0 at 223.255.255.254 - Permite at 256 computadores em
uma rede (mximo de 2.097.150 redes);
Classe D: 224.0.0.0 at 239.255.255.255 - multicast
Classe E: 240.0.0.0 at 255.255.255.255 multicast reservado