Redes de computadores II - 1.Arquitetura TCP/IP

4,077 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,077
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
334
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Redes de computadores II - 1.Arquitetura TCP/IP

  1. 1. Arquitetura de Protocolos TCP/IP Prof. Mauro Tapajós
  2. 2. Protocolo IP <ul><li>A tônica dos protocolos TCP/IP era compor um conjunto que viabilizasse uma rede que fosse robusta e automaticamente se recuperasse de falhas em nós ou links
  3. 3. Protocolo usado na Internet para unir todos os tipos heterogêneos de redes que a compõem
  4. 4. Esta opção permite a construção de redes de grande porte com pouco gerenciamento centralizado - interconexão
  5. 5. Pacotes e datagramas possuem o mesmo sentido no âmbito do IP. É uma rede “best-effort” (melhor esforço): podem ocorrer atrasos, pacotes fora de ordem, danificação e perda de pacotes. Camadas de protocolos superiores devem tratar destes problemas </li></ul>
  6. 6. Protocolo IP <ul><li>Os roteadores encaminham pacotes da origem ao destino dentro da rede toda (global) e não só dentro da tecnologia de rede
  7. 7. Entrega de pacotes de tamanhos variados de um host para outro, mesmo se estiverem em redes diferentes
  8. 8. Realiza fragmentação e remontagem , define formato dos pacotes e algoritmos de encaminhamento de pacotes
  9. 9. Existe uma tendência a se rodar tudo sobre IP
  10. 10. IMP’s numa rede IP são roteadores e operam em modo datagrama (sem conexão) </li></ul>
  11. 11. Operação a Nível de Camada de Rede IP
  12. 12. MTU - Maximum Transmission Unit <ul><li>Cada tecnologia de rede que implementa a subrede possui o seu próprio MTU Ethernet: 1518 bytes FDDI: 4500 bytes Token Ring: 2 to 4 kB
  13. 13. Cada subrede tem um tamanho máximo de datagrama IP (cabeçalho + payload) = MTU </li></ul>O D Rede 1 MTU=1500 Rede 2 MTU=1000 R
  14. 14. Protocolo IP <ul><li>Prevê um esquema de endereçamento hierárquico
  15. 15. Executa procedimentos de fragmentação e remontagem
  16. 16. Define um algoritmo de encaminhamento de pacotes
  17. 17. É uma rede “ best-effort ” (melhor esforço): podem ocorrer atrasos, pacotes fora de ordem, danificação e perda de pacotes. Camadas de protocolos devem tratar destes problemas
  18. 18. Cabe ao protocolo IP definir um nível de encaminhamento rápido e flexível de pacotes </li></ul>
  19. 19. Arquitetura TCP/IP
  20. 20. Exemplos de Aplicações na Internet <ul><li>Correio Eletrônico
  21. 21. Terminal Remoto
  22. 22. Transferência de Arquivos
  23. 23. Newsgroups
  24. 24. Compartilhamento de Arquivos
  25. 25. Distribuição de Recursos
  26. 26. WWW - World Wide Web
  27. 27. Vídeo-conferência
  28. 28. Jogos online </li></ul>
  29. 29. Exemplo – Rede IP
  30. 30. Camadas Envolvidas
  31. 31. Rede IP: Exemplo
  32. 32. Rede IP: Exemplo Protocolo IP interconectando redes de tecnologias Ethernet, FDDI e PPP
  33. 33. Endereços IP <ul><li>Únicos para toda a rede
  34. 34. Se uma máquina muda de rede dentro da rede TCP/IP, normalmente ela deve alterar seu endereço IP
  35. 35. Máquinas com várias interfaces de rede deve ter um endereço IP para cada interface </li></ul>
  36. 36. Tipos de Endereços IP
  37. 37. Aspectos de Endereços IP <ul><li>Endereços normalmente reservados </li><ul><li>Endereços da rede em questão – Endereços com os bits da parte HOST iguais a zero
  38. 38. Endereços de broadcast na rede em questão – Endereços com os bits da parte HOST iguais a um </li></ul><li>Nem todos os endereços possíveis foram atribuídos a classes
  39. 39. Endereços classe A 127.*.*.* são chamados de loopback e são reservados para: </li><ul><li>Teste de aspectos do TCP/IP
  40. 40. Comunicação inter-processo na mesma máquina </li></ul><li>Pacotes com endereços de loopback como os acima não devem ser encontrados numa rede </li></ul>
  41. 41. Endereços IP reservados Utilizados para fins especiais
  42. 42. Como Obter Endereços IP? <ul><li>Se for prevista conexão com a Internet, deve-se usar endereços “válidos”
  43. 43. O órgão responsável em atribuir endereços IP válidos, domínios e parâmetros de protocolos para as várias organizações é o ICANN ( Internet Corporation for Assigned Names and Numbers )
  44. 44. Estes serviços eram prestados anteriormente pela IANA ( Internet Assigned Numbers Authority )
  45. 45. No Brasil, organização responsável pela atribuição de endereços Internet válidos é a FAPESP em São Paulo (também é responsável em atribuir domínios, AS, etc) </li></ul>registro.br
  46. 46. Subredes <ul><li>Endereçamento baseado em classes não é eficiente por que é grande a demanda de endereços de rede classe B
  47. 47. Pode-se utilizar sub-divisões das classes B e C para organizar subredes dentro de uma região de rede atendida pelo endereçamento B ou C
  48. 48. Cria um segundo nível de hierarquia de forma que uma “máscara de subrede” indique que parte dos bits do endereço representam a subrede </li></ul>
  49. 49. Subredes <ul><li>Roteadores utilizam a máscara de subrede para indicar destinos possível nas suas tabelas de roteamento
  50. 50. Criam hierarquias de 3 níveis
  51. 51. Podem ser criadas sem necessidade de se notificar o NIC (autoridade que designa endereços para a Internet)
  52. 52. Subdivide uma rede de forma particular e controlada pelo dono da rede </li></ul>Rede Host
  53. 53. Subredes: Exemplo Nesta rede classe B, 6 bits do terceiro byte são reservados à endereçamento de subredes
  54. 54. Subredes (exemplo)
  55. 55. Broadcasting <ul><li>Utiliza endereços com bits todos 1’s em determinadas partes
  56. 56. Endereços broadcast : </li><ul><li>Limited - 255.255.255.255
  57. 57. Net-direct – netid.255.255 (exemplo: classe B)
  58. 58. Subnet-direct – netid.subnetid.255 (exemplo de rede classe B com 8 bits alocados para subredes) </li></ul><li>Só faz sentido se usado por protocolo que permita broadcasting (UDP, ARP, DHCP, etc)
  59. 59. Deve ser usado com cuidado – sobrecarrega a rede </li></ul>
  60. 60. ARP ( Address Resolution Protocol ) <ul><li>Como saber para que equipamento mandar se somente temos um endereço IP global?
  61. 61. TCP/IP suporta qualquer tecnologia de rede com quaisquer endereços de camada 2
  62. 62. Endereços físicos podem ser fixos (Ethernet) ou configuráveis
  63. 63. O ARP mapeia endereços de rede IP em endereços de camada de enlace (físicos) - IP ->MAC
  64. 64. Baseado em broadcasts em nível de enlace
  65. 65. Usado para se saber qual endereço MAC está usando um IP
  66. 66. Entradas no cache são temporizadas
  67. 67. Proxy ARP (configurável) -> roteadores </li></ul>
  68. 68. ARP
  69. 69. ARP <ul><li>Encapsulado diretamente no quadro
  70. 70. Cache de resolução de endereços mantido em cada host
  71. 71. Broadcast: </li><ul><li>Inclui endereços IP e Físico do host origem
  72. 72. Hosts receptores atualizam seu cache </li></ul></ul>Header ARP Data Quadro
  73. 73. RARP ( Reverse Address Resolution Protocol ) <ul><li>Permite que um determinado endereço MAC saiba seu IP (MAC ->IP)
  74. 74. Utilizado principalmente por hosts diskless
  75. 75. É feito via um broadcast de nível de enlace na rede (endereço MAC composto somente por 1’s)
  76. 76. Necessidade de haver um servidor RARP em cada rede
  77. 77. Formato de quadro igual ao ARP
  78. 78. A evolução do RARP como protocolo de “boot” de máquinas sem IP foram o BOOTP ( Bootstrap Protocol ) e o DHCP ( Dynamic Host Configuration Protocol ) </li></ul>
  79. 79. ICMP ( Internet Control Message Protocol ) <ul><li>IP sozinho não provê serviços para detectar falhas e efetuar testes
  80. 80. Permite comunicação de controle e sinalização de erros entre software IP de roteadores e hosts
  81. 81. Alerta de eventos na rede e monitoramentos
  82. 82. Destino das mensagens ICMP -> IP software (e não uma aplicação)
  83. 83. Todas as implementações IP devem também implementar ICMP
  84. 84. Algumas funções: </li><ul><li>Anúncio de erros de rede
  85. 85. Anúncio problemas de congestionamento
  86. 86. Auxílio no diagnóstico de problemas
  87. 87. Informe de timeouts </li></ul></ul>
  88. 88. ICMP – Tipos de Mensagens
  89. 89. ICMP <ul><li>Encapsulado pelo IP mas ainda parte da camada de rede
  90. 90. O cabeçalho ICMP é composto de: </li><ul><li>Tipo (8 bits) : tipo da mensagem
  91. 91. Código (8 bits) : parâmetros específicos
  92. 92. Checksum (16 bits) : check da mensagem ICMP toda
  93. 93. Parâmetros (32 bits) : parâmetros específicos </li></ul></ul>Data Header Quadro Data Header Datagrama Data Header ICMP
  94. 94. Valores ICMP
  95. 95. Formatos de Mensagens ICMP
  96. 96. Alguns Usos Específicos do ICMP <ul><li>Mensagens de Echo request/reply (comando “ping”) </li><ul><li>Usada para testar se um host está “vivo”
  97. 97. Usado para se saber os hosts num segmento
  98. 98. Podem calcular o tempo de envio e recebimento da resposta </li></ul><li>Pedidos de máscara de endereço
  99. 99. Aviso de destino inalcançável na rede </li><ul><li>Endereço inválido para o equipamento </li></ul><li>Aviso de Timeout TTL de pacotes </li><ul><li>Muitos saltos no pacote o expiraram no seu percurso ao destino (não é usado em pacotes multicast !) </li></ul><li>Utilitário traceroute </li></ul>
  100. 100. Ping ICMP R1 R2 R3 A B Time Echo request Echo reply
  101. 101. traceroute <ul><li>O comando traceroute grava as rotas tomadas pelos pacotes
  102. 102. Quando um pacote chega num roteador e seu campo TTL chega a zero, é enviada uma mensagem ICMP de time exceeded
  103. 103. Incrementando o campo TTL ele consegue receber mensagens time exceeded de forma a registrar e mapear o caminho sendo dado pela rede para determinado endereço de destino
  104. 104. Continua até chegar no destino ou uma mensagem de erro ocorrer </li></ul>
  105. 105. traceroute R1 R2 R3 A B TTL=1, Dest = B, port = invalid TTL=2, Dest = B TTL=3, Dest = B TTL=4, Dest = B Te (R1) Te (R2) Te (R3) Pu (B) Time Te = Time exceeded Pu = Port unreachable
  106. 106. O que o IP não faz? <ul><li>Criação de circuitos lógicos (seu serviço é sem conexão – datagrama)
  107. 107. Comunicação confiável fim-a-fim e controle de fluxo fim-a-fim (protocolos de nível superior – TCP ou protocolos de aplicação)
  108. 108. Detecção de erros nos payload dos pacotes (TCP, UDP ou outros)
  109. 109. Sinalização de erros e alterações (ICMP)
  110. 110. Montagem de tabelas de roteamento (RIP, OSPF, BGP)
  111. 111. Resolução e mapeamento de endereços e nomes (ARP, RARP, DNS)
  112. 112. Configuração automática de endereços (BOOTP, DHCP)
  113. 113. Suporte à grupos e roteamento multicast (IGMP, MBONE) </li></ul>
  114. 114. Alguns Protocolos de Suporte ao IP <ul><li>ARP ( Address Resolution Protocol )
  115. 115. RARP ( Reverse Address Resolution Protocol )
  116. 116. ICMP ( Internet Control Message Protocol )
  117. 117. IGMP ( Internet Group Management Protocol )
  118. 118. RSVP ( Resource Reservation Protocol )
  119. 119. RIP ( Routing Information Protocol )
  120. 120. OSPF ( Open Shortest Path First )
  121. 121. BGP ( Border Gateway Protocol )
  122. 122. EGP ( Exterior Gateway Protocol ) </li></ul>
  123. 123. Alguns protocolos da Suíte TCP/IP
  124. 124. Protocolos de Transporte TCP/IP <ul><li>Comunicação fim-a-fim numa rede interconectada
  125. 125. No conjunto de protocolos TCP/IP temos a oferta de serviço orientado a conexão e confiável (protocolo TCP) e serviço não- orientado a conexão baseado em datagrama ( protocolo UDP) </li></ul>
  126. 126. Protocolos de Transporte TCP/IP
  127. 127. Protocolos de Transporte TCP/IP
  128. 128. Protocolo TCP <ul><li>Baseado na transferência de sequências de bytes entre buffers de transmissão e recepção
  129. 129. Bem projetado: não mudou muito desde sua aparição nos anos 60
  130. 130. Suporta aplicações básicas como TELNET, FTP e correio eletrônico
  131. 131. Especifica o formato dos dados e confirmações usadas na transferência daqueles, garantindo a correta entrega dos dados de clientes a servidores e vice-versa
  132. 132. Implementa suporte para detecção de erros e disparo de retransmissões quando necessário
  133. 133. Permite que múltiplas aplicações num sistema possam se comunicar concorrentemente tratando a operação multiplexada </li></ul>
  134. 134. Encapsulamento do Protocolo TCP
  135. 135. Conexões TCP <ul><li>Baseado no conceito de sockets ( endpoints )
  136. 136. Um socket em TCP é identificado por uma porta e o endereço IP da máquina
  137. 137. Um mesmo socket pode suportar várias conexões ao mesmo tempo
  138. 138. Não suporta multicasting e broadcasting (sempre é ponto-a-ponto e full-duplex )
  139. 139. Cada conexão é identificada pelos números dos sockets nas duas pontas
  140. 140. Sockets é também o nome de uma biblioteca de subrotinas que provê acesso às facilidades TCP/IP </li></ul>
  141. 141. Protocolo TCP <ul><li>Uso de segmentos (cabeçalho TCP mais um ou mais bytes de dados a serem transmitidos)
  142. 142. Numera individualmente os bytes sendo transmitidos para controle de fluxo
  143. 143. Utiliza um esquema de janela deslizante para confirmar a informação recebid a
  144. 144. Caso um segmento seja maior que 65495 bytes (limite do pacote IP=64k) ou maior que o MTU da rede, ele deve ser fragmentado pelo roteador (podendo gerar problemas de confirmação e remontagem na recepção) </li></ul>
  145. 145. Software TCP
  146. 146. Algumas Portas Conhecidas ( Well-Known )
  147. 147. Multiplexação TCP <ul><li>Várias aplicações rodam nos hosts ao mesmo tempo. A definição de que aplicação se comunicará com qual aplicação de outra máquina é descrita pelo endereço de aplicação (porta) definida a nível de transporte </li></ul>
  148. 148. Protocolo UDP ( User Datagram Protocol ) <ul><li>Descrito na RFC 768 com posteriores evoluções
  149. 149. Oferece às aplicações a capacidade de enviar pacotes IP encapsulados por um protocolo de transporte sem conexão
  150. 150. Basicamente oferece a capacidade de endereçamento de aplicação em portas ao protocolo IP </li></ul>
  151. 151. Protocolo UDP Utilizado quando: <ul><li>É necessário o envio de mensagens de multicast ou broadcast
  152. 152. O overhead gerado por procedimentos de conexão é injustificado ou não é tolerado pela aplicação em uso
  153. 153. Aplicações de amostragem de dados (Ex.: sensores)
  154. 154. Serviços request-response (a aplicação toma a responsabilidade de verificar mensagens que não chegam)
  155. 155. Aplicações de tempo-real onde temporização é o mais importante </li></ul>
  156. 156. Arquitetura TCP/IP
  157. 157. Algumas Aplicações e Serviços TCP/IP <ul><li>Domain Name System - DNS : resolve nomes em endereços IP
  158. 158. File Transfer Protocol - FTP : envio de arquivos entre sistemas
  159. 159. Terminal Emulation Protocol – Telnet : cria terminais remotos
  160. 160. Simple Mail Transfer Protocol - SMTP : envio de mensagens de correio eletrônico
  161. 161. Simple Network Management Protocol - SNMP : protocolo para gerenciamento de redes
  162. 162. Hypertext Transfer Protocol - HTTP : troca de informações em formato hipertexto
  163. 163. Network File System - NFS : sistemas de arquivos remotos </li></ul>
  164. 164. Arquitetura TCP/IP
  165. 165. BOOTP ( Bootstrap Protocol ) <ul><li>É um protocolo que permite que um host obtenha seu endereço IP dinamicamente
  166. 166. Permite que o administrador da rede tenha o controle sobre os endereços
  167. 167. Mais eficiente que o RARP por que uma única mensagem do protocolo define várias opções como o endereço do host , a máscara de subrede e o endereço do gateway padrão, ...
  168. 168. O servidor deve ter a informação a ser passada previamente configurada (não é dinâmico)
  169. 169. Trabalha na camada de aplicação usando serviços da camada UDP, logo é um protocolo de APLICAÇÃO </li></ul>
  170. 170. DHCP ( Dynamic Host Configuration Protocol ) <ul><li>Permite que um dispositivo conectado à rede saiba automaticamente sua configuração de rede, incluindo seu endereço IP
  171. 171. É um superconjunto do BOOTP agregando mais funcionalidades e parâmetros
  172. 172. Logo, pode utilizar relays BOOTP de roteadores
  173. 173. Utiliza o mesmo formato de mensagem do BOOTP
  174. 174. Procedimento diferente de inicialização do host (discovery)
  175. 175. Oferece pools de endereços IP e a oferta de leased IP’s
  176. 176. Oferece ainda a possibilidade de se reservar determinados IP’s para servidores e roteadores </li></ul>
  177. 177. <ul><li>Serviço usado para mapear nomes usados por aplicações em endereços IP de 32 bits
  178. 178. Endereços IP não são práticos de se usar
  179. 179. É um sistema distribuído onde é montada uma árvore hierárquica de nomes </li></ul>Domain Name Service (DNS)
  180. 180. WWW - World Wide Web <ul><li>Conceito proposto por Tim Berners-Lee in 1989
  181. 181. Idéia: compartilhamento de informações através de um sistema hiper-texto distribuído
  182. 182. O sistema é composto de navegadores ( browsers ) clientes de servidores WWW que contém a informação a ser coletada
  183. 183. Protótico desenvolvido em 1991
  184. 184. O primeiro browser gráfico ( Mosaic ) desenvolvido por Mark Andreessen
  185. 185. Utilizam um protocolos de nível de aplicação chamado HTTP ( Hyper Text Transfer Protocol ) para receber arquivos com conteúdo de informação </li></ul>
  186. 186. <ul><li>Protocolo de aplicação leve e rápido para transporte de informação em formato hipertexto
  187. 187. Implementa um conjunto de métodos para serem usados em requests
  188. 188. Pode ser usado como protocolo gerérico para comunicação entre user agents e gateways para outros protocolos
  189. 189. Mensagens são passadas em formato texto através de um esquema request/response entre cliente e servidor
  190. 190. URL – Uniform Resource Locator – identifica uma página/programa </li></ul>HTTP – Hyper Text Transfer Protocol
  191. 191. HTTP – Hyper Text Transfer Protocol
  192. 192. <ul><li>SMTP – Simple Mail Transport Protocol
  193. 193. Usado para o envio de correio eletrônica pela Internet
  194. 194. Define com um programa que envia mensagens de correio e um que recebe devem interagir
  195. 195. POP – Post Office Protocol – usado para receber as mensagens de correio eletrônico </li></ul>Correio Eletrônico
  196. 196. Intranets <ul><li>Redes proprietárias de organizações que utilizam tecnologia TCP/IP para disponibilizar aplicações e conteúdo para usuários internos
  197. 197. Muito usadas em ambientes corporativos (grande sucesso)
  198. 198. O conteúdo somente é acessível para usuários internos
  199. 199. Podem ser implementadas numa grande variedade de plataformas </li></ul>
  200. 200. Extranets <ul><li>Estende o conceito de intranet oferecendo informação e serviços para um número controlado de usuários externos à corporação (fabricantes, clientes, etc)
  201. 201. Permite a troca eficaz e segura de informação entre companhias
  202. 202. Ambas se aproveitam de todas as facilidades do mundo TCP/IP
  203. 203. Métodos usados para acesso: </li><ul><li>Acesso discado
  204. 204. Acesso pela Internet com segurança
  205. 205. VPN ( Virtual private network )
  206. 206. Acesso pela Internet a um servidor que replica o conteúdo extranet disponibilizado
  207. 207. Acesso pela Internet a um servidor que realiza queries em servidores internos </li></ul></ul>

×