Camada de Enlace e LANs Magnos Martinello Universidade Federal do Espírito Santo - UFES Departamento de Informática - DI Laboratório de Pesquisas em Redes Multimidia - LPRM Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009. 5-1 Introdução Terminologia: ❒ hosts e routers são nós ❒ Canais de comunicação que conectam nodos adjacentes ao longo do caminho de comunicação são enlaces ❍ ❍ ❍ Enlaces cabeados (wired) Enlaces sem fio (wireless) LANs ❒ Pacote nesta camada é um quadro (frame) 5-2 Endereçamento ❒ Endereços IP são de 32-bits: Endereços da camada de rede ❍ Usados para levar o datagrama até a rede de destino ❍ ❒ Endereço MAC (ou LAN ou Ethernet): função: levar o quadro de uma interface para outra interface fisicamente-conectada (mesma rede) ❍ Endereços MAC tem 48 bits ❍ • Gravada na NIC ROM, também configurável por software 5-3 Endereços de LAN Each adapter on LAN has unique LAN address 1A-2F-BB-76-09-AD 71-65-F7-2B-08-53 LAN (wired or wireless) Broadcast address = FF-FF-FF-FF-FF-FF = adapter 58-23-D7-FA-20-B0 0C-C4-11-6F-E3-98 5-4 Endereços de LAN • A alocação de endereços MAC é administrada pelo IEEE • O fabricante compra porções do espaço de endereço MAC (para assegurar a unicidade) • Analogia: (a) endereço MAC: semelhante ao número do RG (b) endereço IP: semelhante a um endereço postal • Endereçamento MAC é “flat” => portabilidade • É possível mover uma placa de LAN de uma rede para outra sem reconfiguração de endereço MAC • Endereçamento IP “hierárquico” => NÃO portável • Depende da rede na qual se está ligado 5-5 ARP: Address Resolution Protocol Questão: como determinar o endereço MAC de B sabendo o endereço IP de B? 137.196.7.78 1A-2F-BB-76-09-AD 137.196.7.23 ❒ Each IP node (host, router) on LAN has ARP table ❒ ARP table: IP/MAC address mappings for some LAN nodes 137.196.7.14 < IP address; MAC address; TTL> ❍ LAN 71-65-F7-2B-08-53 137.196.7.88 58-23-D7-FA-20-B0 TTL (Time To Live): time after which address mapping will be forgotten (typically 20 min) 0C-C4-11-6F-E3-98 5-6 Protocolo ARP: Mesma LAN ❒ A wants to send datagram to B, and B’s MAC address not in A’s ARP table. ❒ A broadcasts ARP query packet, containing B's IP address ❍ dest MAC address = FFFF-FF-FF-FF-FF ❍ all machines on LAN receive ARP query ❒ B receives ARP packet, replies to A with its (B's) MAC address ❍ frame sent to A’s MAC address (unicast) ❒ A caches (saves) IP-to- MAC address pair in its ARP table until information becomes old (times out) ❍ soft state: information that times out (goes away) unless refreshed ❒ ARP is “plug-and-play”: ❍ nodes create their ARP tables without intervention from net administrator 5: DataLink Layer 5-7 Roteando para outra LAN walkthrough: send datagram from A to B via R assume A knows B’s IP address 88-B2-2F-54-1A-0F 74-29-9C-E8-FF-55 A 111.111.111.111 E6-E9-00-17-BB-4B 1A-23-F9-CD-06-9B 222.222.222.220 111.111.111.110 111.111.111.112 R 222.222.222.221 222.222.222.222 B 49-BD-D2-C7-56-2A CC-49-DE-D0-AB-7D ❒ two ARP tables in router R, one for each IP network (LAN) 5: DataLink Layer 5-8 ❒ A creates IP datagram with source A, destination B ❒ A uses ARP to get R’s MAC address for 111.111.111.110 ❒ A creates link-layer frame with R's MAC address as dest, ❒ ❒ ❒ ❒ ❒ frame contains A-to-B IP datagram A’s NIC sends frame R’s NIC receives frame R removes IP datagram from Ethernet frame, sees its destined to B R uses ARP to get B’s MAC address R creates frame containing A-to-B IP datagram sends to B 88-B2-2F-54-1A-0F 74-29-9C-E8-FF-55 A E6-E9-00-17-BB-4B 111.111.111.111 1A-23-F9-CD-06-9B 222.222.222.220 111.111.111.110 111.111.111.112 R 222.222.222.221 222.222.222.222 B 49-BD-D2-C7-56-2A CC-49-DE-D0-AB-7D 5: DataLink Layer 5-9 Ethernet Tecnologia de rede local “dominante” : • Barato R$20 por 100 Mbps! • Primeira tecnologia de LAN largamente usada • Mais simples e mais barata que LANs com token e ATM • Velocidade crescente: 10 Mbps – 10 Gbps esboço da Ethernet por Bob Metcalf Prof: Magnos Enlace e LANs 5-10 Ethernet 802.3 • Topologia de bus popular em meados dos anos 90 • Agora a topologia em estrela prevalece • Opções de conexão: hub ou switch (mais adiante) Prof: Magnos Enlace e LANs 5-11 Estrutura do Quadro Ethernet Adaptador do transmissor encapsula o datagrama IP (ou outro pacote de protocolo da camada de rede) num quadro Ethernet Preâmbulo: • 7 bytes com padrão 10101010 seguido por um byte com padrão 10101011 • usado para sincronizar o relógio do transmissor e do receptor Prof: Magnos Enlace e LANs 5-12 Estrutura do Quadro Ethernet • Endereços: 6 bytes • Se o adaptador recebe um quadro com endereço de destino coincidente ou com endereço de broadcast (ex., pacote ARP), ele passa o dado no quadro para o protocolo da camada de rede • Tipo: indica o protocolo da camada superior; geralmente é o protocolo IP, mas outros podem ser suportados, tais como Novell IPX e AppleTalk • CRC: verificado no receptor; se um erro é detectado, o quadro é simplesmente descartado Prof: Magnos Enlace e LANs 5-13 Serviço não confiável e sem conexão • Sem conexão: não ocorre conexão entre o adaptador transmissor e o receptor • Não confiável: adaptador receptor não envia ACKs ou NACKs para o adaptador transmissor • O fluxo de datagramas que passa para a camada de rede pode deixar lacunas • Lacunas serão preenchidas se a aplicação estiver usando TCP • Caso contrário, a aplicação verá as lacunas Prof: Magnos Enlace e LANs 5-14 Ethernet usa CSMA/CD • Adaptador não transmite se ele detectar algum outro adaptador transmitindo, isto é, carrier sense • O adaptador transmissor aborta quando detecta outro adaptador transmitindo, isto é, collision detection • Antes de tentar uma retransmissão, o adaptador espera um período aleatório, isto é, random access Prof: Magnos Enlace e LANs 5-15 Algoritmo CSMA/CD da Ethernet 1. O adaptador recebe um datagrama da camada de rede e cria um quadro. 2. Se o adaptador detecta um canal livre, ele começa a transmitir o quadro. Se ele detecta o canal ocupado, espera até ele ficar livre e então transmite. 3. Se o adaptador transmite o quadro todo sem detectar outra transmissão, sua missão com esse quadro está cumprida! 4. Se o adaptador detecta outra transmissão enquanto transmite, ele aborta e envia um jam signal. 5. Após abortar, o adaptador entra em exponential backoff: após a m-ésima colisão, o adaptador escolhe um K aleatório de {0,1,2,…,2m-1}. O adaptador espera K·512 tempos de bit e retorna ao passo 2. Prof: Magnos Enlace e LANs 5-16 10BaseT e 100BaseT • Taxa de 10/100 Mbps; chamado mais tarde de “fast ethernet” • T significa “Twisted Pair” (par de fios trançados de cobre) • Nós se conectam a um hub: “topologia em estrela”; 100 m é a distância máxima entre os nós e o hub Prof: Magnos Enlace e LANs 5-17 Hubs Essencialmente repetidores da camada física: ❍ bits coming in one link go out all other links at same rate ❍ all nodes connected to hub can collide with one another ❍ no frame buffering twisted pair hub 5-18 Interconectando com hubs ❒ Backbone hub interconnects LAN segments ❒ Extends max distance between nodes ❒ But individual segment collision domains become one large collision domain hub hub hub hub 5-19 Comutador (Switch) ❒ Dispositivo da camada de enlace: ❍ Armazena e encaminha (store, forward) Ethernet frames ❍ Examina o endereço do quadro MAC que chega, seletivamente encaminha o quadro para um ou mais interfaces de saída ❍ Quando o quadro é para ser encaminhado para um segmento de rede, usa o protocolo CSMA/CD ❒ transparente ❍ ❒ hosts não estão cientes da presença de comutadores switches plug-and-play, self-learning ❍ switches não precisam ser configurados 5: DataLink Layer 5-20 Switch Table Q: Como que o switch sabe que A’ alcançável pela interface 4, B’ alcançável via interface 5? ❒ R: cada switch tem uma tabela de comutação e cada entrada da tabela é: ❒ ❍ ❒ (MAC address of host, interface to reach host, time stamp) Q: como são as entradas criadas e mantidas na tabela ? A C’ B 6 1 5 2 3 4 C B’ A’ switch com seis interfaces (1,2,3,4,5,6) 5: DataLink Layer 5-21 Switch: auto-didata learns which hosts can be reached through which interfaces ❒ switch ❍ ❍ Source: A Dest: A’ A A A’ C’ when frame received, switch “learns” location of sender: incoming LAN segment records sender/location pair in switch table B 1 6 5 2 3 4 C B’ A’ MAC addr interface TTL A 1 60 Switch table (initially empty) 5: DataLink Layer 5-22 Switch: frame filtering/forwarding Quando um switch recebe um quadro: registra a interface associada com o host emissor indexa a tabela do switch usando end. MAC de destino if entrada for encontrada para o destino then{ if dest. no segmento deste quadro chegou then descarta o quadro else encaminha o quadro na interface indicada } else flood Encaminha para todas as interfaces, exceto para aquela em que o quadro chegou Prof: Magnos Enlace e LANs 5-23 Self-learning, forwarding: example Source: A Dest: A’ A A A’ C’ B ❒ frame destination unknown: flood A6A’ 1 2 4 5 ❒ destination A location known: selective send C A’ A B’ 3 A’ MAC addr interface TTL A A’ 1 4 60 60 Switch table (initially empty) 5: DataLink Layer 5-24 Switch: acesso direto • Switch com muitas interfaces • Hospedeiros possuem conexão direta ao switch • Sem colisões; full-duplex Cut-through switching: quadro encaminhado da porta de entrada até a porta de saída sem ter de primeiro coletar o quadro todo • Ligeira redução na latência • Combinações de interfaces 10/100/1000 Mbps compartilhadas/dedicadas Switching: A-para-A’ e B-para-B’, simultaneamente, sem colisões Prof: Magnos Enlace e LANs 5-25 Interconnecting switches ❒ switches can be connected together S4 S1 A B S3 S2 C F D E I G H ❒ Q: sending from A to F - how does S1 know to forward frame destined to F via S4 and S2? ❒ A: self learning! (works exactly the same as in single-switch case!) 5: DataLink Layer 5-26 Switch example Suppose C sends frame to D 1 B C A B E G 3 2 hub hub hub A address interface switch 1 1 2 3 I D E F G H ❒ Switch receives frame from from C ❍ notes in bridge table that C is on interface 1 ❍ because D is not in table, switch forwards frame into interfaces 2 and 3 ❒ frame received by D 5: DataLink Layer 5-27 Switch example Suppose D replies back with frame to C. address interface switch B C hub hub hub A I D E F G A B E G C 1 1 2 3 1 H ❒ Switch receives frame from from D ❍ notes in bridge table that D is on interface 2 ❍ because C is in table, switch forwards frame only to interface 1 ❒ frame received by C 5: DataLink Layer 5-28 Switch: traffic isolation ❒ switch installation breaks subnet into LAN segments ❒ switch filters packets: same-LAN-segment frames not usually forwarded onto other LAN segments ❍ segments become separate collision domains ❍ switch collision domain hub collision domain hub collision domain hub 5: DataLink Layer 5-29 Rede Institucional to external network mail server router web server IP subnet 5: DataLink Layer 5-30 Switches vs. roteadores Comutadores vs. Roteadores • Ambos são dispositivos store-and-forward • Roteadores: dispositivos de camada de rede (examinam cabeçalhos da camada de rede) • Switches são dispositivos da camada de enlace • Roteadores mantêm tabelas de roteamento, implementam algoritmos de roteamento • Switches mantêm tabelas de switch, implementam filtragem, algoritmos de aprendizagem Prof: Magnos Enlace e LANs 5-31 Resumo: comparação Resumo hubs roteadores comutadores isolação de tráfego não sim sim plug & play sim não sim roteamento ótimo não sim não cut through sim não sim Prof: Magnos Enlace e LANs 5-32