You are on page 1of 29
Capitulo 2 Protocotos: FUNDAMENTOS Reves ve Coneutanones Curso ComPtcro Conceitos Basicos No capitulo passado falamos que protocolo é a “linguagem” usada pelos dispositivos de uma rede de modo que eles consigam se entender, isto é, trocar informagoes entre si Para que todos os dispositivos de uma rede consigam conversar entre si, todos eles deverao estar usando uma mesma linguagem, isto é um mesmo protocolo. Uma rede pode usar diversos protocolos, como 0 TCP/IP, NetBEUI ¢ o SPX/IPX, entre outros. Nos proximos capitulos estaremos explicando aprofundadamente o funcionamento, de cada um desses protocolos. Embora cada um de’ 's protocolos funcione de uma forma particular, eles tém algumas similaridades, que estaremos explorando neste capitulo, Essas similaridades existem porque, na verdade, os protocolos surgiram com um mesmo objetivo: transmitir dados através de uma rede. Para entendermos melhor como os protocolos funcionam, considere as seguintes premissas: 4 Amaioria das transmissGes de dados em redes locals € do tipo half-uplex (ver Capitulo 1), ¢ Tradicionalmente os computadores de uma rede compartilham um mesmo cabo e, com isso, todos os computadores recebem uma mesma informagao ao mesmo tempo. Mesmo em redes que utilizem hubs (ver Figura 1,16), onde cada micto éconectado a rede usando um cabo individual, esse componente na verdade funciona apenas como um repetidor, enviando para todas as maquinas as informagdes que ele recebe, ao mesmo tempo (ver Capitulo 16), Observe a Figura 2.1. Se o computador A quiser enviar um dado para o computador B, este dado também chegaré ao computador C. ¢ Se uma transmissao esta sendo feita entre dois dispositives, nenhuma outra transmissdo poderd ser feita ao mesmo tempo, mesmo que seja entre dois dispositivos. que nao estejam participando da transmissdo em curso, ja que o cabo ja estard sendo usado, Como voce pode ver na Figura 2.2, 0 computador © nao poder enviar dados para nenhum outro micro da rede enquanto o cabo estiver sendo usado, mesmo que seja um micro que nao esteja participando da comunicagao atualmente em curso (por exemplo, para um hipotético computador D), 34+ Cus0 Conan Goriruto 2 — Prorocotos: Funpanentos gers 2.1: lrvtenda om dda ot sve Nenhum computador pode transmit dads enquantoo cabo est sendousado. ¢ Seum arquivo grande tiver de ser transmitido, os demais dispositivos da rede terao de esperar muito tempo para comegarem a transmitir (pois o arquivo é grande & demora algum tempo para ser transmitido), que 0 cabo ja estara sendo usado. Mostramos um exemplo na Figura 2.3, onde 0 computador C teré de esperar 0 computador A acabar de transmitir 0 arquivo para B para entdo poder usar 0 cabo ¢ efetuar uma transmissao. so Com + 35 Rees ne Computanones Cunso Coneteto Arquivo grande sendo transmitido de A para B + Poderdo ocorrer interferéncias de algum tipo no meio do caminho € o dado pode nao chegar corretamente ao seu destino. 0s protocolos sdo justamente uma solugao para todos esses problemas. Primeiro, 0 protocolo pega os daclos que devem ser transmitidos na rede e divide ele em pequenos pedagos de tamanho fixo chamados pacotes ou quadros. Isso significa que um arquivo nao ¢ transmitido na rede de uma s6 vez. Por exemplo, se um arquivo a ser transmitido possui 100 KB e 0 protocolo usado divide os dados em pacotes de 1 KB, entdo esse arquivo sera transmitido em 100 pacotes de 1 KB cada. Dentro de cada pacote ha uma informagdo de enderecamento que informa a origem eo destino do pacote, Observe a Figura 2.1, Seo computador A est enviando um arquivo para 0 computador B e todos os computadores da rede recebem essa informagao ao mesmo tempo, como o computador B sabe que o dado € para ele? Como os demais computadores da rede sabem que o dado nao € para eles? Justamente observando essa informagio de enderecamento. As placas de rede dos computadores possuem um endereco fixo, que é gravado em hard- ware, Dessa forma, 0 computador de destino sabe que 0 pacote atualmente transitando no cabo da rede é para ek porque ha 0 endereco de sua placa de rede no cabecalho de destino do pacote. Da mesma forma, os demais computadores sabem que aquele pacote 36 + Cass Come Geiru.o 2 — Protocotos: Funoawexros nao é para eles, jd que nao ha o enderego de nenhuma das placas de rede dos outros computadores no pacote. © uso de pacotes de dados otimiza enormemente 0 uso da rede, jé que, em vez de uma nica transmissdo de um dado grande (um arquivo grande, por exemplo), existi transmissoes de dados menores, Com isso, estatisticamente haverd uma maior probabilidade de um outro dispositive que queira transmitir um dado encontrar © cabo da rede livre, podendo iniciar uma nova transmissao. 10 varias Dessa forma, € possivel que varios dispositivos se comuniquem “ao mesmo tempo” em uma rede. Fisicamente, essas transmissoes nao sao efetuadas simultaneamente, mas intercalando ‘05 Varios pacotes de dados, como exemplificamos na Figura 2.4, onde mostramos o exemplo de dois computadores, A ¢ C, enviando um arquivo cada para o computador B, Ao longo do tempo, serao intercalados no cabo pacotes vindos do computador A e do computador C. 0 computador receptor se encarregaré de “montar” os pacotes a medida em que eles vio ‘chegando, 0 que é facil, 4 que em cada pacote ha a informagao do computador de origem. sz __\ a __1_\ A A A J ope t cee igoro 2.4: Wonsisso simoltnea de dos arqivos. Como vacé pode facilmente notar, a velocidade da transmissio de dados em uma rede € altamente dependente do nimeto de transmissies Quanto mi imultaneas” que esto sendo efetuadas, transmissbes estiverem em curso a0 mesmo tempo, mais lenta serd a rede. Cus Come «37 Renes oe Cowrutaoones Curso Coweteo Suponha o seguinte: se somente h4 uma transmissao de dados entre 0 computador Ae © computador B, essa transmissdo pode ser feita na velocidade maxima do meio de transmissdo, por exemplo, 10 Mbps. Para fazer duas transmiss6es simultaneas a 10 Mbps, 6 meio teria de aumentar a sua velocidade para 20 Mbps (para conseguir transferir dois, dados a 10 Mbps). No caso de trés comunicagoes simultaneas, a velocidade do meio teria de passar para 30 Mbps e assim por diante, Acontece que 0 meio ~ isto €, © cabeamento da rede ~ possui um lade, que é justamente a sua velocidade maxima de transmissdio, Dessa forma, um cabo que transmite dados a 10 Mbps nao consegue transmitir dados a uma velocidade maior do que esta, Com isso, para conseguir transmitir dois dados a 10 Mbps, obrigatoriamente a velocidade desses dois dados tenderé a cair pela metade ~ 5 Mbps. No caso de trés dados, a velocidade individual de cada dado passa para 3,33 Mbps e assim por diante, Isso corre porque, como explicamos anteriormente, somente um dispositive pode usar 0 imite de veloci cabo por vez e, portanto, as transmissdes na verdade nao serio simultineas, mas sim intercaladas, como exemplificamos na Figura 2.4. Dessa forma, ha uma relagéo direta entre o ntimero de maquinas instaladas em uma rede e © seu desempenho. Teoricamente, quanto mais méquinas colocarmos na rede, mais lenta cla ser, pois maior seré a probabilidade de mais de uma transmissao ser requerida por vez. Ha varias maneiras de se transpor esse problema e estaremos analisando. esas solucdes ao longo do livro. A placa de rede, ao colocar um pacote de dados no cabo da rede, faz uma conta chamada checksum ou CRC (Cyclical Redundancy Check). Essa conta consiste em somar todos os bytes presentes no pacote de dados ¢ enviar o resultado dentro do proprio pacote. A placa de rede do dispositive receptor ira refazer essa conta ¢ verificar se 0 resultado calculado corresponde ao valor enviado pelo dispositivo transmissor. Se os valores forem iguais, significa que 0 pacote chegou integro ao seu destino. Ci ‘que houve algo de errado na transmissao (uma interferéncia no cabo, por exemplo) ¢ os dados recebidos sao diferentes dos originalmente enviados, ou seja, os dados chegaram 0 contrario, significa corrompidos a0 destino. Nesse caso, 0 dispositivo receptor pede ao transmissor uma retransmissao do pacote defeituoso, Essa € outra vantagem de se trabalhar com pequenos pacotes em vez de transmitir diretamente o arquivo. Imagine ter de esperar receber © arquivo todo a 86 entao 38 + Crs Cuneo Goriruvo 2 — Prorocotos: Funiokwenros verificar se ele chegou em perfeito estado! Com 0 uso de pacotes, a verificagao de erros € feita a cada pacote recebido, Na Figura 2.5 nés vemos um exemplo hipotético de um pacote de dados. ‘o ues) onc Figura 2.5: Exemple de um pacate de dads. O Mopeto OSI Quando as redes de computadores surgiram, as solugdes cram, na maioria das vezes, proprietérias, isto é, uma determinada tecnologia s6 era suportada por seu fabricante. ‘Nao havia a possibilidade de se misturar solug6es de fabricantes diferentes, Dessa forma, um mesmo fabricante era responsavel por construir praticamente tudo na rede. Para facititar a interconexao de sistemas de computadores, a ISO (International Standards Organization) desenvolveu um modelo de referéncia chamado OSI (Open Systems Inter- connection), para que 0s fabricantes pudessem criar protocolos a partir desse modelo. Interessante notar que a maioria dos protocolos existentes ~ como o TCP/IP, o IPX/SPX © 0 NetBEUI — nao segue esse modelo de referéncia ao pé da letra (como veremos, esses protocolos s6 correspondem a partes do padrao OS). Todavia, o estudo deste modelo & extremamente didatico, pois através dele ha como entender como deveria ser um. “protocolo ideal”, bem como facilita enormemente a comparagao do funcionamento dle protocolos criados por diferentes fabricantes. © modelo de protocolos OSI é um modelo de sete camadas, apresentadas na Figura 2.6. Na transmisséo de um dado, cada camada pega as informagues passacas pela camada superior, acrescenta informacées pelas quais ela seja responsavel e passa os dados para a camada imediatamente inferior, como mostra a Figura 2.7. Esse proceso € conhecido Cis0 Como + 39 Reoes ot Comutapones Curso Comte como encapstilamento. Na camada 4, Transporte, o dado enviado pelo aplicativo é dividido em pacotes. Na camada 2, Link de Dados, 0 pacote é dividido em varios quadros. Na recepcio de um dado, 0 processo & verso. Figura 2.6; Model OSI de protocols. Um usuario que pede para o seu programa de e-mail baixar seus os e-mails, na verdade est fazendo com que o seu programa de e-mail inicie uma transmissao de dados com a camada 7 - Aplicagéo ~ do protocolo usado, pedindo para baixar os e-mails do servidor de e-mails. Essa camada processa esse pedido, acrescenta informagOes de sua competéncia, € passa os dados para a camada imediatamente inferior, a camada 6 (Apresentagio). Processo continua até a camada 1 (Fisica) enviar o quadro de dados para 0 cabeamento, da rede, quando, entdo, atingira o dispositivo receptor, que faré o processo inverso, até a sua aplicagdo ~ no nosso exemplo, um programa servidor de e-1 se nail. A comunicagao estudada na Figura 2.7 6 a comunicagao real, ou seja, como funciona a transmissdo de um dado através de uma rede. Na pratica acabamos simplificando e falando que uma determinada camada do transmissor comunica-se diretamente com a mesma camada do dispositive receptor. Por exemplo, a camada 4, ‘Transporte, do Aispositivo transmissor comunica-se diretamente com a camada 4 do dispositivo recep- tor € simplesmente ignoramos as comunicagées efetuadas pelas camadas inferiores existentes. E assim por diante. Essa comunicagao virtual, ilustrada na Figura 2.8, € possivel porque cada camada, durante a ctiagao do pacote que sera enviado através da rede, acrescentou o seu proprio cabegalho, como esta ilustrado na Figura 2.7. 40 + Cinso Cuneo arituco 2 — Protocouos: Funoameos S]e[7] ote | 1 Foo Mo Feca (Cabeant da ete) Figura 2.7: Come funciona oconwnicaio etre os comadas do modele OSI. Por exemplo, na pratica simplesmente falamos que um programa cliente de e-mail esté requisitando dados de um programa servidor de e-mail, € ndo nos preocupamos muito como isto € feito, © mesmo ocorre na comunicagio virtual do modelo OSI. Quando analisamos a comunicagao de uma camada do transmissor com a mesma camada no receptor, normalmente nao estamos nos preocupando (ou nao precisamos saber) como estd ocorrendo a comunicacao nas camadas inferiores aquela estudada, ia dos protocolos comerciais também trabalha com o conceito de camadas, porém essas camadas ndo necessariamente possuem o mesmo nome e fungio das apresentadas no modelo OSI, Muitas vezes, para cada uma dessas camadas ha um protocolo envolvido. Dessa forma, muitos protocolos s4o, na verdade, um conjunto de protocolos, cada um com papel especifico em sua estrutura de camadas. Estudaremos isso melhor no desenrolar deste capitulo e nos préximos capitulos. Corso Cours + AT eves ve Compurapones Curso Compueto A 8 7 ay 7 6 == 6 5 = 5 4 Sap 4 rt aoa a 2 Link de Dados —— Link de Dados: 2 1 Fisica ==> Fisica 1 Figur 2.8: Comuniaro vital no modelo OSI. As camadas do modelo OSI podem ser divididas em trés grupos: aplicagao, transporte & rede, como vocé confere na Figura 2.9. As camadas de rede se preocupam com a transmissio erecepgaio dos dados através da rede e, portanto, sao camadas de baixo ni transporte é responsdvel por pegar 0s dados recebidos pela rede e repassé-los para as camadas deaplicagdo de uma forma compreensivel, isto é, ela pega os pacotes de dados ¢ transforma- os em dados quase prontos para serem usados pela aplicagao. As camadas de aplicagao, que sao camadas de alto nivel, colocam 0 dado recebido em um padrao que seja compreensivel pelo programa (aplicagao) que fara uso desse dado. |. A camada de 6 Aplicagéo 5 a ] — Trensoorte 3 2 Rede Figure 29: Grupos des camadas do modsl OSL 42 > Cus Com ‘Giro 2 — Prorocotos: Funpssewros Até entio estavamos usando os termos pacotes ¢ quadros como sindnimos, mas estes termos se referem a duas coisas distintas. Um quadto ¢ um conjunto de dados enviado através da rede, de forma mais “bruta” ou, melhor dizendo, de mais baixo nivel. Dentro, dc um quadro encontramos informagdes de enderesamento fisico, como, por cxemplo, ‘© enderego real de uma placa de rede. Logo, um quadro esta associado as camadas mais, baixas (1 ¢ 2) do modelo OSI. ‘Um pacote de dados se refere a um conjunto de dados manipulados nas camadas 3 e 4 do ‘modelo OSI. No pacote ha informagdes de enderecamento virtual. Por exemplo, a camada 4 cria um pacote de dados para ser enviado pela rede € a camada 2 divide esse pacote em vvirios quadros que serao efetivamente enviadosatravés do cabo da rede. Um pacote, portanto, contém a informagao proventente de varios quadros. Para dar um exemplo real e elucidar de uma vez essa diferenca, em uma rede usando 0 protocolo TCP/IP, a camada IP adiciona informaces de enderegamento de um pacote (ndmero do endereco IP da maquina de destino), que € um enderecamento virtual. Jé a ‘camada Controle de Acesso ao Meio (MAC) ~ que corresponde a camada 2 do modelo OSI - transformara esse pacote em um ou mais quadros ¢ esses quadros terdo 0 enderego, da placa de rede de destino (endereco real, fisico) que corresponda ao niimero IP fornecido. Lendo atentamente este capitulo acreditamos que essa idéia ficaré mais clara. Estudaremos agora cada uma das camadas do modelo OSI e suas fung’ es, Note que as explicagdes serdo dadas como se estivéssemos transmitindo um dado do computador A para 0 computador B. O processo de recepeao 6 0 inverso do descrito. Camapa 7 — Apuicacio A camada de aplicacao faz a interface entre o protocolo de comunicacao ¢ o aplicativo que pediu ou receberd a informacdo através da rede. Por exemplo, se voce quiser baixar 0 seu e- ‘mail com seu aplicativo de e-mail, ele entrar em contato com a camada de Aplicagao do protocolo de rede efetuando este pedido. Camapa 6 — Apresentacio Acamada de Apresentagdo, também chamada camada de Traducao, converte o formato do dado recebido pela camada de Aplicagao em um formato comum a ser usado na G9 Cano 43 Rees oe Conpuanones Curso Conrtero transmissiio desse dado, ou seja, um formato entendido pelo protocolo usado. Um, exemplo comum €4 conversao do padrdo de caracteres (codigo de pagina) quando, por exemplo, o dispositive transmissor usa um padrao diferente do ASCII, por exemplo. Pode ter outros uses, Como compressao de dados e criptogratia, A compressdo de dados pega os dados recebidos da camada sete € 0s comprime (como se fosse um compactador comumente encontrado em PCs, como oZip ou o Ar) ea camada 6 do dispositivo receptor fica responsavel por descompactar esses dados. A transmissao dos dados tomna-se mais rdpida, jé que haverd menos dados a serem transmitidos: os dados recebidos da camada 7 foram “encolhidos” ¢ enviados & camada 5. Para aumentar a seguranga, pode-se usar algum esquema de criptografia neste nivel, sendo que os dados s6 serdo decodificados na camada 6 do dispositivo receptor. Camapa 5 — Sessio A camada de Sess4o permite que duas aplicagées em computadores diferentes estabelecam, uma sessao de comunicagao. Nesta sesso, essas aplicagdes definem como sera feita a transmissao de dados e coloca marcagoes nos dados que estao sendo transmitidos. Se porventura a rede falhar, 0s computadores reiniciam a transmissio dos dados a partir da iltima marcaglo recebida pelo computador receptor. Por exemplo, voce esti baixando e-mails de um servidor de e-mails ea rede falha. Quando a rede voltar a estar operacional, a sua tarefa continuaré do ponto em que parow, nao sendo necessério reinicié-ta Camapa 4 — TRANsPORTE A camada de ‘Transporte é responsavel por pegar os dados enviados pela camada de Sessdo e dividi-los em pacotes que serao transmitidos pela rede, ou, melhor dizendo, repassados para a camada de Rede. No receptor, a camada de Transporte ¢ responsavel cebidos da camada de Rede ¢ remontar 0 dado original para envié-lo a camada de Sessio. Isso inclui controle de fluxo (colocar os pacotes recebidos por pegar os pacotes 1 em ordem, caso eles tenham chegado fora de ordem) e correciio de erros, tipicamente enviando para 0 transmissor uma informagao de reconhecimento (acknowledge), informando que pacote foi recebido com sucesso. AA + Coes Cuneo ‘Gariru.o 2 — Prorocotos: FuwoawenTos A camada de Transporte separa as camadas de nivel de aplicacéo (camadas 5 a 7) das madas de nivel fisico (camadas de 1 a 3). Como vocé pode facilmente perceber, as camadas de 1 a 3 estdio preocupadas com a maneira com que 0s dados serio transmitidos, € recebidos pela rede, mais especificamente com os quadros transmitidos pela rede. Jé as, camadas de 5 a 7 estao preocupadas com os dados contidos nos pacotes de dados, para serem enviados ou recebidos para a aplicagao responsavel pelos dactos. A camada 4, ‘Transporte, faz a ligacao entre esses dois grupos. Camapa 3 — Reve Acamada de Rede é responsavel pelo enderecamento dos pacotes, convertendo enderegos logicos em enderegos fisicos, de forma que os pacotes consigam chegar corretamente ao destino, Essa camada também determina a rota que os pacotes irdo seguir para atingir 0 destino, baseada em fatores como condicdes de trafego da rede e prioridades. ‘Como voce pode ter percebido, falamos em rota. Essa camada ¢, portanto, usada quando a rede possui mais de um segmento e, com isso, hé mais de um caminho para um pacote de dados trafegar da origem até o destino, Camapa 2 — Link pe Davos Acamada ce Link de Dados (também chamada camada de Enlace) pega os pacotes de dados recebiclos da camada de Rede ¢ os transforma em quadlros que serdo trafegados pela rede, adicionando informagées como o endereco da placa de rede de origem, o endereco da placa de rede de destino, dados de controle, os dados em si e o CRC. A estrutura do pacote de dados criado por essa camada nés ja vimos na Figura 2.5. (0 quadro criado pela camada Link de Dados ¢ enviado para a camada Fisica, que esse quadro em sinais elétricos para serem enviados através do cabo da rede. Quando © receptor recebe um quadro, a sua camada Link de Dados confere se 0 dado chegou integro, refazendo 0 CRC. Se 0s dados estao o.k., ele envia uma confirmagao de recebimento (chamada acknowledge ou simplesmente ack). Caso essa confirmagao nao seja recebida, a camada Link de Dados do transmissor reenvia 0 quadro, ja que ele nao chegou até o receptor ou entao chegou com os dados corrompidos. Nés ja haviamos visto esse principio de corregao de erros no tépico Conceitos Basico. Gus0 Comen > 45 eves n€ Cowruraoones Curso Comuero Camapa 1 = Fisica ‘A camada Fisica pega 0s quadros enviados pela camada de Link de Dados ¢ os transforma em sinais compativeis com 0 meio onde os dados deverdo ser transmitidos, Se 0 meio for elétrico, essa camada converte 0s Os € 1s dos quadros em sinais elétricos a serem transmitidos pelo cabo, Se 0 meio for 6ptico (uma fibra Optica), essa camada converte os 0s e 15 dos quadros em inais luminosos e assim por diante, dependendo do meio de transmissio ce dados. A camada Fisica especifica, portanto, a maneira com que os 0s € 1s dos quadros serio enyiados para a rede (ou recebidos da rede, no caso da recepgio de dados). Ela nao sabe © significado dos 0s ¢ 1s que estd recebendo ou transmitindo, Por exemplo, no caso da recepgtio de um quadro, a camada fisica converte os sinais do cabo em 0s € Is € envia essay informnagoes para a camada de Link de Daduy, que montard o quaddro ¢ verificard se ele foi recebido corretamente. ‘Como vocé pode facilmente perceber, 0 papel dessa camada é efetuado pela placa de rede dos dispositivos conectados em rede. Note que a camada Fisica nao inclui o meio onde 0s dados citculam, isto ¢, 0 cabo da rede, O maximo com que essa camada se preocupa é com o tipo de conector ¢ 0 tipo de cabo usado para a transmissao e recepelo dos dados, de forma que os Os € 1s sejam convertidos corretamente no tipo de sinal requerido pelo cabo, mas 0 cabo em si nao € responsabilidade dessa camada, Pardo IEEE 802 OEE (Institute of Electrical and Electronic Engineers) criou uma série de padroes de protocolos. © mais importante foi a série 802, que é largamente usada e € um conjunto de protocolos usados no acesso a rede. Como voce pode ver na Figura 2.10, os protocolos IEEE 802 possuem, trés camadas, que equivalem as camadas 1 ¢ 2.do modelo OSI. A camada 2.do modelo OSI no modelo IEFF 802 6 dividida em duas: Controle do Link Légico (LLC, Logic Link Control) e Controle de Acesso ao Meio (MAC, Media Access Controb) Como a maioria das redes usa o padrao IEEE 802 para acessar a rede (isto 6, 0 cabeamento), podemos dizer que o modelo de protocolo 0 mostrado na Figura 2.11. As camadas 3.a 7 do modelo OSI serdio preenchidas de acordo com os protocolos usados pela rede, que poderdio equivaler a uma ou mais dessas camadas. 46% Crs Coro ‘eee B02 Camas dos protocals IEEE 802. {ink Légion 40) Controle do r Controle de ‘Acesso a0 Meio (MAC) a Figure 2.11: Modelo de protaclaw por dispostives que wsom o protaclo IEE 802. Exi mn varios padres IEEE 802, como IEEE 802.2, IEEE 802.3, etc, O padrao IEEE 802.2 especifica o funcionamento da camada de Controle do Link Logico (LLC). Os demais padroes IEEE operam na camada de Controle de Acesso a0 Meio (MAC) e na camada fisica, como mostra a Figura 2.12. Patréo 0S) | Padi IEEE B02 Link de Dados Controle de Acesso a0 Meio (MAC) 1802.3] 802.4) ane. 1 Fisica Figra 2.12: Padres IEE. Cvs Cone + 47 Reoes ve Comrutanores Curso Coneteto Comparando mais uma vez 0 padrao IEEE 802. com 0 modelo OSI, o padrao IEEE 802.2 equivale a parte da camada 2 (Link de Dados), enquanto que padrées como 0 802.3, 802.4 € 802.5 equivalem a parte da camada 2 (Link de Dados) e a camada 1 (Fisica). Entre os padroes 802 existentes, destacam-se: + IEEE 802.3 (Ethernet): Usa 0 conceito de deteccdo de colisdo, chamado CSMA/CD (Carrier Sense, Multiple Access with Collision Detection), onde todos os computadores da rede compartitham um mesmo cabo. Os computadores s6 podem enviar dados para a rede quando 0 cabo esta livre. Caso dois computadores tentem enviar um dado a0 mesmo tempo na rede, hé uma colisdo e as placas de rede esperam um periodo de tempo aleatério e tentam reenviar 0 pacote para o cabo de rede, Esse método € 0 mais usado na transmissiio de dados em redes locais, tanto que as explicagdes dadas sobre o funcionamento de redes no inicio deste capitulo foram baseadas neste método. Tipicamente as transmissbes de dados desse padrao sao de 10 Mbps, embora ja existam as revisdes para suportar taxas de transmissao mais altas: 100 Mbps e 1 Gps. Estudatemos este padraio em detalhes no capitulo 13. + IEEE802.5 (Token Ring): Usado em redes com topologia em anel, como estudaremos no Capitulo 14, Um pacote especial, chamado token (ficha) circula no anel pasando de micro em micro, Somente o computador que detenha o token pode enviar dados, gravando o seu pacote de dados dentro do token. A ficha circula no anel até atingir © destino do dado, quando entao seré descarregada, ficando livre para receber um novo dado. Esse padrao de transmissao de dados nao é tao comum como o Ethernet. Existem outros padres, como o IEEE 802.4 (token passing), mas, por ndo serem tao comuns, deixaremos de comenté-los propositadamente, Como dlissemos, esses padrdes IEEE, além de desempenharem parte do papel da camada 2 do padrao OS! (através da camada de Controle de Acesso ao Meio), desempenham também, © papel da camada 1, a camada fisiea. Como isso, esses padrdes definem outros detalhes como, por exemplo, o tipo de conector que sera usado pela placa de rede. Por motivos didaticos, nés preferimos abordar neste capitulo somente o funcionamento do protocol em si, Detalhes sobre conectores, topologias e cabos serdo abordados em momentos mais, oportunos, quando eventualmente voltaremos a mencionar os padrOes IEEE 802, Como dissemos, 0 padrao Ethernet (IEEE 802.3) €0 protocolo mais comum para transmissto de dads na rede. Em geral, quando usamos o termo protocolo de rede normalmente estamos 1nos referindo a protocolos que trabalham nas camadas 3 ¢ 4 do modelo OSI, como 0 TCP/ 48 + CisoConen Coriruvo 2 — Protocotos: Funoawenros IP, 0 IPS/SPX e o NetBEUL O Ethernet e 0 Token Ring s4o protocolos que trabalham nas camadas 1 ¢ 2 e, portanto, podem coexistir com outros protocolos comerciais. Em outras palavras, 0 modelo OSI apresenta um modelo de sete camadas que, em principio, poderia usar até sete protocolos (um para cada camada) para fazer uma rede funcionar, Na pratica, para que computadores consigam trabalhar em rede, uma série de protocolos sao usados, em geral cada um equivalendo a uma ou mais camadas do modelo OSI. Os protocolos IEEE 802 trabalham nas camadas |e 2 e podem ser usados em conjunto X ¢ 0 NetBEUI, entre outros, com outros protocolos comerciais, como o TCP/IP, o IPX/S Uma representagao mais fiel ao mundo real do que ocorre na maioria das redes pode ser vista na Figura 2.13. As reticéncias indicam camadas superiores, isto é, 0s protocolos de redes usados na maquina, t 4 STE t * + + Driver da Placa de Rede 4 Fisica - IEEE 802.3 tt Cabo da Rede Figura 2.13: Representcio do gue ocore no mundo rel. Camapa Fisica A camada fisica pega os quadros enviados pela camada de Controle de Acesso ao Meio e 6s envia para o meio fisico (cabeamento). A camada fisica do padrao IEEE 802 define também o tipo de topologia usado pela rede € o tipo de conector usado pela placa de Gis Cone + 49 Reoes ne Compuranones Curso Conpusto rede e, conseqiientemente, 0 tipo de cabo que sera usado. Como dissemos, por motivos didaticos explicaremos aprofundadamente sobre esse assunto em futuros capitulos. Como dissemos, a camada fisica do padrao IEBE 802 esta presa a0 padrao usado: 802.3, | 802.5, ete. © mais importante a saber sobre a camada fisica do padrdo IEEE 802 6 que ela pega os Os © 1s enviados pela camada de Controle de Acess0 ao Meio e nao os envia diretamente para © cabo, sendo esses dados antes codificados. Para que vocé entenda melhor como essa codificagdo funciona, vamos estudar 0 funcionamento de um algoritmo chamado | Manchester, que € usado por redes Ethernet (IEEE 802.3) operando a 10 Mbps. | | | ‘A codifieagaio Manchester transforma um bit 0 em uma deseida de 1 para 0 ¢ um bit 1 em uma subida de 0 para 1, como mostra a Figura 2.14, | Figura 2.14: Come & feta aceiicarie Manchester. Ouso desse sistema de codificagdo é muito interessante, pols obriga o dado transmitido a ter uma inverséo de fase (isto 6, passar de 0 para 1 ou de 1 para 0) sempre. Por exemplo, se 0 | dado a ser transmitido for 00000000, com essa codificagdio o dado passard a ter 8 inversoes de fase, enquanto que originalmente nao haveria nenhuma. Ou seja, independentemente do dado que esté sendo transmitido, sempre haverd uma inversdo de fase por it transmitido, criado um sistema de sincronismo entre o transmissor ¢ receptor, isto é, um. sistema de clock, embora teoricamente este sinal nao exista durante a transmissdo. Com isso, No dispositive receptor esse sinal de clock pode ser criado através de um circuito chamado Digital Phase Locked Loop (DPLL), que se encarrega de contar essas variagdes de fase ¢ 50 + Guo lounen 8 i Griruio 2 — Prorocotos: Fuwoewentos gerar um sinal clock a partir dessas variagdes. Como a codificagao Manchester obriga a ter uma variagao de fase por bit enviado, o receptor, em Conjunto com esse circuito gerador de clock, pode facilmente receber os bits que estdo sendo enviados, isto é, pode facilmente saber a hora de inicio e a hora de termino de cada bit enviado, ja que haver um sinal de sincronismo. Normalmente em transmissdes em série, ¢ necessério o uso de informagoes adicionats de start bite stop bit (que indicam, respectivamente, 0 inicio o fim do byte transmitido) -que tomam- se desnecessarias com es ssquema, tornando a transmissao mais rapida ¢ mais eficiente. Na Figura 2.15 vemos o exemplo da codificagao do dado 01001011 usando esta técnica Como vocé pode contar, hé oito inversbes de fase, uma para cada bit. (Dado sem coificagdo | Dao codieada (Manchester Figure 2.15: Exemplo de coiicogio Manchest Conrrott pe Acesso ao Meio (MAC) O controle de acesso ao meio define, entre outras coisas, 0 uso de um enderego MAC em cada placa de rede. Quando falamos anteriormente que cada placa de rede possui um enderego tinico gravado em hardware, na verdade estévamos nos referindo ao seu enderego MAC, ja que o padrao IEEE 802 ¢ 0 mais usado em redes, Cada placa de rede existente em um dispositivo conectado a rede possuii um enderego MAC tinico, que é gravado em hardware ¢ teoricamente nao hé como ser alterado (isto uso Comrero > SV Renes v€ Compurapores Curso Comptero 6, a placa de rede vem de fabrica com esse endereco gravado). Esse enderego utiliza seis bytes, como, por exemplo, 02608428197, (sendereros NACo represents por nimeros em hexaecnal Cad lgrsmo em hexodetinal equvae a um nimero | de ust is. Des forma, um bye 6 represen por des lgarismos em hexadecimal, com io, oenderco MAC & [NOTA sempre representodo como um cnjnto de 12 clgrismos em hexadecimal, O IEEE padronizou os enderecos MAC na forma mostrada na Figura 2.16, Os trés primeiros bytes so 0 enderego OUT (Organizationally Unique Identifier), que inclicam o fabricante da placa de rede, Os trés tiltimos bytes sdo controlados pela fabricante da placa de rede, € cada placa de rede produzida por cada fabricante recebe um niimero diferente, Assi, © fabricante que quiser produzir uma placa de rede deverd se cadastrar no IEEE para respousivel por controlar a numeragao © seu utero OUL Cada fabricante gan MAC das placas de rede que produz. Um mesmo fabricante pode ter mais de um endereco OUI, evitando, assim, © problema de ter produzido mais placas do que 0 ndimero de enderecos que possui disponivel para humerar as suas placas. Codigo Out defn pela IEEE Gindiza quam & 0 fabricants) Definido plo fabricante SS SSS tra do endereco MAC. Figur 2.16: No quadro enviado a rede, a camada de Controle de Acesso ao Meio ira incluir o enderego MAC de origem ede destino. A placa de rede contendo 0 endereco de destino ira capturar moment, © quadio, enyuanity as demas placas de rede ay entraray ein aay naque ‘Outra fungao da camada de Controle de Acesso ao Meio € justamente controlar 0 uso do cabo. Fla verifica se 0 cabo esta ou ndo ocupado. Se 0 cabo estiver ocupado, o quadro nao € enviado, Caso 0 quadro seja enviado ao mesmo tempo em que outta maquina, ha uma colisdo, que ¢ detectada pelas camadas de Controle de Acesso ao Meio das maquinas enyolvidas com a colisio. Essa camada espera 0 cabo ficar livre para tentar uma retransmissdo, esperando um periodo aleatério de tempo, para que nao ocorra uma 52 + Co Coun Goriruvo 2 — Protocotos: FuNOAMENTOS. nova colisao (se os dois micros esperassem uma mesma quantidade de tempo, obviamente iria haver uma nova colisdo o processo iria ficar se repetindo indefinidamente). A camada de Controle de Acesso ao Meio usa um driver para acessar a camada fisica. Esse driver ¢ justamente o driver da placa de rede, que ensina a esta camada como lidar com o modelo da placa de rede atualmente instalada no micro (ver Figura 2.13) Esrrutura o& uit avapro MAC Como © padrao IEEE 802.3 (Ethernet) é 0 mats usado por redes locais, estudaremos a estrutura de seu quadro. Esse quadro é passado para a camada Fisica (através do driver da placa de rede), para ser enviado para o cabeamento da rede. Os dados presentes no quadro sao fornecidos pela camada Controle do Link Légico (LLC), que estudaremos a s FOS (4 bytes) Figur 2.17: Formate de wm qudro MAC Ethernet (IEE 802.3). Neste quadro hd as seguintes informagoes: * Preambulo: Marca 0 inicio do quadro, Sao sete bytes 10101010. Junto com 0 SED forma um padrao de sincronismo, isto é, ao encontrar sete bytes 10101010 e um byte 10101011 (ver SED}, 0 dispositive receptor sabe estar diante do inicio de um quadro. Na realidade esse padrao 10101010 iré gerar, por causa da codificacao Manchester, um sinal de clock de 10 MHiz (no caso do uso da velocidade Ethernet | padrao de 10 Mbps), utilizado no sincronismo entre o transmissor e 0 receptor. + SFD (Start of Frame Delimiter): £ um byte 10101011 ‘+ Enderego MAC de destino: Neste campo ¢ incluido 0 enderego MAC da placa de rede de destino, que possi seis byte + Enderego MAC de origem: Neste campo ¢ informado 0 enderego MAC da placa de rede que esta gerando o quadro, £ um niimero de seis bytes. * Comprimento: Indica quantos bytes estao sendo transferidos no campo de dados do quadro. Como veremos, 0 campo de dados um quadro MAC tem tamanho variavel e nao fixo. Cies0 Cure + 53 Rees ne Cowpuraoones Curso Compusto ‘¢ Dados: Sdo os dados enviados pela camada de Controle de Link Logico (LLC). Esse campo possui um comprimento minimo de 46 bytes € maximo de 1.500 bytes. Pad: Sea camada LLC enviar menos do que 46 bytes de dados para a camada MAC, entaio so insetidos dados chamados pad para que o campo de dados atinja o seu tamanho miinimo de 46 bytes + FCS (Frame Check Sequence): Contém informagdes para o controle de correcso de erros (CRC) que, como dissemos, &0 resultado de uma soma efetuada com os dados presente no campo de dados do quadro. Usa 4 bytes ‘Como o campo de dados do quadro usado em redes Ethernet ¢ varidvel (pode ter entre 46 1.500 bytes), o tamanho do quadro Ethernet ¢ variavel. © tamanho minimo de um quadra Ethernet é de 72 hytes eo tamanha méximo, 1.$26 bytes, Se dois quadros forem enviados em seqiiéncia e mio houver colisoes, havera um “espago em branco” entre esses dois quadros, chamado gap, que dura 9,6 us. A Figura 2.18 ilustra este espago. 96 ys 9.6 us Figure 2.18: Espoo exstonte entre quadros Ethernet. Supondo uma rede padrao de 10 Mbps, esse tempo entre um quadro € outro (gap) corresponde a 12 bytes. A conta é simples: 9,6 15 x 10.000.000 bps + 1s + 8 (trata-se de uma regra de trés: se 10,000,000 bits circulam em um segundo, quantos bits cireulam em 9,6 452). A divisdo por oito é feita para obtermos o resultado em bytes e no em bits. Com isso, para efeitos de calculos praticos, devemios levar esse espaco em consideragao. Com isso, na pratica, 0 tamanho minimo de um quadro Ethernet € de 84 bytes ¢ 0 tamanho maximo, 1.538 bytes. essa mesma maneira é facil calcularmos que o nimero de quadros por segundo em uma rede Ethernet varia entre 14.880 quadros por segundo (quando 0 quadro transfere 54+ Ceo lom Coriruvo 2 — Prorocotos: Fuwonventos 46 bytes cle dados) e 812,74 quadros por segundo (quando o quadro transfere 1.500 bytes de dads), levando-se em conta uma rede Ethernet padrao de 10 Mbps, Controte Do Link Locico (LLC) A camada de Controle do Link Légico, que ¢ regida pelo padtrao IEEE 802.2, permite que mais de um protocolo seja usado acima dela (protocolos de camada 3, Rede, no modelo OSI), Para isso, essa camada define pontos de comunicagao entre o transmissor e 0 re- ceptor chamados SAP (Service Access Point, Ponto de Acesso a Servigos). Na Figura 2.19 exemplificamos trés conexdes entre os computadores A ¢ B. Essas trés conexdes poderiam estar sendo efetuadas por trés diferentes protocolos na camada superior da pilha de protocolos que esteja sendo usada nos computadores. SAP 1 SAP2 SAPO SAP1 — SAP2 SAP. Jud t tf Figura 2.19: Fendonomente da camods Controle do ink Ligh (UG, Dessa forma, o papel da camada de Controle do Link Logico ¢ adicionar, ao dado recebido, informagdes cle quem enviow est informagao) para que, no receptor, a camada de Controle do Link Logico consiga entregar a forma¢ao (0 protocolo responsavel por ter passado essa informacao ao protocolo de destino, que conseguira ler a informacao corretamente. Cs0 Come 4% 55 Reoes vé Cowpuraponss Cuvso Conrusto ‘Se essa camada nao existisse ¢ os computadores estivessem usando mais de um protocolo, de alto nivel, o receptor nao entenderia o dado recebido, pois nao saberia para qual protocolo (camada 3 no modelo OSI) ele deveria entregar aquele dado. Dessa forma, a camada Controle do Link Logico serve para enderegar 0 quadro de dadlos 4 um determinado protocolo da camada 3 do modelo OSI no computador de destino, permitindo que exista mais de um protocolo desta camada nos computadores da rede. Esrrutura 0€ um quaoro LLC Como vimos, esta camada passa para a camada inferior, Controle de Acesso a0 Meio, um dado que pode ter entre 46 € 1.500 bytes. Desses bytes de dads, oito sao usados para armazenar informagées de controle inseridas per esta camada, sendo que 03 dados sao passados da camada superior (camada de Rede, no modelo OSI). Esses dados adicionados sao justamente o enderecamento SAP de origem e de destino, que, como vimos, significa 0 protocolo usado na conexio. Originalmente, 0 quadro 1 da camada superior (SAP de origem, SAP de destino © controle). Teoricamente, cada protocolo que operasse na camada 3 do modelo © ntimero SAP, para que tanto o transmissor quanto o receptor soubessem qual 60 protocol envolvido na comunicagao. > adicionava apenas trés bytes de controle aos dados recebidos SI (Rede) teria de ter 0 seu proprio Acontece que o IEEE, em vez de simplesmente ir dando um niimero SAP & medida que 05 desenvolvedores de protocolos fossem pedindo, queria fazer algo mais padronizado assim como ocorre com os enderecos MAC usados por placas de rede), onde um determinado grupo de bits significa o fabricante/desenvolvedor do protocolo e outro ‘grupo de bits significa qual é 0 protocolo em si. Dessa forma, o IEEE s6 precisaria cadastrar iriam responsiveis por definir os bits referentes aos seus protocolos, como mostra a Figura 2.20. 05 fabricantes (dando a eles um nitmero) e os fabricantes em si fi Detinido pelo IEEE Defnido peo fabricante” lindica quem é 0 fabricante/desenvolvedor) sdesenvolvedor —— oH 20: Come deveria sera estrutra do enderoo SAP, Figur 56 + Cues Come Goriruto 2 — Provocotos: Funoawenos Oendereco SAP é um mimero de um byte, sendo que dentro desses oito bits disponivels, dois sao reservados e nao podem ser usados no enderegamento. Com isso sobram apenas seis bits, 0 que € muito pouco para enderecar todos os protocolos que existem ou que possam a vir existir, ou, melhor dizendo, é muito pouco para usar a estrutura proposta no paragrafo anterior (Figura 2.20), que necessita de cinco bytes (40 bits). 1m isso, para que o enderegamento SAP possa funcionar corretamente para indicar 0 protocolo que enviou o dado a ser transmitido, foi criado um novo campo, chamado SNAP (Sub Network Access Protocol, Protocolo de Acesso a sub-rede), que utiliza a estrutura apresentada na Figura 2.20, Quando esse campo é usado, os campos contendo ‘os endere¢os SAP de origem e destino sio colocados em 10101010, que indica 0 uso do campo SNAP para fazer o enderegamento dos protocolos usados. ‘gura 2.21 vemos a estrutura do quadro de controle L LLC (3 bytes) SNAP (5 bytes) is Tipo Dados, (2 bytes) | (De 98 a 1.492 bytes) Figura 2.21: Estrutura do quaro de controle LLC. Neste quadro de controle vocé encontraré 0s seguintes campos: ¢ — DSAP (Destination Service Access Point): Indica 0 endereco SAP de destino (um byte). Se o campo SNAP for usado, o DSAP € fixado em 10101010, P (Source Service Access Point): Indica o enderego SAP de origem (um byte). Se © campo SNAP for usado, 0 SSAP & fixado em 10101010. Controle: Também chamado CTL, pode assumir basicamente trés valores. Ul (Un- numbered Information), usado quando se est transmitindo dadoy; XID (eXchange IDentification), usado para trocar dados de identificagdo entre o transmissor e © receptor e pode ser um comando, que informa a identidade do emissor e pede para o receptor enviar a sua identidade, ou uma resposta, que retorna a identidade do re- ceptor quando um comando é solicitado; e Teste, onde o transmissor envia um dado © 0 receptor 0 recebe € o envia de volta, a fim de testar a comunicacao. ¢ — Cédigo: fo cédigo do fabricante/desenvolvedor do protocolo no IE (ver Figura 2.20). Cows0 Comeo > 57 Reoxs o« Conputanones Curso Cowpueto + Tipo: £0 cédigo dado pelo fabricante/desenvolvedor ao protocolo (ver Figura 2.20). NDIS « ODI Criado pela Microsoft e pela 3Com, o NDIS (Network Driver Interface Specification) € um driver instalado no sistema operacional que permite que uma tinica placa de rede possa utilizar mais de um protocolo de rede ao mesmo tempo. A Figura 2.22 ilustra o exemplo pratico de um micro com driver NDIS instalado, usando dois protocolos ao mesmo tempo. CO driver NDIS possui duas partes, como voce pode ver na Figura 2.22. A primeira échamada driver MAC NDIS, que ¢ 0 driver da placa de rede (que deve ser escrito usando 0 padrao NDIS) € que utiliza o padnio EEE 802.3, se a rede for Ethernet (0 que ocorre na maioria das vezes). A segunda parte é chamada vector. Essa camada é que faz a “magica” de permitir que uma mesma placa de rede possa usar mais de um protocolo, j4 que o driver da placa de rede (driver MAC NDIS) s6 permite uma

You might also like