Você está na página 1de 163

17/03/2015

Redes de Computadores
Prof. Rogrio Santos Souza
UNIESP Unidade Florianpolis

Ementa do curso






Definies de sistemas de comunicao


Tipos de rede
Tecnologias de redes
Modelo OSI
TCP/IP
Acesso a rede
 Ethernet
 Redes Sem Fio

Internet: Endereamento IPv4/IPv6 e roteamento


Transporte: TCP e UDP
Aplicao
2

Sistemas de Comunicao

TX
Eltrico;
tico;
Sonoro;
eletromagntico

Sinal/Informao
Meio

Fibra tica;
Par metlico;
Guia de onda;
Ar

RX
Rudo
Trmico
Intermodulao
Diafonia/Crosstalk
Impulsivo
3

17/03/2015

Meio

Tipo

Sinal

Metlico

Par tranado
Coaxial
Guia de onda

Eltrico

tico

Fibra tica

Luz (laser, ou LED)

Ar

Ar

Luz
RF

Meios de transmisso
Sinal eltrico (par metlico (paralelo,
tranado), coaxial)
 Sinal tico (ar livre, fibra tica)
 Sinal eletromagntico (ar livre, guia de
onda)


Sinal eltrico gera um campo magntico

Sinal eletromagntico



Formado pela onda


eletromagntica:
Dois planos:

Componente bsica:
Onda senoidal

Eltrico e Magntico

Frequncia
Perodo
Amplitude
Fase

17/03/2015

Tipos de Sinal


Sinal analgico
Variaes contnuas

Sinal Digital
Variao discreta (o ou 1)

Tipos de Informao


Informao analgica
Informao possui variaes
contnuas;
Exemplos: voz, temperatura,
som, etc.

Informao Digital
Toda informao que pode ser
construda a partir de zeros ou
uns;
Exemplos: arquivos contendo
voz, informaes de
temperatura, msica, etc.
8

Sinal vs. Informao




Sinal analgico
(contnuo)

Modems
TV convencional


Sinal digital (discreto)


Celular
Ethernet
TV digital

Informao analgica
(contnua)

Leitura de um sensor;
Estaes de rdio;
TV;
Telefone;

Informao digital
(discreta)
Caracteres;
Fluxo de dados entre
computadores (bits);
9

17/03/2015

Recuperao de Sinal Digital

10

Converso de sinal analgico-digital

11

Sinal digital: onda quadrada

12

17/03/2015

Sinal digital: onda quadrada

Quanto mais frequncias, mais perfeita a onda


13

Banda Passante e largura de banda


Banda passante o conjunto
de frequncias que compem
o sinal
 Largura de banda a faixa de
frequncias assumidas por
um sinal analgico ou o
tamanho da banda passante
 Exemplo: a largura de banda
de um sinal telefnico para
transmitir a voz de 4kHz
 Quanto maior a frequncia
fundamental, maior potencial
largura de banda


14

Banda Passante vs.Velocidade de


Transmisso


Para transmitir mais informaes digitais, necessrio


que cada bit seja transmitido em menos tempo, ou seja,
a uma frequncia maior

T = perodo
1/T = frequncia

Mais lento


Mais rpido

A limitao atual de taxa de dados no est no meio de transmisso, e sim


na capacidade dos equipamentos de TX/RX
15

17/03/2015

Teoremas de Nyquist e Shannon




Lei de Nyquist diz que a capacidade de


transmisso de um meio depende da largura de
banda (W) e da quantidade de nveis usados na
transmisso (L)
C = 2 W log2L bps

Porm sabemos que todo meio de transmisso


rudo. Shanno inseriu essa variante no seu clculo.
C = 2 W log2 (1 + S/N) bps

Onde S/N a relao (em dB) entre a potncia do Sinal (S) e o rudo
(N)
16

Meios de transmisso - ESCOLHA


Banda passante
 Potencial para conexo ponto a ponto ou
ponto a multiponto
 Limitao geogrfica
 Imunidade ao rudo
 CUSTO
 Sem fio e com fio


17

Par tranado
TX analgica ou digital
 Ordem de Gigabits/s
 Menor custo
 Ligao entre ns simples: baixo custo
 Desvantagens: suscetibilidade a rudo e
limite de distncia


18

17/03/2015

Cabo coaxial



Coaxial = eixos comuns


Suporta altas frequncias em distncias
considerveis

19

Par tranado x Coaxial


A baixas freqncias: iguais
 Em altas frequncias (100 kHz) : coaxial
 Fisicamente: par tranado mais leve,
mais barato


20

Fibras ticas

ndice de refrao do
ncleo maior que o da
casca, fazendo com que o
raio tico no fuja de
dentro do ncleo
21

17/03/2015

Fibras ticas
Caras
Altas velocidades
 Sensveis
 LASER ou LED
 No sofre interferncia eletromagntica
 Banda infinita



Dica de leitura:
http://www.portalsaofrancisco.com.br/alfa/fib
ra-optica/fibra-optica-sintese.php
22

Transmisso sem fio


Boa alternativa quando h
indisponibilidade de cabos
 Segurana?!
 Infrared e laser: propagao ao ar livre
 Enlaces de laser, controle remoto, porta
infravermelha de notebooks
 Desvantagens: necessrio ter visada, alta
influncia de neblina e chuva


23

Transmisso sem fio


Radiodifuso
 AM: 530 kHz a 1,71 MHz (566 m a 175
m)
 FM: 87,5 MHz a 108 MHz (3,5 m a 2,8 m)
 VHF: 30 MHz a 300 MHz (10 m a 1 m)
 UHF: 300 MHz a 3 GHz (1 m a 10 cm)


Microondas (300 MHz a 300 GHz)

24

17/03/2015

Topologia


Ponto-a-ponto

TX/RX

Meio

Amp/
Rep

Meio

TX/RX

Ponto-a-multiponto

TX/RX

TX/RX

TX/RX

Amp/
Rep

Meio

TX/RX

Meio
25

Topologias
Anel

Estrela

Barramento

26

Direo da Comunicao
Simplex
 Duplex


Half-Duplex
Full-Duplex

27

17/03/2015

Converso / transmisso
Informao

Sinal

Analgica

Telefone

Analgico

Analgica

CODEC

Digital

Digital

Modem

Analgico

Digital

Transmissor Digital

Digital

28

Transmisso


Analgica: desconsidera o contedo da


informao
Amplificadores: amplifica o sinal e o rudo =>
distoro

Digital: considera o contedo da


transmisso
Repetidores: recuperam a informao e o
gera novamente

29

Prejuzos na transmisso
Atenuao
 Rudo:


Trmico
Intermodulao
Diafonia
Rudo impulsivo

30

10

17/03/2015

Prejuzos na transmisso

31

Abrangncia de redes


LAN: Local Area Network


Rede local;
Abrange uma sala, um prdo ou um campus

MAN: Metropolitan Area Network


Alcance metropolitano;
Abrange pontos em um bairro, uma cidade;
Interliga LANs

WAN: Wide Area Network


Abrange pontos geograficamente distantes;
Interliga LANs
32

Abrangncia de redes LAN e WAN

33

11

17/03/2015

Abrangncia de redes - MAN

34

Equipamentos de rede
Hub: concentrador fsico
 Bridge: interliga 2 equipamentos
 Switch: concentrador lgico
 Modem: MOdulador / DEModulador:
converte dados digitais em sinal analgico
para ser transmitido por linhas telefnicas
 Roteador: interliga redes
 Firewall: segurana


35

Fundamentos e Infraestrutura
de Redes de Computadores

Parte 2
Prof. Rogrio Santos Souza

12

17/03/2015

Conexo


Servios orientados a conexo:


estabelecimento do canal antes da
comunicao
Preserva a ordem das informaes

Sem conexo: cada mensagem trafega por


si s

Muitos fabricantes Torre de Babel


Aumento das aplicaes em rede
 Fabricantes estabelecem seus padres
 Interoperabilidade necessria
 Como fazer?
Padronizao


Modelo OSI/ISO
Modelo de Referncia para a
Interconexo de Sistemas Abertos OSI
(Open Systems Interconnection) da ISO
(International Standards Organization)
 Desenvolvido em conjunto com o CCITT
(hoje ITU) para a interconexo de
sistemas, que eram chamados abertos
uns aos outros porque todos adotavam
 7 Camadas


13

17/03/2015

Modelo OSI/ISO


Princpios para definio dessas camadas:


Criao de uma camada somente quando se
fizer necessrio um diferente nvel de
abstrao
Cada camada deve executar uma funo bem
definida

Camadas do modelo OSI


Famlia de protocolos
Arquitetura de rede
Conceito de camadas criado
anteriormente
Influncia em outros
padres
Sucesso: camadas baixas
Fracasso: camadas altas: alta
complexidade

Aplicao
Apresentao
Sesso
Transporte
Rede
Enlace
Fsica

14

17/03/2015

Modelo de camadas ISO


Funes de cada camada observando
padres internacionais
 Limites das camadas visam diminuir
trfego entre elas
 Nmero razovel de camadas para evitar
repeties e obter facilidade de controle
 Mudanas em uma camada no deve
afetar as demais


Camada de Aplicao
Identificar e executar a aplicao
 Exemplos: HTTP, TFTP, FTP, TELNET, SSH,
SNMP, POP3, SMTP, IMAP, DNS, DHCP,
etc., etc., etc.


Camada de Apresentao
Traduz os dados da aplicao para ser
transmitido
 Codificao
 Padro de caracteres Exemplos: ASCII
 Criptografia
 Compresso de dados


15

17/03/2015

Camada de sesso
Permite que usurios em mquinas
diferentes estabeleam sesses entre si
 Controle de dilogo


Quando cada app. deve transmitir ou ouvir


Ponto de sincronizao em caso de perda de
comunicao


Abre portas de comunicao

Camada de transporte
camadas de aplicao  sub-rede
Identifica as aplicaes (portas)
 Controle de fluxo
 Ordenao
 Correo de erros
 Unidade: TPDU
 Classes de servio



Orientada a conexo
No orientada a conexo

Camada de transporte
Estabelecimento da conexo

16

17/03/2015

Camada de transporte
Transmisso orientada a conexo

Camada de transporte
Encerramento da conexo

Camada de transporte
Deteco de erro

17

17/03/2015

Camada de rede
Responsvel pelo endereamento
Converte endereos fsicos (camada 2)
para lgicos (atribuveis)
 Descoberta do caminho
 Roteamento
 Fim a fim
 Interconexo



Camada de rede
Controle de fluxo
 Controle de congestionamento
 Tamanho de mensagens
 Camada mxima da Sub-rede
 Unidade: pacote


Camada de enlace
Identificao fsica dos hosts
Deteco de erros
 Controle de fluxo
 Controle de seqncia de quadros
 Responsvel pela transmisso e recepo
da informao
 Unidade: quadros
 Protocolos: PPP, HDLC, Ethernet, Frame
Relay, ATM



18

17/03/2015

Camada de enlace


Topologias

Estrela
Barramento
Ponto a ponto
rvore
Token ring

Controle de acesso
Centralizado
Distribudo

Camada fsica




Meio fsico
Conectorizao
Sinal






Tenso
Amplitude
Potncia tica
Rudo

Tempo
Direo da transmisso do sinal: simplex, halfduplex, full duplex
Unidade: bit
Exemplos: ADSL, ISDN,V.35, G.703

Modelo TCP/IP
E Deus disse: Fiat Lux!
 E fez o modelo TCP/IP
 Simplificao das camadas


19

17/03/2015

Modelo TCP/IP
Aplicao
Transporte
Inter-rede
(Internet)
Interface de rede

Camada fsica
Semelhante ao OSI
 Conhecida como Intra-rede
 Hardware
 Sinal
 Modems, RS-232,V.35, USB, Bluetooth,
ADSL


Camada de enlace
Semelhante ao OSI
 Conhecida como Interface de Rede
 Acesso ao hardware de comunicao
 Especifica como organizar e transmitir os
dados em frames ou quadros
 MTU
 Ethernet, Frame Relay, ATM


20

17/03/2015

Camada Internet
Endereamento
Roteamento
 IP, ICMP, ARP, IGMP



Camada de transporte
Semelhante ao OSI
 Comunicao fim a fim
 Estabelece portas (numricas) para
identificao das aplicaes
 Orientado a conexo: TCP
 Sem conexo: UDP


Camada de Aplicao
Interao com o usurio
 Acesso aos servios
 HTTP, FTP, TELNET, SMTP, etc.


21

17/03/2015

TCP/IP vs. OSI


Aplicao
Aplicao

Apresentao
Sesso

Transporte

Transporte

Inter-rede (Internet)

Rede
Enlace

Interface de rede

Fsica

Exerccios
Duas diferenas e semelhanas entre os
modelos ISO e TCP/IP
 Diferena entre servios com conexo e
sem conexo. Citar 3 exemplos de cada
um


Redes de Computadores e
Telecomunicaes

Ethernet
Prof. Rogrio Santos Souza

22

17/03/2015

Meio compartilhado de difuso

Tecnologias LAN


Meio compartilhado de difuso


Problemas de acesso ao meio: quem pode
falar?
Multiplexao
 Esttica: TDM (Time Division Multiplexing), FDM
(Frequency Division Multiplexing)
 Problema: desperdcio, pois o canal fica alocado
independentemente se h transmisso

Histrico - Aloha
Abramson (1970) no Hava
 Comunicao via rdio, vrios
computadores
 Meio compartilhado
 Tempo contnuo
 Qualquer um transmite assim que
necessrio
 Haver colises (perda de dados)


23

17/03/2015

Histrico - Aloha
Para detectar a coliso, o TX escuta a
sada do canal
 Ao detectar coliso, aguarda um tempo
aleatrio para retransmitir
 Problemas: baixa efetividade da
transmisso
 Falta de sincronia na transmisso gera
maior quantidade de colises


Vulnerabilidade - Aloha

Vulnervel

Histrico Slotted Aloha


Roberts (1972)
 Mesmo princpio do Aloha, com
sincronismo de tempo (slots)
 Computador controla os tempos em que
podem ser transmitidos dados no meio
 Duplica a efetividade do Aloha


24

17/03/2015

Vulnerabilidade Slotted Aloha

Vulnervel

25

17/03/2015

26

17/03/2015

27

17/03/2015

28

17/03/2015

29

17/03/2015

30

17/03/2015

500 m
185 m
100 m

31

17/03/2015

32

17/03/2015

33

17/03/2015

34

17/03/2015

35

17/03/2015

36

17/03/2015

37

17/03/2015

38

17/03/2015

39

17/03/2015

40

17/03/2015

41

17/03/2015

42

17/03/2015

43

17/03/2015

44

17/03/2015

45

17/03/2015

46

17/03/2015

47

17/03/2015

48

17/03/2015

49

17/03/2015

50

17/03/2015

51

17/03/2015

10 Gigabit Ethernet
Funciona apenas em Full-Duplex
No utiliza o CSMA/CD na camada MAC
 Fibra tica multimodo e monomodo
 Ponto-a-Ponto
 Interligao de Backbone



10-Gigabit Ethernet
Full-Duplex
No utiliza o CSMA/CD na camada
MAC
 Fibra tica apenas
 Ponto-a-Ponto
 Interligao de backbone



10-Gigabit Ethernet
10Gbase-SR:
 Utiliza fibra multimodo com alcance de at
300 m
 10Gbase-LR e ER:
 utiliza fiba monomodo com alcance de 10 e
40 km, respectivamente
 10Gbase-LX4:
 utiliza WDM (Wavelength Division
Multiplexing): 300 m com fibra multimodo e
10 km com monomodo


52

17/03/2015

Redes Locais Sem Fio


WLAN (Wireless Local Area Network)

Tpicos
Definies
Padres
 Access Point
 CSMA/CA
 Topologias
 Segurana



Evoluo das Redes Locais


Aumento de velocidade
 Variao de servios
 Necessidade de padronizao
 Advento de novos dispositivos
 Necessidade de mobilidade
 Segurana


53

17/03/2015

Tecnologias sem fio

LAN vs. WLAN

Acesso ao meio RTS / CTS


Carrier Sense Multiple Access / Coilision
Avoidance (CSMA/CA)
 Half Duplex
 Utiliza RTS (Ready to Send)/ CTS (Clear
to Send)


54

17/03/2015

CSMA/CA
Origem

Destino

RTS

CTS
Data
ACK

Exemplo de ligao

802.11a
Utiliza a faixa de frequncia 5,7 Ghz.
 Menor ndice de interferncias por
microondas, telefones sem fio, etc.
 Menor alcance
 Problemas de autorizao de uso da faixa
de 5 GHz
 Taxas de at 54 Mbps


55

17/03/2015

802.11b
Faixa de 2,4 GHz
Taxas de 1, 2, 5.5 e 11 Mbps;
 Modulao DSSS
 Melhor alcance que a 802.11a e menor
ndice de obstruo
 Muita interferncia de microondas,
telefones sem fio, etc.



802.11g
Faixa de 2,4 GHz
 Modulao OFDM ou DSSS
 Taxas de at 54 Mbps com modulao
OFDM e de 1, 2, 5.5 e 11 Mbps para DSSS
 Proporciona compatibilidade com o
802.11b
 Access point fora os clientes 802.11g a
esperar mais para trasmitir quando
existem clientes usando 802.11b


802.11n
Permite utilizar mais de um rdio (at 3)
para aumentar a taxa de dados
 Utiliza tanto 2,5 GHz quanto 5,7 GHz
 Permite at 300 Mbps
 Utiliza modulao MIMO (Multiple Input
Multiple Output)
 Mais de um fluxo de dados


56

17/03/2015

Comparativo padres
802.11a

802.11b

802.11g

802.11n

Faixa

5,7 GHz

2,4 GHz

2,4 GHz

Ambas

Canais

At 23

Modulao

OFDM

DSSS

DSSS

OFDM

OFSM-MIMO

Taxa de dados
mxima

54 Mbps

11 Mbps

at 11
Mbps

54
Mbps

At 300 Mbps

2 para cada
rdio

Alcance

35 m

35 m

35 m

At 70 m

Data de
lanamento

1999

1999

2003

2008

Vantagens

Pouca
interferncia

Baixo custo

Baixa obstruo

Altas taxas

Desvantagens

Custo alto,
menor alcance
real

Propenso a
interferncia

Propenso a
interferncia

Alto custo
devido
necessidade de
vrios rdios

Problema do n oculto

Canais de transmisso

57

17/03/2015

Topologias Ad Hoc

Topologias Basics Services Set


(BSS)

Topologias Extended Services Set


(ESS)

58

17/03/2015

Associao cliente Access Point






Beacons - Quadros usados pela rede de WLAN


para anunciar sua presena.
Investigaes - Quadros usados por clientes
WLAN para localizar suas redes.
Autenticao - Um processo que um artefato
do padro 802.11 original, mas ainda assim
exigido pelo padro.

Investigao

Autenticao

59

17/03/2015

Associao

Segurana em redes sem fio

Segurana em redes sem fio


802.1x

60

17/03/2015

Segurana em redes sem fio


802.1x e radius

Criptografia
WEP (Wired Equivalency Protection )
Chave compartilhada entre cliente e Access point
Baseado em desafio
 TKIP (Temporal Key Integrity Protocol )


certificado como WPA (Alliance WiFi Protected Access)


AES (Corrige problemas da WEP
Criptografa payload L2
Verificao de Integridade da Mensagem

AES (Advanced Encryption Standard)

Certificado como WPA2 ou 802.11i


Mesmas funes do TKIP
Funes extras da camada MAC
Nmero serial no cabealho
Permite funcionamento com Radius

Pilha TCP/IP e a Internet


Parte I Introduo
Prof. Rogrio Santos Souza

Fonte: apresentaes Douglas E. Comer, traduzidas pelo Dr. Klber Vieira Cardoso

61

17/03/2015

Tpicos
Histria
Instituies
 Documentos e padres



Histria







1961: Kleinrock teoria das filas demonstra eficincia da


comutao por pacotes
1964: Baran comutao de pacotes em redes militares
1967: concepo da ARPAnet pela ARPA (Advanced Research
Projects Agency)
1969: entra em operao o primeiro n da ARPAnet
1972: demonstrao pblica da ARPAnet (com 15 ns)
1973: Metcalfe prope a Ethernet em sua tese de
doutorado

Histria (cont.)

1974: Cerf e Kahn - arquitetura para a interconexo de


redes

1979: ARPAnet tem 200 ns

Fim dos anos 70: arquiteturas proprietrias: DECnet, SNA

1983: implantao do TCP/IP

1983: definio do DNS para traduo de nome para


endereo IP

1988: controle de congestionamento do TCP

Ao longo da dcada de 80: novas redes nacionais - CSnet,


BITnet, NSFnet, Minitel

62

17/03/2015

Histria (cont.)








incio dos anos 90: ARPAnet desativada, Berners-Lee


cria a WWW
1991: NSF (National Science Foundation) remove
restries ao uso comercial da NSFnet (e desativada
em 1995)
1994: Mosaic, posteriormente Netscape
fim dos anos 90: comercializao da Web
1996: projeto Internet 2
Final dos anos 90: mais de 50 milhes de hosts e mais
de 100 milhes de usurios

Hoje
Os 2 ltimos blocos /8 alocados em
31/01/2011
 908,5 milhes de hosts (entradas de
DNS) em 06/2012
 Brasil possui 27 milhes de hosts (4
colocado) em 06/2012


Fonte: http://www.isc.org/solutions/survey

Instituies de pesquisa e
engenharia

63

17/03/2015

Instituies Registro e autorizao


Internet Corporation
Of Assignerd Names
and Numbers
ICANN
IANA

Internet Assign
Network Address

Instituies (cont.)


ISOC (Internet SOCiety) www.isoc.org

IAB (Internet Architecture Board) www.iab.org

IETF (Internet Engineering Task Force) www.ietf.org


IESG (Internet Engineering Steering Group)
WG (Working Group)

IRTF (Internet Research Task Force) www.irtf.org


IESG (Internet Research Steering Group)
RG (Research Group)

Outros:
ICANN (Internet Corporation for Assigned Names and Numbers) www.icann.org
 IANA (Internet Assigned Numbers Authority) www.iana.org

W3C (World Wide Web Consortium) www.w3c.org

Documentos e padres
Informaes so documentadas em uma srie de
relatrios, conhecidos como RFCs (Request For
Comments) - www.ietf.org/rfc.html
 RFCs incluem:


Protocolos da pilha TCP/IP


A Internet
Tecnologias relacionadas


RFCs so editados, mas no h tanto rigor como em


publicaes acadmicas
A verificao e edio so feitas pelo IESG

64

17/03/2015

Documentos e padres (cont.)




RFCs contm:

Propostas
Levantamentos e medies
Padres
Piadas?! (IP sobre pombo correio:1149, Eletricidade sobre IP: 3251,
Humor do pacote no Option no TCP: 5841)

RFCs:
So numerados cronologicamente
Documentos revisados (modificados) ganham novos nmeros
Nmeros que terminam em 99 (resumo) e 00 (situao) so
reservados

Documentos e padres (cont.)


Internet Draft

Experimental

Proposed standard

Informational

Best Current Practice

Draft standard

Internet standard

Historic

Documentos e padres (cont.)




Exemplos de RFCs:
RFC791 Internet Protocol (IP)
 Substitui RFC760

RFC768 User Datagram Protocol (UDP)


RFC793 Transmission Control Protocol (TCP)
RFC2821 Simple Mail Transfer Protocol (SMTP)
 Substitui RFC821, o qual substituiu o RFC788

RFC1149 (1990) - Standard for the transmission of IP


datagrams on Avian Carriers
RFC 6921 (2013) - Design Considerations for FasterThan-Light (FTL) Communication

65

17/03/2015

Pilha TCP/IP e a Internet


Parte II A interligao em redes
Prof. Rogrio Santos Souza

Fonte: notas de aula do Dr. Kleber Vieira Cardoso

Tpicos
Interconexo: aplicao vs. rede
Propriedades da interligao em redes
 Arquitetura da interligao em redes



Rede
Roteador
Host (sistema final)

Interconexo: aplicao vs. rede


Fato: h tecnologias de rede diferentes (e incompatveis) e se
deseja conectividade universal
 Abordagem aplicao: software na camada de aplicao
executa em cada equipamento e lida com as caractersticas de
cada rede, ou seja:
Aumentar funcionalidade do sistema implica em criar novo
software para cada equipamento
Adicionar novo hardware implica em modificar ou criar novo
software
Em cada equipamento, cada software (de rede) precisa conhecer
detalhes da tecnologia

66

17/03/2015

Interconexo: aplicao vs. Rede (cont.)




Abordagem rede: software na camada de rede executa em


cada equipamento e lida com as caractersticas de cada rede,
ou seja:
As atividades de comunicao de dados so separadas das
aplicaes (que oferecem algum servio til)
A separao de funes cria um sistema flexvel, permitindo:
 Mudanas no hardware sem afetar (diretamente) as aplicaes
 Evolues nas aplicaes sem se preocupar (explicitamente) com a infraestrutura de comunicao
 Alteraes na interligao de rede, mantendo hardwares e aplicaes
inalteradas

Propriedades da interligao em redes








Aplicaes no precisam conhecer detalhes da


arquitetura de interconexo de rede
No h uma topologia a ser seguida
necessrio enviar dados entre redes intermedirias
H um conjunto universal de identificadores que
contempla todos os equipamentos
As aplicaes possuem um conjunto de operaes
nico, independente do hardware subjacente

Arquitetura da interligao em redes


Sistema final (host) executa as aplicaes
distribudas
 Rede infra-estrutura que conecta os hosts
 Roteador promove a interligao em redes


Participa em pelo menos duas redes


Passa pacotes de uma rede para outra

67

17/03/2015

Arquitetura da interligao em redes (cont.)




Roteadores
Precisam conhecer a topologia da interligao
em redes
Usam a rede de destino, no o host de destino,
para fazer o roteamento de pacotes, logo:
 Equipamentos mais simples
 Quantidade de informao aumenta com o nmero de
redes e no hosts

Arquitetura da interligao em redes (cont.)


Para as aplicaes (e usurios), a interligao em redes
cria uma nica rede virtual entre os hosts

Pilha TCP/IP e a Internet


Parte III Endereamento IP

68

17/03/2015

Tpicos
Formato do endereo
Classes de endereos
 Endereos especiais
 Sub-rede e mscara



VLSM (Variable Length Subnet Mask)




CIDR (Classless Inter-Domain Routing)

Endereo IP
Funo semelhante ao endereo de
hardware, ou seja, identificar uma interface de
comunicao
 Cada interface de comunicao ligada a
Internet (pblica) contm um endereo IP
unicast (de um destino) nico
 usado pelas aplicaes distribudas
 um valor binrio de 32 bits (verso 4)


Valores foram agrupados para tornar o roteamento


eficiente

Formato do endereo IP


Endereo dividido em duas partes:


Prefixo de rede (network ID) identifica a rede a
qual o host se conecta
 Um prefixo de rede atende uma rede fsica (proposta
original do endereamento IP)

Sufixo de host (host ID) identifica o host naquela


rede
Prefixo de rede

Sufixo de host

69

17/03/2015

Propriedades necessrias do endereamento


IP
Compacto (menor representao possvel)
 Universal (endereos suficientes para todos)
 Funciona com todos os hardwares de rede
 Permite tomar decises eficientemente:


Verificar se o destino pode ser alcanado diretamente


Decidir qual roteador usar para entrega indireta
Escolher qual o prximo roteador ao longo do caminho
para o destino

Endereos IP com classe


Esquema original de endereamento IP
Explica muitas decises de projeto
 Novos esquemas mantm compatibilidade
retroativa



Prefixo e Sufixo: qual o tamanho?




Prefixo grande: muitas redes, porm pequenas


Sufixo
de host

Prefixo de rede

Prefixo pequeno: poucas redes, porm grandes


Prefixo
de rede

Sufixo de host

Soluo: acomoda (ou pelo menos tenta


acomodar) ambas as possibilidades, criando
classes de endereos

70

17/03/2015

Classes de endereos IP
Classe

0.0.0.0 at
127.255.255.255

0 Net ID

Host ID

10

110

1110

Endereo Multicast

224.0.0.0 at
239.255.255.255

1111

Reservado

240.0.0.0 at
255.255.255.255

Net ID
Net ID

1.o byte

128.0.0.0 at
191.255.255.255

Host ID

192.0.0.0 at
223.255.255.255

Host ID

2.o byte

3.o byte

4.o byte

Classes de endereos IP (cont.)




Uma classe (tamanho de prefixo e sufixo)


pode ser encontrada de forma eficiente
Incio

1.o
bit
0

Classe A

2.o
bit
0

Classe B

3.o
bit
0

Classe C

4.o
bit

Classe E

Classe D

Propriedades importantes


Endereos com classe so auto-identificados, logo:


possvel determinar a fronteira entre prefixo e sufixo a
partir apenas do endereo IP, portanto:
 No necessrio guardar informao adicional sobre o tamanho do
prefixo (e do sufixo)
 Beneficia tanto hosts quanto roteadores

Endereo IP identifica uma conexo rede (ou seja,


uma interface de comunicao) e no um equipamento
Ex.: um roteador participa em pelo menos duas redes, logo
tem pelo menos duas interfaces de comunicao e, portanto,
tem pelo menos dois endereos IP

71

17/03/2015

Notao


Decimal com pontos


O endereo descrito byte-a-byte em notao decimal,
separando com pontos: w.x.y.z
Facilita a leitura (e memorizao)
Amplamente adotada na Internet e na literatura
associada

Exemplo:
Notao binria:
10010010 10100100 01000101 00000010
Notao decimal com pontos:
146.164.69.2

Endereos especiais
 Todos os bits com zero (0.0.0.0): este host nessa rede

Pode aparecer como apenas como endereo fonte


usado no processo de inicializao (boot), antes do equipamento obter seu
endereo

 Todos os bits com um (255.255.255.255): difuso (broadcast) local


 Sufixo de host com todos os bits zero (ex.: 100.0.0.0): endereo da rede
 Sufixo de host com todos os bits um (ex.: 200.0.0.255): endereo
broadcast (difuso) direcionada

 Endereo 127.0.0.1 significa loopback, ou seja, no enviado pela rede

A rede 127.0.0.0 inteira reservada para loopback

Multicast
IP permite multicast (multi-destinatrio),
porm o suporte no est disponvel em toda
Internet
 Endereos da classe D so reservados para
multicast


IP multicast usa hardware multicast quando este


est disponvel


Cada endereo corresponde a um grupo de


equipamentos

72

17/03/2015

Atribuio de endereos


Todos os hosts na mesma rede possuem o


mesmo prefixo (de rede) nos endereos
Prefixos so atribudos por uma entidade central
Ou obtidos de um ISP (Internet Service Provider)

Cada host em uma rede tem um nico sufixo


Sufixos so atribudos localmente
Administrador responsvel por garantir a
unicidade

Exemplo de algumas redes

Restante da
Internet

10M
R1

R2
1

Rede 100.0.0.0
10K

100.200.0.0
R3

Rede 150.0.0.0 150.0.50.0


1
100

Rede 200.0.0.0

200.0.0.150

Site com 3 redes de


classes diferentes

Pausa para a prtica!




Endereos:

Classe A
Classe B
Classe C
Classe D

Prtica com nmeros binrios


Endereos na mesma rede
 Range de endereos
 Lista de exerccios no portal Barddal



73

17/03/2015

Restries do endereos IP com classe





Apenas trs classes para enquadrar as redes


Classe C muito pequena: apenas 254 hosts
Computadores pessoais resultaram em redes com muitos hosts

Classe B permite muitos hosts, mas o nmero de prefixos


insuficiente (pouco mais de 16 mil)
Classe A tem nmero muito pequeno de prefixos: 126

Problema: Como racionalizar a atribuio de prefixos de rede


(sobretudo de classe B) sem abandonar o esquema de
endereamento de 32 bits

Endereamento de sub-rede
No parte do esquema de
endereamento IP original, mas ainda
mantm compatibilidade
 Permite que um site use um nico prefixo de
rede para mltiplas redes fsicas


Subdivide o sufixo de host em um par de campos:


rede fsica e host
O novo esquema tratado apenas por roteadores e
hosts do site
 Externamente os endereos so tratados pelo esquema
original

Exemplo de sub-rede
Trfego em direo
a rede 150.0.0.0
R1

sub-rede 150.0.64.0
1

10K

Restante da
Internet

10K

sub-rede 150.0.128.0

Site com 2 redes fsicas,


mas apenas uma rede IP



As duas redes fsicas compartilham o mesmo prefixo de rede:


150.0
Roteador R1 usa o terceiro byte para escolher a rede fsica

74

17/03/2015

Interpretao dos endereos




Endereos com classe tem dois nveis hierrquicos


Rede fsica identificada pelo prefixo
Host na rede identificado pelo sufixo

Endereos com sub-rede tem trs nveis hierrquicos


Site identificado pelo prefixo de rede
Rede fsica (dentro do site) identificada por parte do sufixo
Host na rede identificado pelo restante do sufixo

Exemplo de interpretao de endereo




Usando um endereo de classe B


Prefixo de rede

Sufixo de host

Parte Internet

Parte local

Prefixo de rede

Sub-rede

Sufixo
de host

Prefixo do host foi dividido para obter 256 sub-redes (8


bits) com 256 hosts (8 bits restantes) cada uma
De fato, 254 hosts + end. sub-rede + end. difuso

Tamanho da sub-rede
Depende da topologia do site e do nmero
de hosts em cada rede fsica
 Pode ser qualquer sub-diviso de uma rede
classe A, B ou C, desde que seja uma potncia
de dois
 O tamanho estabelecido por uma mscara
de sub-rede


75

17/03/2015

Mscara de sub-rede
A cada rede fsica associado uma mscara de endereo de
32 bits, tambm chamada mscara de sub-rede
 Os bits 1 na mscara cobrem todo o prefixo de rede
mais zero ou mais bits do sufixo de host
 Para identificar o prefixo de rede e a sub-rede feito um E
lgico (bit-a-bit) entre o endereo IP fornecido e a mscara de
sub-rede
 Dois tipos de mscara:


Mscara de sub-rede de tamanho fixo


Mscara de sub-rede de tamanho varivel (Variable Length Subnet
Mask VLSM)

Mscara de sub-rede de tamanho fixo


exemplo
Trfego em direo
a rede 150.0.0.0

R2

10K
R1

10K

R3
1

Restante da
Internet

10K

10K

Site com 4 redes fsicas,


mas apenas uma rede IP


4 sub-redes de uma classe B (ex.: 150.0.0.0) atendem adequadamente,


sendo todas as sub-redes do mesmo tamanho

Mscara de sub-rede de tamanho fixo


exemplo (cont.)
Rede 150.0.0.0 = 10010110 00000000 00000000 00000000
4 sub-redes => 2 bits para a mscara
Mscara = 11111111 11111111 11000000 00000000
ou 255.255.192.0 (notao decimal com pontos)
1.a sub-rede = 10010110 00000000 00000000 00000000 ou 150.0.0.0
2.a sub-rede = 10010110 00000000 01000000 00000000 ou 150.0.64.0
3.a sub-rede = 10010110 00000000 10000000 00000000 ou 150.0.128.0
4.a sub-rede = 10010110 00000000 11000000 00000000 ou 150.0.192.0

76

17/03/2015

Mscara de sub-rede de tamanho fixo


exemplo (cont.)
Novos endereos de (sub)rede e difuso:
1.a sub-rede = 10010110 00000000 00000000 00000000 ou 150.0.0.0
end. de difuso = 10010110 00000000 00111111 11111111 ou 150.0.63.255
2.a sub-rede = 10010110 00000000 01000000 00000000 ou 150.0.64.0
end. de difuso = 10010110 00000000 01111111 11111111 ou 150.0.127.255
3.a sub-rede = 10010110 00000000 10000000 00000000 ou 150.0.128.0
end. de difuso = 10010110 00000000 10111111 11111111 ou 150.0.191.255
4.a sub-rede = 10010110 00000000 11000000 00000000 ou 150.0.192.0
end. de difuso = 10010110 00000000 11111111 11111111 ou 150.0.255.255

Mscara de sub-rede de tamanho fixo


exemplo
Trfego em direo
a rede 150.0.0.0

10K
R1

R2

Restante da
Internet

sub-rede 150.0.0.0/255.255.192.0
1

10K

R3
1
10K
sub-rede 150.0.64.0/255.255.192.0
1
10K
sub-rede 150.0.128.0/255.255.192.0
sub-rede 150.0.192.0/255.255.192.0

Site com 4 redes fsicas,


mas apenas uma rede IP

Resultado da distribuio de endereos IP da rede 150.0.0.0 usando 4


sub-redes de mesmo tamanho

Mscara de sub-rede de tamanho fixo





Site usa a mesma mscara em todas as redes fsicas


Vantagens:

Uniformidade
Facilidade de projeto, manuteno e depurao


Desvantagens:

Nmero fixo de redes para todo o site


Nmero fixo de hosts por rede

77

17/03/2015

Mscara de sub-rede de tamanho varivel


(VLSM) exemplo
Trfego em direo a rede 150.0.0.0

10K
R1

R2
1

Restante da
Internet

20K
R3
1

5K

5K

Site com 4 redes fsicas,


mas apenas uma rede IP


4 sub-redes de uma classe B (ex.: 150.0.0.0) atendem adequadamente,


no entanto, cada sub-rede possui um tamanho diferente

Mscara de sub-rede de tamanho varivel


(VLSM) exemplo (cont.)


Rede 150.0.0.0 = 10010110 00000000 00000000 00000000

4 redes fsicas, sendo que a maior necessita de dos endereos


IP => 1 bit (resta dos endereos)

A segunda maior rede fsica necessita de dos endereos => 2


bits (resta dos endereos)

As duas redes fsicas menores so atendidas com 1/8 dos


endereos (cada uma) => 3 bits

Ou seja, as respectivas mscaras atendem:

Mscara = 11111111 11111111 10000000 0000000 (255.255.128.0)

Mscara = 11111111 11111111 11000000 0000000 (255.255.192.0)

Mscara = 11111111 11111111 11100000 0000000 (255.255.224.0)

Mscara de sub-rede de tamanho varivel


(VLSM) exemplo
Trfego em direo a rede 150.0.0.0

10K
R1

R2
1

sub-rede 150.0.128.0/255.255.192.0
20K
R3

sub-rede 150.0.0.0/255.255.128.0
1
5K

5K

sub-rede 150.0.192.0/255.255.224.0

sub-rede 150.0.224.0/255.255.224.0

Restante da
Internet

Site com 4 redes fsicas,


mas apenas uma rede IP

Resultado da distribuio de endereos IP da rede 150.0.0.0 usando 4


sub-redes de tamanhos diferentes

78

17/03/2015

Mscara de sub-rede de tamanho varivel


(VLSM Variable Length Subnet Mask)
Administrador pode escolher tamanhos diferentes para
cada rede fsica
 Mscara associada com base na rede fsica, ou seja, cada
rede pode ter a sua mscara
 Vantagens:


Flexibilidade para misturar redes fsicas de diferentes tamanhos


Uso mais racional do espao de endereamento


Desvantagens:
Maior complexidade para atribuir e administrar endereos
Potenciais ambigidades e inconsistncias no endereamento

Mscara de sub-rede de tamanho varivel


(VLSM) exemplo de inconsistncia
Trfego em direo a rede 150.0.0.0

10K
R1

R2
1

Restante da
Internet

20K
R3
1

5K

5K

Site com 4 redes fsicas,


mas apenas uma rede IP


Mesma configurao anterior, porm usando uma distribuio


diferente que leva a uma sub-rede que no endereada conforme o
esperado

Mscara de sub-rede de tamanho varivel (VLSM)


exemplo de inconsistncia (cont.)
Rede 150.0.0.0 = 10010110 00000000 00000000 00000000


4 redes fsicas, sendo que a primeira (de cima para baixo


na figura anterior) necessita de dos endereos IP => 2
bits (resta dos endereos)

A segunda (e maior) rede fsica necessita de dos


endereos => 1 bit (resta dos endereos)

As duas redes fsicas menores so atendidas com 1/8 dos


endereos (cada uma) => 3 bits

Ou seja, as respectivas mscaras atendem:

Mscara = 11111111 11111111 11000000 0000000 (255.255.192.0)


Mscara = 11111111 11111111 10000000 0000000 (255.255.128.0)
Mscara = 11111111 11111111 11100000 0000000 (255.255.224.0)

79

17/03/2015

Mscara de sub-rede de tamanho varivel (VLSM)


exemplo de inconsistncia (cont.)
Trfego em direo a rede 150.0.0.0

10K
R1

R2
1

Restante da
Internet

sub-rede 150.0.0.0/255.255.192.0
20K

R3
1
5K
sub-rede 150.0.64.0/255.255.128.0
1
5K
sub-rede 150.0.192.0/255.255.224.0
sub-rede 150.0.224.0/255.255.224.0

Site com 4 redes fsicas,


mas apenas uma rede IP

O resultado semelhante ao obtido anteriormente, porm h uma


inconsistncia

Mscara de sub-rede de tamanho varivel (VLSM)


exemplo de inconsistncia (cont.)
Supondo que a distribuio fosse vlida, as tabelas de roteamento
dentro do site conteriam as seguintes entradas:
150.0.0.0/255.255.192.0
150.0.64.0/255.255.128.0
150.0.192.0/255.255.224.0
150.0.224.0/255.255.224.0

Se um pacote endereado ao IP 150.0.128.1 aparecesse, em qual


entrada da tabela se enquadraria?
Pela distribuio seria na 2.a entrada (150.0.64.0/255.255.128.0),
mas veja o resultado do E bit-a-bit entre o endereo e a mscara:
150.0.128.1

= 10010110 00000000 10000000 00000001 (E)

255.255.128.0 = 11111111 11111111 10000000 00000000


10010110 00000000 10000000 00000000 = 150.0.128.0 (???)

Roteamento com VLSM




Cada entrada na tabela de roteamento tem uma


mscara associada
Uma mscara com todos os bits 1 usada para uma rota
especfica para um host
Uma mscara de rede (A, B ou C) usada para rota especfica
de rede
Uma mscara de sub-rede usada para rota especfica de subrede
Uma mscara com todos os bits 0 usada para especificar a
rota padro

As rotas so ordenadas por ordem decrescente de bits


1 nas mscaras

80

17/03/2015

Classless Inter-Domain Routing (CIDR)




Problemas:
Crescimento exponencial da Internet
O uso de sub-redes no suficiente
Endereos IP limitados (sobretudo classe B)

Previso feita em 1993:


Endereos IP (verso 4) esgotados em poucos
anos

Devido a vrias medidas at hoje endereos


no se esgotaram
Algumas previses indicam 2012 a 2020

Motivao para CIDR: classe C




Quando CIDR foi proposto:


Pouco mais de 17 mil prefixos de classe B livres
Mais de 2 milhes de prefixos de classe C sem uso
Classe C muito pequena para um grande nmero de
redes

Com CIDR tornou-se possvel, por


exemplo:
Agrupar 256 prefixos de classe C em um nico prefixo
equivalente a uma classe B
Dividir uma classe B em prefixos menores, desde que
potncias de 2

Notao CIDR


Endereos so escritos no formato: nmero/M


Nmero: prefixo de rede
M: quantidade de bits 1 na mscara, ou seja, seu tamanho

Exemplo:
214.5.48.0/20
Prefixo ocupa 20 bits
Sufixo ocupa 12 bits
Essa faixa equivale a 16 prefixos de classe C ou 1/16 de classe
B

81

17/03/2015

Exemplo em detalhe
214.5.48.0
= 11010110 00000101 00110000 00000000
20 bits = 11111111 11111111 11110000 00000000
prefixo da rede = 11010110 00000101 00110000 00000000
ou 214.5.48.0
end. de difuso = 11010110 00000101 00111111 11111111
ou 214.5.63.255
equivalente, por exemplo, s seguintes redes classe C agrupadas:
214.5.48.0

214.5.52.0

214.5.56.0

214.5.60.0

214.5.49.0

214.5.53.0

214.5.57.0

214.5.61.0

214.5.50.0

214.5.54.0

214.5.58.0

214.5.62.0

214.5.51.0

214.5.55.0

214.5.59.0

214.5.63.0

Proliferao de rotas


Se o roteamento usasse o esquema original


de classes, os endereos CIDR implicariam
em muitas rotas
Por exemplo, um site com uma faixa equivalente a
16 redes classe C (como a anterior) precisaria de
16 entradas em uma tabela de rotas

CIDR propem o conceito de super-rede


Uma faixa de endereos pode ser sub-dividida (subrede) e um conjunto de faixas pode ser agrupado
(super-rede)

Agregao de rotas
Muda o roteamento, assim como foi
mudado o endereamento
 Cada rota tem uma mscara associada
 Sempre que informaes de roteamento
so trocadas, o par (endereo,mscara)
enviado
 Tambm conhecida como bloco CIDR


82

17/03/2015

Roteamento com CIDR


Cada entrada na tabela tem uma mscara
associada
 Busca organizada do mais especfico para
o menos especfico (ou seja, entrada com
maior mscara testada antes)


Conhecida como consulta (ou busca) do prefixo


mais longo


Enfim, semelhante a VLSM, porm no est


restrito a um site

Usando CIDR - exemplo 1


1

Restante da
Internet

4K
R1

R2
1

8K
R3

2K

2K

O site pode ser atendido (como exemplo) pela seguinte rede


200.150.64.0/18, evitando:
o desperdcio de uma rede classe B
a manipulao de 64 entradas de redes classe C apenas para o site

Usando CIDR - exemplo 1 (cont.)


Trfego em direo a rede 200.150.64.0/18

4K
R1

R2
1

Restante da
Internet

sub-rede 200.150.96.0/20
8K
R3

sub-rede 200.150.64.0/19
1
2K

2K

sub-rede 200.150.112.0/21

sub-rede 200.150.120.0/21

Uso da rede 200.150.64.0/18, com VLSM para atender as redes fsicas de


diferentes tamanhos e CIDR para descrever (sub)redes (e portanto, rotas)
sem classe

83

17/03/2015

Usando CIDR - exemplo 2


1

Restante da
Internet

12
R1

R2
1

28
R3

13

Alguns ISPs tem clientes com demanda por pequeno nmero de endereos
IP, a qual pode ser atendida por uma frao de classe C. Por exemplo, a
rede 200.100.50.128/26, atende o site acima

Usando CIDR - exemplo 2 (cont.)


Trfego em direo a rede 200.150.50.128/26

Restante da
Internet

12
R1

R2
sub-rede 200.150.50.160/28
1

28
R3

sub-rede 200.150.50.128/27
1

13

sub-rede 200.150.50.176.0/28

Uso da rede 200.100.50.128/26, com VLSM para atender as redes fsicas


de diferentes tamanhos e CIDR para economizar endereos

Resumo CIDR


Atende temporariamente, espera-se que at


a verso 6 do IP se estabelecer
Foi previsto para ter sucesso durante alguns
anos, mas superou muito as expectativas

Mantm compatibilidade retroativa com


endereos com classe
Basicamente, estende o conceito de mscara de
sub-rede de tamanho varivel (VLSM) para o
prefixo

84

17/03/2015

Mais endereos especiais




Endereos IP privados
Alguns blocos CIDR reservados para uso dentro de um site
No devem aparecer na Internet pblica
 Podem se repetir em diferentes sites

So tambm chamados no roteveis, pois alguns roteadores (na


Internet) os descartam
So eles:

Prefixo
10/8
172.16/12
192.168/16
169.254/16

Incio
10.0.0.0
172.16.0.0
192.168.0.0
169.254.0.0

Fim
10.255.255.255
172.31.255.255
192.168.255.255
169.254.255.255

Pilha TCP/IP e a Internet


Mapeamento de endereos IP em endereos fsicos (ARP)

Exemplo genrico
Computadores A e B na mesma rede (fsica)
Aplicao em A gera um pacote para
aplicao em B
 Software do protocolo em A deve usar o
endereo de hardware de B ao envi-lo um
pacote, logo:



Software do protocolo precisa de um mecanismo


que mapeie um endereo IP para endereo de
hardware equivalente
Tambm conhecido como problema de resoluo
de endereo

85

17/03/2015

Associao dinmica
Necessria quando endereo de hardware
maior que o endereo IP (ex.: Ethernet)
 Permite ao equipamento A encontrar o
endereo de hardware do equipamento B


A sabe endereo IP de B
A sabe que B est na mesma rede fsica


Soluo: difunde (broadcast) a consulta e


obtm a resposta
Associao dinmica usada ao longo de apenas
uma rede fsica por vez

Address Resolution Protocol (ARP)


Padro para resoluo dinmica de
endereos na Internet
 Exige suporte a difuso (broadcast) em
hardware
 Projetado para redes locais


ARP usado para mapear endereos dentro de


uma nica rede fsica, no entre mltiplas redes

Funcionamento do ARP

A difunde uma requisio (consulta) em busca de B

B, e somente B, responde requisio

86

17/03/2015

Funcionamento ARP (cont.)








Equipamento A difunde uma requisio com o


endereo IP de B
Todos equipamentos na rede fsica recebem a difuso
Apenas o equipamento B responde com seu endereo
fsico
Equipamento A adiciona endereo fsico de B sua
tabela (ARP)
Equipamento A entrega diretamente o pacote para B

Reteno de associaes
Por questes de desempenho o ARP
precisa evitar o envio de uma requisio
para cada pacote a ser enviado
 Soluo:


Manter uma tabela de associaes


O endereo resolvido uma vez e usado vrias

Encapsulamento ARP


A mensagem ARP transportada dentro da


parte reservada ao pacote de rede em um
quadro, ou seja, sua rea de dados

87

17/03/2015

Pilha TCP/IP e a Internet


Inicializao e auto-configurao (RARP, BOOTP e DHCP)

Atribuio de endereo IP


Esttica
Endereo IP armazenado em algum dispositivo
de armazenamento persistente (ex.: disco)
Em geral, exigido para alguns equipamentos
(ex.: servidores, roteadores)

Dinmica
Endereo IP obtido de um servidor
til para equipamentos simples (ex.: estaes
sem disco) ou o que permanecem ligados
intermitentemente

Reverse Address Resolution Protocol (RARP)




Protocolo antigo
Exceto em uns poucos casos especiais, RARP foi
amplamente substitudo pelo DHCP

Projeto para atender computadores sem


disco
 Adaptado do protocolo ARP


Difunde (broadcast) requisio para servidor


Espera por resposta

88

17/03/2015

BOOTstrap Protocol (BOOTP)





Uma alternativa ao RARP


Fornece mais que apenas um endereo IP
Obtm parmetros de configurao de um
servidor

Usa UDP

Uso da pilha antes da inicializao


BOOTP usado para obter parmetros de
configurao do IP, porm
 BOOTP usa IP e UDP para obter os
parmetros


Pilha precisa ser inicializada antes de ser inicializada?




De fato, BOOTP executa como uma aplicao


e precisa apenas de algumas facilidades bsicas
fornecidas por endereos especiais

Dynamic Host Configuration Protocol (DHCP)




Pode atribuir endereos de trs formas:


Manual (semelhante ao BOOTP)
Automtica (endereo atribudo pelo servidor e o equipamento
retm o mesmo endereo)
Dinmica (endereo atribudo pelo servidor e o equipamento pode
obter endereos diferentes em requisies posteriores)

Administrador pode escolher o tipo atribuio para cada


endereo
 Alm do endereo IP permite que um host obtenha todos os
parmetros necessrios para se comunicar sem interveno
manual


DHCP oferece auto-configurao

89

17/03/2015

Atribuio dinmica de endereos


Cliente recebe um arrendamento de endereo
Servidor especifica o tempo de arrendamento
 No fim do arrendamento, cliente deve renovlo ou parar de usar o endereo
 Aes so controladas por uma mquina de
estados finitos



Basicamente, um cliente DHCP difunde (broadcast)


uma mensagem para todos os servidores em uma
rede local, coleta as ofertas, seleciona uma e
negocia com o servidor

Pilha TCP/IP e a Internet


Entrega de pacotes sem conexo (IP)

IP Internet Protocol
Principal protocolo da pilha TCP/IP
 Principais objetivos


Esconder a heterogeneidade da rede subjacente


Fornecer a iluso de uma nica grande rede

90

17/03/2015

Caractersticas do IP


IP oferece o melhor esforo (best-effort)


Faz o possvel para entregar
No garante a entrega

Na Internet, roteadores podem ficar sobrecarregados ou


mudar rotas, o que significa que:

Pacotes podem ser perdidos


Pacotes podem ser duplicados
Pacotes podem chegar fora de ordem ou serem embaralhados
Com essas caractersticas, o IP consegue operar sobre a mais
ampla variedade de redes fsicas

Caractersticas do IP
Fornece um servio de entrega de pacotes
sem conexo
 Define trs itens importantes:


Esquema de endereamento
Formato do pacote
Encaminhamento do pacote

Pacote IP
Semelhante ao quadro da camada de enlace
 Tambm conhecido como datagrama IP
 Layout:


Cabealho

rea de dados

Cabealho contm (entre outros):


 Endereo IP de origem
 Endereo IP de destino
 Tipo do pacote (ou contedo da rea de dados)

91

17/03/2015

Encapsulamento do pacote IP
Pacote encapsulado dentro de um quadro de enlace
Hardware de rede trata o pacote como dados
 Um campo do cabealho do quadro deve identificar os
dados como um pacote IP



Exemplo: Ethernet descreve o IP pelo valor 0x0800

Cabealho IP

Cabealho
do quadro

rea de dados do IP

rea de dados do quadro

Formato do cabealho IP

Campos do cabealho IP


VERSION (4 bits)

Decimal Palavra-chave
0
1-3
4
IP
5
ST
6
IPv6
7
TP/IX
8
PIP
9
TUBA
10-14
15

Verso
Reservado
No atribudo
Internet Protocol (RFC791)
ST Datagram Mode (RFC1190)
Internet Protocol version 6 (RFC1752)
TP/IX: The Next Internet (RFC1475)
The P Internet Protocol (RFC1621)
TUBA (RFC1347)
No atribudo
Reservado

*** De acordo com:


http://www.iana.org/assignments/version-numbers
(ltima atualizao 2 julho de 2004)

92

17/03/2015

Campos do cabealho IP (cont.)




HLEN (4 bits) indica o comprimento do cabealho em palavras


de 32 bits (DWORD ou 4 bytes). O valor tpico 5 (ausncia de
opes) e o mximo 15 (cabealho fica limitado em 60 bytes,
sendo 40 bytes para opes)
TYPE OF SERVICE - TOS (8 bits) informa ao roteador como o
datagrama deve(ria) ser tratado e identifica algumas funes de
QoS como prioridade, atraso, vazo e confiabilidade
Bits 0 a 2: Precedence
Bit 3 (D):

0 = Normal Delay,

Bit 4 (T):

0 = Normal Throughput, 1 = High Throughput

1 = Low Delay

Bit 5 (R):

0 = Normal Reliability,

1 = High Reliability

Bits 6 e 7: Reservados

Campos do cabealho IP (cont.)





TOTAL LENGTH (16 bits) fornece o comprimento do pacote


IP, medido em bytes, incluindo o cabealho
IDENTIFICATION (16 bits) identifica o pacote IP entre os
outros transmitidos pelo equipamento. Identifica tambm todos
os fragmentos de um pacote original
FLAGS (3 bits)
Bit 0 (R ou Reserved) reservado
Bit 1 (DF ou Do not Fragment) determina se o pacote pode ser
fragmentado (=0), ou no (=1)
Bit 2 (MF ou More Fragments) indica se o fragmento o ltimo (=0) de
um pacote ou se existem mais (=1)

Campos do cabealho IP (cont.)




FRAGMENT OFFSET (13 bits) informa o posicionamento do


fragmento em relao aos demais fragmentos. Indica a distncia
dos dados, desde o incio, no pacote original, em unidades de 8
bytes
TIME TO LIVE ou TTL (8 bits) indica o tempo de vida do pacote na
rede. Atualmente, significa o nmero saltos (hops ou roteadores)
que o pacote pode realizar antes de ser descartado
PROTOCOL (8 bits) identifica o protocolo que est ocupando a rea
de dados. Exemplos: ICMP=1,TCP=6, UDP=17

93

17/03/2015

Campos do cabealho IP (cont.)








HEADER CHECKSUM (16 bits) assegura a integridade do


cabealho IP (apenas). gerado na origem e conferido a cada
roteador. Aps decrementar o valor do TTL o roteador gera um
novo valor e reenvia o pacote
SOURCE ADDRESS (32 bits) endereo IP do equipamento de
origem do pacote IP
DESTINATION ADDRESS (32 bits) endereo IP do
equipamento de destino (final) do pacote IP
OPTIONS (varivel de 0 a 320 bits) se existir contm
informaes adicionais relacionadas a roteamento, rotas, horrio
ou segurana

Pilha TCP/IP e a Internet


Mensagens de controle e erro (ICMP)

Tpicos
Erros em redes de pacotes
 ICMP (Internet Control Message Protocol)


Caractersticas
Encapsulao
Formato da mensagem
Tipos de mensagens
 Exemplos

94

17/03/2015

Erros em redes de pacotes




Algumas causas:

Desconexo temporria ou permanente


Falhas de hardware
Sobrecarga do roteador
Laos (loops) no roteamento

Necessidade de mecanismos para detectar


erros
Tambm so necessrios mecanismos para corrigir,
mas no so tratados aqui

ICMP (Internet Control Message


Protocol)







parte da camada de rede da pilha TCP/IP


Usado inicialmente por roteadores para reportar
origem problemas de entrega ou roteamento
Tambm usado para transmitir informaes de
controle, e no apenas relatos de erros
Usa o IP para transportar as mensagens
Mensagens que transportam relatos de erro no geram
novas mensagens desse tipo
Fornece a comunicao entre o software IP em um
equipamento (host ou roteador) e o software IP em outro
equipamento (host ou roteador)

Relato de erro vs. Correo de erro




ICMP no
Fornece interao entre o equipamento que
envia a mensagem e a origem. H apenas um
relato do erro
Mantm informao de estado (cada pacote
manipulado independentemente)

Principal conseqncia
Ao receber a mensagem de erro, a origem pode
apenas informar uma aplicao ou tomar alguma
outra ao para corrigir o problema

95

17/03/2015

Encapsulao ICMP
ICMP transportado dentro de um pacote
IP
 Toda a mensagem ICMP tratada como
dados pelo IP


Mensagem ICMP possui seu prprio cabealho


e rea de dados
 Em caso de mensagem erro, a rea de dados
transporta um fragmento do pacote que causou o
erro

Tipos mensagens ICMP


Campo TYPE
0
3
4
5
8
9
10
11
12
13
14
15
16
17
18

Mensagem ICMP
Echo Reply
Destination Unreachable
Source Quench
Redirect (change a route)
Echo Request
Router Advertisement
Router Solicitation
Time Exceeded for a Datagram
Parameter Problem on a Datagram
Timestamp Request
Timestamp Reply
Information Request (obsoleto)
Information Reply (obsoleto)
Address Mask Request
Address Mask Reply

Detalhe sobre ICMP




Ao reportar erro, a mensagem ICMP inclui o pacote que


causou o problema
Eficiente (dado o erro e o pacote devolvido, a origem deve ser
capaz de determinar como corrigir o erro)
Elimina a necessidade de construir mensagens detalhadas

Problema: pacote que causou o problema pode ser muito


grande
 Soluo: enviar apenas o cabealho IP mais 64 bits da rea
de dados do IP, sendo suficiente na maioria dos casos


Exemplo: 64 bits da rea de dados do IP suficiente para informar as


portas de origem e destino dos protocolos UDP e TCP e, portanto, a
aplicao que causou o problema

96

17/03/2015

Aplicaes com ICMP




PING - envia um pacote, geralmente, de 32 bytes para o


destino e aguarda resposta

TRACEROUTE Visualiza todos os saltos at o destino.


Envia uma sequncia de PINGs com TTL iniciando em 1 e
incrementando at receber a resposta do destino

enviado com um alto TTL (Time to Live)

Traceroute

Pilha TCP/IP e a Internet


Interconexo de redes privadas (NAT,VPN)

97

17/03/2015

Definies


Uma inter-rede (internet) privada para um


grupo se seus recursos (sobretudo, roteadores
e enlaces) e trfego no acessvel a outros
grupos
Implementao tpica envolve enlaces prprios (ou
arrendados) para interligar os roteadores
tambm conhecida como Intranet, embora esse
termo tambm seja usado para redes menores

A Internet global pblica porque seus


recursos so compartilhados entre todos

Arquitetura hbrida
Parte do trfego est restrito infraestrutura privada
 Parte do trfego flui atravs da Internet
global


Redes privada e pblica


Inter-rede privada cara
Internet pblica barata
 Objetivo: combinar a segurana de uma
rede privada com o baixo custo da Internet
global



Pergunta: como uma organizao que usa a


Internet global para conectar seus sites mantm
seus dados privados?
Resposta: Virtual Private Network (VPN)

98

17/03/2015

Virtual Private Network (VPN)


Conecta todos os sites (de uma organizao)
atravs da Internet global
 Protege os dados enquanto eles passam de um
site para outro, usando


Criptografia
Encapsulamento IP-em-IP

Exemplos de VPN

VPN com endereos IP privados

Endereos privados na Internet


pblica
Problema: vrios equipamentos com
endereos IP privados, porm o site tem
apenas um (ou poucos) endereos IP pblicos
(ex.: pequeno ISP)
 Duas abordagens:


Gateway de aplicao (em geral, um para cada


servio)
 Exemplo: proxy web

Network Address Translation (NAT)

99

17/03/2015

Network Address Translation (NAT)


Economia de endereos IP pblicos
Soluo no nvel IP
 Transparente para ambas extremidades
 Implementao



Geralmente em software
Normalmente instalado em um roteador
Hardware especializado usado para obter maior
velocidade

Operao
Substitui o endereo IP de origem no
pacote que sai (do site)
 Substitui o endereo IP de destino no
pacote que entra (no site)
 Tambm manipula protocolos de camadas
superiores, por exemplo


Transporte: pseudo cabealho para TCP e UDP


Aplicao: conexo de dados do FTP

Tabela de traduo
Cada entrada na tabela especfica uma extremidade
local (privada) e outra global
 Modelo tpico


Cada entrada criada dinamicamente por um pacote ao sair


do site
Cada entrada serve para fazer o mapeamento reverso de
endereo para pacotes entrando no site


Variante mais comum de NAT usa portas de protocolo (de


transporte) na composio do ndice da tabela
NAPT (Network Address Port Translation)

100

17/03/2015

Tabela de traduo exemplo


IP privado

Porta

IP pblico

Porta

Porta NAT

Protocolo

10.0.0.10

1030

200.0.50.25

80

1501

TCP

10.0.0.11

1030

100.0.10.15

25

1520

TCP

10.0.0.11

1031

50.10.15.20

23

1510

TCP

10.0.1.12

1050

30.15.5.10

80

1515

TCP

10.0.1.12

1051

30.15.5.10

80

1517

TCP

Exemplo de um pacote saindo por NAT com o IP pblico 100.0.0.1:

Dados 1030 80 ... 10.0.0.10 200.0.50.25

NAT

Dados 1501 80 ... 100.0.0.1 200.0.50.25

NAT e protocolos de camadas


superiores


NAT necessita
Mudar cabealhos IP
Mudar cabealho TCP e UDP
Recalcular checksum
Mudar cabealho ICMP (ex.: ICMP Echo Request/Redirect)
Identificar as mensagens ICMP (ex.: ICMP Redirect no deve ser
repassada, mas ICMP Host unreachable deve)
Traduzir nmeros de porta em uma sesso FTP

Ou seja, NAT afeta TCP, UDP, ICMP e outros protocolos de


nvel superior
Com exceo de umas poucas aplicaes (como o FTP), se houver
o envio de endereo IP ou porta de transporte como dados da
aplicao, a mesma no funcionar adequadamente atravs do
NAT

Pilha TCP/IP e a Internet


IP verso 6 (IPv6)

Fonte: apostila do curso bsico de IPv6 do registro.br. Original disponvel em


http://www.ipv6.br

101

17/03/2015

Por que utilizar IPv6 hoje?


A Internet continua crescendo

Quantidade de hosts na Internet

Solues
Solues paliativas: Queda de apenas 14%

102

17/03/2015

Por que utilizar IPv6 hoje?


A Internet continua crescendo

Mundo

1,8 bilho de usurios de Internet;

25,6% da populao;

Crescimento de 380,3% nos ltimos 9 anos.

Em 2014, soma de celulares, smartphones, netbooks e modens 3G


deve chegar a 2,25 bilhes de aparelhos.

Brasil

21% de domiclios com acesso Internet;

2,6 milhes de conexes em banda larga mvel;

11 milhes de conexes em banda larga fixa.

Evoluo do IPv6

Evoluo do trfego IPv6

103

17/03/2015

Quais os riscos da no
implantao do IPv6?
Embora ainda seja pequena, a utilizao do IPv6 tem aumentado
gradativamente;

Porm precisa avanar ainda mais;

A no implementao do IPv6 ir:

Impedir o surgimento de novas redes;

Diminuir o processo de incluso digital o reduzindo o nmero de novos usurios;

Dificultar o surgimento de novas aplicaes;

Aumentar a utilizao de tcnicas como a NAT.

O custo de no implementar o IPv6 poder ser maior que o custo de


implement-lo;
Provedores Internet precisam inovar e oferecer novos servios a seus
clientes.

Solues

1992 - IETF cria o grupo IPng (IP Next Generation)

Principais questes:

Escalabilidade;

Segurana;

Configurao e administrao de rede;

Suporte a QoS;

Mobilidade;

Polticas de roteamento;

Transio.

IPv6

1998 - Definido pela RFC 2460

128 bits para endereamento.

Cabealho base simplificado.

Cabealhos de extenso.

Identificao de fluxo de dados (QoS).

Mecanismos de IPSec incorporados ao protocolo.

Realiza a fragmentao e remontagem dos pacotes apenas na


origem e no destino.

No requer o uso de NAT, permitindo conexes fim-a-fim.

Mecanismos que facilitam a configurao de redes.

....

104

17/03/2015

Endereamento


Um endereo IPv4 formado por 32 bits.


232 = 4.294.967.296

Um endereo IPv6 formado por 128 bits.


2128 = 340.282.366.920.938.463.463.374.607.431.768.211.456
~ 56 octilhes (5,6x1028) de endereos IP por ser humano.
~ 79 octilhes (7,9x1028) de endereos a mais do que no IPv4.

Endereamento
A representao dos endereos IPv6, divide o endereo em oito grupos
de 16 bits, separando-os por :, escritos com dgitos hexadecimais.

2001:0DB8:AD1F:25E2:CADE:CAFE:F0DA:84C1
2 Bytes

Na representao de um endereo IPv6 permitido:


Utilizar caracteres maisculos ou minsculos;
Omitir os zeros esquerda; e
Representar os zeros contnuos por ::.

Exemplo:
2001:0DB8:0000:0000:130F:0000:0000:140B
2001:db8:0:0:130f::140b
Formato invlido: 2001:db8::130f::140b (gera ambiguidade)

Endereamento


Representao dos Prefixos

Como o CIDR (IPv4)


endereo-IPv6/tamanho do prefixo


Exemplo:

Prefixo 2001:db8:3003:2::/64
Prefixo global 2001:db8::/32
ID da sub-rede 3003:2
URL
http://[2001:12ff:0:4::22]/index.html
http://[2001:12ff:0:4::22]:8080

105

17/03/2015

Endereamento
Existem no IPv6 trs tipos de endereos definidos:

Unicast Identificao Individual

Anycast Identificao Seletiva

Multicast Identificao em Grupo

No existe mais Broadcast.

Endereamento
Unicast
Global Unicast

64 - n

64

Prefixo de roteamento global

ID da
sub-rede

Identificador da interface

2000::/3

Globalmente rotevel (similar aos endereos pblicos IPv4);

13% do total de endereos possveis;

2(45) = 35.184.372.088.832 redes /48 distintas.

Endereamento
Unicast
Link local

FE80

Identificador da interface

FE80::/64

Deve ser utilizado apenas localmente;

Atribudo automaticamente (autoconfigurao stateless);

106

17/03/2015

Endereamento
Unicast
Unique local

7
Pref.

Identificador global

ID da
sub-rede

Identificador da interface

FC00::/7

Prefixo globalmente nico (com alta probabilidade de ser nico);

Utilizado apenas na comunicao dentro de um enlace ou entre um


conjunto limitado de enlaces;

No esperado que seja roteado na Internet.

Endereamento
Unicast
Endereos especiais
Localhost - ::1/128 (0:0:0:0:0:0:0:1)
No especificado - ::/128 (0:0:0:0:0:0:0:0)

IPv4-mapeado - ::FFFF:wxyz

Faixas Especiais
6to4 - 2002::/16
Documentao - 2001:db8::/32
Teredo - 2001:0000::/32

Obsoletos
Site local - FEC0::/10
IPv4-compatvel - ::wxyz
6Bone 3FFE::/16 (rede de testes desativada em 06/06/06)

Endereamento

Do mesmo modo que no IPv4, os endereos IPv6 so atribudos a


interfaces fsicas e no aos ns.
Com o IPv6 possvel atribuir a uma nica interface mltiplos
endereos, independentemente do seu tipo.

Com isso, um n pode ser identificado atravs de qualquer endereo


de sua interfaces.
Loopback
::1
Link Local
FE80:....
Unique local
FD07:...
Global
2001:....

A RFC 3484 determina o algoritmo para seleo dos endereos de


origem e destino.

107

17/03/2015

Cabealho IPv4

O cabealho IPv4 composto por 12 campos fixos, podendo conter ou no


opes, fazendo com que seu tamanho possa variar entre 20 e 60 Bytes.

Cabealho IPv6


Mais simples

40 Bytes (tamanho fixo).

Apenas duas vezes maior que o da verso anterior.

Mais flexvel
Extenso por meio de cabealhos adicionais.
Mais eficiente

Minimiza o overhead nos cabealhos.

Reduz o custo do processamento dos pacotes.

Cabealho IPv6

Seis campos do cabealho IPv4 foram removidos.

108

17/03/2015

Cabealho IPv6
1

1
2

Seis campos do cabealho IPv4 foram removidos.

Quatro campos tiveram seus nomes alterados e seus posicionamentos


modificados.

Cabealho IPv6

Seis campos do cabealho IPv4 foram removidos.

Quatro campos tiveram seus nomes alterados e seus posicionamentos


modificados.

O campo Identificador de Fluxo foi acrescentado.

Cabealho IPv6

Seis campos do cabealho IPv4 foram removidos.

Quatro campos tiveram seus nomes alterados e seus posicionamentos


modificados.

O campo Identificador de Fluxo foi acrescentado.

Trs campos foram mantidos.

109

17/03/2015

Cabealho IPv6

Cabealhos de Extenso
No IPv6, opes adicionais so tratadas por meio de cabealhos de
extenso.

Localizam-se entre o cabealho base e o cabealho da camada de


transporte.

No h nem quantidade, nem tamanho fixo para estes cabealhos.


Cabealho IPv6
Prximo
Cabealho = 6

Cabealho TCP

Dados

Cabealho IPv6

Cabealho Routing

Prximo
Cabealho = 43

Prximo
Cabealho = 6

Cabealho TCP

Cabealho IPv6

Cabealho Routing

Prximo
Cabealho = 43

Prximo
Cabealho = 44

Cabealho
Fragmentation
Prximo
Cabealho = 6

Dados

Cabealho TCP

Dados

Cabealhos de Extenso
Exemplos
Hop-by-hop: indica informaes que devem ser processadas por
todos os ns

Routing: indica um host que deve ser visitado pelo pacote

Fragmentation: informaes de fragmentao

Authentication e Encapsulating Security Payload: segurana

110

17/03/2015

Pilha TCP/IP e a Internet


Parte VIII Camada de Transporte UDP e TCP

Identificao das aplicaes


Endereo IP identifica apenas uma interface
de comunicao
 necessrio uma forma de especificar uma
aplicao (processo) em um equipamento
 No entanto:


Cada sistema operacional possui uma forma de


identificar suas aplicaes
Aplicaes podem ser criadas e destrudas
rapidamente

Identificao das aplicaes (cont.)


TCP/IP introduz sua prpria especificao
 definido um ponto de destino abstrato
conhecido como nmero de porta de
protocolo
 Cada sistema operacional determina
como associa um nmero de porta de
protocolo a uma aplicao especfica


111

17/03/2015

User Datagram Protocol (UDP)


Protocolo da camada de transporte (camada 4)
Servio sem conexo: fornece s aplicaes a
capacidade de enviar e receber mensagens
 Permite mltiplas aplicaes em nico equipamento se
comunicarem concorrentemente
 Servio de melhor-esforo semelhante ao oferecido
pelo IP



Mensagens podem ser atrasadas, perdidas ou duplicadas


Mensagens podem chegar fora de ordem
Aplicaes devem aceitar total responsabilidade pelo tratamento
dos erros

Formato do datagrama UDP

CHECKSUM verifica a rea de dados


Se o campo CHECKSUM possuir apenas zeros, receptor no faz a soma
de verificao (ou seja, uso de CHECKSUM opcional)





SOURCE PORT identifica a aplicao no equipamento de origem


DESTINATION PORT identifica a aplicao no equipamento de
destino final
MESSAGE LENGTH descreve o tamanho em bytes do datagrama
UDP, incluindo o cabealho

Encapsulamento

112

17/03/2015

Diviso de tarefas entre IP e UDP


IP responsvel por transferir dados entre
um par hosts
 UDP responsvel por diferenciar entre
mltiplas origens ou destinos em um host
 Cabealho IP identifica apenas uma interface
de comunicao
 Cabealho UDP identifica aplicaes


Demultiplexao

Se baseia no nmero da porta do protocolo


UDP

Atribuio de nmeros de porta UDP




Pequena quantidade reservada para


servios especficos
Tambm chamadas de portas bem-conhecidas
(well-known ports)
Mesma interpretao em toda Internet
 Usado pelo software servidor

Grande quantidade no reservada


Disponvel para quaisquer aplicaes
Usado pelo software cliente

113

17/03/2015

Exemplos de portas UDP reservadas

Caractersticas do TCP


Orientao a fluxo
Fluxo sem estrutura (seqncia de bytes)

Transferncia bufferizada
Conexo full-duplex
 Confiabilidade
 Controle de fluxo e de congestionamento



Como o TCP fornece confiabilidade




Reconhecimento positivo com


retransmisso
Transmissor inicia um temporizador ao
transmitir um segmento
Receptor envia um reconhecimento quando o
segmento chega
Transmissor reenvia segmento se temporizador
expira antes da chegada do reconhecimento

114

17/03/2015

Estabelecimento de conexo TCP

Aperto de mo de via tripla (3-Way


handshake)

Encerramento de conexo TCP

Reconhecimentos

115

17/03/2015

Recuperao aps uma perda

Janela deslizante
Um protocolo simples de reconhecimento
positivo e retransmisso pacote-a-pacote
ineficiente, sobretudo medida que
aumenta a latncia
 Soluo:


Transmitir mltiplos pacotes antes de receber


um reconhecimento
Continuar controlando reconhecimentos e
temporizadores para cada pacote
Ou seja, usar janela deslizante

Janela deslizante (cont.)

Um janela deslizante de tamanho adequado


consegue manter a rede saturada de
pacotes
Qual o tamanho adequado da janela?!

116

17/03/2015

Janela deslizante (cont.)

Transferncia bufferizada
Aplicao

Aplicao

escreve
bytes

l
bytes

TCP

TCP

buffer de
transmisso

buffer de
recepo

segmento

segmento

segmento

Trs mecanismos determinam o envio de um segmento


Limiar (threshold) do buffer (MSS Maximum Segment Size)
Forado pela aplicao (push)
Temporizador

Formato do segmento TCP

117

17/03/2015

Cabealho TCP
SOURCE PORT e DESTINATION PORT
identificam as aplicaes nas extremidades
da conexo TCP
 SEQUENCE NUMBER a posio no fluxo
de bytes do transmissor que est sendo
transportada no segmento
 ACKNOWLEDGEMENT NUMBER o nmero
do byte que a origem espera receber
 HLEN especifica o tamanho do cabealho do
segmento TCP, medido em DWORD (32 bits)


Cabealho TCP (cont.)




Alguns segmentos transportam apenas um


reconhecimento, enquanto outros carregam dados. H
segmentos que levam requisies para estabelecer ou
encerrar conexes. TCP usa o campo CODE BITS para
determinar o propsito e contedo de um segmento

Cabealho TCP (cont.)




Principal funo do campo WINDOW


permitir o controle de fluxo:
Receptor controla o fluxo descrevendo ao
transmissor o tamanho atual do buffer em bytes
 Tambm chamado anncio de janela (window
advertisement)

Cada segmento, incluindo os segmentos de dados,


especificam o tamanho da janela alm do byte
reconhecido (ou seja, atualizam o tamanho do
buffer)
 Tamanho da janela pode ser zero (buffer cheio)

118

17/03/2015

Cabealho TCP (cont.)




CHECKSUM inclui todo o segmento


(cabealho e dados) e obrigatrio
(diferente do UDP)
Como o UDP, TCP tambm inclui pseudocabealho no CHECKSUM

Cabealho TCP (cont.)




URGENT POINTER marca o fim de dados


urgentes (depende do bit URG estar ativado)
Dados urgentes fazem parte do fluxo TCP normal
O receptor (TCP) deveria entregar os dados
urgentes aplicao assim que eles so recebidos,
independente de haver outros dados h mais tempo
no buffer
Para receber os dados urgentes, a aplicao colocada
em modo urgente e somente deve deixar esse modo
aps ler todos os dados (urgentes)

Controle de fluxo
Evita que o transmissor esgote os buffers do
receptor por transmitir muito, ou muito
rapidamente
 Receptor avisa explicitamente ao transmissor
da quantidade de espao livre disponvel, a qual
muda dinamicamente


campo WINDOW do cabealho TCP




Transmissor mantm a quantidade de dados


transmitidos, porm ainda no reconhecidos

119

17/03/2015

Controle de congestionamento


Congestionamento
Rede tem dificuldade (ou se torna incapaz) de
transmitir todo o trfego que recebe
Os roteadores tem suas filas (buffers)
sobrecarregadas

Sintomas de congestionamento:
Aumento significativo do atraso dos pacotes
(por entrarem em filas mais longas)
Perda de pacotes (por transbordo dos buffers)
 Principal mtrica usada atualmente na deteco e controle
de congestionamento

Controle de congestionamento (cont.)




Para (tentar) evitar


congestionamento,TCP:
Realiza uma sondagem da
capacidade efetiva da rede,
comeando com um segmento
Aumenta gradativamente sua
taxa de transmisso medida
que chegam novos
reconhecimentos (self-clocking)
Estabelece como limite superior
a janela de transmisso
anunciada (WINDOW)

Controle de congestionamento (cont.)




Quando o
congestionamento
ocorre, TCP:
Diminui abruptamente
a taxa de transmisso
E volta a aument-la
gradativamente

120

17/03/2015

Pilha TCP/IP e a Internet


Parte IV Mapeamento de endereos IP em endereos
fsicos (ARP)

Tpicos
Problema de resoluo de endereo
Mapeamento direto
 Associao dinmica
 ARP (Address Resolution Protocol)



Formato do pacote
Algoritmo
Cache

Justificativa
necessrio usar endereos (fsicos) de
hardware para comunicar em uma rede
 Aplicaes usam apenas endereos Internet


121

17/03/2015

Exemplo genrico
Computadores A e B na mesma rede (fsica)
Aplicao em A gera um pacote para
aplicao em B
 Software do protocolo em A deve usar o
endereo de hardware de B ao envi-lo um
pacote, logo:



Software do protocolo precisa de um mecanismo


que mapeie um endereo IP para endereo de
hardware equivalente
Tambm conhecido como problema de resoluo
de endereo

Resoluo de endereo
realizada em cada rede (fsica) ao longo
do caminho percorrido por um pacote na
Internet
 Duas abordagens


Mapeamento direto
Associao dinmica


Escolha depende do tipo de hardware

Mapeamento direto
Fcil de entender
 Eficiente
 Apenas funciona quando o endereo de
hardware menor que o endereo IP
 Consiste em atribuir um endereo IP que
codifica o endereo de hardware


122

17/03/2015

Exemplo de mapeamento direto


Hardware: rede em anel proNet
Endereo de hardware: 8 bits
 Supondo que a rede 200.150.50.0/24 seja
usada
 Se uma interface tem um endereo de
hardware N, o endereo IP 200.150.50.N pode
ser associada mesma
 Resolver um endereo IP significar extrair o
endereo de hardware do ltimo byte



Associao dinmica
Necessria quando endereo de hardware
maior que o endereo IP (ex.: Ethernet)
 Permite ao equipamento A encontrar o
endereo de hardware do equipamento B


A sabe endereo IP de B
A sabe que B est na mesma rede fsica


Soluo: difunde (broadcast) a consulta e


obtm a resposta
Associao dinmica usada ao longo de apenas
uma rede fsica por vez

Address Resolution Protocol (ARP)


Padro para resoluo dinmica de
endereos na Internet
 Exige suporte a difuso (broadcast) em
hardware
 Projetado para redes locais


ARP usado para mapear endereos dentro de


uma nica rede fsica, no entre mltiplas redes

123

17/03/2015

Funcionamento do ARP

A difunde uma requisio (consulta) em busca de B

B, e somente B, responde requisio

Funcionamento ARP (cont.)








Equipamento A difunde uma requisio com o


endereo IP de B
Todos equipamentos na rede fsica recebem a difuso
Apenas o equipamento B responde com seu endereo
fsico
Equipamento A adiciona endereo fsico de B sua
tabela (ARP)
Equipamento A entrega diretamente o pacote para B

Formato do pacote ARP


Hardware
IP

Exemplo: IP (verso 4) em uma rede Ethernet


HARDWARE TYPE: 1 (Ethernet)
PROTOCOL TYPE: 080016 (IP verso 4)
HLEN: 6 (bytes Ethernet)
PLEN: 4 (bytes IPv4)
OPERATION: 1 (requisio ARP) ou 2 (resposta ARP)

124

17/03/2015

Observaes sobre o formato do pacote


ARP
Campos de comprimento varivel, os quais
dependem dos tipos dos endereos, logo
 O ARP pode ser usado com:


Endereo de hardware arbitrrio


Endereo de protocolo arbitrrio (qualquer verso
do IP e at outros que no o IP)

Reteno de associaes
Por questes de desempenho o ARP
precisa evitar o envio de uma requisio
para cada pacote a ser enviado
 Soluo:


Manter uma tabela de associaes


O endereo resolvido uma vez e usado vrias

Cache ARP


Tabela ARP implementada como uma


memria cache
Entradas so adicionadas dinamicamente
Entradas envelhecem e so removidas
 Minimiza entradas desatualizadas

Entradas mudam e so atualizadas dinamicamente

125

17/03/2015

Algoritmo para processamento de


requisies ARP
1. Qualquer que seja o destino, extrai o par de
informaes da origem (IPA,HwA) e atualiza a entrada
na tabela ARP se esta existir
2. Se o destino o prprio equipamento ento:
2.1. Adiciona o par (IPA,HwA) tabela ARP se esta no estiver
presente
2.2. Preenche o destino com endereo de hardware
2.3.Troca as entradas de origem e destino
2.4. Muda o campo OPERATION para resposta (2)
2.5. Envia a resposta ARP de volta a origem

Caractersticas do algoritmo


Se A envia uma requisio ARP para B, B


adiciona informao sobre A (item 2.1.)
B provavelmente enviar um pacote para A

Se A envia uma requisio ARP para B,


outros equipamentos tambm recebem
informao sobre A e podem atualiz-la,
mas no a adicionam (item 1.)
Evita que o cache fique entupido sem
necessidade

Encapsulamento ARP


A mensagem ARP transportada dentro da


parte reservada ao pacote de rede em um
quadro, ou seja, sua rea de dados

126

17/03/2015

Pilha TCP/IP e a Internet


Parte V Inicializao e auto-configurao (RARP,
BOOTP e DHCP)

Tpicos
Atribuio de endereo IP
RARP (Reverse ARP)
 BOOTP (BOOTstrap Protocol)
 DHCP (Dynamic Host Configuration Protocol)



Atribuio de endereo IP


Esttica
Endereo IP armazenado em algum dispositivo
de armazenamento persistente (ex.: disco)
Em geral, exigido para alguns equipamentos
(ex.: servidores, roteadores)

Dinmica
Endereo IP obtido de um servidor
til para equipamentos simples (ex.: estaes
sem disco) ou o que permanecem ligados
intermitentemente

127

17/03/2015

Reverse Address Resolution Protocol (RARP)




Protocolo antigo
Exceto em uns poucos casos especiais, RARP foi
amplamente substitudo pelo DHCP

Projeto para atender computadores sem


disco
 Adaptado do protocolo ARP


Difunde (broadcast) requisio para servidor


Espera por resposta

Funcionamento do RARP

S1

S2

A difunde uma requisio em busca de um servidor

S1

S2

Um ou mais servidores na rede respondem

Identificao do cliente
Equipamento cliente precisa se identificar
 RARP usa o endereo de hardware com um
identificador nico


Funciona adequadamente apenas em redes que


possuem endereo de hardware permanentes

128

17/03/2015

BOOTstrap Protocol (BOOTP)





Uma alternativa ao RARP


Fornece mais que apenas um endereo IP
Obtm parmetros de configurao de um
servidor

Usa UDP

Uso da pilha antes da inicializao


BOOTP usado para obter parmetros de
configurao do IP, porm
 BOOTP usa IP e UDP para obter os
parmetros


Pilha precisa ser inicializada antes de ser inicializada?




De fato, BOOTP executa como uma aplicao


e precisa apenas de algumas facilidades bsicas
fornecidas por endereos especiais

Uso da pilha antes da inicializao (cont.)




Cliente BOOTP envia pacote com:


Endereo IP de destino com o valor de difuso limitada
(255.255.255.255)
 Endereo de hardware de destino tambm com valor de difuso

Endereo IP de origem com o valor deste host nesta rede (0.0.0.0)


 Endereo de hardware de origem com o endereo fsico da interface, o qual
conhecido

Servidor BOOTP responde com:


Endereo IP de destino com o valor de difuso limitada (255.255.255.255),
pois o cliente ainda no sabe seu endereo IP
 Endereo de hardware de destino com o valor fornecido pelo cliente

Endereos IP e de hardware de origem preenchidos da forma convencional

129

17/03/2015

Retransmisso BOOTP


Uma vez que o UDP usado, o cliente


BOOTP foi preparado manipular
retransmisses
sorteado um valor aleatrio para a
temporizao (timeout)
Caso no obtenha sucesso, so realizadas novas
tentativas, sendo que a cada nova o intervalo de
sorteio dobra
 O intervalo dobra at atingir um determinado valor,
passando a ficar fixo, porm ainda com sorteio aleatrio
dentro do mesmo

Formato da mensagem BOOTP

Campos da mensagem BOOTP










OP especifica se uma requisio (1) ou resposta (2)


HTYPE tipo de hardware (ex.: Ethernet = 1)
HLEN comprimento em bytes do endereo de hardware
(ex.: Ethernet = 6)
HOPS nmero de roteadores que a mensagem atravessa.
configura com 0 (zero) pelo cliente e incrementado caso
algum servidor a repasse para outro
TRANSACTION ID usado para casar requisies com
respostas
SECONDS quantidade de segundos desde que o cliente
comeou a inicializar

130

17/03/2015

Campos da mensagem BOOTP (cont.)


CLIENT IP ADDRESS endereo IP enviado pelo cliente
(ex.: 0.0.0.0)
 YOUR IP ADDRESS endereo IP fornecido pelo servidor
ao cliente
 BOOT FILE NAME descreve uma imagem de memria a
ser fornecida a um cliente sem disco
 VENDOR-SPECIFIC AREA contm informaes
opcionais a serem passadas do servidor para o cliente


Campos da mensagem BOOTP (cont.)




Itens de tamanho fixo do campo VENDOR-SPECIFIC AREA

Itens de tamanho fixo do campo VENDOR-SPECIFIC AREA

Atribuio dinmica de endereos




BOOTP assume um mapeamento um-para-um entre o


equipamento (endereo de hardware) e o endereo IP
Inviabiliza reaproveitamento ou reatribuio automtica de um
endereo IP para equipamentos diferentes

Mapeamento dinmico de endereos necessrio


(sobretudo, por ISPs)
Cliente obtm um endereo IP e usa temporariamente
Quando o cliente no precisa mais do endereo, o mesmo
deve estar disponvel para outro
 Otimiza o uso de um conjunto de endereos IP

131

17/03/2015

Extenso do BOOTP
BOOTP estendido para permitir
atribuio dinmica de endereos
 Novo protocolo chamado DHCP
(Dynamic Host Configuration Protocol)


Mantm compatibilidade retroativa com BOOTP

Dynamic Host Configuration Protocol (DHCP)




Pode atribuir endereos de trs formas:


Manual (semelhante ao BOOTP)
Automtica (endereo atribudo pelo servidor e o equipamento
retm o mesmo endereo)
Dinmica (endereo atribudo pelo servidor e o equipamento pode
obter endereos diferentes em requisies posteriores)

Administrador pode escolher o tipo atribuio para cada


endereo
 Alm do endereo IP permite que um host obtenha todos os
parmetros necessrios para se comunicar sem interveno
manual


DHCP oferece auto-configurao

Atribuio dinmica de endereos


Cliente recebe um arrendamento de endereo
Servidor especifica o tempo de arrendamento
 No fim do arrendamento, cliente deve renovlo ou parar de usar o endereo
 Aes so controladas por uma mquina de
estados finitos



Basicamente, um cliente DHCP difunde (broadcast)


uma mensagem para todos os servidores em uma
rede local, coleta as ofertas, seleciona uma e
negocia com o servidor

132

17/03/2015

Mquina de estados finitos do DCHP

Formato da mensagem DHCP

Campo FLAGS de fato apenas 1 bit usado para indicar se o


servidor deve responder atravs de broadcast (1) ou unicast (0)

Campo OPTIONS


Mesmo formato do campo VENDOR


SPECIFIC AREA do BOOTP
Mantm os mesmos itens definidos pelo
BOOTP e acrescenta um novo cdigo (53) para
as mensagens DHCP

133

17/03/2015

Pilha TCP/IP e a Internet


Parte VI Entrega de pacotes sem conexo (IP)

Tpicos



Conceitos
Pacote (ou datagrama) IP
Formato
Campos do cabealho
Encapsulamento
 Fragmentao e remontagem

Opes do IP

IP Internet Protocol
Principal protocolo da pilha TCP/IP
 Principais objetivos


Esconder a heterogeneidade da rede subjacente


Fornecer a iluso de uma nica grande rede

134

17/03/2015

Caractersticas do IP
Fornece um servio de entrega de pacotes
sem conexo
 Define trs itens importantes:


Esquema de endereamento
Formato do pacote
Encaminhamento do pacote

Pacote IP
Semelhante ao quadro da camada de enlace
Tambm conhecido como datagrama IP
 Layout:



Cabealho

rea de dados

Cabealho contm (entre outros):


 Endereo IP de origem
 Endereo IP de destino
 Tipo do pacote (ou contedo da rea de dados)

Formato do cabealho IP

135

17/03/2015

Campos do cabealho IP


VERSION (4 bits)

Decimal Palavra-chave
0
1-3
4
IP
5
ST
6
IPv6
(RFC1752)
7
TP/IX
(RFC1475)
8
PIP
(RFC1621)
9
TUBA
10-14
15

Verso
Reservado
No atribudo
Internet Protocol (RFC791)
ST Datagram Mode (RFC1190)
Internet Protocol version 6
TP/IX: The Next Internet
The P Internet Protocol
TUBA (RFC1347)
No atribudo
Reservado

*** De acordo com:

Campos do cabealho IP (cont.)




HLEN (4 bits) indica o comprimento do cabealho em palavras


de 32 bits (DWORD ou 4 bytes). O valor tpico 5 (ausncia de
opes) e o mximo 15 (cabealho fica limitado em 60 bytes,
sendo 40 bytes para opes)
TYPE OF SERVICE - TOS (8 bits) informa ao roteador como o
datagrama deve(ria) ser tratado e identifica algumas funes de
QoS como prioridade, atraso, vazo e confiabilidade
Bits 0 a 2: Precedence
Bit 3 (D):

0 = Normal Delay,

Bit 4 (T):

0 = Normal Throughput, 1 = High Throughput

1 = Low Delay

Bit 5 (R):

0 = Normal Reliability,

1 = High Reliability

Bits 6 e 7: Reservados

Campos do cabealho IP (cont.)





TOTAL LENGTH (16 bits) fornece o comprimento do pacote


IP, medido em bytes, incluindo o cabealho
IDENTIFICATION (16 bits) identifica o pacote IP entre os
outros transmitidos pelo equipamento. Identifica tambm todos
os fragmentos de um pacote original
FLAGS (3 bits)
Bit 0 (R ou Reserved) reservado
Bit 1 (DF ou Do not Fragment) determina se o pacote pode ser
fragmentado (=0), ou no (=1)
Bit 2 (MF ou More Fragments) indica se o fragmento o ltimo (=0) de
um pacote ou se existem mais (=1)

136

17/03/2015

Campos do cabealho IP (cont.)




FRAGMENT OFFSET (13 bits) informa o posicionamento do


fragmento em relao aos demais fragmentos. Indica a distncia
dos dados, desde o incio, no pacote original, em unidades de 8
bytes
TIME TO LIVE ou TTL (8 bits) indica o tempo de vida do pacote na
rede. Atualmente, significa o nmero saltos (hops ou roteadores)
que o pacote pode realizar antes de ser descartado
PROTOCOL (8 bits) identifica o protocolo que est ocupando a rea
de dados. Exemplos: ICMP=1,TCP=6, UDP=17

Campos do cabealho IP (cont.)








HEADER CHECKSUM (16 bits) assegura a integridade do


cabealho IP (apenas). gerado na origem e conferido a cada
roteador. Aps decrementar o valor do TTL o roteador gera um
novo valor e reenvia o pacote
SOURCE ADDRESS (32 bits) endereo IP do equipamento de
origem do pacote IP
DESTINATION ADDRESS (32 bits) endereo IP do
equipamento de destino (final) do pacote IP
OPTIONS (varivel de 0 a 320 bits) se existir contm
informaes adicionais relacionadas a roteamento, rotas, horrio
ou segurana

Encapsulamento do pacote IP
Pacote encapsulado dentro de um quadro de enlace
Hardware de rede trata o pacote como dados
 Um campo do cabealho do quadro deve identificar os
dados como um pacote IP



Exemplo: Ethernet descreve o IP pelo valor 0x0800

Cabealho IP

Cabealho
do quadro

rea de dados do IP

rea de dados do quadro

137

17/03/2015

Um problema potencial


Para se ter um transporte eficiente, cada pacote IP


deveria caber em um nico quadro (em qualquer
enlace ao longo do caminho)
Um pacote IP pode ter at 65535 bytes (incluindo o cabealho)
Hardware de rede limita o tamanho do quadro a valores menores
(geralmente)
 Ethernet transporta no mximo 1500 bytes
 Essa limitao conhecida como MTU (Maximum Transmission Unit)

Problema: Definir como pacote IP encapsulado se o


mesmo excede a MTU, sabendo que cada rede fsica pode
ter uma MTU diferente

Abordagens para o encapsulamento




Forar um tamanho de pacote que seja


menor que a menor MTU do caminho
Ineficiente
Difcil descobrir a menor MTU de um caminho

Acomoda pacotes de tamanho arbitrrio


Fragmentao e remontagem

Pacote IP maior que o quadro de enlace


O pacote IP dividido em novos pacotes IP,
fragmentos do original (fragmentao)
 Cada novo pacote IP cabe em um nico
quadro
 No destino final o processo revertido
(remontagem)


Perda de um nico fragmento leva a perda do


pacote original

138

17/03/2015

Exemplo da necessidade de
fragmentao

Hosts A e B enviam pacotes de at 1500 bytes


Roteador R1 fragmenta pacotes do host A (quando
necessrio) antes de enviar por Net 2
 Roteador R2 fragmenta pacotes do host B (quando
necessrio) antes de enviar por Net 2



Fragmentao do pacote


Realizada pelos roteadores


Divide os pacotes em outros pacotes, chamados fragmentos
Fragmentos usam o mesmo formato de cabealho de um
pacote convencional
 Apenas campos FLAGS e FRAGMENT OFFSET so modificados. Alm
passar a existir mais de um pacote com o mesmo valor em
IDENTIFICATION




Cada fragmento roteado de forma independente


Fragmentos podem ser divididos em fragmentos
menores se encontrarem redes com MTUs ainda
menores

Ilustrao da fragmentao
DF=0
MF=0

MF=1
MF=1
MF=0

(a) pacote IP com 1420 bytes (incluindo cabealho)


(b) precisa passar por uma rede com MTU de 620 bytes e,
portanto, dividido em trs fragmentos

139

17/03/2015

Remontagem


Destino final coloca os fragmentos juntos novamente


Conceito fundamental para o funcionamento de uma
interligao em redes sem conexo

No h necessidade montar subfragmentos antes, pois


o campo FRAGMENT OFFSET informa onde cada
pedao deve ficar
 Espera pelos fragmentos limitada


Um temporizador disparado quando chega o primeiro


fragmento
Se temporizador expirar o pacote inteiro descartado

Opes IP
Raramente usadas
Usadas em depurao da rede
 Tm tamanho varivel



Campo PADDING garante que o cabealho ser um mltiplo


de 32 bits, para atender o campo HLEN
Segue o formato TLV (Type Length Value), porm o type contm
algumas informaes adicionais
De fato, torna o processamento do pacote mais complexo
1 byte

1 byte

OPTION CODE

LENGTH

N bytes
DATA

Campo OPTION CODE

140

17/03/2015

Campo OPTION CODE (cont.)

Caractersticas do IP


IP oferece o melhor esforo (best-effort)


Faz o possvel para entregar
No garante a entrega

Na Internet, roteadores podem ficar sobrecarregados ou


mudar rotas, o que significa que:

Pacotes podem ser perdidos


Pacotes podem ser duplicados
Pacotes podem chegar fora de ordem ou serem embaralhados
Com essas caractersticas, o IP consegue operar sobre a mais
ampla variedade de redes fsicas

Pilha TCP/IP e a Internet


Parte VII Mensagens de controle e erro (ICMP)

141

17/03/2015

Tpicos



Erros em redes de pacotes


ICMP (Internet Control Message Protocol)

Caractersticas
Encapsulao
Formato da mensagem
Tipos de mensagens
 Exemplos

Erros em redes de pacotes




Algumas causas:

Desconexo temporria ou permanente


Falhas de hardware
Sobrecarga do roteador
Laos (loops) no roteamento

Necessidade de mecanismos para detectar


erros
Tambm so necessrios mecanismos para corrigir,
mas no so tratados aqui

ICMP (Internet Control Message


Protocol)







parte da camada de rede da pilha TCP/IP


Usado inicialmente por roteadores para reportar
origem problemas de entrega ou roteamento
Tambm usado para transmitir informaes de
controle, e no apenas relatos de erros
Usa o IP para transportar as mensagens
Mensagens que transportam relatos de erro no geram
novas mensagens desse tipo
Fornece a comunicao entre o software IP em um
equipamento (host ou roteador) e o software IP em outro
equipamento (host ou roteador)

142

17/03/2015

Relato de erro vs. Correo de erro




ICMP no
Fornece interao entre o equipamento que
envia a mensagem e a origem. H apenas um
relato do erro
Mantm informao de estado (cada pacote
manipulado independentemente)

Principal conseqncia
Ao receber a mensagem de erro, a origem pode
apenas informar uma aplicao ou tomar alguma
outra ao para corrigir o problema

Encapsulao ICMP
ICMP transportado dentro de um pacote
IP
 Toda a mensagem ICMP tratada como
dados pelo IP


Mensagem ICMP possui seu prprio cabealho


e rea de dados
 Em caso de mensagem erro, a rea de dados
transporta um fragmento do pacote que causou o
erro

Formato da mensagem ICMP




Mltiplos tipos de mensagens


So semelhantes, mas cada tipo tem um formato
prprio

Mensagens
Inicia com um campo TYPE (1 byte) o tipo
bsico da mensagem que segue
Algumas tm um campo CODE (1 byte) logo em
seguida que classifica a mensagem
Exemplo:
 TYPE = 3 (00000011) Destination Unreachable
 CODE = 1 (00000001) Host Unreachable

143

17/03/2015

Tipos mensagens ICMP


Campo TYPE
0
3
4
5
8
9
10
11
12
13
14
15
16
17
18

Mensagem ICMP
Echo Reply
Destination Unreachable
Source Quench
Redirect (change a route)
Echo Request
Router Advertisement
Router Solicitation
Time Exceeded for a Datagram
Parameter Problem on a Datagram
Timestamp Request
Timestamp Reply
Information Request (obsoleto)
Information Reply (obsoleto)
Address Mask Request
Address Mask Reply

Exemplos de mensagens ICMP

TYPE=8 (Echo Request) e TYPE=0 (Echo Reply), ambas com CODE=0 so


usadas pelo programa ping para testar alcanabilidade

TYPE=11 (Time Exceeded for a Datagram) pode informar duas situaes:


CODE=0 nmero de saltos do pacote foi excedido (Time-to-live count exceeded)
CODE=1 tempo de remontagem de um fragmento foi excedido (Fragment
reassembly time exceeded)

Exemplos de mensagens ICMP (cont.)

TYPE=3 (Destination Unreachable) pode descrever vrios problemas:


Campo CODE
Significado
0
1
2
3
4
5
6
7
8
9
10
11
12

Network unreachable
Host unreachable
Protocol unreachable
Port unreachable
Fragmentation needed and DF set
Source route failed
Destination network unknown
Destination host unknown
Source host isolated
Communication with destination network administratively prohibited
Communication with destination host administratively prohibited
Network unreachable for type of service
Host unreachable for type of service

144

17/03/2015

Detalhe sobre ICMP




Ao reportar erro, a mensagem ICMP inclui o pacote que


causou o problema
Eficiente (dado o erro e o pacote devolvido, a origem deve ser
capaz de determinar como corrigir o erro)
Elimina a necessidade de construir mensagens detalhadas

Problema: pacote que causou o problema pode ser muito


grande
 Soluo: enviar apenas o cabealho IP mais 64 bits da rea
de dados do IP, sendo suficiente na maioria dos casos


Exemplo: 64 bits da rea de dados do IP suficiente para informar as


portas de origem e destino dos protocolos UDP e TCP e, portanto, a
aplicao que causou o problema

Pilha TCP/IP e a Internet


Parte VIII Transporte sem conexo (UDP)

Tpicos
Identificao das aplicaes
 UDP


Formato do datagrama
Pseudo-cabealho
Encapsulao
Demultiplexao
Portas

145

17/03/2015

Identificao das aplicaes


Endereo IP identifica apenas uma interface
de comunicao
 necessrio uma forma de especificar uma
aplicao (processo) em um equipamento
 No entanto:


Cada sistema operacional possui uma forma de


identificar suas aplicaes
Aplicaes podem ser criadas e destrudas
rapidamente

Identificao das aplicaes (cont.)


TCP/IP introduz sua prpria especificao
definido um ponto de destino abstrato
conhecido como nmero de porta de
protocolo
 Cada sistema operacional determina
como associa um nmero de porta de
protocolo a uma aplicao especfica



User Datagram Protocol (UDP)


Protocolo da camada de transporte (camada 4)
Servio sem conexo: fornece s aplicaes a
capacidade de enviar e receber mensagens
 Permite mltiplas aplicaes em nico equipamento se
comunicarem concorrentemente
 Servio de melhor-esforo semelhante ao oferecido
pelo IP



Mensagens podem ser atrasadas, perdidas ou duplicadas


Mensagens podem chegar fora de ordem
Aplicaes devem aceitar total responsabilidade pelo tratamento
dos erros

146

17/03/2015

Formato do datagrama UDP

CHECKSUM verifica a rea de dados


Se o campo CHECKSUM possuir apenas zeros, receptor no faz a soma
de verificao (ou seja, uso de CHECKSUM opcional)





SOURCE PORT identifica a aplicao no equipamento de origem


DESTINATION PORT identifica a aplicao no equipamento de
destino final
MESSAGE LENGTH descreve o tamanho em bytes do datagrama
UDP, incluindo o cabealho

Pseudo-cabealho UDP
Usado ao calcular (na origem) ou checar (no
destino) a soma de verificao
 Temporariamente includo antes do cabealho
UDP
 Contm itens do cabealho IP
 Tenta garantir que a mensagem chegou ao
destino correto


Checa os endereos IP e portas UDP




Pseudo-cabealho no transmitido na rede

Contedo do pseudo-cabealho UDP

Os campos SOURCE IP ADDRESS e DESTINATION IP


ADDRESS descrevem os endereos dos equipamentos de
origem e destino final, respectivamente
 PROTO identifica o protocolo transportado pelo IP, no
caso, o prprio UDP
 LENGTH descreve o tamanho em bytes do datagrama UDP,
incluindo o cabealho
 ZERO usado para alinhamento do pseudo-cabealho em 32
bits (DWORD)


147

17/03/2015

Encapsulao

Diviso de tarefas entre IP e UDP


IP responsvel por transferir dados entre
um par hosts
 UDP responsvel por diferenciar entre
mltiplas origens ou destinos em um host
 Cabealho IP identifica apenas uma interface
de comunicao
 Cabealho UDP identifica aplicaes


Demultiplexao

Se baseia no nmero da porta do protocolo


UDP

148

17/03/2015

Atribuio de nmeros de porta UDP




Pequena quantidade reservada para


servios especficos
Tambm chamadas de portas bem-conhecidas
(well-known ports)
Mesma interpretao em toda Internet
 Usado pelo software servidor

Grande quantidade no reservada


Disponvel para quaisquer aplicaes
Usado pelo software cliente

Exemplos de portas UDP reservadas

Pilha TCP/IP e a Internet


Parte IX Transporte orientado a conexo (TCP)

149

17/03/2015

Tpicos

Caractersticas do TCP
Como o TCP fornece confiabilidade
Janela deslizante
Estabelecimento e encerramento de conexo TCP
Portas TCP, conexes e extremidades
Formato do segmento TCP
Retransmisso adaptativa

Controle de fluxo e congestionamento








Clculo do RTT
Slow start
Congestion avoidance
Fast recovery, Fast retransmit

Caractersticas do TCP


Orientao a fluxo
Fluxo sem estrutura (seqncia de bytes)

Transferncia bufferizada
Conexo full-duplex
 Confiabilidade
 Controle de fluxo e de congestionamento



Como o TCP fornece confiabilidade




Reconhecimento positivo com


retransmisso
Transmissor inicia um temporizador ao
transmitir um segmento
Receptor envia um reconhecimento quando o
segmento chega
Transmissor reenvia segmento se temporizador
expira antes da chegada do reconhecimento

150

17/03/2015

Reconhecimentos

Recuperao aps uma perda

Janela deslizante
Um protocolo simples de reconhecimento
positivo e retransmisso pacote-a-pacote
ineficiente, sobretudo medida que
aumenta a latncia
 Soluo:


Transmitir mltiplos pacotes antes de receber


um reconhecimento
Continuar controlando reconhecimentos e
temporizadores para cada pacote
Ou seja, usar janela deslizante

151

17/03/2015

Janela deslizante (cont.)

Um janela deslizante de tamanho adequado


consegue manter a rede saturada de
pacotes
Qual o tamanho adequado da janela?!

Janela deslizante (cont.)

Estabelecimento de conexo TCP

Aperto de mo de via tripla (3-Way


handshake)

152

17/03/2015

Encerramento de conexo TCP

Transferncia bufferizada
Aplicao

Aplicao

escreve
bytes

l
bytes

TCP

TCP

buffer de
transmisso

buffer de
recepo

segmento

segmento

segmento

Trs mecanismos determinam o envio de um segmento


Limiar (threshold) do buffer (MSS Maximum Segment Size)
Forado pela aplicao (push)
Temporizador

Abertura ativa e passiva


Cada conexo possui duas extremidades
 Uma extremidade espera por contato


Parte servidora da aplicao


Usa abertura passiva (passive open) do TCP


Uma extremidade inicia o contato


Parte cliente da aplicao
Usa abertura ativa (active open) do TCP

153

17/03/2015

Portas TCP, conexes e extremidades


Em cada extremidade de uma comunicao se encontra
uma aplicao
 Antes de estabelecer uma conexo, o TCP identifica uma
aplicao pela nmero da porta de protocolo
 Aps estabelecer uma conexo, a mesma passa a identificar
as aplicaes nas duas extremidades


possvel compartilhar uma porta TCP entre mltiplas conexes


no mesmo equipamento


Uma conexo identificada por quatro itens:


Endereo IP de origem
Porta TCP de origem
Endereo IP de destino
Porta TCP de destino

Formato do segmento TCP

Mquina de estados finitos do TCP

154

17/03/2015

Cabealho TCP
SOURCE PORT e DESTINATION PORT
identificam as aplicaes nas extremidades
da conexo TCP
 SEQUENCE NUMBER a posio no fluxo
de bytes do transmissor que est sendo
transportada no segmento
 ACKNOWLEDGEMENT NUMBER o nmero
do byte que a origem espera receber
 HLEN especifica o tamanho do cabealho do
segmento TCP, medido em DWORD (32 bits)


Cabealho TCP (cont.)




Alguns segmentos transportam apenas um


reconhecimento, enquanto outros carregam dados. H
segmentos que levam requisies para estabelecer ou
encerrar conexes. TCP usa o campo CODE BITS para
determinar o propsito e contedo de um segmento

Cabealho TCP (cont.)




Principal funo do campo WINDOW


permitir o controle de fluxo:
Receptor controla o fluxo descrevendo ao
transmissor o tamanho atual do buffer em bytes
 Tambm chamado anncio de janela (window
advertisement)

Cada segmento, incluindo os segmentos de dados,


especificam o tamanho da janela alm do byte
reconhecido (ou seja, atualizam o tamanho do
buffer)
 Tamanho da janela pode ser zero (buffer cheio)

155

17/03/2015

Cabealho TCP (cont.)




CHECKSUM inclui todo o segmento


(cabealho e dados) e obrigatrio
(diferente do UDP)
Como o UDP, TCP tambm inclui pseudocabealho no CHECKSUM

Cabealho TCP (cont.)




URGENT POINTER marca o fim de dados


urgentes (depende do bit URG estar ativado)
Dados urgentes fazem parte do fluxo TCP normal
O receptor (TCP) deveria entregar os dados
urgentes aplicao assim que eles so recebidos,
independente de haver outros dados h mais tempo
no buffer
Para receber os dados urgentes, a aplicao colocada
em modo urgente e somente deve deixar esse modo
aps ler todos os dados (urgentes)

Retransmisso adaptativa


Durante quanto tempo o transmissor deve


esperar pelo reconhecimento de um pacote?
Se valor fixo muito pequeno desperdcio com
restransmisses desnecessrias
Se valor fixo muito grande desperdcio de banda
passante ociosa
Alm disso:
 Atrasos em uma conexo variam ao longo do tempo, ou
seja, valor fixo no apropriado
 Atrasos variam entre conexes, ou seja, valor fixo no
apropriado

Soluo: retransmisso deve ser adaptativa

156

17/03/2015

Retransmisso adaptativa (cont.)


TCP mantm uma estimativa do tempo de
ida-e-volta (RTT Round-Trip Time) de cada
conexo
 Estimativa realizada com base no atraso
medido entre o envio do segmento e a
recepo do respectivo reconhecimento
 Temporizador para retransmisso se baseia
na estimativa do RTT


Retransmisso adaptativa (cont.)


Dificuldades

Segmentos ou reconhecimento podem ser perdidos ou


atrasados, tornando imprecisa a estimativa do RTT

RTT varia em vrias ordens de magnitude entre


diferentes conexes

Trfego em rajadas, os valores do RTT de uma


conexo variam de forma significativa

Abordagem

Esquemas de retransmisso adaptativa uma estimativa


do RTT estatisticamente suavizada

A suavizao evita que o valor mdio do RTT varie


muito e evita reaes exacerbadas do TCP

Clculo do RTT esquema original


RTT = alfa * RTT + (1 - alfa) * RTTamostra
Temporizador = beta * RTT
 Quanto maior o valor de alfa, menos a
estimativa de RTT suscetvel a amostras
recentes
 Quanto menor o valor de alfa, mais
rapidamente a estimativa de RTT reage a
amostras recentes
 Especificao original recomenda beta = 2

157

17/03/2015

Clculo do RTT problema com o esquema


original


Como associar reconhecimentos com


transmisses:
TCP reconhece o recebimento dos dados, no
das transmisses
 Assumir que um reconhecimento corresponde
transmisso mais recente pode causar instabilidade na
estimativa do RTT, pois pode haver amostras muito
pequenas e grande nmero de retransmisses
 Assumir que um reconhecimento corresponde
primeira transmisso pode levar a uma estimativa
excessivamente longa

Clculo do RTT esquema Partridge/Karn


Inicia (como no mtodo original) com o
temporizador em funo da estimativa do RTT
 Quando h retransmisso no atualiza
estimativa, mas aumenta o temporizador
(normalmente, por um fator de 2)


Novo_temporizador = gama * temporizador




Quando chega um reconhecimento de um


segmento no retransmitido, volta a recalcular
a estimativa do RTT e temporizador volta a
ser funo da mesma

Clculo do RTT mais mudanas




De acordo com teoria de filas:


sigma (variao do RTT) muda proporcionalmente a
1/(1 L), onde L a carga atual na rede e, 0 L 1
 Em 50% de capacidade (L=0,5), RTT varia por um fator de 2
* sigma, ou 4
 Em 80% de capacidade (L=0,8), RTT varia por um fator de 2
* sigma, ou 10

O esquema original no capaz de lidar com


alta carga, ou seja, grande variao do RTT
Exemplo: se beta = 2, o esquema original consegue
estimar o RTT adequadamente com carga at 30%

158

17/03/2015

Clculo do RTT mais mudanas (cont.)




Resumindo:
O fator de variao do RTT uma constante beta, fazendo
com esse esquema no consiga se adaptar a grandes variaes
do RTT (por no ser varivel)
 Usando beta = 2 (de acordo com o recomendado), medida que a
variao do RTT aumenta (ou seja, a carga na rede sobe), aumenta o
nmero de retransmisses e, portanto a carga na rede (e a variao do
RTT)

Portanto, necessrio tornar o fator varivel, e foi mostrado


que adequado usar a mdia e a varincia (de fato, o desvio)
para descrev-lo
 usado o desvio mdio, por ser uma aproximao do desvio padro
que mais fcil de calcular

Clculo do RTT mais mudanas (cont.)




Nova implementao:
DIFF = RTTamostra - RTT
RTT = RTT + delta * DIFF
DEV = DEV + delta * (|DIFF| - DEV)
Temporizador = mi * RTT + fi * DEV

DEV estima o desvio mdio


 delta uma frao entre 0 e 1 que
ajusta o peso da nova amostra
 Tipicamente, mi = 1 e fi = 4


Estimativa do RTT

159

17/03/2015

Estimativa do temporizador

RTO = Retransmission TimeOut

Controle de fluxo
Evita que o transmissor esgote os buffers do
receptor por transmitir muito, ou muito
rapidamente
 Receptor avisa explicitamente ao transmissor
da quantidade de espao livre disponvel, a qual
muda dinamicamente


campo WINDOW do cabealho TCP




Transmissor mantm a quantidade de dados


transmitidos, porm ainda no reconhecidos

Controle de congestionamento


Congestionamento
Rede tem dificuldade (ou se torna incapaz) de
transmitir todo o trfego que recebe
Os roteadores tem suas filas (buffers)
sobrecarregadas

Sintomas de congestionamento:
Aumento significativo do atraso dos pacotes
(por entrarem em filas mais longas)
Perda de pacotes (por transbordo dos buffers)
 Principal mtrica usada atualmente na deteco e controle
de congestionamento

160

17/03/2015

Controle de congestionamento (cont.)




Para (tentar) evitar


congestionamento,TCP:
Realiza uma sondagem da
capacidade efetiva da rede,
comeando com um segmento
Aumenta gradativamente sua
taxa de transmisso medida
que chegam novos
reconhecimentos (self-clocking)
Estabelece como limite superior
a janela de transmisso
anunciada (WINDOW)

Controle de congestionamento (cont.)




Quando o
congestionamento
ocorre, TCP:
Diminui abruptamente
a taxa de transmisso
E volta a aument-la
gradativamente

Controle de congestionamento (cont.)




Principais algoritmos de controle de congestionamento do


TCP
Slow start
Congestion Avoidance
Fast recovery, Fast retransmit

Variveis importantes:
AdvWin maior janela que o transmissor pode usar, descrita pelo
receptor no campo WINDOW
CongWin janela que o transmissor usa para monitorar o nvel de
congestionamento, sendo 1
TxWin = mnimo (AdvWin, CongWin)
Threshold limiar a partir do qual a CongWin deixa de ser tratada
pelo algoritmo Slow start e passa a ser definida pelo algoritmo
Congestion avoidance

161

17/03/2015

Controle de congestionamento (cont.)




Slow start
1) inicializa: CongWin = 1
2) para (cada_segmento_com_ACK)
3)

CongWin++

4) at (evento_de_perda OU CongWin > Threshold)


5) se (evento_de_perda) volta_ao_passo_1
6) seno congestion avoidance

Controle de congestionamento (cont.)




Congestion avoidance
1) At (evento_de_perda) {
2) para_cada_W_segmentos_reconhecidos:
3) CongWin++ }
4) Threshold = CongWin/2
5) Slow Start

Controle de congestionamento (cont.)




TCP obedece o princpio AIMD (Additive


Increase Multiplicative Decrease)
Incremento aditivo (enquanto no h perda de
pacote): CongWin++
Decremento multiplicativo (ao ocorrer uma perda):
CongWin = 1 e Threshold = CongWin/2

No entanto, os dois algoritmos bsicos so


muito conservadores
Fast recovery e Fast retransmit melhoram o
desempenho do TCP, mas mantm o AIMD

162

17/03/2015

Controle de congestionamento (cont.)




Fast retransmit
Adicionado mais tarde ao TCP para compensar os efeitos
da impreciso dos temporizadores
 Tipicamente entre 300 e 500ms por intervalo (tick)

Isto pode fazer com que uma conexo permanea inativa


por um longo perodo esperando expirao do
temporizador
O algoritmo fast retransmit permite a retransmisso
prematura de um pacote perdido antes da expirao do
temporizador
 Quando o transmissor recebe trs reconhecimentos duplicados,
TCP conclui que o pacote foi perdido e retransmite o mesmo

Controle de congestionamento (cont.)




Fast Recovery
Remove a fase slow start do TCP quando o
algoritmo fast retransmit sinaliza um
congestionamento
 Faz CongWin = CongWin/2
 E ento inicia o congestion avoidance

163