Arquitetura TCP/IP Parte II – Dispositivos de conectividade, interligação em redes e Internet Fabrízzio Alphonsus A M N Soares Tópicos ● Dispositivos de conectividade ● Interconexão: aplicação vs. rede ● Propriedades da interligação em redes ● Arquitetura da interligação em redes ● Internet ● – A borda – O núcleo Parâmetros de desempenho Dispositivos de conectividade Domínio de colisão ● Grupo de dispositivos de rede (usuários) que compartilham o acesso a mesma rede física – um único dispositivo pode comunicar por vez – Hub -um único domínio de colisão – Switch - cada porta/interface consiste em um domínio de colisão independente Domínio de colisão (considerações) ● ● Numa rede de computadores, o domínio de colisão é uma área lógica onde os pacotes podem colidir uns contra os outros, em particular no protocolo Ethernet. Quanto mais colisões ocorrerem menor será a eficiência da rede. Domínio de colisão (considerações) O protocolo de comunicação CSMA/CD que controla o acesso ao meio em redes Ethernet minimiza este problema através de um conjunto de medidas relativamente simples: – Antes de transmitir um pacote, a estação “escuta” o meio físico para verificar se outra estação já está transmitindo. – Caso o meio físico esteja ocupado ela espera, caso esteja livre ela transmite. – Em caso de colisão, ele imediatamente interrompe a transmissão, enviando um Jam Signal que repete a colisão, informando aos hosts envolvidos. – Nesses hosts o jam signal ativará um algoritmo de backoff que fará com que cada host espere por um tempo aleatório e crescente, em caso de reincidência de colisão, para retransmitir. Domínio de difusão (broadcast) ● ● Conjunto de dispositivos que “escutam” os mesmos pacotes enviados em difusão no meio físico Por definição – um switch comuta através de um único domínio de difusão – um roteador encaminha através de múltiplos domínios de difusão Dispositivos de conectividade (cont.) ● ● Hub/repetidor – Opera na camada física – Manipula bits individuais – Único domínio de colisões Switch/ponte – Dispositivo de camada de enlace – Manipula quadros (frames) – Cada porta forma um domínio de colisões independente – Capacidade de encaminhar os quadros apenas para a porta à qual está ligada a estação de destino Tipos de switches ● ● ● Port switches (repetidores ou hubs) – Não são verdadeiros switches – Todas as portas compartilham o mesmo segmento e domínio de colisão – Consistem em múltiplos repetidores com comutação entre eles LAN switches – Operam na camada 2 do modelo OSI – São pontes multiporta onde todas as portas são segmentos de LANs independentes Layer-3 switches (ou multilayer switches) – Incluem camadas 2 e um subconjunto da camada 3 Dispositivos de conectividade (cont.) Redes ethernet ● ● O Ethernet tem três camadas: – LLC (Controle do Link Lógico); – MAC (Controle de Acesso ao Meio) e – Física. O LLC e o MAC correspondem, juntas, a segunda camada do modelo de referência OSI. Comparação entre modelos A camada LLC ● ● ● A camada LLC é a responsável por adicionar informações de que protocolo na camada Internet foi o responsável por gerar os dados. Dessa forma, durante a recepção de dados da rede esta camada no computador receptor tem que saber que protocolo da camada de Internet ele deve entregar os dados. Esta camada é definida pelo protocolo IEEE 802.2. A camada MAC ● ● ● A camada de Controle de Acesso ao Meio (MAC) é a responsável por montar o quadro que será enviado para a rede. Esta camada é responsável por adicionar o endereço MAC de origem e de destino O endereço MAC é um endereço físico de uma placa de rede. A camada MAC ● ● Os quadros que são destinados a outras redes utilizarão o endereço MAC do roteador da rede como endereço de destino. Esta camada é definida pelo protocolo IEEE 802.3, se uma rede com cabos estiver sendo usada, ou pelo protocolo IEEE 802.11, se uma rede sem fio estiver sendo usada. A camada física ● ● A camada Física é a responsável por converter o quadro gerado pela camada MAC em: – sinais elétricos - rede cabeada; – eletromagnéticos - rede sem fio. Esta camada é também definida pelo protocolo IEEE 802.3, se for uma rede com cabos estiver sendo usada, ou pelo IEEE 802.11, se uma rede sem fio estiver sendo usada. Redes ethernet ● ● ● As camadas LLC e MAC adicionam suas informações de cabeçalho ao datagrama recebido da camada Internet. Os cabeçalhos adicionados pelas camadas superiores são vistos como “dados” pela camada LLC. A mesma coisa acontece com o cabeçalho inserido pela camada LLC, que será visto como dado pela camada MAC. Redes ethernet Redes ethernet ● A camada LLC adiciona um cabeçalho de 3 ou 5 bytes – ● Seus datagramas têm um tamanho total máximo de 1.500 bytes, deixando um máximo de 1.497 ou 1.495 bytes para dados. A camada MAC adiciona um cabeçalho de 22 bytes e um CRC (soma dos dados para identificação de erros) de 4 bytes ao final do datagrama recebido da camada LLC, formando o quadro Ethernet. – O tamanho máximo de um quadro Ethernet é de 1.526 bytes. Ponte de 802.x para 802.y Quadro 802.3 ● ● ● ● ● ● Preâmbulo de 7 bytes, cada um contendo o padrão 10101010 (uma onda quadrada, Manchester, para sincronização de relógio entre transmissor e receptor) Início de quadro: 10101011 Endereço de destino: 2 ou 6 bytes (banda básica 6). MSB em 1 sinaliza endereco de grupo. FF significa broadcast. Bit 46 (2º mais significativo) distingue entre endereços locais e globais 246 = 7 × 1013 endereços Endereço de origem (2 ou 6 bytes): 10Mbps usa 6 bytes Quadro 802.3 Protocolo MAC 802.3 ● ● ● ● Dois modos de endereçamento definidos Endereços locais: organização que instala a rede atribui endereços Endereços globais: endereços distintos distribuídos aos fabricantes. Garante que não haverá colisão mesmo quando duas redes distintas forem conectadas CRC: x32 + x26 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x 4 + x2 + x + 1 Quadro 802.11 Quadro 802.11 ● Controle de quadro: – Os primeiros 2 octetos indicam a versão do protocolo, o tipo de quadro (controle, dados, manutenção), se o quadro foi ou não fragmentado, informações de privacidade e os dois bits do sistema de distribuição. – De acordo com esses 2 bits, os campos de endereço adquirem significados diferentes. Quadro 802.11 ● Duração ID: – ● Utilizado para a reserva virtual do meio, usando RTS/CTS. Este campo indica a duração do periodo de ocupação do meio de transmissão. Endereços 1 a 4: – Cada um desses campos contém endereços MAC padrão (48 bits) assim como nas demais LAN 802.x Seu significado depende dos dois bits do sistema de distribuição. Quadro 802.11 ● Sequência de controle: – ● Dados: – ● Utilizado para se filtrar quadros que possam ser eventualmente duplicados. Variam de 0 à 2312 octetos. CRC: – 32 bits do código corretor de erro comum a todas as LANs 802.x. Ponte de 802.x para 802.y (cont.) ● Exemplos de formatos de quadros Pontes para diferentes distâncias Local Remota Tipos de pontes ● ● Pontes Transparentes – Amplamente utilizadas – Baseadas em árvores de espalhamento (spanning tree bridges) Pontes com Roteamento na Fonte – Pouco uso atualmente Pontes transparentes ● ● ● Não necessitam interferência do administrador da rede para funcionar corretamente Ponte opera em “modo promíscuo” – Aceita e examina cada quadro transmitido em todas as LANs interconectadas pela ponte – Descarta quadros cujo destino se encontra na LAN de origem do quadro – Encaminha quadros cujo destino se encontra em uma LAN diferente da LAN de origem Interfaces (portas) de uma ponte não possuem endereço MAC Pontes transparentes: exemplo 25:4E:62:34:4F:F5 45:21:3B:50:13:5C 34:5A:B2:10:65:BA 2 1 2 1 3 Endereço MAC Porta 34:5A:B2:10:65:BA 1 Endereço MAC Porta 45:21:3B:50:13:5C 2 34:5A:B2:10:65:BA 1 25:4E:62:34:4F:F5 2 25:4E:62:34:4F:F5 3 Pontes transparentes: Funcionamento ● Recebe quadro de estação de origem: – ● ● Se origem desconhecida, anota endereço na tabela Se endereço na tabela: – Se endereço em porta diferente da origem, envia para porta indicada – Se endereço em porta igual a origem (pertence à mesma rede), descarta quadro Senão, endereço de destino desconhecido: – Envia para todas as portas, menos de onde veio (flooding) Pontes transparentes: encaminhamento de quadros ● ● ● Com base em tabelas de rotas construídas automaticamente pela ponte Ponte “aprende” a localização de uma estação (em uma dada LAN) à medida em que recebe quadros daquela estação Cada entrada na tabela indica a porta através da qual uma estação pode ser atingida (direta ou indiretamente) ● Entradas na tabela de rotas têm tempo de vida limitado ● Após transcorrido este tempo: entrada é removida da tabela – A menos que a ponte tenha recebido quadros da estação neste meio tempo – Elimina entradas invalidadas pela movimentação (ou desligamento) de estações Pontes transparentes: laços/ciclos Árvore de esplalhamento ● Algoritmo distribuído que cria um caminho único entre quaisquer dois nós com custo mínimo – Custo padrão é baseado na taxa das interfaces – Evita caminhos cíclicos ● Replicação infinita de quadros – Pontes desativam enlaces redundantes – Tolerância a falhas: enlaces inativos podem ser reativados caso outros enlaces em uso falhem Pontes transparentes: exemplo Switches: VLAN (802.1Q) ● Rede local virtual que interliga um grupo de equipamentos logicamente, como se estes estivessem em um mesmo segmento de rede – ● Alternativamente, VLANs diferentes separam equipamentos logicamente, como se estes estivessem em segmentos de rede diferentes De forma geral, VLANs desvinculam conexões físicas através de conexões lógicas as VLAN: exemplo Interconexão: aplicação vs. rede ● Fato: há tecnologias de rede diferentes (e incompatíveis) e se deseja conectividade universal Interconexão: aplicação vs. rede ● Abordagem aplicação: software na camada de aplicação executa em cada equipamento e lida com as características de cada rede, ou seja: – Aumentar funcionalidade do sistema implica em criar novo software para cada equipamento – Adicionar novo hardware implica em modificar ou criar novo software – Em cada equipamento, cada software (de rede) precisa conhecer detalhes da tecnologia Interconexão: aplicação vs. rede (cont.) ● Abordagem rede: software na camada de rede executa em cada equipamento e lida com as características de cada rede, ou seja: – As atividades de comunicação de dados são separadas das aplicações (que oferecem algum serviço “útil”) – A separação de funções cria um sistema flexível, permitindo: ● ● ● Mudanças no hardware sem afetar (diretamente) as aplicações Evoluções nas aplicações sem se preocupar (explicitamente) com a infraestrutura de comunicação Alterações na interligação de rede, mantendo hardwares e aplicações inalteradas Propriedades da interligação em redes ● ● ● ● ● Aplicações não precisam conhecer detalhes da arquitetura de interconexão de rede Não há uma topologia a ser seguida É necessário intermediárias enviar dados entre redes Há um conjunto universal de identificadores que contempla todos os equipamentos As aplicações possuem um conjunto de operações único, independente do hardware subjacente Arquitetura da interligação em redes ● Sistema final (host) – executa as aplicações distribuídas ● Rede – infraestrutura que conecta os hosts ● Roteador – promove a interligação em redes – Participa em pelo menos duas redes – Passa pacotes de uma rede para outra Arquitetura da interligação em redes (cont.) ● Roteadores – Precisam conhecer a topologia da interligação em redes – Tipicamente, usam a rede de destino, não o host de destino, para fazer o roteamento de pacotes, logo: ● ● Equipamentos mais simples Quantidade de informação aumenta com o número de redes e não hosts Arquitetura da interligação em redes (cont.) Para as aplicações (e usuários), a interligação em redes cria uma única rede “virtual” entre os hosts Internet: visão dos componentes ● ● ● Milhões de dispositivos de computação conectados: hospedeiros (hosts) = sistemas finais Executando aplicações de rede Enlaces (links) de comunicação – ● ● roteador servidor móvel ISP local ISP regional Fibra, cobre, rádio, satélite Roteadores (comutadores de pacotes): encaminham pacotes de dados através da rede Provedores de serviço Internet - ISP (Internet Service Providers) estação de trabalho Rede da empresa Internet: a borda da rede ● Sistemas finais (hosts): – ● Modelo cliente/servidor – – ● Executam aplicações (web, e-mail, chat, etc.) O cliente faz os pedidos e são atendidos pelos servidores Exemplo: cliente web (navegador)/ servidor; cliente/servidor de e-mail Modelo peer-to-peer (p2p): – – Uso mínimo (ou nenhum) de servidores dedicados Exemplo: Gnutella, KaZaA , BitTorrent, eMule, etc. Redes de acesso Formas de conectar os sistemas finais aos roteadores de borda: ● ● ● redes de acesso residencial redes de acesso corporativo redes de acesso sem fio Questões a serem consideradas: ● ● largura de banda (bits por segundo) da rede de acesso compartilhada ou dedicada Acesso residencial ● Discado (dialup) via modem – – ● Acesso direto ao roteador de até 56 kbps (teoricamente) Utiliza a linha telefônica de forma exclusiva RDSI/ISDN: – – Rede digital de serviços integrados: conexão digital de 64/128 kbps ao roteador Canais separados para voz e dados http://www.conniq.com/InternetAccess_dialup.htm Acesso residencial (cont.) ● ADSL (Asymmetric Digital Subscriber Line) – – – Uso mais eficiente da largura de banda disponível Velocidade casa-ao-roteador: 1 Mbps, velocidade roteador-para-casa: 8Mbps ADSL2+: 24/1 Mbps http://www.conniq.com/InternetAccess_ADSL.htm DSL – Linha Digital de Assinante http://broadband-forum.org 1: Introdução Acesso residencial (cont.) ● HFC: cabo híbrido coaxial/fibra – – Assimétrico: até 30Mbps descida (downstream), 2 Mbps subida (upstream) Rede de cabos e fibra conectam as residências ao roteador do ISP ● ● ● Acesso compartilhado ao roteador pelas residências Questões: congestionamento, dimensionamento/provisionamento Disponível através de empresas de TV a cabo (cable modem) http://www.conniq.com/InternetAccess_ADSL.htm Acesso residencial no Brasil Tipos de conexão usadas no país – em % Revista INFO de 07/2008 http://www.teleco.com.br/blarga.asp As velocidades mais usadas no Brasil – em % Acesso corporativo: rede local ● ● Rede local (LAN - Local Area Network) da empresa/univ. conecta sistemas finais ao roteador de borda Ethernet: – Cabos compartilhados ou dedicados conectam o sistema final ao roteador – 10 Mbps, 100 Mbps, 1 Gbps e 10 Gbps (100 Gbps em padronização) Redes de acesso sem fio (wireless) ● Rede de acesso compartilhado sem fio conecta o sistema final ao roteador – ● Via estação base = “ponto de acesso” sem fio LANs sem fio – – Ar substitue os fios 802.11 (Wi-Fi): ● ● ● ● 802.11b <= 11 Mbps 802.11a/g <= 54 Mbps 802.11n <= 12x 802.11g Acesso sem fio com maior cobertura – estação base 3G > 1 Mbps ● ● ● – roteador EVDO (EVolution-Data Optimized) W-CDMA (Wideband Code Division Multiple Access) HSDPA (High-Speed Downlink Packet Access) WiMAX (802.16) ● Alcance < 20 km ● Velocidade < 75 Mbps hosts móveis Internet: o núcleo da rede ● ● Malha de roteadores interconectados Cada fluxo de dados fim-a-fim é dividido em pacotes – – ● Cada pacote usa toda a banda do canal Recursos são usados quando necessário Pacotes de diferentes hosts compartilham recursos da rede – Demanda total pelos recursos pode superar a quantidade disponível Comutação de pacotes: multiplexação estatística ● ● Sequência não determinística de uso do “canal” Exemplo: pacotes de A e B não são gerados a uma taxa constante Ethernet 10 Mbps A B multiplexação estatística C 2 Mbps fila de pacotes no enlace de saída D 34 Mbps E Comutação de pacotes: armazenae-reenvia (store-and-forward) L R ● ● ● R Leva L/R segundos para transmitir um pacote de L bits em um canal de R bps Todo o pacote deve chegar ao roteador antes que possa ser transmitido no próximo canal: armazena-e-reenvia Atraso = 3L/R (assumindo que o atraso de propagação seja desprezível!) R Exemplo: ● L = 7,5 Mbits ● R = 1,5 Mbps ● Atraso = 15 seg Comutação de pacotes: divisão em pequenas unidades (pacotes) ● ● Divisão em unidades pequenas permite a criação de pipelines ou seja, de paralelismo Recálculo do exemplo anterior: – – Tam. do pacote: 1.500 bits Atraso por pacote: 1mseg ● – Porém, a partir do 1.o pacote o duto (pipe) passa a ficar sempre cheio, ou seja, não enlaces ociosos Atraso total = 5,002seg Estrutura da Internet: rede de redes ● ● Quase hierárquica No centro: ISPs de “nível-1” (ex.: Sprint, MCI, AT&T, Embratel), cobertura nacional/internacional – Trata os demais como iguais Provedores de Nível-1 se interligam (peer) de forma privada ISP Nível 1 ISP Nível 1 NAP ISP Nível 1 Provedores de Nível-1 também se interligam em pontos de acesso de rede (NAPs) públicos Estrutura da Internet: rede de redes (cont.) ● ISPs de “Nível-2” ISPs: ISPs menores (freqüentemente regionais) – Conexão a um ou mais ISPs de Nível-1, possivelmente a outros ISPs de Nível-2 ISP de Nível-2 paga ao ISP de Nível-1 pela conectividade ao resto da Internet, ou seja, ISP de Nível-2 é cliente do provedor de Nível 1 ISP Nível 2 ISP Nível 2 ISP Nível 1 ISP Nível 1 ISP Nível 2 NAP ISP Nível 1 ISP Nível 2 ISPs de Nível-2 também se interligam privadamente e também ao NAP ISP Nível 2 Estrutura da Internet: rede de redes (cont.) ● ISPs de “Nível-3” e ISPs locais – Rede de última milha (“acesso”) (próximo aos sistemas finais) ISP local ISPs locais e Nível-3 são clientes de ISPs superiores conectando-os ao resto da Internet ISP Nível 3 ISP local ISP Nível 2 ISP local ISP local ISP Nível 2 ISP Nível 1 ISP Nível 1 ISP Nível 2 ISP ISP local local NAP ISP Nível 1 ISP Nível 2 ISP local ISP Nível 2 ISP local Estrutura da Internet: rede de redes (cont.) ● Um pacote passa através de diversas redes ISP local ISP Nível 3 ISP Nível 2 ISP local ISP local ISP Nível 2 ISP Nível 1 ISP Nível 1 ISP Nível 2 ISP local NAP ISP Nível 1 ISP Nível 2 ISP Nível 2 ISP local Parâmetros de desempenho ● Atraso – tempo gasto para o pacote percorrer um trecho da rede – ● Perda – não recebimento de um pacote enviado – ● Relacionados: perda por degradação do sinal, perda por transbordo de buffer, perda por descarte em fila, perda por colisão, etc. Vazão – quantidade de bits por unidade de tempo – ● Relacionados: atraso em um sentido (one-way delay), atraso de ida-e-volta (RTT), atraso de propagação, atraso de transmissão, atraso de processamento, etc. Relacionados: vazão útil, vazão agregada, vazão por fluxo, etc. Outros: variação de atraso (jitter), pacotes fora de ordem, taxa de erro de bit, etc. Perdas e atrasos na Internet Pacotes enfileiram nos buffers do roteador ● Taxa de chegada de pacotes ao enlace excede a capacidade do enlace de saída Pacote em transmissão (atraso) A B Enfileiramento de pacotes (atraso) Buffers livres (disponíveis): pacotes que chegam são descartados (perda) se não houver buffers livres Atrasos 1. Processamento do nó ● ● Verificação de bits errados Identificação do enlace de saída 2. Enfileiramento ● ● Tempo de espera no enlace de saída até a transmissão Depende do nível de congestionamento do roteador transmissão A propagação B processamento no nó enfileiramento Atraso (cont.) 3. Atraso de transmissão 4. Atraso de propagação ● ● ● R=largura de banda do enlace (bps) L=compr. do pacote (bits) Tempo para enviar os bits no enlace = L/R ● ● ● d = compr. do enlace s = velocidade de propagação no meio (~2x108 m/seg) atraso de propagação = d/s transmissão A propagação B processamento no nó enfileiramento Atraso por nó d nó = d proc + d fila + d trans + d prop ● dproc = atraso de processamento – ● dfila = atraso de enfileiramento – ● Depende do congestionamento dtrans = atraso de transmissão – ● Tipicamente de poucos microsegs ou menos = L/R, significativo para canais de baixa velocidade dprop = atraso de propagação – Poucos microsegs a centenas de msegs Atraso de enfileiramento ● ● ● ● R=largura de banda do enlace (bps) L=compr. do pacote (bits) a=taxa média de chegada de pacotes Intensidade de tráfego = La/R – La/R ~ 0: pequeno atraso de enfileiramento – La/R -> 1: grande atraso – La/R > 1: chega mais “trabalho” do que a capacidade de atendimento, atraso médio infinito! Perda de pacotes ● ● ● Fila (buffer) anterior a um canal possui capacidade finita Quando um pacote chega numa fila cheia, o pacote é descartado (perdido) O pacote perdido pode ser retransmitido pelo nó anterior, pelo sistema origem, ou não ser retransmitido buffer (área de espera) A B pacote em transmissão pacote que encontra o buffer cheio é descartado/perdido Vazão ● Vazão: taxa (bits/unidade de tempo) na qual os bits são transferidos entre o transmissor e o receptor – – Instantânea: taxa num certo instante de tempo Média: taxa num período de tempo mais longo link capacity server, with Enlace que pode Host com L file of F bits transportar taxa de Rs bits/sec bits para to enviar send to client Rs bits/seg link capacity Enlace que pode transportar Rc bits/sectaxa de Rc bits/seg Vazão (cont.) Rs < Rc Qual é a vazão média fim-a-fim? Rs bits/seg Rc bits/seg Rs > Rc Qual é a vazão média fim-a-fim? Rs bits/seg Rc bits/seg Enlace gargalo Enlace no caminho fim-a-fim que restringe a vazão fim-a-fim Vazão: cenário da Internet ● Na prática: Rc ou Rs são frequentemente o gargalo Rs Rs ● ● Exemplo: 10 conexões compartilham (de modo justo) o enlace gargalo do backbone de R bits/seg Vazão por fluxo fim-a-fim: min (Rc,Rs,R/10) Rs R Rc Rc Rc