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

Slides:



Advertisements
Apresentações semelhantes
O Modelo OSI O RM-OSI é um modelo de referência p/ interconexão de sistemas abertos (open systems interconection) Padrão ISO 7498, publicado em 1984 Sistemas.
Advertisements

Capítulo 3: Camada de Transporte
TCP: Visão geral RFCs: 793, 1122, 1323, 2018, 2581 ponto a ponto:
Redes de computadores I
Missão da camada de enlace Serviços oferecidos TCP UDP
2.10) Os elementos básicos de uma Rede
Capítulo 3: Camada de Transporte
Redes de computadores I
Bruno Rafael de Oliveira Rodrigues
Redes I Os Protocolos Prof. Dr. Amine BERQIA
Redes de Computadores e Sistemas Distribuídos
URL: Redes Prof. Edgard Jamhour URL:
Capítulo 3: Camada de Transporte
Roteamento na Internet
TCP: Visão geral RFCs: 793, 1122, 1323, 2018, 2581 ponto a ponto:
Capítulo 3: Camada de Transporte
MODELO DE REFERÊNCIA OSI
TCP Serviço de Transporte Confiável
Protocolos e Divisão em Camadas
Introdução as Redes de Computadores
Paulo Roberto Freire Cunha
Comutação Comutação ou chaveamento em uma rede de comunicação refere-se a alocação de recursos da rede (meios de transmissão e equipamentos) para a envio.
Modelo OSI OSI é um modelo de referência para interligação de sistemas abertos (open systems interconection) Padrão ISO 7498, publicado em 1984 Sistemas.
Modelos de Referência.
Obtenção de IP TCP UDP.
Universidade do Vale do Rio dos Sinos - São Leopoldo -
REVISÃO MÓDULO 3(Camada de Transporte)
Software de Rede Willamys Araújo.
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Modelo de referência OSI
Kraemer CCNA 1 – Roteamento e Sub-redes. Kraemer Roteamento e Sub-redes Introdução Protocolo roteado Visão geral de roteamento Endereçamento de sub-redes.
Roteamento Disciplina de Redes de Computadores II
CCNA Exploration Camada de Rede OSI.
Interconexão e Transporte em Redes
Redes Aula 7 Professor: Marcelo Maia.
Camada de Transporte OSI
REDES DE COMPUTADORES Prof. Deivson
Uma descrição detalhada da rede
Aula 64 – TEC 11ºF Redes de computadores Prof. António dos Anjos.
Aula 2 Arquitetura & Protocolos
Capítulo 3: Camada de Transporte
O Modelo OSI Guilherme Guimarães.
Camada de Transporte prof. Eduardo.
Capítulo 4: Camada de Rede
Formato do datagrama IP
Comunicação de dados Protocolos básicos de enlace de dados.
Protocolos de Janela Deslizante
UNEMAT-FACIEX MODELOS DE REFERÊNCIA Dr. José Raúl Vento 2005.
Prof. Carlos Roberto da Silva Filho, M. Eng.
Border Gateway Protocol
Redes de Computadores Prof Rafael Silva.
Módulo 3 Implantação do IPv6.
1) A camada de transporte provê comunicação lógica entre hosts.
Administração e Projeto de Redes
Introdução à camada de rede
Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA
Arquitetura TCP/IP Aplicação Transporte Rede Enlace Física.
Rede de Computadores MAT164 – Redes de Computadores I Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação.
Redes de computadores e a Internet
Protocolos de Comunicação e Passagem de Mensagens
Arquitetura em Camadas
COMUNICAÇÃO ENTRE OS MÓDULOS PROCESSADORES
Revisão Comunicação; Protocolo; Conceitos e Elementos de uma Rede;
Curso Superior em Redes de Computadores Roteamento IP UNICAST DINÂMICO Prof. Sales Filho.
Prof. Ivair Teixeira Redes de Computadores.
Redes de Computadores e Aplicações – Camada de Rede Protocolos de Roteamento IGOR ALVES.
Redes de Computadores e Aplicações – Camada de Rede IGOR ALVES.
Curso Superior em Redes de Computadores
Redes de Computadores e Aplicações – Camada de Rede Protocolos de Roteamento dinâmico RIP IGOR ALVES.
Centro Federal de Educação Tecnológica do RN Redes de Computadores Curso Superior em Redes de Computadores Camada de Rede Roteamento IP UNICAST Prof. Sales.
Transcrição da apresentação:

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

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 1: Introdução

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 1: Introdução

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 2: Camada de aplicação

Internet aplics.: protocolos de aplic. e transporte Protocolo da camada de aplicação smtp [RFC 821] telnet [RFC 854] http [RFC 2068] ftp [RFC 959] proprietário (ex. RealNetorks) NFS (ex., Vocaltec) Protocolo transporte subjacente TCP TCP ou UDP tipicamente UDP Aplicação e-mail acesso a terminal remoto Web transferência de arq. multimídia streaming servidor de arq. remoto Internet telefonia 2: Camada de aplicação

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 3: Camada de Transporte

Camadas de protocolos

“Camadas” de protocolos Redes 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? 1: Introdução

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? 1: Introdução

Ilustração da Comunicação no Modelo OSI 1: Introdução

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 1: Introdução

Camadas: comunicação lógica Cada camada: distribuída “entidades” implementam funções de camadas em cada nó entidades executam ações, trocam mensagens com seus pares aplicação transporte rede enlace física 1: Introdução

Camadas: comunicação logica dados E.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 aplicação transport rede enlace física transporte transporte ack dados dados transporte 1: Introdução

Camadas: comunicação física dados aplicação transporte rede enlace física rede enlace física aplicação transporte rede enlace física dados aplicação transporte rede enlace física aplicação transporte rede enlace física 1: Introdução

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 origem destino aplicação transporte rede enlace física aplicação transporte rede enlace física M H t n l mensagem M H t n l segmento datagrama frame 1: Introdução

Volta N e retransmissão seletiva

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 3: Camada de Transporte

Volta-N Remetente: 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” 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 3: Camada de Transporte

Volta-N: remetente 3: Camada de Transporte

Volta-N: receptor receptor simples: expectedseqnum=expectedseqnum+1 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 3: Camada de Transporte

Volta-N em ação janela de 4 3: Camada de Transporte

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 3: Camada de Transporte

Retransmissão seletiva: janelas de remetente, receptor 3: Camada de Transporte

Retransmissão seletiva remetente receptor 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 3: Camada de Transporte

Informação cabeçalho

Formato do segmento UDP Mais sobre UDP Comprimento em bytes do segmento UDP, incluindo cabeçalho 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.! 32 bits porta origem porta dest. comprimento checksum Dados de aplicação (mensagem) Formato do segmento UDP 3: Camada de Transporte

TCP: estrutura do segmento no. porta origem no. porta dest 32 bits dados da aplicação (tam. variável) número de seqüência número de reconhecimento janela receptor ptr dados urg. checksum F S R P A U tam. cab. sem uso Opções (tam. variável) URG: dados urgentes (pouco usados) contagem de dados por bytes (não segmentos!) ACK: no. ACK válido PSH: envia dados já (pouco usado) no. bytes rcpt quer aceitar RST, SYN, FIN: gestão de conexão (comandos de estabelecimento, liberação) checksum Internet (como UDP) 3: Camada de Transporte

algoritmo de Dijkstra estado de enlace x vetor de distancia

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” 4: Camada de Rede

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 4: Camada de Rede

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 Repete 9 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 4: Camada de Rede

Algoritmo de Dijkstra: exemplo Passo N inicial A 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 E D C B F 2 1 3 5 4: Camada de Rede

Algoritmo de Dijkstra: exemplo Passo 1 N inicial A AD D(B),p(B) 2,A D(C),p(C) 5,A 4,D D(D),p(D) 1,A D(E),p(E) infinito 2,D D(F),p(F) infinito A E D C B F 2 1 3 5 4: Camada de Rede

Algoritmo de Dijkstra: exemplo Passo 1 2 N inicial A AD ADE D(B),p(B) 2,A D(C),p(C) 5,A 4,D 3,E D(D),p(D) 1,A D(E),p(E) infinito 2,D D(F),p(F) infinito 4,E A E D C B F 2 1 3 5 4: Camada de Rede

Algoritmo de Dijkstra: exemplo Passo 1 2 3 N inicial A AD ADE ADEB D(B),p(B) 2,A D(C),p(C) 5,A 4,D 3,E D(D),p(D) 1,A D(E),p(E) infinito 2,D D(F),p(F) infinito 4,E A E D C B F 2 1 3 5 4: Camada de Rede

Algoritmo de Dijkstra: exemplo Passo 1 2 3 4 N inicial A AD ADE ADEB ADEBC D(B),p(B) 2,A D(C),p(C) 5,A 4,D 3,E D(D),p(D) 1,A D(E),p(E) infinito 2,D D(F),p(F) infinito 4,E A E D C B F 2 1 3 5 4: Camada de Rede

Algoritmo de Dijkstra: exemplo Passo 1 2 3 4 5 N inicial A AD ADE ADEB ADEBC ADEBCF D(B),p(B) 2,A D(C),p(C) 5,A 4,D 3,E D(D),p(D) 1,A D(E),p(E) infinito 2,D D(F),p(F) infinito 4,E A E D C B F 2 1 3 5 4: Camada de Rede

Um algoritmo de roteamento de “vetor de distâncias” (VD) 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 Cada nó: 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 4: Camada de Rede

Algoritmo Vetor de Distâncias: exemplo Z 1 2 7 Y 4: Camada de Rede

Tabela de distâncias gera tabela de rotas 1 7 6 4 14 8 9 11 5 2 E custo ao destino via destino enlace de saída a usar, custo A B C D A,1 D,5 D,4 destino Tabela de distâncias Tabela de rotas 4: Camada de Rede

Endereçamento IP

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.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.2.2 223.1.1.3 223.1.3.27 223.1.3.1 223.1.3.2 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1 4: Camada de Rede

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.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.2.2 223.1.1.3 223.1.3.27 LAN 223.1.3.1 223.1.3.2 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) 4: Camada de Rede

Endereçamento IP Como achar as redes? desassociar cada interface do seu roteador, estação criar “ilhas” de redes isoladas 223.1.1.1 223.1.1.2 223.1.1.4 223.1.1.3 223.1.9.2 223.1.7.0 223.1.9.1 223.1.7.1 223.1.8.1 223.1.8.0 223.1.3.2 223.1.3.1 223.1.3.27 223.1.2.6 Sistema interligado consistindo de seis redes 223.1.2.1 223.1.2.2 4: Camada de Rede

Endereços IP dada a noção de “rede”, vamos reexaminar endereços IP: endereçamento “baseado em classes”: classe A 1.0.0.0 to 127.255.255.255 rede estação B 128.0.0.0 to 191.255.255.255 10 rede estação 192.0.0.0 to 223.255.255.255 C 110 rede estação 224.0.0.0 to 239.255.255.255 D 1110 endereço multiponto 32 bits 4: Camada de Rede

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 parte de rede parte de estação 11001000 00010111 00010000 00000000 200.23.16.0/23 4: Camada de Rede

Endereços IP: como conseguir um? Rede (parte de rede): conseguir alocação a partir do espaço de endereços do seu provedor IP Bloco do 11001000 00010111 00010000 00000000 200.23.16.0/20 provedor Organizaçã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 4: Camada de Rede

Enviando um datagrama da origem ao destino tabela de rotas em A rede dest. próx. rot. Nenlaces 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 datagrama IP: aampos misc end. IP origem end. IP dest dados 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.2 223.1.3.1 223.1.3.27 A B E datagrama permanece inalterado, enquanto passa da origem ao destino campos de endereços de interesse aqui 4: Camada de Rede

Enviando um datagrama da origem ao destino tabela de rotas em A campos div. rede dest. próx. rot. Nenlaces 223.1.1 1 ... 223.1.1.1 223.1.1.3 dados 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 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.2 223.1.3.1 223.1.3.27 A B E 4: Camada de Rede

Enviando um datagrama da origem ao destino tabela de rotas em A campos div. rede dest. próx. rot. Nenlaces ... 223.1.2 223.1.1.4 2 223.1.1.1 223.1.2.2 dados 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… 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.2 223.1.3.1 223.1.3.27 A B E 4: Camada de Rede

Enviando um datagrama da origem ao destino dest. rot. Nenl. interface ... 223.1.2 - 1 223.1.2.9 rede próx. campos div. 223.1.1.1 223.1.2.2 dados 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!) 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.2 223.1.3.1 223.1.3.27 A B E 4: Camada de Rede

Formato do datagrama IP comprimento total do datagrama (bytes) número da versão do protocolo IP 32 bits comprimento do cabeçalho (bytes) comp. cab tipo de serviço ver comprimento para fragmentação/ remontagem “tipo” dos dados (DS) início do fragmento ident. 16-bits bits número máximo de enlaces restantes (decrementado a cada roteador) sobre- vida camada superior checksum Internet endereço IP de origem 32 bits endereço IP de destino 32 bits protocolo da camada superior ao qual entregar os dados Opções (se tiver) p.ex. temporizador, registrar rota seguida, especificar lista de roteadores a visitar. dados (comprimento variável, tipicamente um segmento TCP ou UDP) 4: Camada de Rede

fragmentação de rede

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 grande saída: 3 datagramas menores remontagem 4: Camada de Rede

IP: Fragmentação & Remontagem ID =x início =0 bit_frag compr =4000 um datagrama grande vira vários datagramas menores 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 4: Camada de Rede

Sistemas autonomos

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 4: Camada de Rede

Roteamento Intra-SA RIP: Routing Information Protocol 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) 4: Camada de Rede

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) 4: Camada de Rede

RIP (Routing Information Protocol) z w ... x y A D B C Rede Destino Próximo Roteador No. de enlaces ao destino w A 2 y B 2 z B 7 x -- 1 …. …. .... Tabela de rotas em D 4: Camada de Rede

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 !!! 4: Camada de Rede

Roteamento Inter-SA 4: Camada de Rede

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 4: Camada de Rede

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. 4: Camada de Rede

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 4: Camada de Rede

Sumário de Arquitetura de Roteadores Duas funções chave de roteadores: usam algoritmos/protocolos de roteamento (RIP, OSPF, BGP) comutam datagramas do enlace de entrada para a saída 4: Camada de Rede

CRC

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órmula matemática bits de dados a enviar

Cálculo do código do checksum polinomial G: Exemplo de CRC Cálculo do código do checksum polinomial G: 1 0 0 1 1 x4 + 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

3 tipos de modulação possivel (fase, amplitude e frenquencia) Bit rate X baud rate Manchester Baseband X broadband 3 tipos de modulação possivel (fase, amplitude e frenquencia)

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

Chaveamento de circuitos: FDMA e TDMA 4 usuários Exemplo: FDMA freqüência tempo TDMA freqüência tempo Two simple multiple access control techniques. Each mobile’s share of the bandwidth is divided into portions for the uplink and the downlink. Also, possibly, out of band signaling. As we will see, used in AMPS, GSM, IS-54/136 1: Introdução

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.

Bit-rate X Baud-rate Relação entre baudrate e bitrate: Exemplos: 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.

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 freqüência fase

Codificação e Sincronização de Bits (Baseband) - 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

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

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):

Codificação e Sincronização de Bits - Codificação Manchester : Obs.: baudrate = 2 x bitrate!

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

Codificação e Sincronização de Bits - Codificação Manchester diferencial 1 1 1 1 1 tempo bit

Controle de congestionamento

Princípios de Controle de 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! 3: Camada de Transporte

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! 3: Camada de Transporte

Abordagens de controle de congestionamento Duas abordagens amplas para 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 3: Camada de Transporte

TCP: Controle de Congestionamento controle fim a fim (sem apoio da rede) taxa de transmissão limitada pela tamanho da janela de congestionamento, Congwin: Congwin w segmentos, cada um c/ MSS bytes, enviados por RTT: Vazão (throughput) = w * MSS RTT Bytes/sec 3: Camada de Transporte

TCP: 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 duas “fases” partida lenta evitar congestionamento variáveis importantes: Congwin threshold: define limiar entre fases de partida lenta, controle de congestionamento 3: Camada de Transporte

TCP: Partida lenta Estação A Estação B Algoritmo Partida Lenta um segmento inicializa: Congwin = 1 for (cada segmento c/ ACK) Congwin++ until (evento de perda OR CongWin > threshold) RTT dois segmentos quqtro segmentos aumento exponencial (por RTT) no tamanho da janela (não muito lenta!) evento de perda: temporizador tempo 3: Camada de Transporte

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