• Nenhum resultado encontrado

Visão geral das tecnologias de rede subjacentes

CONTEÚDOS DO CAPÍTULO

Introdução

Duas abordagens para comunicação por rede Redes locais e de longa distância (WAN e LAN) Esquemas de endereçamento de hardware Ethernet (IEEE 802.3)

Wi-Fi (IEEE 802.11) ZigBee (IEEE 802.15.4)

Optical Carrier e Packet Over SONET (OC, POS) Redes ponto a ponto

Tecnologia VLAN e domínios de transmissão Bridging (ponte)

Congestionamento e perda de pacote Resumo

2.1 Introdução

A Internet introduziu uma mudança fundamental em nosso modo de pensar sobre rede de computador. Inicialmente todos os esforços objetivaram a produção de um novo tipo de rede. A Internet, no entanto, introduziu um novo método de interconexão entre redes individuais e um conjunto de protocolos que permitiram aos computadores interagirem através de várias redes. Enquanto hardware de rede representa apenas um papel de menor importância na concepção global, o entendimento da tecnologia da Internet requer que se faça distinção entre os mecanismos de baixo nível fornecidos pelo hardware propriamente dito e as facilidades de alto nível fornecidas pelos protocolos TCP/IP. É também importante entender como as interfaces fornecidas pela tecnologia subjacente de comutação por pacotes afetam nossa escolha de abstrações de alto nível.

Este capítulo introduz conceitos e terminologia básicos de comutação por pacote, e então revisa algumas das tecnologias subjacentes de hardware que têm sido usadas em internets TCP/IP. Capítulos posteriores descrevem como networks físicas são interconectadas e como os protocolos TCP/IP acomodam vastas diferenças no hardware. Enquanto a lista apresentada aqui certamente não é abrangente, ela demonstra claramente a variedade entre redes físicas nas quais TCP/IP opera. O leitor pode pular com segurança alguns dos detalhes técnicos, mas deve tentar entender a ideia de comutação de pacotes e tentar imaginar a construção de um sistema

2.2

homogêneo de comunicação usando esses hardwares heterogêneos. Mais importante, o leitor deve atentar para os detalhes dos esquemas de endereçamento que várias tecnologias usam; capítulos posteriores discutirão detalhadamente como protocolos de alto nível usam endereços de hardware.

Duas abordagens para comunicação por rede

A partir de uma perspectiva de hardware, redes são frequentemente classificadas pelas formas de energia que elas usam e pelo meio no qual a energia viaja (por exemplo, sinais elétricos em fio de cobre, pulsos de luz em fibra óptica e ondas de radiofrequência transmitidas pelo espaço). De uma perspectiva de comunicação, tecnologias de rede podem ser divididas em duas grandes categorias que dependem da interface que fornecem: conexão orientada (às vezes chamada comutada por circuito) e sem conexão (às vezes chamada comutada por pacotes)*. Redes por conexões orientadas operam formando uma conexão dedicada, ou circuito, entre dois pontos. Sistemas telefônicos antigos usavam tecnologia conexão orientada – uma chamada telefônica estabelecia uma conexão desde o telefone de origem até o escritório de comutação local, através de linhas tronco, até um escritório de comutação remoto, e finalmente ao telefone de destino. Enquanto uma conexão estava em andamento, o equipamento enviava sinais de voz do microfone para o receptor. Como era dedicado um caminho na rede para cada par de pontos finais de comunicação, um sistema de conexão orientada podia garantir que a comunicação fosse contínua e sem interrupção. Ou seja, uma vez que o circuito estava estabelecido, nenhuma outra atividade diminuiria a capacidade dele. Uma desvantagem da tecnologia de conexão orientada surgiu devido ao custo: os custos do circuito são fixos, independentemente do uso. Por exemplo, a taxa cobrada para uma chamada permanecia fixa, mesmo durante o tempo em que nenhuma das partes estava falando.

Redes sem conexão, o tipo frequentemente usado para conectar computadores, têm uma abordagem totalmente diferente. Em um sistema sem conexão, os dado a serem transferidos por uma rede dividem-se em pequenos pedaços, chamados pacotes, que são multiplexados em conexões de alta capacidade entre máquinas. Um pacote, que normalmente contém somente poucas centenas de bytes de dados, leva uma identificação que habilita o hardware de rede a saber como mandá-lo ao destino especificado. Por exemplo, um arquivo grande a ser transmitido entre duas máquinas

2.3

deve ser dividido em alguns pacotes que são enviados através da rede um de cada vez. O hardware de rede entrega os pacotes ao destino especificado, onde um software os remonta em um único arquivo. A principal vantagem da comutação por pacotes é que uma comunicação múltipla entre computadores pode ser feita de forma concomitante, com conexões entre máquinas compartilhadas por todos os pares de computadores que estão se comunicando. A desvantagem, claro, é que, com o aumento da atividade, um dado par de computadores em comunicação recebe menos da capacidade da rede. Ou seja, sempre que uma rede comutada por pacote ficar sobrecarregada, os computadores que a estão usando precisarão esperar para que possam mandar pacotes adicionais.

Apesar do potencial inconveniente de não estarem aptas para garantir a capacidade da rede, redes sem conexão têm se tornado extremamente populares. As motivações principais para adoção da comutação por pacote são custo e desempenho. Como múltiplos computadores podem compartilhar os canais subjacentes da rede, poucas conexões são necessárias e o custo se mantém baixo. Pelo fato de engenheiros serem aptos a construírem hardwares de alta velocidade para comutação por pacote, a capacidade geralmente não é um problema. Tantas interconexões de computador usam rede sem conexão que, durante todo o restante do texto, assumiremos que o termo rede se refere a redes com tecnologia sem conexão, a menos que tenha indicação em contrário.

Redes locais e de longa distância (WAN e LAN)

As redes de dados que cobrem grandes distâncias geográficas (por exemplo, os Estados Unidos continental) são fundamentalmente diferentes daquelas que cobrem curtas distâncias (uma sala, por exemplo). Para ajudar a caracterizar as diferenças entre capacidade e uso pretendido, as tecnologias de comutação de pacotes normalmente são divididas em duas categorias gerais: redes de longa distância (WANs) e redes locais (LANs), sendo que ambas não possuem definições formais. Em vez disso, os fornecedores aplicam os termos de forma livre para ajudar os clientes a diferenciar as tecnologias.

Tecnologias WAN, às vezes chamadas long haul networks (redes de transporte a longa distância), fornecem comunicação a longas distâncias. A maioria das tecnologias de WAN não limita o leque de distância; uma WAN pode permitir que as extremidades de uma comunicação sejam distanciadas arbitrariamente. Por exemplo, uma WAN pode cobrir um continente ou

2.4

• • • •

ainda unir computadores através de um oceano. Normalmente, as WANs operam em velocidades mais baixas que as LANs, e possuem muito mais atraso entre as conexões. As velocidades típicas para uma WAN variam de 100 Mbps (milhões de bits por segundo) até 10 Gbps (bilhões de bits por segundo). Os atrasos através de uma WAN podem variar de alguns milissegundos até várias dezenas de segundos.**

Tecnologias de LAN fornecem as conexões de mais alta velocidade entre os computadores, mas sacrificam a capacidade de cobrir longas distâncias. Por exemplo, uma LAN típica cobre uma pequena área, como um único prédio ou um pequeno campus, e opera entre 100 Mbps e 10 Gbps. Como as tecnologias de LAN cobrem curtas distâncias, elas oferecem menores atrasos que as WANs. O atraso através de uma LAN pode ser tão curto quanto algumas décimos de milissegundos ou tão longo como 10 milissegundos.

Esquemas de endereçamento de hardware

Vamos ver que os protocolos de Internet devem lidar com um aspecto particular do hardware de rede: esquemas de endereçamento heterogêneo. Cada tecnologia de hardware define um mecanismo de endereçamento que os computadores utilizam para especificar o destino para um pacote. Cada computador conectado a uma rede recebe um endereço exclusivo, normalmente um inteiro. Um pacote enviado através de uma rede inclui dois endereços: um endereço de destino, que especifica o destinatário desejado, e um endereço fonte, que especifica o emissor. O endereço de destino aparece no mesmo local em todos os pacotes, possibilitando ao hardware de rede verificar com facilidade o endereço de destino. Um emissor precisa saber o endereço do destinatário desejado, colocando-o no campo de endereço de destino de um pacote antes de transmiti-lo.

A próxima seção analisa quatro exemplos de tecnologias de rede que vêm sendo usadas na Internet:

Ethernet (IEEE 802.3); Wi-Fi (IEEE 802.11); ZigBee (IEEE 802.15.4);

redes ponto a ponto de longa distância (SONET).

Nossa discussão sobre tecnologias vai encobrir a maior parte dos detalhes de hardware, pois o propósito é destacar os caminhos nos quais o

2.5

Figura 2.1

hardware subjacente influenciou escolhas de projeto nos protocolos.

Ethernet (IEEE 802.3)

Ethernet é um nome dado a uma tecnologia LAN de comutação de pacotes desenvolvida pelo Xerox PARC* no início da década de 1970. Em 1978, a Xerox Corporation, a Intel Corporation e a Digital Equipment Corporation padronizaram a Ethernet: o IEEE lançou uma versão compatível do padrão usando o número de padrão 802.3. A Ethernet tornou-se a tecnologia de LAN mais popular: agora, ela aparece em praticamente todas as redes corporativas e pessoais, e o formato de pacote Ethernet é usado de vez em quando através de redes de longa distância. As versões atuais da Ethernet são conhecidas como Gigabit Ethernet (GigE) e 10 Gigabit Ethernet (10GigE), pois elas transferem dados a 1Gbps e 10Gbps, respectivamente. A próxima geração de tecnologias opera a 40 e 100 gigabits por segundo. Uma rede Ethernet consiste em um comutador Ethernet ao qual múltiplos computadores são ligados.* Um comutador pequeno pode conectar centenas de computadores. Conexões entre um computador e um comutador consistem de fios de cobre para baixas velocidades ou fibras ópticas para velocidades maiores. A Figura 2.1 ilustra a topologia de uma Ethernet.

Ilustração de conexões usadas com uma Ethernet. Cada computador se conecta a um comutador central.

2.5.1

2.5.2

Um comutador Ethernet é um aparelho eletrônico que normalmente fica em um gabinete de fiação. Quando se usam fios de cobre, a conexão entre um comutador e um computador deve ter menos de 100 metros de distância; conexões ópticas podem exceder em muito essa distância. Cada computador precisa ter uma Placa de Interface de Rede (Network Interface Card - NIC) que opera como um dispositivo I/O que pode mandar e receber pacotes.

Capacidade da Ethernet

Dissemos que uma Ethernet Gigabit transfere dados a 1 gigabit por segundo (1000 megabits por segundo). Então, o nome formal 1000Base-T é aplicado para versões que usam par de fios de cobre trançados. Uma norma IEEE relacionada conhecida como 1000Base-X especifica a transmissão Ethernet por fibra óptica. Basicamente, a versão óptica converte um pacote Ethernet em pulsos de luz, que são transferidos por meio de fibra óptica. As principais vantagens das fibras ópticas são: maior capacidade e imunidade à interferência elétrica. A capacidade de uma fibra óptica é suficiente para suportar taxas de bit muito maiores que 10 Gbps. Entretanto, engenheiros estão desenvolvendo tecnologias Ethernet de 40 e 100 Gbps que operam com fibra óptica.

Negociação automática

Um comutador Ethernet moderno não se restringe a uma velocidade. Pelo contrário, o comutador pode operar a 10, 100, 1000 ou mesmo a 10000 Mbps. Um conjunto de velocidades é possível na maioria das placas de interface de rede, assim como nos comutadores. O aspecto importante da Ethernet multivelocidade está na configuração automática. Quando um cabo é plugado, ambos os terminais entram em fase de negociação. A negociação determina o tipo de cabo (reto ou cross-over) e a velocidade máxima que o outro lado da conexão suporta. Os dois lados concordam em operar na máxima velocidade que ambos suportam. A negociação automática fornece retrocompatibilidade – um computador com uma placa de rede velha e lenta pode se ligar sem qualquer alteração a um comutador Gigabit. O formato dos pacotes Ethernet não depende da velocidade do link, o que significa que protocolos TCP/IP podem continuar sem saber da velocidade negociada do link.

2.5.3

2.5.4

Propriedades importantes de uma Ethernet

Capacidade de transmissão. Capacidade de transmissão da Ethernet significa que um emissor pode especificar que um dado pacote deve ser entregue a todos os computadores que estejam ligados à rede. Na prática, comutadores normalmente implementam a transmissão fazendo uma cópia do pacote para cada computador. Vamos ver que o TCP/IP depende da transmissão Ethernet.

Best-effort delivery semantics. A Ethernet usa best-effort delivery semantics, que significa que a rede tenta entregar os pacotes, o hardware não garante a entrega e não informa ao emissor se o pacote foi ou não entregue. Se acontecer de a máquina de destino estar desligada ou com o cabo desplugado, os pacotes enviados a ela serão perdidos e o emissor não será notificado. Mais importante, se múltiplos computadores tentarem enviar pacotes a um dado computador ao mesmo tempo, um comutador pode ficar sobrecarregado e começar a descartar pacotes. Vamos ver mais adiante que best-effort semantics tem um conceito-chave no projeto de protocolos TCP/IP.

Endereços 48-Bit Ethernet MAC (hardware)

A IEEE define um esquema de endereçamento 48-bit MAC que é usado com Ethernet e com outras tecnologias de rede. A abreviação MAC significa Media Access Control (Controle de Acesso à Mídia), e é usada para tornar claro o propósito do endereço. Um endereço MAC é atribuído a cada placa de interface de rede. Para garantir a unicidade, um fornecedor de hardware de Ethernet deve comprar da IEEE um bloco de endereços MAC e atribuir um endereço a cada placa de interface de rede que for fabricada. A atribuição significa que não há dois hardwares de interfaces com o mesmo endereço Ethernet.

Como cada endereço é atribuído a cada dispositivo de hardware, às vezes usamos o termo endereço de hardware ou endereço físico. Para nossos propósitos, usaremos esses termos indistintamente.

Observe a importante propriedade de um endereço MAC a seguir.

Um endereço Ethernet é atribuído a uma placa de interface de rede, não a um computador; transferindo a placa de interface para um novo computador ou substituindo uma placa de interface que tenha falhado,

• • •

2.5.5

o endereço Ethernet do computador muda.

Saber que uma mudança no hardware pode mudar um endereço Ethernet explica por que protocolos de nível mais alto são projetados para acomodarem mudanças de endereços.

O esquema de endereçamento 48-bit MAC propicia três tipos de endereços descritos a seguir.

Unicast. Broadcast. Multicast.

Um endereço unicast é um valor único atribuído a uma placa de interface de rede, como descrito anteriormente. Se o endereço de destino em um pacote é um endereço unicast, o pacote será entregue a apenas um computador (ou não será enviado, se nenhum computador da rede tiver o endereço especificado).

Um endereço broadcast é constituído todo ele só por 1, e é reservado para transmitir para todas as estações simultaneamente. Quando um comutador recebe um pacote só com 1 no campo de endereço de destino, ele entrega uma cópia do pacote a cada computador na rede com exceção do emissor.

Um endereço multicast fornece uma forma limitada de transmissão na qual um subconjunto de computadores na rede aceita atender a um dado endereço multicast. O conjunto de computadores participantes é chamado um grupo multicast. A placa de interface de rede em um computador deve ser configurada para se juntar a um grupo multicast ou a interface irá ignorar os pacotes enviados ao grupo. Veremos que os protocolos TCP/IP usam multicast e que o IPv6 depende dele.

Formato do frame Ethernet e tamanho de pacote Devido ao termo pacote ser genérico e poder se referir a qualquer tipo de pacote, usaremos o termo frame para nos referirmos ao pacote que é definido por tecnologias de hardware.* Os frames Ethernet têm comprimentos variáveis, sem frames menores que 64 octetos** ou maiores

Figura 2.2

que 1514 octetos (cabeçalho e data). Como esperado, cada frame Ethernet contém um campo que guarda o endereço 48-bit de um destino e outro campo que guarda o endereço 48-bit do emissor. Quando transmitido, o frame inclui também um 4-octet Cyclic Redundancy Check (CRC), que é usado para verificar erros de transmissão. Como o campo CRC é adicionado pelo hardware de envio e verificado pelo hardware de recebimento, não é visível para o software de camadas mais altas do protocolo. A Figura 2.2 ilustra as partes pertinentes de um frame Ethernet.

Endereço de

destino Endereço fonte Tipo de frame

Carga útil de frames (Data)

6 octetos 6 octetos 2 octetos 46–1500 octetos …

Formato de frame Ethernet. Os campos não estão em escala. Na figura, os três primeiros campos constituem em cabeçalho para o frame, e os campos restantes são a carga útil. Os pacotes usados na maioria das tecnologias de rede seguem o mesmo padrão: o pacote consiste de um pequeno cabeçalho com campos fixos seguido por um campo de carga útil com tamanho variável. O tamanho máximo de carga útil em um frame Ethernet é 1500 octetos. Como a Ethernet foi adotada de forma universal, a maioria dos ISPs mudou suas redes para se ajustar com a carga Ethernet. Podemos fazer então o resumo a seguir.

O tamanho de carga Ethernet de 1500 octetos se tornou um padrão de fato; mesmo que se usem outras tecnologias, os ISPs tentam projetar suas redes de forma que um pacote possa ter 1500 octetos de dados.

Além dos campos que identificam a fonte e o destino do frame, um frame Ethernet contém um 16-bit inteiro que identifica o tipo de dado que está sendo transportado. A maioria das tecnologias de pacote inclui um campo de tipo. Do ponto de vista da Internet, o tipo do frame é essencial, pois significa que frames Ethernet são autoidentificáveis. Quando um frame chega a uma determinada máquina, o software do protocolo define qual módulo de protocolo deve processar esse tipo de frame. As maiores vantagens dos frames autoidentificáveis são que eles permitem que

2.6

2.7

protocolos múltiplos sejam usados em conjunto em um único computador e múltiplos protocolos sejam misturados na mesma rede física sem interferência.

Por exemplo, pode-se ter um programa de aplicação em um computador usando protocolos Internet, enquanto outra aplicação no mesmo computador usa um protocolo experimental local. O sistema operacional verifica o campo do tipo de cada frame que chega e decide qual módulo deve processar seu conteúdo. Veremos que o campo de tipo pode ser usado para definir protocolos múltiplos na mesma família. Por exemplo, devido aos protocolos TCP/IP incluírem diversos protocolos que podem ser enviados por uma Ethernet, o TCP/IP define vários tipos de Ethernet.

Wi-Fi (IEEE 802.11)

A IEEE desenvolveu uma série de padrões para redes wireless que estão intimamente ligadas à Ethernet. O mais conhecido tem número-padrão IEEE 802.11, seguido por um sufixo (por exemplo, 802.11g ou 802.11n). O conjunto de normas pode interoperar, o que significa que um dispositivo sem fio pode incluir hardware para vários padrões, inclusive o que dá a velocidade máxima. Um consórcio de fornecedores de equipamentos de rede adotou o termo marketing de Wi-Fi para abranger equipamento que utiliza os padrões wireless IEEE, e existem muitos dispositivos Wi-Fi.

Cada um dos padrões Wi-Fi pode ser usado de duas maneiras: como uma tecnologia de acesso em que uma única estação-base (chamada de ponto de acesso) se conecta a vários clientes (por exemplo, os usuários com laptops), ou em uma configuração ponto a ponto usada para conectar só dois rádios sem fio. IEEE também definiu uma tecnologia de maior velocidade destinada principalmente para interconexões ponto a ponto. Comercializada como Wi-MAX e com o número-padrão 802.16 a ela atribuído, a tecnologia é de maior interesse para os fornecedores de rede ou empresas que precisam conectar dois sites.

ZigBee (IEEE 802.15.4)

Além de conectar computadores convencionais, uma internet pode ser utilizada por dispositivos incorporados. O conceito de dispositivos de conexão é por vezes referido como uma Internet das coisas. Claro, cada dispositivo que se conecta à Internet deve ter um processador embutido e incluir uma interface de rede. A IEEE criou padrão 802.15.4 para uma

2.8

tecnologia de rede sem fio de baixa potência destinada para suportar conexões de pequenos dispositivos embarcados. O aspecto de baixa potência torna rádios 802.15.4 atraentes para dispositivos que funcionam com bateria.

Um consórcio de fornecedores escolheu o termo ZigBee para se referir a produtos que utilizam o padrão de IEEE 802.15.4 para rádios e executam uma pilha de protocolo específico, que inclui IPv6 mais protocolos que permitem um conjunto de nódulos sem fio para se organizar em uma malha que pode encaminhar pacotes para e a partir da Internet.

A tecnologia IEEE 802.15.4 é um exemplo interessante de extremos para TCP/IP. O tamanho do pacote é de 127 octetos, mas apenas 102 octetos de carga útil estão disponíveis. Além disso, o padrão define dois formatos de