Você está na página 1de 409

Engenharia da Computação

Redes de Computadores I
Sílvia Calmon de Albuquerque
silviacalmon@cefetmg.br
Fundamentos de Redes de Computadores

2
Redes de Computadores I
Resumo

Introdução
Topologias
Transmissão de informação
Meios de transmissão

3
Redes de Computadores I
Introdução

A comunicação é uma das maiores necessidades da
sociedade humana.

Desde meados do século XIX, a comunicação aumenta
suas fronteiras através da transmissão de informação por
sinais eletromagnéticos.

A introdução de sistemas de computadores na década de
50 revolucionou o processamento e o armazenamento de
informações.

4
Redes de Computadores I
Introdução

As redes de computadores representam a
convergência das tecnologias de comunicação
e de computação.

Para entender as redes, é necessário observar
a evolução dos sistemas de computação.

5
Redes de Computadores I
Introdução

Década de 50:
 Os computadores são máquinas grandes e complexas
operadas por especialistas.
 Os usuários submetiam seus jobs utilizando-se de
leitoras de cartões ou fitas magnéticas.
 O processamento das informações era feito em lote,
batch, e era sequencial.
 Não havia interação direta entre usuários e a máquina.

6
Redes de Computadores I
7
Redes de Computadores I
Introdução

Década de 60:
 Surgiram os terminais interativos, permitindo o acesso do
usuário a um computador central, através de linhas de
comunicação.
 Os trabalhos poderiam ser processados simultaneamente
em sistemas de tempo compartilhado (time-sharing).

8
Redes de Computadores I
9
Redes de Computadores I
Introdução

Década de 70:
 A evolução e consequente redução dos custos dos
microcomputadores geraram a migração de um sistema
centralizado e de grande porte para a distribuição do poder
computacional.
 Esses sistemas pequenos e dispersos eram mais acessíveis ao
usuário e mais fáceis de usar.
 Apesar da dispersão das máquinas, há a necessidade de se
compartilhar dados e recursos, além das trocas de
informações entre os usuários, daí surge a necessidade da
interconexão entre as máquinas.

10
Redes de Computadores I
Introdução

As redes de computadores são, portanto, um
conjunto de computadores interligados lógica e
fisicamente, por um sistema de comunicação, cujo
objetivo é compartilhar recursos como periféricos,
serviços e informações.

12
Redes de Computadores I
13
Redes de Computadores I
Introdução

As principais vantagens do uso de redes de
computadores são, portanto:
 Compartilhamento de recursos de hardware e de
software.
 Permitir a comunicação entre usuários de
microcomputadores.
 Fornecer serviços como correio eletrônico, agenda,
workgroup, intranet, transferência de arquivos, entre
outros.

14
Redes de Computadores I
Transmissão de informação

A transmissão de informação através de sistemas
de comunicação pressupõe a passagem de sinais
através dos meios físicos de comunicação.

A comunicação é o ato de transmitir informações e
a telecomunicação é o ato de transmitir
informações à distância através de sinais elétricos
ou eletromagnéticos.

15
Redes de Computadores I
Transmissão de informação

Como a maioria das transmissões compartilha os
meios de transmissão, são necessários
equipamentos de comutação.

A função de comutação em uma rede de
comunicação refere-se à alocação dos recursos da
rede para a transmissão pelos dispositivos
conectados.

16
Redes de Computadores I
Transmissão de informação

As principais formas de comutação são:
 Comutação de circuitos:
 caminho dedicado
 estabelecimento de conexão
 Comutação de pacotes:
 sem caminho dedicado e sem conexão
 as informações são divididas em pacotes, que são
endereçados e trafegam por diversos caminhos.

17
Redes de Computadores I
Transmissão de informação

A comutação de circuitos é mais adequada para
transmissões contínuas e que não suportam
atrasos ou que necessitem de caminho dedicado.

As aplicações em tempo real, como telefonia
convencional, videoconferência, utilizam
comutação por circuitos.

18
Redes de Computadores I
Transmissão de informação

A comutação de pacotes é ideal para aproveitar
melhor os meios de transmissão e para aplicações
cujo tráfego é em rajadas.

Os dados são divididos na origem e reorganizados
no destino.

Podem ocorrer atrasos nos nós de comutação.

19
Redes de Computadores I
Meios de transmissão

Os meios de transmissão podem ser com ou sem
fio.

Os meios com fio são:
 Par trançado
 Cabo coaxial
 Fibra óptica

O meio sem fio é o espaço.

20
Redes de Computadores I
Meios de transmissão

O par trançado e o cabo coaxial transmitem
informações através de energia elétrica.

A fibra óptica utiliza infravermelho, cujas
frequências são próximas as da luz visível.

No espaço, há a radiodifusão, que utiliza
frequências de 300Hz a 300GHz.

21
Redes de Computadores I
Meios de transmissão

Observação: frequência é o número de ciclos por
segundo.

A unidade de medida de frequência é o Hertz (Hz):
 1 kHz = 1 000 Hz
 1 MHz = 1 000 000 Hz
 1 GHz = 1 000 000 000 Hz
 1 THz = 1012 Hz

22
Redes de Computadores I
23
Redes de Computadores I
Arquiteturas de Redes de Computadores

24
Redes de Computadores I
Introdução

As redes de computadores são sistemas
complexos, pois envolvem muitos componentes:
computadores, roteadores, enlaces, hardware,
software, etc.

A análise de sistemas complexos fica mais fácil
quando conseguimos separar as ações que
ocorrem neste sistema.

25
Redes de Computadores I
Introdução

A principal ideia obtida com a experiência na
implementação de redes de computadores é
estruturar a rede como um conjunto de camadas
hierárquicas.

Cada camada utiliza as funções e os serviços das
camadas inferiores, mas deve ser vista como um
processo que se comunica com o processo da
camada correspondente na outra máquina.

26
Redes de Computadores I
Arquitetura de camadas

• Uma viagem de avião: ações

slide 27 © 2014 Pearson. Todos os direitos reservados.


Arquitetura de camadas

• Camadas horizontais da funcionalidade de linha aérea

slide 28 © 2014 Pearson. Todos os direitos reservados.


Arquitetura de camadas

• A segunda figura dividiu a funcionalidade da linha aérea em camadas,


provendo uma estrutura com a qual podemos discutir a viagem aérea.

• Note que cada camada, combinada com as que estão abaixo dela,
implementa alguma funcionalidade, algum serviço.

• Uma arquitetura de camadas nos permite discutir uma parcela


específica e bem definida de um sistema grande e complexo.

• Essa simplificação tem considerável valor intrínseco.


slide 29 © 2014 Pearson. Todos os direitos reservados.
Camadas de protocolo

• Uma camada de protocolo pode ser executada em software, em


hardware, ou em uma combinação dos dois.

• O sistema de camadas de protocolos tem vantagens conceituais e


estruturais.

• Como vimos, a divisão em camadas proporciona um modo


estruturado de discutir componentes de sistemas.

• A modularidade facilita a atualização de componentes de sistema.


slide 30 © 2014 Pearson. Todos os direitos reservados.
Camada de aplicação

• A camada de aplicação é onde residem aplicações de rede e seus protocolos.

Camada de transporte
• A camada de transporte da Internet carrega mensagens da camada de
aplicação entre os lados do cliente e servidor de uma aplicação.

• Há dois protocolos de transporte na Internet:


1. TCP e
2. UDP.
slide 31 © 2014 Pearson. Todos os direitos reservados.
Camada de rede

• A camada de rede da Internet é responsável pela movimentação, de


um hospedeiro para outro, de pacotes da camada de rede,
conhecidos como datagramas.

Camada de enlace
• Em especial, em cada nó, a camada de rede passa o datagrama
para a de enlace, que o entrega, ao longo da rota, ao nó seguinte,
no qual o datagrama é passado da camada de enlace para a de rede.
slide 32 © 2014 Pearson. Todos os direitos reservados.
Camada física

• A tarefa da camada física é movimentar os bits individuais que estão dentro do


quadro de um nó para o seguinte.

O modelo OSI
• O modelo OSI tomou forma quando os protocolos que iriam se tornar
protocolos da Internet estavam em sua infância e eram um dos muitos
conjuntos em desenvolvimento.

• As sete camadas do modelo de referência OSI são mostradas na figura a seguir.

slide 33 © 2014 Pearson. Todos os direitos reservados.


O modelo OSI

slide 34 © 2014 Pearson. Todos os direitos reservados.


Encapsulamento

• Uma mensagem da camada de aplicação na máquina emissora é


passada para a camada de transporte.

• No caso mais simples, esta pega a mensagem e anexa informações


adicionais que serão usadas pela camada de transporte do lado
receptor.

• A mensagem da camada de aplicação e as informações de cabeçalho


da camada de transporte, juntas, constituem o segmento da camada de
transporte, que encapsula a mensagem da camada de aplicação.
slide 35 © 2014 Pearson. Todos os direitos reservados.
Arquitetura TCP/IP

A arquitetura TCP/IP foi desenvolvida com o
objetivo básico de interligar redes de tecnologias
distintas (INTER = interconnect + NET = networks).

Além disso, por causa da Guerra Fria, o
Departamento de Defesa dos Estados Unidos
queria interligar redes de instituições
governamentais, militares e educacionais de forma
que a destruição de uma parte não afetasse o
restante da rede.

36
Redes de Computadores I
Arquitetura TCP/IP

Para atingir os objetivos propostos, na década de
70, a ARPA (Advanced Research Projects Agency)
patrocinou o desenvolvimento de um conjunto
específico de protocolos.

A arquitetura baseia-se num serviço de transporte
orientado à conexão (com conexão e com
reconhecimento) e um serviço de rede não
orientado à conexão (sem conexão e sem
reconhecimento).

37
Redes de Computadores I
Arquitetura TCP/IP

O serviço de transporte orientado à conexão é
fornecido pelo Transmission Control Protocol, o
protocolo TCP.

O serviço de rede não orientado à conexão é
fornecido pelo Internet Protocol ou protocolo IP.

A pilha de protocolos TCP/IP é amplamente
utilizada atualmente e é usada na rede conhecida
como a rede mundial de computadores: a Internet.

38
Redes de Computadores I
O que é a Internet?

• Alguns componentes da Internet

slide 39 © 2014 Pearson. Todos os direitos reservados.


Uma descrição dos
componentes da rede

• Sistemas finais são conectados entre si por enlaces (links) de


comunicação e comutadores (switches) de pacotes.

• Eles acessam a Internet por meio de Provedores de Serviços de Internet.

• Os sistemas finais, os comutadores de pacotes e outras peças da Internet


executam protocolos que controlam o envio e o recebimento de
informações.

• O TCP e o IP são dois dos mais importantes da Internet.

slide 40 © 2014 Pearson. Todos os direitos reservados.


Uma descrição do serviço

• Os sistemas finais ligados à Internet oferecem uma Interface de


Programação de Aplicação (API).

• Ela especifica como o programa solicita à infraestrutura da Internet


que envie dados a um programa de destino específico.

• Essa API da Internet é um conjunto de regras que o software emissor


deve cumprir para que a Internet seja capaz de enviar os dados ao
programa de destino.
slide 41 © 2014 Pearson. Todos os direitos reservados.
O que é um protocolo?

• Um protocolo humano e um protocolo de rede de computadores

slide 42 © 2014 Pearson. Todos os direitos reservados.


A periferia da Internet

• Interação entre sistemas finais

slide 43 © 2014 Pearson. Todos os direitos reservados.


Redes de acesso

• Rede física que conecta um


sistema final ao primeiro
roteador de um caminho
partindo de um sistema final até
outro qualquer.

slide 45 © 2014 Pearson. Todos os direitos reservados.


Acesso doméstico: DSL,
cabo, FTTH, discado e
satélite
Os dois tipos de acesso residencial banda largas predominantes são a
linha digital de assinante (DSL) ou a cabo.

A linha telefônica conduz, simultaneamente, dados e sinais telefônicos


tradicionais, que são codificados em frequências diferentes:

• um canal downstream de alta velocidade, com uma banda de 50 kHz


a 1 MHZ;

slide 46 © 2014 Pearson. Todos os direitos reservados.


Acesso doméstico: DSL,
cabo, FTTH, discado e
satélite
• um canal upstream de velocidade média, com uma banda de 4 kHz a 50
kHz;

• um canal de telefone bidirecional comum, com uma banda de 0 a 4 kHz.

Embora o DSL utilize a infraestrutura de telefone local da operadora, o


acesso à Internet a cabo utiliza a infraestrutura de TV a cabo da operadora
de televisão.

O acesso à Internet a cabo necessita de modems especiais.


slide 47 © 2014 Pearson. Todos os direitos reservados.
Acesso doméstico: DSL,
cabo, FTTH, discado e
satélite
• Acesso à Internet por DSL

slide 48 © 2014 Pearson. Todos os direitos reservados.


Acesso doméstico: DSL,
cabo, FTTH, discado e
satélite
• Uma rede de acesso híbrida fibra-coaxial

slide 49 © 2014 Pearson. Todos os direitos reservados.


Acesso doméstico: DSL,
cabo, FTTH, discado e
satélite
• O conceito da FTTH é simples — oferece um caminho de fibra
ótica da CT diretamente até a residência.

slide 50 © 2014 Pearson. Todos os direitos reservados.


Acesso doméstico: DSL,
cabo, FTTH, discado e
satélite
• Em locais onde DSL, cabo e FTTH não estão disponíveis, um enlace de
satélite pode ser empregado para conexão em velocidades não maiores do
que 1 Mbit/s.

• StarBand e HughesNet são dois desses provedores de acesso por satélite.

• O acesso discado por linhas telefônicas tradicionais é baseado no mesmo


modelo do DSL.

• O acesso discado é terrivelmente lento em 56 kbits/s.


slide 51 © 2014 Pearson. Todos os direitos reservados.
Acesso na empresa (e na
residência): Ethernet e Wi-
Fi
• Acesso a internet por ethernet

slide 52 © 2014 Pearson. Todos os direitos reservados.


Meios físicos

• O bit, ao viajar da origem ao destino, passa por uma série de pares


transmissor‑receptor, que o recebem por meio de ondas eletromagnéticas
ou pulsos ópticos que se propagam por um meio físico.

• Alguns exemplos de meios físicos são par de fios de cobre trançado, cabo
coaxial, cabo de fibra óptica multimodo, espectro de rádio terrestre e
espectro de rádio por satélite.

• Os meios físicos se enquadram em duas categorias: meios guiados e


meios não guiados.
slide 53 © 2014 Pearson. Todos os direitos reservados.
O núcleo da rede

• O núcleo da rede

slide 54 © 2014 Pearson. Todos os direitos reservados.


55
Redes de Computadores I
História das redes de
computadores e da Internet

• Os primeiros passos da disciplina de


redes de computadores e da Internet
podem ser traçados desde o início da
década de 1960.

• Na imagem ao lado, um dos


primeiros comutadores de pacotes.

slide 56 © 2014 Pearson. Todos os direitos reservados.


57
Redes de Computadores I
58
Redes de Computadores I
História das redes de
computadores e da Internet

• Em 1972, a ARPAnet tinha cerca de 15 nós e foi apresentada publicamente


pela primeira vez por Robert Kahn.

• A ARPAnet inicial era uma rede isolada, fechada.

• Do início a meados de 1970, surgiram novas redes independentes de


comutação de pacotes.

• O trabalho pioneiro de interconexão de redes, sob o patrocínio da DARPA,


criou basicamente uma rede de redes e o termo internetting foi cunhado para
descrever esse trabalho.
slide 59 © 2014 Pearson. Todos os direitos reservados.
História das redes de
computadores e da Internet

• Ao final da década de 1980, o número de máquinas ligadas à Internet


pública alcançaria cem mil.

• O principal evento da década de 1990, no entanto, foi o surgimento da


World Wide Web, que levou a Internet para os lares e as empresas de
milhões de pessoas no mundo inteiro.

• A segunda metade da década de 1990 foi um período de tremendo


crescimento e inovação.

• A inovação na área de redes de computadores continua a passos largos.


slide 60 © 2014 Pearson. Todos os direitos reservados.
História das redes de
computadores e da Internet

Os seguintes desenvolvimentos merecem atenção especial:

• Acesso à Internet por banda larga.

• Wi-Fi público de alta velocidade e acesso à Internet por redes de telefonia


celular 3G e 4G.

• Redes sociais on-line.

• Provedores de serviços on-line.

• Empresas de comércio na Internet rodando suas aplicações na “nuvem”.


slide 61 © 2014 Pearson. Todos os direitos reservados.
Comparação entre OSI e TCP/IP

A primeira diferença entre as duas arquiteturas está
no número de camadas: 7 para o modelo OSI e 5 na
TCP/IP.

No modelo OSI, são descritos formalmente os
serviços, as interfaces e os protocolos de cada
camada.

Existem serviços opcionais e os níveis mais baixos,
físico e de enlace, são bem definidos.

62
Redes de Computadores I
63
Redes de Computadores I
Comparação entre OSI e TCP/IP

A arquitetura TCP/IP foi desenvolvida a partir de um
problema prático: interligar redes de tecnologias
distintas.

Os níveis físico, de enlace e os aspectos do nível
de rede do modelo OSI relativos à transmissão de
dados não são abordados na arquitetura Internet
TCP/IP; há apenas a definição de uma interface
entre os níveis intra-rede e inter-rede.

64
Redes de Computadores I
Comparação entre OSI e TCP/IP

A interconexão de redes distintas é implementada na
arquitetura TCP/IP apenas pelo protocolo IP, não há
variações.

No nível de transporte, os protocolos TCP e UDP são
equivalentes aos protocolos orientado e não-
orientado à conexão do modelo OSI, respectivamente.

As funções definidas pelas camadas de sessão e
apresentação do modelo OSI são opcionais na
arquitetura TCP/IP.

65
Redes de Computadores I
Camada de enlace e redes locais

Na arquitetura TCP/IP, a camada de enlace e a
camada física não são especificadas, há apenas as
camadas interface de rede e intrarrede.

A camada de interface de rede tem a função de
criar uma compatibilidade entre a camada de rede e
o tipo de rede física que está sendo utilizado.

Este nível recebe os datagramas IP, encapsula-os
em quadros e transmite-os de um nó até outro
adjacente.
66
Redes de Computadores I
Camada de enlace e redes locais

Para executar sua função, esta camada traduz os
endereços IP, que são lógicos, para endereços
físicos (MAC) dos hosts ou gateways conectados à
rede.

O protocolo ARP, ou de resolução de endereços,
faz a tradução de endereços IP para endereços
MAC.

67
Redes de Computadores I
Camada de enlace e redes locais

A camada intrarrede é o padrão da rede física e
este pode ser qualquer um.

A arquitetura TCP/IP pode funcionar sobre qualquer
tipo de rede física, basta que a camada de interface
de rede faça a compatibilidade do padrão da rede
física com o IP.

68
Redes de Computadores I
A Internet

A Internet é o maior exemplo de redes de
computadores que utilizam a arquitetura TCP/IP.

Ela é composta de bilhões de elementos de
computação interligados, executando aplicações
distribuídas, através de diversos tipos de enlaces
de comunicação, como fibra óptica, cobre, rádio,
satélite, etc.

69
Redes de Computadores I
A Internet

As pesquisas e o desenvolvimento da arquitetura
TCP/IP são coordenados pelo grupo conhecido como
IAB (Internet Architecture Board), desde 1983.

A IAB possui dois subgrupos:
 IETF (Internet Engineering Task Force)
 IRTF (Internet Research Task Force)

70
Redes de Computadores I
A Internet

Um grupo conhecido como Internet Assigned
Numbers Authority (IANA) mantém e distribui
informações sobre TCP/IP e a Internet e trata de
detalhes administrativos, como o registro de
domínios.

IANA: www.iana.org

Existem 5 autoridades de registro em cada região
mundial: LACNIC, ARIN, AFRINIC, RIPE NCC e APNIC

72
Redes de Computadores I
A Internet

No Brasil, deve-se registrar um domínio no
Registro.br (http://registro.br/), que também fornece
números IP.

Há o comitê gestor da Internet no Brasil:
https://cgi.br/.

Este comitê delegou para o Registro.br a função de
distribuir os endereços IP no Brasil.

74
Redes de Computadores I
A Internet

A documentação para o trabalho da Internet, as
propostas para protocolos novos ou revisados e os
padrões de protocolos TCP/IP constam todos de
uma série de relatórios técnicos denominados
RFCs (Requests for Comments).

A série RFC é numerada sequencialmente na
ordem cronológica em que foram preparados.

75
Redes de Computadores I
A Internet

A arquitetura TCP/IP está em constante expansão;
novos protocolos são propostos e antigos são
revisados.

Em março de 2021, segundo estimativas da Internet
World Stats (http://www.internetworldstats.com/), mais
de 5 bilhões de pessoas no mundo estão conectadas à
Internet, o que representa 65,6% da população mundial.

No Brasil, mais de 70% da população tem acesso à
Internet.

76
Redes de Computadores I
Redes sob ameaça

• Os vilões podem colocar “malware” em seu hospedeiro por meio


da Internet.

• Os vilões podem atacar servidores e infraestrutura de redes.

• Os vilões podem analisar pacotes.

• Os vilões podem se passar por alguém de sua confiança.


slide 77 © 2014 Pearson. Todos os direitos reservados.
Capítulo 2

Camada de aplicação

slide 78 © 2014 Pearson. Todos os direitos reservados.


Princípios de aplicações de
rede

• O núcleo do desenvolvimento de aplicação de rede é escrever programas


que rodem em sistemas finais diferentes e se comuniquem entre si.

• Ao desenvolver sua nova aplicação, você precisará escrever um software


que rode em vários sistemas finais.

• Esse software poderia ser criado, por exemplo, em C, Java ou Python.

• Você não precisará escrever programas que executem nos elementos do


núcleo de rede, como roteadores e comutadores.

slide 79 © 2014 Pearson. Todos os direitos reservados.


Arquiteturas de aplicação de
rede

• A arquitetura de rede é fixa e provê um conjunto específico de


serviços.

• A arquitetura da aplicação é projetada pelo programador e


determina como a aplicação é organizada nos vários sistemas finais.

• Em uma arquitetura cliente-servidor há um hospedeiro sempre em


funcionamento, denominado servidor, que atende a requisições de
muitos outros hospedeiros, denominados clientes.

slide 80 © 2014 Pearson. Todos os direitos reservados.


Arquiteturas de aplicação de
rede

• A comunicação de uma
aplicação de rede ocorre
entre sistemas finais na
camada de aplicação.

slide 81 © 2014 Pearson. Todos os direitos reservados.


Arquiteturas de aplicação de
rede

• A arquitetura P2P utiliza a comunicação direta entre duplas de hospedeiros


conectados alternadamente, denominados pares.

• Uma das características mais fortes da arquitetura P2P é sua


autoescalabilidade.

• As futuras aplicações P2P estão diante de três principais desafios:

1. ISP Amigável.
2. Segurança.
3. Incentivos.
slide 82 © 2014 Pearson. Todos os direitos reservados.
Arquiteturas de aplicação de
rede

slide 83 © 2014 Pearson. Todos os direitos reservados.


Comunicação entre
processos

• Processos de aplicação, sockets e protocolo de transporte


subjacente.

slide 84 © 2014 Pearson. Todos os direitos reservados.


Comunicação entre
processos

• Uma aplicação de rede consiste em pares de processos que enviam mensagens


uns para os outros por meio de uma rede.

• Um processo envia mensagens para a rede e recebe mensagens dela através de


uma interface de software denominada socket.

• Para identificar o processo receptor, duas informações devem ser especificadas:

1. o endereço do hospedeiro e
2. um identificador que especifica o processo receptor no hospedeiro de destino.

slide 85 © 2014 Pearson. Todos os direitos reservados.


Serviços de transporte
disponíveis para aplicações

• Transferência confiável de dados

• Vazão

• Temporização

• Segurança: integridade, confidencialidade e disponibilidade

slide 86 © 2014 Pearson. Todos os direitos reservados.


Serviços de transporte
providos pela Internet

• A Internet disponibiliza dois protocolos de transporte para


aplicações, o UDP e o TCP.
• Requisitos de aplicações de rede selecionadas:

slide 87 © 2014 Pearson. Todos os direitos reservados.


Serviços de transporte
providos pela Internet

• Aplicações populares da Internet, seus protocolos de camada de


aplicação e seus protocolos de transporte subjacentes:

slide 88 © 2014 Pearson. Todos os direitos reservados.


Protocolos de camada de
aplicação

Um protocolo de camada de aplicação define:

• Os tipos de mensagens trocadas.

• A sintaxe dos vários tipos de mensagens, tais como os campos da mensagem


e como os campos são delineados.

• A semântica dos campos, isto é, o significado da informação nos campos.

• Regras para determinar quando e como um processo envia mensagens e


responde a mensagens.
slide 89 © 2014 Pearson. Todos os direitos reservados.
Programação de sockets:
criando aplicações de rede

• Há dois tipos de aplicações de rede.

• Um deles é uma execução cuja operação é especificada em um padrão de


protocolo.

• O outro tipo de aplicação de rede é uma aplicação de rede proprietária.

Programação de sockets com UDP


• Usaremos a aplicação cliente-servidor simples a seguir para demonstrar a
programação de socket para UDP e TCP:
slide 90 © 2014 Pearson. Todos os direitos reservados.
Programação de sockets com
UDP

1. Um cliente lê uma linha de caracteres (dados) do teclado e a envia


para o servidor.

2. O servidor recebe os dados e converte os caracteres para maiúsculas.

3. O servidor envia os dados modificados ao cliente.

4. O cliente recebe os dados modificados e apresenta a linha em sua tela.

slide 91 © 2014 Pearson. Todos os direitos reservados.


Programação de sockets com
UDP

A aplicação
cliente-servidor
usando UDP

slide 92 © 2014 Pearson. Todos os direitos reservados.


Programação de sockets com
TCP

• O processo TCPServer tem dois sockets

slide 93 © 2014 Pearson. Todos os direitos reservados.


Programação de sockets com
TCP

• A aplicação cliente-servidor
usando TCP

slide 94 © 2014 Pearson. Todos os direitos reservados.


A Web e o HTTP

• Talvez o que mais atraia a maioria dos usuários da Web é que ela funciona
por demanda.

• O HTTP — Protocolo de Transferência de Hipertexto (HyperText Transfer


Protocol) —, o protocolo da camada de aplicação da Web, está no coração
da Web e é definido no [RFC 1945] e no [RFC 2616].

• O HTTP é executado em dois programas:

1. um cliente e
2. outro servidor.
slide 95 © 2014 Pearson. Todos os direitos reservados.
A Web e o HTTP

• Uma página Web é constituída de objetos.

• Um objeto é apenas um arquivo que se pode acessar com um único URL.

• A maioria das páginas Web é constituída de um arquivo-base HTML e


diversos objetos referenciados.

• O HTTP usa o TCP como seu protocolo de transporte subjacente.

• O HTTP é denominado um protocolo sem estado.


slide 96 © 2014 Pearson. Todos os direitos reservados.
Conexões persistentes e não
persistentes

• Quando a interação cliente-servidor acontece por meio de conexão


TCP, o programador da aplicação precisa tomar uma importante
decisão:

• Conexões não persistentes — cada par de requisição/resposta deve


ser enviado por uma conexão TCP distinta.

• Conexões persistentes — todas as requisições e suas respostas


devem ser enviadas por uma mesma conexão TCP.
slide 97 © 2014 Pearson. Todos os direitos reservados.
Formato da mensagem
HTTP

Mensagem de requisição HTTP

• Apresentamos a seguir uma mensagem de requisição HTTP típica:

GET /somedir/page.html HTTP/1.1


Host: www.someschool.edu
Connection: close
User-agent: Mozilla/5.0
Accept-language: fr

slide 98 © 2014 Pearson. Todos os direitos reservados.


Formato da mensagem
HTTP

• Formato geral de uma mensagem de requisição HTTP

slide 99 © 2014 Pearson. Todos os direitos reservados.


Formato da mensagem
HTTP

Mensagem de resposta HTTP

• Apresentamos a seguir uma mensagem de resposta HTTP típica:

HTTP/1.1 200 OK
Connection: close
Date: Tue, 09 Aug 2011 15:44:04 GMT
Server: Apache/2.2.3 (CentOS)
Last-Modified: Tue, 09 Aug 2011 15:11:03 GMT
Content-Length: 6821
Content-Type: text/html
(dados dados dados dados dados ...)
slide 100 © 2014 Pearson. Todos os direitos reservados.
Formato da mensagem
HTTP

• Formato geral de uma mensagem de resposta HTTP

slide 101 © 2014 Pearson. Todos os direitos reservados.


HTTP

Métodos de requisição:
 GET
 HEAD
 POST
 PUT
 DELETE
 CONNECT

https://developer.mozilla.org/pt-BR/docs/Web/HTTP/M
ethods

102
Redes de Computadores I
HTTP

Tipos de resposta:
 Respostas de informação (100-199)
 Respostas de sucesso (200-299)
 Redirecionamentos (300-399)
 Erros do cliente (400-499)
 Erros do servidor (500-599)

https://developer.mozilla.org/pt-BR/docs/Web/HTTP/St
atus

103
Redes de Computadores I
Interação usuário-servidor:
cookies

Cookies, definidos no [RFC 6265], permitem que sites monitorem seus


usuários.

A tecnologia dos cookies tem quatro componentes:

1. uma linha de cabeçalho de cookie na mensagem de resposta HTTP;


2. uma linha de cabeçalho de cookie na mensagem de requisição HTTP;
3. um arquivo de cookie mantido no sistema final do usuário e
gerenciado pelo navegador do usuário;
4. um banco de dados de apoio no site.
slide 104 © 2014 Pearson. Todos os direitos reservados.
Interação usuário-servidor:
cookies

• Mantendo o
estado do
usuário com
cookies.

slide 105 © 2014 Pearson. Todos os direitos reservados.


Caches Web

• Um cache Web — também denominado servidor proxy — é uma


entidade da rede que atende requisições HTTP em nome de um
servidor Web de origem.

Clientes requisitando objetos


por meio de um cache Web:

slide 106 © 2014 Pearson. Todos os direitos reservados.


GET condicional

• GET condicional – mecanismo que permite que um cache verifique se


seus objetos estão atualizados.

Transferência de arquivo: FTP


• Em uma sessão FTP típica, o usuário quer transferir arquivos de ou para
um hospedeiro remoto.

• HTTP e FTP são protocolos de transferência de arquivos e têm muitas


características em comum.
slide 107 © 2014 Pearson. Todos os direitos reservados.
DNS: o serviço de diretório
da Internet

• Há duas maneiras de identificar um hospedeiro — por um nome de


hospedeiro e por um endereço IP.

• Para conciliar isso, é necessário um serviço de diretório que traduza nomes


de hospedeiro para endereços IP.

• Esta é a tarefa principal do DNS da Internet.

• O DNS é (1) um banco de dados distribuído executado em uma hierarquia


de servidores de DNS, e (2) um protocolo de camada de aplicação que
permite que hospedeiros consultem o banco de dados distribuído.
slide 108 © 2014 Pearson. Todos os direitos reservados.
DNS: o serviço de diretório
da Internet

O DNS provê alguns outros serviços importantes além da tradução


de nomes de hospedeiro para endereços IP:

• Apelidos (aliasing) de hospedeiro.

• Apelidos de servidor de correio.

• Distribuição de carga.
slide 109 © 2014 Pearson. Todos os direitos reservados.
DNS: o serviço de diretório
da Internet

• Nenhum servidor DNS isolado tem todos os mapeamentos para


todos os hospedeiros da Internet.

• Em vez disso, os mapeamentos são distribuídos pelos servidores


DNS.

Parte da hierarquia
de servidores
DNS
slide 110 © 2014 Pearson. Todos os direitos reservados.
DNS

Tipos de domínios:
 .root
 Top Level Domain (TLD): .com, .gov., .org, .net, .edu, .edu
 Generic Top Level Domain (gTLD)
 Country Code Top Level Domain (ccTLD): .br, .pt, .au etc.
 https://en.wikipedia.org/wiki/List_of_Internet_top-level_do
mains

111
Redes de Computadores I
DNS: o serviço de diretório
da Internet

• Servidores DNS raiz em 2012 (nome, organização, localização)

slide 112 © 2014 Pearson. Todos os direitos reservados.


DNS: o serviço de diretório
da Internet

• Interação dos diversos servidores


DNS:

slide 113 © 2014 Pearson. Todos os direitos reservados.


DNS: o serviço de diretório
da Internet

• O DNS explora extensivamente o cache


para melhorar o desempenho quanto ao
atraso e reduzir o número de mensagens
DNS que dispara pela Internet.

• Consultas recursivas em DNS:

slide 114 © 2014 Pearson. Todos os direitos reservados.


Registros e mensagens DNS

• Um registro de recurso é uma tupla de quatro elementos que


contém os seguintes campos:
(Name, Value, Type, TTL)

• Formato da mensagem DNS

slide 115 © 2014 Pearson. Todos os direitos reservados.


Transferência de arquivo:
FTP

• FTP transporta arquivos entre sistemas de arquivo local e remoto:

slide 116 © 2014 Pearson. Todos os direitos reservados.


Transferência de arquivo:
FTP

• Conexões de controle e de dados:

slide 117 © 2014 Pearson. Todos os direitos reservados.


Camadas e respostas FTP

Alguns dos comandos mais comuns são descritos a seguir:

• USER username: usado para enviar identificação do usuário ao servidor.

• PASS password: usado para enviar a senha do usuário ao servidor.

• LIST: usado para pedir ao servidor que envie uma lista com todos os
arquivos existentes no atual diretório remoto.

• RETR filename: usado para extrair um arquivo do diretório atual do


hospedeiro remoto.
slide 118 © 2014 Pearson. Todos os direitos reservados.
Camadas e respostas FTP

• STOR filename: usado para armazenar um arquivo no diretório atual do


hospedeiro remoto.

Algumas respostas típicas, junto com suas possíveis mensagens, são as seguintes:

• 331 Nome de usuário OK, senha requisitada

• 125 Conexão de dados já aberta; iniciando transferência

• 425 Não é possível abrir a conexão de dados

• 452 Erro ao escrever o arquivo


slide 119 © 2014 Pearson. Todos os direitos reservados.
Correio eletrônico na
Internet

• Uma visão do
sistema de e-mail
da Internet.

slide 120 © 2014 Pearson. Todos os direitos reservados.


SMTP

• O SMTP transfere mensagens de servidores de correio remetentes


para servidores de correio destinatários.

Alice envia uma mensagem a Bob:

slide 121 © 2014 Pearson. Todos os direitos reservados.


Formatos de mensagem de
correio

• Um cabeçalho de mensagem típico é semelhante a:

From: alice@crepes.fr
To: bob@hamburger.edu
Subject: Searching for the meaning of life.

• Após o cabeçalho da mensagem, vem uma linha em branco e, em seguida, o corpo


da mensagem (em ASCII).

• Você pode usar o Telnet para enviar a um servidor de correio uma mensagem que
contenha algumas linhas de cabeçalho, inclusive Subject:. Para tal, utilize o
comando telnet serverName 25.
slide 122 © 2014 Pearson. Todos os direitos reservados.
Protocolos de acesso ao
correio

• Protocolos de e-mail e suas entidades comunicantes

slide 123 © 2014 Pearson. Todos os direitos reservados.


Aplicações P2P

Distribuição de arquivos P2P

• Na distribuição de arquivos P2P, cada par pode redistribuir qualquer


parte do arquivo recebido para outros pares, auxiliando, assim, o
servidor no processo de distribuição.

• O tempo de distribuição é o tempo necessário para que todos os N pares


obtenham uma cópia do arquivo.

• O BitTorrent é um protocolo P2P popular para distribuição de arquivos.


slide 124 © 2014 Pearson. Todos os direitos reservados.
Aplicações P2P

Distribuição de arquivos P2P

Um problema ilustrativo de
distribuição de arquivo

slide 125 © 2014 Pearson. Todos os direitos reservados.


Aplicações P2P

Distribuição de arquivos P2P

Tempo de distribuição
para arquiteturas P2P
e cliente-servidor

slide 126 © 2014 Pearson. Todos os direitos reservados.


Aplicações P2P

Distribuição de arquivos P2P

Distribuição de arquivos com


o BitTorrent

slide 127 © 2014 Pearson. Todos os direitos reservados.


Aplicações P2P

Distributed Hash Tables (DHTs)

• Vamos considerar como montar uma versão distribuída, P2P, de um


banco de dados, que guardará os pares (chave, valor) por milhões.

• No sistema P2P, cada par só manterá um pequeno subconjunto da


totalidade (chave, valor).

• Permitiremos que qualquer par consulte o banco de dados distribuído


com uma chave em particular.
slide 128 © 2014 Pearson. Todos os direitos reservados.
Aplicações P2P

Distributed Hash Tables (DHTs)

• O banco de dados distribuído, então, localizará os pares que possuem os


pares (chave, valor) correspondentes e retornará os pares chave‑valor ao
consultante.

• Qualquer par também poderá inserir novos pares chave-valor no banco de


dados.

• Esse banco de dados distribuído é considerado como uma tabela hash


distribuída (DHT — Distributed Hash Table).
slide 129 © 2014 Pearson. Todos os direitos reservados.
Aplicações P2P

Distributed Hash Tables (DHTs)

• O DHT circular oferece uma solução bastante elegante para


reduzir a quantidade de informação sobreposta que cada par deve
gerenciar.

slide 130 © 2014 Pearson. Todos os direitos reservados.


Aplicações P2P

Distributed Hash Tables (DHTs)

• Em sistemas P2P, um par pode vir ou ir sem aviso.

• Suponha que o par 5 da figura anterior saia de modo abrupto.

• Os dois pares precedentes ao que saiu (4 e 3) saberão que o par saiu, pois
não responde mais às mensagens de ping.

• Os pares 4 e 3 precisam, portanto, atualizar as informações do estado de seu


sucessor.
slide 131 © 2014 Pearson. Todos os direitos reservados.
Aplicações P2P

Distributed Hash Tables (DHTs)

• Consideraremos agora como o par 4 atualiza seu estado:

1. O par 4 substitui seu primeiro sucessor (par 5) por seu segundo


sucessor (par 8).

2. O par 4, então, pergunta a seu novo primeiro sucessor (par 8) o


identificador e o endereço IP de seu sucessor imediato (par 10). O
par 4, então, torna o par 10 seu segundo sucessor.
slide 132 © 2014 Pearson. Todos os direitos reservados.
Camada de aplicação

A arquitetura publish-subscribe possui 3 elementos:

Publisher

Subscriber

Broker

Normalmente, usa-se o protocolo MQTT ou CoAP para
envio das mensagens.

133
Tecnologia de Comunicação de Dados
Capítulo 3

Camada de transporte

slide 135 © 2014 Pearson. Todos os direitos reservados.


Introdução e serviços de
camada de transporte

• A camada de transporte
fornece comunicação
lógica, e não física, entre
processos de aplicações:

slide 136 © 2014 Pearson. Todos os direitos reservados.


Relação entre as camadas de
transporte e de rede

• Um protocolo de camada de transporte fornece comunicação lógica entre


processos que rodam em hospedeiros diferentes.

• Um protocolo de camada de rede fornece comunicação lógica entre


hospedeiros.

• Uma rede de computadores pode disponibilizar vários protocolos de transporte.

• Os serviços que um protocolo de transporte pode fornecer são muitas vezes


limitados pelo modelo de serviço do protocolo subjacente da camada de rede.

slide 137 © 2014 Pearson. Todos os direitos reservados.


Visão geral da camada de
transporte na Internet

• A responsabilidade fundamental do UDP e do TCP é ampliar o serviço


de entrega IP entre dois sistemas finais para um serviço de entrega
entre dois processos que rodam nos sistemas finais.

• A ampliação da entrega hospedeiro a hospedeiro para entrega processo


a processo é denominada multiplexação/demultiplexação de camada
de transporte.

• O UDP e o TCP também fornecem verificação de integridade ao


incluir campos de detecção de erros nos cabeçalhos de seus segmentos.
slide 138 © 2014 Pearson. Todos os direitos reservados.
Multiplexação e
demultiplexação

• Multiplexação e demultiplexação na camada de transporte

slide 139 © 2014 Pearson. Todos os direitos reservados.


Multiplexação e
demultiplexação

• A tarefa de entregar os dados contidos em um segmento da camada


de transporte ao socket correto é denominada demultiplexação.

• O trabalho de reunir, no hospedeiro de origem, partes de dados


provenientes de diferentes sockets, encapsular cada parte de dados
com informações de cabeçalho para criar segmentos, e passar esses
segmentos para a camada de rede é denominada multiplexação.

slide 140 © 2014 Pearson. Todos os direitos reservados.


Multiplexação e
demultiplexação

• Campos de número de porta de origem e de destino em um


segmento de camada de transporte:

slide 141 © 2014 Pearson. Todos os direitos reservados.


Camada de transporte

Os cabeçalhos dos pacotes indicam o número
da porta de origem e o número da porta de
destino.

Estes números são de 16 bits, podendo variar
de 0 a 65535.

As portas entre 0 e 1023 são restritas para
determinadas aplicações.

142
Redes de Computadores I
Camada de transporte

Algumas das principais aplicações TCP/IP são
identificadas pelas seguintes portas:
 FTP: 20 e 21
 TELNET: 23 (SSH: 22)
 SMTP: 25
 DNS: 53
 HTTP: 80 (HTTPS: 443)
 POP3: 110
 http://www.iana.org/assignments/port-numbers

143
Redes de Computadores I
Camada de transporte

Nos servidores, as informações recebidas são
encaminhadas para a mesma porta, 80 no caso de
servidores web.

A diferenciação ocorre usando o IP e a porta da
origem.

Estes valores foram armazenados no
estabelecimento de conexão TCP.

144
Redes de Computadores I
P1 P4 P2 P1
P3

SP: 5775
DP: 80
S-IP: B
D-IP:C

SP: 9157 SP: 9157


cliente DP: 80 DP: 80 cliente
servidor
IP: A S-IP: A IP: C S-IP: B IP:B
D-IP:C D-IP:C

145
Redes de Computadores I
Camada de transporte

A criação dos sockets usando UDP ou TCP é
diferente:
 No TCP o socket é criado na geração de um segmento de
estabelecimento de conexão, indicando o IP e a porta do
servidor.
 No UDP, o cliente cria um socket e depois envia os dados
através deste socket.

146
Redes de Computadores I
Transporte não orientado
para conexão: UDP

• O UDP, definido no [RFC 768], faz apenas quase tão pouco quanto
um protocolo de transporte pode fazer.

• À parte sua função de multiplexação/demultiplexação e de alguma


verificação de erros simples, ele nada adiciona ao IP.

• Se o desenvolvedor de aplicação escolher o UDP, em vez do TCP, a


aplicação estará “falando” quase diretamente com o IP.

• O UDP é não orientado para conexão.


slide 147 © 2014 Pearson. Todos os direitos reservados.
Transporte não orientado
para conexão: UDP

• Aplicações populares da Internet e seus protocolos de transporte


subjacentes:

slide 148 © 2014 Pearson. Todos os direitos reservados.


Estrutura do segmento UDP

• Aplicações populares da Internet e seus protocolos de transporte


subjacentes:

slide 149 © 2014 Pearson. Todos os direitos reservados.


Soma de verificação UDP

• A soma de verificação UDP serve para detectar erros.

• Suponha que tenhamos as seguintes três


palavras de 16 bits:

• A soma das duas primeiras é:

• Adicionando a terceira palavra à soma


anterior, temos:
slide 150 © 2014 Pearson. Todos os direitos reservados.
Princípios da transferência
confiável de dados

• Modelo do serviço e implementação do serviço:

slide 151 © 2014 Pearson. Todos os direitos reservados.


Transferência confiável de dados
sobre um canal com perda e com
erros de bits: rdt3.0
• Operação do protocolo bit alternante

slide 152 © 2014 Pearson. Todos os direitos reservados.


Transferência confiável de dados
sobre um canal com perda e com
erros de bits: rdt3.0
• Operação do protocolo bit alternante

slide 153 © 2014 Pearson. Todos os direitos reservados.


Protocolos de transferência
confiável de dados com
paralelismo
• No coração do problema do desempenho do rdt3.0 está o fato de
ele ser um protocolo do tipo pare e espere.

• Um protocolo pare e espere em operação

slide 154 © 2014 Pearson. Todos os direitos reservados.


Protocolos de transferência
confiável de dados com
paralelismo
• Um protocolo com paralelismo em operação

slide 155 © 2014 Pearson. Todos os direitos reservados.


Protocolos de transferência
confiável de dados com
paralelismo
• Envio com pare e espere

slide 156 © 2014 Pearson. Todos os direitos reservados.


Protocolos de transferência
confiável de dados com
paralelismo
• Envio com paralelismo

slide 157 © 2014 Pearson. Todos os direitos reservados.


Go-Back-N (GBN)

• Em um protocolo Go-Back-N (GBN), o remetente é autorizado a


transmitir múltiplos pacotes sem esperar por um reconhecimento.
• Porém, fica limitado a ter não mais do que algum número máximo
permitido, N, de pacotes não reconhecidos na “tubulação”.
• Visão do remetente para os números de sequência no protocolo
Go-Back-N:

slide 158 © 2014 Pearson. Todos os direitos reservados.


Go-Back-N (GBN)

• Go-Back-N em operação

slide 159 © 2014 Pearson. Todos os direitos reservados.


Repetição seletiva (SR)

• Protocolos de repetição seletiva (SR) evitam retransmissões


desnecessárias.

• Eles fazem o remetente retransmitir apenas os pacotes suspeitos de


terem sido recebidos com erro no destinatário.

• Essa retransmissão individual, só quando necessária, exige que o


destinatário reconheça individualmente os pacotes recebidos de
modo correto.
slide 160 © 2014 Pearson. Todos os direitos reservados.
Repetição seletiva (SR)

• Operação SR

slide 161 © 2014 Pearson. Todos os direitos reservados.


Transporte orientado para
conexão: TCP

Resumo de mecanismos de transferência confiável de dados e sua utilização:

• Soma de verificação - Usada para detectar erros de bits em um pacote


transmitido.

• Temporizador - Usado para controlar a temporização/retransmissão de um


pacote, possivelmente porque o pacote (ou seu ACK) foi perdido dentro do
canal.

• Número de sequência - Usado para numeração sequencial de pacotes de


dados que transitam do remetente ao destinatário.
slide 162 © 2014 Pearson. Todos os direitos reservados.
Transporte orientado para
conexão: TCP

• Reconhecimento - Usado pelo destinatário para avisar o remetente


que um pacote ou conjunto de pacotes foi recebido corretamente.

• Reconhecimento negativo - Usado pelo destinatário para avisar o


remetente que um pacote não foi recebido corretamente.

• Janela, paralelismo - O remetente pode ficar restrito a enviar


somente pacotes com números de sequência que caiam dentro de
uma determinada faixa.

slide 163 © 2014 Pearson. Todos os direitos reservados.


A conexão TCP

• Uma conexão TCP provê um serviço full-duplex.

• A conexão TCP é sempre fim a fim.

• Uma vez estabelecida uma conexão TCP, dois processos de


aplicação podem enviar dados um para o outro.

• O TCP combina cada porção de dados do cliente com um cabeçalho


TCP, formando, assim, segmentos TCP.
slide 164 © 2014 Pearson. Todos os direitos reservados.
Estrutura do segmento TCP

slide 165 © 2014 Pearson. Todos os direitos reservados.


Números de sequência e
números de reconhecimento

• O número de sequência para um segmento é o número do primeiro


byte do segmento.

• O número de reconhecimento que o hospedeiro A atribui a seu


segmento é o número de sequência do próximo byte que ele estiver
aguardando do hospedeiro B.

• Como o TCP somente reconhece bytes até o primeiro byte que


estiver faltando na cadeia, dizemos que o TCP provê
reconhecimentos cumulativos.
slide 166 © 2014 Pearson. Todos os direitos reservados.
Transferência confiável de
dados

• O TCP cria um serviço de transferência confiável de dados sobre o


serviço de melhor esforço do IP.

• O serviço de transferência garante que a cadeia de bytes é idêntica à


cadeia de bytes enviada pelo sistema final que está do outro lado da
conexão.

• Os procedimentos recomendados no [RFC 6298] para gerenciamento


de temporizadores TCP utilizam apenas um único temporizador de
retransmissão.
slide 167 © 2014 Pearson. Todos os direitos reservados.
Controle de fluxo

• O TCP provê um serviço de controle de fluxo às suas aplicações, para


eliminar a possibilidade de o remetente estourar o buffer do
destinatário.

• Controle de fluxo é um serviço de compatibilização de velocidades.

• O TCP oferece serviço de controle de fluxo fazendo que o remetente


mantenha uma variável denominada janela de recepção.

slide 168 © 2014 Pearson. Todos os direitos reservados.


Controle de fluxo

• A janela de recepção (rwnd) e o buffer de recepção (RcvBuffer)

slide 169 © 2014 Pearson. Todos os direitos reservados.


Gerenciamento da conexão
TCP

• O TCP no cliente estabelece uma conexão TCP com o TCP no


servidor da seguinte maneira:

1. O lado cliente do TCP primeiro envia um segmento TCP especial ao


lado servidor do TCP.

2. Assim que o datagrama IP contendo o segmento TCP SYN chega ao


hospedeiro servidor, o servidor extrai o segmento TCP SYN do
datagrama, aloca buffers e variáveis TCP à conexão e envia um
segmento de aceitação de conexão ao TCP cliente.
slide 170 © 2014 Pearson. Todos os direitos reservados.
Gerenciamento da conexão
TCP

3. Ao receber o segmento SYNACK, o cliente também reserva buffers e


variáveis para a conexão.

• Completadas as três etapas, os hospedeiros cliente e servidor podem enviar


segmentos contendo dados um ao outro.

• Durante a vida de uma conexão TCP, o protocolo TCP que roda em cada
hospedeiro faz transições pelos vários estados do TCP.

• A figura a seguir ilustra uma sequência típica de estados do TCP visitados


pelo TCP cliente.
slide 171 © 2014 Pearson. Todos os direitos reservados.
Gerenciamento da conexão
TCP

• Uma sequência típica de estados do TCP visitados por um TCP


cliente:

slide 172 © 2014 Pearson. Todos os direitos reservados.


Mecanismos de controle de
congestionamento

Controle de congestionamento fim a fim:

• A camada de rede não fornece nenhum suporte explícito à camada de


transporte com a finalidade de controle de congestionamento.

Controle de congestionamento assistido pela rede:

• Os componentes da camada de rede (isto é, roteadores) fornecem


retroalimentação específica de informações ao remetente a respeito
do estado de congestionamento na rede.
slide 173 © 2014 Pearson. Todos os direitos reservados.
Controle de
congestionamento no TCP

• A abordagem adotada pelo TCP é obrigar cada remetente a limitar a


taxa à qual enviam tráfego para sua conexão como uma função do
congestionamento de rede percebido.

• Se um remetente TCP perceber que há pouco congestionamento no


caminho entre ele e o destinatário, aumentará sua taxa de envio.

• Se perceber que há congestionamento, reduzirá sua taxa de envio.

slide 174 © 2014 Pearson. Todos os direitos reservados.


Controle de
congestionamento no TCP

• Mas essa abordagem levanta três questões:

1. Como um remetente TCP limita a taxa pela qual envia tráfego para
sua conexão?

2. Como um remetente TCP percebe que há congestionamento entre ele


e o destinatário?

3. Que algoritmo o remetente deve utilizar para modificar sua taxa de


envio como uma função do congestionamento fim a fim percebido?
slide 175 © 2014 Pearson. Todos os direitos reservados.
Camada de transporte

Os seguintes serviços não são fornecidos pelos
protocolos de transporte:
 garantia a atrasos
 garantia de banda

Para estes serviços, são utilizados novos
protocolos, o RTP (Real Time Transport Protocol) e
o RTCP (Real Time Transport Control Protocol),
juntamente com o UDP.

176
Redes de Computadores I
Camada de rede

A arquitetura TCP/IP enfatiza a interligação de
diferentes tecnologias de redes: um usuário de uma
LAN de alta velocidade pode se comunicar com outro
de uma MAN ou WAN de baixa velocidade, por
exemplo.

A camada de rede nesta arquitetura é denominada de
camada internet ou camada inter-rede.

A finalidade desta camada é escolher o melhor
caminho para encaminhar pacotes através da rede.
177
Redes de Computadores I
Camada de rede

A escolha do melhor caminho e a comutação de
pacotes ocorrem nesta camada.

Para entender as interconexões entre diferentes e
diversas redes, são usados alguns conceitos básicos
como roteadores (gateways), endereçamento, nós,
hosts.

178
Redes de Computadores I
179
Redes de Computadores I
Camada de rede

Em uma interligação em rede, para que os dados
alcancem o destino, é necessário que os dispositivos
desta rede sejam identificados por um endereço
exclusivo.

Normalmente os endereços de dispositivos de redes
são numéricos e obedecem a um formato
padronizado.

180
Redes de Computadores I
Camada de rede

O termo inter-rede, ou internet, refere-se a uma ou
mais redes conectadas por roteadores.

A Internet é uma inter-rede específica.

Nas redes roteadas, o endereço contém, pelo menos,
2 partes:
 uma que identifica a rede,
 outra que identifica o nó (ou host): um equipamento desta
rede.

181
Redes de Computadores I
Camada de rede

Dispositivos com o mesmo número de rede estão
conectados no mesmo meio físico, na mesma rede.

Cada dispositivo de uma rede precisa ser
configurado com um número de nó exclusivo e cada
rede dentro de uma inter-rede precisa ter um número
de rede exclusivo.

182
Redes de Computadores I
Camada de rede

Existem os endereços da camada de rede, IP, e os
endereços da camada de acesso ao meio (MAC -
Media Access Control).

Os endereços MAC são usados para estabelecer uma
comunicação entre nós de um mesmo meio físico.

Estes são estruturados na placa de comunicações:
adaptador ou placa de rede.

183
Redes de Computadores I
Camada de rede

Os roteadores precisam mapear endereços IP em
endereços físicos, para isso utilizam o ARP (Address
Resolution Protocol).
 Quando um host A tem o endereço IP de B (IPB), mas
quer descobrir o endereço físico de B (FB), ele
transmite por difusão um pacote especial que pede ao
host com endereço IPB que responda indicando seu
endereço físico FB.

184
Redes de Computadores I
Camada de rede

Os endereços da camada de rede, os endereços IP,
são usados para estabelecer uma comunicação entre
nós dentro de uma inter-rede IP.

185
Redes de Computadores I
Camada de rede

Os dispositivos das redes roteadas são classificados
em 2 classes:
 nós de extremidade,
 roteadores.

Os nós de extremidade são os dispositivos com os
quais os usuários interagem: estações de trabalho,
impressoras, servidores de arquivos, etc..

186
Redes de Computadores I
Camada de rede

Os roteadores são os dispositivos que estabelecem
uma conexão entre as redes.

Estes são responsáveis por saber como a rede está
conectada e como transmitir informações de uma
parte para outra.

Os roteadores podem estar conectados a 2 ou mais
redes.

187
Redes de Computadores I
Camada de rede

Os nós de extremidade enviam ao roteador local as
informações para os dispositivos de outra rede e este
roteador se encarrega de encaminhar estas
informações ao destinatário.

188
Redes de Computadores I
Camada de rede

Dispositivos como um servidor de arquivos podem
desempenhar o papel de roteador, porém como o
roteamento é uma tarefa que consome CPU,
normalmente os roteadores ficam em máquinas
dedicadas.

189
Redes de Computadores I
190
Redes de Computadores I
Camada de rede

Os motivos para a utilização de roteadores nas redes
são:
 permitem que mais dispositivos sejam interconectados
 ajudam a vencer as limitações físicas do meio físico,
estabelecem conexão de diversos cabos
 mantém um isolamento político: dois grupos podem se
comunicar porém ficam fisicamente isolados.

191
Redes de Computadores I
Camada de rede

Muitos roteadores possuem funções de filtragem que
permitem que o administrador de rede controle quem
utiliza a rede e o que é utilizado.

Os problemas que ocorrem em uma rede não afetam
as outras.

192
Redes de Computadores I
Camada de rede

Quando um nó de uma rede TCP/IP precisa enviar um
pacote IP para outro nó, ele compara a parte da rede
do endereço do destino com a do seu próprio
endereço:
 se elas forem iguais, os nós estão no mesmo meio físico e
os nós podem se comunicar diretamente através da camada
de enlace;
 se elas forem diferentes, o pacote precisa ser encaminhado
para o roteador.

193
Redes de Computadores I
Camada de rede

Os roteadores recebem pacotes de nós de
extremidades para serem encaminhados para outras
redes e de outras redes para os nós de extremidade.

Todos os roteadores contém tabelas de roteamento
que indicam como atingir outras redes.

194
Redes de Computadores I
Camada de rede

O serviço de interconexão de redes na arquitetura
TCP/IP é realizado pelo nível de rede através do
protocolo IP.

Para interligar duas redes distintas, é necessário
conectar uma máquina a ambas as redes.

Esta máquina é denominada internet gateway ou
internet router.

195
Redes de Computadores I
Camada de rede

Os roteadores ou gateways precisam conhecer a
topologia da inter-rede, como as redes estão
interconectadas a fim de encaminhar as mensagens
corretamente.

Os usuários enxergam a inter-rede como uma única
rede virtual, onde todas as máquinas estão
conectadas, não importando a forma física de
interconexão.

196
Redes de Computadores I
Camada de rede

A camada de rede é responsável pela transferência
de dados através da inter-rede, desde a máquina
origem até o destino.

Ela recebe pedidos do nível de transporte para
transmitir pacotes.

197
Redes de Computadores I
Camada de rede

Cada pacote é encapsulado em datagramas IP e o
algoritmo de roteamento é executado para determinar
se o datagrama pode ser entregue diretamente ou se
deve ser repassado para um gateway.

198
Redes de Computadores I
Camada de rede

A camada de rede processa os pacotes recebidos
das interfaces de rede e executa o algoritmo de
roteamento para saber se o datagrama deve ser
passado para o nível de transporte local ou se deve
ser passado adiante.

199
Redes de Computadores I
Camada de rede

A camada de rede possui três grupos de protocolos:
 Protocolo IP
 Protocolos de roteamento: escolha dos caminhos, tabelas
de rotas (RIP, BGP, OSPF, ISIS, etc.)
 Protocolo ICMP: aviso de erros e sinalização de rotas

200
Redes de Computadores I
IP

O IP é o protocolo da camada de rede da arquitetura
TCP/IP.

Ele permite a interconexão de redes de computadores
que utilizam a tecnologia de comutação de pacotes.

O ambiente inter-rede ou internet consiste em hosts
conectados a redes que por sua vez são conectadas
por gateways.

201
Redes de Computadores I
203
Redes de Computadores I
IP

O IP é um protocolo sem conexões, ele transfere
blocos de dados denominados DATAGRAMAS da
origem para o destino sem estabelecer conexão.

A origem e o destino são identificados por endereços
IP.

Cada datagrama é tratado com uma unidade
independente.

204
Redes de Computadores I
IP

A comunicação é não-confiável, não há
reconhecimento do recebimento dos datagramas.

Não há controle de erros, exceto um checksum do
cabeçalho, nem controle de fluxo.

As principais características deste protocolo são:

205
Redes de Computadores I
IP

Serviço de datagrama não confiável

Endereçamento hierárquico

Facilidade de fragmentação e remontagem de pacotes

Identificação da prioridade de entrega e da ocorrência
futura ou não de pacotes na mesma direção

206
Redes de Computadores I
IP

Campo especial para indicar o protocolo de
transporte a ser utilizado

Roteamento adaptativo distribuído nos gateways

Descarte e controle do tempo de vida dos pacotes
inter-redes no gateway

O formato do datagrama IP é apresentado a seguir.

207
Redes de Computadores I
208
Redes de Computadores I
IP

Segue a função de cada um dos campos:
 Tipo e versão: versão do protocolo (4 bits), tamanho do
cabeçalho (4 bits), prioridade e tipo de serviço (8 bits).
 Tamanho do datagrama: tamanho total do datagrama =
cabeçalho + dados.
 Identificação: identificação do datagrama.
 Controle de fragmentação: usado se houver fragmentação do
datagrama na rede.
 Controle de tempo: tempo de vida do datagrama na rede.

209
Redes de Computadores I
IP
 Protocolo de camada superior: identifica para qual protocolo
de transporte o datagrama deve ser entregue no destino (TCP
ou UDP ou ICMP).
 CRC: controle de erros do cabeçalho IP.
 Endereço IP de origem.
 Endereço IP de destino.
 Opções: para uso em testes, segurança e análise de erros na
rede.
 Dados: dados das camadas superiores levados pelo
datagrama IP.

210
Redes de Computadores I
Endereçamento IP

Os endereços IPv4 são números de 32 bits escritos
em quatro octetos em decimal, por exemplo:
128.6.4.7.

A primeira parte do endereço identifica uma rede
específica na internet e a segunda parte identifica um
host dentro desta rede.

Um endereço IP pode identificar uma máquina
individual ou uma conexão.

211
Redes de Computadores I
Endereçamento IP

Um gateway conectando n redes tem n endereços IP
diferentes, um para cada conexão.

Por convenção, um endereço de rede possui o campo
de identificador de host com os bits iguais a zero:
192.168.3.0.

Para indicar todos os hosts de uma rede através de
um endereço por difusão, temos os bits iguais a um:
192.168.3.255.

212
Redes de Computadores I
Endereçamento IP

O IP utiliza classes de endereços: A, B, C, D e E.

As classes são definidas de acordo com o tamanho
da rede, ou seja, da quantidade de hosts conectados
nesta rede.

Na classe A, o bit mais significativo é 0, os outros 7
bits do primeiro octeto identificam a rede e os 24 bits
restantes definem o endereço local.

213
Redes de Computadores I
Endereçamento IP

Os endereços de classe A são utilizados em redes
de grande porte.

Os endereços de rede na classe A variam de 1 a 127
e cada rede pode endereçar cerca de 16 milhões
(224) de hosts.

A ARPANET é um exemplo de rede que possui
endereços classe A.

A faixa 127 é reservada para endereços de
loopback.
214
Redes de Computadores I
Endereçamento IP

A classe B usa dois octetos para o número de rede e
dois para endereços de hosts.

Os endereços de rede da classe B variam de 128.1
até 191.255 e cada rede pode interligar cerca de 65 mil
(216) hosts.

Os endereços 128.0.*, 128.255.* são para funções
especiais.

215
Redes de Computadores I
Endereçamento IP

Na classe C, os endereços de rede possuem 3
octetos e os de hosts 1.

Os endereços estão na faixa de 192.1.1 até
223.254.254.

Cada rede pode endereçar 254 hosts.

Os endereços acima de 223 no primeiro octeto
foram reservados para multicast (até 239) e para o
IETF.

216
Redes de Computadores I
Endereçamento IP

O endereço classe D foi criado para permitir endereço
multicasting.

Um endereço de multicast é um endereço de rede
exclusivo que direciona os pacotes com esse
endereço de destino para grupos predefinidos de
endereços IP.

Assim, uma única estação pode transmitir
simultaneamente um único fluxo de dados para vários
destinatários.
217
Redes de Computadores I
Endereçamento IP

Os endereços de classe D possuem os primeiros
quatro bits iguais a 1110.

Assim, o intervalo de valores no primeiro octeto dos
endereços de classe D vai de 11100000 a 11101111,
ou de 224 a 239 em decimal.

Um endereço IP que comece com um valor no
intervalo de 224 a 239 no primeiro octeto é um
endereço classe D.

218
Redes de Computadores I
Endereçamento IP

Também foi definido um endereço classe E, entretanto, a
IETF (Internet Engineering Task Force) reserva esses
endereços para suas próprias pesquisas.

Dessa forma, nenhum endereço classe E foi liberado
para uso na Internet.

Os primeiros quatro bits de um endereço classe E são
sempre definidos como 1s. Assim, o intervalo de valores
no primeiro octeto dos endereços de classe E vai de
11110000 a 11111110, ou de 240 a 254 em decimal.

219
Redes de Computadores I
Endereçamento IP

Para evitar conflitos de endereços utilizados em redes
internas e em redes externas, foram reservadas faixas
de endereços IP para serem utilizadas exclusivamente
em redes internas:
 Rede 10.0.0.0 (classe A)
 Rede 172.16.0.0 até 172.31.0.0 (classe B)
 Rede 192.168.0.0 (classe C)

223
Redes de Computadores I
224
Redes de Computadores I
Endereçamento IP

Os computadores dentro de uma mesma rede devem
ter endereços compatíveis: de mesma classe e de
mesmo número de rede.

225
Redes de Computadores I
Endereçamento IP

Resumo dos endereços de cada classe (considere o
endereço IP como w.x.y.z):
Classe Nº IP inicial Indicador Indicador da Nº de redes Nº de sub-redes
da rede sub-rede disponíveis ou hosts
disponíveis
A 1 a 126 w x.y.z 126 16 777 214
B 128 a 191 w.x y.z 16 384 65 534
C 192 a 223 w.x.y z 2 097 151 254
D 224 a 239 - - - -
E 240 a 254 - - - -

226
Redes de Computadores I
Endereçamento IP

Um conceito importante usado quando configuramos
o TCP/IP num computador é o de máscara de sub-
rede.

A máscara serve para definir a classe de
endereçamento, especificando que parte do endereço
IP representa a rede e a parte que representa o host.

O número 255 na máscara confirma que o byte faz
parte do endereço de rede.

228
Redes de Computadores I
Endereçamento IP

255.255.255.0 (/24): máscara para classe C

255.255.0.0 (/16): máscara para classe B

255.0.0.0 (/8): máscara para classe A

A máscara pode ser usada para identificar sub-redes,
neste caso uma rede com endereço externo da classe
A pode usar máscara do tipo 255.255.0.0 (B).

229
Redes de Computadores I
Endereçamento IP

As classes de endereços IP oferecem uma faixa de
256 a 16,8 milhões de hosts.

Para que se gerencie com eficiência um grupo
limitado de endereços IP, todas as classes podem ser
subdivididas em sub-redes menores.

235
Redes de Computadores I
Endereçamento IP
Divisão em Sub-redes

Com o crescimento e a proliferação da Internet, esta
divisão em classes tornou-se insuficiente, originando
assim o conceito de CIDR (Classless InterDomain Routing).

As redes das classes originais são subdivididas em redes
menores, denominadas sub-redes.

A porção de endereço de rede pode ter então um tamanho
arbitrário.

O formato do endereço pode ser representado por
A.B.C.D/x, onde x é o número de bits na parte de rede do
endereço.
236
Redes de Computadores I
parte de parte de
rede hospedeiro

10001000 00010111 00010000 00000000

136.23.16.0/23

237
Redes de Computadores I
Divisão em Sub-redes

Para criar a estrutura de sub-redes, os bits do host
devem ser reatribuídos como bits da sub-rede. Esse
processo é frequentemente chamado é ‘emprestar’
bits.

O ponto de partida para este processo é sempre o bit
do host mais à esquerda, aquele mais próximo ao
último octeto da rede.

238
Redes de Computadores I
Divisão em Sub-redes

Os endereços de sub-rede incluem a parte da rede de
classe A, classe B e classe C, mais um campo de sub-
rede e um campo de host.

O campo da sub-rede e o campo do host são criados
da parte original do host do endereço IP principal.

Isso é feito com a atribuição de bits da parte do host
à parte de rede original do endereço.

240
Redes de Computadores I
Divisão em Sub-redes

A capacidade de dividir a parte do host original do
endereço nos novos campos de sub-rede e de host
proporciona flexibilidade de endereçamento ao
administrador da rede.

Alguns proprietários de redes das classes A e B
também descobriram que a divisão em sub-redes cria
uma fonte de lucros para a organização através do
aluguel ou da venda de endereços IP não usados
anteriormente.

241
Redes de Computadores I
Divisão em Sub-redes

A divisão em sub-redes é uma função interna à rede,
para fora da rede, uma LAN é vista como uma única
rede sem que sejam apresentados detalhes da
estrutura da rede interna.

Esta visão da rede mantém as tabelas de roteamento
pequenas e eficientes.

242
Redes de Computadores I
Divisão em Sub-redes

Dado o endereço do nó local 147.10.43.14/24,
pertencente à sub-rede 147.10.43.0, o mundo externo
à LAN vê apenas o número anuncia do da rede
principal 147.10.0.0.

A razão para isso é que o endereço da sub-rede
147.10.43.0 é utilizado apenas dentro da LAN à qual a
sub-rede pertence.

243
Redes de Computadores I
Estabelecimento do
endereço da máscara de sub-rede

A seleção do número de bits a serem usados no processo
de sub-redes dependerá do número máximo de hosts
exigido por sub-rede.

É necessária alguma compreensão de números binários e
de valores de posição dos bits em cada octeto ao calcular
o número de sub-redes e de hosts criados quando esse bit
foi tomado por empréstimo.

Os dois últimos bits do último octeto, independentemente
da classe de endereço IP, jamais poderão ser atribuídos à
sub-rede.
244
Redes de Computadores I
Estabelecimento do
endereço da máscara de sub-rede

Bits emprestados 1 2 3 4 5 6 7 8

Valor em decimal 128 192 224 240 248 252 254 255

245
Redes de Computadores I
Estabelecimento do
endereço da máscara de sub-rede

Os dois últimos bits do último octeto, independentemente
da classe de endereço IP, jamais poderão ser atribuídos à
sub-rede.

Eles são chamados de os últimos dois bits significativos.

O uso de todos os bits disponíveis para criar sub-redes,
exceto esses dois últimos, resultará em sub-redes com
apenas dois hosts utilizáveis.

Esse é um método prático de conservação de endereços
para o endereçamento de links de roteadores seriais.
246
Redes de Computadores I
Estabelecimento do
endereço da máscara de sub-rede

A máscara de sub-rede fornece ao roteador as informações necessárias
para determinar em que rede e sub-rede um host específico reside.

A máscara de sub-rede é criada com o uso de 1s binários nas posições
dos bits relativos à rede.

Os bits da sub-rede são determinados com a adição do valor às
posições dos bits tomados por empréstimo.

Se tivessem sido tomados três bits, a máscara para um endereço de
classe C seria 255.255.255.224, que também pode ser representada, no
formato de barras, como /27.

O número após a barra é o total de bits usados para a parte da rede e
da sub-rede.

247
Redes de Computadores I
Estabelecimento do
endereço da máscara de sub-rede

Para determinar o número de bits a serem usados, o
projetista da rede precisa calcular quantos hosts a maior
sub-rede requer e o número necessário de sub-redes.

Por exemplo, a rede precisa de 6 sub-redes com 25 hosts
cada.

Uma maneira de determinar a quantidade de bits que
devem ser emprestados é através da tabela de sub-
redes.

248
Redes de Computadores I
Estabelecimento do
endereço da máscara de sub-rede

Formato /25 /26 /27 /28 /29 /30 ND ND


com barras

Máscara 128 192 224 240 248 252 254 255

Bits 1 2 3 4 5 6 7 8
emprestados

Valor em 128 64 32 16 8 4 2 1
decimal

249
Redes de Computadores I
Estabelecimento do
endereço da máscara de sub-rede

Consultando a linha "Sub-redes Utilizáveis", a tabela indica
que para ter seis sub-redes são necessários 3 bits
adicionais na máscara de sub-rede.

A tabela mostra que desta forma são criados 30 hosts
utilizáveis por sub-rede, o que irá satisfazer os requisitos
deste esquema.

A diferença entre hosts utilizáveis e total de hosts resulta do
uso do primeiro endereço disponível como ID e do último
endereço disponível como broadcast para cada sub-rede.

251
Redes de Computadores I
Estabelecimento do
endereço da máscara de sub-rede

O método usado para criar a tabela de sub-redes pode
ser usado para resolver todos os problemas da divisão
em sub-redes e usa a seguinte fórmula:
 Número de sub-redes utilizáveis = dois elevado ao número de bits
de sub-rede atribuídos ou tomados por empréstimo, menos dois.
(menos dois é dos endereços reservados para ID da rede e de
broadcast da rede)
 Número de hosts utilizáveis = dois elevado ao número de bits
restantes menos dois (endereços reservados para ID da sub-rede
e broadcast da sub-rede).

252
Redes de Computadores I
253
Redes de Computadores I
Aplicação da máscara de sub-rede

Uma vez estabelecida a máscara de sub-rede, ela
pode ser usada para criar o esquema de sub-redes.

A tabela a seguir mostra um exemplo das sub-redes e
endereços criados pela atribuição de três bits ao
campo de sub-rede.

Isso criará oito sub-redes com 32 hosts por sub-rede.

Ao numerar sub-redes, comece com zero (0).

A primeira sub-rede é sempre chamada sub-rede zero.

254
Redes de Computadores I
255
Redes de Computadores I
Aplicação da máscara de sub-rede

Quando se preenche a tabela de sub-redes, três dos campos são
automáticos; os outros exigem cálculos.

A ID da sub-rede zero é igual ao número da rede principal, sendo,
neste caso, 192.168.10.0.

A ID de broadcast para toda a rede é o maior número possível, sendo,
neste caso, 192.168.10.255.

O terceiro número fornecido é a ID de sub-rede para a sub-rede
número sete.

Esse número reflete os três octetos da rede com o número da
máscara de rede inserido na quarta posição do octeto.

Foram atribuídos três bits ao campo de sub-rede com valor cumulativo
224.

A ID para a sub-rede sete é 192.168.10.224.

Com a inserção desses números, foram estabelecidos pontos de
verificação, que verificarão a precisão quando a tabela for concluída.

256
Redes de Computadores I
Aplicação da máscara de sub-rede

Consultando-se a tabela de divisão em sub-redes ou utilizando-se a
fórmula, os três bits atribuídos ao campo de sub-rede resultarão no
total de 32 hosts atribuídos a cada sub-rede.

Essas informações fornecem a contagem de etapas para cada ID de
sub-rede.

Adicionando-se 32 a cada número precedente, começando com a
sub-rede zero, é estabelecida a ID para cada sub-rede.

Observe que a ID de sub-rede tem todos os 0s binários na parte do
host.

O campo de broadcast é o último número em cada sub-rede e tem
todos os uns binários na parte do host.

Esse endereço pode fazer broadcast somente para os membros de
uma única sub-rede.

257
Redes de Computadores I
Aplicação da máscara de sub-rede

Como a ID de sub-rede para a sub-rede zero é
192.168.10.0 e há um total de 32 hosts, a ID de broadcast
será 192.168.10.31.

Começando em zero, o 32o número sequencial será 31.

O equilíbrio da coluna de ID de broadcast pode ser obtido
com o mesmo processo usado na coluna de ID de sub-rede.

Simplesmente, adicione 32 à ID de broadcast precedente da
sub-rede.

Outra opção é começar na parte inferior e preencher até o
alto da coluna, subtraindo um da ID de sub-rede
precedente.

258
Redes de Computadores I
Divisão de redes das
classes A e B em sub-redes

O procedimento de divisão em sub-redes das classes
A e B é idêntico ao da classe C, exceto que pode
envolver um número significativamente maior de bits.

O número de bits disponíveis para atribuição ao
campo de sub-rede em um endereço de Classe A é
22, enquanto um endereço de classe B tem 14 bits.

259
Redes de Computadores I
260
Redes de Computadores I
261
Redes de Computadores I
Divisão de redes das
classes A e B em sub-redes

A atribuição de 12 bits de um endereço de classe B ao
campo de sub-rede cria uma máscara de sub-rede
255.255.255.240, ou /28.

Todos os oito bits foram atribuídos no terceiro octeto,
resultando em 255, valor total dos oito bits.

Quatro bits foram atribuídos no quarto octeto, resultando
em 240.

Lembre-se que, a máscara com barra é a soma total dos
bits atribuídos à sub-rede mais os bits fixos da rede.

262
Redes de Computadores I
Divisão de redes das
classes A e B em sub-redes

A atribuição de 20 de um endereço de classe A ao campo de
sub-rede cria uma máscara de sub-rede 255.255.255.240, ou
/28.

Todos os oito bits dos segundo e terceiro octetos foram
atribuídos ao campo de sub-rede e quatro bits do quarto octeto.

Nessa situação, é visível que a máscara de sub-rede para os
endereços das classes A e B parece idêntica.

A menos que a máscara esteja relacionada a um endereço de
rede, não é possível saber quantos bits foram atribuídos ao
campo de sub-rede.

263
Redes de Computadores I
Divisão de redes das
classes A e B em sub-redes

Qualquer que seja a classe de endereço a ser dividida
em sub-redes, as regras a seguir são as mesmas:
 Total de sub-redes = 2número de bits tomados por empréstimo
 Total de hosts = 2número de bits restantes
 Sub-redes utilizáveis = 2número de bits tomados por empréstimo - 2
 Hosts utilizáveis = 2número de bits restantes - 2

264
Redes de Computadores I
Cálculo da sub-rede
residente através do ANDing

Os roteadores usam máscaras de sub-rede para
determinar a sub-rede de origem para nós individuais.

Esse processo é chamado ANDing lógico e é
semelhante à multiplicação.

O ANDing é um processo binário pelo qual o roteador
calcula a ID de sub-rede para um pacote enviado.

265
Redes de Computadores I
266
Redes de Computadores I
Cálculo da sub-rede
residente através do ANDing

Esse processo é controlado no nível binário, assim, é
necessário visualizar o endereço IP e a máscara em binários.

Os endereços IP e de sub-rede são ANDed (operação lógica
AND) e o resultado é a ID de sub-rede.

Em seguida, o roteador usa essas informações para
encaminhar o pacote pela interface correta.

Um administrador de redes deve saber calcular sub-redes
manualmente, para que possa projetar o esquema da rede
com eficiência e garantir a validade dos resultados de uma
calculadora.

267
Redes de Computadores I
268
Redes de Computadores I
Sub-redes

RESUMO:
 Formato do Endereço IP (CIDR): a.b.c.d/X
 Máscara: X é o número de bits iguais a 1
 Endereço de rede: Endereço IP AND LÓGICO Máscara Padrão
 Endereço de sub-rede: Endereço IP AND LÓGICO Máscara de Sub-rede
 Número de sub-redes: 2no. de bits de sub-rede - 2, onde o número de bits de
sub-rede é o número de bits 1 além dos bits 1 da máscara da classe.
 Número de hosts: 2no. de bits de hosts - 2, onde o número de bits de hosts é o
número de bits 0 da máscara ou 32 - X.
 Os endereços estão na mesma sub-rede se:
 As máscaras forem iguais;
 Os endereços de sub-rede forem iguais.

269
Redes de Computadores I
Sub-redes

Exemplo 1:
 Endereço de A: 200.24.15.7/26
 Endereço de B: 200.24.15.250/26
 Qual é a máscara?
 Endereço da sub-rede de A?
 Endereço da sub-rede de B?
 Qual é o número de sub-redes utilizáveis?
 Qual é o número de hosts utilizáveis?
 A e B estão na mesma sub-rede?

270
Redes de Computadores I
1 6 3 1 8 4 2 1  1 6 3 1 8 4 2 1  1 6 3 1 8 4 2 1  1 6 3 1 8 4 2 1
2 4 2 6 2 4 2 6 2 4 2 6 2 4 2 6
8 8 8 8
A 1 1 0 0 1 0 0 0  0 0 0 1 1 0 0 0  0 0 0 0 1 1 1 1  0 0 0 0 0 1 1 1

M
a
1 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1  1 1 0 0 0 0 0 0
s
k

R
A
1 1 0 0 1 0 0 0  0 0 0 1 1 0 0 0  0 0 0 0 1 1 1 1  0 0 0 0 0 0 0 0

B 1 1 0 0 1 0 0 0  0 0 0 1 1 0 0 0  0 0 0 0 1 1 1 1  1 1 1 1 1 0 1 0

M
a
1 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1  1 1 0 0 0 0 0 0
s
k

R
B
1 1 0 0 1 0 0 0  0 0 0 1 1 0 0 0  0 0 0 0 1 1 1 1  1 1 0 0 0 0 0 0

271
Redes de Computadores I
Sub-redes

Exemplo 1:
 Endereço de A: 200.24.15.7/26
 Endereço de B: 200.24.15.250/26
 Qual é a máscara? 255.255.255.192
 Endereço da sub-rede de A? 200.24.15.0
 Endereço da sub-rede de B? 200.24.15.192
 Qual é o número de sub-redes utilizáveis? 22 – 2 = 2
 Qual é o número de hosts utilizáveis? 26 – 2 = 62
 A e B estão na mesma sub-rede? Não, pois não possuem o
mesmo número de sub-rede.
272
Redes de Computadores I
Sub-redes

Exemplo 2:
 Endereço de A: 200.24.15.7/27
 Endereço de B: 200.24.15.250/27
 Endereço de C: 200.24.15.43/27
 Endereço de D: 200.24.15.153/27
 Qual é a máscara?
 Endereço da sub-rede de A?
 Endereço da sub-rede de B?
 Endereço da sub-rede de C?
 Endereço da sub-rede de D?
 Qual é o número de sub-redes utilizáveis?
 Qual é o número de hosts utilizáveis?
 A, B, C e D estão na mesma sub-rede?

273
Redes de Computadores I
1 6 3 1 8 4 2 1  1 6 3 1 8 4 2 1  1 6 3 1 8 4 2 1  1 6 3 1 8 4 2 1
2 4 2 6 2 4 2 6 2 4 2 6 2 4 2 6
8 8 8 8
A 1 1 0 0 1 0 0 0  0 0 0 1 1 0 0 0  0 0 0 0 1 1 1 1  0 0 0 0 0 1 1 1
M 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1  1 1 1 0 0 0 0 0
R 1 1 0 0 1 0 0 0  0 0 0 1 1 0 0 0  0 0 0 0 1 1 1 1  0 0 0 0 0 0 0 0
A
B 1 1 0 0 1 0 0 0  0 0 0 1 1 0 0 0  0 0 0 0 1 1 1 1  1 1 1 1 1 0 1 0
M 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1  1 1 1 0 0 0 0 0
R 1 1 0 0 1 0 0 0  0 0 0 1 1 0 0 0  0 0 0 0 1 1 1 1  1 1 1 0 0 0 0 0
B
C 1 1 0 0 1 0 0 0  0 0 0 1 1 0 0 0  0 0 0 0 1 1 1 1 0 0 1 0 1 0 1 1
M 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1  1 1 1 0 0 0 0 0
R 1 1 0 0 1 0 0 0  0 0 0 1 1 0 0 0  0 0 0 0 1 1 1 1  0 0 1 0 0 0 0 0
C
D 1 1 0 0 1 0 0 0  0 0 0 1 1 0 0 0  0 0 0 0 1 1 1 1  1 0 0 1 1 0 0 1
M 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1  1 1 1 0 0 0 0 0
R 1 1 0 0 1 0 0 0  0 0 0 1 1 0 0 0  0 0 0 0 1 1 1 1  1 0 0 0 0 0 0 0
D
274
Redes de Computadores I
Sub-redes

Exemplo 2:
 Endereço de A: 200.24.15.7/27
 Endereço de B: 200.24.15.250/27
 Endereço de C: 200.24.15.43/27
 Endereço de D: 200.24.15.153/27
 Qual é a máscara? 255.255.255.224
 Endereço da sub-rede de A? 200.24.15.0
 Endereço da sub-rede de B? 200.24.15.224
 Endereço da sub-rede de C? 200.24.15.32
 Endereço da sub-rede de D? 200.24.15.128
 Qual é o número de sub-redes utilizáveis? 23 – 2 = 6
 Qual é o número de hosts utilizáveis? 25 – 2 = 30
 A, B, C e D estão na mesma sub-rede? Não, cada um possui um número de sub-rede
diferente.

275
Redes de Computadores I
276
VLANs

Uma LAN inclui todos os dispositivos no mesmo
domínio de broadcast.

Um domínio de broadcast inclui todos os dispositivos
de forma que, quando algum dispositivo envia um
quadro de broadcast, todos os outros recebem uma
cópia deste quadro.

Um switch considera que todos os dispositivos por
ele conectados estão no mesmo domínio de
broadcast.
277
VLANs

Com as VLANs, um switch pode ter vários domínios
de broadcast.

Cada domínio de broadcast é chamado de LAN virtual
ou VLAN.

278
279
VLANs

A organização de redes em VLANs possui vários
benefícios como:
 Criar projetos mais flexíveis, agrupando usuários por
departamento ao invés de agrupá-los por localização física;
 Segmentar dispositivos em LANs menores, diminuindo a
sobrecarga em cada host;
 Impor uma melhor segurança, colocando os hosts que
manipulam dados sensíveis em uma VLAN separada;
 Separar tipos de tráfego como de voz e de dados.

280
VLANs

Um switch pode ter várias VLANs e uma VLAN pode
estar configurada em switches interconectados.

Neste caso, os switches utilizam o trunking de VLAN,
que faz com que os switches troquem quadros de
várias VLANs em uma mesma conexão física.

Há protocolos de trunking padronizados, como o IEEE
802.1Q, e proprietários, como o ISL da Cisco.

281
VLANs

Esses protocolos identificam as VLANs, através de
VLAN ID, e encaminham o tráfego entre dispositivos
de uma mesma VLAN que estão em switches
distintos.

282
283
VLANs

Os dispositivos de uma VLAN precisam estar em uma
mesma sub-rede e VLANs diferentes precisam estar
em sub-redes diferentes.

Cabe ressaltar que o conceito de VLAN é de camada 2
e o conceito de sub-rede é de camada 3.

Para encaminhar pacotes entre diferentes sub-redes
ou VLANs, é necessário pelo menos um roteador.

Há switches, de camada 3, que executam o
encaminhamento de dados entre diferentes VLANs.
284
285
Encaminhamento IP

A principal função do IP é o encaminhamento de
pacotes na inter-rede.

Mensagens entre os hosts de uma mesma rede são
encaminhados diretamente, porém, se a mensagem é
para um host de uma outra rede, a mensagem é
passada para o roteador, que é responsável por
encaminhar a mensagem para a outra rede ou para
outro roteador.

286
Redes de Computadores I
Encaminhamento IP

Os roteadores interligam redes e podem ser
computadores normais que possuem mais de uma
interface de rede ou equipamentos de hardware
especializados.

287
Redes de Computadores I
288
Redes de Computadores I
Encaminhamento IP

O encaminhamento do IP baseia-se no identificador
de rede do endereço de destino.

Cada computador possui um tabela de roteamento
que contém:
 endereço de rede / endereço de roteador

O roteador indicado na tabela pode não estar
diretamente conectado à rede de destino e sim fazer
parte do caminho para alcança-la.

289
Redes de Computadores I
Encaminhamento IP

Uma desvantagem deste esquema é o tamanho das
tabelas de roteamento, que crescem muito quando a
inter-rede interliga muitas redes, como é o caso da
Internet.

Uma das estratégias para minimizar o problema é o
uso de roteadores default: os hosts mantém apenas o
endereço do roteador default e de roteadores de rotas
próximas.

290
Redes de Computadores I
Encaminhamento IP

Através do protocolo ICMP (Internet Control Message
Protocol), um roteador pode indicar a um módulo IP
que ele não é a melhor alternativa para uma
determinada rota e, a partir daí, este módulo atualiza
sua tabela e reencaminha os datagramas para outro
roteador.

291
Redes de Computadores I
IPv6

Motivações:
 Aumentar o número de endereços IP válidos
 Inserir novas funcionalidades no IP: segurança, QoS,
suporte à mobilidade, etc.
 Reduzir complexidade do cabeçalho IP
 Transição entre as versões feita de forma gradual
IPv6

Características:
 Maior capacidade de endereços
 Simplificação do formato de cabeçalho
 Suporte a cabeçalhos de extensão
 Capacidade de identificar fluxo de dados
 Suporte a autenticação e privacidade
Cabeçalho IPv4
Cabeçalho IPv6
Cabeçalho IPv6

Características:
 Tamanho fixo do cabeçalho em 40 bytes
 Funções adicionais são colocadas nos cabeçalhos de
extensão
Endereçamento IPv6

Os endereços IPv6 possuem 128 bits e são escritos
em hexadecimal (8 grupos de 16 bits):
 2001:0db8:12ff:cafe:cade:d4d0:087c:140b

A primeira parte dos bits é para o endereço de rede
e a outra para os hosts, podendo ser utilizada a
notação em barra para identificar os bits de rede.

A grande quantidade de endereços possibilita a
distribuição de endereços válidos para TODOS os
dispositivos.
Endereçamento IPv6

Pode-se usar caracteres maiúsculos ou minúsculos.

Os endereços IPv6 podem ser abreviados, omitindo
zeros à esquerda de blocos de 16 bits e/ou
substituindo sequências de zeros por ::

Por exemplo, o endereço:
2001:0DB8:0000:0000:130F:0000:0000:140B

Pode ser escrito como:
2001:DB8:0:0:130F::140B ou
2001:DB8::130F:0:0:140B
Endereçamento IPv6

Os prefixos são representados pela notação
CIDR.
Prefixo 2001:db8:3003:2::/64
Prefixo global 2001:db8::/32
ID da sub-rede 3003:2

Endereços em IPv6 colocados em URLs
devem vir entre colchetes:
http://[2001:12ff:0:4::22]/index.html
http://[2001:12ff:0:4::22]:8080
Endereçamento IPv6

Os tipos de endereços IPv6 são:
 Unicast
 Anycast
 Multicast

O endereço unicast identifica uma única interface,
de modo que um pacote enviado a um endereço
unicast e entregue a uma única interface.
Endereçamento IPv6

Os endereços unicast podem ser do tipo:
 Global Unicast: equivalente aos endereços públicos
IPv4, o endereço global unicast é globalmente roteável
e acessível na Internet IPv6. Prefixos: 2000:: a
3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
 Link local: usado apenas no enlace específico onde a
interface esta conectada. Prefixo: FE80::/64
 Unique Local Address (ULA): utilizado apenas para
comunicações locais. Prefixo: FC00::/7
Endereçamento IPv6

Os endereços Link Local podem ser gerados automaticamente
a partir do MAC address da placa (padrão EUI-64):
Se endereço MAC da interface for:
48-1E-C9-21-85-0C
adicionam-se os dígitos FF-FE na metade do endereço:
48-1E-C9-FF-FE-21-85-0C
complementa-se o bit U/L (bit 7):
48 = 01001000 → 01001010 = 4A
IID = 4A-1E-C9-FF-FE-21-85-0C

Um endereço link local atribuído a essa interface seria
FE80::4A1E:C9FF:FE21:850C.
Endereçamento IPv6

O anycast identifica um conjunto de interfaces.

Um pacote encaminhado a um endereço anycast é
entregue a interface pertencente a este conjunto
mais próxima da origem (de acordo com distância
medida pelos protocolos de roteamento).

Um endereço anycast é utilizado em comunicações
de um-para-um-de-muitos.
Endereçamento IPv6

O endereço multicast também identifica um
conjunto de interfaces, entretanto, um pacote
enviado a um endereço multicast é entregue a todas
as interfaces associadas a esse endereço.

Um endereço multicast é utilizado em comunicações
de um-para-muitos.
Tipos de Endereços Multicast
Funcionalidades Básicas IPv6

Internet Control Message Protocol version 6
(ICMPv6)

Neighbor Discovery Protocol (NDP)

Autoconfiguração:
Stateless: não mantém o registro do estado e das
características do nó destinatário
Stateful: mantém o registro do estado e das características
do nó destinatário

Dynamic Host Configuration Protocol version 6
(DHCPv6)
IPv6

A transição do IPv4 para o IPv6 é feita de forma
gradual, os roteadores trabalham com as duas
versões e podem fazer tunelamento: datagrama IPv6
como carga útil de um datagrama IPv4.
A B E F
Visão lógica: túnel

IPv6 IPv6 IPv6 IPv6


A B E F
Visão física:
IPv6 IPv6 IPv4 IPv4 IPv6 IPv6
Visão lógica:

Visão física:
IPv6

O suporte ao IPSec é obrigatório, com isso
comunicações podem ter autenticidade, integridade
e confidencialidade.

As funcionalidades de IP móvel também são
implementadas: um dispositivo móvel pode mudar
de rede sem ter que mudar seu IP.

A fragmentação só é feita na origem, agilizando a
retransmissão.

Funções como CIDR, DHCP e NAT podem ser
eliminadas.
Segurança em IPv6

Lendas sobre IPv6:
IPv6 é mais seguro que IPv4
IPSec é mandatório em IPv6
Se minha rede não tem IPv6, posso ignorá-lo
IPv6 garante comunicação fim a fim

O IPv6 precisa ser estudado, analisado e a
rede precisa tratá-lo, mesmo que ela não
utilize endereços IPv6 e suas
funcionalidades.
IPv6

Maiores informações e detalhes sobre o IPv6
podem ser obtidas nos sites:
http://curso.ipv6.br/
http://www.ipv6.br/
Segurança do
Ambiente de TI
Introdução

Disponibilidade Confidencialidade

Integridade
Cubo de McCumber
Introdução

No ambiente atual de interligação de redes e de
sistemas convergentes, os problemas de segurança
se multiplicam de forma alarmante.

Hoje qualquer usuário precisa gerenciar ferramentas
de segurança.
Introdução

Basta um único usuário não estar vigilante para que
toda a rede esteja vulnerável.

No caso de redes conectadas à Internet, a mera
segurança física dos equipamentos não garante
proteção.
Introdução

O ambiente virtual está sujeito às:
 Ameaças externas
 Invasões
 Negação de serviço
 Vírus
 Ameaças internas
 Erros
 Abusos de privilégio
 Fraudes
Introdução

A cada nova tecnologia, surgem novos requisitos de
segurança.

Atualmente, um dos desafios está nos sistemas de
transmissão sem fio, por exemplo.

A seguir, serão apresentados os requisitos de
segurança específicos de cada área de TI.
Segurança da Informação em TI

Alto valor das informações armazenadas em
ambientes de TI

Alta vulnerabilidade da TI

Despreparo dos recursos humanos

Novas modalidades de crimes

Novos riscos

Legislação ineficiente ou até inexistente

Mudanças constantes
Segurança das
comunicações eletrônicas

A segurança da comunicação envolve controles fim-
a-fim para assegurar uma comunicação sem quebra
de segurança.

Técnicas como criptografia, assinatura e certificado
digital e esteganografia são algumas medidas de
proteção.
Criptografia

A criptografia é definida como a arte ou ciência de
escrever em cifra ou código, com o propósito de
restringir ao destinatário a capacidade de decifrá-la
e compreendê-la.

Suponhamos que Alice quer enviar uma mensagem
a Bob: “Bob, eu te amo. Alice”.
Criptografia

A mensagem original é conhecida como texto aberto
ou texto claro.

A cifragem é efetuada por um algoritmo de
criptografia.

Este algoritmo utiliza uma chave e o texto aberto
para gerar um texto cifrado, que é transmitido e
decriptografado por Bob.
Criptografia

Há dois tipos de chaves:
 Simétrica
 Assimétrica

A criptografia simétrica utiliza uma única chave
tanto para cifrar quanto para decifrar a informação.

Já a assimétrica utiliza um par de chaves distintas:
uma para cifrar e outra para decifrar.
Criptografia

Há dois ramos de criptografia:
 Transposição
 Substituição

Na transposição, as letras são rearranjadas,
formando anagramas.

Na substituição, as letras são substituídas por
outras letras ou símbolos.
Criptografia

Uma forma de transposição envolve o citale
espartano: um bastão de madeira onde era enrolado
uma tira de couro ou pergaminho.

A mensagem era escrita ao longo da tira enrolada,
desenrolada e então enviada ao destinatário.

Este deveria possuir um citale de mesmo diâmetro
para enrolar a tira e decifrar a mensagem.
Criptografia

Um dos métodos de substituição mais antigos é a
cifra de César, onde cada letra da mensagem
original é substituída pela k-ésima letra sucessiva
do alfabeto.

k é a chave deste método.

Exemplo, se k=3, então a mensagem de Alice ficaria
assim:
Texto aberto: bob, eu te amo. alice
Texto cifrado: ERE, HX WH DPR. DOLFH
Criptografia

Um aprimoramento da cifra de César é a cifra
monoalfabética.

Nesta as letras também são substituídas, porém a
chave é uma palavra utilizada para permutar as
letras do alfabeto ou o alfabeto pode ser misturado
aleatoriamente.
Criptografia

Usando a expressão JULIUS CAESAR como
palavra chave, temos o seguinte alfabeto
cifrado:

a b c d e f g h i j k l m n o p q r s t u v w x y z

J U L I S C A E R T V W X Y Z B D F G H K M N O P Q
Criptografia

No caso de se utilizar um alfabeto rearranjado
aleatoriamente, poderíamos ter o seguinte
alfabeto cifrado:

a b c d e f g h i j k l m n o p q r s t u v w x y z

V X B G J C Q L N E F P T A Z I H O M D W S K U R Y
Criptografia

Por volta do século X, estudiosos árabes inventaram
a criptoanálise, que é a ciência que permite decifrar
uma mensagem sem conhecer a chave.

Um dos primeiros métodos de criptoanálise é a
análise de frequência da ocorrência das letras.

Cada idioma possui uma certa frequência de
ocorrência de cada letra.

A partir do conhecimento da frequência aproximada
de ocorrência de cada letra, é possível deduzir as
letras do texto original.
Criptografia

Ao longo dos séculos seguintes, novos tipos de
cifragem surgiram juntamente com métodos para
decifrá-los.

A cada nova cifra surgiam criptoanalistas dispostos
a quebrá-la.
Criptografia

Um marco importante ocorreu antes da 2ª Guerra
Mundial, quando surgiram as máquinas Enigma,
utilizadas pelos alemães.

Essas máquinas possuíam circuitos misturadores: a
mensagem digitada no teclado já saída codificada.

https://cryptii.com/pipes/enigma-machine
Criptografia

Na 2ª guerra, os alemães tiveram muitas vantagens
com o uso da Enigma, porém, os aliados
conseguiram roubar algumas máquinas e alguns
livros de códigos, que continham os ajustes diários
dos misturadores.

Além disso, os órgãos de inteligência britânica e
francesa aprimoraram uma máquina polonesa, a
“bomba”, para quebrar as chaves da Enigma por
força bruta.
Criptografia

Os trabalhos de decifragem dos códigos da Enigma
eram feitos em Bletchley Park, na Inglaterra, e
contavam com a ajuda do matemático Alan Turing.
Criptografia

Os métodos antigos de criptografia simétrica
normalmente podem ser facilmente quebrados
através de força bruta e análise de frequência.

Em 1977, foi criado o DES, que consiste em dois
estágios de permutação dos bits da mensagem.

Em 2001, foi criado o AES para substituir o DES.
Criptografia

Existem vários métodos de criptografia simétrica,
porém todos eles possuem o problema de
transmissão e armazenamento da chave.

Uma vez conhecida a chave, Trudy pode facilmente
ler as mensagem de Alice e Bob.
Criptografia

Para resolver o problema da chave simétrica, na
década de 70 surgiu a ideia de chave pública e
chave privada.

Para Alice enviar uma mensagem para Bob, será
utilizada uma chave para cifrar, a chave pública de
Bob (KB+) e outra para decifrar, a chave privada de
Bob (KB-).
Criptografia

O algoritmo RSA é o melhor exemplo de método de cifragem
assimétrica.

O RSA funciona da seguinte forma:
 São escolhidos 2 números primos grandes p e q.
 Computar n=pq e z=(p-1)(q-1)
 Escolher um número e, e < n e e e z são primos entre si
 Encontrar d, tal que ed-1 seja divisível por z
 KB+ é o par (n, e)
 KB- é o par (n, d)
 Cada “valor” (m) cifrado é c = me mod n
 Para decifrar: m = cd mod n
Criptografia

Exemplo:
 p = 13 e q = 17
 n=13 x 17 = 221 e z= 12 x 16 = 192
 e = 5 e d = 269
 KB+ é o par (221, 5)
 KB- é o par (221, 269)
 Se a mensagem for amor, as tabelas de cifragem e
decifragem são:
Letra original Representação numérica ASCII me Texto cifrado (c=me
da letra (m) mod n)
a 97 8587340257 54
m 109 15386239549 96
o 111 16850581551 76
r 114 19254145824 173

Texto cd Representação Letra


cifrado numérica da letra original
(c) (m=cd mod n)

54 1,0325744921016657128169419957533e+466 97 a

96 1,7020083549179549218966710887194e+533 109 m

76 8,6867300100831147725055602952433e+505 111 o

173 1,0824347884757125083610158364002e+602 114 r


Criptografia

Como o tempo para executar o RSA é considerável e
o para executar o DES ou o AES é bem menor, o que
se faz normalmente é cifrar o texto com o método
simétrico e cifrar a chave simétrica com o RSA.

O PGP e a criptografia utilizada nos certificados
digitais são baseados nesta ideia.
(http://www.pgpi.org)
Assinatura Digital e
Certificado Digital

A assinatura digital é a cifragem de uma mensagem
eletrônica através da chave privada do remetente.

O destinatário decifra a mensagem com a chave
pública do remetente, verificando assim a
autenticidade do emissor.

A integridade da mensagem pode ser verificada
através do uso de funções hash.

Um valor ou dígito verificador é gerado a partir da
aplicação de uma função matemática sobre a
mensagem e enviado junto à mensagem.
Assinatura Digital e
Certificado Digital

O destinatário aplica a mesma função matemática
sobre a mensagem recebida e compara o valor
obtido com o valor recebido.

Se forem iguais, é bastante provável que a
mensagem não sofreu adulteração.
Assinatura Digital e
Certificado Digital

O certificado digital é uma credencial eletrônica
emitida por uma Autoridade Certificadora e contém:
 Identidade e assinatura digital da Autoridade
Emissora
 Identificação do titular
 Chave pública do titular
 Período de validade
 Número de série do certificado
Assinatura Digital e
Certificado Digital

O certificado digital é utilizado para autenticar o
remetente, confirmar a integridade dos dados
enviados e fornecer elementos para a
irretratabilidade (não repúdio).
Esteganografia Digital

As técnicas de esteganografia possibilitam a
ocultação de uma informação dentro de outra,
usando o princípio da camuflagem.

Na esteganografia digital, informações podem ser
escondidas em arquivos de imagem, som texto, etc.
Segurança de redes

As redes, ao mesmo tempo em que trazem inúmeras
vantagens como compartilhamento de recursos e
ferramentas de comunicação, ampliam os riscos
para a segurança dos dados, informações e serviços
de informação.
Segurança de redes

Serviços como Web, VoIP, acesso remoto,
acesso sem fio, extranets e intranets, comércio
eletrônico, mensagens instantâneas, abrem
brechas de segurança nas organizações.

Simplesmente proibir o uso desses serviços
pode atrapalhar a dinâmica dos negócios nas
empresas.
Segurança de redes

Para conciliar disponibilidade de serviços com
segurança são necessários controles adequados
para:
 Garantir o acesso dos usuários aos serviços.
 Impedir o acesso e o uso indevido dos recursos da rede.
Segurança de redes

A segurança das redes deve abranger a autenticação
de usuários e de equipamentos e a restrição do
acesso dos usuários aos serviços autorizados.

A série ISO 27000 indica os seguintes mecanismos
de proteção das redes:
Segurança de redes
 Firewall e proxy
 Criptografia
 Protocolos de desafio e resposta no processo de
autenticação de usuários remotos
 Protocolos de segurança nas camadas da rede
 Limitações das opções de usuário
Segurança de redes

O firewall consiste numa barreira de proteção entre
um computador ou uma rede interna e seu ambiente
externo.

Tipicamente, o firewall examina o tráfego de
informações e bloqueia requisições que não
atendem critérios pré-definidos.
Segurança de redes

Existem dois tipos de firewall:
 Firewall de filtragem de pacotes (camadas de rede e
de transporte)
 Gateway de camada de aplicação

As filtragens são baseadas em:
 Endereço IP de origem e de destino
 Porta TCP ou UDP de origem e de destino
 Tipo de mensagem ICMP
 Datagramas de inicialização SYN ou ACK
Segurança de redes

O Gateway de camada de aplicação é um servidor
específico de aplicação através do qual todos os
dados da aplicação devem passar.

Com ele é possível um nível mais refinado de
segurança, como permitir ou não que determinados
usuários executem alguma aplicação.
Segurança de redes

A tendência é que o firewall passe a incorporar
funcionalidades de antivírus e de IDS (Intrusion
Detection System) ou IPS (Intrusion Prevention
System).

Como surgem cada vez mais novas formas de
ataque, as configurações de um firewall precisam ter
atualizações e manutenções constantes.
Segurança de redes

O firewall pode auxiliar na definição de perímetros
lógicos ou rede de perímetro ou zonas
desmilitarizadas.

As zonas desmilitarizadas protegem um computador
ou segmento de rede que fica entre uma rede interna
de uma rede não confiável externa, como a Internet.
Segurança de redes

O proxy ou servidor cache é um servidor por onde
passam todas as requisições HTTP para a Internet.

O cache normalmente é instalado numa rede
institucional para:
 melhorar o tempo de resposta entre cliente e
servidor Web;
 reduzir o tráfego de rede externo da instituição.
Segurança de redes

O proxy pode ser utilizado em políticas de
segurança para controlar as requisições Web.

Pode-se restringir ou permitir o acesso a
determinados sites da Web, evitando, por exemplo,
que os usuários tragam para a rede interna
conteúdos inadequados e/ou perigosos.
Segurança de redes

Autenticação é o processo de provar a identidade a
alguém.

Muitas vezes componentes de rede precisam
autenticar-se quando estão comunicando-se por
uma rede.

Esta autenticação pode ser feita através de
protocolos de autenticação.
Segurança de redes

Normalmente, os protocolos de autenticação são
executados antes da comunicação propriamente
dita.

A sequência de ações de um protocolo de
autenticação numa comunicação entre Alice e Bob
é:
 Alice envia uma requisição de comunicação com
Bob.
Segurança de redes
 Bob envia um número (nonce) para Alice. Este
número é diferente a cada vez em que Alice e Bob
querem se comunicar.
 Alice criptografa este número com sua chave
privada e envia-o junto com sua chave pública
para Bob.
 Bob decodifica o número com a chave pública de
Alice e compara com o número enviado por ele.
Segurança de redes

Há alguns protocolos que implementam segurança
nas camadas da rede:
 Aplicação: criptografia, autenticação, assinatura
digital, SFTP, SPOP3, SSH.
 Aplicação/Transporte: SSL/TLS
 Rede: IPSec
 Enlace: WEP e WPA (redes Wi-Fi)
Segurança de redes

O SSL/TLS funciona da seguinte forma:
 Browser com SSL habilitado inclui chaves
públicas para CA confiáveis.
 Browser pede certificado do servidor, emitido
pela CA confiável.
 Browser usa chave pública da CA para extrair a
chave pública do servidor do certificado.
Segurança de redes
 Browser gera chave de sessão simétrica,
criptografa essa chave com a chave pública do
servidor e a envia para o servidor.
 Usando a chave privada, o servidor recupera a
chave de sessão.
 Browser e servidor conhecem agora a chave de
sessão.
 Todos os dados são enviados para o socket TCP
(pelo cliente e pelo servidor) criptografados com
a chave de sessão.
Segurança de redes

O protocolo de segurança IP, o IPSec, é um conjunto
de protocolos que oferece segurança na camada de
rede.

Os principais protocolos são:
 Autenticação de cabeçalho (AH)
 Segurança de encapsulamento de carga útil (ESP)
Segurança de redes

O AH fornece autenticação de fonte e integridade de
dados.

O ESP fornece os serviços do AH e mais
confidencialidade.
Segurança de software

A segurança de software diz respeito aos controles
de segurança embutidos em programas.

Há, por exemplo, controles contra software
malicioso, como vírus, bombas lógicas, cavalos de
troia, worms, etc.

Vulnerabilidades dos próprios softwares e dos
sistemas operacionais.
Segurança no desenvolvimento
de software

Tipicamente, os programadores não aprendem a
escrever código seguro.

Técnicas e boas práticas de desenvolvimento de
software seguro são fundamentais para diminuir
vulnerabilidades em softwares como:
Segurança no desenvolvimento
de software

Estouro de buffer

Controle de acesso

Privilégios e permissões

Entradas (tamanho máximo, filtrar caracteres, etc.)

Códigos e dados

Acesso de softwares ao banco de dados (3
camadas: separar interface, código e BD)

Testes de segurança
Segurança no desenvolvimento
de software

Controle de acesso baseado em 3 princípios:
 O que você tem: chave, crachá, cartão, RFID, token etc.
 O que você sabe: senhas
 O que você é: biometria

Quanto mais sensível o sistema, mais combinações
de controles de acesso são necessárias.
Segurança no desenvolvimento
de software

Exemplo:
select *
from tabela_usuarios
where login = ‘ ENTRADA ‘;

Se ENTRADA = ‘ OR 0=0 ;#, qual o


resultado?
Segurança do
ambiente de usuário final

As medidas de proteção aplicáveis ao ambiente do
usuário final são:
 Time-out e proteção de tela com senha
 Limitação automática do acesso a horários de
uso autorizado
 Atualização automática de softwares (S.O.,
antivírus etc.)
 Firewall pessoal
 Regras de comportamento
Logs e trilhas de auditoria

Uma vez estabelecidos os mecanismos de proteção,
é necessário monitorá-los.

As formas mais usuais são baseadas em logs e
trilhas de auditoria.

Os logs são registros cronológicos das atividades
dos sistemas.
Logs e trilhas de auditoria

As informações que devem constar nos arquivos de
log são:
 Identificação dos usuários
 Datas e horários de entrada e saída do sistema
 Identificação da estação de trabalho
 Registros de tentativas de acesso aceitas e rejeitadas
 Operações realizadas
Logs e trilhas de auditoria

Os logs devem ser armazenados em segurança.

É importante a realização de backups de logs.

Os logs fornecem trilhas de auditoria no caso de
problemas internos, crimes, violação de contratos
ou da lei, etc.
Ataques e contramedidas

Os ataques mais comuns são:
 Mapeamento
 Análise de pacotes
 Falsificação
 Negação de serviço (DoS e DDoS)
 Sequestro
Ataques e contramedidas

O mapeamento é o processo de coleta de
informações de uma rede.

Normalmente, o mapeamento é realizado antes do
ataque propriamente dito.
Ataques e contramedidas

O mapeamento envolve:
 Mensagens de ping para obter endereços da rede
 Varredura de portas (port scanning) para verificar quais
serviços são oferecidos pela máquina
Ataques e contramedidas

Um analisador de pacotes (packet sniffer) é um
programa que funciona acoplado ao dispositivo de
rede e que recebe passivamente todos os quadros
da camada de enlace que passam pela interface de
rede.
Ataques e contramedidas

A falsificação é a substituição do endereço IP de
origem por um outro endereço.

Ela é utilizada por atacantes que querem esconder
sua identidade.

Para evitar a falsificação, os roteadores devem
executar a filtragem de saída, que verifica se
determinado endereço de origem faz parte das redes
interligadas a este roteador.
Ataques e contramedidas

Os ataques de negação de serviço (DoS e DDoS)
impedem a utilização dos serviços de uma rede ou
de um computador.

Uma forma deste ataque é a inundação de pacotes
SYN ou de pedidos de conexão TCP.
Ataques e contramedidas

O ataque smurf faz com que hospedeiros inocentes
respondam a pacotes ICMP de solicitação de eco,
contendo um endereço IP falso.

O ataque DDoS é executado por um atacante mestre
que contamina estações escravas para efetuarem
requisições a uma determinada vítima.
Ataques e contramedidas

O ataque de sequestro ocorre quando o atacante se
apossa dos pacotes de uma conexão.

Suponha que Alice e Bob estão em uma conexão
monitorada por Trudy.

Trudy pode sequestrar a conexão e fazer com que
Bob acredite que ele continua se comunicando com
Alice e vice-versa.
Ataques e contramedidas

Isto também é conhecido como ataque do homem
do meio.

Um exemplo: para interceptar a comunicação, Trudy
pode enviar um cavalo de tróia para Alice que altere
a configuração de proxy, colocando o endereço IP
da máquina de Trudy como o proxy de Alice.
OWASP 2017 x 2021
Treinamento

Treinamento gratuito para tratar os problemas
apontados pela OWASP.
Pentest

O penetration testing ou pentest ou Teste de Invasão
(TDI) é um processo de identificar e explorar falhas
em sistemas de um determinado ambiente, servidor,
rede, aplicativo, entre outros.

A ideia é usar técnicas e ferramentas que auxiliam
no mapeamento dessas falhas, para identificar
problemas de segurança ANTES que um atacante os
encontre e cause prejuízos.
Pentest

Importante para testar controles e implementações,
verificar conformidade com normas de segurança e
leis e para racionalizar o investimento em
segurança.

Deve ser feito com expressa autorização do
responsável pelo ambiente a ser analisado.

Deve gerar como produto um relatório das falhas e
riscos encontrados, bem como diretrizes para a
mitigação dos problemas identificados.
Tipos de Pentest

Blackbox: sem conhecimentos sobre o alvo

Whitebox: com total conhecimento sobre o alvo

Graybox: com conhecimento parcial sobre o alvo

Interno: testes alocados na sede do cliente

Externo: testes à partir da Internet

Web: testes do servidor e aplicações web

Mobile: testes com aplicativos para dispositivos
móveis

Redes, Infraestrutura, Redes sem Fio (wireless)

Engenharia Social: testes com funcionários e
prestadores de serviços
Metodologias

PTES

OWASP

OSSTMM

NIST
Fases

Preparação

Coleta de Informações

Modelagem

Análise de Vulnerabilidades

Exploração

Pós-exploração

Relatório

Você também pode gostar