Você está na página 1de 199

Técnico em Redes de

Computadores
Turma 0286

Tiago Machado
Protocolos de
Redes de Computadores
Introdução ao estudo

• Apresentação
• Ementa: Fundamentos de protocolos; Protocolos de enlaces; Protocolos de redes – Internet
Protocol; Roteamento; Fundamentos de protocolos de transporte e de aplicação.

• Aprendizado: Aulas e exercícios práticos com base na teoria apresentada.


• Uso de ferramentas básicas de rede existentes nos sistemas operacionais (Windows,
Linux, Mac)
• Wireshark, CISCO PACKET TRACER
Introdução

• Material didático:
• Base para estudos mais profundos
• Base para o entendimento dos protocolos na prática
Objetivo
• Entender a importância dos protocolos e como na prática
utiliza-los (RFCs)
• Entender a pilha de protocolos e sua organização no modelo da
internet (em comparativo com OSI/ISO)
• Entender na prática, através de estudo de caso os principais
protocolos existentes e estudados na disciplina: DNS, DHCP,
HTTP, ARP, MAC, TCP, UDP, IP, ICMP, ETHERNET…
• Protocolos abordados são os principais e essenciais, porém não
únicos
Objetivo

• Iremos estudar o acesso de um computador A (usuário) a


uma página de internet no computador B (servidor) e
entender "TODO" o fluxo básico de dados e os PROTOCOLOS
utilizados nesta comunicação
Protocolos

• Protocolo: um conjunto de informações, decisões, normas e ou


regras definidas para uma determinada situação
• Protocolo simples usual: o do controle de trânsito ou o ato de
cumprimento.
Protocolos em redes

• Diversos dispositivos e tecnologias


• Computadores, smartphones, tablets…
• Internet residencial, 4G, 3G, Wifi, rede pública…
• Como se comunicar neste ambiente tão heterogêneo?
Protocolos de redes
• Conjunto de regras que governam/regem a troca de dados
entre dispositivos
• Diversos protocolos em uma comunicação
• Define o formato e a ordem das mensagens trocadas entre
duas ou mais entidades comunicantes, bem como as ações
realizadas na transmissão ou no recebimento de uma
mensagem ou evento
• Protocolo x Implementação
Padronização de protocolos
• Principais:
• The Internet Engineering Task Force (Através das RFCs) (http://www.ietf.org/)

• RFCs: A RFC 3286 implementação do controle de fluxo de dados


(“streaming”).
Ex.: Youtube, Vimeo e Netflix.
• RFC 791? (https://www.rfc-editor.org/rfc/rfc791.txt)
• Brasil: https://www.cgi.br/ (RNP, registro.br, …)
Padronização de protocolos
• RFC: Request for Comments (RFC (acrónimo; em português, "pedido de comentários") são documentos técnicos
desenvolvidos e mantidos pelo IETF (Internet Engineering Task Force), instituição que especifica os padrões que serão
implementados e utilizados em toda a internet.

• Comunidade aberta internacional

• São sempre identificados por números, não necessariamente são padrões oficiais

• Um RFC não é alterável, outro RFC é publicado para correção.

• RFC 2026 é o RFC que padroniza os RFCs

• https://www.rfc-editor.org/about/
• Ex.: RFC TCP - https://www.ietf.org/rfc/rfc793.txt

Padronização de protocolos
Padronização
de protocolos
Arquitetura de camadas
Arquitetura em Camadas

Tipos de abordagens (Bottom/up x Top/Down)


Arquitetura em camadas

• Modularidade ao sistema (discutir uma parcela específica e


bem definida de um sistema grande e complexo)
• Exemplos:

ENVIO DE UMA CORRESPONDÊNCIA


Arquitetura em camadas
João Maria

Escreve Lê

Envelope Abre

Leva Entrega

Correios
cidade A Correios Correios
Arquitetura em camadas
Maria
João


Escreve

Abre
Envelope

Entrega
Leva

Correios Correios
cidade A cidade B

Correios
Arquitetura em camadas
João Maria

Escreve Lê

Envelope Abre

Leva Entrega

Correios
cidade A Correios Correios
Arquitetura em camadas
• Cada camada se comunica somente com
as camadas adjacentes (superior e
inferior).
• Cada camada usa serviços da camada
inferior e provê serviços à camada
superior.
• Para as camadas, o fluxo anterior e
subsequente é “transparente”, lida
apenas com a informação do seu nível!
Abordagens de camadas
João Maria
TOP/DOWN

Carta Lê

Envelope Abre

Carro Entrega

BOTTOM/UP
Correios Correios

Correios
Modelos de camadas
OSI/ISO

Modelo da Internet
OSI/ISO

• A ISO (International Organization of Standardization)


reconhece a necessidade de um modelo de rede que
auxiliasse na criação de implementações de redes
interoperacionais(?)
(Conjunto de protocolos que permitam a interconexão de redes heterogênias (?))

• Modelo de Referência OSI (Interconexão de Sistemas


Abertos)
OSI/ISO

● Acomodação de múltiplas plataformas de hardware e


software
■ Esconde os detalhes do hardware da rede
■ Permite a comunicação dos dispositivos de forma
independente do tipo de rede física adotada
OSI/ISO
• Modelo de Referência em 7 camadas
• Modelo OSI não obteve êxito comercial.
• O surgimento rápido crescimento do modelo Internet.
• Enquanto o modelo OSI foi lentamente concebido.
• Complexidade do modelo OSI,
• Primeiras implementações oferecidas pelos fabricantes
demoraram a ser lançadas,
• Baixo desempenho
• Não eram totalmente compatíveis entre si,
• Modelo Internet era simples e eficiente, estava disponível em
diversas plataformas e mantinha a compatibilidade entre as
diversas implementações.
TEXTO

OSI - 7 CAMADAS
▸ Comum referência ao
número da camada.
Ex.: Switch Layer 2
OSI - CAMADAS
▸ Interfaces com aplicativos
OSI - CAMADAS
▸ Interfaces com aplicativos

▸ Formatos / Criptografia
OSI - CAMADAS
▸ Interfaces com aplicativos

▸ Formatos / Criptografia

▸ Controle de Sessões entre aplicativos


OSI - CAMADAS
▸ Interfaces com aplicativos

▸ Formatos / Criptografia

▸ Controle de Sessões entre aplicativos

▸ Conexão entre Hosts / Portas


OSI - CAMADAS
▸ Interfaces com aplicativos

▸ Formatos / Criptografia

▸ Controle de Sessões entre aplicativos

▸ Conexão entre Hosts / Portas

▸ Endereço lógico / roteamento


OSI - CAMADAS
▸ Interfaces com aplicativos

▸ Formatos / Criptografia

▸ Controle de Sessões entre aplicativos

▸ Conexão entre Hosts / Portas

▸ Endereço lógico / roteamento

▸ Endereço físico / Verificação de erro


OSI - CAMADAS
▸ Interfaces com aplicativos

▸ Formatos / Criptografia

▸ Controle de Sessões entre aplicativos

▸ Conexão entre Hosts / Portas

▸ Endereço lógico / roteamento

▸ Endereço físico / Verificação de erro

▸ Hardware / Sinal elétrico / bits


OSI/ISO
Modelo Internet (RFC-1958 e RFC-2775)
• Também chamado de modelo TCP/IP (década de 60)
• Suportar diferentes tipos de serviços
• Oferecer uma boa relação custo-benefício
• Possui 4 camadas, em que são definidos diferentes protocolos para cada
camada, diferentemente do modelo OSI, no qual são definidas apenas as
funcionalidades de cada camada.
• Obs.: Alguns livros detalham a camada de enlace em enlace/física (camada
de acesso a rede), ou seja, é comum encontrar em outras bibliografias o
modelo da internet com 5 camadas.
Modelo Internet
• Privilegiaram-se os protocolos, posteriormente a arquitetura.
Funcionalidades das Camadas
Agentes responsáveis
Principais protocolos por camada
Extra: Wireshark
• O Wireshark é um programa que analisa TODO o tráfego
(snif) de rede, e o organiza por protocolos.
• Utilizado mundialmente por analistas de rede e por Hackers
(White hat / Black hat).
• Ferramenta essencial na análise do tráfego de uma rede
• https://www.wireshark.org/
• Windows / OSx / Linux
Extra: Wireshark

• Instalar o Wireshark
• Selecionar a interface de rede que será utilizada para a
captura de pacotes: Cabeada ethernet ou Wi-fi
• Iniciar a captura:
Extra: Wireshark
Comunicação entre camadas
(Vertical x Horizontal)

Encapsulamento e nomenclaturas

Extra: Ferramentas nativas dos SOs


Comunicação Vertical

• No modelo de camadas, cada nível comunica-se apenas com


a(s) camada(s) adjacente(s), formando a comunicação vertical
• Cada nível oferece um conjunto de serviços para a camada
imediatamente superior e utiliza serviços do nível inferior
Comunicação Horizontal

• Na origem, cada camada adiciona ao dado a ser enviado


informações de controle, na forma de um cabeçalho, que serão
recebidas e processadas pela camada de destino.
Comunicação Horizontal
Encapsulamento

• Cada camada trata apenas das informações relacionadas ao seu


cabeçalho - abstração de que as camadas se comunicam
diretamente/comunicação virtual
• "Existe" uma comunicação horizontal camada a camada para
cada nível do modelo. Essa abstração é possível graças ao conceito
de encapsulamento
Encapsulamento
• Encapsulamento: permite esconder de um determinado nível
as informações de controle referentes aos níveis superiores,
criando o efetivo isolamento e a independência entre as
camadas.
• Na origem, o dado é acrescido do cabeçalho de aplicação,
formando um PDU (Protocol Data Unit) ou unidade de dados do
protocolo.
Encapsulamento
Nomenclaturas - Internet
Nomenclatura - Internet

• Embora seja comum o uso do termo "Pacote" para todas as informações trocadas numa rede, este termo só deve ser aplicado para as PDUs de camada 3 (Rede).

Camada de aplicação: TA)

Camada de transporte: SEGDADO / MENSAGEM (DAMENTO (SEGMENT)

Camada de rede: PACOTE (PACKET) ou DATAGRAMA (DATAGRAM)

Camada de enlace: QUADRO (FRAME);

Camada física: BIT (BIT);


Extra

• Nem sempre são necessários aplicativos específicos de rede


para identificarmos problemas ou erros;
• Aplicações nativas são muito úteis
• No windows o CMD PROMPT, no LINUX ou OSx, o terminal
Extra
• Diversos protocolos estudados poderão ter conteúdo prático
utilizado simplesmente pelos terminais.
• Comandos para identificarmos o IP do computador, o gateway, o
servidor DNS, WINS, DHCP
• Listar adaptadores de rede ativos
• Consultar tabela ARP, endereços MAC, rotas de conexão e outras
diversas funcionalidades!!!
• Iniciaremos o uso na próxima unidade!
Camada de Aplicação
Camada de Aplicação (parte 1)

DNS

DHCP

DNS na prática com terminal

DHCP na prática com Wireshark


Camada de Aplicação
Aplicação
• Aplicações de rede são a razão de ser
Transporte
de uma rede de computadores.
Se não fosse possível inventar Rede
aplicações úteis, não haveria Enlace
necessidade de projetar protocolos
de rede para suportá-las. Física

• Oferecer serviços de rede para os usuários e suas aplicações, como


serviços de nomes, sites, transferência de arquivos, correio
eletrônico, gerência remota, entre outros…
Camada de Aplicação
• É a única camada cuja implementação é realizada através de processos do sistema operacional.
• SMTP (Simple Mail Transfer Protocol) – correio eletrônico;

• DNS (Domain Name System) – mapeamento de nomes em endereços de rede;

• HTTP (Hypertext Transfer Protocol) – WWW (World Wide Web).

• Telnet – terminal virtual;

• FTP (File Transfer Protocol) – transferência de arquivos;

• SNMP (Simple Network Management Protocol) – gerenciamento de redes;


DNS
• CPF x NOME : Oi, meu nome é 440.231.442-99. Este é meu
marido, 131.442.491-22”?
• Resposta ao chato, IPv6:
2001:BCE4:5641:3412:341:45AE:FE32:65
• Cada dispositivo é um IP
• No navegador usamos nomes:
www.josedascouves.com
fulano@email.com
DNS
• Camada de rede usa IPs
• Como fazer então?
• DNS é o protocolo responsável pela tradução de nomes em
IPs.
• DNS Estático x Dinânimo
• Linux: resolv.conf
• Windows » System32 » Drivers » etc » hosts
DNS
• DNS utiliza mapeamento DINÂMICO
• Utilizada transporte os protocolos TCP ou UDP e recebe
conexões na porta reservada 53
• Se o usuário utilizar o endereço: http://172.217.162.110 (google),
haverá consulta ao DNS?
• Computadores, smartphones são clientes DNS, enquanto a resposta do
endereço IP de um nome é dada por um servidor DNS
DNS na prática
• ATIVIDADE: Estudo da hierarquia de servidores DNS

• Em suma DNS traduz NOME para IP, e vice-versa?
• Vamos praticar? Abra a tela de comando do seu computador
(Windows prompt ou linux terminal)
• Em ambos sistemas o comando para consultas DNS é:

nslookup
DNS na prática
• nslookup www.google.com?

• 1) Abra o navegador e digite o


IP 172.217.28.228?
• Non-authoritative answer?
Servidores DNS “não principais”
• nslookup www.google.com ns1.google.com ???
DNS na prática

• nslookup NETFLIX?
Balanceamento de carga
em DNS?
• E se soubermos o IP de um servidor mas queremos saber o
nome deste servidor? NSLOOKUP reverso?
TEXTO

DNS - APÊNDICE
▸ FQDN (Fully Qualified Domain Name) - Nome completo de um domínio.
▸ Ex.: intranet.trt3.jus.br
▸ Computador: intranet
▸ Domínio: trt3
▸ Estrutura:
▸ ... host.3rd-level-domain.2nd-level-domain.top-level-domain
▸ Ex.: escritorio.test.sub.dominio.com.br
TEXTO

DNS ROOT
▸ 13 entidades que controlam (mais de 300 servidores / 6
continentes) principais (ROOT-SERVERS) - Nasa, Dept. Defesa
EUA, Universidades americanas, Verisign (http://root-servers.org/)

▸ 1 Holanda, 1 Finlandia, 11 nos EUA


▸ Anycast (responde o mais próximo)
▸ Possuem tabela com relação de todos os servidores
HIERARQUIA DE REQUISIÇÃO DNS

DNS - QUERY
DHCP
DHCP
• DHCP – Dynamic Host Configuration Protocol - dispositivo
recebe IP “automáticamente”
Ex.: wifi em geral, rede cabeada de bibliotecas, etc.
• Manual (estático) x Automático (dinâmico)
• Não só IP, são necessários para conectar à internet, no
mínimo: IP, Mascara de rede, servidor DNS e Gateway,
também NTP.
Cliente-servidor
DHCP
DHCP
• Estação envia requisição DHCP (DHCP DISCOVER): Essa solicitação utiliza
como Origem o IP 0.0.0.0 e destino o IP 255.255.255.255 (broadcast)
• Servidor DHCP responde com DHCP OFFER (ofertando um IP) via endereço da
interface (não IP e sim MAC - será estudado futuramente)
• Estação confirma que aceitou a oferta (DHCP REQUEST)
origem 0.0.0.0 e de destino 255.255.255.255.
• Por fim: a resposta do tipo DHCP ACK emitida pelo servidor, dhcp
confirmando a designação do endereço.
DCHP
• Outros parâmetros podem ser distribuídos via DHCP, não
somente IP, Máscara, DNS e Gateway
• Um dos principais parâmetros de servidores DHCP é o
Leasetime (tempo de expiração)
DHCP na prática

• Abrir o Wireshark e iniciar a captura


• No Windows ir para o terminal e digitar:
• ipconfig /release
• ipconfig /renew
DHCP na prática

Filtro no wireshark:
bootp
DNS na prática

• A partir do estudo anterior, abra o terminal e capture o


tráfego DNS, por exemplo: nslookup www.google.com
Camada de Aplicação
Camada de Aplicação (parte 2)
HTTP
HTTPs
Protocolos de Correio Eletrônico
HTTP x HTTPS na prática com Wireshark
HTTP
• Acessamos inúmeras páginas diariamente
• Hospedadas em servidores web, ou servidores HTTP

• HTTP (HyperText Transfer Protocol) permite que uma página web armazenada em
um determinado servidor seja copiada para o cliente web e exibida pelo browser.

• HTTP utiliza o protocolo TCP como transporte principalmente na porta reservada 80


• Não devemos confundir esse protocolo com o padrão HTML (Hypertext Markup Language),
são codificadas para serem apresentadas pelos navegadores
HTTP
• HTTP são no formato texto
• Solicitações do cliente para o servidor (request)
• GET (solicita uma página)
HTTP
• Requisição
• GET: recupera o objeto informado na URL
• POST: envia informações de formulário.
• Resposta
• 200: requisição processada com sucesso.
• 301: objeto solicitado foi movido.
• 400: erro genérico no processamento.
• 404: objeto solicitado não existe (Page not found!)
• 505: versão requisitada não é suportada.
HTTP na prática

• Fazer captura de tráfego HTTP com formulário POST

• http.request.method == POST

• Ex.: http://resiscomsex.eb.mil.br/
HTTPs
• HTTP não oferece nenhuma confidencialidade no envio das
informações (senhas, contas bancárias e números de cartões de
créditos são enviados em claro) sem nenhum tipo de criptografia.
• HTTPS (HTTP Secure). HTTP com o protocolo SSL (Secure Socket Layer) =
SIGILO
• Solução para mensagens em texto puro
• Se quiser, tente capturar pacotes, dados de sites com HTTPs, de bancos
por exemplo…
• HTTPS usa porta 443
Correio Eletrônico
• Serviço amplamente utilizado
• Possui dois agentes: Usuário e de transferência
• A envia e-mail para B - A mensagem não vai diretamente!
• eu@yahoo.com -> voce@hotmail.com
• eu -> YAHOO -> HOTMAIL -> você
Protocolos de correio

• SMTP, o POP3 e o IMAP


• O SMTP é um protocolo utilizado para que um servidor
envie uma mensagem para outro (protocolo de transporte
entre servidores) ou para que um cliente envie uma
mensagem para um servidor (protocolo de submissão de
email)
Protocolos de correio
• POP3 (Post Office Protocol versão 3), usuário acessa ao seu
servidor de e-mail e transfira as mensagens do servidor para
a máquina local
Protocolos de Correio

• O protocolo IMAP (Interactive Mail Access Protocol),


definido na RFC-3501, permite que um cliente tenha acesso
ao seu servidor de e-mail, onde está sua caixa postal, e
apenas consulte suas mensagens no servidor, sem copiá-las
para a máquina local.
IMAP x HTTP
• IMAP não é HTTP
• A maioria dos usuários de Webmail utilizam o browser como
agente para a leitura das mensagens e o protocolo HTTP para
a transferência (gmail, yahoo, hotmail)
• As leituras e envio de mensagens entre o navegador e o
servidor são via HTTP ou HTTPs e não via protocolos de
correio eletrônico
Portas servidores email

SMTP: 587 TLS, 465 SSL


POP3: 110
IMAP: 993
Camada de Aplicação
FTP

SSH

TELNET
FTP = FILE TRANSFER
PROTOCOL
• Protocolo de transferência de arquivo similar ao HTTP
• Utiliza TCP
• FTP usa duas conexões TCP paralelas para transferir um
arquivo
• As requisições e controle e transmissão de dados
• Controle usa porta padrão 21
• Canal de dados - outras portas 20
FTP na prática

• Abrir o FTP via terminal (prompt) ou via Windows Explorer


• Endereço para teste: ftp.unicamp.br
• Usuário padrão do ftp anonymous (-A)
• Comandos básicos: open, dir, cd, ls, get…
• Mapear este tráfego com o Wireshark
FTP via Explorer &
FTP via CMD/Prompt
Telnet
• Telnet existe antes da internet: Acessar terminal em servidor ou outro
computador.
• Comandos digitados no teclado e que aparecem na tela do cliente são
processados num servidor distante
• Dados de forma não-segura e com fluxo em linha de texto, garantindo uma
comunicação básica.
• Mas é a partir dele que os demais protocolos da internet se
desenvolveram.
• SSH é uma das evoluções do Telnet, utiliza dados criptografados
Camada de Transporte
Serviços

Processos

Portas

Multiplexação / Demultiplexação

UDP
Camada de Transporte

• Protocolo de camada de transporte é Aplicação


proporcionar comunicação processo a Transporte
processo (entidade da camada de
Rede
aplicação - programa em execução - que
usa os serviços da camada de Enlace
transporte. Física
Camada de Transporte
• A camada de rede - responsável pela comunicação no nível dos computadores
(comunicação host a host).
• O protocolo de camada de rede entrega a mensagem apenas para o computador
de destino (ENDEREÇO IPV4)
• Mas a entrega ainda não está completa!
• A mensagem ainda precisa ser entregue ao processo correto.
• Protocolo de camada de transporte é responsável pela entrega da mensagem
para o processo apropriado
Porta
• Mas como identificar o processo?
• Estações cliente x servidor identificadas por IP
• Um servidor e um cliente possuem inúmeros processos para cada IP, como
identificar a aplicação?
• Portas: 0 e 65.535 (16 bits)
• Identifica-se o processo por SOCKET: Cada aplicação recebe um endereço
único na máquina
(a combinação endereço IP + porta é então um endereço único no mundo,
chamado socket).
Portas

• FTP 21 DHCP 67 e 68
• SSH 22
• HTTP 80 / HTTPS 443
• TELNET 23
• SMTP 25
Portas
• Windows? Mapear porta e processo?
netstat -ano
Multiplexação / Demultiplexação
Multiplexação / Demultiplexação

● A camada de transporte na origem realiza a multiplexação, a


camada de transporte no destino executa a demultiplexação.
Multiplexação / Demultiplexação
UDP
UDP
• Serviço de datagramas a camada de transporte da arquitetura
TCP/IP define dois diferentes protocolos: UDP e TCP.
• UDP é um padrão TCP/IP - Transporte rápido, sem garantia
de entrega e verificação
• Em suma: UDP manda os dados para o destino; se vai
chegar ou se vai chegar corretamente, sem erros, não é
possível saber
UDP
• Especificação, de forma precisa, do formato da unidade de dados do
serviço de datagramas da camada de transporte, denominada datagrama
UDP.
• Multiplexação das mensagens geradas pelos vários processos de aplicação
origem no serviço provido pela camada de rede.
• Demultiplexação, no destino, dos datagramas UDP recebidos da camada
de rede para os respectivos processos de aplicação destino.
• Transporte por DATAGRAMAS IP
UDP
• Não implementa correção de erros, controle de fluxo e
controle de sequência.
• Não garante que os datagramas sejam entregues na sequência
original.
• Datagramas podem ser perdidos, retardados e até mesmo
chegar fora de ordem.
• Quando desejada, a confiabilidade deve ser provida pela
camada de aplicação.
UDP

• Source port: Porta associada ao processo de origem; permite ao processo de destino retornar mensagens ao
processo de origem; é campo opcional;
• Destination port: Porta associada ao processo de destino; Usada na demultiplexação das mensagens
encapsuladas nos datagramas.
• Length: Tamanho total do datagrama em bytes; inclui o cabeçalho e os dados.
• Checksum: Assegura a integridade do datagrama; inclui o cabeçalho e os dados; Detecção de erros é opcional.
• Data: Dados do datagrama;
Camada de Transporte
TCP

Confiabilidade
TCP
• Transferência de dados: Padrão full-duplex entre 2 pontos, ou seja,
ambos os pontos conectados podem transmitir e receber
simultaneamente.
• Transferência de dados com diferentes prioridades: Interpreta as
sinalizações de prioridades e organiza o encaminhamento dos
datagramas segundo ela.
• Estabelecimento e libertação de conexões: Solicita e aceita o início e o
término das transmissões entre hosts.
TCP
• Sequenciação: Ordenação dos pacotes recebidos.

• Segmentação e reassemblagem: Divide uma informação maior


em pacotes menores para transmissão.Identificando-os afim
de serem reagrupados adequadamente no recebimento.
• Controle de fluxo: Analista as condições da transmissão
(velocidade, meio físico, tráfego, etc.) e adapta os datagramas
para essa transmissão.
TCP

• Controle de erros: Através do conjunto de bits (checksum) do


seu cabeçalho, verifica se os dados transmitidos estão livres
de erros. É possível também a sua correção.
• Multiplexação de IP: Uma vez que é utilizado o conceito de
portas, é possível enviar dados de diferentes tipos de serviços
(portas diferentes) para o mesmo host de destino.
TCP
• Threeway handshake:
• Wireshark: Acesso a qualquer site, capture o conteúdo
• Encontre um pacote de ACK ou SYN,ACK
• Botão direito, "FOLLOW", "TCP STREAM”:
DATAGRAMA TCP x UDP
TCP x UDP na prática

• Identificar os campos UDP e TCP no wireshark, comparar o


número de campos e complexidade de cada protocolo…
• Qual conclusão?
Camada de rede
Roteamento

IP (IPv4)

Fragmentação

Endereçamento
Camada de Rede

• Aparentemente simples — transportar pacotes de um


hospedeiro remetente a um hospedeiro destinatário Aplicação
• Repasse refere-se à ação local realizada por um roteador para Transporte
transferir um pacote da interface de um enlace de entrada
para a interface de enlace de saída apropriada. Rede
• Roteamento refere-se ao processo de âmbito geral da rede Enlace
que determina os caminhos fim a fim que os pacotes Física
percorrem desde a origem até o destino.
Camada de Rede
• IP: protocolo da camada de rede responsável pelo encaminhamento dos
dados numa rede
• IP único e universal composto de 32 bits e pode ser escrito da seguinte
forma:200.217.69.132 / 11001000.11011001. 1000101.10000100
• Serviços: interconexão, roteamento, endereçamento, fragmentação e
encapsulamento
• Protocolo base da arquitetura internet e é utilizado por todos os
serviços de aplicação
IP
• IP determina o destinatário da mensagem graças a três
campos: o endereço do dispostivo, o campo máscara de
sub-rede e o gateway.
• Dados circulam na Internet na forma de datagramas.
Datagrama = Dado + cabeçalho
Os dados contidos nos datagramas são analisados (e
eventualmente alterados) pelos switches (roteadores) que
permitem o seu trânsito.
Fragmentação
• A dimensão máxima de um datagrama IP é de 65.536b
• Redes na Internet utilizam diferentes tecnologias, de modo
que a dimensão máxima (MTU) de um datagrama varia de
acordo com o tipo de rede.
• Ethernet 1500
• Roteadores fragmentam pacotes
Fragmentação
• O roteador envia os fragmentos de maneira independente e
encapsulá-los novamente (acrescentar um cabeçalho a cada
fragmento) de modo a ter nova dimensão do fragmento.
Além disso, o roteador acrescenta informações para que o
computador de destino possa remontar os fragmentos
corretamente. Nada impede, contudo, que os fragmentos
cheguem na ordem correta, já que são encaminhados
independentemente uns dos outros.
IPv4
• IPV4 = 4.294.967.296 186.248.201.22

• Reservados: 588.514.304
0.0.0.0/8 Current network (only valid as source address) RFC 6890
10.0.0.0/8 Private network RFC 1918 10.0.0.0-10.255.255.255
100.64.0.0/10 Shared Address Space RFC 6598
127.0.0.0/8 Loopback RFC 6890
169.254.0.0/16 Link-local RFC 3927
172.16.0.0/12 Private network RFC 1918 172.16.0.1 - 172.31.255.254
192.0.0.0/24 IETF Protocol Assignments RFC 6890
192.0.2.0/24 TEST-NET-1, documentation and examples RFC 5737
192.88.99.0/24 IPv6 to IPv4 relay (includes 2002::/16) RFC 3068
192.168.0.0 /16 Private network RFC 1918
198.18.0.0/15 Network benchmark tests RFC 2544
198.51.100.0/24 TEST-NET-2, documentation and examples RFC 5737
203.0.113.0/24 TEST-NET-3, documentation and examples RFC 5737
224.0.0.0/4 IP multicast (former Class D network) RFC 5771
240.0.0.0/4 Reserved (former Class E network) RFC 1700 = 264mi
255.255.255.255 Broadcast RFC 919
TEXTO

ENDEREÇAMENTO IPV4
▸ Endereço IP: Endereço lógico que cada dispositivo na rede possui.
▸ Pode ser atribuído manualmente
▸ Pode ser distribuído automaticamente
▸ Manualmente = fixo ?
Automaticamente = dinâmico ?
▸ Exemplo: 10.3.1.1
▸ Limite inferior? Limite superior?
TEXTO

ENDEREÇAMENTO IPV4

IP: 118.26.175.93

01110110.00011010.10101111.01011101
TEXTO

ENDEREÇAMENTO IP
▸ Classes para redes privadas (não roteáveis para internet):
▸A: 10.0.0.0 - 10.255.255.255
▸B: 172.16.0.0 - 172.31.255.255
▸C: 192.168.0.0 - 192.168.255.255
Loopback: 127.x.x.x
▸Auto: 169.254.x.x
Automatic Private IP Addressing - APIPA
TEXTO

MASCARA DE REDE
▸ ANALOGIA:
▸ Apartamento 129 e 144 estão no mesmo andar?
▸ 12.9e 14.4 ou
1.29 e 1.44
▸ REGRA AQUI DETERMINA SE ESTÂO OU NÃO!
OU SEJA, A MÀSCARA DE REDE DETERMINA SE ESTÂO NA MESMA REDE OU Não!
TEXTO

MASCARA DE REDE
▸ ANALOGIA:
▸ Apartamento 129 e 144 estão no mesmo andar?
▸ 12.9 e 14.4 ou
1.29 e 1.44
▸ Para saber devemos saber a regra do prédio.
▸ Ex.: real - apt 1066
▸ A máscara de rede é a regra para o endereçamento IP
Como saber se dois IPs estão ou não na mesma rede?
TEXTO

MASCARA DE REDE
▸ IP 192.168.0.1 e 192.168.0.190 estão na mesma rede?
▸ A máscara define quantos dígitos são usados para a rede (andar) e
quantos são utilizados para representar os hosts/equipamentos
(apartamentos).
▸ Só é possível afirmar com a máscara de rede.
▸ Mais comum, todos sabem de cabeça:
▸ 192.168.0.1 está na mesma rede 192.168.0.190 com a máscara
255.255.255.0
QUANTO MENOR A MASCARA (\) MAIOR A
REDE E VICE-VERSA
192.168.10.1 NÂO ESTA NA MESMA REDE DO 10.0.0.5

▸192.168.0.1 NA MASCARA 255.255.255.128 (25)


REDE 192.168.0.1 até Broadcast: 192.168.0.127 (ULTIMO VALIDO)
Só tem IPS nessa faixa de 192.168.0.1 a 192.168.0.127
Quer dizer que o 192.168.0.129 até 192.168.0.254 mascara /25
TEXTO

MASCARA DE REDE
▸ Rede mais simples comum é de máscara 255.255.255.0 pois, para uma rede
192.168.0.0
▸ Máscara
000000000.00000000.00000000 | 00000000
24 bits para representar redes | 8 dígitos para hosts
BITS MARCADOS EM 1 p/ REDE | BITS MARCADOS EM 0 p/ HOSTS
▸ IP 1 = IP representa a rede: 192.168.0.0
ULITMO IP = Broadcast: 192.168.0.255
IPs possíveis = 256
IPs utilizáveis = 254
▸ Nesta notação a máscara é chamada de /24
NAT (network Address Translator)
• No início dos anos 90 já se previa o esgotamento de IPs.
• Criado antes de ser necessário mudar a tecnologia de
endereçamento.
• Como o nome diz, traduz endereço IP
NAT
• Rede interna, IP privado
A: 10.0.0.0 - 10.255.255.255 /8
B: 172.16.0.0 - 172.31.255.255
C: 192.168.0.0 - 192.168.255.255
Não roteáveis para internet
• NAT cuida de saber quem enviou o pacote pela rede interna e envia como sendo
pacote com IP real da rede externa - assim o pacote pode trafegar na internet
• A grosso modo - Tabela NAT que contém dados para cada conexão
• (IP interno, Porta Interna, IP Destino, IP Externo, Porta Externa,Porta NAT)
• Como fazer para acessar um serviço em um computador dentro de um
NAT?
• Jogos online? Cameras IP? Acesso remoto na PORTA 5900?
• Configurar o PORT FORWARDING para tal
• Demandas para determinada porta são redirecionadas
para um IP específico
• Se quiser acessar 2 VNCS? Neste caso não é possível na mesma
porta
CGNAT
• Carrier Grade NAT
Surgiu após o esgotamento de IPV4 para as operadoras de banda
larga.
• Comum em conexões da NET
• Ao invés do IP de borda do roteador residencial ser real, o IP
entregue é de rede privada, na realidade o que é feito é NAT
em cima de NAT. Neste caso, não é possível realizar o DNAT a
não ser que configurado pela operadora.
CGNAT e NAT
• Verificar se seu provedor utiliza NAT ou não…
• Como? Lembrando…
Endereços privados https://tools.ietf.org/html/rfc1918

RFC 6598 -GCNAT IPs


compartilhados

• NAT no Wireshark?
Camada de Rede
ICMP

Algoritmos de roteamento

Protocolos de roteamento
ICMP (RFC 792)

• Protocolo IP é não-orientado à conexão. Faz o possível para que


um datagrama chegue ao seu destino.
• Não garante entrega: Aplicação
• Não possui nenhum tipo de confirmação positiva ou Transporte
negativa
• Segundo, não há mecanismo de detecção e correção do
Rede
problema Enlace
• Internet control message protocol (ICMP) foi projetado para
suprir essas demandas. Física
• Mensagens de erro e mensagens de requisição
ICMP (RFC 792)

• Usado por hospedeiros e roteadores para comunicar


informações de camada de rede entre si.
• Mais comum do ICMP é para comunicação de erros.
• Mensagens ICMP são carregadas como carga útil IP,
exatamente como segmentos TCP ou UDP
• Mensagens têm campo de tipo e um campo de código
ICMP (RFC 792)

• Ping envia uma mensagem ICMP


do tipo 8 código 0.
• Destino, ao ver a solicitação de
eco, devolve uma resposta de eco
ICMP do tipo 0 código 0.
• Execuções de TCP/IP suportam o
servidor ping diretamente no
sistema operacional (maioria)
Traceroute

• Comando Tracert ou Traceroute


• Executados com mensagens ICMP com TTL variando
(aumentando para alcançar mais “nós”)
• Na prática: Wireshark + terminal + Traceroute
• Traceroute envia 3 pacotes com mesmo TTL
Algoritmos de roteamento

• Esta seção tem como objetivo mostrar como é realizado o


roteamento na Internet,
• Breve visão dos mecanismos de roteamento
• Os problemas e soluções específicos de roteamento na
internet serão estudados em disciplinas posteriores como
Roteamento e Protocolos de roteamento.
Algoritmos de Roteamento
• Roteamento = encaminhar pacotes
• Baseado endereço de destino (interfaces para outras redes
como outros roteadores)
• Tabela de roteamento (formada por de destinos):
• É consultada toda vez que um pacote chega ao roteador, e
o respectivo caminho a ser seguido para alcançar o nó
destino do pacote.
Algoritmos de Roteamento

• Processo de verificação e encaminhamento do pacote é


chamado de salto-por-salto (hop-by-hop)
• Roteador "abre" cada pacote, verifica o destino e consulta sua
tabela para verificar o melhor caminho a ser seguido.
• A tabela de roteamento de um gateway é atualizada a partir
da execução do seu respectivo algoritmo.
Algoritmos de Roteamento

• Vetor de Distância (Vector-Distance)


Algoritmos de Roteamento
• Método do vetor de distâncias é baseado na propagação de rotas,
com incremento de custos.
• A) Os roteadores divulgam as redes a que estão diretamente
conectados por seus enlaces
• B) Apenas as melhores ofertas são aceitas para cada rede
• C) Quando um roteador recebe uma rota, ele a repassa adiante
acrescentando a ela o seu próprio custo
Algoritmos de Roteamento
• Estado de Enlace
• Gateway deve saber a topologia completa da internet.
• Gateway: Testar continuamente o estado dos enlaces com os vizinhos e
enviar periodicamente os dados relativos ao estado de seus enlaces para
todos os outros gateways.
• Ao receber uma informação de estado, um gateway atualiza seu mapa da
rede internet, ativando ou desativando os enlaces em questão e recalcula
as rotas para todos os destinos possíveis através do algoritmo de menor
caminho, Shortest-Path-First (SPF), aplicado à topologia da rede internet.
Algoritmos de Roteamento
• Estado de enlace: muito mais eficientes que os de vetor de distância,
porém podem exigir roteadores um pouco mais sofisticados.
• Nesse método, cada roteador mantém um banco de dados completo
com a descrição de toda topologia da rede (link state database)
• O cálculo das rotas é realizado localmente, não dependendo de
máquinas intermediárias.
• A detecção de problemas torna-se mais fácil.
Protocolos de Roteamento
• Determinam a maneira pela qual os gateways devem trocar informações
necessárias à execução do algoritmo de roteamento.
• OSPF (Open Shortest First Path): TCP/IP, Link State, busca pelo menor
caminho é computada localmente, usando o algoritmo Shortest Path First -
SPF.
• O SPF: o invés de ter na tabela as melhores rotas, todos os nós possuem
todos os links da rede. Cada rota contém o identificador de interface, o
número do enlace e a distância ou métrica. Com essas informações os
nós (roteadores) descobrem as melhores rotas.
Protocolos de Roteamento

• RIP (Routing Information Protocol) - Vector-Distance:


O RIP divide as máquinas da sub-rede em ativas e passivas. As máquinas
ativas divulgam informações de roteamento para as outras, enquanto as
máquinas passivas recebem as informações e atualizam suas rotas, sem
divulgá-las.
• Tipicamente, os gateways executam o RIP no modo ativo, enquanto
as estações o executam no modo passivo.
Protocolos de Roteamento
• Necessidade de acrescentar funções de policiamento no roteamento
tornou-se cada vez mais real e o protocolo deveria suportar topologias mais
complexas.
• Protocolo BGP para suprir as deficiências do EGP no roteamento entre
sistemas autônomos (AS).
• Se preocupam com critérios políticos de roteamento. Um SA deve e enviar
pacotes para algum host e receber pacotes de outro. Não deve conduzir
pacotes entre sistemas autônomos (SA's) que não seja de seu interesse.
• Ex.: Pacotes provindos de outros provedores de acesso
Protocolos de Roteamento
• Permite muitos critérios de roteamento
• Ordem política, segurança, ou econômicas.
• Proibir determinado tráfego na rede explicitamente
• Coréia do Norte x Coréia do Sul
• Roteadores BGP - o mundo consiste apenas de outros roteadores BGP
interconectados. Dois roteadores BGP são considerados conectados se eles
compartilham uma rede comum. Pares de roteadores BGP se comunicam através de
conexões TCP. Operando deste modo eles fornecem uma comunicação confiável e
escondem os detalhes da rede que os pacotes estão passando.
Protocolos de Roteamento

• Vector distance - mas com uma pequena diferença: Ao invés


de manter a distância de cada destino, cada roteador BGP
mantém o caminho usado.
• Ao invés de periodicamente dar a cada vizinho a distância
estimada para cada possível destino, cada roteador diz a seus
vizinhos o caminho exato que está usando.
Unidade XII
Camada de Enlace/Física
MAC

ARP

Ethernet e LCC (apenas material escrito)


Camada de Enlace
• Camada de rede roteia um datagrama por meio de
uma série de roteadores entre a origem e o destino. Aplicação
• Para isso, depende da camada de ENLACE Transporte
Rede
• A camada de rede passa o datagrama para a de
enlace, que o entrega, ao longo da rota, ao nó Enlace
seguinte, no qual o datagrama é passado da Física
camada de enlace para a de rede.
Camada de Enlace
• Camada de enlace depende do protocolo específico empregado no enlace.
• Exemplos de protocolos de camadas de enlace são Ethernet, Wi-Fi.
• Origem x Destino = diferentes protocolos de camada de enlace em diversos enlaces ao
longo de sua rota, podendo ser manuseados por Ethernet em um e por PPP no seguinte
(muito comuns nos ISPs)
• A camada de rede receberá um
serviço diferente de cada um
dos variados protocolos
de camada de enlace
• Os pacotes de camada
de enlace são
denominados quadros.
Camada de Enlace
• Enlace é movimentar quadros inteiros de um elemento da
rede até um elemento adjacente, a da camada física movimenta os
bits individuais que estão dentro do quadro de um nó para o seguinte
(zeros e uns)

• A transmissão de dados no enlace é comumente denominada


de camada física.
• Assumida como uma sub-camada da camada de enlace
Camada de Enlace
• Serão estudados: MAC, ARP e LLC da camada de enlace.
• Iremos então abstrair as formas que estes zeros e uns são transmitidos no meio
• Basicamente tem mecanismos para melhor acomodar os bits zeros e uns no meio
físico.
• Ela utiliza a codificação de dados, modifica o padrão de sinal digital simples (1s e 0s)
• Banda base (digital) ou a sinalização de banda larga (analógica)
• Volts ou decibéis deve ser usados para representar um estado de determinado sinal,
usando um determinado meio físico
Camada de Enlace
• Ponto a ponto: mesmo com vários hospedeiros (hosts), somente haverá comunicação
entre um único remetente numa extremidade do enlace com outro remetente na outra
extremidade do enlace
• Ex.: Telefonia, protocolos PPP e HDLC.
• Broadcast vários nós (computador, servidor etc), remetentes e receptores, estão
conectados em um único canal de transmissão.
• Analogia TV
• Ex.: Sala da aula, quem fala? quando? Precisamos de regras!
• Protocolos de acesso múltiplo
• Disciplinas, como a de Cabeamento irão detalhar melhor os protocolos de acesso
ao meio físico desta camada.
MAC
• Não é o hospedeiro ou o roteador que tem um endereço da camada de
enlace, mas o adaptador!.

• Várias interfaces de rede = vários endereços da camada de


enlace
• Comutadores da camada de enlace não têm endereços da camada de
enlace associados às suas interfaces, que se conectam aos hospedeiros e
roteadores.
MAC
• Notação hexadecimal, com 6 bytes
• 16 -> 0-9, A,B,C,D,E,F
• 2ˆ48 = 281.474.976.710.656
• Não existem dois adaptadores com o
mesmo endereço
• IEEE gerencia o espaço físico de
endereços MAC: 24 bits fixo da empresa,
últimos 24 bits para cada adaptador
MAC - Curiosidade
MAC: 00-50-56 (EMPRESA) C0-00-08 (ADAPTADOR)
Para BINÁRIO:0000 0000 (00) 0101 0000 (50) 0101 0110 (56) 1100 0000 (C0)
0000 0000 (00) 0000 1000 (08)
000000000101000001010110110000000000000000001000
000000000101000001010110110000000000000000001000
MAC
• Comparativo MAC e IP:
MAC como o CPF de uma pessoa e o IP semelhante ao
endereço postal de uma pessoa, que é hierárquico e precisa
ser trocado quando a pessoa muda de endereço.
• Broadcast: FF:FF:FF:FF:FF:FF = IP 255.255.255.255
• 0.0.0.0 DHCP -> 255.255.255.255
• Wireshark!
CAMADA FÍSICA E ENLACE

ENDEREÇO MAC (MEDIA ACCESS CONTROL)


▸ Identificar o MAC no computador e alterar
▸ Comandos:
TEXTO
ARP
• Temos endereços da camada de rede e da camada de enlace, como compatibilizar IP e MAC?
• ARP (RFC826), correlaciona MAC com IP
• Na prática: Terminal e comando arp -a

Linux: Na prática só armazena arp das interfaces que transmite informação


Windows: Costuma ter todas da LAN
• PING em um dispositivo da rede (smartphone por exemplo), adiciona entrada…

ARP
IP 222.222.222.220 queira mandar um datagrama IP para o nó
222.222.222.222
• Qual MAC? ARP no nó remetente toma como entrada qualquer
endereço IP na mesma LAN e retorna o endereço MAC
correspondente = 49-BD-D2-C7-56-2A
ARP
• Consulta ARP: Origem MAC local, DESTINO FF-FF-FF-FF-FF-FF.
• Quadro consulta ARP é recebido por todos os outros
adaptadores na sub-rede
• Cada adaptador consulta seu módulo ARP. IP destino está na
ARP?
• Retorna o MAC. O remetente atualiza sua tabela e envia a
mensagem com o IP e MAC de destino
RESUMO
RESUMO

APLICAÇÃO

TRANSPORT Cabeçalho com porta (TCP/UDP) de origem/destino


E
REDE Cabeçalho com IP de origem e destino

ENLACE Cabeçalho com MAC de origem e destino

FÍSICA
0 1 0 0 11 0 0
Resumo TCP/IP
APLICAÇÃO
DADOS (PROCESSO)
Resumo TCP/IP
APLICAÇÃO
(DADO)

ORIGEM: 6422
DESTINO: 80
TRANSPORTE
DADOS (SEGMENTO)
Resumo TCP/IP
APLICAÇÃO
(DADO)

TRANSPORTE
(SEGMENTO)
ORIGEM: 10.0.1.5
DESTINO: 200.10.20.30
ORIGEM: 6422
DESTINO: 80 REDE
DADOS (DATAGRAMA)
Resumo TCP/IP
APLICAÇÃO Quero um IP!
(DADO)

TRANSPORTE ORIGEM é 68
(SEGMENTO) DESTINO é 67

REDE 0.0.0.0
ORIGEM: 44:EF:DD:A3:56:32
DESTINO: 22:AF:CA:A3:42:32 (DATAGRAMA) 255.255.255.255
ORIGEM: 10.0.1.5
DESTINO: 200.10.20.30
ORIGEM: 6422
DESTINO: 80
ENLACE AA:BB:CC:DD:EE:FF
DADOS (QUADRO) FF:FF:FF:FF:FF:FF
Resumo TCP/IP
ORIGEM: 44:EF:DD:A3:56:32
DESTINO: 22:AF:CA:A3:42:32
ORIGEM: 10.0.1.5 ENLACE
DESTINO: 200.10.20.30 (QUADRO)
ORIGEM: 6422
DESTINO: 80
DADOS
REDE
(DATAGRAMA)

TRANSPORTE
(SEGMENTO)

APLICAÇÃO
(DADO)
RESUMO TCP/IP
APLICAÇÃO
(DADO)
TRANSPORTE
(SEGMENTO)
REDE
REDE (DATAGRAMA)
(DATAGRAMA) ENLACE
ENLACE (QUADRO)
(QUADRO)
FISICA
FISICA (BITS)
(BITS)
Estudo de caso
Resumo da disciplina / Principais Protocolos:
DNS
DHCP
IP
TCP/UDP
MAC
ARP
ETHERNET
UDP
HTTP
RIP / OSPF
BGP
Estudo de caso

• Neste momento podemos então analisar de uma forma um


pouco menos generalizada o fluxo de dados por todas as
camadas do modelo de internet.
• Iremos então finalizar nossa jornada pela pilha de protocolos
considerando uma visão integrada e holística.
Estudo de caso
• Bob liga seu notebook via um cabo Ethernet da escola
• Cabo conectado ao roteador da escola.
• O roteador da escola é conectado a um ISP (comcast.net)
• A comcast.net fornece o serviço DNS para a escola
• O servidor DHCP está sendo executado dentro do roteador da escola(como
nossa residência)

DHCP
DNS

Bob PC Escola ISP


Estudo de caso

● SO de Bob cria uma mensagem de solicitação DHCP e a coloca dentro


do segmento UDP com a porta de destino 67 (servidor DHCP) e porta
de origem 68 (cliente DHCP).
● O segmento é então colocado dentro de um datagrama IP com um
endereço IP de destino por difusão (255.255.255.255) e um
endereço IP de origem 0.0.0.0, já que o notebook do Bob ainda
não tem um endereço IP.
Estudo de caso
• O datagrama IP contendo uma mensagem de solicitação DHCP é colocado dentro
de um quadro Ethernet.
• O quadro Ethernet tem endereços de destino MAC FF:FF:FF:FF:FF:FF de modo que
o quadro será transmitido a todos os dispositivos conectados ao comutador (deverá
haver um servidor DHCP);
• O quadro de origem do endereço MAC é do notebook do Bob, 60:f8:1d:ac:d8:1e
• O quadro de difusão Ethernet contendo a solicitação DHCP é o primeiro a ser
enviado pelo notebook de Bob para o comutador Ethernet.
Estudo de caso
Estudo de caso
• O roteador recebe o quadro Ethernet com MAC
00:22:6B:45:1F:1B, e o datagrama IP é extraído do quadro
Ethernet. O endereço IP de destino transmitido indica que
este datagrama IP deveria ser processado por protocolos de
camadas mais elevadas em seu nó
• O detragrama é demultiplexado até o UDP, e a mensagem de
solicitação é extraída do segmento UDP.
• Servidor DHCP tem a mensagem de solicitação DHCP.
Estudo de caso
• O DHCP está com IP 192.168.15.100, e configurado para distribuir IPs na rede
192.168.15.1/24 (192.168.15.1 a 192.168.15.255)
• O DHCP cria uma mensagem de ACK DHCP contendo um endereço
IP, (192.168.15.102) assim como o endereço IP do servidor DNS (8.8.8.8), o
endereço IP para o roteador de borda (gateway) (192.168.15.1) e o bloco de
sub-rede (255.255.255.0) (“máscara de rede”).
• A mensagem DHCP é colocada dentro de um segmento UDP, colocado dentro de um
datagrama IP, colocado dentro de um quadro Ethernet.
• O quadro Ethernet tem o endereço MAC de origem da interface do roteador na rede
doméstica (ec:08:6B:5a:f2:34) e um endereço MAC de destino do notebook do Bob
(60:f8:1d:ac:d8:1e).
Estudo de caso

OBS.:
É comum o DHCP
estar no Gateway, mas
não é regra!

Gateway: 192.168.15.1

DHCP: 192.168.15.100
Estudo de caso
• O notebook recebe o quadro Ethernet que contém o ACK DHCP, extrai o datagrama IP
do quadro Ethernet, extrai o segmento UDP do datagrama IP, e extrai a mensagem ACK
DHCP do segmento UDP.
• Grava seu endereço IP e o endereço IP do seu servidor DNS.
• Instala o endereço do roteador de borda default em sua tabela de repasse de IP.
• O notebook de Bob enviará todos os datagramas com endereços de destino fora de sua
sub-rede 192.168.15.1/24 ao gateway.
• Notebook na internet!
• Protocolos vistos: DHCP, UDP, IP E ETHERNET
Estudo de caso

• Bob digita o URL www.google.com


• O navegador de Bob inicia o processo ao criar um socket
TCP que será usado para enviar uma requisição HTTP para
www. google.com.
• Para criar o socket, o notebook de Bob precisará saber o
endereço IP de www.google.com.
Estudo de caso
• SO cria então uma mensagem de consulta DNS (UDP), destino porta 53
(padrão DNS), destino IP do servidor DNS e IP de origem de BOB
• O datagrama contendo consulta DNS vai em um quadro Ethernet Este quadro
será enviado (endereçado, na camada de enlace) ao roteador de borda da
rede da escola de Bob.
• No entanto, apesar de o notebook de Bob conhecer o endereço IP do
roteador de borda GATEWAY, (pelo DHCP), ele não sabe o endereço MAC do
roteador de borda.
• ARP!
Estudo de caso
Voltando ao DNS…
O notebook de Bob pode agora (enfim!) endereçar o quadro Ethernet com a mensagem de

consulta DNS ao endereço MAC do roteador de borda.


Estudo de caso
• O roteador borda recebe o quadro e extrai o datagrama IP que contém a
consulta DNS.
• O roteador procura o endereço de destino desse datagrama (servidor DNS
externo, por exemplo, 8.8.8.8) e determina de sua tabela de repasse que ele
deve ser enviado ao roteador da extremidade esquerda na rede Comcast.
• O datagrama IP é colocado em um quadro de uma camada de enlace apropriado
ao enlace conectando o roteador da escola ao roteador Comcast da extremidade
esquerda, e o quadro é enviado através desse enlace (por exemplo PPP)
Estudo de caso
• O roteador da extremidade esquerda na rede Comcast recebe
o quadro, extrai o datagrama IP, examina o endereço de
destino do datagrama (8.8.8.8) e determina a interface de
saída pela qual enviará o datagrama ao servidor DNS de sua
tabela de repasse, que foi preenchida pelo protocolo
intradomínio da Comcast (como RIP, OSPF ou IS-IS, serão
estudados em outra disciplina), assim como o protocolo
intradomínio da Internet, BGP.
Estudo de caso
• Por fim, o datagrama IP contendo a consulta DNS chega ao
servidor DNS.
• Este extrai a mensagem de consulta DNS, procura o nome em
www.google.com na sua base de dados DNS, e encontra o
registro de recurso DNS que contém o endereço IP
(172.217.162.100) para www.google.com (supondo-se que está
em cache no servidor DNS).
Estudo de caso

Neste exemplo o DNS é local 192.168.15.1 e o


IP de BOB 192.168.15.3
Estudo de caso

• O notebook de Bob extrai o endereço IP do servidor


www.google.com da mensagem DNS.
• Enfim, depois de muito trabalho, o notebook de Bob está
pronto para contatar o servidor www.google.com!
Estudo de caso
• Com o endereço IP de www.google.com, ele está pronto para criar um socket TCP,
que será usado para enviar uma mensagem HTTP GET para www.google.com.
• Porém, para isso é feito o three-way handshake com www.google.com
• O notebook de Bob primeiro cria um segmento TCP SYN com a porta de destino
443 (para HTTPs), coloca o segmento TCP dentro de um datagrama IP, com o
endereço IP de destino 172.217.162.100 (www.google.com), coloca o datagrama
dentro de um quadro com o endereço de destino do roteador de borda e envia o
quadro
Estudo de caso
• Os roteadores da rede da escola, da rede Comcast e da rede do Google
encaminham o datagrama contendo o TCP SYN até www.google.com,
usando a tabela de repasse em cada roteador.
• O datagrama contendo o TCP SYN chega em www.google.com. A
mensagem TCP SYN é extraída do datagrama e demultiplexada ao socket
associado à porta 443.
• Um socket de conexão é criado para a conexão TCP entre o servidor HTTPS
do Google e o notebook de Bob.
Estudo de caso
• O datagrama que contém o segmento TCP SYNACK é
encaminhado através das redes do Google, Comcast e da
escola, finalmente chegando à interface Ethernet no
computador de Bob.
• O datagrama é demultiplexado dentro do sistema
operacional e entregue ao socket TCP criado na etapa que
entra em estado de conexão.
Estudo de caso
• O Socket dentro do notebook de Bob está pronto para enviar
bytes a www.google.com, o navegador cria uma mensagem
HTTP GET contendo a URL a ser procurada.
• A mensagem HTTP GET é enviada ao socket, com a
mensagem GET se tornando a carga útil do segmento TCP.
• O segmento TCP é colocado em um datagrama e enviado e
entregue em www.google.com
Estudo de caso

• O servidor HTTP www.google.com lê a mensagem HTTP


GET do socket TCP, cria uma mensagem de resposta HTTP,
coloca o conteúdo da página Web requisitada no corpo da
mensagem de resposta HTTP, e envia a mensagem pelo
socket TCP.
Estudo de caso

• O datagrama contendo a mensagem de resposta HTTP é


encaminhado através das redes do Google, da Comcast e da
escola e chega ao notebook de Bob.
• O programa do navegador de Bob lê a resposta HTTP do
socket, extrai o html da página do corpo da resposta HTTP, e
enfim (enfim!) mostra a página Web!
Estudo de caso
Estudo de caso
• (RFC 1945)
Erro HTTP 302: Movido
Comumente utilizado para redirecionamento de endereço na
web.
Fim

• Por mais detalhado que o exemplo possa parecer, foram omitimos uma série de
protocolos possíveis (por exemplo, NAT executado no roteador de borda da
escola, acesso sem fio à rede da escola, protocolos de segurança para acessar a
rede da escola, ou segmentos ou datagramas codificados), e considerações
(cache da Web, hierarquia DNS) que poderíamos encontrar na Internet pública.
• Este exemplo é mais focado nos aspectos de “como” e não no “por quê”. Auxilia
para posteriores estudos de demais protocolos uma vez que os mesmos são os
protocolos base da comunicação da dados na internet.

Você também pode gostar