30
UNIGRANRIO - Universidade do Grande Rio Prof. Etienne Oliveira Março/2010 ARQUITETURA TCP/IP

Arquitetura TCP IP

Embed Size (px)

Citation preview

  • UNIGRANRIO - Universidade do Grande Rio

    Prof. Etienne Oliveira Maro/2010

    ARQUITETURA TCP/IP

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 1 -

    NDICE

    1 - Histrico .......................................................................................................................3 2 - Servios ........................................................................................................................3 2.1 Funcionamento da camada de Transporte ................................................................3 2.1.1 Servio de entrega de dados sem conexo.............................................................4 2.1.2 Servio de entrega de dados com conexo ............................................................4 2.2 Funcionamento da camada de Rede .........................................................................4 2.3 Independncia do Meio Fsico..................................................................................5 2.4 - Endereamento Universal .........................................................................................5 2.5 Arquitetura do TCP/IP..............................................................................................5 3 - Endereamento Internet................................................................................................5 3.1 Endereo IP...............................................................................................................6 3.2 Classificao do Endereo IP ...................................................................................6 3.2.1 Classe A.................................................................................................................6 3.2.2 Classe B .................................................................................................................6 3.2.3 Classe C .................................................................................................................6 3.2.4 Classe D.................................................................................................................7 3.2.5 Classe E .................................................................................................................7 3.2.6 Mapa das Classes de Endereamento ....................................................................7 3.3 Unicasting, Multicasting e Broadcasting..................................................................7 3.4 Desvantagens do Endereamento IP.........................................................................7 3.4.1 - Deslocamento Fsico ..............................................................................................8 3.4.2 - Expanso da Rede ..................................................................................................8 3.5 - Loopback...................................................................................................................8 4 - Interface entre o Nvel Lgico e Nvel Fsico ..............................................................8 4.1 - Formato do Frame Ethernet.......................................................................................8 4.2 - ARP (Address Resolution Protocol) .........................................................................8 4.2.1 - Funcionamento do protocolo ARP .........................................................................9 4.2.2 - Formato do Header do protocolo ARP...................................................................9 4.2.3 - Descrio dos Campos ...........................................................................................9 4.3 - RARP (Reverse Address Resolution Protocol).......................................................10 5 Protocolo de Rede IP (Internet Protocol) ..................................................................10 5.1 - Formato do Header IP .............................................................................................10 5.1.1 Version (Verso)..................................................................................................11 5.1.2 HLEN (Tamanho do cabealho)..........................................................................11 5.1.3 Service Type (Tipo de Servio)...........................................................................11 5.1.4 Total Length (Tamanho total do datagrama).......................................................12 5.1.5 Identification (Identificao do datagrama) ........................................................13 5.1.6 - Flags .....................................................................................................................14 5.1.8 Time to Live ........................................................................................................14 5.1.10 Header Checksum..............................................................................................14 5.1.11 Source IP Address .............................................................................................15 5.1.12 Destination IP Address ......................................................................................15 5.1.13 IP Options ..........................................................................................................15 6 Roteamento IP ...........................................................................................................16 6.1 Mscara de Rede.....................................................................................................17

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 2 -

    6.2 Default Gateway.....................................................................................................17 6.3 - Funcionamento ........................................................................................................17 6.3.1 Roteamento Direto...............................................................................................18 6.3.2 Roteamento Indireto ............................................................................................18 7. Protocolo de Transporte TCP (Transmission Control Protocol) .................................18 7.1 Conceito de Portas Lgicas (Ports) ........................................................................18 7.2 Comunicao Full-Duplex......................................................................................19 7.3 Janela Deslizante (Sliding Windows).....................................................................19 7.4 - Formato do Header TCP .........................................................................................20 7.4.1 Source Port ..........................................................................................................20 7.4.2 Destination Port ...................................................................................................20 7.4.3 Sequence Number................................................................................................20 7.4.4 Acknowledgement Number.................................................................................21 7.4.5 - HLEN ...................................................................................................................21 7.4.6 - Reserved ...............................................................................................................21 7.4.7 Code Bits .............................................................................................................21 7.4.8 Windows..............................................................................................................21 7.4.9 Checksum ............................................................................................................22 7.4.10 Urgent Pointer....................................................................................................22 7.4.11 Options...............................................................................................................22 7.5 Estabelecimento de Conexo..................................................................................22 7.6 - Retransmisses ........................................................................................................23 8. Protocolo de Transporte UDP (User Datagram Protocol) ...........................................23 8.1 - Formato do Header UDP.........................................................................................24 8.1.1 Source Port ..........................................................................................................24 8.1.2 Destination Port ...................................................................................................24 8.1.3 Message Length...................................................................................................24 8.1.4 Checksum ............................................................................................................24 9. Protocolo ICMP (Internet Control Message Protocol) ................................................24 9.1 Formato do Header ICMP ......................................................................................24 9.1.1 Type .....................................................................................................................25 9.1.2 Code.....................................................................................................................25 9.1.3 Checksum ............................................................................................................25 10. Clculo de Mscara de Rede e Mscara de Sub-rede ................................................25 10.1 Endereo de Rede .................................................................................................26 10.2 Endereo de Broadcast .........................................................................................26 10.3 Clculo da Mscara de Sub-rede ..........................................................................26 10.3.1 Determinao da quantidade de bits ..................................................................26 10.3.1 Mscara de Sub-rede .........................................................................................27 10.4 Clculo do Endereo IP de Sub-rede....................................................................27 10.5 Clculo do Endereamento de Super-rede............................................................28 Referncias Bibliogrficas...............................................................................................29

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 3 -

    1 - Histrico

    A arquitetura TCP/IP surgiu com a criao de uma rede patrocinada pelo Departamento de Defesa do governo dos Estados Unidos da Amrica (DoD - Department of Defense), desenvolvida pela ARPA (Advanced Research Projects Agent) e denominada ARPANET.

    Uma das tarefas essenciais dessa rede seria manter em comunicao, mesmo que apenas parcialmente, rgos do governo e universidades, em caso de ocorrncia de guerras ou catstrofes que afetassem os meios de comunicao. Os primeiros projetos de pesquisas originaram-se da idia de comutao de pacote, considerada radical na poca, em meados de 1960.

    No final da dcada de 60, precisamente em dezembro de 69, entrou no ar uma rede experimental (ARPANET) com quatro ns interligando as instituies UCLA (Universidade de Los Angeles), UCSB (Universidade de Santa Barbara), SRI (Instituto de Pesquisa de Stanford) e Universidade de Utah.

    O protocolo utilizado para suportar a comunicao entre os 4 pontos iniciais era o NCP (Network Control Program) que tinha a capacidade de transferir de arquivos e executar logins remotos. Apesar de ter recebido diversas implementaes, em 1973 concluiu-se o NCP no era capaz de lidar com o volume de trfego crescente e, para solucionar os problemas existentes, em 1974 a arquitetura TCP/IP foi proposta.

    A arquitetura TCP/IP foi projetada para ser independente da camada fsica, do hardware do computador e para ser capaz de prover conectividade em todas as redes. Em 1981 foi publicada uma srie de RFCs (Request for Comments) definindo o padro TCP/IP verso 4.

    O conjunto de protocolos TCP/IP, devido a sua simplicidade e forma de operao, foi implementado em diversos rgos do governo americano, interligando universidades, centros de pesquisas avanadas, centros militares, e etc.

    2 - Servios

    O conjunto de protocolos TCP/IP implementa diversos servios capazes de atender praticamente a todas as necessidades existentes e ainda possibilita o desenvolvimento de outras ferramentas que podem se agregar, permitindo a interoperabilidade entre as redes. Servios como o envio de correio eletrnico, transferncia de arquivos, emulao de terminal remotamente, acesso a Word Wide Web, bate-papo e etc.

    2.1 Funcionamento da camada de Transporte

    A camada de transporte do conjunto de protocolos TCP/IP oferece dois servios de transporte, suficientes para atender a todas as necessidades inerentes ao mundo das telecomunicaes.

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 4 -

    2.1.1 Servio de entrega de dados sem conexo

    O servio de entrega de dados sem conexo tem como grande vantagem a simplicidade e, conseqentemente, a velocidade na transmisso das mensagens. Neste modelo, o protocolo responsvel se esforar para que os dados cheguem ntegros ao seu destino, porm este servio no envia uma confirmao de que a mensagem foi realmente entregue, no podendo, desta forma, garantir o sucesso da operao. Alm disso, dependendo do protocolo de rede e do tipo de comutao, pode no haver garantia que os dados sejam entregues na mesma ordem em que foram transmitidos.

    Apesar de parecer pouco confivel, este servio apropriado para diversas aplicaes. Uma dessas aplicaes o envio de vdeo e som ao vivo, j que, caso algum dado se perca, no haver necessidade de retransmit-lo, pois, por ser ao vivo, uma retransmisso causaria uma falta de sincronismo entre o transmissor e o receptor.

    O protocolo responsvel por disponibilizar este servio o UDP (User Datagram Protocol), que ser detalhado adiante.

    2.1.2 Servio de entrega de dados com conexo

    O servio de entrega de dados com conexo tem como finalidade garantir a entrega dos dados transmitidos, controlar o fluxo de dados e negociar parmetros de conexo que permitam utilizar ao mximo os recursos de rede, buscando sempre a melhor performance.

    Durante o processo inicial de conexo, o transmissor e receptor trocam algumas mensagens de forma que os recursos disponveis possam ser totalmente utilizados. Aps o processo de estabelecimento de conexo, inicia-se a transmisso e, nesta etapa, garante-se a entrega dos dados atravs do envio de uma confirmao por parte do receptor.

    Aplicaes como transferncia de arquivos (FTP), acesso Word Wide Web e correio eletrnico entre outras utilizam o protocolo TCP (Transmission Control Protocol) para efetuar a entrega do dados.

    2.2 Funcionamento da camada de Rede

    A camada de rede da arquitetura TCP/IP responsvel pela definio da rota atravs da qual os dados seguiro desde a sua origem at o seu destino. Esta camada no se preocupa com a confiabilidade dos dados, pois no existe implementao de nenhum mecanismo de confirmao de recebimento das mensagens.

    O protocolo responsvel por oferecer este servio o IP (Internet Protocol).

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 5 -

    2.3 Independncia do Meio Fsico

    Uma das maiores vantagens da arquitetura TCP/IP a total independncia relativa aos protocolos de acesso ao meio. A arquitetura TCP/IP encapsula os dados, criando datagramas, de forma que os protocolos da camada de enlace, do modelo OSI, possam transportar os dados de forma transparente.

    2.4 - Endereamento Universal

    A arquitetura TCP/IP implementa uma forma de endereamento que permite localizar, universalmente, qualquer estao, independente da posio geogrfica.

    2.5 Arquitetura do TCP/IP

    A arquitetura TCP/IP no segue a risca o modelo de referncia ISO/OSI, sendo definida por apenas 4 camadas que so: Aplicao, Transporte, Inter-rede e Interface de Rede.

    Figura 1 - Arquitetura TCP/IP x ISO/OSI

    3 - Endereamento Internet

    A arquitetura TCP/IP dispe de uma forma de endereamento virtual que permite a localizao de qualquer computador na rede, independente da posio geogrfica.

    Dar-se o nome de host para todo e qualquer equipamento que disponha dos recursos necessrios para se conectar a uma rede. Entendemos, com isso, que o termo

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 6 -

    host se aplica a microcomputadores, workstations, servidores, switches, roteadores, servidores de terminais e etc.

    3.1 Endereo IP

    Define-se, na camada de nvel 3 do modelo ISO/OSI, uma forma de endereamento dita virtual. O atributo virtual faz-se necessrio, pois este endereo configurado por software.

    No caso da arquitetura TCP/IP o endereo virtual ou endereo IP, como popularmente conhecido, um nmero de 32 bits. Ao representarmos o endereo IP na notao decimal, devemos inserir, a cada octeto, um ponto decimal como forma de separao e melhor entendimento. Ou seja, o endereo IP 00001111010000000000001100000001 apresenta-se, na forma decimal, como 15.64.3.1.

    Como toda forma de endereamento, existe uma parte que identifica a rede e uma parte que identifica o equipamento dentro da rede (host). A quantidade de bits destinada rede e ao host ir variar de acordo com a classificao do endereo IP.

    3.2 Classificao do Endereo IP

    No h como negar que a necessidade de endereamento de computadores para a rede de uma empresa multinacional certamente muito diferente da necessidade de endereamento de computadores de um pequeno escritrio de contabilidade. Desta forma, com o intuito de reduzir possveis desperdcios, foi definida uma classificao para os endereo IP, visando atender mais precisamente a necessidade de cada empresa.

    3.2.1 Classe A

    Nesta classe, o primeiro byte identificar a parte associada rede, enquanto que os trs bytes seguintes identificaro a parte associada ao host. Alm disso, o primeiro bit ser obrigatoriamente igual a 0. Teremos, ento, 224 hosts para cada uma das 27 redes (NetID).

    3.2.2 Classe B

    Na classe B os dois primeiros bytes identificaro a parte associada rede, enquanto que os dois bytes seguintes identificaro a parte associada ao host. Alm disso, os dois primeiros bits sero obrigatoriamente iguais a 10. Teremos, ento, 216 hosts para cada uma das 214 redes (NetID).

    3.2.3 Classe C

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 7 -

    Na classe C os trs primeiros bytes identificaro a parte associada rede, enquanto que o byte seguinte identificar a parte associada ao host. Alm disso os trs primeiros bits sero obrigatoriamente iguais a 110. Teremos, ento, 28 hosts para cada uma das 221 redes (NetID).

    3.2.4 Classe D

    A classe D est reservada para endereamento Multicast que possibilita o trfego de dados para um grupo de hosts na rede. Os quatro primeiros bits sero obrigatoriamente iguais a 1110.

    3.2.5 Classe E

    A classe E encontra-se reservada para futuras implementaes.

    3.2.6 Mapa das Classes de Endereamento

    Figura 2 - Classes de Endereamento

    3.3 Unicasting, Multicasting e Broadcasting

    Unicasting a tcnica que permite o envio de uma mensagem de um host para um outro host especfico.

    Multicasting a tcnica de que permite o envio de uma mensagem para um grupo de usurios da rede.

    Broadcasting a tcnica de que permite o envio de uma mensagem para todos os usurios da rede.

    3.4 Desvantagens do Endereamento IP

    A arquitetura TCP/IP, como toda e qualquer arquitetura, tem algumas desvantagens que sero analisadas abaixo.

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 8 -

    3.4.1 - Deslocamento Fsico

    Como o endereo IP de um host est intimamente ligado a rede que o mesmo est conectado, quando deslocamos fisicamente de uma rede para outra, obrigatoriamente teremos que reconfigurar os parmetros de rede. Os microcomputadores portteis (Lap Tops) so os mais afetados por esta desvantagem.

    3.4.2 - Expanso da Rede

    Como cada endereo de IP tem uma quantidade limitada de hosts que podem ser configurados, quando alcanamos este limite a nica soluo utilizar um outro endereo IP como complementao ou reconfigurar todos os host com um novo endereo IP de uma classe que oferea mais endereos.

    3.5 - Loopback

    O endereo IP 127.0.0.1, pertencente classe A, tem uma funo especial, a funo de teste local. Este endereo utilizado exclusivamente para loopback, ou seja, para um host testar a sua interface de comunicao. Desta forma, os datagramas gerados no so enviados pela rede.

    4 - Interface entre o Nvel Lgico e Nvel Fsico

    Como j foi informado anteriormente, existem duas formas de endereamento: o endereamento virtual (camada de rede) e o endereamento fsico (camada de enlace). A camada de rede responsvel pelo roteamento, que ser discutido adiante, enquanto que a camada de enlace responsvel pelo endereamento entre as placas de rede. Vamos analisar o funcionamento da arquitetura TCP/IP sobre redes Ethernet - IEEE 802.3.

    4.1 - Formato do Frame Ethernet

    Para compreendermos como os datagramas IP circulam pela rede Ethernet devemos relembrar que no formato do frame Ethernet necessrio o preenchimento dos campos Destination Address e Source Address. Na verdade, estes campos so os endereos das placas de rede dos hosts de origem e destino dos datagramas IP.

    4.2 - ARP (Address Resolution Protocol)

    Sabemos que existem 2 nveis de endereamento quando utilizamos a arquitetura TCP/IP sobre redes Ethernet e, como o formato destes endereos diferente, no podemos simplesmente mape-los como forma de referncia. Alm dos mais, ao substituirmos uma interface de rede, estaremos automaticamente alterando o endereo fsico deste host. Logo, necessrio um protocolo que consiga mapear dinamicamente o endereo fsico e o endereo lgico.

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 9 -

    Utilizando a facilidade da tcnica de broadcast, os projetistas da arquitetura TCP/IP criaram o protocolo ARP, responsvel pela traduo de endereos lgicos em endereos fsicos.

    4.2.1 - Funcionamento do protocolo ARP

    Vamos imaginar uma rede com apenas os hosts X e Y conectados, onde Xi e Yi so os endereos lgicos e Xp e Yp so os endereos fsicos destes hosts. Para que o host X se comunique com o host Y ser necessrio obter o endereo fsico de Y. Desta forma, o host X envia pela rede, utilizando-se da tcnica de broadcast, uma mensagem perguntando quem responsvel pelo endereo lgico Yi. Apesar de todos os hosts receberem esta mensagem, apenas o host Y responde, informando o seu endereo fsico Yp.

    Como o envio constante de broadcast pela rede aumenta significativamente o trfego, os hosts devem armazenar temporariamente os endereos fsicos obtidos, minimizando assim o consumo dos recursos da rede.

    Como forma de minimizar o consumo da rede, o host Y ao receber a solicitao do host X, armazenar automaticamente o endereo fsico de X. Assim, ao se iniciar uma comunicao, o host Y no ter que solicitar o endereo fsico do host X.

    4.2.2 - Formato do Header do protocolo ARP

    0 8 16 31 Hardware Type Protocol Type

    HLEN PLEN Operation Sender HA (octetos 0-3)

    Sender HA (octetos 4-5) Sender IP (octetos 0-1) Sender IP (octetos 2-3) Destination HA (0-1)

    Destination HA (2-5) Destination IP (0-3)

    Figura 3 - Formato do Protocolo ARP

    4.2.3 - Descrio dos Campos

    Hardware Type - Especifica o tipo de hardware utilizado na rede fsica. No caso de rede Ethernet utilizado o valor 1.

    Protocol Type - Especifica o protocolo utilizado no nvel superior. HLEN - Define o tamanho dos campos Sender HA e Destination HA. PLEN - Define o tamanho dos campos Sender IP e Destination IP. Operation - Define se o datagrama um pedido (ARP Request), resposta

    (ARP Reply) ou RARP (Reverse ARP). Sender HA - Define o endereo fsico do host remetente. Sender IP - Define o endereo lgico do host remetente. Destination HA - Define o endereo fsico do host de destino. Destination IP - Define o endereo lgico do host de destino.

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 10 -

    4.3 - RARP (Reverse Address Resolution Protocol)

    O protocolo RARP tem a funo inversa do protocolo ARP. O protocolo ARP tem por funo obter o endereo fsico de um host a partir do seu endereo lgico. J o protocolo RARP tem por funo obter o endereo lgico de um host a partir do seu endereo fsico.

    5 Protocolo de Rede IP (Internet Protocol)

    O servio de entrega de datagramas na arquitetura TCP/IP de responsabilidade do protocolo IP (Internet Protocol) que, comparando-se ao modelo de camadas ISO/OSI corresponde a camada 3, ou seja, camada de rede. Este servio da arquitetura TCP/IP ocorre sem conexo e, desta forma, no h garantia nem confirmao de que o datagrama foi realmente entregue ao host destino.

    Ento poderamos concluir que a arquitetura TCP/IP no capaz de realizar a entrega de datagramas sem que se tenha certeza que o mesmo chegou ao destinatrio. No, esta afirmativa no verdadeira. Novamente comparando-se com o modelo de camadas ISO/OSI veremos que, dentre os protocolos de transporte da arquitetura TCP/IP (camada 4), encontraremos um protocolo que se responsabilizar por enviar mensagens e confirmar o recebimento das mesmas. Este protocolo o TCP (Transmission Control Protocol) que ser abordado em detalhes mais frente.

    Retornando ao protocolo IP, podemos concluir que o motivo pelo qual este servio dito como sem conexo deve-se ao fato de que cada datagrama tratado de forma independente, podendo seguir caminhos diferenciados de acordo com as caractersticas instantneas da rede. O protocolo IP se esforar ao mximo (Best-Effort) para que o datagrama chegue ao seu destino e somente ocorrero descartes de datagramas se houver um congestionamento na rede como conseqncia de um sub-dimensionamento. Outro fato que pode levar ao descarte de um datagrama seria uma falha da rede fsica, fato que ocorre em qualquer tipo de rede com qualquer protocolo de comunicao.

    Para podermos entender melhor o funcionamento e os recursos disponveis do protocolo IP ser necessrio analisarmos, detalhadamente, os campos deste protocolo.

    5.1 - Formato do Header do Protocolo IP

    0 4 8 16 31 Version HLEN Service Type Total Length

    Identification Flags Fragment Offset Time To Live Protocol Header Checksum

    Source IP Address Destination IP Address

    IP Options (if any) Padding Data

    Figura 4 - Formato do Protocolo IP

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 11 -

    O protocolo IP dispe de muitos campos, conforme podemos observar no quadro acima, que agregam inmeros recursos extremamente teis ao funcionamento de uma rede com a arquitetura TCP/IP. Vamos fazer uma anlise detalhada destes campos e entender o funcionamento deste servio.

    5.1.1 Version (Verso)

    Este campo formado por 4 bits e contm a verso do datagrama IP. O campo version existe para que tanto a origem quanto o destino possam entender o formato dos dados, possibilitando a comunicao entre um par de hosts, independente da verso da arquitetura TCP/IP instalada. A verso comercial do TCP/IP a 4, entretanto h muitos anos j existe a verso 6, criada para suprir algumas necessidades e implementar novas funcionalidades. A verso 6 encontra-se em utilizao na Internet 2 e j disponibilizada por fornecedores de grande porte, tais como HP, IBM, SUN e etc.

    5.1.2 HLEN (Tamanho do cabealho)

    O campo HLEN tambm composto por 4 bits e contm o tamanho do cabealho do datagrama IP em grupos de 4 bytes. Este campo necessrio, pois os campos IP Options e Padding podem existir ou no e, caso existam, seu tamanho ser variado.

    Para que possamos entender o valor deste campo vamos supor a inexistncia dos campos IP Options e Padding em um datagrama IP. Assim teremos 5 linhas com 32 bits (0 a 31) e como este campo contm o tamanho do header em grupos de 4 bytes ou 32 bits o seu valor ser 5, sendo este o valor mnimo. No caso da existncia do campo IP Options o valor mximo ser de 15, com 40 bytes para o campo de opes.

    5.1.3 Service Type (Tipo de Servio)

    Este campo composto por 8 bits e define uma forma especial de tratamento do datagrama, entretanto a maioria dos hosts ignora este campo, sendo til apenas para alguns gateways que dispes de protocolos de roteamento especficos.

    O campo service type composto de 5 itens conforme apresenta a figura abaixo.

    0 3 4 5 6 7 Precedence D T R Unsed

    5.1.3.1 Precedence (Precedncia)

    Composto pelos 3 primeiros bits, este item indica a precedncia do datagrama. Existem vrias combinaes possveis, sendo que os valores mais usuais so o 0 (precedncia normal) e 7 (controle da rede).

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 12 -

    5.1.3.2 D (Atraso mnimo)

    Este bit, caso setado, especifica que o datagrama deve ter um atraso mnimo.

    5.1.3.3 T (Alta taxa de transferncia)

    Este bit, caso setado, especifica que o datagrama deve ter uma alta taxa de transferncia.

    5.1.3.4 R (Alta confiabilidade)

    Este bit, caso setado, especifica que o datagrama deve seguir por um caminho confivel, ou seja, com mnimas possibilidades de erro.

    5.1.4 Total Length (Tamanho total do datagrama)

    O campo Total Length contm o tamanho total do datagrama, ou seja, o tamanho do cabealho somado ao tamanho dos dados, sendo que o valor mximo que este campo pode assumir de 65.535 bytes.

    Entretanto nem todas as redes fsicas so capazes de suportar datagramas to grandes. A tecnologia de rede Ethernet, que utilizada na maioria absoluta das redes locais (LANs), usa do protocolo de acesso ao meio CSMA/CD (visto anteriormente), que foi padronizado por IEEE 802.3, e suporta, no mximo, datagramas de 1500 bytes de dados. Alm disso, a arquitetura TCP/IP foi desenvolvida de forma a permitir a total independncia do hardware, logo as camadas de software no se preocupam com as especificaes fsicas da rede.

    A soluo para este problema o encapsulamento de datagramas (protocolos) em frames (fsico). Cada host conectado a rede sabe qual a quantidade mxima de dados que a rede suporta e este valor definido pela varivel MTU (Maximum Transfer Unit). De posse desta informao, quando um host tem que colocar um datagrama na rede com tamanho superior ao valor do MTU, ele deve quebrar este datagrama em tantas partes quantas forem necessrias para o mesmo possa circular pela rede. Este processo de desmontagem conhecido por fragmentao.

    Suponha que um host A resolva enviar um datagrama de 1300 bytes para um host B atravs de uma rede com MTU igual a 500 bytes. Quantos fragmentos sero enviados e qual o tamanho de cada um deles?

    Resposta: Sabemos que o MTU da rede de 500 bytes, logo este o maior tamanho que um datagrama poder ter. Teremos ento que dividir o datagrama original em partes de 500 bytes, criando 3 fragmentos, sendo que o primeiro fragmento ter o tamanho de 500 bytes, o segundo fragmento ter 500 bytes e o terceiro e ltimo fragmento ter o restante, ou seja, 300 bytes.

    Datagrama Original

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 13 -

    Header IP 1300 Bytes

    Header IP 500 bytes Primeiro Fragmento (Offset 0)

    Header IP 500 bytes Segundo Fragmento (Offset 500)

    Header IP 300 bytes Terceiro Fragmento (Offset 1000)

    A tcnica de fragmentao possibilitou que todas as redes interconectadas atravs da arquitetura TCP/IP se comunicassem, independente do meio fsico e do protocolo de acesso ao meio. Alm disso, como a remontagem somente ocorrer no host destino, no h necessidade dos gateways disporem de memria extra para a tarefa de fragmentao e remontagem.

    Entretanto a tcnica de fragmentao tem algumas desvantagens que iremos analisar a seguir:

    1. Os fragmentos de um datagrama, assim como os datagramas, so tratados pelos roteadores ou gateways de forma totalmente independente. Desta forma, no h garantia que os fragmentos de um datagrama, interpretados pelos roteadores ou gateways simplesmente como datagramas, sigam um nico caminho. De acordo com o protocolo de roteamento, os fragmentos podem ser enviados por diversos caminhos at chegarem ao seu destino, aumentando a probabilidade de perda.

    2. Como a remontagem de fragmentos somente ocorre no destino, pode acontecer uma subutilizao de alguma rede no caminho do datagrama. Podemos exemplificar atravs de um datagrama sendo fragmentado por um MTU de 500 bytes para atravessar uma rede e, logo na rede seguinte, encontrar um MTU de 1000 bytes.

    3. O host destino, ao receber qualquer fragmento de um datagrama, automaticamente d incio a um temporizador com um tempo limite de espera. Se o tempo limite se esgotar e o host destino no tiver recebido todos os fragmentos, o datagrama parcialmente recebido ser descartado.

    Para possibilitar o processo de remontagem foi necessria a incluso de trs campos, que sero analisados a seguir.

    5.1.5 Identification (Identificao do datagrama)

    O protocolo IP incrementa um contador para cada datagrama gerado, armazenando este valor neste campo de 16 bits, de forma que possa de identificar univocamente cada datagrama. Caso o datagrama necessite ser fragmentado, o campo Identification ser copiado em todos os fragmentos. Atravs do campo Identification e do campo Source IP Address o host destino saber remontar os fragmentos de qualquer datagrama.

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 14 -

    5.1.6 - Flags

    Este campo composto de 3 bits, sendo que cada bit determina um comportamento do datagrama em funo da tcnica de fragmentao.

    O primeiro bit, quando setado, indica que este datagrama no poder ser fragmentado. Desta forma, se o tamanho do datagrama for maior que o MTU da rede, este datagrama ser descartado pelo gateway e uma mensagem ser enviada para o host de origem, atravs do protocolo ICMP (que ser abordado adiante). O segundo bit informa que este pacote um fragmento intermedirio de um datagrama que foi fragmentado enquanto que o terceiro bit informa que o pacote o ltimo fragmento de um datagrama fragmentado.

    5.1.7 Fragment Offset

    O campo fragment offset informa o deslocamento do fragmento em funo do primeiro bit do datagrama, a partir da posio 0. Desta forma, a estao receptora ser capaz de remontar, a partir dos fragmentos recebidos, o datagrama inteiro.

    5.1.8 Time to Live

    Originalmente este campo continha o tempo mximo, em segundos, que o datagrama dispunha para alcanar o destino, entretanto esta informao no mais verdadeira.

    O campo TTL tem por funo evitar que datagramas permaneam indefinidamente circulando pela rede, seja por um problema de roteamento, seja por uma falha da rede. Este campo preenchido pelo host de origem e decrementado a cada gateway, logo quando este valor chegar a 0 (zero), o datagrama ser descartado e o host de origem receber uma mensagem atravs do protocolo ICMP.

    5.1.9 Protocol

    O campo protocol tem por funo especificar o protocolo de nvel superior, ou seja, o protocolo responsvel pela camada de transporte. Os protocolos de transporte da arquitetura TCP/IP que sero abordados nesta apostila so o TCP e o UDP.

    5.1.10 Header Checksum

    A tcnica de checksum permite que o host de destino possa verificar se o cabealho do datagrama IP chegou corretamente, sem que tenha danificado ou alterado durante o percurso da rede. Este campo no inclui a verificao dos dados que o datagrama IP carrega, sendo responsabilidade da camada de transporte.

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 15 -

    5.1.11 Source IP Address

    Este campo possui o endereo IP do host que originou o datagrama.

    5.1.12 Destination IP Address

    Este campo possui o endereo IP do host de destino do datagrama.

    5.1.13 IP Options

    O campo IP Options pode, opcionalmente, especificar algumas opes que devem ser executadas pelos hosts que receberem o datagrama. Este campo tem o seu tamanho varivel, podendo conter nenhuma ou inmeras opes. Segue, abaixo, o formato deste campo.

    0 1 2 3 4 5 6 7 Copy Option Class Option Number

    O campo Copy, caso esteja setado, determina que, na hiptese do datagrama vir a ser fragmentado, as opes devem ser copiadas para todos os fragmentos. Entretanto, caso o campo Copy no esteja setado e haja necessidade de fragmentao, somente o primeiro fragmento conter as opes.

    Os valores do campo Option Class podem ser observados na tabela abaixo.

    Option Class

    Significado

    0 Datagrama ou Controle da Rede 1 Reservada para uso futuro 2 Pesquisa e medio de erro 3 Reservada para uso futuro

    Os valores do campo Option Number so conjugados com os valores do campo Option Class. Na tabela abaixo esto relacionadas as opes mais usuais.

    Option Class

    Option Number

    Descrio das Funes

    0 3 Fonte livre para roteamento 0 7 Registro de rota 0 9 Fonte rigorosa para roteamento 2 4 Registro de horrio

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 17 -

    6.1 Mscara de Rede

    Assim como o endereo IP, a mscara de rede tambm um nmero de 32 bits, com a mesma representao e cada bit da mscara de rede corresponde ao mesmo bit do endereo IP. O valor da mscara de rede determinado da seguinte forma:

    Os bits da mscara de rede tero valor 1 quando o bit correspondente do endereo IP pertencer rede.

    Os bits da mscara de rede tero valor 0 quando o bit correspondente do endereo IP pertencer ao host.

    Vamos supor o endereo IP 192.37.102.4, que pertence classe C e dispe de 3 bytes para rede e 1 byte para host. Podemos representar os 32 bits deste endereo substituindo os valores 0 e 1 por R (parte da rede) e H (parte do host), conforme o exemplo abaixo:

    RRRRRRRR.RRRRRRRR.RRRRRRRR.HHHHHHHH

    Logo, seguindo as regras descritas acima, podemos concluir que a mscara de rede ter a seguinte representao:

    11111111.11111111.11111111.00000000

    No entanto, a forma usual de representar a mscara de rede a mesma do endereo IP, ento teremos 255.255.255.0.

    6.2 Default Gateway

    Os gateways, como j sabemos, tm a funo de interligar redes diferentes, trocando datagramas entre os diversos hosts de todas as redes. Logo, toda vez que um host tiver que enviar um datagrama cujo destino no seja a sua prpria rede, ele o far atravs do seu default gateway.

    6.3 - Funcionamento

    Antes de qualquer host colocar qualquer datagrama na rede, ele analisar o protocolo da camada de nvel 3 (Rede), que responsvel pela funo de roteamento. No caso da arquitetura TCP/IP, a anlise ser feita no header do protocolo IP, pois neste header constam os endereos IP de destino e de origem.

    Somente de posse do endereo IP de destino que os hosts sero capazes de saber se o datagrama ser enviado para o default gateway ou se ser enviado para a sua prpria rede.

    Antes de gerar o frame Ethernet, o host faz um and lgico entre o endereo IP de origem e a mscara de rede e, em seguida, repete a operao entre o endereo IP de

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 18 -

    destino e a mscara de rede. O host ento compara os valores obtidos, ocorrendo uma das duas situaes.

    Se os valores obtidos forem iguais, significa que o destino do datagrama ser a sua prpria rede e, neste caso, o frame Ethernet ser preenchido com o MAC Address do host de origem e do host de destino.

    Se os valores obtidos forem diferentes, significa que o destino do datagrama ser uma outra rede qualquer e, neste caso, o frame Ethernet ser preenchido com o MAC Address do host de origem e do default gateway. Caso o host disponha de algum protocolo de roteamento, o frame Ethernet ser preenchido com o MAC Address do gateway apropriado.

    Independente de o datagrama seguir pela prpria rede ou ser enviado para uma outra rede, em momento algum a PDU (Protocol Data Unit) da camada de nvel 3 (Rede) ser alterada.

    6.3.1 Roteamento Direto

    Diz-se que o roteamento direto quando o destino do datagrama a prpria rede do host de origem.

    6.3.2 Roteamento Indireto

    Diz-se que o roteamento indireto quanto ser necessrio enviar o datagrama para algum gateway efetuar a funo de roteamento.

    7. Protocolo de Transporte TCP (Transmission Control Protocol)

    A arquitetura TCP/IP oferece, conforme visto anteriormente (item 2.1), dois tipos de servio: com conexo e sem conexo. O servio com conexo provido pelo protocolo Transmission Control Protocol (TCP), que ser detalhado abaixo.

    7.1 Conceito de Portas Lgicas (Ports)

    Em todas as camadas da arquitetura TCP/IP existe um mecanismo que possibilita que a camada de nvel inferior saiba para qual dos protocolos da camada de nvel superior os dados devem ser enviados.

    Quando estudamos o protocolo da camada de rede (IP), verificamos que existe o campo Protocol, que identifica para qual protocolo da camada de transporte (TCP ou UDP) os dados devem ser enviados. Da mesma forma, qualquer protocolo da camada de transporte deve ter um mecanismo de enviar os dados recebidos para a camada de aplicao. Este mecanismo conhecido por portas lgicas ou canais virtuais. Uma porta , na verdade, um nmero de 16 bits, ou seja, pode variar de 0 a 65.535.

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 19 -

    Todos os servios providos pela arquitetura TCP/IP esto relacionados a uma porta especfica. Por exemplo, quando acessamos um site na Internet/Intranet estamos utilizando o protocolo HTTP (HyperText Transfer Protocol) e abrindo uma conexo na porta 80 do servidor; se desejarmos enviar um e-mail via SMTP (Simple Mail Transport Protocol) ser aberta uma conexo com a porta 25 no servidor de destino.

    As portas de 0 at 1023 esto reservadas para os servios da arquitetura TCP/IP, sendo que as portas abaixo de 256 so conhecidas e reservadas para os servios padro. No caso dos clientes que solicitam a conexo, o nmero da porta gerado seqencialmente, a partir de 1024 at 65.535. Supondo uma conexo para envio de um e-mail para um domnio qualquer, onde o servidor de SMNP est configurado com o endereo IP 200.255.9.12, o cliente est configurado com o endereo IP 200.200.5.22 e a prxima porta disponvel no cliente a porta 2670, teremos:

    Cliente Servidor de SMTP Endereo IP Porta Direo Endereo IP Porta 200.200.5.22 2670 200.255.9.12 25

    7.2 Comunicao Full-Duplex

    A estrutura do protocolo de transporte TCP permite que haja troca de dados nos dois sentidos, ou seja, no sentido cliente servidor e no sentido servidor cliente. Esta regra vlida independente do host que iniciou a conexo.

    7.3 Janela Deslizante (Sliding Windows)

    J sabemos que o protocolo de transporte TCP capaz de confirmar o recebimento de dados, aumentando-se a confiabilidade da comunicao. Entretanto, se a estao de destino for obrigada a enviar um datagrama de confirmao a cada datagrama recebido, certamente estaremos aumentando muito e de forma desnecessria, o volume de dados que trafegam na rede.

    Para solucionar este problema, no momento que se inicia uma conexo, as estaes negociam um valor ideal para o parmetro tamanho da janela. Este parmetro , na verdade, a quantidade de datagramas que podero ser enviados sem que haja necessidade de confirmao.

    Supondo que, durante o estabelecimento de uma conexo entre os hosts A e B, o valor negociado para o parmetro tamanho da janela seja igual a 4. Desta forma, o host A poder enviar para o host B at 4 datagramas sem que seja necessrio aguardar pela confirmao do host B. Aps o quarto datagrama, o host A dever aguardar pela chegada de um datagrama de confirmao, identificando a recepo correta do primeiro, segundo, terceiro ou quarto datagrama.

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 20 -

    Caso o host B confirme a recepo at do terceiro datagrama, a janela de transmisso ser deslizada, podendo o host A transmitir at o stimo datagrama. As figuras abaixo exemplificam a forma de operao.

    Janela Inicial

    1 2 3 4 5 6 7 8 9 10 11 12 Windows = 4

    Janela aps a confirmao do terceiro datagrama

    1 2 3 4 5 6 7 8 9 10 11 12 Windows = 4

    7.4 - Formato do Header TCP

    0 16 31 Source Port Destination Port

    Sequence Number Acknowledgement Number

    HLEN Reserved Code Bits Windows Checksum Urgent pointer

    Options (if any) Padding Data

    7.4.1 Source Port

    Identifica a porta de origem no host que est enviando o datagrama.

    7.4.2 Destination Port

    Identifica a porta de destino no host de destino.

    7.4.3 Sequence Number

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 21 -

    Este campo utilizado para controlar o fluxo de dados durante a conexo. Inicialmente, este valor gerado de forma aleatria, sendo depois incrementado pela quantidade de bytes transmitidos.

    7.4.4 Acknowledgement Number

    Este campo serve para confirmar a recepo de dados, indicando sempre o prximo byte esperado, ao invs do ltimo recebido.

    7.4.5 - HLEN

    Informa o tamanho do header do protocolo TCP.

    7.4.6 - Reserved

    Reservado para implementaes futuras.

    7.4.7 Code Bits

    Este campo utilizado para determinar algumas funes do protocolo TCP e para validar a informao do campo acknowledgement. A tabela abaixo identifica a funo de cada bit.

    Bits Descrio URG Identifica que o campo Urgent Pointer contm dados vlidos. Possibilita que, em

    uma sesso interativa, os dados referentes ao acionamento de teclas como ou sejam tratados com urgncia pelo receptor.

    ACK Identifica que o campo Acknowledgement contm dados vlidos. PSH Indica que o receptor deve repassar os dados imediatamente aplicao. RST Usado para rejeitar um segmento invlido ou para reiniciar uma conexo. SYN Utilizado para iniciar uma conexo. FIN Utilizado para encerrar uma conexo.

    7.4.8 Windows

    Utilizado para determinar o tamanho da janela de transmisso de dados, em bytes. Este valor definido durante a fase de estabelecimento de conexo, sendo negociado entre os dois hosts. Ser sempre o menor valor, de forma a respeitar os limites de armazenamento do host de menor capacidade.

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 22 -

    7.4.9 Checksum

    Este campo tem a funo de aumentar a confiabilidade do protocolo de transporte TCP. Diferencialmente do protocolo de rede IP, o checksum do TCP inclui no somente o cabealho, mas tambm os dados. Desta forma, tem-se a garantia que os dados transmitidos esto ntegros.

    7.4.10 Urgent Pointer

    , na verdade, um ponteiro que indica a presena e a posio de dados urgentes no campo de dados. Estes dados devem ser repassados para a aplicao com urgncia.

    7.4.11 Options

    utilizado para negociar facilidades entre os hosts. Entre as opes possveis, a mais usual determina o tamanho mximo do segmento de dados do protocolo de transporte TCP, denominado de MSS (Maximum Segment Size).

    O uso de segmentos grandes , evidentemente, muito mais eficiente que o uso de segmentos pequenos, entretanto deve-se respeitar os limites de capacidade dos hosts menores Quanto maior for o tamanho do segmento, melhor ser a diluio do cabealho TCP (normalmente de 20 bytes) nos dados transmitidos.

    Caso este parmetro no seja negociado, o valor padro de 536 bytes de dados ser assumido e os hosts aceitaro segmentos TCP com 556 bytes (536 + 20).

    7.5 Estabelecimento de Conexo

    A tcnica de estabelecimento de conexo do protocolo de transporte TCP conhecida por Three Way Handshake ou aperto de mo triplo. Durante o estabelecimento de conexo so trocados 3 datagramas antes que se inicie, efetivamente, a troca de dados.

    O primeiro datagrama enviado com o bit SYN setado e com o nmero de seqncia gerado atravs de um mecanismo baseado no uso de um relgio, com pulsos a cada 4 s. A resposta deve vir com o bit SYN setado, com um nmero de seqncia e com o bit ACK confirmando a recepo do primeiro datagrama. Por fim, o host que iniciou a conexo envia um ltimo datagrama confirmando o recebimento da resposta.

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 23 -

    Como descrito anteriormente, as conexes TCP operam no modo Full-Duplex, ou seja, suportam transmisses de dados nos dois sentidos. Desta forma, independente de qual host tenha estabelecido a conexo, todos os dois podem enviar dados.

    Da mesma forma, a conexo poder ser encerrada por qualquer um dos hosts. No entanto, mesmo que o host A encerre a conexo, o host B poder continuar a enviar dados.

    7.6 - Retransmisses

    Toda vez que o protocolo TCP envia um segmento de dados iniciado um relgio, como contador de tempo, que ser resetado quando for recebida a confirmao deste segmento. Caso a confirmao no chegue dentro de um tempo limite ocorre um time-out e o segmento ser retransmitido.

    Sabemos que os datagramas, quando percorrem grandes redes, podem seguir caminhos diferentes tendo, como conseqncia, tempos de resposta diferenciados. Logo, no h como definir um tempo de reposta padro, por isso o protocolo TCP implementa um algoritmo extremamente eficiente que se adequa dinamicamente s variaes de trfego e atrasos decorrente das caractersticas de cada rede.

    8. Protocolo de Transporte UDP (User Datagram Protocol)

    O Protocolo de transporte UDP foi desenvolvido para complementar as funcionalidades da arquitetura TCP/IP. Diferentemente do protocolo TCP, o protocolo UDP no dispe de diversos recursos, tais como estabelecimento de conexo, tamanho de janela, seqencializao e confirmao, entretanto mais eficiente quando se deseja apenas enviar ou obter uma informao isolada e, caso algumas das funcionalidades descritas sejam fundamentais, ficar a cargo da aplicao a implementao das funcionalidades desejadas.

    Alguns protocolos que no necessitam de todos os recursos oferecidos pelo protocolo TCP utilizam o protocolo UDP para transportar seus dados de forma mais

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 24 -

    eficiente. Como exemplo, podemos citar o protocolo de gerencia de rede SNMP, o protocolo de boot remoto BOOTP, o protocolo de converso de nome para endereo IP DNS, alm do protocolo de transferncia trivial de arquivos TFTP.

    No entanto, o protocolo UDP oferece um campo de checksum que inclui seu cabealho e os dados do segmento.

    8.1 - Formato do Header UDP

    0 16 31 Source Port Destination Port

    Message Length Checksum Data

    8.1.1 Source Port

    Identifica a porta de origem no host que est enviando o datagrama.

    8.1.2 Destination Port

    Identifica a porta de destino no host de destino.

    8.1.3 Message Length

    Este campo especifica o tamanho total do segmento UDP, somando o tamanho do cabealho com o tamanho dos dados.

    8.1.4 Checksum

    Diferencialmente do protocolo de TCP, o checksum do UDP opcional e deve ser solicitado pelo protocolo de aplicao. Caso seja solicitado, o checksum inclui a rea de dados no clculo.

    9. Protocolo ICMP (Internet Control Message Protocol)

    O protocolo ICMP utilizado para gerncia e comunicao de erros ou de mensagens na arquitetura TCP.

    9.1 Formato do Header ICMP

    0 8 16 31 Type Code Checksum

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 25 -

    9.1.1 Type

    O campo type descreve, conforme a tabela abaixo, a funo do segmento ICMP.

    Valor do campo Type

    Descrio

    0 Echo Reply 3 Destination Unreachable 4 Source Quench 5 Redirect (change a route) 8 Echo Request

    11 Time Exceeded for a Datagram

    9.1.2 Code

    O campo Code serve para complementar o campo Type, detalhando com mais exatido a mensagem. No entanto, somente a mensagem Destination Unreachable que necessita de detalhamento, conforme apresenta a tabela abaixo.

    Cdigo Descrio 0 Network Unreachable 1 Host Unreachable 2 Protocol Unreachable 3 Port Unreachable 4 Fragmentation Needed and DF Set

    9.1.3 Checksum

    Inclui na verificao, alm do cabealho, os dados transmitidos.

    10. Clculo de Mscara de Rede e Mscara de Sub-rede

    J temos conhecimento que existem 5 classes de endereamento para o protocolo IP e sabemos tambm como esto distribudos os 32 bits entre rede e hosts para cada classe. Partindo da distribuio padro e do conceito de mscara de rede apresentado anteriormente, podemos definir que as seguintes mscaras devem ser utilizadas para as cinco classes.

    Classe Mscara de Rede Padro A 255.0.0.0 B 255.255.0.0 C 255.255.255.0 D Usada para Multicast

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 26 -

    E Reservada

    Analisando desta forma, podemos concluir que a classe C a classe que disponibiliza a menor quantidade de endereos por rede, no total de 256 endereos. No entanto, 256 endereos ainda uma quantidade de endereos muito grande, pois existem necessidades bem inferiores a este valor. Caso uma classe C inteira seja fornecida a um pequeno escritrio de marketing com apenas 6 computadores, teremos um desperdcio de 250 endereos. Se multiplicarmos este valor desperdiado pela quantidade de ocorrncias de situaes como esta, teremos noo da quantidade de endereos IP que foram distribudos e no esto sendo utilizados.

    Para solucionar este problema foi criado o conceito de mscara de sub-rede, que nos permite dividir em grupos iguais os endereos de uma classe qualquer. Antes de comearmos a discutir como implementar esta soluo ser necessrio incluir dois conceitos importantes: o endereo de rede e o endereo de broadcast.

    Quando recebemos um endereo de uma classe qualquer de endereamento, perdemos, automaticamente, dois endereos. O endereo de rede e o endereo de broadcast.

    10.1 Endereo de Rede

    O endereo de rede identifica, juntamente com a mscara de rede, o endereo inicial e a quantidade de endereos disponveis em uma rede. Para calcularmos o endereo de rede basta analisarmos a mscara de rede, manter inalterados os bits do endereo IP que correspondem aos bits setados com 1 da mscara de rede e zerar os demais bits.

    10.2 Endereo de Broadcast

    O endereo de broadcast tem a funo de poder enviar um datagrama para todos os hosts de uma rede. Para calcularmos o endereo de broadcast basta analisarmos a mscara de rede, manter inalterados os bits do endereo IP que correspondem aos bits setados com 1 da mscara de rede e setar com 1 os demais bits.

    10.3 Clculo da Mscara de Sub-rede

    Para calcularmos a mscara de sub-rede devemos dispor de um endereo IP e da quantidade mxima de hosts que cada sub-rede deve suportar. Supondo que o endereo IP 200.5.13.0, de classe C, deva ser divido para suportar sub-redes com, no mximo, 24 hosts, teremos que executar os seguintes passos:

    10.3.1 Determinao da quantidade de bits

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 27 -

    Inicialmente devemos determinar a quantidade de bits necessria para que possamos armazenar o nmero mximo de hosts. Antes de efetuarmos este clculo, devemos somar 2 ao valor mximo, pois no podemos nos esquecer do endereo de rede e do endereo de broadcast.

    Para o nosso exemplo, estamos necessitando de 26 endereos IP (24 + 2). Quantos bits so necessrios para que tenhamos 24 ou mais combinaes diferentes? Se analisarmos 4 bits, teremos como resposta 16 combinaes, e se analisarmos 5 bits teremos como resposta 32 combinaes disponveis. Logo, precisamos de 5 bits para solucionar esta questo.

    10.3.1 Mscara de Sub-rede

    Para calcularmos a mscara de sub-rede basta zerar a quantidade de bits necessria para as combinaes solicitadas, sempre da direita para a esquerda, e setar com 1 os demais bits.

    Para o nosso exemplo, teremos a mscara de rede 255.255.255.224.

    1o Byte 2o Byte 3o Byte 4o Byte 255 255 255 224

    11111111 11111111 11111111 11100000

    10.4 Clculo do Endereo IP de Sub-rede

    Uma vez definida a mscara de rede podemos calcular os diversos endereos IP de sub-rede. Inicialmente devemos isolar os bits identificados pela mscara de rede padro, pois estes bits identificam o endereo IP de rede original e no devem ser alterados. Os demais bits sero utilizados para identificar os endereos de sub-rede e para identificar os hosts de cada sub-rede.

    A quantidade de bits pertencente aos hosts pode ser identificada atravs dos bits zerados na de sub-rede. Resta um conjunto de bits intermedirio entre a os bits 1 da mscara de rede padro e os bits 0 da mscara de sub-rede. A cada incremento deste conjunto de bits teremos um novo endereo de sub-rede.

    Suponha que desejemos criar sub-redes para o endereo IP 192.168.10.0 com a mscara de sub-rede calculada anteriormente, ou seja, criando sub-redes com 32 endereos. Como o endereo IP 192.33.10.0 pertence classe C, teremos como mscara de rede padro 255.255.255.0, com 24 bits 1 e 8 bits 0. Conforme descrito, os 24 bits 1 da mscara de rede padro no devem ser alterados, restando 8 bits para identificarmos o endereo de sub-rede e os hosts da sub-rede. A quantidade de bits necessria para que a sub-rede possa dispor de 32 endereos foi calculada anteriormente, sendo de 5 bits. Desta forma, restam 3 bits para o endereamento de sub-rede. O incremento deste 3 bits determinar os endereos de sub-rede existentes.

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 28 -

    Descrio 1o Byte 2o Byte 3o Byte 4o Byte Decimal Mscara de rede padro

    11111111 11111111 11111111 00000000 255.255.255.0

    Mscara de sub-rede

    11111111 11111111 11111111 111 00000 255.255.255.224

    Sub-rede

    Hosts

    1o Endereo de Sub-rede

    11000000 00100001 00001010 000 00000 192.33.10.0

    1o Endereo de Broadcast

    11000000 00100001 00001010 000 11111 192.33.10.31

    2o Endereo de Sub-rede

    11000000 00100001 00001010 001 00000 192.33.10.32

    2o Endereo de Broadcast

    11000000 00100001 00001010 001 11111 192.33.10.63

    10.5 Clculo do Endereamento de Super-rede

    Com a expanso do fornecimento de endereos Internet para os mais diversos locais do mundo, as tabelas de roteamento comearam a crescer a tal ponto que foi necessrio se repensar uma forma de minimizar este efeito sobre os roteadores. Esse crescimento desordenado teria como conseqncia um aumento significativo no custo dos roteadores, pois exigiria buffers suficientes para armazenar todos os endereos IPs de rede existentes na Internet.

    A soluo para este problema foi a criao da tcnica de CIDR Classless Inter-Domain Routing. Nesta tcnica utilizamos o conceito de endereamento de sub-rede de forma invertida, ou seja, ao invs de criarmos uma mscara de sub-rede e dividirmos um endereo IP em vrios endereos de sub-rede, iremos criar uma mscara de super-rede e agrupar um conjunto de endereos IP em um nico.

    Suponha que seja necessrio agrupar os endereos IPs de rede de 192.168.0.0 at 192.168.255.0. Verificamos que, neste caso, so 256 endereos IP de rede (de 0 at 255), ou seja, necessitamos de 8 bits (28 = 256). Logo, iremos retirar 8 bits da mscara de rede padro de uma classe C, resultando na seguinte combinao:

    Endereo Super-rede : 192.168.0.0 Mscara de Super-rede : 255.255.0.0

  • UNIGRANRIO - Universidade do Grande Rio Arquitetura TCP/IP Professor: Etienne Oliveira

    - 29 -

    Referncias Bibliogrficas

    Soares, Luiz Fernando G. Redes de Computadores: das LANs, MANs e WANs s redes ATM. 2a ed. Rio de Janeiro, Campus, 1997

    Tanenbaum, Andrew S. Computer Networks. 3 a ed., 1997

    Gasparini, Anteu TCP/IP : Soluo para Conectividade. 3a ed. Rio de Janeiro, rica, 1993

    http://wwwhost.ots.utexas.edu/ethernet/ethernet.html http://www.firewall.cx/ethernet.htm http://www.deetc.isel.ipl.pt/redesdecomunic/Disciplinas/RC2/00-01-V/LAN_Ethernet.pdf http://www.camadafisica.hpg.ig.com.br/indice.htm http://www.ipb.pt/~nuno/aulas/9900/rc/ http://www.lsi.usp.br/~volnys/courses/redes/pdf/08codif-col.pdf http://www.ots.utexas.edu/ethernet/ http://www.cabletron.com/support/manuals/hardware/1913_01.pdf