Você está na página 1de 139

PROF. GILBERTO SUDRÉ

REDES DE COMPUTADORES

VITÓRIA

2010

Redes de Computadores

2
2

Governo Federal Ministro de Educação Fernando Haddad

Ifes – Instituto Federal do Espírito Santo Reitor Denio Rebello Arantes

Pró-Reitora de Ensino Cristiane Tenan Schlittler dos Santos

Diretora do CEAD – Centro de Educação a Distância Yvina Pavan Baldo

Coordenadoras da UAB – Universidade Aberta do Brasil Yvina Pavan Baldo Maria das Graças Zamborlini

Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Coordenação de Curso Andromeda Goretti Correa de Menezes

Designer Instrucional José Mário Costa Junior

Professor Especialista/Autor Gilberto Sudré

Catalogação da fonte: Rogéria Gomes Belchior - CRB 12/417

S943r

Sudré, Gilberto

Redes de computadores. / Gilberto Sudré. – Vitória: Ifes, 2009. 139 p. : il. 1. Redes de computadores. I. Instituto Federal do Espírito Santo. II. Título CDD 004.6

Instituto Federal do Espírito Santo. II. Título CDD 004.6 DIREITOS RESERVADOS Ifes – Instituto Federal do

DIREITOS RESERVADOS Ifes – Instituto Federal do Espírito Santo Av. Vitória – Jucutuquara – Vitória – ES - CEP - (27) 3331.2139

Créditos de autoria da editoração Capa: Juliana Cristina da Silva Projeto gráfico: Juliana Cristina e Nelson Torres

Iconografia: Nelson Torres Editoração eletrônica: Duo Translation

Revisão de texto:

Ilioni Augusta da Costa

COPYRIGHT – É proibida a reprodução, mesmo que parcial, por qualquer meio, sem autorização escrita dos autores e do detentor dos direitos autorais.

Tecnologia em Análise e Desenvolvimento de Sistemas

Olá, Aluno(a)!

É

um prazer tê-lo conosco.

O

Ifes – Instituto Federal do Espírito Santo – oferece a você, em par-

ceria com as Prefeituras e com o Governo Federal, o Curso Tecnologia em Análise e Desenvolvimento de Sistemas, na modalidade a distân- cia. Apesar de este curso ser ofertado a distância, esperamos que haja proximidade entre nós, pois, hoje, graças aos recursos da tecnologia da informação (e-mails, chat, videoconferência, etc.) podemos manter uma comunicação efetiva.

É importante que você conheça toda a equipe envolvida neste curso:

coordenadores, professores especialistas, tutores a distância e tutores pre- senciais, porque quando precisar de algum tipo de ajuda, saberá a quem recorrer.

Na EaD – Educação a Distância, você é o grande responsável pelo suces-

so da aprendizagem. Por isso, é necessário que se organize para os estu-

dos e para a realização de todas as atividades, nos prazos estabelecidos, conforme orientação dos Professores Especialistas e Tutores.

Fique atento às orientações de estudo que se encontram no Manual do

Aluno!

A EaD, pela sua característica de amplitude e pelo uso de tecnologias

modernas, representa uma nova forma de aprender, respeitando , sem- pre, o seu tempo.

Desejamos-lhe sucesso e dedicação!

Equipe do Ifes

Redes de Computadores

ICONOGRAFIA

Veja, abaixo, alguns símbolos utilizados neste material para guiá-lo em seus estudos

Fala do Professor
Fala do Professor

Fala do Professor

Conceitos importantes. Fique atento!
Conceitos importantes. Fique atento!

Conceitos importantes. Fique atento!

Atividades que devem ser elaboradas por você, após a leitura dos textos.
Atividades que devem ser elaboradas por você, após a leitura dos textos.

Atividades que devem ser elaboradas por você, após a leitura dos textos.

  Indicação de leituras complemtares, referentes ao conteúdo estudado.
 
  Indicação de leituras complemtares, referentes ao conteúdo estudado.

Indicação de leituras complemtares, referentes ao conteúdo estudado.

 
Destaque de algo importante, referente ao conteúdo apresentado. Atenção!
Destaque de algo importante, referente ao conteúdo apresentado. Atenção!

Destaque de algo importante, referente ao conteúdo apresentado. Atenção!

Reflexão/questionamento sobre algo impor- tante referente ao conteúdo apresentado.
Reflexão/questionamento sobre algo impor- tante referente ao conteúdo apresentado.

Reflexão/questionamento sobre algo impor- tante referente ao conteúdo apresentado.

Espaço reservado para as anotações que você julgar necessárias.
Espaço reservado para as anotações que você julgar necessárias.

Espaço reservado para as anotações que você julgar necessárias.

Tecnologia em Análise e Desenvolvimento de Sistemas

5
5

REDES DE COMPUTADORES

Cap. 1 - INTRODUÇÃO

11

1.1. Definição das redes 12

1.2. Evolução dos Sistemas de Computação 14

1.3. Evolução dos Sistemas Operacionais 15

1.4. Acesso Remoto – Liberdade para o Usuário 17

1.5.Surge o Conceito de Rede de Computadores 19

1.6. Objetivos das Redes de Computadores 20

1.6.1. Compartilhamento de Recursos 20

1.6.2. Confiabilidade 21

1.6.3. Modularidade 22

1.6.4. Escalabilidade 22

1.6.5. Segurança 23

1.6.6. Economia 26

Cap. 2 - COMPONENTES DAS REDES

31

2.1. O Hardware das Redes 31

2.1.1. Classificação de Escala das Redes 34

2.1.2.Redes Locais – LANs 34

2.1.3. Redes Metropolitanas – MANs 35

2.1.4. Redes de Longa Distância – WANs 35

Cap. 3 - TOPOLOGIAS DAS REDES 39

3.1. Topologia em Barramento (Bus) 41

3.2. Topologia em Anel (Ring) 42

3.3. Topologia em Estrela (Star) 44

3.4. Topologia em Árvore (Tree) ou Hierárquica 44

3.5. Topologias Mistas 46

3.6. Topologia totalmente conectada (Full mesh) 47

Cap. 4 - O SOFTWARE DAS REDES 49

conectada (Full mesh) 47 Cap. 4 - O SOFTWARE DAS REDES 49 4.1. Organização 49 4.2.

4.1. Organização 49

4.2. Serviços 49

4.3. Protocolos 50

4.4. Entidades 51

4.5. Interfaces 51

Redes de Computadores

49 4.1. Organização 49 4.2. Serviços 49 4.3. Protocolos 50 4.4. Entidades 51 4.5. Interfaces 51

4.6. Fluxo de informações 53

4.7. Classificação dos Serviços 54

4.7.1. Serviços Orientados à Conexão 55

4.7.2. Serviços sem Conexão 56

4.7.3. Serviços com Confirmação 57

4.7.4. Serviços sem Confirmação 59

Cap. 5 - MODELOS DE REFERÊNCIA

61

5.1. O Modelo de Referência OSI 61 5.1.1. As camadas do RM-OSI 63

5.2. O modelo de referência TCP/IP 68

5.2.1. As camadas do TCP/IP 69

Cap. 6 - A CAMADA FÍSICA 75

6.1. Os suportes de Transmissão 75

6.1.1. O Par trançado (UTP) 75

6.1.2. Cabo Coaxial 76

6.1.3. Fibra Óptica 77

6.2. Aspectos da comunicação de dados 79

Cap. 7 - A CAMADA DE ENLACE DE DADOS 85

7.1. As classes de serviços de enlace 85

7.2. O Conceito de Quadro 87

7.3. O Controle de erro 90

7.3.1. Código de detecção de erro 91

7.3.2. Procedimentos para controle de erro 92

7.3.3. O controle de fluxo 95

7.4. O controle de acesso ao meio 97

Cap. 8 - A CAMADA DE REDE 101

8.1. Serviços oferecidos pela camada de Rede 102

8.2. Organização interna da camada de Rede 102

8.3. Endereçamento de Rede 104

8.3.1. Mapeamento de endereços IP em endereços de rede 108

8.4. Endereçamento de Subrede 110

Cap. 9 - A CAMADA DE TRANSPORTE 114

9.1. Protocolo UDP 115

9.2. Protocolo TCP 117

Tecnologia em Análise e Desenvolvimento de Sistemas

Cap. 10 A CAMADA DE APLICAÇÃO 121

10.1. DNS – Domain Name System 122

10.1.1. Implementação do DNS 124

10.2. Simple Network Management Protocol (SNMP) 125

10.3. Serviço WWW e HTTP 126

10.4. File Transfer Protocol (FTP) 127

10.5. Eletronic Mail (E-mail) 127

10.6. Telnet 127

Cap. 11 - REDE SEM FIO (WIRELESS) 129

11.1. WLAN (Wireless Local Area Network) 129

11.2. Como funcionam 131

11.3. Tipos de conexão 132

11.3.1. Modo Ad-hoc 132

11.3.2. Modo de infra-estrutura

133

11.4. Padrões e frequências 134

11.5. Segurança em Redes sem Fio 136

11.5.1. Wired equivalent privacy (WEP) 137

11.5.2. Wi-Fi protected access (WPA) 137

REFERÊNCIAS BIBLIOGRÁFICAS 139

privacy (WEP) 137 11.5.2. Wi-Fi protected access (WPA) 137 REFERÊNCIAS BIBLIOGRÁFICAS 139 Redes de Computadores

Redes de Computadores

Tecnologia em Análise e Desenvolvimento de Sistemas

APRESENTAÇÃO

Olá!

Meu nome é Gilberto Sudré, responsável pela disciplina Redes de Computadores. Atuo como professor a mais de dez anos em insti- tuições como a Faesa, UFES e Salesiano. Tenho o prazer de fazer parte do Ifes a dois anos. Também leciono em cursos de Pós Gra- duação na UCL e FGV-RJ. Tenho mais de 20 anos de experiência de mercado desenvolvendo trabalhos de Consultoria em Redes de Comunicação de dados e Segurança da Informação para Em- presas no Brasil e Exterior. Sou graduado em Computação pela FAESA, especialista em Redes de Computadores e Mestrando em Automação pela UFES. Minhas áreas de interesse são: Redes de Computadores, Computação móvel e Segurança da Informação.

Nesta disciplina você terá uma visão geral de redes de computa- dores. Conhecerá o seu funcionamento, suas topologias e os meios de transmissão de dados com suas vantagens e desvantagens.

Aprenderemos sobre o protocolo IP, seus endereços de rede e máscaras de sub-rede.

Ao final da disciplina estudaremos as redes sem fio, seus riscos e como se proteger das ameaças a este tipo de rede.

O objetivo deste material é auxiliá-lo no estudo da disciplina re- des de computadores, por meio de dicas e sugestões. Aqui você encontrará conceitos com os quais trabalharemos ao longo de todo o Curso, o que não dispensa a utilização do livro-texto que foi usado como referência para elaboração deste material. No livro texto você vai encontrar muitos exemplos e exercícios adi- cionais para se aprofundar no assunto.

Um forte abraço, bons estudos e sucesso nesta caminhada.

Prof. Gilberto Sudré

Redes de Computadores

Tecnologia em Análise e Desenvolvimento de Sistemas

INTRODUÇÃO As Redes de Computadores tem sido um assunto vastamente estu- dado ao longo dos

INTRODUÇÃO

As Redes de Computadores tem sido um assunto vastamente estu- dado ao longo dos últimos anos da história dos computadores. Da época em que as primeiras experiências com a finalidade de fazer com que computadores trocassem dados entre si até os dias de hoje já se passaram algumas décadas, mas desde aquela época tais expe- rimentos sempre tiveram um mesmo objetivo: interoperação.

passaram algumas décadas, mas desde aquela época tais expe- rimentos sempre tiveram um mesmo objetivo: interoperação.

Entendamos aqui o conceito de interoperação: operação ou exe- cução conjunta de programas ou aplicativos por um grupo de dois ou mais computadores, havendo diversos modelos para este am- biente, como por exemplo o modelo cliente-servidor, o modelo de chamada remota de procedimentos e outros.

para este am- biente, como por exemplo o modelo cliente-servidor, o modelo de chamada remota de
11
11
o modelo de chamada remota de procedimentos e outros. 11 A interoperação de grupos de computadores
o modelo de chamada remota de procedimentos e outros. 11 A interoperação de grupos de computadores
o modelo de chamada remota de procedimentos e outros. 11 A interoperação de grupos de computadores

A interoperação de grupos de computadores traz uma série de benefí- cios para os usuários dos mesmos, possibilitando:

Compartilhamento de recursos

Melhor desempenho

Maior segurança

Maior confiabilidade

Diminuição de custos

Logicamente, esses benefícios são obtidos com maior ou menor intensi- dade dependendo de uma série de características e parâmetros dos com- ponentes da rede de computadores em questão, tanto os componentes de hardware quanto os componentes de software. De uma maneira ge- ral, a simples interconexão de um grupo de computadores através de al- gum mecanismo de comunicação de dados não é suficiente para garantir nenhuma desses benefícios. A razão disto é que é necessário agregar ao sistema elementos dotados da capacidade de se beneficiar dessa infra-es- trutura de comunicação e tirar proveito da mesma com o intuito de obter tais benefícios. O campo de pesquisa das redes de computadores e áreas

12
12

Capítulo 1

correlatas busca conceber elementos de software e de hardware que possi- bilitem essa interconexão de grupos de computadores de uma maneira tal que esses benefícios sejam facilmente obtidos e maximizados.

1.1. Definição das redes

Uma Rede de Computadores é, segundo uma definição formal, um conjunto de computadores que obedece duas premissas básicas:

São interconectados,

São autônomos.

• São interconectados, • São autônomos. Nessa definição, o quesito interconectados pressupõe a

Nessa definição, o quesito interconectados pressupõe a existência de um subsistema de comunicação de dados ao qual todos os computa- dores do conjunto se conectam, conforme Figura 1. Esse subsistema é orientado à endereçamento e assim esse subsistema constituí uma rede de troca de mensagens entre os computadores, onde toda mensagem,

quando em trânsito, leva registro (endereço) de seu remetente e de seu destinatário. O endereçamento deve ser uniforme no conjunto, isto é,

o endereço de qualquer máquina do conjunto obedece uma mesma

regra sintática e semântica. Desse modo, para que um computador possa enviar uma mensagem, basta que ele conheça o endereço do computador destinatário da mensagem.

o endereço do computador destinatário da mensagem. Figura 1 - Uma rede de computadores A definição

Figura 1 - Uma rede de computadores

A definição de autônomo é um pouco mais complexa, porém ela é de

fundamental importância para o entendimento do conceito moderno de redes de computadores.

Tecnologia em Análise e Desenvolvimento de Sistemas

Introdução

O termo autônomo é empregado aqui como forma de ressaltar o fato

de que os computadores são possuidores de recursos e estes são de propriedade do mesmo, cabendo a ele decidir a forma como estes são utilizados, tanto a nível intra-máquina quanto extra-máquina.

tanto a nível intra-máquina quanto extra-máquina. A utilização intra-máquina de um certo recurso ocorre em

A utilização intra-máquina de um certo recurso ocorre em geral quan-

do algum processo em execução naquela máquina necessita do recurso. Fica a critério do sistema operacional do computador decidir se o re- ferido processo tem permissões ou autorizações adequadas para poder utilizar-se do recurso.

A utilização extra-máquina do recurso ocorre quando o sistema opera-

cional está dotado e ativa um conjunto de entidades de rede (entidades

de protocolo) e o referido recurso é colocado à disposição dos demais computadores do conjunto. Estes podem requisitar o uso ou acesso ao recurso através de solicitações enviadas pelo subsistema de troca de mensagens. Neste caso, tanto as entidades de protocolo podem atuar com autonomia para decidir quanto a disponibilização do recurso como também o sistema operacional da máquina pode impor suas próprias regras ou restrições ao uso do mesmo.

Desse modo, pode-se afirmar que o computador e os programas que ele executa e lhe dão personalidade determinam esta autonomia no gerenciamento de seus recursos. Em uma rede, os computadores não guardam entre si nenhuma relação do tipo mestre-escravo, ou seja, ne- nhum computador é submisso à ordens provenientes de um outro. Ao contrário, em uma rede de computadores as máquinas realizam pedidos ou requisições entre si, utilizando-se de um diálogo formal e polido pois todas elas agem e concordam com o princípio da autonomia.

Ao longo deste texto, nenhum sistema de computadores em que haja claramente uma relação mestre-escravo entre eles será consi- derada uma rede de computadores.

entre eles será consi- derada uma rede de computadores. Tais sistemas existem e constituem-se, via de

Tais sistemas existem e constituem-se, via de regra, sistemas especiais ou orientados para aplicações específicas, porém tais sistemas tem suas próprias regras, conceitos e definições, os quais são também comumen-

te específicos daquela aplicação a que se destinam e portanto fogem do

escopo deste texto.

Redes de Computadores

13
13

Capítulo 1

1.2. Evolução dos sistemas de computação

Ao longo dos primeiros anos da era do computador como um produto

da indústria, ou seja, a partir de 1950 quando os primeiros computado-

res foram comercializados, a utilização dos mesmos era restrita apenas a pessoal extremamente qualificado a programá-lo. A programação des- ses primeiros sistemas era realmente uma tarefa árdua, haja visto que não havia até então a definição de uma linguagem para programa-los.

A programação se dava pela introdução de sequências de instruções

de máquina utilizando-se as chaves binárias do painel de controle da

CPU. Primeiramente, o programa era redigido em formulários de papel

e, após simulações “de mesa”, o mesmo era introduzido na memória do

computador. Uma vez carregado o programa, iniciava-se a execução do mesmo utilizando-se também procedimentos específicos no painel da CPU. Essas primeiras máquinas (como o ENIAC, apresentado na Figura 2) foram construídas como resultado de esforços de pesquisa durante a segunda guerra mundial (1939-1945) e foram de fato projetadas para serem grandes e poderosas calculadoras automatizadas. Assim, os pro- gramas que inicialmente eram executados nessas máquinas eram pro- gramas de cálculo, com uso intensivo da CPU na realização de longas iterações aritméticas.

da CPU na realização de longas iterações aritméticas. Figura 2 – Eniac: um dos primeiros computadores

Figura 2 – Eniac: um dos primeiros computadores construídos

Tecnologia em Análise e Desenvolvimento de Sistemas

Introdução

Esses programas podiam levar horas ou dias para completarem sua exe- cução, e isso compensava em parte o fato de que era trabalhoso e demo- rado carregar um programa na memória do computador.

A

partir dos anos sessenta, já estavam disponíveis compiladores para

as

primeiras linguagens de programação de alto nível: Fortran e Cobol.

Simultaneamente, tornou-se necessário desenvolver-se programas que auxiliassem a utilização desses compiladores, tornando o ambiente de produção de programas mais eficiente.

Foi nessa época que surgiram os primeiros sistemas monitores, os pre- cursores dos atuais sistemas operacionais. Nessa mesma época, os com- putadores foram dotados de dispositivos de E/S periféricos tais como impressoras e leitoras de cartão ou fita perfurada, e os programas moni- tores tinham por função atender a pedidos dos usuários do computador seguindo uma sequência de comandos denominada job (serviço). Esses sistemas eram classificados como sistemas de processamento em lotes – batch systems. Na Figura 3 temos uma ilustração de um típico sistema de processamento dessa categoria.

Uma evolução dos sistemas monitores foi a introdução dos dispositi- vos de armazenamento de massa de acesso aleatório e de grande ve- locidade, tais como os dispositivos de armazenamento magnético do tipo disco magnético.

de armazenamento magnético do tipo disco magnético. Figura 3 - Um típico sistema de processamento em

Figura 3 - Um típico sistema de processamento em lotes (batch)

1.3. Evolução dos sistemas operacionais

Em meados dos anos sessenta surgem as primeiras versões de sis- temas operacionais, os sucessores dos sistemas monitores. Os sis- temas operacionais diferem dos sistemas monitores não só porque são sistemas monitores melhorados, mas porque implementaram o conceito de chamada de sistema.

Os primeiros sistemas operacionais foram denominados de sistemas operacionais de disco (DOS – Disk Operating System) devido ao fato

Redes de Computadores

16
16

Capítulo 1

de que os seus componentes eram residentes em mídia magnética de acesso aleatório, tipicamente discos magnéticos. O núcleo residente do sistema operacional era capaz de realizar uma série de tarefas em bene- fício dos serviços que rodavam em suas partições.

Os sistemas operacionais evoluíram e nos anos setenta surgem os primeiros sistemas operacionais multiusuários e multitarefa, possibi- litando a dezenas ou centenas de usuários compartilharem uma CPU e os recursos agregados a ela. Esses sistemas foram coletivamente clas- sificados de sistemas de time-sharing (compartilhamento de tempo) pois neles a CPU dividia seu tempo entre os diversos usuários e seus programas, executando um pouco de cada um deles ao longo do tem- po num processo denominado escalonamento. Uma ilustração desse tipo de sistema é mostrada na Figura 4.

ilustração desse tipo de sistema é mostrada na Figura 4. Figura 4 - Modo de conexão

Figura 4 - Modo de conexão ao computador central dos terminais de um sistema time-sharing.

Visite no link a história dos sistemas operacionais.

http://www1.folha.uol.com.br/folha/informatica/

images/20051122-a_historia_do_sistema_operacional.gif

images/20051122-a_historia_do_sistema_operacional.gif Os sistemas operacionais passaram a gerenciar não mais o

Os sistemas operacionais passaram a gerenciar não mais o conceito de job/ partição mas sim o conceito de processo. Para permitir o acesso comparti- lhado à esses computadores, os mesmos foram dotados de dispositivos de E/S específicos que permitiam um uso interativo ou conversacional. Esses dispositivos eram inicialmente terminais seriais dotados de um dispositi- vo de entrada de dados, um teclado, e um dispositivo de visualização de dados, usualmente uma pequena impressora matricial ou de esfera.

Para utilizar o computador, um usuário precisava encontrar um termi- nal não ocupado e estabelecer uma sessão de uso com o computador teclando seu código de identificação e sua senha. Esse processo é co- nhecido como logon (ou login). Após ser identificado e aceito pelo sis- tema, o usuário passava então a interagir com o sistema operacional do

Tecnologia em Análise e Desenvolvimento de Sistemas

Introdução

computador através de um programa shell (“concha””) (veja na Figura 5. Os programas shell fazem a interface com os usuários humanos do computador (sistema operacional) com os serviços que o mesmo pode realizar, implementando o reconhecimento de comandos fáceis de serem memorizados por um usuário humano e traduzindo-os para chamadas de serviço do sistema operacional.

para chamadas de serviço do sistema operacional. Figura 5 – O Shell e as camadas dos

Figura 5 – O Shell e as camadas dos Sistemas Operacionais

Esses ambientes interativos possibilitaram um avanço extraordinário nas metodologias de desenvolvimento e nas técnicas de execução, depuração e manutenção de programas e sistemas ao permitir que os programadores utilizassem um ambiente rápido de visualização, localização, correção e modificação de código. Ao terminar de utilizar os serviços do computa- dor, o usuário sinalizava que desejava encerrar sua sessão de uso teclando algum comando específico, tal como logoff (ou logout, ou exit)

1.4. Acesso remoto – liberdade para o usuário

A essa altura do desenvolvimento dos sistemas de computador e de seus sistemas operacionais, vislumbrava-se que a forma de utilizar-se e intera- gir-se com um computador era limitada. Inicialmente, os sistemas moni- tores e os primeiros sistemas operacionais não permitiam uma utilização interativa dos computadores. Os usuários em geral deixavam seus jobs em guichês de recepção nos CPDs e voltavam horas mais tarde para buscar seus resultados. Tal processo era cansativo e improdutivo (porém foi o único possível, técnica e economicamente possível durante muitos anos) e assim os sistemas interativos time-sharing foi uma evolução formidável.

Redes de Computadores

18
18

Capítulo 1

Entretanto, um problema ainda persistia: a tirania da geografia. Para que alguém pudesse utilizar o computador invariavelmente essa pes- soa tinha que dirigir-se até o prédio do CPD para conseguir acesso ao computador utilizando um terminal da máquina. Esse inconveniente foi logo resolvido quando os primeiros equipamento de comunicação de dados do tipo modem foram concebidos.

Os modems (Figura 6) permitiram levar um terminal do com-

putador à uma distância do mesmo que até então não era possí- vel, basicamente porque a linha de comunicação de dados entre o terminal e o computador é uma linha de sinalização digital, e os canais de comunicação de longa distância daquela época – li- nhas telefônicas analógicas, em especial – eram inadequados para transmissão de sinais digitais.

– eram inadequados para transmissão de sinais digitais. Figura 6 – Modem para comunicação de dados
– eram inadequados para transmissão de sinais digitais. Figura 6 – Modem para comunicação de dados

Figura 6 – Modem para comunicação de dados

O modem vem resolver essa questão aplicando uma transformação nos sinais, realizando conversões digitais-analógicas e tornando a informa- ção dos computadores e dos terminais apta a trafegar por essas linhas de comunicação. O terminal foi então levado até o usuário, e este não foi mais obrigado a ir até o computador quando precisava utiliza-lo. Ini- cialmente, as linhas de comunicação de dados através de modems eram muito lentas – a velocidade variava em torno de 300 a 1200 bits por segundo, mas era adequada à aplicação em questão, ou seja, transmitir caracteres do teclado do usuário para o computador e levar caracteres do computador para o terminal do usuário.

Um outro problema existente é que as linhas telefônicas são muito sujeitas a ruídos e daí resultando em uma alta taxa de erros de trans-

Tecnologia em Análise e Desenvolvimento de Sistemas

Introdução

missão dos caracteres. Assim, o usuário do terminal frequentemen- te vislumbrava caracteres ou mensagens estranhas impressas em seu terminal, mas que eram toleradas pois os benefícios do acesso remo- to suplantavam em muito os inconvenientes causados pelos erros de transmissão de alguns bytes.

1.5. Surge o conceito de rede de computadores

Ao tentar dotar os computadores de terminais interativos, uma das primeiras questões enfrentadas pelos engenheiros de computadores de então foi a concepção de um dispositivo eletrônico que fizesse a interface entre os terminais e o computador. O verbo interfacear compreende as técnicas de adequar os dados (bits) ou mensagens de um sistema para que se tornem compreensíveis em outro sistema.

sistema para que se tornem compreensíveis em outro sistema. Quando dois sistemas implementam uma mesma interface,

Quando dois sistemas implementam uma mesma interface, eles podem ser colocados em contato (usualmente através de um canal ou meio físi- co de comunicação) e podem trocar mensagens entre si. No caso, o que desejava-se era interfacear um terminal com o barramento da CPU do computador de forma que ambos pudessem enviar e receber mensagens entre si. Inicialmente, utilizaram-se terminais seriais do tipo teletipo (teletype), ou abreviadamente, TTY. Estes utilizavam uma interface de comunicação bem conhecida e consagrada – a interface serial RS-232. Assim, os engenheiros inicialmente consideraram a construção de um hardware de interface do tipo serial para seus computadores, e assim foi feito.

Posteriormente, outras interfaces, a maioria delas soluções proprietárias, foram elaboradas e agregadas em seus produtos por diversos fabricantes de computadores. Algumas dessas soluções proprietárias tornaram-se padrões ao longo dos anos, outras caíram no esquecimento.

Ao agregar interfaces de comunicação de dados aos computadores, abriu-se a possibilidade de conectar-se computadores não apenas à ter- minais mas também a outros computadores.

Inicialmente, computadores de um mesmo fabricante foram interliga- dos através de interfaces físicas de comunicação de dados e o fabricante fornecia diversos produtos para a comunicação de dados para sua linha de produtos. Eram programas que realizavam cópia de arquivos entre máquinas, sistemas que permitiam que um computador disparasse a

Redes de Computadores

19
19
20
20

Capítulo 1

execução de tarefas em outro ou mesmo sistemas que permitiam que um computador controlasse o outro.

Essas tecnologias foram o berço do surgimento da moderna ciência das redes de computadores, porém a maioria delas foge à definição intro- duzida no item 1.1. Ainda nos anos sessenta, diversos esforços, tanto de fabricantes quanto de grupos e laboratórios de pesquisa em compu- tadores e comunicação de dados iniciavam uma jornada em direção às modernas redes de computadores tais como as conhecemos hoje.

Cite, algumas Redes de computadores que você conhece

hoje. Cite, algumas Redes de computadores que você conhece 1.6. Objetivos das redes de computadores Os

1.6. Objetivos das redes de computadores

Os objetivos de uma rede de computadores são os efeitos desejados advindos de sua construção e implantação. São basicamente bene- fícios e melhorias os quais propiciam um ambiente de trabalho mais agradável, versátil, flexível, poderoso, eficiente e econômico.

agradável, versátil, flexível, poderoso, eficiente e econômico. Tecnologia em Análise e Desenvolvimento de Sistemas

Tecnologia em Análise e Desenvolvimento de Sistemas

Introdução

1.6.1. Compartilhamento de recursos

Uma vez que a rede possibilita que os recursos de um computador

possam ser acessados pelos demais, então ela abre a possibilidade de

se compartilhar esse recurso. Esse recurso pode ser, por exemplo, uma

impressora, uma pasta ou diretório contendo arquivos ou um banco de dados de uso comum, uma área de grande espaço de armazenamento em disco, um programa que realiza uma tarefa útil aos demais compu- tadores, uma rotina que devolve um resultado importante para os de- mais computadores, um dispositivo especial não presente nos demais computadores, uma CPU bastante poderosa, uma grande quantidade de memória RAM, adequada à execução de programas que manipulam grandes volumes de dados, etc.

O compartilhamento de recursos é talvez a face mais visível dos benefícios ao

usuário advindos da utilização de um sistema de computadores em rede.

1.6.2. Confiabilidade

Uma vez que a rede possibilita que os computadores possam trocar

mensagens e dados de uma maneira fácil e eficiente, pode-se utilizar

a rede como um mecanismo de aumentar a confiabilidade do sistema como um todo.

Imaginemos que os usuários mantém arquivos importantes em seus computadores, fruto de seus esforços e talentos, individuais ou em grupo. Esses arquivos podem ser programas, relatórios, planilhas, do- cumentos, imagens, enfim, produto do trabalho dos mesmos e podem conter informações importantes, time-critical, essenciais, para o ne- gócio da empresa. Imagine o desastre que ocorre quando o hard-disk da estação de trabalho de um funcionário falha ao ser ligado no início do expediente do dia seguinte, e justamente naquele disco estão todos os relatórios e planos a serem apresentados a um cliente ou futuro cliente importante.

A existência de uma rede poderia ter ajudado a, se não evitar por com-

pleto esse desastre, minimizar seus efeitos. Uma estratégia possível nes-

ses casos é agregar um computador seguro ao ambiente, acessível pelas estações de trabalho dos funcionários e na qual cada um cria cópias de segurança de sua produção diária ao final do expediente. Chamamos esse computador de seguro porque ele pode ser composto de elemen- tos de hardware e software mais tolerantes a falhas e dessa maneira, ser menos propenso a perda de informações. Logicamente, os usuários que desejam esse seguro para perda de dados devem, diariamente, realizar um “contrato” com esse serviço, passando a ele seus dados preciosos.

Redes de Computadores

22
22

Capítulo 1

Usuários mais distraídos devem implementar uma rotina automatizada em seus computadores que realiza a cópia automaticamente ou que ao menos recorda-o de que deve fazê-la.

Diversos sistemas de gerenciamento de banco de dados (SGBD) pos-

suem mecanismos automáticos de replicação de suas bases de dados en- tre diversos servidores em uma rede, garantindo integridade das réplicas

e disponibilidade automática em caso de falha de um dos servidores.

1.6.3. Modularidade

Uma das estratégias mais eficientes na construção de sistemas grandes ou complexos é a construção modular. Um sistema modular é aquele em que suas diversas tarefas, serviços e operações foi subdividida em uni- dades independentemente projetadas e implementadas. Essas unidades, que em tempo de projeto se traduzem em subprogramas (procedimen- tos e funções) são elementos que são invocados pelos programas e tam- bém entre eles mesmos. Certos módulos podem ser compartilhados por diversos programas ou por outros módulos, e dessa maneira encaramos esse tipo de módulo como módulo provedor de serviços, pois a tarefa que realiza é um serviço comum e útil a vários programas ou módulos.

As redes permitem que um determinado de uso muito comum ou im-

portante seja disponibilizado como um recurso da rede, havendo meca- nismos para que um programa ou módulo de programa invoque a sua execução. O módulo de uso comum torna-se um módulo provedor de serviços na rede e, sendo ele usualmente um subprograma, tal técnica

é denominada de chamada remota de procedimento (RPC – Remote Procedure Call).

Muitos sistemas do tipo cliente-servidor são projetados como um

sistema modular onde certos módulos são provedores de serviços comuns aos demais, os quais são transformados em procedimen- tos remotos e residentes em máquinas servidoras.

tos remotos e residentes em máquinas servidoras. 1.6.4. Escalabilidade Quando a capacidade de trabalho de um

1.6.4. Escalabilidade

Quando a capacidade de trabalho de um computador chega ao seu limite, usualmente o mesmo é substituído por um modelo mais novo, de maior

Tecnologia em Análise e Desenvolvimento de Sistemas

Introdução

capacidade. Porém, nem sempre é possível ou economicamente viável adquirir um único computador com uma capacidade de processamento ao nível necessário ou desejado. A solução nesses casos em geral recaem na implantação de um grupo de computadores-servidores dividindo a carga de trabalho do serviço em questão, conforme foi comentado.

Quando a capacidade de suportar a carga de trabalho desse grupo de computadores estiver no seu limite, pode-se agregar mais um computa- dor ao grupo, o qual vem somar sua força de trabalho e suprir a carên- cia, voltando o desempenho a níveis aceitáveis. O termo escalabilidade diz respeito à capacidade da rede como um todo - computadores e o subsistema de comunicação de dados, de somar recursos e/ou serviços dos equipamento anexados à ela de uma maneira uniforme e linear, de modo que a quantidade de recursos total seja um somatório de todos eles. Por exemplo, se adicionamos um novo computador à rede, agre- gando-o ao grupo de computadores que fornece um certo serviço, então a capacidade de atender pedidos do referido serviço deve aumentar.

De um modo ideal, a capacidade deve aumentar proporcionalmente ao poder e recursos do novo computador.

Considerações Sobre Escalabilidade

Quando necessitamos que um serviço de rede possua boa escalabili- dade, a rede em si também precisa possuir boa escalabilidade de modo que a escalabilidade global do serviço seja boa, uma vez que a rede é essencial para o funcionamento do serviço. Fazemos então aqui uma distinção entre a escalabilidade de uma aplicação e a escalabilidade da rede. A escalabilidade de uma aplicação – por exemplo, um serviço de rede sendo atendido por um grupo de computadores-servidores – é boa ou ruim conforme a capacidade de atendimento de pedidos desse ser- viço aumenta proporcionalmente ao número de servidores e ao poder computacional destes.

A escalabilidade da rede, por outro lado, é a capacidade da mesma man- ter o nível de serviço dentro de limites toleráveis mesmo quando mais computadores são conectados à ela. Essa definição de escalabilidade da rede tem a ver com o seu desempenho. Uma outra definição de escala- bilidade da rede diz respeito à quantidade de computadores que pode-se conectar à mesma rede, e essa característica tem a ver com a sua capa- cidade de expansão.

Quando é necessário conectar-se mais equipamentos à uma rede, a pos- sibilidade de aumentar a quantidade de canais, cabos ou equipamentos de comunicação da mesma de uma maneira simples e uniforme dita a

Redes de Computadores

Capítulo 1

sua escalabilidade a nível de expansão física. Uma rede com baixa esca- labilidade a nível de expansão não permite ou torna difícil o aumento do número de computadores conectados à ela.

1.6.5. Segurança

As redes de computadores podem ser empregadas com o objetivo de aumentar a segurança de dados, informações e programas. Com a mas- sificação do uso de microcomputadores operando com sistemas opera- cionais dotados de mecanismos de validação de acesso e de autentica- ção fracos ou inexistentes, notoriamente PCs rodando MS-Windows, é virtualmente impossível deixar alguma informação sigilosa armazenada no disco de um microcomputador desse tipo e acreditar que ninguém que possa ter acesso à máquina possa descobri-la.

Imagine o funcionário que diariamente gera documentos e relatórios contendo informações sigilosas sobre os negócios de sua empresa. Deixar esses documentos no disco local de sua estação de trabalho não impede que, ao terminar o expediente, um “espião” adentre seu gabinete, ligue o computador, vasculhe seu disco e faça copias em dis- co flexível dos mesmos.

No dia seguinte, é improvável que o funcionário perceba que isto acon- teceu, haja visto que a operação de furto dos dados não deixou rastros. De fato, o espião não apagou nenhum dado, ele apenas “fotografou-os”. Mas então, como uma rede poderia melhorar a segurança dos dados dessa empresa? De uma certa maneira, a resposta passa pela adoção pela empresa de uma nova metodologia de trabalho, a qual pode tanto in- crementar a confiabilidade e a disponibilidade de seus dados quanto a segurança dos mesmos.

Em primeiro lugar, instala-se um equipamento dotado de um sistema operacional de rede de alta confiabilidade e segurança, o qual é virtual- mente a prova de bisbilhoteiros pois o acesso a qualquer de seus recur- sos passa por mecanismos de autenticação robustos. Em segundo lugar, orienta-se os usuários possuidores de informações sigilosas a não deixa- las armazenadas localmente em seus PCs mas acessa-las diretamente do servidor de segurança, cujo acesso só é permitido com a apresentação de fichas de autorização – senhas - e possivelmente de chaves de autenti- cação. Além disso, as informações sigilosas só transitam pela rede entre servidor e estação de trabalho de forma criptografada – cifrada. Dessa maneira, ter acesso à estação de trabalho daquele funcionário não pos- sibilita ter acesso aos dados sigilosos.

Tecnologia em Análise e Desenvolvimento de Sistemas

Introdução

É preciso mais do que isso para acessa-los e assim compensa-se a fal-

ta de segurança intrínseca da estação de trabalho utilizando-se a rede

e um servidor de segurança. Muitas soluções para prover maior segu-

rança são possíveis em ambientes de rede, mas todas elas basicamente baseiam-se em senhas, chaves de autenticação, criptografia e uma série de outros critérios.

Considerações Sobre Segurança

Muitas pessoas afirmam que o simples fato de se colocar computadores ope- rando em um ambiente de rede torna-os intrinsecamente menos seguros. De um certo modo, computadores em rede podem oferecer seus serviços aos demais participantes da rede e assim imagina-se que eles abrem uma porta que possibilita invasões e a perda de sua autonomia e privacidade.

De um certo modo, as pessoas que assim pensam não estão totalmente equivocadas, porém, devemos lembrar que em primeiro lugar o computa-

dor que disponibiliza recursos, sejam dados, serviços ou dispositivos, tem

o poder de arbitrar sobre a forma como esses recursos são acessados e por

quem, uma vez que ele é dotado do princípio da autonomia. Dessa maneira, ele pode autorizar ou negar acesso aos seus recursos de uma maneira sele- tiva, utilizando-se de diversas metodologias de segurança e de critérios. Por exemplo, um certo recurso só pode ser acessado caso o requisitante apre- sente uma senha secreta, que somente usuários autorizados possuem. Essas senhas são comumente denominadas fichas de autorização e os provedores de serviço utilizam-nas para autenticar um cliente.

Outros recursos podem ter seu acesso restrito apenas a usuários de de- terminadas máquinas-cliente, e para tanto o servidor utiliza o critério de endereço de origem do pedido para permitir ou negar o acesso. In- formações sigilosas, tais como senhas, transitam através da rede apenas de forma cifrada, impedindo que sejam roubadas. Assim, podemos di- zer que a segurança da rede depende basicamente de:

Fichas de autorização (senhas)

Chaves de autenticação (keys)

Mecanismos de criptografia

Gerenciamento de acesso

Configuração de segurança

Logicamente, a segurança de um computador, seja ele conectado à uma rede ou não, pode ser comprometida caso qualquer um dos elementos ci- tados acima apresente uma falha. Por exemplo, um administrador de sis- temas descuidado anotou a senha de acesso ao banco de dados de sua em-

Redes de Computadores

26
26

Capítulo 1

presa em um pequeno pedaço de papel. Um certo dia, ao necessitar acessar os sistemas, percebe que esqueceu-se da senha e então retira o lembrete da carteira para recordar-se dela. Porém, ao terminar seu serviço, esquece o lembrete sobre a mesa e vai embora. Nessas condições, existe uma chance muito grande de que alguém mal intencionado venha a ter posse dessa ficha de autorização e possa utiliza-la de maneira ilegal no futuro.

Essa não é a única forma em que os mecanismos de segurança podem ser quebrados. Se os algoritmos de autenticação de segurança, a cripto- grafia e o mecanismo de controle de acesso do sistema possírem um bug que abre uma brecha na segurança, haverão potenciais problemas que podem em algum momento ser descobertos e explorados. Da mesma maneira, nenhum mecanismo de segurança resiste a uma má configu- ração dos seus parâmetros de segurança, normalmente atribuídos pelo gerente de redes.

De um certo modo, computadores em rede podem ter sua segurança comprometida tanto quanto a de um computador não conectado a uma rede. Basicamente, a segurança de um computador mantem-se desde que certos cuidados sejam tomados, tanto pelos seus administradores quanto pelo grupo de usuários. Talvez a parte mais difícil seja a de educar os usu- ários a terem cuidado com suas senhas e a convence-los de que, ainda que as senhas que possuam possam à primeira vista comprometer apenas os seus próprios arquivos e programas, isto não é verdade. O primeiro passo para a quebra total da segurança de um sistema geralmente começa por obter-se uma autorização de acesso aparentemente inócua.

Faça uma pesquisa na Internet e relacione algumas vulnerabilida- des no uso dos computadores e das redes

algumas vulnerabilida- des no uso dos computadores e das redes Tecnologia em Análise e Desenvolvimento de

Tecnologia em Análise e Desenvolvimento de Sistemas

1.6.6. Economia

Introdução

As redes de computadores podem ser adotadas com o objetivo de di- minuir custos. De um certo modo, migrar para um ambiente de rede implica em investimentos, o que a primeira vista pode levar a pensar-se que a aquisição da rede é um gasto que não vai pagar-se. Porém, se re- cordarmos os objetivos citados até aqui – compartilhamento de recur-

sos, confiabilidade, escalabilidade e segurança, fica claro após algumas considerações que, a médio e longo prazo o investimento inicial é pago

e muito mais.

O

compartilhamento de recursos possibilita que elementos caros – im-

pressoras a laser, plotters, scanners, dispositivos de armazenamento de alto desempenho e de alta capacidade, processadores de alta velocidade

– sejam compartilhados com máquinas menos poderosas, porém mais

baratas. A adoção do ambiente de computadores pessoais – PCs – em rede é uma solução economicamente de pouco investimento e de alta eficiência quando comparada aos ambientes de computador central (mainframes) e terminais de outrora. Assim, determinados recursos de custo elevado podem ser adquiridos, agregados à rede de PCs e compar- tilhados por todos, representando grande economia.

Um exemplo clássico dessa configuração são as redes de PCs dota- das de um computador-servidor de arquivos de grande capacidade.

O custo desse servidor pode ser de 4 a 8 vezes o custo de uma única

estação, porém ele pode atender a dezenas ou até centenas delas. A ele-

vada escalabilidade das redes também tem um efeito similar, pois não

é necessário substituir-se todos os equipamentos da rede por modelos

mais poderosos quando a carga de serviços ficar alta, uma vez que é possível agregar-se um ou mais equipamentos de custo baixo a médio que venham a adicionar poder de processamento e suprir a carência de poder computacional.

Citando o exemplo anterior, caso o servidor de arquivos torne-se sobre- carregado, adquire-se um novo servidor e o mesmo é conectado à rede, dividindo a carga de trabalho com o antigo servidor. Dessa forma, com um novo investimento relativamente pequeno supre-se a necessidade vigente e além disso preserva-se os antigos investimentos. De um modo geral, o custo de um equipamento servidor para um ambiente de PCs

é infinitamente menor do que um computador de grande porte. Essa

comparação ainda é válida quando compara-se o custo de uma rede de computadores pessoais e seus servidores com o de um computador cen- tral de grande porte de poder similar.

Redes de Computadores

28
28

Capítulo 1

Considerações Sobre Clientes e Servidores

O modelo cliente-servidor é uma das abordagens mais tradicio- nais para a implementação de serviços em rede. Em um sistema cliente-servidor, as estações-cliente enviam pedidos ou requisi- ções às estações-servidoras pedindo para que este realize alguma operação e/ou envia uma resposta. Assim, a comunicação geral- mente toma a forma mostrada na Figura 7.

geral- mente toma a forma mostrada na Figura 7. Figura 7 - O modelo cliente-servidor A
geral- mente toma a forma mostrada na Figura 7. Figura 7 - O modelo cliente-servidor A

Figura 7 - O modelo cliente-servidor

A estações servidoras rodam um processo servidor, e as estações-cliente rodam um processo-cliente. Usualmente existem muitas estações e pro- cessos-cliente fazendo pedidos a uma única estação servidora, haven- do portanto um número muito maior de clientes do que servidores, tal como mostrado na Figura 8.

clientes do que servidores, tal como mostrado na Figura 8. Figura 8 - Uma rede contendo

Figura 8 - Uma rede contendo estações de trabalho e um servidor.

Discuta com seus colegas e professor tutor sobre o futuro das redes. Como você acha que as redes funcionarão daqui a 5 ou 10 anos?

seus colegas e professor tutor sobre o futuro das redes. Como você acha que as redes
Como você acha que as redes funcionarão daqui a 5 ou 10 anos? Tecnologia em Análise

Tecnologia em Análise e Desenvolvimento de Sistemas

Introdução

Introdução Neste capítulo tivemos o primeiro contato com as redes de compu- tadores acompanhamos um pequeno
Introdução Neste capítulo tivemos o primeiro contato com as redes de compu- tadores acompanhamos um pequeno

Neste capítulo tivemos o primeiro contato com as redes de compu- tadores acompanhamos um pequeno histórico do seu surgimento e revisamos alguns conceitos importantes.

No próximo capítulo vamos aprender sobre os componentes que for- mam uma rede e para que servem cada um destes itens.

vamos aprender sobre os componentes que for- mam uma rede e para que servem cada um

Redes de Computadores

29
29

CapítuloCapítulo 11

Tecnologia em Análise e Desenvolvimento de Sistemas

COMPONENTES DAS REDES As redes de computadores são classificadas de acordo com diver - sos

COMPONENTES DAS REDES

As redes de computadores são classificadas de acordo com diver- sos critérios, os quais determinam suas características e também sua arquitetura. Nos próximos tópicos iremos abordar em deta- lhes as classificações, termos e conceitos envolvendo os compo- nentes de hardware e de software das redes de computadores. É hora portanto de atentarmos para os aspectos técnicos envolven- do o design de uma rede.

os aspectos técnicos envolven- do o design de uma rede. 2.1. O hardware das redes 31

2.1. O hardware das redes

31
31
do o design de uma rede. 2.1. O hardware das redes 31 Não existe uma categorização
do o design de uma rede. 2.1. O hardware das redes 31 Não existe uma categorização

Não existe uma categorização geral que permita classificar todos os tipos de redes existentes, porém dois parâmetros são universalmente aceitos como parte do conjunto de características de qualquer rede:

a tecnologia de transmissão e a sua escala. Iremos a seguir examinar esses dois aspectos.

As redes de computadores podem ter seu sistema de transmissão classificado como:

Redes de difusão (broadcast networks), ou

Redes ponto-a-ponto (point-to-point networks).

Redes de difusão, ou também chamadas de redes de canais de di- fusão, são aquelas que empregam uma tecnologia singular para realizar a transmissão de mensagens entre as suas máquinas. Elas utilizam-se de um subsistema de transmissão de mensagens úni- co e compartilhado, ao qual todas as estações conectam-se.

co e compartilhado, ao qual todas as estações conectam-se. Esse subsistema é também denominado de canal
co e compartilhado, ao qual todas as estações conectam-se. Esse subsistema é também denominado de canal

Esse subsistema é também denominado de canal de transmissão. Quando ocorre uma transmissão, todas as estações conectadas ao canal de trans- missão ouvem a chegada dessa mensagem, porém, pelo fato de que a mensagem carrega consigo um campo de endereçamento contendo o en-

Capítulo 2

dereço da estação destinatária, somente ela irá copiar e processar a men- sagem, sendo que as demais irão ignora-la ou descarta-la. Para que esse mecanismo funcione, toda estação deve, ao ouvir o início da transmissão de uma mensagem, verificar se o código no campo de endereçamento corresponde ao seu próprio endereço ou não. Podemos vislumbrar o pro- cesso de uma transmissão em uma rede de difusão na Figura 9.

de uma transmissão em uma rede de difusão na Figura 9. Figura 9 - Uma transmissão

Figura 9 - Uma transmissão em uma rede difusão. “A” é estação remetente.

Redes de difusão usualmente permitem a transmissão de mensagens com formas de endereçamento especiais, codificando-se os bits de en- dereço de destino com padrões específicos. Há três formas possíveis de endereçamento em redes de difusão:

Unicast

Broadcast

Multicast

Quando uma mensagem é transmitida na modalidade unicast, o seu campo de endereço de destino contém o endereço de uma única e es- pecífica máquina da rede. Ao ser transmitida, apenas ela irá copiar e processar a mensagem, sendo que as demais irão ignora-la.

Quando uma mensagem é transmitida na modalidade broadcast, o seu campo de endereço de destino contém um código especial que especí- fica todas as máquinas da rede. Ao ser transmitida, todas irão copiar e processar a mensagem, sendo que nenhuma deve ignora-la.

Quando uma mensagem é transmitida na modalidade multicast, o seu campo de endereço de destino contém um código de endereço que es- pecifica um grupo de máquinas da rede. Ao ser transmitida, apenas as máquinas pertencentes àquele grupo irão copiar e processar a mensa- gem, sendo que as demais irão ignora-la.

Tecnologia em Análise e Desenvolvimento de Sistemas

Componentes das Redes

Desenhe uma rede e faça um esquema que represente o fluxo das men- sagens quando utilizada a modalidade unicast, multicast e broadcast

quando utilizada a modalidade unicast, multicast e broadcast Redes ponto-a-ponto, ou também chamadas de redes de

Redes ponto-a-ponto, ou também chamadas de redes de canais ponto- a-ponto, são aquelas que empregam canais dedicados entre pares de máquinas com a finalidade de permitir a realização das transmissão de mensagens. As máquinas fazem portanto parte integrante do subsiste- ma de transmissão de mensagens.

Recordando a definição de uma rede de computadores, vimos que ela deve ser provida de um subsistema de comunicação de mensagens fácil de ser utilizado, bastando a uma estação remetente possuir o endereço de uma estação destinatária para que esta possa requisitar ao canal a transmissão de sua mensagem, a qual deverá ser entregue ao destinatá- rio sem maiores complicações por parte do remetente.

rio sem maiores complicações por parte do remetente. Figura 10 - Rede Ponto-a-Ponto Como podemos observar

Figura 10 - Rede Ponto-a-Ponto

Como podemos observar na Figura 10, para que uma mensagem saia da estação-origem (remetente) e chegue até o destino (destinatário), ela pode tomar caminhos diversos pois não existe um caminho entre uma origem e um destino. Dessa maneira, diferentes rotas de diferentes com- primentos são possíveis e portanto os algoritmos de roteamento desem- penham um papel fundamental em redes ponto-a-ponto.

Redes de Computadores

33
33
34
34

Capítulo 2

2.1.1. Classificação de escala das redes

A Segunda grande classificação que se faz de uma tecnologia de rede é quanto à sua escala, ou seja, sua área de abrangência geo- gráfica. Basicamente, elas são classificadas nesse quesito em:

Redes Locais (LANs)

Redes Metropolitanas (MANs)

Redes de Longa Distância (WANs)

(MANs) • Redes de Longa Distância (WANs) Redes Locais (LANs) são redes de abrangência geográfica

Redes Locais (LANs) são redes de abrangência geográfica pequena (0,1 a 2Km). Redes Metropolitanas (MANs) são redes de abrangência geo- gráfica média (1km a 20Km) e redes de Longa Distância (WANs) são redes de abrangência geográfica grande (10Km a 1000Km).

Em cada uma dessas classificações temos um conjunto de soluções tec- nológicas distintos pois esses tipos de rede destinam-se a aplicações dis- tintas e muitas vezes a distancia geográfica envolvida impede o uso de certas tecnologias. Veremos cada uma delas a seguir.

2.1.2. Redes locais – LANs

Redes locais são redes de pequena abrangência geográfica. Uma rede local normalmente é propriedade de uma entidade privada, seja uma empresa, um negócio ou uma pessoa, estando esta normalmente insta- lada dentro dos limites de um prédio, grupo de prédios ou um edifício. São utilizadas para se conectar computadores pessoais e estações de tra- balho em escritórios e fábricas com a finalidade de compartilhar recur- sos e permitir o intercâmbio de informações. As LANs distinguem-se de outros tipos de redes por causa de três de suas características: (1) seu tamanho, (2) sua tecnologia de transmissão e (3) sua topologia.

As LANs tem seu tamanho restrito – o número de estações e o compri- mento de seus canais de comunicação são limitados. Estas limitações normalmente não se devem ao fato de não haver soluções tecnológicas para que um maior número de máquinas ou maiores distâncias sejam possíveis, mas sim devido ao fato de que limitando essas características consegue-se determinar o pior tempo de espera que uma estação neces- sita esperar para poder transmitir no canal, ou seja, o maior tempo de espera é limitado ou quase. O conhecimento, de antemão, desse limite, além de simplificar o seu gerenciamento, torna possível algumas estraté- gias de projeto e de uso dessas redes, não possíveis em outros tipos.

Tecnologia em Análise e Desenvolvimento de Sistemas

Componentes das Redes

As LANS utilizam uma tecnologia de transmissão consistindo tipica- mente de um único cabo ou sistema de cabeamento ao qual todas as máquinas conectam-se. As tecnologias de LAN mais tradicionais ope- ram em velocidades entre 10 e 100Mbps, apresentam baixos tempos de atraso e taxas de erro muito baixa. Algumas tecnologias de LAN mais novas podem operar em velocidades maiores, algumas chegando até a centenas de megabits por segundo. Utilizaremos a medida de velocida- de de linhas de transmissão expressa em megabits/s (Mb/s ou Mbps). Um megabit corresponde a 1,000,000 bits.

As LANs são geralmente redes de difusão. Várias topologias são possí- veis para redes locais, sendo que o barramento, o anel e a estrela são das mais utilizadas.

2.1.3. Redes metropolitanas – MANs

Uma rede metropolitana, ou MAN, é basicamente uma versão em gran- de escala de uma LAN e normalmente utiliza tecnologia similar. Ela pode cobrir a área de um grande campus universitário, de uma grande planta fabril ou de uma cidade inteira. As MANs podem ser tanto pro- priedade privada quanto do poder público. As MANs podem suportar serviço tanto dados como voz, sendo que uma situação comum é ela estar relacionada com as operadoras de TV a cabo. Elas podem ope- rar utilizando apenas equipamento de repetição de sinal a cada grande lance de cabeamento, não sendo necessário dispositivos especiais ou de chaveamento de pacotes de informação, o que simplifica o projeto.

A principal razão para se distinguir as LANs das MANs é o fato de que foram adotados padrões separado para MANs e LANs.

2.1.4. Redes de longa distância – WANs

As redes de longa distância – ou WANs, são redes que abrangem uma grande área geográfica, frequentemente a área de um estado, país ou continente. Elas contém uma coleção de computadores cuja tarefa bá- sica é rodar os programas dos usuários ou o sistema e os aplicativos de um negócio. Utilizaremos a denominação tradicional e chamare- mos esses computadores de hosts, apesar de que outros termos são frequentes na literatura, tais como end-system. Os hosts de uma WAN são interconectados através de uma rede de comunicação, ou simples- mente chamada de rede. A tarefa da rede é transportar mensagens de um remetente para um destinatário (computador de origem para um computador de destino).

Na maioria das redes de longa distância, a rede consiste de dois compo-

Redes de Computadores

Capítulo 2

nentes distintos: (1) as linhas de transmissão e (2) os elementos chavea- dores. As linhas de transmissão, também chamadas de circuitos, canais ou troncos, conseguem levar bits de uma máquina para outra.

Os elementos chaveadores são computadores especializados usados para interconectar duas ou mais linhas de transmissão. Quando dados che- gam através de uma das linhas, o elemento chaveador decide qual dos demais canais será utilizado como canal de saída para repassar adiante esses dados. Existem várias denominações para esses elementos chavea- dores: nó chaveador de pacotes (PSN), processador de mensagens de in- terface (IMP), sistema intermediário (IS) e até data switching exchanges (DSE), entre outros. Atualmente, a Internet utiliza tais equipamentos, porém no seu jargão de termos ela os denomina roteadores, e utilizare- mos este termo daqui por diante.

Nas redes de longa distância, usualmente os roteadores fazem a conexão de uma rede local à um canal de transmissão, o qual conecta-se a outros roteadores, os quais podem ou não conectar-se a outras rede locais. Em geral, as estações de trabalho dos usuários (hosts) dessa rede conectam- se apenas aos segmentos de rede local, porém é possível em certos casos conectar um host diretamente no roteador. O conjunto de roteadores e de linhas de comunicação formam a rede. Os hosts utilizam-se da rede para comunicarem-se.

A maioria das WANs utiliza numerosas linhas de comunicação de dados, sendo essas frequentemente baseadas nas tecnologias de comunicação das empresas de telefonia e comunicação de dados e, também frequen- temente, pertencente à elas. Cada linha de comunicação conecta um par de roteadores, o que caracteriza as WANs como sendo tipicamente redes ponto-a-ponto.

Se dois roteadores não compartilham de uma mesma linha mas pre- cisam enviar mensagens um para o outro, eles não podem fazer isso diretamente, porém eles podem faze-lo indiretamente. Relembrando o quesito interconectados da definição de redes, temos que a comunica- ção entre qualquer par de computadores da rede deve ser realizada com um simples pedido de transmissão pelo remetente. No caso das redes de longa distância, os mecanismos de transmissão de uma rede ponto-a- ponto são empregados, o que implica cooperação de todos os roteadores intermediários na comunicação entre dois pares de máquinas.

Quando uma mensagem é enviada de um roteador para outro de modo indireto, cada roteador intermediário recebe essa mensagem, armazena-a em memória temporária, analisa o endereço de destino, coloca-a na fila de transmissão do canal escolhido e transmite-a adian-

Tecnologia em Análise e Desenvolvimento de Sistemas

Componentes das Redes

te. Esse processo é chamado de ponto-a-ponto, ou também de armaze- ne-e-passe-adiante (store-and-forward). Redes que operam com essa técnica, em especial a análise do destino, são chamadas de redes de chaveamento de pacotes.

Praticamente todas as redes de longa distância (exceto aquelas que em- pregam satélites de comunicação) empregam redes do tipo armazene- e-passe-adiante. Quando os pacotes são pequenos e todos do mesmo comprimento, eles são chamados de células.

Cite, exemplos de redes LAN, MAN e WAN

Cite, exemplos de redes LAN, MAN e WAN

Neste capítulo aprendemos sobre os componentes que formam uma rede e para que servem cada um destes itens. Também descobrimos como classificar as redes em relação distância que elas alcançam.

que servem cada um destes itens. Também descobrimos como classificar as redes em relação distância que

No próximo capítulo vamos aprender como classificar as redes de acordo com o seu desenho, ou seja, a forma como seus compo- nentes estão interligados.

Redes de Computadores

37
37

Capítulo 2

Tecnologia em Análise e Desenvolvimento de Sistemas

TOPOLOGIAS DAS REDES Topologia é o estudo de arranjos de interconexão de nós, e é

TOPOLOGIAS DAS REDES

Topologia é o estudo de arranjos de interconexão de nós, e é ad- vindo do estudo da teoria dos grafos. Grafos são representações de elementos relacionados. Um elemento é denominado nó e uma relação entre dois elementos é representada por um arco.

de elementos relacionados. Um elemento é denominado nó e uma relação entre dois elementos é representada

Uma rede de computadores pode ser representada por um grafo, onde cada nó corresponde a um computador e onde cada arco representa um canal de comunicação ou a possibilidade de comu- nicação entre eles. A topologia de um grafo diz respeito à forma de interconexão desses nós e pode ser representada graficamente ou diagramada.

de um grafo diz respeito à forma de interconexão desses nós e pode ser representada graficamente
39
39

Os diagramas de interconexão de um conjunto de nós tem formas ge- ométricas conhecidas e assim é comum chamar cada topologia (exem- plos na Figura 11) pelo nome da forma geométrica que ela aparenta.

Figura 11) pelo nome da forma geométrica que ela aparenta. Figura 11 - Algumas topologias de

Figura 11 - Algumas topologias de redes de computadores

40
40

Capítulo 3

As topologias são utilizadas para diagramar ou projetar as cone- xões entre os computadores de uma rede. Existe basicamente duas classes de interconexão de computadores

Topologias ponto-a-ponto

Topologias multiponto

• Topologias ponto-a-ponto • Topologias multiponto As topologias ponto-a-ponto (Figura 12) são aquelas que

As topologias ponto-a-ponto (Figura 12) são aquelas que descrevem as interconexões em uma rede em que os canais de transmissão interco- nectam apenas pares de computadores, ou seja, os canais são dedicados à comunicação entre dois computadores vizinhos. Não é de surpreender portanto que as redes de tecnologia ponto-a-ponto são sempre repre- sentadas por topologias dessa espécie.

são sempre repre- sentadas por topologias dessa espécie. Figura 12 - Topologia Ponto-a-Ponto As topologias multiponto

Figura 12 - Topologia Ponto-a-Ponto

As topologias multiponto (Figura 13) são aquelas que descrevem as interconexões em uma rede em que os canais de transmissão interco- nectam diversos computadores simultaneamente, ou seja, os canais são compartilhados por um grupo de computadores vizinhos. Não é de sur- preender portanto que as redes de tecnologia de difusão são sempre re- presentadas por topologias multiponto.

são sempre re- presentadas por topologias multiponto. Figura 13 - Uma topologia Multiponto Tecnologia em Análise

Figura 13 - Uma topologia Multiponto

Tecnologia em Análise e Desenvolvimento de Sistemas

Topologias das Redes

A forma de utilização do meio físico também é classificada. Os

canais de comunicação são classificados em três categorias (Figura 14):

Canais simplex: são canais capazes de realizar transmissão em apenas um dos sentidos,

Canais half-duplex: são canais capazes de realizar transmissão em ambos os sentidos, porém apenas um por vez,

Canais full-duplex: são canais capazes de realizar transmissão em ambos os sentidos e simultaneamente.

transmissão em ambos os sentidos e simultaneamente. Figura 14 - Formas possíveis de funcionamento dos canais
transmissão em ambos os sentidos e simultaneamente. Figura 14 - Formas possíveis de funcionamento dos canais

Figura 14 - Formas possíveis de funcionamento dos canais de comunicação

A seguir, examinaremos alguns exemplos de topologias, os quais de-

nominaremos de topologias básicas ou primitivas, uma vez que a par- tir delas pode-se analisar topologias mistas que compõem-se de uma mescla de duas ou mais topologias primitivas. São elas: topologia em barramento, estrela, anel e árvore. Primeiramente, veremos a título de curiosidade a chamada topologia completa.

3.1 Topologia em barramento (Bus)

A topologia em barramento (Figura 15) é uma topologia intuitiva quan-

do se imagina uma topologia de multiponto e também quando se ima- gina uma rede de difusão. Nela, todos os computadores conectam-se à um mesmo e único canal de comunicação compartilhado.

O barramento é uma das topologias mais utilizadas em redes de difusão.

A fim de evitar conflitos de acesso, os mecanismos de arbitramento e alo- cação de canal são utilizados extensivamente nessas redes, uma tais con- flitos são causadores de atrasos e perda de desempenho consideráveis.

Redes de Computadores

41
41

Capítulo 3

Capítulo 3 Figura 15 - Uma rede com topologia em barramento A topologia em barramento apresenta

Figura 15 - Uma rede com topologia em barramento

A topologia em barramento apresenta algumas características excepcio-

nais, tais como a simplicidade no design e as baixas latências de trans-

missão, uma vez que todas as transmissões possuem um comprimento de comunicação curto, direto da origem ao destino.

Uma grande desvantagem do barramento é o fato de que o barramento em si é um ponto de falha único (SPOF – Single point of fail) e portanto, caso o barramento apresente problemas e falhe, todos os computado- res sentirão os efeitos dessa falha e não poderão comunicar-se entre si. Outro problema é a sua escalabilidade em relação ao desempenho, mas esta varia muito de caso para caso. Em termos de expansibilidade, em teoria não há limite para a quantidade de computadores conectados ao barramento, mas a escalabilidade nesse caso depende basicamente das aplicações que se executa nas máquinas.

É possível executar uma aplicação em uma rede de barramento com

muitos computadores desde que a carga de mensagens transmitida pela

aplicação fique dentro de certos limites. Se a aplicação exigir uma carga de transmissão de mensagens elevada, a escalabilidade é pequena pois

o canal é único e compartilhado, podendo saturar-se rapidamente. A

carga de trabalho determina portanto se a rede pode operar com um número maior ou menor de máquinas.

A topologia em barramento é o caso extremo das topologias multiponto.

3.2 Topologia em anel (Ring)

A topologia em anel (Figura16) consiste de uma sucessão linear de com-

putadores conectados por canais ponto-a-ponto, sendo que essa cadeia de conexões fecha-se em si mesmo caracterizando portanto uma rede fechada.

O anel é uma topologia ponto-a-ponto não-extrema, onde cada computa-

dor conecta-se a apenas dois canais de comunicação. Ela pode ser utilizado

tanto para redes de difusão quanto para redes ponto-a-ponto e os canais

Tecnologia em Análise e Desenvolvimento de Sistemas

Topologias das Redes

podem ser tanto do tipo simplex quanto full-duplex ou half-duplex, depen- dendo da forma de funcionamento e de fluxo de mensagens da rede em

questão

de funcionamento e de fluxo de mensagens da rede em questão Figura 16 - Uma rede

Figura 16 - Uma rede com topologia em anel

Assim, em uma algumas redes de topologia em anel as mensagens po- dem fluir em qualquer direção, enquanto que em outras estabelece-se uma única direção para o fluxo de mensagens.

O anel apresenta a excepcional qualidade de não apresentar pontos de

falha único. Se um dos canais de comunicação falhar, a rede pode em teoria reconfigurar-se de modo que a comunicação entre os nós man- tenha-se, ainda que distâncias de comunicação mais longas e maiores atrasos surjam e façam com que o desempenho geral caia.

A grande desvantagem dessa topologia para redes é em relação à sua

escalabilidade em relação ao número de máquinas (expansibilidade). A

razão disto é que quanto maior o número de computadores no anel, maiores as distâncias médias de comunicação e assim maiores são as latências. Em um anel com N computadores, as distâncias desde a co- municação direta entre máquinas vizinhas até a comunicação com dis- tâncias da ordem de N/2-1. Assim, quando as máquinas possuem um padrão e uma taxa de utilização da rede comparável, estima-se que as mensagens atravessam um caminho de comunicação de comprimento médio N/4 aproximadamente.

As redes possuem uma medida de comparação denominada latência e essa caracteriza o atraso introduzido por um elemento atuante em uma transmissão. Como a latência depende diretamente do comprimento médio de comunicação uma vez que cada nó intermediário contribui um pouco com o atraso, a latência cresce com o valor de N e portanto, para certas aplicações, esse atraso pode-se tornar problemático.

O anel é uma solução interessante no projeto de certos tipos de rede, e

é um meio-termo entre a topologia completa e o barramento, tanto em termos de número de canais quanto de conexões, além de ser em teoria

tolerante a algumas falhas.

Redes de Computadores

Capítulo 3

3.3 Topologia em estrela (Star)

A topologia em estrela (Figura 17) consiste em um conjunto de compu-

tadores dotados de canais de comunicação dedicados mas que conec- tam-se à um computador central. A estrela é também uma topologia do tipo ponto-a-ponto e não possui portanto canais dedicados.

A estrela tem claramente um ponto fraco: o seu elemento central é um

ponto de falha único. Quando ele apresentar problemas e falhar, todas

os nós vão sofrer as consequências de perder a comunicação com os demais. Porém, se um dos canais de comunicação falhar, a rede pode

em teoria reconfigurar-se de modo que a comunicação entre os demais nós mantenha-se, sem afetar as distâncias de comunicação e mantendo

o desempenho geral. Logicamente, o nó conectado àquele canal ficará

sem comunicação e os demais computadores perderão acesso aos possí-

veis serviços que ele oferece.

As distâncias de comunicação envolvidas em uma topologia em estrela é talvez seu ponto mais forte. O elemento central é o único intermedi- ário em todas as comunicações e assim as distâncias de comunicação são no máximo igual a 1. O elemento central pode ser um computador dedicado e específico, permitindo que várias comunicações simultâne- as ocorrem entre diversos pares de computadores da periferia. Porém, se a carga de trabalho chegar a satura-lo, o desempenho geral irá cair abruptamente.

a satura-lo, o desempenho geral irá cair abruptamente. Figura 17 - Uma rede com topologia em

Figura 17 - Uma rede com topologia em estrela

3.4 Topologia em árvore (tree) ou hierárquica

A topologia árvore é uma estrutura hierárquica de interconexão de nós. A

árvore inicia-se com um nó principal, no topo da hierarquia. O nó princi- pal representa o nível mais alto da hierarquia. Ele conecta-se à um grupo de nós em um nível imediatamente inferior, o qual representa o segundo

Tecnologia em Análise e Desenvolvimento de Sistemas

Topologias das Redes

nível da hierarquia. Os nós do segundo nível conectam-se aos nós do ter- ceiro nível e assim por diante. Essa estrutura de conexões é estrita, ou seja, os nós de um certo nível conectam-se apenas ao nível inferior, e cada nó de um certo nível possui apenas uma conexão ao nível superior.

A árvore possui diversas características interessantes. Em relação a pon-

tos de falha único, pode-se apontar o nó principal ou os nós de nível alto

na hierarquia como nós que podem causar grande impacto na rede caso falhem ou deixem de funcionar. Porém devemos nos atentar para o fato de que toda vez que um nó ou um canal falha, cria-se duas sub-árvores independentes que podem continuar a funcionar. A árvore é uma topo- logia que geralmente reflete a estrutura hierárquica da aplicação ou do negócio onde se insere. Por exemplo, essa rede pode refletir a organi- zação de um banco, onde o nó principal representa o equipamento de comunicação na agência-matriz do banco.

Os nós no segundo nível representam os equipamentos nas agências regionais, os nós no terceiro nível representam os equipamentos nas agências centrais das cidades onde o banco atua, no quarto nível os nós representam os equipamentos das agências de bairro e no quinto nível temos os equipamentos terminais, tais como terminais de con- sulta e de caixa.

Pode-se imaginar que essa rede roda uma aplicação distribuída, com- posta de servidores de programas, arquivos, banco de dados e outros, havendo grande replicação de informação por questões de segurança e também uma distribuição estratégica dos mesmos, como por exemplo

a existência de replicação dos dados dos clientes de uma determina-

da agência no computador servidor da agência central daquela cidade. Dessa maneira, minimiza-se o efeito da queda de um canal ou de um equipamento de comunicação, pois os ramos da árvore que continuam a operar tem acesso aos seus dados mais requisitados, pois explorou-se a característica da localidade de dados. Este sistema permite que, mesmo que o computador da agência central de uma cidade perca comunica- ção com o nível superior da hierarquia, os clientes nas agências daquela cidade podem continuar a consultar e movimentar suas contas, pois as informações das mesmas estão na sub-árvore ao nível três, ao nível da rede que interliga as agências da cidade.

Uma vez restabelecida a comunicação, os servidores de dados interagem entre si para reintegrar e consolidar os dados do banco com as possíveis alterações em cada servidor. Essa questão é típica das aplicações e dos sistemas de gerenciamento de banco de dados, porém a estrutura topo- lógica da rede reflete a distribuição de dados do sistema e a forma como ele se comporta quando falhas acontecem.

Redes de Computadores

Capítulo 3

Capítulo 3 Figura 18 - Uma rede com topologia árvore A topologia árvore (Figura 18) é

Figura 18 - Uma rede com topologia árvore

A topologia árvore (Figura 18) é uma das formas mais comuns encon-

tradas em redes de longa distância por conta dela permitir delegar com

facilidade domínios administrativos em diversos níveis. Ela permite também um bom gerenciamento de falhas e de desempenho ao permitir monitora-la em nós estratégicos.

Uma característica interessante da árvore é o fato de que ela pode reduzir

as distâncias de comunicação em uma rede composta de muitos compu-

tadores (centenas ou milhares) ao distribuí-los nos seus ramos. A comu-

nicação, para ocorrer com um grupo de máquinas vizinhas, tem uma dis- tância muito curta. Para que a comunicação entre computadores situados em um mesmo nível mas em outra sub-árvore ocorra, basta transmitir para o nó superior e em poucas etapas a transmissão se efetiva.

Ao dividir a rede em subdomínios, a árvore mantém tráfego entre má- quinas correlacionadas restrito à uma pequena região da rede. A árvore é normalmente empregada na organização de conjuntos de LANs inter- conectados e também de algumas MANs.

3.5 Topologias mistas

Topologias mistas (Figura 19) são aquelas obtidas da combinação das topologias básicas – o barramento, o anel, a estrela e a árvore. Topolo- gias mistas são empregadas visando obter o melhor de duas ou mais topologias.

Como exemplo, imaginemos uma topologia mista resultado da união de uma estrela e de um anel. Tal topologia seria extremamente tolerante à falhas de canal, graças à multiplicidade de conexões entre seus nós e da própria configuração anel, aliada a baixas latências de transmissão resul- tante do caminho de comunicação curto proporcionado pelo nó central.

Tecnologia em Análise e Desenvolvimento de Sistemas

Topologias das Redes

Topologias das Redes Figura 19 - Uma topologia mista anel + estrela Um outro exemplo que

Figura 19 - Uma topologia mista anel + estrela

Um outro exemplo que adiciona à uma rede a confiabilidade dos anéis seria aquele em que modifica-se uma topologia em árvore e consegue-se a formação de diversos anéis em diversos níveis, proporcionando con- fiabilidade e eficiência elevadas (Figura 20).

con- fiabilidade e eficiência elevadas (Figura 20). Figura 20 - Uma rede com topologia mista árvore

Figura 20 - Uma rede com topologia mista árvore + anéis

3.6 Topologia totalmente conectada (full mesh)

Uma topologia possível e até intuitiva é aquela em que todo computador possui um canal de comunicação dedicado para comunicar-se com cada um dos demais parceiros na rede. Essa topologia pode em teoria ser em- pregada e ela possui características excepcionais, porém na prática ela revela-se extremamente cara e dificilmente é implementada.

Podemos notar que o número de canais necessários para uma rede com essa topologia dotada de N computadores é igual a N(N-1)/2 e assim, para uma rede composta de 8 computadores seriam necessários 28 ca- nais de comunicação. O fato de que cada par possível de computadores nessa rede possui um canal dedicado para comunicarem-se faz com que

Redes de Computadores

48
48

Capítulo 3

essa rede possua um grau de paralelismo de comunicação máximo e portanto ela é capaz de suportar cargas de trabalho muito elevadas. Esse tipo de rede é algumas vezes empregados em sistemas multicomputador para garantir paralelismo máximo aos processadores, mas são sistemas de custo elevado e voltados para aplicações especiais que necessitam de desempenho elevado de processamento e comunicação.

A topologia totalmente conectada (Figura 21) é o caso extremo das to- pologias ponto-a-ponto.

21) é o caso extremo das to- pologias ponto-a-ponto. Figura 21 - Uma topologia totalmente conectada

Figura 21 - Uma topologia totalmente conectada

Figura 21 - Uma topologia totalmente conectada Analise a rede que você utiliza e faça um

Analise a rede que você utiliza e faça um desenho de como seus componentes estão interligados. Que tipo de topologia é esta?Figura 21 - Uma topologia totalmente conectada No próximo capítulo vamos sair do campo físico das

No próximo capítulo vamos sair do campo físico das redes e começar a aprender sobre os programas (aplicativos) que estão por trás do funcionamento das redes e como eles se relacionam.

Neste capítulo aprendemos como classificar as redes de acordo com o seu desenho, ou seja, a forma como seus componentes estão interligados.por trás do funcionamento das redes e como eles se relacionam. Tecnologia em Análise e Desenvolvimento

Tecnologia em Análise e Desenvolvimento de Sistemas

O SOFTWARE DAS REDES Os primeiros projetos de interconexão de sistemas de compu- tadores consideravam

O SOFTWARE DAS REDES

Os primeiros projetos de interconexão de sistemas de compu- tadores consideravam o hardware como o ponto fundamental, sendo que o software era encarado como um detalhe em segundo plano a ser pensado posteriormente. Esta estratégia provou-se inadequada e atualmente tanto o software quanto o hardware das redes de computadores formam um conjunto organizado e estruturado, ambos cumprindo papéis de fundamental impor- tância. Nas próximas sessões estudaremos as técnicas de estrutu- ração do software em detalhes.

as técnicas de estrutu- ração do software em detalhes. 4.1. Organização 49 Para reduzir a complexidade

4.1. Organização

49
49
ração do software em detalhes. 4.1. Organização 49 Para reduzir a complexidade do design, a maioria
ração do software em detalhes. 4.1. Organização 49 Para reduzir a complexidade do design, a maioria

Para reduzir a complexidade do design, a maioria das redes atualmente

é organizada em uma série de camadas ou níveis, cada uma delas cons-

truída sobre a outra. O número de camadas, o conteúdo de cada cama- da e a função de cada camada difere de rede para rede. Entretanto, em todas as redes estruturadas em camadas o propósito de uma camada é oferecer certos serviços para as camadas mais altas, ocultando destas os

detalhes de como os serviços oferecidos são de fato implementados.

4.2. Serviços

Um serviço é um conjunto de operações que uma camada oferece para a camada imediatamente superior a ela, O serviço define quais opera- ções a camada está preparada para oferecer a seus usuários, mas não especifica de forma alguma como essas operações são implementadas.

Um serviço relaciona-se à uma interface entre as duas camadas, sendo que a camada que provê o serviço é a implementadora da interface e

é também a provedora do serviço, enquanto que a camada superior é considerada a usuária do serviço.

50
50

4.3. Protocolos

Capítulo 4

A

camada N em um computador é capaz de conversar com uma camada

N

em um outro computador. As regras e as convenções utilizadas nessa

conversação são coletivamente chamadas de protocolo de camada N. Basicamente, um protocolo é um acordo entre as partes em comunica- ção sobre como a conversação deve proceder. Protocolos são utilizados pelos seres humanos em muitas ocasiões. Por exemplo, quando um ho- mem é apresentado à outro, estes podem trocar um aperto de mãos. Já quando este homem é apresentado à uma mulher, este pode escolher entre um aperto de mãos, no caso de um encontro de negócios, ou um beijo no rosto, no caso de estar sendo apresentado à amiga de um cole- ga. Estas regras são fundamentais para que a conversação entre os seres humanos possa se iniciar. Viola-las pode tornar mais difícil a conversa- ção, se não impossível.

Computadores possuem seus próprios protocolos de comunicação, e es- tes são em gerais bem mais formais e rígidos. No contexto das redes de computadores, definimos protocolo como:

“Protocolo é a definição de um conjunto de mensagens, seus for-

matos, sintaxes e significados semânticos. O formato define os campos que compõem uma mensagem, a sintaxe define os tipos de valores em cada campo e a semântica define o significado – a ação correspondente a ser tomada - para cada mensagem.”é a definição de um conjunto de mensagens, seus for- Analise o seu dia a dia

ação correspondente a ser tomada - para cada mensagem.” Analise o seu dia a dia e

Analise o seu dia a dia e veja se pode identificar alguns tipos de troca de informações padronizadas entre você e as pessoas que estão a sua volta. Isto seria um tipo de protocolo?– a ação correspondente a ser tomada - para cada mensagem.” Tecnologia em Análise e Desenvolvimento

Tecnologia em Análise e Desenvolvimento de Sistemas

4.4. Entidades

O Software das Redes

Em cada camada, podem existir diversos serviços sendo oferecidos. Em uma mesma camada, os serviços pertencem à uma mesma classe de ser- viço. Cada serviço é implementado por uma entidade.

Uma entidade é um componente de software ou de hardware que implementa um serviço. As entidades que utilizam protocolos para realizar seus serviços são chamadas de entidades de proto- colo. Quando duas entidades implementam um mesmo protocolo elas são denominadas entidades parceiras e podem iniciar conver- sações entre si.

parceiras e podem iniciar conver- sações entre si. Assim, entidades parceiras residem em uma mesma camada

Assim, entidades parceiras residem em uma mesma camada em máqui- nas diferentes e podem, utilizando o protocolo que implementam, en- viar mensagens umas para as outras e estabelecer conversações. São es- sas conversações que possibilitam a realização do serviço. Por exemplo, uma entidade que transporta dados de um computador para outro rea- liza esse serviço encapsulando esses dados em suas mensagens de proto- colo e enviando-as à uma entidade parceira na máquina destinatária.

4.5. Interfaces

As camadas implementam uma interface composta de diversos pontos de acesso a serviços (PAS). Um ponto de acesso a serviço é como um conjunto de rotinas que podem ser chamadas por um usuário. A execu- ção dessas rotinas realiza algum serviço em benefício do usuário. Essas rotinas são chamadas de primitivas de serviço.

Pode-se fazer aqui uma analogia com as linguagens de programação para melhor entendermos o conceito. Um serviço é como um tipo de

dado abstrato ou um objeto de uma classe. Associado à um serviço exis-

te um PAS a nível da interface da camada onde ele é implementado. A

interface descreve todos os PAS de todos os serviços daquela camada.

O PAS seria o conjunto de métodos e propriedades de um tipo de dado

abstrato ou objeto de classe. O protocolo utilizado pela entidade seria análogo à implementação dos métodos e propriedades daquele tipo de dado abstrato ou objeto.

Redes de Computadores

51
51
52
52

Capítulo 4

Na Figura 22 vemos o diagrama de uma rede estruturada em cinco camadas.

vemos o diagrama de uma rede estruturada em cinco camadas. Figura 22 - Camadas, protocolos e

Figura 22 - Camadas, protocolos e interfaces

Imagine o envio de uma carta para seu amigo que mora em outra cidade. Que tipos de interfaces são necessárias para que a carta saia das suas mãos e chegue ao destino corretamente?

que a carta saia das suas mãos e chegue ao destino corretamente? Tecnologia em Análise e

Tecnologia em Análise e Desenvolvimento de Sistemas

O Software das Redes

4.6. Fluxo de informações

Na realidade, nenhum dado é transmitido diretamente de uma camada N em uma máquina para a camada N em outra máquina. Quando uma entidade em uma camada requisita um serviço de envio de mensagem à entidade parceira, ela o envia virtualmente à entidade parceira. Na rea- lidade, essa mensagem e algumas informações de controle são passadas para um serviço na camada imediatamente inferior e assim por diante, até que o nível mais baixo seja atingido. Abaixo do nível 1 está o meio físico de comunicação, através do qual a comunicação real ocorre.

comunicação, através do qual a comunicação real ocorre. Figura 23 - Fluxo de informações na rede

Figura 23 - Fluxo de informações na rede durante a transmissão de uma mensagens

Na Figura 23 podemos observar como ocorre a transmissão de uma mensagem de nível 5 em uma rede exemplo composta de 5 camadas. Uma mensagem M é produzida por um processo de aplicação rodando no camada 5 e dada para a camada número 4 para ser transmitida. A camada 4 adiciona um cabeçalho (header) na mensagem para identi- fica-la e passa o resultado para a camada 3. Esse cabeçalho contém in- formações de controle tais como números de sequencia para permitir que a camada 4 na máquina destinatária possa entregar as mensagem na ordem correta caso as camadas mais baixas da rede não preservem sequencia de mensagens.

Em muitas redes, não há limite para o tamanho das mensagens trans- mitidas pela camada 4, porém há quase sempre um limite imposto pelos protocolos camada 3. Consequentemente, a camada 3 precisa quebrar a mensagem em pedaços menores, denominados pacotes, e adicionar a cada um deles um cabeçalho de camada 3. No nosso exem- plo, a mensagem M é quebrada em dois pedaços: M1 e M2. Os cabeça- lhos de camada 3 contém informações que identificam que M1 e M2 são na verdade partes de uma mesma mensagem, sendo M1 a primeira parte e M2 a segunda parte.

Redes de Computadores

54
54

Capítulo 4

A camada 3 decide por qual interface transmitir os pacotes e passa-os

para a camada 2 para serem transmitidos. A camada 2 adiciona não apenas um cabeçalho, mas também uma cauda (trailer). O cabeçalho da camada 2 contém campos que identificam a máquina destinatária dos pacotes e campos que identificam a origem dos pacotes e possibilitam à camada 2 da máquina remota responder uma mensagem.

Finalmente, a camada 2 passa para a camada 1 as duas mensagens e esta transmite-as propagando sinais elétricos ou eletrônicos no meio físico que correspondem a codificações das duas mensagens.

O ponto importante a ser entendido aqui é a relação entre as comunica-

ções reais e virtuais e a diferença entre protocolos e interfaces. Os proces- sos parceiros na camada 4 conceitualmente imaginam que sua comunica- ção via protocolo 4 é “horizontal”. Ambos os parceiros possuem alguma espécie de procedimento chamado EnvieParaOParceiro(parceiro,mensag em) e RecebaDoParceiro(parceiro,mensagem) para requisitar envio e re- cebimento de mensagens, ainda que esses procedimentos comuniquem-

se de fato apenas com entidades da camada 3 através da interface ¾ e

não com o outro lado. A comunicação entre entidades parceiras é virtual exceto para as entidades da camada 1, onde a comunicação é real.

A abstração de entidades parceiras é crucial para que uma rede possa

ser projetada. Utilizando essa abstração, a “ingerenciável” tarefa de se desenhar uma rede pode ser quebrada em vários problemas menores, gerenciáveis, que correspondem aos projetos das camadas individuais,

suas entidades e seus protocolos.

Apesar desta sessão (2.6) chamar-se “Software das Redes”, devemos no- tar que as camadas baixas de uma hierarquia normalmente são imple- mentadas em hardware ou firmware. Entretanto, complexos algoritmos de protocolo podem estar presentes em entidades embutidas em parte ou ao todo no hardware.

4.7. Classificação dos serviços

Os serviços nas redes estão presentes em todas as camadas, ofere- cidos por diversas entidades e seus protocolos. Entretanto, eles são coletivamente classificados em tipos de serviços distintos, havendo classificações quanto à forma como o serviço é acessado ou utiliza- do, quanto à sua confiabilidade e quanto à forma como informações são veiculadas nos mesmos.

e quanto à forma como informações são veiculadas nos mesmos. Tecnologia em Análise e Desenvolvimento de

Tecnologia em Análise e Desenvolvimento de Sistemas

O Software das Redes

4.7.1. Serviços orientados à conexão

Os serviços orientados à conexão, ou simplesmente serviços CO, são aqueles que estabelecem uma conexão entre as entidades parceiras que realizam o serviço. Uma conexão pode ser entendida como um canal lógico dedicado à comunicação entre as entidades parceiras e pelas enti- dades usuárias do serviço. A conexão é usualmente identificada por um número, o número da conexão e os usuários referenciam este número quando necessitam utilizar o serviço. Para utilizar um serviço orienta- do à conexão os usuários necessitam em primeiro lugar requisitar ao serviço o estabelecimento de uma conexão e só após esta fase inicial ser completada com sucesso é que o serviço pode de fato ser utilizado. Após utilizar o serviço o usuário pode finalizar a utilização do mesmo requisitando o encerramento da conexão.

Assim, dizemos que um serviço orientado à conexão é utilizado em três etapas:

Assim, dizemos que um serviço orientado à conexão é utilizado em três etapas:
 

Estabelecimento da conexão

Utilização da conexão

 

Encerramento da conexão

O

estabelecimento da conexão funciona como um acordo de comunica-

ção prévio entre as partes. Nessa primeira etapa as entidades provedo- ras do serviço realizam uma espécie de negociação para a realização do serviço, possivelmente baseada em parâmetros solicitados pelo usuário.

A utilização da conexão ocorre após a conexão ter sido completamente

negociada e estabelecida e é utilizada para a realização efetiva do servi- ço em questão. Assim, se por exemplo o serviço for o de transporte de

mensagens, a transmissão das mesmas só pode ser realizada na segunda etapa e é através da conexão estabelecida que o protocolo do serviço transporta as mensagens requisitadas.

Se o serviço for de busca de informações remotas, é através da conexão que o protocolo do serviço requisita à entidade parceira essas informa- ções. Uma vez que o serviço não será mais necessário ao usuário, este normalmente avisa que não vai mais utiliza-lo fazendo um pedido de encerramento de conexão.

Serviços CO são baseados no sistema telefônico, uma vez que para uti- lizar tal sistema necessitamos realizar três etapas: (1) discar o número

Redes de Computadores

55
55
56
56

Capítulo 4

desejado (estabelecimento da conexão), (2) conversar, enviar e receber informações (utilização da conexão) e finalmente (3) desligar (solicitar

o encerramento da conexão).

A conexão estabelecida pelos serviços CO pode ser entendida como um

tubo (pipe) que une e permite a troca de dados entre as entidades que implementam o serviço. Ela estabelece um meio de troca de dados em

tempo real entre as partes. Por esse tubo os dados trafegam sem trocar de lugar e assim o serviço CO garante o sequenciamento dos serviços requisitados ao mesmo. Por exemplo, se o serviço é o de transporte de mensagens, as mesmas são entregues no destino exatamente na mesma ordem em que suas transmissões foram solicitadas, além do que o ser- viço obedece também a ordem de realização dos serviços, transmitindo

a mensagem que foi solicitada em primeiro lugar antes das demais e obedecendo a ordem dos pedidos.

4.7.2. Serviços sem conexão

Os serviços sem conexão ou não-orientados à conexão ou sim- plesmente serviços CL são aqueles que não estabelecem uma co- nexão entre as entidades parceiras que realizam o serviço.

nexão entre as entidades parceiras que realizam o serviço. Funciona portanto como se não houvesse a

Funciona portanto como se não houvesse a necessidade de estabelecer um acordo prévio de comunicação entre as partes (entidades parceiras do serviço), ou, ou como se existisse um acordo implícito. Nesse tipo de serviço, não existem etapas e o serviço pode ser requisitado a qualquer momento sem nenhuma negociação prévia.

Os serviços CL são mais simples que os serviços CO, são mais fáceis de serem implementados, possuem algoritmos mais simples e consomem menos recursos dos computadores. Porém oferecem uma qualidade de serviço mais “pobre” que os serviços CO, o que não significa que eles não tem utilidade. Muitas aplicações podem perfeitamente serem apoiadas em serviços CL. Outras, podem não se adequar à forma como os ser- viços CO operam – basicamente, eles podem não se adequar à forma como o protocolo que implementa um serviço CO opera. Nesses casos, os serviços CL são empregados porém agrega-se à aplicação alguns me- canismos adicionais necessários para permitir que a aplicação não seja prejudicada pela baixa qualidade dos serviços e de modo a implementar um serviço proprietário dentro da aplicação que, conjuntamente com o serviço CL, é adequado à mesma.

Tecnologia em Análise e Desenvolvimento de Sistemas

O Software das Redes

O

telefone, o torpedo, o email e a carta são exemplos de serviços

de transporte de informações. Discuta om seus colegas e defina que tipo de comunicação eles podem ser classificados (sem cone- xão e com conexão)

Discuta om seus colegas e defina que tipo de comunicação eles podem ser classificados (sem cone-

4.7.3. Serviços com confirmação

 

Os serviços com confirmação, ou simplesmente serviços C/C, são aqueles que invariavelmente devolvem aos seus usuários uma in- formação de status indicando o sucesso ou a falha na realização do serviço

devolvem aos seus usuários uma in- formação de status indicando o sucesso ou a falha na

Dessa maneira, esses serviços são classificados como confiáveis pois eles sempre informam com certeza se o serviço foi realizado ou, caso não foi possível, qual a razão que impossibilitou a sua realização. A implemen- tação de confiabilidade envolve de algum modo a troca de mensagens

de confirmação entre as entidades parceiras que realizam o serviço, e as-

sim esses serviços são também denominados de serviços confirmados.

As mensagens de confirmação trocadas entre as entidades do serviço servem para garantir que um serviço foi realizado. Se por exemplo, o serviço em questão for o de entrega de mensagens, as confirmações ser- vem para informar que a entidade parceira remota conseguiu completar o serviço entregando a mensagem ao destinatário.

Redes de Computadores

57
57
58
58

Capítulo 4

Existem ao menos duas estratégias para mensagens de confirmação: • Confirmação Positiva • Confirmação
Existem
ao
menos
duas
estratégias
para
mensagens
de
confirmação:
• Confirmação Positiva
• Confirmação Negativa
• Confirmação Positiva • Confirmação Negativa No primeiro caso, a entidade remetente espera que a entidade

No primeiro caso, a entidade remetente espera que a entidade parceira receptora de mensagens do protocolo de serviço confirme cada uma de- las assim que as recebe, enviando de volta uma mensagem do tipo con- firmação positiva. Desse modo, quando a entidade remetente nota a fal- ta da confirmação de uma determinada mensagem, ela retransmite-a. No segundo caso, a entidade remetente espera que a entidade parceira receptora envie mensagens de confirmação apenas para as mensagens que porventura não forem recebidas. Nesse caso, as mensagens de con- firmações são do tipo confirmação negativa e a ausência de tais men- sagens indica que tudo ocorreu bem. Quando o remetente recebe uma confirmação negativa de uma mensagem, ele retransmite-a.

Em qualquer um dos casos, alguma espécie de temporização necessita ser empregada. Essa temporização serve para que as entidades decidam quando já se passou tempo demais pela espera de mensagens. No caso da confirmação positiva, o remetente utiliza um temporizador para de- cidir se já expirou o prazo para a chegada de uma confirmação. No caso da confirmação negativa, o receptor utiliza um temporizador para deci- dir se já expirou o prazo para a chegada de uma mensagem. No primeiro caso o remetente retransmite a mensagem não confirmada. No segundo caso, o receptor confirma negativamente uma mensagem e implicita- mente requisita sua retransmissão.

Para a utilização de temporizadores é necessário estabelecer-se um valor para a sua expiração, o chamado transmit timeout. A escolha desse valor normalmente exige análise criteriosa, caso contrário os resultados serão muito ruins, dado que em muitas redes a demanda de utilização é vari- ável e consequentemente os atrasos impostos pela rede na transmissão de mensagens varia de tempos em tempos.

Se a escolha do valor de timeout for muito baixa, então muito frequen- temente ocorrerão retransmissões sem necessidade pois pode acontecer que simplesmente uma confirmação atrasou-se para chegar e na verda- de nada de errado havia acontecido. Se a escolha do valor de timeout for muito alta, então as entidades que aguardam a expiração do tempori- zador para verificar se procedimentos de recuperação (retransmissões)

Tecnologia em Análise e Desenvolvimento de Sistemas

O Software das Redes

são necessários podem esperar muito para tal e, caso algum problema que necessite de recuperação ocorra de fato, tal como a perda de uma mensagem, a retransmissão demorará muito a acontecer e o desempe- nho global fica muito ruim.

Por essas razões, normalmente o valor do transmit timeout é dinami- camente modificado ao longo do tempo utilizando-se algum algoritmo. Esse algoritmo mantém o valor do mesmo adequado de modo a que não ocorram retransmissões desnecessárias e também para que em caso de problemas os procedimentos de recuperação não demorem demais para se iniciar. O algoritmo dinamicamente varia o intervalo de tempo- rização, aumentando-o quando a rede começa a experimentar atrasos maiores nas transmissões e diminui-o quando a rede apresenta atrasos pequenos. Existem diversos algoritmos em uso, sendo que a maioria deles de alguma maneira utilizam-se de informações de histórico de trá- fego na rede e realizam medidas estatísticas.

4.7.4. Serviços sem confirmação

Os serviços sem confirmação, ou simplesmente serviços S/C, são aqueles que podem ou não devolver aos seus usuários uma informação de status indicando o sucesso ou a falha na realização do serviço. Dessa manei- ra, esses serviços são classificados como não confiáveis pois eles podem não informar se o serviço foi realizado com sucesso ou não. Devemos notar que um serviço sem confirmação pode não ter a capacidade ou a habilidade de dar essas informações aos seus usuários.

Em alguns casos, um serviço S/C pode informar condições de falha, mas não de sucesso. Nesses casos, ele pode indicar apenas que não foi possível realizar o serviço e, talvez, qual a razão que impossibilitou a sua realiza- ção. A implementação de confiabilidade envolve de algum modo a troca de mensagens de confirmação entre as entidades parceiras que realizam o serviço, de modo que os serviços S/C não as implementam ou utilizam e dessa maneira são também denominados de serviços não confirmados.

O fato de serem não confirmados não torna os serviços S/C inúteis. Pelo contrário. Eles são empregados em muitas situações por diversas apli- cações de rede. Um motivo simples para a sua utilização é a sua simpli- cidade e os poucos recursos de rede e das máquinas que necessitam e consomem, contrariamente aos serviços C/C. Uma outra razão seria a existência de usuários que de fato não necessitam ter confirmação de que os serviços requisitados foram completados com pleno êxito.

Um exemplo dessa situação é quando o usuário é um serviço que imple- menta algum protocolo confirmado e dessa maneira utilizar um serviço

Redes de Computadores

60
60

Capítulo 4

com confirmação seria redundante. Uma outra situação típica do empre- go de serviços S/C é aquela em que uma aplicação não se adapta bem aos esquemas de confiabilidade implementados pelos protocolos dos serviços C/C, em particular à forma como os algoritmos de retransmissão e mo- dificação do transmit timeout funcionam. Nessas situações, a aplicação requisita os serviços de um protocolo S/C e ela própria implementa sua metodologia de confiabilidade, seguindo um algoritmo proprietário.

de confiabilidade, seguindo um algoritmo proprietário. O telefone, o torpedo, o email e a carta são

O telefone, o torpedo, o email e a carta são exemplos de serviços de transporte de informações. Discuta om seus colegas e defina que tipo de comunicação eles podem ser classificados (sem con- firmação e com confirmação)de confiabilidade, seguindo um algoritmo proprietário. No próximo capítulo vamos aprender os modelos (padrões)

No próximo capítulo vamos aprender os modelos (padrões) existen- tes para as redes e como eles são utilizados atualmente.

Neste capítulo aprendemos como é a organização dos programas (aplicativos) que estão por trás do funcionamento das redes e como eles se relacionam. Também aprendemos quais são os tipos de cone- xão existentes entre dois elementos de uma rede.existen- tes para as redes e como eles são utilizados atualmente. Tecnologia em Análise e Desenvolvimento

Tecnologia em Análise e Desenvolvimento de Sistemas

MODELOS DE REFERÊNCIA Depois dos conceitos sobre a hierarquia em camadas vamos agora discutir um

MODELOS DE REFERÊNCIA

Depois dos conceitos sobre a hierarquia em camadas vamos agora discutir um pouco sobre os principais conceitos relacionados a al- guns exemplos práticos de arquiteturas de redes, com ênfase princi- pal nas arquiteturas do RM-OSI e do TCP/IP-Internet.

práticos de arquiteturas de redes, com ênfase princi- pal nas arquiteturas do RM-OSI e do TCP/IP-Internet.
 

5.1. O modelo de referência OSI

 

O

Modelo OSI, mostrado na Figura 24, foi desenvolvido com um

O Modelo OSI, mostrado na Figura 24, foi desenvolvido com um  
 

primeiro passo na direção da padronização internacional dos pro- tocolos usados nas diversas camadas. Este modelo foi denominado

de

Modelo de Referência para a Interconexão de Sistemas Abertos

 

ou RM-OSI (Reference Model for Open Systems Interconnection), pois trata da interconexão de sistemas abertos, ou seja, sistemas que

 

estão abertos à comunicação com outros sistemas.

  estão abertos à comunicação com outros sistemas. Figura 24 - Arquitetura de sete camadas do

Figura 24 - Arquitetura de sete camadas do modelo OSI.

61
61
à comunicação com outros sistemas. Figura 24 - Arquitetura de sete camadas do modelo OSI. 61
à comunicação com outros sistemas. Figura 24 - Arquitetura de sete camadas do modelo OSI. 61
à comunicação com outros sistemas. Figura 24 - Arquitetura de sete camadas do modelo OSI. 61
62
62

Capítulo 5

O modelo OSI foi criado seguindo a filosofia das arquiteturas

multicamadas, como já descrita anteriormente. Como mostra a figura 24, sua arquitetura define 7 camadas, cujos princípios de definição foram os seguintes:

Cada camada corresponde a um nível de abstração necessário no modelo;

Cada camada possui suas funções próprias e bem definidas;

As funções de cada camada foram escolhidas segundo a defi- nição dos protocolos normalizados internacionalmente;

A escolha das fronteiras entre cada camada deveriam ser defini- das de modo a minimizar o fluxo de informação nas interfaces;

O número de camadas deve suficientemente grande para que funções distintas não precisem ser colocadas na mesma cama- da, e ser suficientemente pequeno para que a arquitetura não se torne difícil de controlar.

para que a arquitetura não se torne difícil de controlar. A forma como os dados são

A forma como os dados são transmitidos ao longo do modelo OSI é

ilustrada na figura 25.

Como se pode ver, o processo emissor vai enviar uma certa quantidade de dados ao processo receptor. Ele envia, então, os dados à camada de

Aplicação que introduz a estes um cabeçalho de aplicação, AH, e envia a mensagem resultante à camada de Apresentação. Esta camada, por sua vez, introduz à mensagem recebida um cabeçalho de apresentação, PH, enviando a mensagem, em seguida à camada inferior. É importante ressaltar aqui que esta camada não toma conhecimento da existência e significado do cabeçalho de aplicação, considerando este como parte dos dados que compõem a mensagem. Este processo de transferência

de camada a camada vai se repetindo até o nível físico, quando os dados

serão, enfim, transmitidos ao sistema destino.

Neste sistema, os diversos cabeçalhos introduzidos nas camadas de rede do sistema fonte vão sendo interpretados e eliminados nas cama- das correspondentes até que os dados cheguem ao processo receptor. O conceito fundamental da transferência de dados é que cada camada foi projetada como se ela fosse realmente horizontal, quando na verdade a transmissão se dá de modo vertical.

Isto fica claro, por exemplo, quando a camada de Transporte emissora re- cebe um dado da camada de Sessão; ela insere um cabeçalho de transporte

Tecnologia em Análise e Desenvolvimento de Sistemas

Modelos de Referência

e envia a mensagem à camada de Rede emissora. Este processo, portanto, para a camada de Transporte, não é mais do que um detalhe técnico.

Um exemplo análogo é aquele de um diplomata de um país fazendo um discurso, na sua própria língua, nas Nações Unidas. Este considera estar

se dirigindo aos seus colegas diplomatas de outros países, embora, na prática, ele esteja dirigindo-se ao seu intérprete.

na prática, ele esteja dirigindo-se ao seu intérprete. Figura 25 - Ilustração da comunicação no modelo

Figura 25 - Ilustração da comunicação no modelo OSI.

5.1.1. As camadas do RM-OSI

Vamos descrever, a seguir, as principais funções realizadas por cada uma das camadas definidas no Modelo OSI.

A Camada Física é responsável da transferência de bits num cir-

cuito de comunicação. De maneira geral, a sua função é garantir que cada bit enviado de um lado será recebido do outro lado sem ter alterado o seu valor, ou seja, se o bit enviado está a 1, ele será recebido a 1 e não a 0.

o bit enviado está a 1, ele será recebido a 1 e não a 0. Para

Para isto, as questões a serem resolvidas neste nível são do tipo:

Os modos de representação dos bits 0 e 1 de maneira a evitar ambi- guidades ou confusões (valor da tensão em volts para a representa-

ção dos valores 0 e 1 dos bits, duração de cada sinal representando

um bit, a codificação dos sinais, etc

);

Os tipos de conectores a serem utilizados nas ligações (número de

pinos utilizado, as funções associadas a cada pino,

Redes de Computadores

);

63
63
64
64

Capítulo 5

A maneira como as conexões são estabelecidas para a iniciação de um diálogo e como é feita a desconexão ao final deste;

Modo de transmissão adotado (unidirecional, bidirecional,

);

Modo de conexão adotado (ponto-a-ponto, multiponto,

);

Modo de tratamento dos erros (detecção, tratamento, etc

).

A concepção desta camada deve se relacionar à definição das interfaces elétricas e mecânicas, seus modos de funcionamento, o suporte de co- municação adotado, etc.

   

Cite, algumas características que você considera como pertencen-

tes a camada física

tes a camada física

A Camada de Enlace de Dados tem por função principal a trans-

A

Camada de Enlace de Dados tem por função principal a trans-

formação do meio de comunicação “bruto” em uma linha livre de erros de transmissão para a camada de Rede. Ela efetua esta fun-

   

ção através do fracionamento das mensagens recebidas do emissor em unidades de dados denominadas quadros, que correspondem

a

algumas centenas de bytes. Estes quadros são transmitidos se-

quencialmente e vão gerar quadros de reconhecimento enviados pelo receptor. Nesta camada, as unidades de dados são enrique- cidas com um conjunto de bits adicional (no início e fim de cada quadro) de modo a permitir o reconhecimento destes.

Tecnologia em Análise e Desenvolvimento de Sistemas

Modelos de Referência

Um problema típico deste nível é o da ocorrência de uma perturbação so- bre a linha de transmissão que provoque a destruição (perda) do quadro enviado. Neste caso, o quadro deve ser retransmitido para garantir a inte- gridade da informação transferida. Por outro lado, deve-se também evitar múltiplas retransmissões de um mesmo quadro, o que pode provocar a sua duplicação por exemplo, se o quadro de reconhecimento é perdido.

Uma outra função desta camada é evitar uma alta taxa de envio de da- dos da parte do emissor no caso do sistema emissor não ter capacidade de absorver a informação à mesma taxa. Este mecanismo deve permi- tir informar ao emissor a necessidade de armazenamento dos dados a transmitir (controle de fluxo).

A Camada de Rede é responsável da gestão das redes; ela define a

forma como os pacotes de dados serão encaminhados do emissor ao receptor. Os caminhos a serem utilizados podem ser definidos em função de tabelas estáticas ou determinados dinamicamente no mo- mento de cada diálogo em função das condições de tráfego da rede.

diálogo em função das condições de tráfego da rede. Esta camada deve ainda efetuar a gestão

Esta camada deve ainda efetuar a gestão dos problemas de congestiona- mento provocados pela presença de uma quantidade excessiva de paco- tes de dados na rede. Ela deve, finalmente, resolver todos os problemas relacionados à interconexão de redes heterogêneas, particularmente:

Incompatibilidades no endereçamento;

Incoerências em relação aos tamanhos das mensagens;

A Camada de Transporte recebe os dados enviados da camada de

sessão, decompô-los, se for o caso, em unidades de dados menores e garantir que todas as partes da mensagem vão ser transmitidas corretamente à outra extremidade. Esta função deve ser suprida de maneira eficiente, inclusive, sem que a camada de Sessão tome conhecimento de possíveis alterações na tecnologia da parte ma- terial da rede.

Sessão tome conhecimento de possíveis alterações na tecnologia da parte ma- terial da rede. Redes de

Redes de Computadores

65
65
66
66

Capítulo 5

Esta camada cria, normalmente, uma conexão de rede para cada conexão de transporte requerida pela camada de Sessão, embora, se as necessida- des de velocidade transmissão são justificadas, ela possa estabelecer diver- sas conexões de rede para uma mesma conexão de transporte. Por outro lado, se o custo da manutenção de uma conexão de rede é considerado elevado, esta camada pode efetuar a função inversa, ou seja, a multiplexa- ção de várias conexões de transporte sobre uma mesma conexão de rede, esta tarefa sendo feita de modo transparente para a camada de Sessão.

Ela deve determinar, também, o tipo de serviço oferecido à camada de Sessão e, por consequência, aos usuários da rede. Uma conexão de trans- porte típica é aquela de um canal ponto-a-ponto, livre de erros de trans- missão, transmitindo as mensagens na mesma ordem em que elas foram enviadas. Por outro lado, outras classes de serviços podem fornecer uma conexão capaz de enviar as mensagens de modo isolado, mas sem a ga- rantia de uma ordem correta na transmissão. O tipo do serviço a ser fornecido é definido no momento do estabelecimento da conexão.

Uma característica desta camada é que ela implementa um verdadei- ro diálogo fim-a-fim, ou seja, o programa executando no sistema fonte dialoga com o programa executando na máquina destino através dos ca- beçalhos e informações de controle contidas nas mensagens deste nível. Já nas camadas mais baixas, os protocolos operam entre máquinas vizi- nhas e não entre os sistemas fonte e destino, dado que estes podem estar separados por vários hosts. Esta diferença fundamental, que se estende igualmente às camadas superiores (até a camada 7) pode ser verificada pela ilustração da figura 25.

Dado que esta camada é responsável do estabelecimento e término das conexões de rede, ela deve definir um mecanismo de endereçamento que permita a um sistema indicar com qual sistema ele deseja dialogar. Finalmente, ela deve implementar um mecanismo de controle de fluxo fim-a-fim para evitar que o sistema fonte envie mensagens numa taxa superior àquela com a qual o sistema destino pode consumi-las

A Camada de Sessão é responsável dos estabelecimentos de sessões

de diálogo para os usuários da rede. Uma sessão objetiva permitir o transporte de dados, da mesma forma que os serviços oferecidos pela camada de Transporte, mas ela oferece serviços mais sofisticados de

comunicação que podem ser úteis a determinadas aplicações. Um exemplo disto é a possibilidade de envio, através de uma sessão, de um arquivo de dados (ou programa) de um sistema a outro. Outro serviço

da camada de Sessão é efetuar a gestão do diálogo, ou seja, definir, por

exemplo, se o diálogo vai ser efetuado em modo uni- ou bidirecional.

exemplo, se o diálogo vai ser efetuado em modo uni- ou bidirecional. Tecnologia em Análise e

Tecnologia em Análise e Desenvolvimento de Sistemas

Modelos de Referência

Um serviço também importante é aquele da sincronização do diálogo. Por exemplo, se um arquivo deve ser transferido através de uma sessão e este deve durar duas horas. Se, por uma razão qualquer, o tempo médio entre duas panes é de uma hora. Após uma primeira interrupção por pane, a transferência deverá reiniciar, podendo ocasionar em erros de transmis- são. Uma forma de evitar isto é a inserção de pontos de teste junto aos dados fazendo com que, após uma interrupção de transferência, os dados sejam retomados apenas a partir do último ponto de teste.

A Camada de Apresentação utiliza algumas funções frequente-

mente necessárias de modo a poupar o usuário deste trabalho. Esta camada assume particularmente as funções associadas à sin- taxe e à semântica dos dados transmitidos. Um exemplo típico das funções efetuadas por esta camada é a codificação da informação num padrão bem definido (ASCII, EBCDIC, etc

da informação num padrão bem definido (ASCII, EBCDIC, etc Esta camada pode ainda suprir outras funções

Esta camada pode ainda suprir outras funções associadas à compreen- são dos dados, se utilizando do conhecimento do significado da infor- mação para reduzir a quantidade de informação enviada, inclusive para implementar funções de confidencialidade e de autenticação.

A Camada de Aplicação implementa um conjunto de protoco-

los bastante diversificado e orientado a aplicações bem definidas. Um exemplo disto é o protocolo de terminal virtual, que permi-

te gerar a utilização de um determinado programa (por exemplo,

um editor de textos) de forma independente do tipo de terminal conectado à rede. Outro serviço importante é o de transferência de arquivos, que permite adaptar o tipo do arquivo transferido à forma implementada pelo sistema de arquivamento do sistema

considerado. Na parte dedicada a esta camada veremos, além des- tas, outras classes de serviços implementados a este nível.

a esta camada veremos, além des- tas, outras classes de serviços implementados a este nível. Redes

Redes de Computadores

67
67
68
68

Capítulo 5

5.2. O modelo de referência TCP/IP

O termo “protocolo TCP/IP” é utilizado como designação comum para uma família de protocolos de comunicação de dados, sendo que o Transmission Control Protocol (TCP) e o Internet Protocol (IP) são apenas dois deles. Esta família de protocolos teve origem na rede Arpanet.

Esta família de protocolos teve origem na rede Arpanet. A Internet cresceu muito além do que

A Internet cresceu muito além do que se podia imaginar. A Internet é

hoje uma coleção de redes acadêmicas, militares e comerciais espalha- das pelo mundo, interconectadas através do protocolo TCP/IP. Entre elas, pode-se citar a própria RNP no Brasil.

Uma vez que toda a rede de computadores que é conectada à Internet deve utilizar o protocolo TCP/IP, é natural que o interesse comercial por este protocolo tenha crescido muito, ao ponto de hoje estar disponível em quase todas as plataformas. Além disso, é comum encontrarmos TCP/IP sendo utilizado em redes locais que não estão conectadas à Internet.

O sucesso e a popularidade do protocolo TCP/IP não se deve apenas à

imposição das agências militares americanas, mas também ao fato der ter sido o primeiro protocolo a atingir a importante meta da comunica- ção de dados com abrangência mundial. Isto somente foi possível graças a algumas de suas características, a saber:

TCP/IP é um protocolo aberto, público e completamente inde- pendente de equipamentos e de sistemas operacionais;

TCP/IP não define protocolos para o nível físico, possibilitando sua implementação sobre uma grande variedade de protocolos já exis- tentes, tais como: Ethernet, Token Ring e X.25;

O esquema de endereçamento do TCP/IP permite designar univoca- mente qualquer máquina, mesmo em redes globais como a Internet;

TCP/IP inclui protocolos do nível de aplicação que atendem muito bem à demanda de serviços imposta pelos usuários.

Uma vez que a padronização foi essencial para a definição do TCP/IP

como o protocolo mais utilizado no mundo, é importante que se conhe-

ça como ele foi, e continua sendo, padronizado.

Tecnologia em Análise e Desenvolvimento de Sistemas

Modelos de Referência

Originalmente, os protocolos básicos do TCP/IP foram padronizados através de Military Standards (MIL STD) e de Internet Engineering No- tes (IEN). Atualmente, a maior parte da padronização do TCP/IP é feita através de Requests For Comments (RFC), que, além da especificação formal dos protocolos, inclui informações importantes sobre seu fun- cionamento e uso.

5.2.1. As camadas do TCP/IP

A descrição da arquitetura do protocolo TCP/IP em camadas como as do

modelo de referência OSI é uma tarefa difícil e certamente controversa.

As camadas OSI foram definidas por pesquisadores ao longo de anos, sempre com o compromisso acadêmico de ser um modelo de referência, enquanto que o protocolo TCP/IP não teve qualquer compromisso que não a funcionalidade. Assim sendo, tentar estabelecer uma relação pre- cisa entre as camadas OSI e TCP/IP é algo praticamente impossível.

O modelo mais aceito para descrever a arquitetura TCP/IP é composto de

quatro camadas: acesso à rede, Internet, transporte e aplicação. Este modelo é apresentado na Figura 26, em comparação ao modelo de referência OSI.

na Figura 26, em comparação ao modelo de referência OSI. Figura 26 – Camadas da arquitetura

Figura 26 – Camadas da arquitetura TCP/IP em comparação com as camadas do RM-OSI

Da mesma forma que no modelo de referência OSI, os dados descem a pilha de protocolos para chegar a rede e sobem para chegar às aplica- ções. Cada camada da pilha de protocolos adiciona um cabeçalho com informações de controle e trata o que recebe da camada superior como sendo dados. Esta adição de informações de controle em cada nível é

denominada encapsulamento e é ilustrada pela figura 27. O processo re- verso acontece quando uma camada passa dados às superiores, ou seja,

o cabeçalho é removido e o restante é passado para cima como dados.

Redes de Computadores

70
70

Capítulo 5

70 Capítulo 5 Figura 27 - Encapsulamento de dados na pilha TCP/IP. Cada camada da pilha

Figura 27 - Encapsulamento de dados na pilha TCP/IP.

Cada camada da pilha possui estruturas de dados próprias e indepen- dentes. Assim sendo, cada protocolo faz referência aos dados de forma específica. Por exemplo, aplicações que fazem uso do protocolo TCP se referem aos dados como streams, ao passo que aplicações que fa- zem uso do protocolo User Datagram Protocol (UDP) se referem aos dados como mensagens. O protocolo TCP, por sua vez, se refere aos dados como segmentos, enquanto que o UDP se refere aos dados como pacotes. O protocolo IP sempre se refere aos dados como datagramas, enquanto que os dados passados à camada de acesso à rede são referidos como frames ou quadros. A figura 28 ilustra esta terminologia.

frames ou quadros. A figura 28 ilustra esta terminologia. Figura 28 - Estruturas de dados da

Figura 28 - Estruturas de dados da arquitetura TCP/IP.

A Camada de Acesso à Rede é a mais baixa na hierarquia de protocolos TCP/IP. Os protocolos nesta camada proveem meios para que os dados sejam transmitidos a outros computadores na mesma rede física. Esta camada pode abranger as três primeiras camadas do modelo de referência OSI: física, de enlace e de rede. Entretanto, a camada de acesso à rede do TCP/IP não define pro- priamente os protocolos para estes três níveis, mas sim como uti- lizar os protocolos já existentes para suportar a transmissão de um datagrama IP.

já existentes para suportar a transmissão de um datagrama IP. Tecnologia em Análise e Desenvolvimento de

Tecnologia em Análise e Desenvolvimento de Sistemas

Modelos de Referência

À medida que novas tecnologias de rede vão surgindo, novos protoco-

los são acrescidos à camada de acesso à rede. As principais funções da camada de acesso à rede são: o encapsulamento de datagramas IP em frames para transmissão e a tradução de endereços IP em endereços físi- cos de rede. Estas duas funções apresentam implementações específicas para cada tipo de rede.

A Camada Internet fica exatamente sobre a camada de acesso à

rede. O Internet Protocol (IP), é o coração desta camada. Ele pro-

vê um serviço básico de datagrama sobre o qual as redes TCP/IP

são implementadas. Todos os protocolos das camadas superiores a esta fazem uso do protocolo IP.

das camadas superiores a esta fazem uso do protocolo IP. As principais funções do protocolo IP

As principais funções do protocolo IP são:

Definir o datagrama IP, que é a unidade básica de transmissão de dados da arquitetura TCP/IP;

Definir o esquema de endereçamento IP;

Passar dados da camada de acesso à rede à camada de transporte;

Rotear datagramas IP;

Fragmentar e remontar datagramas IP.

IP é um protocolo não orientado a conexão, ou seja, não existe nego- ciação prévia de uma conexão para a transmissão de dados. Isto não impede a existência de protocolos orientados a conexão nas camadas superiores, mas eles deverão negociar o estabelecimento de conexões por si próprios. Além de ser não orientado à conexão, o protocolo IP também é não confiável, uma vez que não suporta mecanismos de de- tecção e recuperação de erros.

Em outras palavras, o protocolo IP não verifica se um datagrama foi re- cebido corretamente, deixando esta responsabilidade para os protocolos das camadas superiores.

Redes de Computadores

71
71
72
72

Capítulo 5

A Camada de Transporte fim-a-fim está localizada exatamente so-

bre a camada Internet na hierarquia TCP/IP. Os principais proto- colos desta camada são: Transmission Control Protocol (TCP) e User Datagram Protocol (UDP). TCP é um protocolo orientado a conexão com detecção e correção de erros fim-a-fim. UDP é um protocolo não orientado a conexão e não confiável, sendo portan- to muito leve. Ambos os protocolos passam dados entre as cama- das de aplicação e Internet. Cada aplicação é livre para escolher o protocolo que melhor se adapta a sua natureza.

escolher o protocolo que melhor se adapta a sua natureza. O User Datagram Protocol (UDP) provê

O User Datagram Protocol (UDP) provê meios para que aplicações

tenham acesso direto ao serviço de datagrama IP. Aplicações que usam

este protocolo inserem pouco overhead na rede. Como o próprio IP, o protocolo UDP é não orientado a conexão e não confiável. Note que a

expressão não confiável implica apenas a inexistência de mecanismos de confirmação do correto recebimento do datagrama. O protocolo UDP é utilizado principalmente por aplicações que transmitem dados em pe- quenas quantidades, de tal forma que o overhead de uma conexão é maior do que o da retransmissão dos dados em caso de erro. Além disto,

as aplicações do modelo cliente/servidor frequentemente fazem uso de

protocolos do tipo requisição/resposta que são melhor implementados sobre UDP, uma vez que não existem conexões preestabelecidas entre clientes e servidores.

O Transmission Control Protocol (TCP) é um protocolo orientado a co-

nexão e confiável. A transmissão de dados através de uma conexão, ou stre- am, se dá através de segmentos. De forma similar ao pacote UDP, cada seg- mento carrega informações sobre as aplicações origem e destino (ports).

Considerando a Internet cite quais informações podem ser envia-

das usando o protocolo TCP e quais podem ser enviadas usando o protocolo UDP?

o protocolo TCP e quais podem ser enviadas usando o protocolo UDP? Tecnologia em Análise e

Tecnologia em Análise e Desenvolvimento de Sistemas

Modelos de Referência

A Camada de Aplicação fica no topo da pilha TCP/IP e inclui todos os processos que utilizam serviços das camadas inferiores para transmitir dados através da rede.

camadas inferiores para transmitir dados através da rede. Alguns protocolos desta camada são citados abaixo, enquanto

Alguns protocolos desta camada são citados abaixo, enquanto que a Figura 29 ilustra dois exemplos de pilha TCP/IP.

Telnet: serviço de terminal virtual que permite sessões remotas sobre a rede;

File Transfer Protocol (FTP): serviço de transferência de ar- quivos pela rede;

Simple Mail Transfer Protocol (SMTP): serviço de correio eletrônico;

Domain Name Service (DNS): serviço de tradução de nomes de hosts em endereços IP;

Routing Information Protocol (RIP): suporta a troca de informa- ções de roteamento entre gateways;

Network File System (NFS): sistema de arquivos remotamente acessíveis.

System (NFS): sistema de arquivos remotamente acessíveis. Figura 29 - Exemplos de pilha TCP/IP. Considerando o

Figura 29 - Exemplos de pilha TCP/IP.

Considerando o modelo de camadas TCP/IP quais das camadas podem ser vistas pelos usuários?

Considerando o modelo de camadas TCP/IP quais das camadas podem ser vistas pelos usuários? Redes de

Redes de Computadores

73
73
74
74

Capítulo 5

Neste capítulo aprendemos sobre os modelos (padrões) existentes para as redes e como eles são utilizados atualmente.

No próximo capítulo vamos conhecer a camada física e suas carac- terísticas mais importantes.

conhecer a camada física e suas carac- terísticas mais importantes. Tecnologia em Análise e Desenvolvimento de

Tecnologia em Análise e Desenvolvimento de Sistemas

A CAMADA FÍSICA O objetivo da camada Física é assegurar o transporte dos dados, representados

A CAMADA FÍSICA

O objetivo da camada Física é assegurar o transporte dos dados,

representados por um conjunto de bits, entre dois equipamentos ter-

minais, via um suporte de transmissão.

Abordaremos os principais aspectos e problemas relacionados à transmissão de dados, como, os suportes de transmissão, os modos

de transmissão, a multiplexação e a comutação. Ainda nesta seção,

serão vistos alguns exemplos de interfaces físicas padronizadas e adotadas em muitas aplicações e arquiteturas de comunicação.

em muitas aplicações e arquiteturas de comunicação. 6.1. Os suportes de transmissão Os suportes de transmissão

6.1. Os suportes de transmissão

Os suportes de transmissão podem se caracterizar pela existência ou não de um guia físico. Na primeira classe estão os cabos elétricos, as fi- bras óticas e, na segunda classe, as ondas de rádio, as ondas de luz, etc

6.1.1. O par trançado (UTP)

O suporte de transmissão mais clássico utilizado até o momento é

o par de fios trançados (Figura 30), o qual é composto de dois fios elétricos em cobre, isolados, e arranjados longitudinalmente de forma helicoidal. Esta técnica de enrolar os fios permite diminuir os efeitos das induções eletromagnéticas parasitas provenientes do ambiente no qual este estiver instalado.

provenientes do ambiente no qual este estiver instalado. 75 A utilização mais típica deste suporte de
75
75

A utilização mais típica deste suporte de transmissão é a rede telefônica,

onde, graças às suas características elétricas, os sinais podem percorrer várias dezenas de quilômetros, sem a necessidade de amplificação ou regeneração de sinal.

Estes podem, ainda, ser utilizados tanto para a transmissão de sinais analógicos quanto de sinais digitais, sendo a banda passante atingida função da sua composição (particularmente, diâmetro e pureza dos con-

76
76

Capítulo 6

dutores, natureza dos isolantes e do comprimento do cabo). A taxa de transmissão obtida pela utilização deste suporte de transmissão situa-se na faixa de algumas dezenas de Kbits/s, podendo atingir, em condições particulares, na faixa dos Mbits/s em pequenas distâncias.

O fato de representar um baixo custo e uma grande faixa de utilização o torna um dos suportes mais utilizados atualmente e, provavelmente, nos próximos anos.

utilizados atualmente e, provavelmente, nos próximos anos. Figura 30 – Cabo de par trançado 6.1.2. Cabo

Figura 30 – Cabo de par trançado

6.1.2. Cabo coaxial

Os cabos coaxiais (Figura 31)são também altamente empregados como suporte de transmissão.

Dois tipos de cabos são tipicamente utilizados: o primeiro tipo

apresenta uma impedância característica de 50 ohms, utilizado nas transmissões digitais denominada transmissão em banda de base; o segundo tipo, com uma impedância característica de 75 ohms, é mais adequado para a transmissão de sinais analógicos. Eles são constituídos de dois condutores arranjados de forma con- cêntrica: um condutor central, a alma, envolto por um material isolante de forma cilíndrica. Esta capa isolante é, por sua vez, en- volta por uma trança metálica condutora em cobre. Finalmente, o conjunto é envolto numa capa de proteção em plástico isolante.

o conjunto é envolto numa capa de proteção em plástico isolante. Tecnologia em Análise e Desenvolvimento

Tecnologia em Análise e Desenvolvimento de Sistemas

A Camada Física

Em relação aos pares de fios trançados, os cabos coaxiais apresentam melhores características elétricas, oferecendo um boa relação entre a banda passante e a proteção contra interferências eletromagnéticas.

A largura de banda vai depender igualmente da qualidade da composi-

ção do cabo e do seu comprimento. Para distâncias em torno de 1 km, é possível obter uma taxa de transmissão em torno de 10 Mbits/segundo, podendo-se obter taxas superiores para distâncias mais curtas. Os cabos coaxiais são altamente utilizados como suporte de transmissão nas Re- des Locais Industriais.

A informação transmitida pelos cabos coaxiais é geralmente codificada

sob a forma de um sinal binário, onde os dígitos 0 e 1 são representados por dois diferentes níveis, por exemplo, 1 volt para o bit 1 e 0 volt para o bit 0. Esta forma de codificação, embora seja uma convenção bastante adequada, não permite ao receptor do sinal detectar o início e o fim da transmissão de um dígito binário.

o início e o fim da transmissão de um dígito binário. Figura 31 – Cabo Coaxial

Figura 31 – Cabo Coaxial

6.1.3. Fibra óptica

As fibras óticas são o meio de transmissão pelo qual os sinais binários são conduzidos sob a forma de impulsos luminosos.

Um impulso luminoso representa um bit a 1, enquanto a ausên- cia deste impulso representa um bit a 0. A luz visível é uma onda luminosa cuja alta frequência dá ao sistema uma banda passante potencial bastante grande. As taxas de transmissão num suporte a fibra ótica ficam na faixa dos Gbit/s (10 bit/s).

grande. As taxas de transmissão num suporte a fibra ótica ficam na faixa dos Gbit/s (10

Redes de Computadores

77
77
78
78

Capítulo 6

Um sistema de transmissão a base de fibra ótica é composto de três prin- cipais elementos: o suporte de transmissão (a fibra ótica), o dispositivo de emissão e o dispositivo de recepção da onda luminosa.

A fibra ótica (Figura 32) é constituída de um fio de vidro bastante fino, à base de silício e outros componentes. Ela consiste de um núcleo no qual se propaga a luz e uma capa externa de proteção que mantém a luz no interior do núcleo. O dispositivo de emissão consiste, ou de um diodo emissor de luz (LED) ou de um diodo laser. O dispositivo de recepção é constituído geralmente de um fotodiodo ou de um fototransistor.

O princípio da transmissão das fibras óticas é o da reflexão da luz na interface entre dois meios. Quando um raio luminoso deixa um meio homogêneo para se propagar num outro meio, o seu percurso sofre um desvio na interface entre os dois meios. Entretanto, existe um ângulo de incidência limite, a partir do qual o raio luminoso, ao invés de ser refratado ele será refletido na interface, sendo man- tido no meio no qual ele havia sido introduzido. Desta forma, a luz poderá ser propagada ao longo do meio, em distâncias de alguns quilômetros.

ao longo do meio, em distâncias de alguns quilômetros. Atualmente, os suportes de comunicação à base

Atualmente, os suportes de comunicação à base de fibra ótica são utiliza- dos em redes de comunicação em longa distância, substituindo sistemas mais antigos à base de cabos coaxiais. Isto deverá continuar a ocorrer nos próximos anos, contribuindo para que se tenha, num futuro pró- ximo, em distâncias relativamente grandes, sistemas de comunicação oferecendo altas taxas de transmissão garantindo assim o salvamento de grandes volumes de informação.

assim o salvamento de grandes volumes de informação. Figura 32 – Fibra Óptica Tecnologia em Análise

Figura 32 – Fibra Óptica

Tecnologia em Análise e Desenvolvimento de Sistemas

A Camada Física

Cite os usos mais comuns para os meios de transmissão par tran- çado, cabo coaxial e fibra óptica

Cite os usos mais comuns para os meios de transmissão par tran- çado, cabo coaxial e

6.2. Aspectos da comunicação de dados

O meio de transmissão consiste geralmente de um conjunto de recursos e regras que permitem a transmissão de informação de um ponto a outro numa rede de comunicação. A transmis- são a nível de bit é uma das formas mais simples de transferên- cia de informação.

de comunicação. A transmis- são a nível de bit é uma das formas mais simples de

Este processo é ilustrado pela Figura 33(a), onde podemos observar os seguintes elementos:

A fonte de informação, que pode ser um computador ou um ter- minal, por exemplo, que gera as informações que deverão ser trans- mitidas, estas sendo representadas, usualmente, por um conjunto de dígitos binários, ou bits;

O transmissor, que é responsável da adaptação ou conversão do conjunto de informações, de bits, para sinal elétrico ou eletromag- nético, adaptando-o ao meio de transmissão;

O suporte de transmissão, encarregado do transporte dos sinais representando a informação e que pode ser caracterizado por uma das técnicas apresentadas na seção precedente; é o suporte de trans- missão quem realiza a “ligação física” entre os elementos envolvidos na comunicação;

Redes de Computadores

79
79
80
80

Capítulo 6

O receptor, responsável pela reconstituição da informação a partir dos sinais recebidos via suporte de transmissão, e que, inclusive pode ter sofrido distorções provocadas por ruídos existentes no meio;

O destinatário da informação, que pode ser um computador, um terminal ou outro equipamento e que vai consumir a informação gerada pelo elemento fonte.

que vai consumir a informação gerada pelo elemento fonte. Figura 33 - (a) Sistema de transmissão

Figura 33 - (a) Sistema de transmissão ponto-a-ponto unidirecional; (b) modelo bidirecional.

Geralmente, a transmissão a nível de bits pode ser realizada de forma bidirecional, esta podendo ainda ser realizada de forma alternada ou simultânea. Assim, a cada nó deverá estar associado um equipamen- to transmissor e um receptor compondo o conjunto transceptor como mostrado na figura 33(b).

A transmissão de dados, quando realizada nos dois sentidos é de- nominada duplex. No caso em que ela se realiza alternadamen- te, ou seja, ora num sentido, ora no outro, ela se denomina half- duplex. No caso em que ela se realiza simultaneamente nos dois sentidos, esta será denominada full-duplex.

simultaneamente nos dois sentidos, esta será denominada full-duplex. Tecnologia em Análise e Desenvolvimento de Sistemas

Tecnologia em Análise e Desenvolvimento de Sistemas

A Camada Física

Cite exemplos da vida real que apresentam formas de comunica- ção half-duplex e full-duplex.

formas de comunica- ção half-duplex e full-duplex. Os modos de transmissão caracterizam as diferentes formas

Os modos de transmissão caracterizam as diferentes formas como os bits de informação transmitidos são delimitados e encaminhados ao longo da linha de comunicação.

No que diz respeito à forma como os bits são encaminhados ao longo de uma linha de comunicação, pode-se distinguir o modo de transmissão paralelo e o modo serial.

Na transmissão paralela, os bits são transportados simultane- amente por um suporte composto de várias linhas em paralelo. É um modo de transmissão mais adequado à comunicação entre equipamentos localizados a curtas distâncias. A ligação interna na arquitetura de computadores ou entre computadores e periféricos próximos são exemplos da aplicação da transmissão paralela.

Na transmissão serial, mais adequada a comunicação entre equi- pamentos separados por grandes distâncias, os bits são encami- nhados serialmente através de uma única linha de comunicação.

separados por grandes distâncias, os bits são encami- nhados serialmente através de uma única linha de
os bits são encami- nhados serialmente através de uma única linha de comunicação. Redes de Computadores

Redes de Computadores

81
81
82
82

Capítulo 6

Pode-se considerar outros parâmetros para a classificação dos modos de transmissão, como, por exemplo, o

Pode-se considerar outros parâmetros para a classificação dos

modos de transmissão, como, por exemplo, o fator tempo. No caso particular das transmissões seriais, a forma de delimitar os bits pode levar em conta duas diferentes filosofias — a transmis- são serial síncrona e a transmissão serial assíncrona.

são serial síncrona e a transmissão serial assíncrona. Na transmissão síncrona , os bits de dados

Na transmissão síncrona, os bits de dados são transmitidos se-

gundo uma cadência pré-definida, obedecendo a um sinal de tem- porização (clock). O receptor, por sua vez, conhecendo os inter- valos de tempo permitindo delimitar um bit, poderá identificar a seqüência dos bits fazendo uma amostragem do sinal recebido.

Na transmissão assíncrona, não existe a fixação prévia de um pe- ríodo de tempo de emissão entre o transmissor e o receptor. A separação entre os bits é feita através de um sinal especial com duração variável. Um caso típico de transmissão assíncrona é a transmissão de caracteres; neste caso, a cada grupo de bits consti- tuindo um caractere são adicionados bits especiais para represen- tar o início (start bit) e final deste (stop bit). Neste tipo de comu- nicação, apesar de assíncrona ao nível de caracteres, ocorre uma sincronização ao nível de bit.

de caracteres, ocorre uma sincronização ao nível de bit. Um outro aspecto a ser destacado aqui

Um outro aspecto a ser destacado aqui é aquele da forma como os sinais são transmitidos num suporte de comunicação, particularmente no que consis- te à maneira como a banda passante do canal de comunicação é explorada.

No primeiro modo, a transmissão em banda de base (baseband), a banda passante do suporte de transmissão é atribuída totalmente a um único canal de transmissão. Neste modo, os sinais são transmi- tidos através do meio de comunicação multiplexados no tempo.

No segundo modo, a transmissão em barda larga (broadband), a banda passante do suporte de transmissão é dividida num de- terminado número de canais de faixa de freqüência estreita, per- mitindo que estes possam então ser transmitidos utilizando uma técnica de multiplexação em freqüência. A banda passante dos canais é normalmente definida em função da taxa de transmissão desejada e do modo de modulação empregado.

da taxa de transmissão desejada e do modo de modulação empregado. Tecnologia em Análise e Desenvolvimento

Tecnologia em Análise e Desenvolvimento de Sistemas

A Camada Física

Neste capítulo aprendemos sobre a camada física e suas caracterís- ticas mais importantes.

No próximo capítulo vamos conhecer sobre a camada de enlace e suas funções mais importantes

No próximo capítulo vamos conhecer sobre a camada de enlace e suas funções mais importantes Redes

Redes de Computadores

83
83

CapítuloCapítulo 66

Tecnologia em Análise e Desenvolvimento de Sistemas

A CAMADA DE ENLACE DE DADOS A camada de Enlace de Dados tem por função

A CAMADA DE ENLACE DE DADOS

A camada de Enlace de Dados tem por função oferecer uma for- ma de comunicação confiável entre entidades da Camada de Rede. Neste capítulo veremos os mecanismos que permitem uma comuni- cação eficiente e confiável entre duas máquinas adjacentes, ou seja, duas máquinas que estão fisicamente conectadas através de uma canal de comunicação que funciona como um fio.

de uma canal de comunicação que funciona como um fio. 85 Dentre os fatores com os
85
85
de uma canal de comunicação que funciona como um fio. 85 Dentre os fatores com os
de uma canal de comunicação que funciona como um fio. 85 Dentre os fatores com os

Dentre os fatores com os quais a camada de Enlace deve preocupar-se estão:

A forma como os bits provenientes da camada Física serão agrupa- dos em quadros;

Os mecanismos de detecção e correção de erros a serem implan- tados, uma vez que as informações trocadas através da camada Física não são isentas de erros de transmissão, pelos fatores que já foram levantados;

Os mecanismos de controle de fluxo para limitar o volume de infor- mação trocados entre entidades fonte e destino;

A gestão das ligações entre as entidades de Rede.

7.1. As classes de serviços de enlace

A camada de Enlace de Dados oferece serviços para a camada de Rede classificados em três principais categorias, estas dependendo do sistema no qual elas serão implantadas:

Serviço sem conexão e sem reconhecimento;

Serviço sem conexão com reconhecimento;

Serviço orientado à conexão.

86
86

Capítulo 7

Na primeira classe de serviços, a máquina fonte da informação envia os quadros de dados à máquina destinatária e esta não envia um quadro de reconhecimento da informação recebida; além dis- so, não existe estabelecimento prévio de conexão e, por consequ- ência, não existe liberação desta ao final do diálogo. Se um quadro de dados é perdido no meio de transmissão como consequência de um ruído por exemplo, não existe nenhum mecanismo que permita solucionar o problema. Esta classe de serviços é adequada quando implantados sobre um suporte de comunicação cuja taxa de erros é muito baixa ou que a correção dos erros é prevista nas camadas superiores. Eles podem ser empregados particularmente no caso de aplicações tempo real e em redes locais.

A segunda classe de serviços, embora ainda não defina o estabe- lecimento prévio de conexão, prevê a existência de quadros de re- conhecimento, de modo que a máquina fonte será notificada pela máquina destinatária da recepção do quadro previamente envia- do. Um mecanismo que pode ser implantado no caso de perda do quadro — o que corresponde à não recepção do quadro de reconhecimento após um certo tempo (timeout) — é a retrans- missão daquele. Num serviço sem conexão, existe a possibilidade da retransmissão de quadros provocando a recepção múltipla do mesmo quadro (duplicação de mensagem).

A terceira classe de serviços é a mais sofisticada, uma vez que ela define a necessidade do estabelecimento prévio de conexão e a liberação destas ao final do diálogo. Neste caso, cada quadro enviado é numerado e a camada de Enlace garante que cada qua- dro enviado será recebido, uma única vez, e que o conjunto de quadros enviados será recebido ordenado da mesma forma que foi enviado. Esta classe de serviços oferece à camada de Rede um canal de comunicação confiável.

à camada de Rede um canal de comunicação confiável. Os serviços orientados à conexão são caracterizados

Os serviços orientados à conexão são caracterizados por três principais etapas:

A etapa de estabelecimento de conexão, durante a qual são definidos todos os parâmetros relacionados à conexão, como por exemplo, os contadores de seqüência de quadros;

A etapa de transmissão de dados, durante a qual são realizadas to- das as trocas de informação correspondentes ao diálogo entre duas máquinas;

Tecnologia em Análise e Desenvolvimento de Sistemas

A Camada de Enlace de Dados

A etapa de liberação da conexão, que caracteriza o fim do diálogo e na qual todas as variáveis e outros recursos alocados à conexão serão novamente disponíveis.

A comunicação entre as camadas de Rede e de Enlace é feita através de primitivas de serviço (request, indication, response e confirm) como já definidas na parte relativa à apresentação do modelo OSI. Um esquema permitindo demonstrar o modo de utilização das primitivas é mostrado na figura 34.

Neste esquema, representa-se nas extremidades a camada de Rede, ca- racterizada pelos dois sistemas envolvidos no diálogo (no caso, A e B) e no centro a camada de Enlace.

no diálogo (no caso, A e B) e no centro a camada de Enlace. Figura 34

Figura 34 - Primitivas de serviço trocadas entre as camadas de Rede e de Enlace.

Os deslocamentos verticais das primitivas representam o tempo decor- rido entre suas ocorrências. Por exemplo, no caso das primitivas de re- quest e indication, o tempo decorrido entre o envio da primeira pela camada de Rede do sistema A e a recepção da segunda pela camada de Rede do sistema B.

7.2. O conceito de quadro

Para que o serviço seja oferecido à camada de Rede, a camada de Enlace utiliza-se dos serviços fornecidos pela camada Física que, como já foi descrito na parte precedente, é responsável da transmis- são de bits de um ponto a outro na rede de comunicação, sendo que o conjunto de bits transmitido pode sofrer distorções produzindo er- ros de transmissão.

que o conjunto de bits transmitido pode sofrer distorções produzindo er- ros de transmissão. Redes de

Redes de Computadores

87
87
88
88

Capítulo 7

Uma consequência típica pode ser que o número de bits recebidos seja inferior ao número de bits enviados ou os valores de alguns bits podem ter sido modificados.

Com o objetivo de permitir um controle de erro eficiente, a cama- da de Enlace decompõe as mensagens em porções menores deno- minadas quadros, aos quais são adicionados códigos especiais de controle de erro.

são adicionados códigos especiais de controle de erro. Desta forma, o receptor pode verificar se o

Desta forma, o receptor pode verificar se o código enviado no contexto de um quadro indica ou não a ocorrência de erros de transmissão e ele pode, assim, tomar as providências necessárias para evitar as consequ- ências devido àquele erro.

A delimitação dos quadros pode obedecer a diferentes políticas. Uma

das políticas adotadas pode ser a contagem de caracteres. Nesta política, é introduzido um caractere especial que indica o número de caracte- res compondo o quadro. Deste modo, a nível da camada de Enlace do receptor, basta que a entidade leia este caractere e em seguida conte o número de caracteres para definir o tamanho do quadro. O inconve- niente desta técnica, portanto, é o fato de que o caractere que define o tamanho do quadro pode ser modificado, o que significa que o receptor vai ler, erroneamente os quadros transmitidos. A Figura 35 ilustra este problema.

os quadros transmitidos. A Figura 35 ilustra este problema. Figura 35 - Sequencia de caracteres: (a)

Figura 35 - Sequencia de caracteres: (a) sem erro; (b) com erro.

Uma técnica que apresenta uma solução a este problema consiste na adição de sequencias especiais de caracteres de modo a representar o início e fim da transmissão de um quadro.

A Figura 36 ilustra um caso relativo a esta técnica, onde as sequências

de caracteres DLE (Data Link Escape) e STX (Start of TeXt) são inseri-

Tecnologia em Análise e Desenvolvimento de Sistemas

A Camada de Enlace de Dados

das para representar o início de um quadro e a seqüência DLE e ETX (End of TeXt) para representar o fim do quadro. Esta técnica apresenta, ainda, um ponto de vulnerabilidade: se, dentro do texto, dado que os bits podem assumir qualquer combinação de valores, uma seqüência de bits coincide com uma das sequências de caracteres citada, a entidade receptora na camada de Enlace pode ser “enganada” por esta seqüência

e, assim, receber erroneamente o quadro.

esta seqüência e, assim, receber erroneamente o quadro. Figura 36 - (a) Dados enviados pela camada

Figura 36 - (a) Dados enviados pela camada de Rede com sequências de delimitação; (b) idem, com introdução dos caracteres de transparência.

A solução para este problema vem através da introdução, pela entidade

de Enlace emissora, de um caractere DLE a cada vez que, uma seqüência de bits correspondente à parte de dados, coincidir com um caractere DLE. Desta forma, basta à entidade de dados receptora eliminar os ca- racteres DLE dos dados antes de transmiti-los à camada de Rede. Isto vai permitir então, às entidades receptoras de Enlace, fazer a distinção entre as sequências delimitadoras de quadro (DLE-STX e DLE-ETX)

das sequências “acidentais” nos dados. Os caracteres DLE introduzidos a nível dos dados são denominados caracteres de transparência.

Uma técnica ainda utilizada e definida mais particularmente para a uti- lização em redes de comunicação é aquela em que os quadros são deli- mitados por uma seqüência de bits particular, mas desta vez dissociados da codificação de caracteres. A seqüência 01111110 é adotada para re- presentar a delimitação dos quadros.

De maneira análoga à utilização dos caracteres de transparência da téc- nica anterior, bits de transparência (ou bit stuffing) são introduzidos, antes do envio de dados, para evitar a confusão, por parte do receptor, com os delimitadores de quadro. Assim, no receptor, a cada vez que 5 bits “1” consecutivos são detectados na parte de dados, um bit 0 é adi- cionado após a seqüência. Do lado do receptor, a cada vez que ocorrer uma seqüência de 5 bits “1” consecutivos de dados seguidos de um bit 0, este último será eliminado da parte de dados. A Figura 37 ilustra a apli- cação desta técnica. Em 37(a) são apresentados os dados originais e, em 37(b), os mesmos dados com a introdução dos bits de transparência.

Redes de Computadores

Capítulo 7

Capítulo 7 Figura 37 - (a) dados originais; (b) dados com adição do bit de transparência.

Figura 37 - (a) dados originais; (b) dados com adição do bit de transparência.

7.3. O controle de erro

Os erros que por vezes ocorrem nos suportes de transmissão podem ter como causas os mais diversos fenômenos físicos, como por exemplo, o ruído térmico, provocado pela agitação dos elétrons nos cabos de cobre. Outro fenômeno importante são os ruídos impulsivos, capazes de pro- vocar, numa linha transmitindo dados a 9600 bit/s, a perda de 96 bits. Os ruídos impulsivos são causados pelos arcos devido ao chaveamento de relês ou outros dispositivos eletromecânicos. O que se tem notado, entretanto, é que, independentemente do fenômeno causador de erro, estes tendem a gerar normalmente verdadeiros pacotes de erros e não erros simples. Isto pode ter um aspecto positivo, uma vez que, num con- junto relativamente grande de bits, um menor número de pacotes vai conter erros. Por outro lado, os erros agrupados em pacotes são mais difíceis de detectar.

O controle de erros de transmissão é uma das funções mais importantes asseguradas pela camada de Enlace. Esta função é baseada na possibili- dade de informação para entidade emissora da mensagem do que ocor- reu na extremidade de recepção.

Os protocolos de controle de erro são caracterizados, em geral, pela definição de um quadro de controle, correspondente a um reconheci- mento positivo ou negativo. Caso a entidade emissora receba um reco- nhecimento positivo de um quadro previamente enviado, ela entende que aquele foi corretamente recebido. Por outro lado, se ela recebe um reconhecimento negativo, ficará consciente que o quadro foi mal trans- mitido e que, neste caso, ele deverá ser retransmitido.

Ainda, se, por uma intensidade relativamente forte de ruído, o quadro inteiro não é recebido pela entidade destinatária, esta não vai reagir ao quadro emitido e a entidade emissora corre o risco de esperar indefi- nidamente pelo reconhecimento — isto é evitado pela adição de tem- porizadores, estabelecendo assim um tempo máximo de espera pelo

Tecnologia em Análise e Desenvolvimento de Sistemas

A Camada de Enlace de Dados

reconhecimento, antes da retransmissão. O tempo de espera deve ser determinado em função dos atrasos relativos à transmissão dos qua- dros, de modo que os quadros de reconhecimento, se existentes, che- guem antes do esgotamento da temporização (timeout).

Deste modo, se o quadro ou o reconhecimento são perdidos, a tempori- zação será esgotada, podendo provocar a retransmissão do quadro. Nes-

te caso, é possível que o quadro seja aceito mais de uma vez pela camada

de Enlace e transmitido à camada de Rede ocorrendo a duplicação de

quadros. Para evitar este problema, deve-se introduzir um mecanismo

de distinção dos quadros a fim de que o receptor possa separar os qua-

dros duplicados de seus originais.

Existem praticamente duas técnicas para a correção de erro. A primeira, consiste na introdução, a nível dos quadros, de informações redundan- tes que permitam ao receptor reconstituir os dados enviados a partir da informação recebida. A segunda técnica consiste em adicionar unica- mente um conjunto de informações redundantes o suficiente para que

o receptor possa detectar a ocorrência de um erro (sem corrigi-lo) e

requisitar a retransmissão do quadro. Ao primeiro tipo de informação

é dado o nome de código corretor e ao segundo tipo de informação código detetor.

7.3.1.Código de detecção de erro

Uma técnica bastante simples para detecção de erros é a utilização de um bit de paridade associado ao caractere. Esta paridade está relacionada ao número de bits 1 da palavra de dados. Se a pari- dade par for utilizada a palavra de dado deve conter um número par de bits 1. Se a paridade ímpar for escolhida, a palavra de dado deve conter um número ímpar de bits 1.

a palavra de dado deve conter um número ímpar de bits 1. O tipo de paridade

O tipo de paridade a ser utilizada pode ser negociado porém seu uso

é muito restrito pois só consegue detectar erros simples, por exemplo:

não detectaria uma inversão de um número par de bits ou a inversão do próprio bit de paridade. Uma técnica derivada é a de paridade lon- gitudinal. Ela é implementada definindo a utilização de bits de paridade para cada palavra e também uma “palavra de paridade” que forma o BCC(Block Character Check). O BCC é calculado considerando o con-

Redes de Computadores

91
91

Capítulo 7

junto de caracteres a transmitir como uma matriz e os valores de parida- de calculados horizontalmente. A Figura 38 ilustra este procedimento. Para transmitir a palavra IFES inicialmente seriam calculados os bits de paridade de cada caractere (P). Em seguida os bits de paridade longitu- dinal (BCC). Os caracteres seriam transmitidos em seqüência e o BCC seria transmitido por último.

em seqüência e o BCC seria transmitido por último. Figura 38 – Exemplo de utilização de

Figura 38 – Exemplo de utilização de paridade (PAR) longitudinal.

Um outro método de detecção de erros largamente utilizado é a defini- ção de códigos de detecção de erros polinomiais, também denominados CRC (Cyclic Redundancy Code). Nos códigos polinomiais, considera-

se que os bits de uma cadeia de caracteres são os coeficientes de um poli-

nômio, coeficientes estes, capazes de assumir apenas dois valores: 0 ou 1. Assim, um bloco de k bits é visto como uma série de coeficientes de um polinômio de k termos, indo de Xk-1 a X0. A palavra 110001 contém 6

bits — ela representa então o seguinte polinômio: x5 + x4 + x0.

A utilização de códigos de detecção polinomiais é baseada na escolha

de um código especial que caracteriza um polinômio gerador, ou G(x). Uma exigência em relação a este polinômio é que os bits mais signi- ficativo e menos significativo (correspondendo, respectivamente aos coeficientes de mais alta ordem e de mais baixa ordem do polinômio)

sejam de valor 1. A técnica consiste em adicionar a um bloco de dados (caracterizando um polinômio M(x)) um conjunto de bits de controle

de modo que o quadro (dados + bits de controle) seja divisível por G(x).

Na recepção, a entidade de Enlace efetua a divisão dos bits compondo o quadro pelo polinômio gerador. Caso o resto seja diferente de zero, é caracterizada então a ocorrência de um erro de transmissão.

7.3.2. Procedimentos para controle de erro

Os três procedimentos mais usados para controlar erros no Enlace de Dados são: algoritmo do bit-alternado (stop-and-wait ou send-wait),

Tecnologia em Análise e Desenvolvimento de Sistemas

A Camada de Enlace de Dados

janela n com transmissão integral (go-back-n) e janela n com retrans- missão seletiva (selective repeat).

No algoritmo do bit-alternado o transmissor só envia um novo qua- dro quando recebe o reconhecimento do quadro enviado anterior- mente. Considerando que os quadros podem ser transmitidos mais de uma vez, é necessário numerá-los para que o receptor possa dis- tinguir quadros originais de retransmissões. Como o transmissor só envia um novo quadro depois do anterior ser reconhecido, só é pre- ciso um bit para diferenciar quadros sucessivos. O primeiro quadro é numerado com o bit 0, o segundo como o bit 1, o terceiro com o bit 0, e assim por diante.

como o bit 1, o terceiro com o bit 0, e assim por diante. A técnica

A técnica do bit-alternado oferece uma solução simples porém inefi- ciente para o controle de erro, pois enquanto o transmissor espera por reconhecimentos o canal de comunicação não é utilizado.

Para aumentar a eficiência na utilização dos canais de comuni- cação, foram elaborados protocolos que permitem que o trans- missor envie diversos quadros mesmo sem ter recebido reco- nhecimentos dos quadros anteriormente enviados. O número máximo de quadros, devidamente numerados, que podem ser enviados sem que tenha chegado um reconhecimento define a largura da janela de transmissão.

reconhecimento define a largura da janela de transmissão. Como no protocolo do bit alternado (Figura 39),

Como no protocolo do bit alternado (Figura 39), o transmissor fica sa- bendo que ocorreu um erro em um quadro por ele enviado quando seu reconhecimento não chega após decorrido um intervalo de tempo sufi- ciente para tal.

Neste caso, dois procedimentos podem ser implementados para recu- perar o erro:

Retransmissão integral: todos os quadros a partir do que não foi recebido são retransmitidos;

Retransmissão seletiva: apenas o quadro que não foi reconhecido é retransmitido.

Redes de Computadores

93
93

Capítulo 7

Para aumentar ainda mais a eficiência na utilização do canal de transmis- são, em ambos os casos o receptor não precisa enviar um reconhecimento para cada quadro que recebe. O transmissor, ao receber o reconhecimen- to do quadro n conclui que ele, e todos os quadros enviados antes dele, foram recebidos corretamente. A Figura 40 ilustra estas duas estratégias.

corretamente. A Figura 40 ilustra estas duas estratégias. Figura 39 – Controle de erro por timeout

Figura 39 – Controle de erro por timeout no protocolo do bit alternado

Controle de erro por timeout no protocolo do bit alternado Figura 40 –Protocolos de janela n

Figura 40 –Protocolos de janela n com retransmissão integral ou seletiva

Tecnologia em Análise e Desenvolvimento de Sistemas

A Camada de Enlace de Dados

Em relação aos protocolos de janela, o que pode acontecer se o tamanho de mensagens enviadas sem confirmação (janela) for muito grande ou muito pequeno?

confirmação (janela) for muito grande ou muito pequeno? 7.3.3. O controle de fluxo Outra função importante

7.3.3. O controle de fluxo

Outra função importante da camada de Enlace de Dados é a de contor- nar o problema decorrente de transmissor que envia quadros mais ra- pidamente do que um receptor é capaz de aceitá-los. Esta situação pode ocorrer quando o transmissor está sendo executado em um computador muito rápido (ou que não esteja sobrecarregado) e o receptor está utili- zando um computador lento (ou sobrecarregado). Mesmo que a trans- missão não contenha erros, em um determinado ponto o receptor não mais será capaz de receber os quadros e começará a perder alguns deles. Desta forma há a necessidade de mecanismos que impeçam que esta situação aconteça.

A solução mais comum é incluir algum mecanismo de controle de fluxo para que o transmissor não mais envie quadros tão rapidamente a ponto do receptor não ser capaz de recebê-los corretamente. Geralmente estes mecanismos incluem informações que devem ser enviadas do receptor para o transmissor para que este último possa saber se o receptor é ou não capaz de acompanhá-lo.

Existem diversos esquemas de controle de fluxo. No entanto, a maioria deles utiliza o mesmo princípio básico. O protocolo contém regras bem definidas sobre quando o transmissor pode enviar o quadro seguinte. Com freqüência, essas regras impedem que os quadros sejam enviados até que o receptor tenha concedido permissão para transmissão, im- plícita ou explicitamente. Por exemplo, quando uma conexão for esta- belecida, o receptor poderá dizer: “Você está autorizado a me enviar n quadros agora, mas depois que eles tiverem sido enviados, não envie mais nada até eu dizer para continuar”.

Redes de Computadores

95
95
96
96

Capítulo 7

No protocolo do bit alternado, visto na seção anterior, o próprio meca- nismo de retransmissão de quadros controla o fluxo, pois um novo qua- dro só é enviado depois do receptor ter processado o quadro anterior e enviado um reconhecimento.

Nos protocolos com janela n maior que 1, o controle de fluxo é feito com base em quadros especiais e em janelas de transmissão e recepção. A utilização das janelas para controlar erros e o fluxo de quadros nesses protocolos faz com que eles sejam classificados como protocolos de ja- nelas deslizantes (ou sliding windows).

O número máximo de quadros que o transmissor pode enviar,

sem receber um reconhecimento, é determinado pela largura (T)

de sua janela de transmissão. Após ter enviado T quadros sem re-

ceber reconhecimento o transmissor suspende o envio de dados,

só voltando a fazê-lo após receber um reconhecimento que, além

de indicar que um ou mais quadros chegaram corretamente ao receptor, indica também que ele está pronto para processar novos quadros. A Figura 41 ilustra esse esquema de controle de fluxo.

A Figura 41 ilustra esse esquema de controle de fluxo. Figura 41 – Controle de fluxo
A Figura 41 ilustra esse esquema de controle de fluxo. Figura 41 – Controle de fluxo

Figura 41 – Controle de fluxo em protocolos de janela n (n=4)

Note que, para não confundir o transmissor, se a numeração dos quadros vai de 0 a n, a janela deve ter tamanho máximo igual a n. Por exemplo, na figura 41, se a janela fosse de tamanho 5 o transmissor não teria como saber se um reconhecimento de um quadro 4 é uma retransmissão do reconhecimento do quadro 4 da janela anterior ou da janela corrente.

Tecnologia em Análise e Desenvolvimento de Sistemas

A Camada de Enlace de Dados

O número máximo de quadros que o receptor pode receber, sem

que nenhum deles seja entregue ao nível de rede, é determinado

pela largura R de sua janela de recepção. Para que um quadro pos-

sa ser confirmado sem ainda ter sido entregue ao nível de rede,

quando acumula R quadros em sua memória, o nível de enlace do receptor avisa ao transmissor que não está em condições de rece- ber novos quadros, enviando-lhe um quadro especial receive-not- ready. O transmissor, ao receber este quadro, suspende o envio de novos quadros. Quando alguns dos quadros que estavam em sua memória são entregues ao nível de rede, o receptor envia para o transmissor um quadro especial receive-ready, liberando-o para transmitir novos quadros.

receive-ready, liberando-o para transmitir novos quadros. 7.4. O controle de acesso ao meio A estratégia adotada

7.4. O controle de acesso ao meio

A estratégia adotada na elaboração dos padrões de protocolos de enlace

de dados para redes locais (IEEE 802) foi definir mais de um padrão de forma a atender aos requisitos dos sistemas usuários da rede. Na verda- de, a arquitetura IEEE 802 pode ser vista como uma adaptação das duas camadas inferiores da arquitetura RM-OSI da ISO.

Nesta arquitetura existem 3 camadas, ou seja, uma equivalente à camada física e duas sub-camadas que juntas equivalem a camada de enlace. Elas são assim denominadas:

Camada física (PHY);

Sub-camada de controle de acesso ao meio (MAC);

Sub-camada de controle de enlace lógico (LLC).

• Sub-camada de controle de enlace lógico (LLC). Para atender o modelo elaborado devemos observar que

Para atender o modelo elaborado devemos observar que as funções de comunicação mínimas e essenciais de uma rede local, equivalentes aos níveis inferiores do RM-OSI, podem ser assim definidas:

Fornecer um ou mais SAPs (pontos de acesso ao serviço) para os usuários da rede;

na transmissão, montar os dados a serem transmitidos em quadros com campos de endereço e códigos de redundância para detecção de erros;

Redes de Computadores

97
97

Capítulo 7

na recepção, desmontar os quadros, efetuando o reconhecimento de endereço e detecção de erros;

Gerenciar a comunicação no enlace.

Estas quatro funções são fornecidas pelo nível de enlace do RM-OSI. As subfunções, relacionadas à primeira função, são agrupadas pelo IEEE 802 na camada Logical Link Control (LLC). As três restantes são tratadas em uma camada separada, chamada Medium Access Control (MAC), que podem, então ser otimizadas para as diferentes topologias de redes locais, mantendo uma interface única, a camada LLC, para os usuários da rede local.

A sub-camada de Controle de Acesso ao Meio (MAC) especifica os

mecanismos que permitem gerenciar a comunicação a nível de En- lace de Dados. Em particular, a sub-camada MAC fornece os servi- ços que permitem disciplinar o compartilhamento de um meio de transmissão comum aos sistemas usuários da rede. As unidades de transferência de informação em nível da sub-camada MAC corres- pondem aos quadros MAC.

A existência da sub-camada MAC na arquitetura IEEE 802 reflete uma

característica própria das redes locais, que é a necessidade de geren- ciar enlaces de dados com origens e destinatários múltiplos num mes- mo meio físico de transmissão, como no caso das topologias em anel

e

barramento. Além disso, a existência da sub-camada MAC permite

o

desenvolvimento da sub-camada superior (LLC) com um certo grau

de independência da camada física, no que diz respeito à topologia e ao

meio de transmissão propriamente dito. Por outro lado, a própria sub- camada MAC é bastante sensível a esses elementos.

Os mecanismos de controle de acesso distribuído apresentam uma forte dependência quanto à topologia da rede de comunicação. Um resultado das diferentes características topológicas é a existência de técnicas de controle de acesso exclusivas a uma determinada topologia. Alguns me- canismos de acesso podem ser implementados em topologias diferentes (barramento e anel) mas esta não é a regra geral.

A sub-camada de Controle de Enlace Lógico (LLC) é a camada da ar-

quitetura IEEE 802 que se encarrega de prover às camadas superiores

os serviços que permitem uma comunicação confiável de seqüência de

bits (quadros) entre os sistemas usuários da rede. A especificação da sub-camada LLC prevê a existência de três tipos de serviços básicos, fornecidos à camada superior.

Tecnologia em Análise e Desenvolvimento de Sistemas

A Camada de Enlace de Dados

Um primeiro serviço oferecido pela sub-camada LLC permite que as unidades de informação sejam trocadas sem o estabelecimento prévio de uma conexão a nível de enlace de dados. Neste tipo de serviço não há, portanto, nem controle para recuperação de erros ou anomalias, nem controle da cadência de transferência das unidades de dados (controle de fluxo). É suposto que as camadas superiores possuam tais mecanismos de modo a tornar desnecessária sua duplicação nas camadas inferiores.

Um segundo serviço fornecido pela sub-camada LLC consiste no esta- belecimento de uma conexão a nível de enlace de dados, antes da fase de troca de dados propriamente dita, de modo a incorporar as funções de recuperação de erros, de sequenciamento e de controle de fluxo.

O terceiro refere-se a um serviço sem conexão com reconhecimento uti-

lizado em aplicações que necessitam de segurança mas não suportam o overhead de estabelecimento de conexão.

O

que pode acontecer caso duas estações ligadas a mesma rede

 

tenham endereços físicos (MAC) iguais?

tenham endereços físicos (MAC) iguais?

Neste capítulo aprendemos sobre a camada de enlace e suas funções mais importantes

Neste capítulo aprendemos sobre a camada de enlace e suas funções mais importantes

O próximo capítulo será especial. Nele vamos conhecer o protocolo IP, seus endereços e máscaras.

Redes de Computadores

99
99

Capítulo 7

Tecnologia em Análise e Desenvolvimento de Sistemas

A CAMADA DE REDE O objetivo da camada de Rede é assegurar o transporte de

A CAMADA DE REDE

O objetivo da camada de Rede é assegurar o transporte de unidades

de dados denominadas pacotes do sistema fonte ao sistema desti-

natário, definindo uma trajetória apropriada. Esta trajetória pode significar a passagem por diversos nós intermediários da rede, o que significa que a camada de Rede deve ter o conhecimento de todos

os aspectos topológicos da rede considerada e, com esta informação,

ser capaz de escolher o melhor caminho a ser realizado por estes pacotes. Nesta escolha, é interessante que seja levado em conta o es- tado corrente de toda a rede, particularmente no que diz respeito ao tráfego de mensagens, evitando assim a sobrecarga de certos trechos das linhas de comunicação. Ainda, se o sistemas fonte e destinatário estão conectados a redes diferentes, estas diferenças devem ser leva- das em conta e compensadas pela camada de Rede.

ser leva- das em conta e compensadas pela camada de Rede. 101 A camada de Rede
101
101
leva- das em conta e compensadas pela camada de Rede. 101 A camada de Rede é
leva- das em conta e compensadas pela camada de Rede. 101 A camada de Rede é

A camada de Rede é a camada mais baixa que lida com a transmissão

fim-a-fim. As duas funções essenciais da camada de Rede são roteamen-

to e controle de congestionamento. A seguir serão apresentadas outras

funções desta camada:

Multiplexação;

Endereçamento;

Mapeamento entre endereços de rede e endereços de enlace;

Estabelecimento e liberação de conexões do serviço de rede;

Transmissão de unidades de dados do serviço de rede (pacotes);

Segmentação e blocagem de SDUs/PDUs;

Detecção e recuperação de erros;

Sequenciação.

Os mecanismos relacionados à funções de interconexão de redes mere- cerão uma parte dedicada especialmente para este assunto.

Capítulo 8

8.1. Serviços oferecidos pela camada de rede

A camada de Rede oferece serviços à camada de Transporte na interface

entre estas duas camadas. Geralmente esta interface tem importância especial por outra razão: costuma ser a interface entre a concessionária de comunicações e o cliente, ou seja, é a fronteira da rede. Em geral, a concessionária de comunicações tem o controle dos protocolos e inter- faces até (e inclusive) a camada de rede. Sua tarefa é entregar pacotes que recebe a seus clientes. Por isso esta interface deve ser especialmente bem definida.

Os serviços da camada de Rede foram projetados com os seguintes ob- jetivos em mente:

Os serviços devem ser independentes da tecnologia da rede;

A camada de Transporte deve ser protegida contra a quantidade, o tipo e a topologia das redes presentes;

Os endereços de rede que se tornaram disponíveis para a camada de Transporte devem usar um plano de endereçamento uniforme, mesmo nas LANs e WANs.

8.2. Organização interna da camada de rede

Há basicamente duas diferentes filosofias para a organização da rede, uma utilizando conexões e a outra trabalhando sem conexão. No con- texto de operação interna da rede, uma conexão costuma ser chamada de circuito virtual, em analogia com os circuitos físicos estabelecidos pelo sistema telefônico. Os pacotes usados na organização sem conexão são chamados datagrama, em uma analogia com os telegramas.

A ideia que há por trás dos circuitos virtuais é evitar a escolha de uma

nova rota para cada pacote ou célula enviada. Na verdade, quando se estabelece uma conexão, uma rota entre a máquina de origem e a má- quina de destino é escolhida, como parte do estabelecimento da cone- xão configurada e é memorizada. Essa rota é utilizada por todo o trá- fego que flui pela conexão, exatamente da mesma forma que sistema telefônico funciona. Quando a conexão é liberada, o circuito virtual também deixa de existir.

Por outro lado, no caso de uma rede de datagrama, nenhuma rota é pre- viamente definida, mesmo que o serviço seja orientado a conexão. Cada

Tecnologia em Análise e Desenvolvimento de Sistemas

A Camada de Rede

pacote enviado é roteado independentemente de seus antecessores. Os sucessivos pacotes podem seguir diferentes rotas. Apesar das redes de datagrama terem de trabalhar mais, elas também costumam ser mais robustas e se adaptam com mais facilidade a falhas e congestionamento do que as redes de circuito virtual.

Todas as duas metodologias têm seus prós e contras. O Quadro 1 a seguir apresenta uma comparação entre as redes de circuito virtual e de datagrama.

Questão

Rede em datagrama

Rede em circuito virtual

Configuração de

circuito

Desnecessária

Obrigatória

Endereçamento

Cada pacote contém os endereços com- pletos de origem e destino

Cada pacote contém um pequeno

número de circuito virtual

Informações sobre estado

A rede não arma- zena informações sobre estado

Cada circuito virtual re- quer espaço

em tabelas da rede

Roteamento

Nenhum, com exceção dos pacotes perdidos durante falhas

A rota virtual é estabe- lecida quando o circuito virtual é estabelecido; todos os pacotes seguem esta rota.

Efeitos de falha no roteador

Todo os circuitos virtuais que tiverem atravessado o roteador que apresentou falha serão encerrados

Controle de congestionamento

Difícil

Fácil se forem alocados buffers suficientes com antecedência para cada circuito virtual

Quadro 1 – Redes em Datagrama X Circuito Virtual

Vale a pena assinalar explicitamente que o serviço oferecido (orientado à conexão ou sem conexão) é uma questão à parte da estrutura das sub-redes (circuito virtual ou datagrama). Na teoria, todas as quatro combinações são possíveis. É claro que uma implementação de circuito virtual de um serviço orientado à conexão e uma implementação de datagrama de um serviço sem conexão são razoáveis. A implementação de conexões usando datagra- mas também faz sentido quando a sub-rede está tentando fornecer um ser- viço altamente robusto. Uma comparação, através de exemplos, entre todas as quatro possibilidades pode ser analisada no Quadro 2.

Redes de Computadores

104
104
104 Capítulo 8 Quadro 2 – Possibilidades de oferta de serviços de Rede 8.3. Endereçamento de
104 Capítulo 8 Quadro 2 – Possibilidades de oferta de serviços de Rede 8.3. Endereçamento de

Capítulo 8

104 Capítulo 8 Quadro 2 – Possibilidades de oferta de serviços de Rede 8.3. Endereçamento de

Quadro 2 – Possibilidades de oferta de serviços de Rede

8.3. Endereçamento de Rede

Na arquitetura TCP/IP o endereçamento de rede é dado através do protocolo IP. Um endereço IP é um identificador único para certa interface de rede de uma máquina. Este endereço é forma- do por 32 bits (4 bytes) e possui uma porção de identificação da rede na qual a interface está conectada e outra para a identificação da máquina dentro daquela rede. O endereço IP é representado pelos 4 bytes separados por “.” e representados por números deci - mais. Desta forma o endereço IP: 11010000 11110101 0011100 10100011 é representado por 208.245.28.63.

11110101 0011100 10100011 é representado por 208.245.28.63. Como o endereço IP identifica tanto uma rede quanto

Como o endereço IP identifica tanto uma rede quanto a estação a que se refere, fica claro que o endereço possui uma parte para rede e outra para a estação. Desta forma, uma porção do endereço IP designa a rede na qual a estação está conectada, e outra porção identifica a estação dentro daquela rede.

Uma vez que o endereço IP tem tamanho fixo, uma das opções dos projetistas seria dividir o endereço IP em duas metades, dois bytes para identificar a rede e dois bytes para a estação. Entretanto isto traria inflexibilidade pois só poderiam ser endereçados 65536 redes, cada uma com 65536 estações. Uma rede que possuísse apenas 100 estações estaria utilizando um endereçamento de rede com capaci- dade de 65536 estações, o que também seria um desperdício.

dade de 65536 estações, o que também seria um desperdício. Tecnologia em Análise e Desenvolvimento de

Tecnologia em Análise e Desenvolvimento de Sistemas

A Camada de Rede

A forma original de dividir o endereçamento IP em rede e estação, foi

feita por meio de classes. Um endereçamento de classe A consiste em

endereços que tem uma porção de identificação de rede de 1 byte e uma porção de identificação de máquina de 3 bytes. Desta forma, é possível endereçar até 256 redes com 2 elevado a 32 estações. Um endereçamen-

to de classe B utiliza 2 bytes para rede e 2 bytes para estação, enquanto

um endereço de classe C utiliza 3 bytes para rede e 1 byte para estação. Para permitir a distinção entre uma classe de endereço e outra, utilizou-

se os primeiros bits do primeiro byte para estabelecer a distinção.

Nesta forma de divisão é possível acomodar um pequeno número de redes muito grandes (classe A) e um grande número de redes pequenas (classe C). Esta forma de divisão é histórica e não é mais empregada na Internet devido ao uso de uma variação que é a sub-rede, como será visto em seção adiante. Entretanto sua compreensão é importante para fins didáticos.

As classes originalmente utilizadas na Internet são A, B, C, D, E., con- forme mostrado na Figura 42. A classe D é uma classe especial para identificar endereços de grupo (multicast) e a classe E é reservada.

endereços de grupo (multicast) e a classe E é reservada. Figura 42 – Classes de endereços

Figura 42 – Classes de endereços IP

A Classe A possui endereços suficientes para endereçar 128 redes

diferentes com até 16.777.216 hosts (estações) cada uma.

A Classe B possui endereços suficientes para endereçar 16.284 re-

des diferentes com até 65.536 hosts cada uma.

A Classe C possui endereços suficientes para endereçar 2.097.152

redes diferentes com até 256 hosts cada uma.

endereços suficientes para endereçar 2.097.152 redes diferentes com até 256 hosts cada uma. Redes de Computadores

Redes de Computadores

105
105
106
106

Capítulo 8

Calcule e encontre a classe dos endereços: 16.10.2.20, 200.214.50.5,

180.235.4.12

dos endereços: 16.10.2.20, 200.214.50.5, 180.235.4.12 As máquinas com mais de uma interface de rede (caso dos

As máquinas com mais de uma interface de rede (caso dos roteadores ou máquinas interligadas à mais de uma rede, mas que não efetuam a fun- ção de roteamento) possuem um endereço IP para cada uma, e podem ser identificados por qualquer um dos dois de modo independente. Um endereço IP identifica não uma máquina, mas uma conexão à rede.

Alguns endereços são reservados para funções especiais:

Endereço de Rede: Identifica a própria rede e não uma interface de rede específica, representado por todos os bits de hostid com o valor zero.

Endereço de Broadcast: Identifica todas as máquinas na rede específica, representado por todos os bits de hostid com o valor um.

Desta forma, para cada rede A, B ou C, o primeiro endereço e o últi- mo são reservados e não podem ser usados por interfaces de rede.

Endereço de Broadcast Limitado: Identifica um broadcast na própria rede, sem especificar a que rede pertence. Representado por todos os bits do endereço iguais a um = 255.255.255.255.

Endereço de Loopback: Identifica a própria máquina. Serve para enviar uma mensagem para a própria máquina rotear para ela mesma, ficando a mensagem no nível IP, sem ser enviada à rede. Este endereço é 127.0.0.1. Permite a comunicação inter-processos (entre aplicações) situados na mesma máquina.

inter-processos (entre aplicações) situados na mesma máquina. Tecnologia em Análise e Desenvolvimento de Sistemas

Tecnologia em Análise e Desenvolvimento de Sistemas

A Camada de Rede

As Figuras 43 e 44 mostram exemplos de endereçamento de máquinas situadas na mesma rede e em redes diferentes. Pode ser observado que

como o endereço começa por 200 (ou seja, os dois primeiros bits são 1

e o terceiro 0), eles são de classe C. Por isto, os três primeiros bytes do endereço identificam a rede. Como na figura 43, ambas as estações tem

o endereço começando por 200.18.171, elas estão na mesma rede. Na

figura 44, as estações estão em redes distintas e uma possível topologia é mostrada, onde um roteador interliga diretamente as duas redes.

onde um roteador interliga diretamente as duas redes. Figura 43 – Exemplo de uma rede IP

Figura 43 – Exemplo de uma rede IP e seu endereço

redes. Figura 43 – Exemplo de uma rede IP e seu endereço Figura 44 – Exemplo

Figura 44 – Exemplo de duas redes IP interligadas por um roteador

A figura 44 ilustra um diagrama de rede com o endereçamento utilizado.

Note que não há necessidade de correlação entre os endereços utilizados nas redes adjacentes. O mecanismo para que uma mensagem chegue na rede correta é o roteamento. Cada elemento conectando mais de uma rede realiza a função de roteamento IP, baseado em decisões de rotas. Note que mesmo os enlaces formados por ligações ponto-a-pontos são também redes distintas.

Na Figura 45 existem 6 redes, identificadas por 200.1.2.0, 139.82.0.0, 210.200.4.0, 210.201.0.0, 10.0.0.0 e 200.1.3.0.

Redes de Computadores

108
108

Capítulo 8

108 Capítulo 8 Figura 45 – Exemplo de várias redes IP interligadas 8.3.1. Mapeamento de endereços

Figura 45 – Exemplo de várias redes IP interligadas

8.3.1. Mapeamento de endereços IP em endereços de rede

Os protocolos de rede compartilhada como Ethernet, possuem

um endereço próprio para identificar as diversas máquinas situa- das na rede. Em Ethernet o endereçamento utilizado é chamado endereço físico ou endereço MAC - Medium Access Control, for- mado por 6 bytes, conforme a Figura 46.

Control , for- mado por 6 bytes, conforme a Figura 46. Figura 46 – Formato do
Control , for- mado por 6 bytes, conforme a Figura 46. Figura 46 – Formato do

Figura 46 – Formato do endereço físico (MAC)

Este tipo de endereçamento só é útil para identificar diversas máquinas, não possuindo nenhuma informação capaz de distinguir redes distintas. Para que uma máquina com protocolo IP envie um pacote para outra

Tecnologia em Análise e Desenvolvimento de Sistemas

A Camada de Rede

máquina situada na mesma rede, ela deve se basear no protocolo de rede local, já que é necessário saber o endereço físico. Como o protocolo IP

identifica uma máquina pelo endereço IP, deve haver um mapeamen-

to

entre o endereço IP e o endereço de rede MAC. Este mapeamento é

realizado pelo protocolo ARP (Address Resolution Protocol).

O mapeamento via protocolo ARP só é necessário em uma rede do tipo

Em uma rede

ponto-a-ponto como, por exemplo, um enlace serial, o protocolo ARP

não é necessário, já que há somente um destino possível.

compartilhada como Ethernet, Token-Ring, FDDI, etc

A Figura 47 mostra uma rede com 3 estações, onde uma máquina A com

endereço IP 200.18.171.1 deseja enviar uma mensagem para a máquina

B cujo endereço é 200.18.171.3. A mensagem a ser enviada é uma men-

sagem IP. No caso do exemplo abaixo, antes de efetivamente enviar a mensagem IP, a estação utilizará o protocolo ARP para determinar o en- dereço MAC da interface cujo endereço IP é o destino da mensagem.

MAC da interface cujo endereço IP é o destino da mensagem. Figura 47 – Envio de

Figura 47 – Envio de um datagrama entre duas estações

O funcionamento do protocolo ARP segue os seguintes passos:

Estação A verifica que a máquina destino está na mesma rede local, determinado através dos endereços origem e destino e suas respectivas classes.

O protocolo IP da estação A verifica que ainda não possui um mapeamento do endereço MAC para o endereço IP da máquina destino.

O protocolo IP solicita ao protocolo que o endereço MAC necessário

Protocolo ARP envia um pacote ARP (ARP Request) com o endereço MAC destino de broadcast (difusão para todas as máquinas)

Todas as máquinas recebem o pacote ARP, mas somente aque- la que possui o endereço IP especificado responde