o que é uma pdu? É uma camada de protocolo. existem 7 pdu (aplicação, apresentação, sessão,...

90
o que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física).

Upload: luan-lindo

Post on 07-Apr-2016

224 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

o que é uma pdu?

• É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física).

Page 2: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

UDP x TCP

Page 3: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

1: Introdução 3

Borda da rede: serviço orientado a conexão

Objetivo: transferência de dados entre sistemas.

• handshaking: setup (prepara para) transferência de dados– Alô, alô protocolo humano de

telefone– setup “estado” em dois hosts

se comunicando• TCP - Transmission Control

Protocol – Serviço orientado a conexões

da Internet

serviço TCP [RFC 793]• confiável, transferência de dados

ordenada byte-stream– perdas: acknowledgements

(reconhecimentos) e retransmissões

• controle de fluxo: – emissor não pode “oprimir”o

receptor• controle de congestão

– emissores “reduzem a taxa de envio” qdo a rede está congestionada

Page 4: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

1: Introdução 4

Borda da rede: serviço sem conexão

Objetivo: transferência de dados entre sistemas finais– mesmo que o anterior!

• UDP - User Datagram Protocol [RFC 768]: serviço sem conexão da Internet– transferência de dados não-

confiável– sem controle de fluxo– sem controle de congestão

Aplics usando TCP: • HTTP (WWW), FTP (transf. arq.),

Telnet (login remoto), SMTP (email)

Aplics usando UDP:• streaming media,

teleconferencing, Internet telephony

Page 5: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

2: Camada de aplicação 5

Serviços do protocolo de transporte da Internet

serviço TCP:• orientado a conexão: necessário

setup entre cliente e servidor• transporte confiável entre

processos emissor e receptor• controle de fluxo: emissor não

“inunda” receptor• controle de congestão: reduz taxa

do emissor quando rede está sobrecarregada

• não fornece: garantias de tempo, e largura de banda mínima

serviço UDP:• transferência de dados não

confiável entre processos emissor e receptor

• não fornece: setup de conexão, confiabilidade, controle de fluxo, controle de congestão, garantias de tempo e de largura de banda

Page 6: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

2: Camada de aplicação 6

Internet aplics.: protocolos de aplic. e transporte

Aplicação

e-mailacesso a terminal remoto

Web transferência de arq.multimídia streaming

servidor de arq. remotoInternet telefonia

Protocolo da camadade aplicação

smtp [RFC 821]telnet [RFC 854]http [RFC 2068]ftp [RFC 959]proprietário(ex. RealNetorks)NFSproprietário(ex., Vocaltec)

Protocolo transporte subjacente

TCPTCPTCPTCPTCP ou UDP

TCP ou UDPtipicamente UDP

Page 7: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

3: Camada de Transporte 7

UDP: User Datagram Protocol [RFC 768]

• Protocolo de transporte da Internet mínimo, “sem frescura”,

• Serviço “melhor esforço”, segmentos UDP podem ser:– perdidos– entregues à aplicação fora de

ordem do envio• sem conexão:

– não há “setup” UDP entre remetente, receptor

– tratamento independente de cada segmento UDP

Por quê existe um UDP?• elimina estabelecimento de

conexão (o que pode causar retardo)

• simples: não se mantém “estado” da conexão no remetente/receptor

• pequeno cabeçalho de segmento

• sem controle de congestionamento: UDP pode transmitir o mais rápido possível

Page 8: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

Camadas de protocolos

Page 9: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

1: Introdução 9

“Camadas” de protocolosRedes são complexas! • muitas “peças”:

– hosts– roteadores– vários tipos de links– aplicações– protocolos– hardware, software

Questão: Existe alguma esperança em organizar a estrutura de rede?

Ou pelo menos a discussão sobre redes?

Page 10: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

1: Introdução 10

Por que usar camadas?Para lidar com sistemas complexos:• estrutura explícita permite identificar o relacionamento

entre peças do sistema complexo– modelo de referência em camadas facilita discussão

• modularização facilita manutenção e atualização do sistema– mudança na implementação de serviços de camadas

transparentes para o resto do sistema

• uso de camadas pode ser prejudicial?

Page 11: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

1: Introdução 11

Ilustração da Comunicação no Modelo OSI

Apresentação

Sessão

Transporte

Rede

Enlace

Física

Apresentação

Sessão

Transporte

Rede

Enlace

Física

protocolo de aplicação

protocolo de apresentação

protocolo de sessão

protocolo de transporte

protocolo de rede

DADOS

processo receptor

meio de transmissão de dados

Aplicação

processo emissor

DADOS AH

DADOS PH

DADOS SH

DADOS TH

DADOS NH

DADOS DH

BITS

Aplicação

Page 12: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

1: Introdução 12

Pilha de protocolos da Internet• aplicação: suporta aplicações de rede

– ftp, smtp, http• transporte: transferência de dados entre hosts

– tcp, udp• rede: roteamento de datagramas da origem para

destino– ip, protocolos de roteamento

• enlace: transferência de dados entre elementos de rede “vizinhos”– ppp, ethernet

• física: bits “no fio”

aplicação

transporte

rede

enlace

física

Page 13: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

1: Introdução 13

Camadas: comunicação lógica

aplicaçãotransporte

redeenlacefísica

aplicaçãotransporte

redeenlacefísica aplicação

transporterede

enlacefísica

aplicaçãotransporte

redeenlacefísica

redeenlacefísica

Cada camada:• distribuída• “entidades”

implementam funções de camadas em cada nó

• entidades executam ações, trocam mensagens com seus pares

Page 14: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

1: Introdução 14

Camadas: comunicação logica

aplicaçãotransport

redeenlacefísica

aplicaçãotransporte

redeenlacefísica aplicação

transporterede

enlacefísica

aplicaçãotransport

redeenlacefísica

redeenlacefísica

dados

dadosE.g.: transporte• pega dados da aplic.• adiciona endereço,

informação de confiabilidade p/ formar “datagrama”

• envia datagrama para seu par

• espera confirmação de recepção de seu par

• analogia: correio

dados

transporte

transporte

ack

Page 15: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

1: Introdução 15

Camadas: comunicação física

aplicaçãotransporte

redeenlacefísica

aplicaçãotransporte

redeenlacefísica aplicação

transporterede

enlacefísica

aplicaçãotransporte

redeenlacefísica

redeenlacefísica

dados

dados

Page 16: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

1: Introdução 16

Protocolo em camadas e dados

Cada camada recebe dados da camada acima• adiciona cabeçalho de informação para criar nova unidade

de dados• passa nova unidade de dados para camada abaixo

aplicaçãotransporte

redeenlacefísica

aplicaçãotransporte

redeenlacefísica

origem destino

MMMM

HtHtHnHtHnHl

MMMM

HtHtHnHtHnHl

mensagemsegmentodatagramaframe

Page 17: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

Volta N e retransmissão seletiva

Page 18: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

3: Camada de Transporte 18

Protocolos “dutados” (pipelined)Dutagem (pipelining): remetente admite múltiplos pacotes

“em trânsito”, ainda não reconhecidos– faixa de números de seqüência deve ser aumentada– buffers no remetente e/ou no receptor

• Duas formas genéricas de protocolos dutados: volta-N, retransmissão seletiva

Page 19: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

3: Camada de Transporte 19

Volta-NRemetente:• no. de seq. de k-bits no cabeçalho do pacote• admite “janela” de até N pacotes consecutivos não reconhecidos

• ACK(n): reconhece todos pacotes, até e inclusive no. de seq n - “ACK cumulativo”o pode receber ACKs duplicados (veja receptor)

• temporizador para todos pacotes em trânsito• timeout(n): retransmite pacote n e todos os pacotes com no.

de seq maiores na janela

Page 20: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

3: Camada de Transporte 20

Volta-N: remetente

Page 21: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

3: Camada de Transporte 21

Volta-N: receptor

receptor simples:• usa apenas ACK: sempre envia ACK para pacote recebido

bem com o maior no. de seq. em-ordem– pode gerar ACKs duplicados– só precisa se lembrar do expectedseqnum

• pacote fora de ordem: – descarta (não armazena) -> receptor não usa buffers!– manda ACK de pacote com maior no. de seq em-ordem

expectedseqnum=expectedseqnum+1

Page 22: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

3: Camada de Transporte 22

Volta-Nem ação

janela de 4

Page 23: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

3: Camada de Transporte 23

Retransmissão seletiva

• receptor reconhece individualmente todos os pacotes recebidos corretamente– armazena pacotes no buffer, conforme precisa, para posterior

entrega em-ordem à camada superior

• remetente apenas re-envia pacotes para os quais ACK não recebido– temporizador de remetente para cada pacote sem ACK

• janela do remetente– N nos. de seq consecutivos – outra vez limita nos. de seq de pacotes enviados, mas ainda não

reconhecidos

Page 24: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

3: Camada de Transporte 24

Retransmissão seletiva: janelas de remetente, receptor

Page 25: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

3: Camada de Transporte 25

Retransmissão seletiva

dados de cima:• se próx. no. de seq na janela,

envia pacote

timeout(n):• reenvia pacote n, reiniciar

temporizador

ACK(n) em [sendbase,sendbase+N]:

• marca pacote n “recebido”• se n for menor pacote não

reconhecido, avança base da janela ao próx. no. de seq não reconhecido

pacote n em [rcvbase, rcvbase+N-1]

• envia ACK(n)• fora de ordem: bufferiza• em ordem: entrega (tb.

entrega pacotes em ordem no buffer), avança janela p/ próxima pacote ainda não recebido

pacote n em [rcvbase-N,rcvbase-1]

• ACK(n)senão: • ignora

receptorremetente

Page 26: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

Informação cabeçalho

Page 27: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

3: Camada de Transporte 27

Mais sobre UDP• muito utilizado para apls. de meios

contínuos (voz, vídeo)– tolerantes de perdas– sensíveis à taxa de transmissão

• outros usos de UDP (por quê?):– DNS (nomes)– SNMP (gerenciamento)

• transferência confiável com UDP: incluir confiabilidade na camada de aplicação– recuperação de erro específica

à apl.!

porta origem porta dest.32 bits

Dados de aplicação

(mensagem)

Formato do segmento UDP

comprimento checksum

Comprimento embytes do

segmento UDP,incluindo cabeçalho

Page 28: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

3: Camada de Transporte 28

TCP: estrutura do segmento

no. porta origemno. porta dest 32 bits

dados daaplicação

(tam. variável)

número de seqüêncianúmero de

reconhecimentojanela receptorptr dados urg.checksum

FSRPAUtam.cab.

semuso

Opções (tam. variável)

URG: dados urgentes (pouco usados)

ACK: no. ACKválido

PSH: envia dados já(pouco usado)

RST, SYN, FIN:gestão de conexão

(comandos deestabelecimento,

liberação)

no. bytes rcpt queraceitar

contagem de dadospor bytes (não segmentos!)

checksum Internet

(como UDP)

Page 29: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

algoritmo de Dijkstra

estado de enlace x vetor de distancia

Page 30: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 30

Classificação de Algoritmos de Roteamento

Informação global ou descentralizada?Global:• todos roteadores têm info. completa de topologia, custos dos enlaces• algoritmos “estado de enlaces”

Decentralizada: • roteador conhece vizinhos diretos e custos até eles• processo iterativo de cálculo, troca de info. com vizinhos• algoritmos “vetor de distâncias”

Page 31: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 31

Um algoritmo de roteamento de “estado de enlaces” (EE)

Algoritmo de Dijkstra• topologia da rede, custos dos enlaces

conhecidos por todos os nós– realizado através de “difusão do

estado dos enlaces” – todos os nós têm mesma info.

• calcula caminhos de menor custo de um nó (“origem”) para todos os demais– gera tabela de rotas para aquele

nó• iterativo: depois de k iterações,

sabemos menor custo p/ k destinos

Notação:• c(i,j): custo do enlace do nó i

ao nó j. custo é infinito se não forem vizinhos diretos

• D(V): valor corrente do custo do caminho da origem ao destino V

• p(V): nó antecessor no caminho da origem ao nó V, imediatamente antes de V

• N: conjunto de nós cujo caminho de menor custo já foi determinado

Page 32: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 32

O algoritmo de Dijkstra

1 Inicialização: 2 N = {A} 3 para todos os nós V 4 se V for adjacente ao nó A 5 então D(V) = c(A,V) 6 senão D(V) = infinito 7 8 Repete9 determina W não contido em N tal que D(W) é o mínimo 10 adiciona W ao conjunto N 11 atualiza D(V) para todo V adjacente ao nó W e ainda não em N: 12 D(V) = min( D(V), D(W) + c(W,V) ) 13 /* novo custo ao nó V ou é o custo velho a V ou o custo do 14 menor caminho ao nó W, mais o custo de W a V */ 15 até que todos nós estejam em N

Page 33: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 33

Algoritmo de Dijkstra: exemplo

Passo0

N inicialA

D(B),p(B)2,A

D(C),p(C)5,A

D(D),p(D)1,A

D(E),p(E)infinito

D(F),p(F)infinito

A

ED

CB

F2

21 3

1

12

53

5

Page 34: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 34

Algoritmo de Dijkstra: exemplo

Passo01

N inicialA

AD

D(B),p(B)2,A2,A

D(C),p(C)5,A4,D

D(D),p(D)1,A

D(E),p(E)infinito

2,D

D(F),p(F)infinitoinfinito

A

ED

CB

F2

21 3

1

12

53

5

Page 35: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 35

Algoritmo de Dijkstra: exemplo

Passo012

N inicialA

ADADE

D(B),p(B)2,A2,A2,A

D(C),p(C)5,A4,D3,E

D(D),p(D)1,A

D(E),p(E)infinito

2,D

D(F),p(F)infinitoinfinito

4,E

A

ED

CB

F2

21 3

1

12

53

5

Page 36: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 36

Algoritmo de Dijkstra: exemplo

Passo0123

N inicialA

ADADE

ADEB

D(B),p(B)2,A2,A2,A

D(C),p(C)5,A4,D3,E3,E

D(D),p(D)1,A

D(E),p(E)infinito

2,D

D(F),p(F)infinitoinfinito

4,E4,E

A

ED

CB

F2

21 3

1

12

53

5

Page 37: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 37

Algoritmo de Dijkstra: exemplo

Passo01234

N inicialA

ADADE

ADEBADEBC

D(B),p(B)2,A2,A2,A

D(C),p(C)5,A4,D3,E3,E

D(D),p(D)1,A

D(E),p(E)infinito

2,D

D(F),p(F)infinitoinfinito

4,E4,E4,E

A

ED

CB

F2

21 3

1

12

53

5

Page 38: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 38

Algoritmo de Dijkstra: exemplo

Passo012345

N inicialA

ADADE

ADEBADEBC

ADEBCF

D(B),p(B)2,A2,A2,A

D(C),p(C)5,A4,D3,E3,E

D(D),p(D)1,A

D(E),p(E)infinito

2,D

D(F),p(F)infinitoinfinito

4,E4,E4,E

A

ED

CB

F2

21 3

1

12

53

5

Page 39: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 39

Iterativo, assíncrono: cada iteração local causada por:

mudança do custo do enlace local mensagem do vizinho: mudança de

caminho de menor custo para algum destino

Distribuído: cada nó avisa a seus vizinhos apenas quando muda seu caminho

de menor custo para qualquer destino

os vizinhos então avisam a seus vizinhos, se for necessário

espera (mudança no custo de mensagem do vizinho)

recalcula tabela de distâncias

se mudou o caminho de menor custo para qq. destino, avisa vizinhos

Cada nó:

Um algoritmo de roteamento de “vetor de distâncias” (VD)

Page 40: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 40

Algoritmo Vetor de Distâncias: exemplo

X Z12

7

Y

Page 41: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 41

Tabela de distâncias gera tabela de rotas

D ()

A

B

C

D

A

1

7

6

4

B

14

8

9

11

D

5

5

4

2

Ecusto ao destino via

dest

ino

A

B

C

D

A,1

D,5

D,4

D,4

enlace de saídaa usar, custo

dest

ino

Tabela de distâncias Tabela de rotas

Page 42: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

Endereçamento IP

Page 43: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 43

Endereçamento IP: introdução• endereço IP: ident. de

32-bits para interface de estação, roteador

• interface: conexão entre estação, roteador e enlace físico– roteador típico tem

múltiplas interfaces– estação pode ter

múltiplas interfaces– endereço IP associado à

interface, não à estação ou roteador

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

223.1.1.1 = 11011111 00000001 00000001 00000001

223 1 11

Page 44: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 44

Endereçamento IP• endereço IP:

– parte de rede (bits de mais alta ordem)

– parte de estação (bits de mais baixa ordem)

• O que é uma rede IP? (da perspectiva do endereço IP)– interfaces de dispositivos

com a mesma parte de rede nos seus endereços IP

– podem alcançar um ao outro sem passar por um roteador

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

Esta rede consiste de 3 redes IP(para endereços IP começando com 223, os primeiros 24 bits são a parte de rede)

LAN

Page 45: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 45

Endereçamento IPComo achar as redes?• desassociar cada

interface do seu roteador, estação

• criar “ilhas” de redes isoladas

223.1.1.1

223.1.1.3

223.1.1.4

223.1.2.2223.1.2.1

223.1.2.6

223.1.3.2223.1.3.1

223.1.3.27

223.1.1.2

223.1.7.0

223.1.7.1223.1.8.0223.1.8.1

223.1.9.1

223.1.9.2

Sistema interligadoconsistindo de

seis redes

Page 46: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 46

Endereços IP

0rede estação

10 rede estação

110 rede estação

1110 endereço multiponto

A

B

C

D

classe1.0.0.0 to127.255.255.255128.0.0.0 to191.255.255.255192.0.0.0 to223.255.255.255224.0.0.0 to239.255.255.255

32 bits

dada a noção de “rede”, vamos reexaminar endereços IP:endereçamento “baseado em classes”:

Page 47: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 47

parte deestação

Endereçamento IP: CIDR• Endereçamento baseado em classes:

– uso ineficiente e esgotamento do espaço de endereços– p.ex., rede da classe B aloca endereços para 65K estações, mesmo se

houver apenas 2K estações nessa rede

• CIDR: Classless InterDomain Routing– parte de rede do endereço de comprimento arbitrário– formato de endereço: a.b.c.d/x, onde x é no. de bits na parte de rede

do endereço

11001000 00010111 00010000 00000000

partede rede

200.23.16.0/23

Page 48: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 48

Endereços IP: como conseguir um?

Rede (parte de rede):• conseguir alocação a partir do espaço de

endereços do seu provedor IPBloco do 11001000 00010111 00010000 00000000 200.23.16.0/20 provedorOrganização 0 11001000 00010111 00010000 00000000 200.23.16.0/23

Organização 1 11001000 00010111 00010010 00000000 200.23.18.0/23

Organização 2 11001000 00010111 00010100 00000000 200.23.20.0/23 ... ….. …. ….

Organização 7 11001000 00010111 00011110 00000000 200.23.30.0/23

Page 49: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 49

Enviando um datagrama da origem ao destino

datagrama IP:

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

BE

aamposmisc

end. IPorigem

end. IP dest dados

datagrama permanece inalterado, enquanto passa da origem ao destino

campos de endereços de interesse aqui

rede dest. próx. rot. Nenlaces223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2

tabela de rotas em A

Page 50: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 50

Enviando um datagrama da origem ao destino

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

BE

Supomos um datagrama IP originando em A, e endereçado a B:

procura endereço de rede de B

descobre que B é da mesma rede que A

camada de enlace remeterá datagrama diretamente para B num quadro da camada de enlace B e A estão diretamente

ligados

rede dest. próx. rot. Nenlaces223.1.1 1......

camposdiv. 223.1.1.1223.1.1.3dados

tabela de rotas em A

Page 51: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 51

Enviando um datagrama da origem ao destino

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

BE

rede dest. próx. rot. Nenlaces......223.1.2 223.1.1.4 2

OrigemA, destino E: procura endereço de rede de

E E numa rede diferente

A, E não ligados diretamente

tabela de rotas: próximo roteador na rota para E é 223.1.1.4

camada de enlace envia datagrama ao roteador 223.1.1.4 num quadro da camada de enlace

datagrama chega a 223.1.1.4 continua…

camposdiv. 223.1.1.1223.1.2.2dados

tabela de rotas em A

Page 52: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 52

Enviando um datagrama da origem ao destino

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

BE

Chegando a 223.1.1.4, destinado a 223.1.2.2

procura endereço de rede de E

E fica na mesma rede que a interface 223.1.2.9 do roteador roteador, E estão

diretamente ligados camada de enlace envia

datagrama p/ 223.1.2.2 dentro de quadro de camada de enlace via interface 223.1.2.9

datagrama chega a 223.1.2.2!!! (oba!)

camposdiv. 223.1.1.1223.1.2.2dados dest. rot. Nenl. interface

...223.1.2 - 1 223.1.2.9...

rede próx.

Page 53: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 53

Formato do datagrama IP

ver comprimento

32 bits

dados (comprimento variável,

tipicamente um segmento TCP ou UDP)

ident. 16-bitschecksum Internet

sobre-vidaendereço IP de origem 32 bits

número da versão do protocolo IP

comprimento docabeçalho (bytes)

número máximode enlaces restantes

(decrementado a cada roteador)

parafragmentação/remontagem

comprimento total do datagrama(bytes)

protocolo da camadasuperior ao qual

entregar os dados

comp.cab

tipo deserviço

“tipo” dos dados (DS) bits início do fragmento

camadasuperior

endereço IP de destino 32 bitsOpções (se tiver) p.ex. temporizador,

registrar rotaseguida, especificarlista de roteadoresa visitar.

Page 54: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

fragmentação de rede

Page 55: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 55

IP: Fragmentação & Remontagem• cada enlace de rede tem MTU

(max.transmission unit) - maior tamanho possível de quadro neste enlace.– tipos diferentes de enlace têm

MTUs diferentes• datagrama IP muito grande

dividido (“fragmentado”) dentro da rede– um datagrama vira vários

datagramas– “remontado” apenas no

destino final– bits do cabeçalho IP usados

para identificar, ordenar fragmentos relacionados

fragmentação: entrada: um datagrama

grandesaída: 3 datagramas

menores

remontagem

Page 56: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 56

IP: Fragmentação & Remontagem

ID=x

início=0

bit_frag=0

compr=4000

ID=x

início=0

bit_frag=1

compr=1500

ID=x

início=1480

bit_frag=1

compr=1500

ID=x

início=2960

bit_frag=0

compr=1040

um datagrama grande viravários datagramas menores

Page 57: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

Sistemas autonomos

Page 58: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 58

Roteamento na Internet• A Internet Global consiste de Sistemas Autonônomos (SAs)

interligados entre si:– SA Folha: empresa– SA de Trânsito: provedor

• Roteamento em dois níveis: – Intra-SA: administrador é responsável pela escolha– Inter-SA: padrão único

Page 59: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 59

Roteamento Intra-SA

• Também conhecido como Interior Gateway Protocols (IGP) (protocolos de roteamento interno)

• Os IGPs mais comuns são:

– RIP: Routing Information Protocol

– OSPF: Open Shortest Path First

– IGRP: Interior Gateway Routing Protocol (proprietário da Cisco)

Page 60: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 60

RIP (Routing Information Protocol)

• Algoritmo vetor de distâncias (comunicação apenas com nós vizinhos)

• Incluído na distribuição do BSD-UNIX em 1982• Métrica de distância: # de enlaces• Vetores de distâncias: trocados a cada 30 seg via Mensagem

de Resposta (tb chamada de anúncio)

Page 61: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 61

RIP (Routing Information Protocol)

Rede Destino Próximo Roteador No. de enlaces ao destino w A 2

y B 2 z B 7

x -- 1…. …. ....

w x y

z

A

C

D B

Tabela de rotas em D

...

Page 62: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 62

OSPF (Open Shortest Path First)

• “open” (aberto): publicamente disponível• Usa algoritmo do Estado de Enlaces

– disseminação de pacotes EE– Mapa da topologia a cada nó– Cálculo de rotas usando o algoritmo de Dijkstra

• Anúncio de OSPF inclui uma entrada por roteador vizinho• Anúncios disseminados para SA inteiro (via inundação)

• Usado na UFSC !!!

Page 63: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 63

Roteamento Inter-SA

Page 64: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 64

Roteamento inter-SA na Internet: BGP

• BGP (Border Gateway Protocol): o padrão de fato• Protocolo Vetor de Caminhos :

– semelhante ao protocolo de Vetor de Distâncias

– cada Border Gateway (roteador de fronteira) difunde aos vizinhos (pares) caminho inteiro (i.é., seqüência de SAs) ao destino

– p.ex., roteador de fronteira X pode enviar seu caminho ao destino Z:

Path (X,Z) = X,Y1,Y2,Y3,…,Z

Page 65: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 65

Roteamento inter-SA na Internet: BGP

Supomos: roteador X envia seu caminho para roteador para W• W pode ou não selecionar o caminho oferecido por X

– razões de custo, políticas (não roteia via o SA de um concorrente), evitar ciclos.

• Se W seleciona caminho anunciado por X, então:Caminho (W,Z) = W, Caminho (X,Z)

• Note: X pode controlar tráfego de chegada através do controle dos seus anúncios de rotas aos seus pares:– p.ex., se não quero receber tráfego para Z -> não

anuncia rotas para Z• mensagens BGP trocadas usando TCP.

Page 66: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 66

Por quê há diferenças entre roteamento Intra- e Inter-SA?

Políticas: • Inter-SA: administração quer controle sobre como tráfego

roteado, quem transita através da sua rede. • Intra-AS: administração única, logo são desnecessárias

decisões políticas

Escalabilidade:• roteamento hierárquico economiza tamanho de tabela de

rotas, reduz tráfego de atualização

Desempenho: • Intra-AS: pode focar em desempenho• Inter-AS: políticas podem ser mais importantes do que

desempenho

Page 67: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

4: Camada de Rede 67

Sumário de Arquitetura de RoteadoresDuas funções chave de roteadores:

• usam algoritmos/protocolos de roteamento (RIP, OSPF, BGP)

• comutam datagramas do enlace de entrada para a saída

Page 68: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

CRC

Page 69: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

Verificação de Redundância Cíclica

• encara os bits de dados, D, como um número binário• escolhe um padrão gerador de r+1 bits, G • objetivo: escolhe r CRC bits, R, tal que

– <D,R> é divisível de forma exata por G (módulo 2) – receptor conhece G, divide <D,R> por G. Se o resto é diferente de zero:

erro detectado!– pode detectar todos os erros em seqüência (burst errors) com

comprimento menor que r+1 bits• largamente usado na prática (ATM, HDCL)

padrão de bits

fórmulamatemática

bits de dados a enviar

Page 70: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

Exemplo de CRCCálculo do código do

checksum polinomial G:

1 0 0 1 1x4 + x+1

Aritmética polinomial ignora “vai-um” (carries/borrows) da adição e subtração.

Operações são idênticas ao Ou Exclusivo:

10011011 11110000+ 11001010 - 10100110 ------------ ------------ 01010001 01010110

Page 71: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

• Bit rate X baud rate• Manchester

• Baseband X broadband• 3 tipos de modulação possivel (fase,

amplitude e frenquencia)

Page 72: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

Banda Base X Banda Larga• Baseband (banda base):

-Suporte de transmissão usado por um único canal, que ocupa todo o espectro de freqüências

• Broadband (banda larga):

-Suporte de comunicação dividido em múltiplos canais, com sinais modulados

-Requer MODEM (modulador / demodulador) => caro

Page 73: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

1: Introdução 73

Chaveamento de circuitos: FDMA e TDMA

FDMA

freqüência

tempo

TDMA

freqüência

tempo

4 usuários

Exemplo:

Page 74: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

Bit-rate X Baud-rate

• Taxa de transmissão (bit rate): número de bits transmitidos por segundo, expressa em bps (bits per second).

• Taxa de sinalização (baud rate): número de intervalos de sinalização (mudanças de amplitude) por segundo do sinal, expressa em bauds.

• Se usarmos uma amplitude para 0 e outra para 1, então baudrate = bitrate.

• Se utilizarmos um nível de amplitude para 2 bits (dibits), então baudrate = bitrate/2.

• Se usarmos um nível de amplitude para 3 bits (tribits), então baudrate = bitrate/3.

• Para codificar n bits agrupados em um mesmo nível de amplitude, são necessários 2n amplitudes.

Page 75: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

Bit-rate X Baud-rate

• Relação entre baudrate e bitrate:– n = número de bits representados por cada nível de amplitude.– L = número de níveis de amplitude necessários = 2n

– bitrate = log2 L . baudrate

• Exemplos:

• Isto explica como um modem capaz de gerar apenas 9.600 intervalos de sinalização por segundo (9.600 baud) pode transmitir 28.800 bps: ele opera com tribits, ou seja, 3 bits codificados em 8 níveis de tensão.

Baudrate n L Bitrate 9.600 Bauds 1 2 9.600 bps 9.600 Bauds 2 (dibit) 4 19.200 bps 9.600 Bauds 3 (tribit) 8 28.800 bps

Page 76: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

Modulação (broadband)

Banda base

Broadband

• Possível combinar técnicas– Ex. QAM-16 (Quadrature Amplitude Modulation) combina 4 amplitudes e 4 fases,

permitindo 16 valores por transição do sinal. Ou seja, 4 bits por baud (24 = 16); bitrate = 4 * baud rate

amplitude

fase

freqüência

Page 77: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

Codificação e Sincronização de Bits (Baseband)

1

0

tempo de subida tempo de descida

tempo bit instante de amostragem

- transmissão serial de dados requer sincronização entre emissor e receptor => receptor tem que amostrar sinal na mesma freqüência em que este foi gerado- freqüência do sinal define o “tempo bit” (intervalo de sinalização)- amostragem deve ocorrer aprox. no meio do tempo bit

Page 78: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

Codificação e sincronização de bits

- sinal de sincronização pode ser enviado em fio separado daquele que envia a mensagem => funciona bem, permite altas freqüências de transmissão, mas mais caro- requer cabo com 4 fios => 2 para dados e 2 para sinal de sincronização

Page 79: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

Codificação e sincronização de bits

- outra opção: codificar na própria mensagem sinais que geram sincronização- transições (flancos) facilmente detectáveis eletronicamente- outras formas de codificação de bits foram criadas para este fim:

- Codificação RZ (Return to Zero): +12V

-12V

0V

1 1 0 0 1

tempo bit

Page 80: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

Codificação e Sincronização de Bits

(a)

+12V

-12V

tempo bit

Lógico 1

(b)

+12V

-12V

tempo bit

Lógico 0

trem de sinais(c)

1 1 1 0 0 1

- Codificação Manchester :

Obs.: baudrate = 2 x bitrate!

Page 81: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

Codificação Manchester de Banda Básica

• Banda básica significa que não se usa modulação de portadora; ao invés disto, bits são codificados usando codificação Manchester e transmitidos diretamente, modificando a voltagem de sinal de corrente contínua

• Codificação Manchester garante que ocorra uma transição de voltagem a cada intervalo de bit, ajudando sincronização entre relógios do remetente e receptor

Page 82: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

Codificação e Sincronização de Bits - Codificação Manchester diferencial

1 0 0 1 1 1 0 1

tempo bit

Page 83: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

Controle de congestionamento

Page 84: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

3: Camada de Transporte 84

Princípios de Controle de Congestionamento

Congestionamento:• informalmente: “muitas fontes enviando muitos dados

muito rapidamente para a rede poder tratar”• diferente de controle de fluxo!• manifestações:

– perda de pacotes (esgotamento de buffers em roteadores)

– longos atrasos (enfileiramento nos buffers dos roteadores)

• um dos 10 problemas mais importantes em redes!

Page 85: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

3: Camada de Transporte 85

Causas/custos de congestionamento:• Mesmo se roteadores com fila infinita:• grandes retardos qdo. congestionada• vazão máxima do enlace alcançável

• Um roteador, buffers finitos• retransmissão pelo remetente de pacote perdido

• Emissores “mágicos” que só retransmitem qdo pacotes perdidos?

• Um roteador, buffers finitos• retransmissão pelo remetente de pacote perdido

Outro “custo” de congestionamento: • quando pacote é descartado, qq. capacidade de

transmissão já usada (antes do descarte) para esse pacote foi desperdiçada!

Page 86: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

3: Camada de Transporte 86

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim :

• não tem realimentação explícita pela rede

• congestionamento inferido das perdas, retardo observados pelo sistema terminal

• abordagem usada pelo TCP

Controle de congestionamento com apoio da rede:

• roteadores realimentam os sistemas terminais– bit único indicando

congestionamento (SNA, DECbit, ATM)

– taxa explícita p/ envio pelo remetente

Duas abordagens amplas para controle de congestionamento:

Page 87: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

3: Camada de Transporte 87

TCP: Controle de Congestionamento• controle fim a fim (sem apoio da rede)• taxa de transmissão limitada pela tamanho da janela de

congestionamento, Congwin:

• w segmentos, cada um c/ MSS bytes, enviados por RTT:

Vazão (throughput) = w * MSS

RTT Bytes/sec

Congwin

Page 88: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

3: Camada de Transporte 88

TCP: Controle de Congestionamento

• duas “fases”– partida lenta– evitar congestionamento

• variáveis importantes:o Congwino threshold: define limiar

entre fases de partida lenta, controle de congestionamento

• “sondagem” para banda utilizável: – idealmente: transmitir o

mais rápido possível (Congwin o máximo possível) sem perder pacotes

– aumentar Congwin até perder pacotes (congestionamento)

– perdas: diminui Congwin, depois volta a à sondagem (aumento) novamente

Page 89: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

3: Camada de Transporte 89

TCP: Partida lenta

• aumento exponencial (por RTT) no tamanho da janela (não muito lenta!)

• evento de perda: temporizador

inicializa: Congwin = 1for (cada segmento c/ ACK) Congwin++until (evento de perda OR CongWin > threshold)

Estação A

um segmento

RTT

Estação B

tempo

dois segmentos

quqtro segmentos

Algoritmo Partida Lenta

Page 90: O que é uma pdu? É uma camada de protocolo. Existem 7 PDU (Aplicação, apresentação, sessão, transporte, rede, enlace, física)

3: Camada de Transporte 90

TCP: Evitar Congestionamento

/* partida lenta acabou */ /* Congwin > threshold */Until (event de perda) { cada w segmentos reconhecidos: Congwin++ }threshold = Congwin/2Congwin = 1faça partida lenta

1

Evitar congestionamento