APOSTILA TCP/IP -...

87
Aula 07 – 24/03/2008 - Laboratório de Redes – 7ª Fase Universidade do Contestado - UnC Sistemas de Informação Prof. Carlos Guerber APOSTILA TCP/IP 1. HISTÓRICO .............................................................................................................................. 3 2. O MODELO DE REFERÊNCIA TCP/IP.................................................................................... 6 2.1 A CAMADA INTER-REDES ................................................................................... 6 2.2 A CAMADA DE TRANSPORTE ............................................................................. 8 2.3 A CAMADA DE APLICAÇÃO ................................................................................. 9 2.4 A CAMADA HOST/REDE ....................................................................................... 9 2.5 POSICIONAMENTO DO NÍVEL OSI ................................................................... 10 2.6 EXEMPLOS DE APLICAÇÃO DE REDES COM ARQUITETURA TCP/IP.......... 11 2.7 COMPARAÇÃO ENTRE OS MODELOS DE REFERÊNCIA OSI E TCP/IP ....... 14 2.8 UMA CRÍTICA AO MODELO DE REFERÊNCIA TCP/IP .................................... 17 3. IPv4 - A VERSÃO ATUAL DO IP ........................................................................................... 19 3.1 O DATAGRAMA IPV4 .......................................................................................... 19 4. ENDEREÇAMENTO IP........................................................................................................... 27 4.1 IDENTIFICADORES UNIVERSAIS ...................................................................... 27 4.2 TRÊS CLASSES PRIMÁRIAS DE ENDEREÇO .................................................. 27 4.3 ENDEREÇO DE UMA REDE E ENDEREÇO DE DIFUSÃO (BROADCAST) ..... 29 4.4 DIFUSÃO LOCAL ................................................................................................. 29 4.5 ENDEREÇOS DE REFERÊNCIA À PRÓPRIA REDE E AO PRÓPRIO HOST. . 30 4.6 ENDEREÇO DE MULTICAST .............................................................................. 30 4.7 FRAQUEZAS DO ENDEREÇAMENTO IP........................................................... 31 4.8 NOTAÇÃO DECIMAL ........................................................................................... 32 4.9 ENDEREÇO DE LOOPBACK .............................................................................. 33 4.11 ENDEREÇAMENTO DE SUB-REDE ................................................................... 33 4.11.1 Distribuição Geográfica de Endereços ................................................................ 34 4.11.2 Implementação de Sub-redes com Máscara....................................................... 35 4.11.3 Super-redes ......................................................................................................... 35 4.11.4 Exemplo de Redes .............................................................................................. 36 4.12 SUB-REDES......................................................................................................... 38 4.13 PLANEJAMENTO DE UM ESQUEMA DE ENDEREÇAMENTO......................... 41 5. PROTOCOLOS DE ROTEAMENTO ...................................................................................... 43 5.1 CONCEITO........................................................................................................... 43 5.2 RIP ........................................................................................................................ 45 5.3 RIP II ..................................................................................................................... 46 5.4 OSPF .................................................................................................................... 47 5.5 COMPARAÇÃO ENTRE OS PROTOCOLOS DE ROTEAMENTO RIP E OSPF 47 5.6 EGP ...................................................................................................................... 48 6. PROTOCOLO ARP E RARP .................................................................................................. 50 6.1 INTRODUÇÃO ..................................................................................................... 50 6.2 PROBLEMA DE CONVERSÃO............................................................................ 50

Transcript of APOSTILA TCP/IP -...

Page 1: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

Aula 07 – 24/03/2008 - Laboratório de Redes – 7ª Fase Universidade do Contestado - UnC Sistemas de Informação

Prof. Carlos Guerber

APOSTILA TCP/IP

1. HISTÓRICO .............................................................................................................................. 3 2. O MODELO DE REFERÊNCIA TCP/IP.................................................................................... 6 2.1 A CAMADA INTER-REDES ................................................................................... 6 2.2 A CAMADA DE TRANSPORTE ............................................................................. 8 2.3 A CAMADA DE APLICAÇÃO ................................................................................. 9 2.4 A CAMADA HOST/REDE....................................................................................... 9 2.5 POSICIONAMENTO DO NÍVEL OSI ................................................................... 10 2.6 EXEMPLOS DE APLICAÇÃO DE REDES COM ARQUITETURA TCP/IP.......... 11 2.7 COMPARAÇÃO ENTRE OS MODELOS DE REFERÊNCIA OSI E TCP/IP ....... 14 2.8 UMA CRÍTICA AO MODELO DE REFERÊNCIA TCP/IP .................................... 17 3. IPv4 - A VERSÃO ATUAL DO IP........................................................................................... 19 3.1 O DATAGRAMA IPV4 .......................................................................................... 19 4. ENDEREÇAMENTO IP........................................................................................................... 27 4.1 IDENTIFICADORES UNIVERSAIS...................................................................... 27 4.2 TRÊS CLASSES PRIMÁRIAS DE ENDEREÇO.................................................. 27 4.3 ENDEREÇO DE UMA REDE E ENDEREÇO DE DIFUSÃO (BROADCAST) ..... 29 4.4 DIFUSÃO LOCAL................................................................................................. 29 4.5 ENDEREÇOS DE REFERÊNCIA À PRÓPRIA REDE E AO PRÓPRIO HOST. . 30 4.6 ENDEREÇO DE MULTICAST.............................................................................. 30 4.7 FRAQUEZAS DO ENDEREÇAMENTO IP........................................................... 31 4.8 NOTAÇÃO DECIMAL........................................................................................... 32 4.9 ENDEREÇO DE LOOPBACK .............................................................................. 33 4.11 ENDEREÇAMENTO DE SUB-REDE................................................................... 33 4.11.1 Distribuição Geográfica de Endereços................................................................ 34 4.11.2 Implementação de Sub-redes com Máscara....................................................... 35 4.11.3 Super-redes......................................................................................................... 35 4.11.4 Exemplo de Redes .............................................................................................. 36 4.12 SUB-REDES......................................................................................................... 38 4.13 PLANEJAMENTO DE UM ESQUEMA DE ENDEREÇAMENTO......................... 41 5. PROTOCOLOS DE ROTEAMENTO ...................................................................................... 43 5.1 CONCEITO........................................................................................................... 43 5.2 RIP........................................................................................................................ 45 5.3 RIP II..................................................................................................................... 46 5.4 OSPF.................................................................................................................... 47 5.5 COMPARAÇÃO ENTRE OS PROTOCOLOS DE ROTEAMENTO RIP E OSPF 47 5.6 EGP ...................................................................................................................... 48 6. PROTOCOLO ARP E RARP.................................................................................................. 50 6.1 INTRODUÇÃO ..................................................................................................... 50 6.2 PROBLEMA DE CONVERSÃO............................................................................ 50

Page 2: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

6.2.1 Conversão Através do Mapeamento Direto: ........................................................ 51 6.2.2 Conversão Através de Vinculação Dinâmica: ...................................................... 51 6.2.3 Cache de Conversão de Endereço: ..................................................................... 51 6.3 APRIMORAMENTO DE ARP............................................................................... 52 6.3.1 Definição ARP ...................................................................................................... 52 6.3.2 Implementação ARP............................................................................................. 52 6.3.3 Encapsulamento e Identificação ARP .................................................................. 53 6.3.4 Formato do Protocolo ARP................................................................................... 53 6.4 PROTOCOLO RARP............................................................................................ 54 6.4.1 Introdução............................................................................................................. 54 7. PROTOCOLO ICMP ............................................................................................................... 56 7.1 MENSAGEMS ICMP ............................................................................................ 57 7.1.1 Echo Request e Echo Reply................................................................................. 57 7.1.2 Destination Unreacheable .................................................................................... 58 7.1.3 Source Quench..................................................................................................... 59 7.1.4 Redirect ................................................................................................................ 60 7.1.5 TTL Expired .......................................................................................................... 62 7.1.6 ICMP Router Solicitation/Advertisement .............................................................. 63 7.1.7 Aquisição de informações de Roteamento........................................................... 64 8. PROTOCOLOS DA CAMADA DE TRANSPORTE ............................................................... 66 8.1 CAMADA DE TRANSPORTE............................................................................... 66 8.2 PROTOCOLO UDP .............................................................................................. 67 8.2.1 Formato da Mensagem UDP................................................................................ 69 8.2.2 Encapsulamento de UDP e Colocação de Protocolos em Camadas .................. 69 8.2.3.1 Organização em camadas.................................................................................... 71 8.2.4 Multiplexação e Demultiplexação UDP e Portas.................................................. 71 8.2.4.1 Números de portas UDP reservadas e disponíveis ............................................. 73 8.3 PROTOCOLO TCP .............................................................................................. 75 8.3.1 Serviços TCP........................................................................................................ 79 8.3.1.1 Serviços TCP: transferência de dados................................................................. 79 8.3.1.2 Serviços TCP: confiabilidade................................................................................ 81 8.3.1.4 Serviços TCP: controle de fluxo ........................................................................... 82 8.3.1.5 Serviços TCP: multiplexação................................................................................ 82 8.3.1.6 Serviços TCP: conexão ........................................................................................ 82 8.3.1.7 Estabelecimento de conexão ............................................................................... 83 8.3.2 Transferência de Dados ....................................................................................... 85 8.3.3 Encerramento da Conexão................................................................................... 86 8.3.4 Desempenho TCP ................................................................................................ 87

Page 3: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

3

1 HISTÓRICO

A história do TCP/IP está intimamente interligada com a da Internet. O

conjunto de protocolos TCP/IP resultou de pesquisas fundadas pelo ARPA

(Advanced Research Projects Agent) para conectar redes dos seus

departamentos de pesquisas, a esta rede denominou-se ARPANET. Os

primeiros projetos de pesquisas originaram-se da idéia de comutação de

pacote, considerada radical na época, em meados de 1960.

No final da década de 60, precisamente em dezembro de 69, entrou no

ar uma rede experimental com quatro nós interligando as instituições UCLA

(Universidade de Los Angeles), UCSB (Universidade de Santa Barbara), SRI

(Instituto de Pesquisa de Stanford) e Universidade de Utah. Através da

experiência conseguida nesta rede, alavancou-se grandes pesquisas sobre

protocolos, culminando com a criação dos protocolos e do modelo TCP/IP.

Em 1983 o TCP/IP tornou-se o protocolo oficial da ARPANET, levando a

uma das primeiras definições de Internet, como sendo um conjunto de rede

conectadas via TCP/IP; nessa mesma época foi feita na Universidade de

Berkeley, a implantação do protocolo ao sistema operacional Unix, conhecido

como BSD . Em adição aos protocolos foram oferecidas um conjunto de

aplicações que passaria a expandir os serviços do Unix a mais de uma

máquina. Com esta implantação o protocolo aumentou sua popularidade.

Conjuntamente a estas aplicações, o BSD ofereceu uma abstração ao

seu sistema operacional que permitia acesso aos protocolos TCP/IP, chamada

sockets. Isto aumentou a utilização dos protocolos pelos programadores que

passaram a enxergá-los num mais alto nível que antes. A partir daí pesquisas

foram alavancadas e novas aplicações foram surgindo.

Em 1985 a entidade americana NSF ( National Science Foundation)

interligou os supercomputadores de seus centros de pesquisas em rede, que

passaram a ser conhecida como NSFNET. Em 1986 esta rede conectou-se a

ARPANET. O conjunto de todos os computadores desta rede e sua espinha

dorsal passaram a ser conhecidas oficialmente como Internet.

Page 4: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

4

Em 1988 a NSFNET passou a ser mantida pela IBM, MCI ( empresa de

telecomunicações americana) e MERIT ( instituição responsável por uma rede

pertencente a instituições de Michigan, EUA) estas criaram a ANS ( Advanced

Network and Services).

Em 1990 o backbone ( espinha dorsal) ARPANET deixou de existir e no

seu lugar foi criado uma outra espinha dorsal conhecida como DRI ( Defense

Research Internet ). Em 1990/1993 a ANS criou a ANSNET, que passou a ser

a nova espinha dorsal da Internet; paralelamente foi criado a espinha dorsal

européia (EBONE), que interligou alguns países da Europa a Internet. A partir

de 1993 a rede deixou de ser puramente acadêmica para ser explorada

comercialmente.

Desde 1991, membros da IETF ( Internet Engineering Task Force )

chegaram a conclusão que o crescimento exponencial da rede levaria em

poucos anos a exaustão dos endereços utilizados para identificar os

computadores na Internet. Isto se os equipamentos da época não esgotassem

toda a sua capacidade. Soluções paliativas então foram criadas para resolver

temporariamente este problema.

Foi criado um grupo de trabalho pela IETF, para definir uma nova versão

do IP ( Internet Protocol ), protocolo utilizado para endereçar e enviar dados

que trafegam pela rede. O intuito deste grupo era criar uma nova versão mais

eficiente e flexível, e que fosse capaz de resolver os problemas relacionados

com a questão do esgotamento de endereços e outros mais. Os principais

objetivos foram :

• aceitar bilhões de hosts, mesmo com alocação de espaço de endereço

ineficiente;

• reduzir o tamanho das tabelas de roteamento;

• simplificar o protocolo de modo a permitir que os roteadores processem

os pacotes com mais rapidez;

• oferecer mais segurança ( autenticidade e privacidade ) do que o IP

atual;

• dar mais importância ao tipo de serviço, particularmente para os dados

em tempo real;

Page 5: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

5

• permitir multicast, possibilitando a especificação de escopos;

• permitir que um host mude de lugar sem precisar mudar de endereço;

• permitir que o protocolo evolua no futuro;

• permitir a coexistência entre o novo e o antigo protocolo durante anos.

Foram submetidos 21 trabalhos ao grupo, estes propuseram desde

pequenos ajustes do IP, até a eliminação completa com o surgimento de um

novo protocolo. Três propostas foram utilizadas como base, e uma versão

ajustada foi criada e manteve características da versão atual, possuindo ainda

uma transição melhor. Depois de muita discussão, revisão e disputas, foi

produzida a recomendação para a nova versão do IP em novembro de 1994,

chamada de SIPP ( Simple Internet Protocol Plus), e lhe foi atribuída a

designação de Ipv6.

Page 6: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

6

2 O MODELO DE REFERÊNCIA TCP/IP

Vamos deixar de lado temporariamente o modelo de referência OSI para

nos concentrarmos no modelo de referência usado na "avó" de todas as redes

de computadores, a ARPANET, e sua sucessora, a Internet.

A ARPANET era uma rede de pesquisa que foi criada pelo

Departamento de Defesa dos Estados Unidos. Pouco a pouco, centenas de

universidades e repartições públicas foram sendo conectadas a ela através de

linhas telefônicas privadas. Quando foram criadas as redes de rádio e satélite,

começaram a surgir problemas com os protocolos então existentes, o que

forçou a criação de uma nova arquitetura de referência. Seu objetivo era

conectar várias redes ao mesmo tempo. Essa arquitetura veio a ficar conhecida

como o Modelo de Referência TCP/IP, graças a seus dois principais protocolos.

Esse modelo foi definido pela primeira vez por Cerf e Kahn, 1974. Uma nova

perspectiva foi oferecida em Leiner et aI-, 1985. A filosofia de projeto na qual se

baseia o modelo é discutida em Clark, 1988.

Diante da preocupação do Pentágono de que seus preciosos hosts,

roteadores e gateways de inter-rede fossem destruídos de uma hora para

outra, definiu-se também que a rede fosse capaz de sobreviver à perda de

hardwares da sub-rede, impedindo que as conversas que estivessem sendo

travadas fossem interrompidas. Em outras palavras, o Pentágono queria que as

conexões permanecessem intactas enquanto as máquinas de origem e de

destino estivessem funcionando, mesmo que algumas máquinas ou linhas de

transmissão intermediárias deixassem de operar repentinamente. Por essa

razão, era preciso criar uma arquitetura flexível, capaz de se adaptar a

aplicações com necessidades divergentes, como por exemplo a transferência

de arquivos e a transmissão de dados de voz em tempo real.

2.1 A CAMADA INTER-REDES

Todas essas necessidades levaram à escolha de uma rede de

comutação de pacotes baseada em uma camada de ligação inter-rede. Esse

Page 7: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

7

camada, chamada de camada inter-redes, integra toda a arquitetura. Sua tarefa

é permitir que os hosts injetem pacotes em qualquer rede e garantir que eles

sejam transmitidos independentemente do destino (que pode ser outra rede). É

possível, inclusive, que esses pacotes cheguem em outra ordem diferente

daquela em que foram enviados, obrigando as camadas superiores a

reorganizá-los, caso a entrega tenha de respeitar algum tipo de ordem.

Observe que, nesse caso, a expressão inter-rede é usada no sentido genérico,

muito embora essa camada esteja presente na Internet, analogia usada nesse

caso diz respeito ao sistema do correio. Uma pessoa pode soltar uma

seqüência de cartas internacionais em uma caixa de correio em um pais e, com

um pouco de sorte, a maioria delas será entregue no endereço correto no pais

de destino. Provavelmente as cartas atravessarão um ou mais gateways

internacionais, mas esse processo é transparente para os usuários. Por essa

razão, cada pais (ou seja, cada rede) tem seus próprios selos, tamanhos de

envelope preferidos e regras de entrega escondidas dos usuários. A camada

inter-redes define um formato de pacote oficial e um protocolo chamado de IP

(Internet Protocol). A tarefa da camada inter-redes é entregar pacotes IP onde

eles são necessários. O roteamento é uma questão de grande importância

nessa camada, assim como evitar congestionamentos. Por essas razões, é

razoável dizer que a função da camada inter-redes TCP/IP é muito parecida

com a da camada de rede OSI.

MensagemMensagemidênticaidêntica

PacotePacoteidênticoidêntico

RoteadorRoteador

Rede Física 1Rede Física 1 Rede Física 2Rede Física 2

Inter-rede

Rede RedeRede

Host AHost A

QuadroQuadroidênticoidêntico

DatagramaDatagramaidênticoidêntico

Inter-Rede

Transporte

Aplicação

Rede

Host AHost A

QuadroQuadroidênticoidêntico

DatagramaDatagramaidênticoidêntico

Inter-Rede

Transporte

Aplicação

Page 8: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

8

2.2 A CAMADA DE TRANSPORTE

No modelo TCP/IP, a camada localizada acima da camada inter-redes é

chamada de camada de transporte. A finalidade dessa camada é permitir que

as entidades par (peer entity) dos hosts de origem e de destino mantenham

uma conversação, exatamente como acontece na camada de transporte OSI.

Dois protocolos fim a fim foram definidos aqui. O primeiro deles, o TCP

(Transmission Control Protocol), é um protocolo orientado à conexão confiável

que permite a entrega sem erros de um fluxo de bytes originado de uma

determinada máquina em qualquer computador da inter-rede. Esse protocolo

fragmenta o fluxo de bytes de entrada em mensagens e passa cada uma delas

para a camada inter-redes No destino, o processo TCP remonta as mensagens

recebidas no fluxo de saída. O TCP cuida também do controle de fluxo,

impedindo que um transmissor rápido sobrecarregue um receptor lento com um

volume de mensagens muito grande.

O segundo protocolo dessa camada, o UDP (User Datagram Protocol), é

um protocolo sem conexão não confiável para aplicações que não necessitam

nem de controle de fluxo, nem da manutenção da seqüência das mensagens

enviadas. Ele é amplamente usado em aplicações em que a entrega imediata é

mais importante do que a entrega precisa, como a transmissão de dados de

voz ou de vídeo. Desde que o modelo foi desenvolvido, o IP foi implementado

Page 9: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

9

em muitas outras redes.

2.3 A CAMADA DE APLICAÇÃO

O modelo TCP/IP não tem as camadas de sessão e de apresentação.

Como não foi percebida qualquer necessidade, elas não foram incluídas. A

experiência com o modelo OSI provou a seguinte tese: elas são pouco usadas

na maioria das aplicações.

Acima da camada ,de transporte, está a camada de aplicação Ela

contêm os protocolos de alto nível. Dentre eles estão o protocolo de terminal

virtual (TELNET), o protocolo de transferência de arquivos (FTP) e o protocolo

de correio eletrônico (SMTP), como mostra a Figura 1 anterior o protocolo do

terminal virtual permite que um usuário de um Computador estabeleça login em

uma máquina remota e trabalhe nela. O protocolo de transferência de arquivos

permite mover dados com eficiência de uma máquina para outra.

Originalmente, o correio eletrônico era um tipo de transferência de arquivo. No

entanto, posteriormente um protocolo especializado foi desenvolvido para essa

função. Muitos outros protocolos foram incluídos com o decorrer dos anos,

como o DNS (Domain Name Service), que mapeia os nomes de host para seus

respectivos endereços de rede, o NNTP, o protocolo usado para mover novos

artigos, e o HTTP, o protocolo usado para buscar páginas na WWW (World

Wide Wcb). entre outros.

2.4 A CAMADA HOST/REDE

Abaixo da camada inter-redes, encontra-se um grande vácuo. O modelo

de referência T'CP/IP não especifica coisa alguma, exceto pelo fato de que o

host tem de se conectar com a rede utilizando um protocolo, para que seja

possível enviar pacotes. Esse protocolo não é definido e varia de host para

host e de rede para rede. Os livros e a documentação que tratam do modelo

TCP/IP raramente descrevem esse protocolo.

Page 10: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

10

2.5 POSICIONAMENTO DO NÍVEL OSI

A arquitetura TCP/IP possui uma série de diferenças em relação à

arquitetura OSI. Elas se resumem principalmente nos níveis de aplicação e

Inter-rede da arquitetura TCP/IP.

Como principais diferenças pode-se citar:

• OSI trata todos os níveis, enquanto TCP/IP só trata a partir do nível de Rede

OSI

• OSI tem opções de modelos incompatíveis. TCP/IP é sempre compatível

entre as várias implementações

• OSI oferece serviços orientados a conexão no nível de rede, o que necessita

de inteligência adicional em cada equipamento componente da estrutura de

rede. Em TCP/IP a função de roteamento é bem simples e não necessita de

manutenção de informações complexas

• TCP/IP tem função mínima (roteamento IP) nos nós intermediários

(roteadores)

• Aplicações TCP/IP tratam os níveis superiores de forma monolítica, Desta

forma OSI é mais eficiente pois permite reaproveitar funções comuns a

diversos tipos de aplicações. Em TCP/IP, cada aplicação tem que

implementar suas necessidades de forma completa.

A Figura 22 ilustra a comparação entre TCP/IP e OSI. Note que a

camada Inter-rede de TCP/IP apresenta uma altura menor que o

correspondente nível de Rede OSI. Isto representa o fato de que uma das

funções do nível de Rede OSI é realizada pelo nível de Rede TCP/IP. Esta

função é a entrega local de mensagens dentro da mesma rede. O IP só trata a

entrega e a decisão de roteamento quando o origem e o destino da mensagem

estão situados em redes distintas.

Page 11: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

11

Arquitetura OSI

Físico

Enlace

Rede

Transporte

Sessão

Apresentação

Aplicação

Arquitetura TCP/IP

Rede

Inter-redeTransporte

Aplicação

Figura 22- OSI e TCP/IP

A Figura 23 abaixo ilustra um posicionamento geral de diversos

protocolos nas arquiteturas OSI, TCP/IP e Novell Netware:

Aplicação

Apresentação

Sessão

Transporte

Rede

Enlace

Físico

DS, MHSFTAM

ISO Presentation

ISO Session

ISOTransport

C4

X.25SNDCP

LLCIEEE 802.2

IEEE 802.3IEEE 802.5 Ethernet Ethernet Ethernet

X.25

PPP

Serial

IP, ICMPIPX

SPX

DD MLID DD NDISUnix

LSL

NCP

Shell

Binding ARP

TCP, UDP

Winsock socket TLI

DNS SMTP

FTP

pingHTTP

NFS

POP

Telnet

Figura 23 – Posicionamento protocolos

2.6 EXEMPLOS DE APLICAÇÃO DE REDES COM ARQUITETURA TCP/IP

Seguem abaixo, alguns exemplos de aplicações da arquiteturas distintas

de rede baseadas em TCP/IP, como por exemplo, redes internas de empresas

Page 12: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

12

baseadas em transporte TCP/IP, serviços de redes de empresas conectados à

Internet, provedores de acesso à Internet.

Exemplo 1: Redes internas à empresa utilizando protocolos TCP/IP para

formar a estrutura de comunicação e a base das aplicações de rede (correio-

eletrônico), compartilhamento de arquivos, distribuição de informação via

hipertexto, etc… e chamadas de intranet:

Roteador principal

Hub ou switch

M

M

M

Roteador B

Servidor HTTPServidor DNS

Gerência SNMP

Servidor SMTPPOP3/ IMAP4

Servidor FTPServidor News

M

Servidor NFS, NISServidor LPD

Exemplo 2: Uma estrutura de rede TCP/IP conectada à Internet de forma

segura, através da utilização de um firewall, que realiza o filtro de pacotes IP e

o transporte de protocolo de aplicações por meio de um gateway (proxy):

Clientes

Servidor ExternoHTTP, FTP, DNS

Roteador

Acesso Remoto

Servidor SMTP/POP3Correio corporativo

Servidor HTTPDNS, FTP

FirewallFiltros, NATProxy HTTP, FTP, TelnetGateways seguros

ServidorProxy

Page 13: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

13

Exemplo 3: Um provedor de acesso à Internet, fornecendo serviços de

conexão a usuários discados e empresas por meio de ligação dedicada, além

de oferecer os serviços básicos de Internet como HTTP, SMTP, POP3, FTP,

etc…

Internet

Roteador AM

SistemaTelefônico

M M M M M...

M

Hub ou switch

M

M

M

Roteador B

Acesso IPDedicado

Acesso IPDiscado

Servidor HTTPServidor DNS

GerênciaServidor SMTPPOP3/ IMAP4Radius/Tacacs

Servidor FTPServidor News

Page 14: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

14

2.7 COMPARAÇÃO ENTRE OS MODELOS DE REFERÊNCIA OSI E

TCP/IP

Os modelos de referência OSI e TCP/IP têm muito em comum. Os dois

se baseiam no conceito de uma pilha de protocolos independentes. Além disso,

as camadas têm praticamente as mesmas funções. Em ambos os modelos, por

exemplo, estão presentes as camadas que englobam até a camada de

transporte. Nesses modelos, são oferecidos aos processos que desejam se

comunicar um serviço de transporte fim a fim independente do tipo de rede que

está sendo usado. Essas camadas formam o provedor de transporte. Mais uma

vez em ambos os modelos, as camadas acima da camada de transporte dizem

respeito aos usuários orientados à aplicação do serviço de transporte. Apesar

dessas semelhanças fundamentais, os dois modelos também têm muitas

diferenças.

É importante notar que estamos comparando modelos de referência,

independente das pilhas de protocolos correspondentes. O modelo OSI tem

três conceitos fundamentais, que são os seguintes:

1. Serviços

2. Interfaces

3. Protocolos

Provavelmente a maior contribuição do modelo OSI é tornar explicita a

distinção entre esses três conceitos. Cada camada executa alguns serviços

para a camada acima dela. A definição do serviço informa o que a camada faz,

e não a forma como as entidades acima dela o acessam ou como a camada

funciona.

A interface de uma camada informa como os processos acima dela

podem acessá-la. A interface especifica quais são os parâmetros e resultados

a serem esperados. Ela também não revela o funcionamento interno da

camada.

Finalmente, os protocolos utilizados em uma camada são de

responsabilidade dessa camada A camada pode usar os protocolos que quiser,

desde que eles viabilizem a realização do trabalho (ou seja, forneçam os

Page 15: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

15

serviços oferecidos). Ela também pode alterar esses protocolos sem influenciar

o software das camadas superiores. Essas idéias se adaptam perfeitamente

aos novos conceitos da programação orientada a objetos. Um objeto, assim

como uma camada, tem um conjunto de métodos (operações) que processos

externos ao objeto podem ativar. A semântica desses métodos define o

conjunto de serviços que o objeto oferece. Os parâmetros e os resultados do

método formam a interface do objeto. O código interno do objeto e seu

protocolo, que não e visível nem interessa aos elementos que estão fora do

objeto. Originalmente, o modelo TCP/IP não distinguiu com clareza a diferença

entre serviço, interface e protocolo, embora as pessoas tenham tentado

adaptá-lo ao modelo OSI. Por exemplo, os únicos serviços reais oferecidos

pela camada inter-redes são SEND IP PACKET (enviar pacote IP) e RECEIVE

IP PACKET (receber pacote IP). Por essa razão, os protocolos do modelo OSI

são mais bem encapsulados do que no modelo TCP/IP e podem ser

substituídos com relativa facilidade, acompanhando as tendências dos

eventuais avanços tecnológicos. Um dos principais objetivos das diversas

camadas de protocolo são as possibilidades que elas oferecem no que diz

respeito a essas mudanças.

O modelo de referência OSI foi concebido antes de os protocolos terem

sido inventados. Conseqüentemente, o modelo não foi criado com base em um

determinado conjunto de protocolos, o que o deixou bastante flexível. No

entanto, há o inconveniente de os projetistas não terem experiência com o

assunto e não terem muita noção sobre a funcionalidade que deve ser

colocada em cada camada.

Por exemplo, a camada de enlace de dados originalmente lidava com

redes ponto a ponto. Quando surgiram as redes de difusão, uma nova camada

teve de ser criada no modelo. Quando as pessoas começaram a criar redes

com base no modelo OSI e nos protocolos existentes, elas perceberam que as

especificações de serviço obrigatórias não eram compatíveis. Portanto, foi

necessário enxertar no modelo sub-camadas de convergência que permitissem

atenuar as diferenças. Como acreditava que cada país teria uma rede,

controlada pelo governo e baseada nos protocolos OSI, o comitê não se

preocupou com as conexões inter-redes. Resumindo: na prática, foi tudo muito

Page 16: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

16

diferente.

Com o TCP/IP, aconteceu exatamente o contrário: como os protocolos

vieram primeiro, o modelo foi criado com base neles. Os protocolos não tiveram

problemas para se adaptar ao modelo. Foi um casamento perfeito. O único

problema foi o seguinte: o modelo não se adaptava às outras pilhas de

protocolos. Conseqüentemente, ele não era de muita utilidade quando havia

necessidade de se escrever redes que não faziam uso do protocolo TCP/IP.

Deixando a filosofia de lado e entrando em questões mais práticas, uma

das maiores diferenças entre os dois modelos está no número de camadas: o

modelo OSI tem sete camadas e o TCP/IP, quatro. Ambos têm as camadas de

inter-rede, transporte e aplicação, mas as outras são diferentes.

Outra diferença está na área da comunicação sem conexão e da

comunicação orientada à conexão. Na camada de rede, o modelo OSI é

compatível com a comunicação sem conexão e com a comunicação orientada

à conexão no entanto, na camada de transporte, o modelo aceita apenas a

comunicação orientada à conexão, onde ela de fato é mais importante (pois o

serviço de transporte é visível para os usuários). O modelo TCP/IP tem apenas

um modo na camada de rede (sem conexão), mas aceita ambos os modelos na

camada de transporte, oferecendo aos usuários uma opção de escolha. Essa

escolha é especialmente importante para os protocolos simples de

solicitação/resposta.

Page 17: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

17

2.8 UMA CRÍTICA AO MODELO DE REFERÊNCIA TCP/IP

Os protocolos e o modelo TCP/IP também tiveram os seus problemas.

Em primeiro lugar, o modelo não diferencia com a necessária clareza os

conceitos de serviço, interface e protocolo. A boa prática da engenharia de

software exige uma diferenciação entre especificação e implementação, o que,

ao contrário do que acontece com o OSI, não acontece com o TCP/IP.

consequentemente, o modelo TCP/IP não é o melhor dos guias para se

estruturar novas redes com base em novas tecnologias.

Em segundo lugar, o modelo TCP/IP não é nem um pouco abrangente e

não consegue descrever outras pilhas de protocolos que não a TCP/IP. Seria

praticamente impossível, por exemplo, tentar descrever a SNA usando o

modelo TCP/IP.

Em terceiro lugar, a camada host/rede não é realmente uma camada no

sentido em que o termo é usado no contexto dos protocolos hierarquizado.s

Trata-se, na verdade, de uma interface (entre as camadas de rede e de enlace

de dados). A distinção entre uma interface e uma camada é crucial e você deve

considerá-la com cuidado.

Em quarto lugar, o modelo TCP/IP não faz distinção (nem menciona)

entre as camadas física e de enlace de dados. Elas são complemente

diferentes. A camada física está relacionada às características de transmissão

do fio de cobre, dos cabos de fibra óptica e da comunicação sem fio. A tarefa

da camada de enlace de dados é delimitar o início e o final dos quadros e

enviá-los de um lado a outro com o grau de confiabilidade desejado. Um

modelo mais adequado incluiria as duas camadas como elementos distintos. O

modelo TCP/IP não faz isso.

Por fim, apesar de os protocolos IP e TCP terem sido cuidadosamente

projetados e bem implementados, o mesmo não aconteceu com muitos outros

protocolos produzidos pela comunidade acadêmica. As implementações

desses protocolos eram gratuitamente distribuídas, o que acabava difundindo

seu uso de tal forma que acabava ficando difícil substituí-las- A fidelidade a

esse produtos é, atualmente, motivo de alguns embaraços. O protocolo de

Page 18: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

18

terminal virtual, o TELNET, por exemplo, foi projetado para um vídeo TTY

mecânico, capaz de processar 10 caracteres por segundo. Ele não reconhece

mouses e interfaces gráficas No entanto, esse protocolo é usado em larga

escala ainda hoje, 25 anos depois de seu surgimento.

Em resumo, apesar de seus problemas, o modelo OSI (menos as

camadas de sessão e apresentação) mostrou-se excepcionalmente útil para a

discussão das redes de computador. Por outro lado, os protocolos OSI jamais

conseguiram se tornar populares. É exatamente o contrário o que acontece

com o TCP/IP: o modelo é praticamente ignorado, mas os protocolos são

usados cm larga escala.

Page 19: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

19

3 IPv4 - A VERSÃO ATUAL DO IP

O protocolo IP foi projetado tendo como principal objetivo a ligação inter-

redes. Por isto ele é considerado como elemento integrador da Internet, através

dele é possível a conexão de diversas sub-redes. A internet é composta de

diversos backbones construídos através linhas de alta velocidades de diversos

tipos de tecnologia. A cada um destes backbones estão conectados várias

redes locais de muitas outras instituições cada uma com suas características

de sub-rede. Em muitas empresas é comum utilizar o IP, e outros protocolos de

sua família, para interligar computadores de tecnologia diferentes.

O protocolo IP providencia duas importantes definições de serviço. Uma

define a unidade básica de transferência de dados chamada de datagrama IP.

A outra define uma função de roteamento, preocupando-se como os pacotes

são endereçados e quais caminhos terão que seguir para chegarem a seu

destino.

3.1 O DATAGRAMA IPV4

Antes de começar a desenvolver sobre o Protocolo IP propriamente dito,

explicar-se-á sobre o conceito do termo datagrama.

Como foi visto anteriormente, existem dois tipos de serviços a serem

disponibilizado em uma rede: o orientado a conexão e o não orientado. No

primeiro, o fluxo de dados é feito como se existisse um duto, onde uma vez

feito a conexão inicial, os dados são colocados neste, garantindo assim uma

entrega confiável dos dados e a sua seqüencialização. Para a camada de rede,

um serviço equivalente a este tipo, costuma ser chamado de circuito virtual, em

analogia aos sistemas telefônicos. Neste serviço é necessário , então, uma

configuração obrigatória do circuito e a rota por onde os pacotes fluem é

escolhida previamente. Cada pacote é endereçado através da identificação do

circuito virtual, seguindo esta rota. No segundo, temos um fluxo de pacotes

independes chamados de datagramas. No serviço de datagrama, nenhuma

rota é preestabelecida e cada pacote é enviado independentemente. Neste

Page 20: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

20

caso, cada pacote contém os endereços completos da origem e do destino sem

se preocupar com a ordem de chegada dos mesmos. Uma outra característica

inerente ao serviço de datagrama é que este limita o tamanho dos dados a

serem transmitidos.

Um datagrama IP consiste em duas partes: o cabeçalho e a área útil de

dados. O cabeçalho, como já foi mencionado, inclui campos adicionais a

mensagem a ser transmitida de maneira que o protocolo IP possa ser

executado. Este é composto de uma parte fixa e uma parte opcional variável. A

Figura 4 mostra o formato de um datagrama IP. Logo a seguir é feita uma

descrição de cada um dos campos que formam o seu cabeçalho.

Page 21: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

21

32 BITS

VERSIO

N IHL

TYPE OF

SERVICE TOTAL LENGTH

IDENTIFICATION D

F

M

F

FRAGMENT

OFFSET

TIME TO

LIVE

PROTOCO

L HEADER CHECKSUM

SOURCE ADDRESS

DESTINATION ADDRESS

OPTIONS

DATA

Figura 4 - Formato do datagrama IPv4

O campo VERSION ( 4 bits) contém a versão do IP que foi usado para

criar o datagrama. Desta maneira checa-se a versão antes de processá-lo,

evitando-se que formato de pacotes diferentes sejam usados.

O campo HLEN ( header length ) possui quatro bits que indicam o

comprimento do datagrama em palavras de 32 bits. O seu valor mínimo é 5, o

que indica um cabeçalho variando de 20 octetos ( sem o campo OPTIONS que

é opcional ) a 60 octetos.

O TYPE OF SERVICE ( 8 bits) indica o tipo de serviço de rede que se

deseja. Como pode ser visto na Figura 5, o campo pode ser quebrado em 5 (

cinco) sub-campos. Os três primeiros bits correspondem ao sub-campo

PRECEDENCE que diz a prioridade de cada datagrama àquele que enviará os

Page 22: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

22

dados. O valor 1 indica prioridade normal, e 7 a mais alta prioridade que é

utilizada para pacotes de controle de rede. Os bits D, T e R especificam

respectivamente, o que é mais importante no envio do pacote: retardo, taxa de

envio e confiabilidade. Desta maneira pode-se escolher prioridades de tipos de

links diferentes de acordo com o desejado. Os dois últimos bits não são

utilizados. Na prática os roteadores ( equipamentos utilizados para especificar

rotas aos datagramas ) ignoram totalmente todas as opções do campo TYPE

OF SERVICE, pois é necessário um conhecimento prévio da tecnologia dos

links utilizados.

0 1 2 3 4 5 6 7

PRECEDENCE D T R Não Usados

Figura 5 - Os cinco sub-campos do campo SERVICE TYPE

O campo TOTAL LENGTH indica o tamanho total do datagrama,

incluindo cabeçalho e dados, em octetos. O valor máximo que lhe é atribuído é

de 65.535 bytes. Nas tecnologias de redes existentes este valor é suficiente,

porém, com a utilização de redes de altíssima velocidade é um fator limitante.

Antes de falar sobre os próximos campos, seria interessante visualizar

como os datagrama relacionam-se com os quadros da sub-rede.

Verificou-se anteriormente que o datagrama poderia ter um tamanho de

até 65.535 octetos, porém na prática, existem outros limites fundamentais.

Sabe-se que os datagramas, movem-se de uma máquina para outra, e que

estes devem ser transportados pela camada de sub-rede. Para fazer um

transporte eficiente é preciso que cada datagrama seja transportado em um

quadro distinto desta camada. Este processo denomina-se encapsulamento.

Ao tamanho máximo do quadro suportado por uma camada de sub-rede

denomina-se MTU ( maximum transfer unit ).

O protocolo IP implementa uma maneira dos datagramas trafegarem em

meios físicos que não podem contê-lo completamente. O datagrama é

fragmentado em pedaços menores que serão logo depois remontados, com

Page 23: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

23

isto, ele não fica limitado a pedaços pequenos de acordo com a tecnologia de

hardware utilizada. Cada fragmento contém a duplicação dos campos do

cabeçalho que o originou, exceto pelos que dizem tratar-se de um fragmento.

Para fazer isto, ele utiliza os campos IDENTIFICATION, MF, DF e

FRAGMENT OFFSET, como é explicado a seguir.

O campo IDENTICATION (16 bit's), permite no caso de uma

fragmentação, o destino identificar a qual datagrama pertence o fragmento,

utilizando-se deste e do endereço daquele que o originou.

O bit DF indica que o Datagrama não deve ser fragmentado. Garantindo

que isto não ocorrerá, mesmo que se tenha um desempenho baixo se o

mesmo for forçado a passar por uma rede lenta.

O bit MF indica que existem mais fragmentos a seguir. Todos os

fragmentos devem tê-los setados, menos o último.

O campo FRAGMENT OFFSET indica a que ponto do Datagrama

original o fragmento pertence. Todos os fragmentos devem ser múltiplos de 8

bytes.

O campo TIME TO LIVE representa o tempo de processamento dos

pacotes em segundos. Cada roteador ao processar o datagrama decrementa o

tempo gasto para este processamento, se alcançar zero o datagrama é

descartado. Com a dificuldade dos roteadores saberem detalhes do tempo de

transmissão sub-redes, na prática ao passar pelos mesmos, este campo é

decrementado de 1. Garantindo, assim, que um datagrama não trafegue

indefinidamente pela rede caso haja uma rota em loop, ou seja, um caminho

que seja cíclico.

O campo PROTOCOL especifica qual protocolo de transporte foi

utilizado para criar os dados transportados pelo datagrama. É utilizado para

entregar o dados diretamente ao tipo do protocolo que o criou.

O campo HEADER CHECKSUM garante a integridade do cabeçalho.

Este processo é feito considerando o cabeçalho como uma seqüência de

inteiros de 16 bits, onde soma-se eles utilizando aritmética de complemento de

1 e depois calcula-se o complemento de 1 do resultado. Se o valor der 0, não

houve erro no cabeçalho.

Page 24: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

24

Os campos SOURCE IP ADDRESS e DESTINATION IP ADDRESS (32

bits), contém respectivamente os endereços do host de origem e do host de

destino. Apesar destes passarem por muitos equipamentos intermediários (

roteadores) os mesmos não se modificam. Discutiremos as formas de

endereçamento nos capítulos seguintes.

O campo OPTIONS não é requerido em todos os datagramas. Foi criado

inicialmente para permitir novas implementações ao projeto original. O

comprimento deste campo depende de quais opções foram selecionadas.

Algumas possuem somente 1 octeto, outras possuem comprimentos variáveis.

Quando presentes no datagrama, as opções aparecem de forma contígua e

sem separadores. Cada opção consiste de 1 octeto simples que representa o

OPTION CODE, que pode ser seguido de um outro octeto LENGTH e um

conjunto de octetos de dados.

O OPTION CODE é dividido em 3 sub-campos, como pode ser visto na

Figura 6. O primeiro campo, o COPY, controla como os roteadores devem

tratar as opções durante a fragmentação. Quando tem o seu valor 1 especifica

que a opção será copiada em todos os fragmentos, quando 0, somente no

primeiro. O OPTION CLASS indica as várias classes de opções. Os outros dois

representam as várias sub-opções dentro desta mesma classe.

0 1 2 3 4 5 6 7

COPY OPTION CLASS OPTION NUMBER

Figura 6 – Sub-campos do OPTION CODE

OPTION

CLASS

Classes

0 Controle de datagrama ou de rede

1 Reservado para uso futuro

2 Medidas e depuração

3 Reservado para uso futuro

Page 25: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

25

OPTIO

N CODE

OPTION

NUMBER

Comprimento

da opção

Descrição

0 0 ------------------

---------

Fim das opções.

Indica que as opções

Terminaram, a partir daí

é colocado bytes para

completar o cabeçalho.

0 1 ------------------

---------

Sem operação.

Usados para alinhar

octetos em uma lista de

opções

0 2 11 palavras

de 32 bit’s

Security. Usado

para implementar

segurança.

0 3 Variável Loose Source

Route. Usado para

encaminhar um

datagrama ao longo de

um caminho

especificado.

0 7 Variável Record Route.

Usado para registrar as

rotas.

0 9 Variável Strict Source

Route. Usado para

encaminhar um

datagrama ao longo de

um caminho

especificado.

Page 26: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

26

2 4 Variável Intert Timestamp.

Usado para registrar o

tempo em cada roteador.

A opção Record Route permite a criação de uma lista vazia de endereço

IP e cada roteador anexa seu endereço nesta. É utilizada para fins de

depuração de endereços.

O Source Route provê uma maneira de indicar o caminho que deve ser

seguido pelo datagrama, isto é feito para verificar taxa de envio de dados de

uma rede obrigando-a a seguir por um caminho a ser testado, para enviar

pacotes de emergência ou evitar rotas por questões políticas ou econômicas.

Existem duas variações desta opção, o Strict e o Loose. No Stict é

fornecido um caminho completo a ser seguido e o datagrama é obrigado a

passar por ele. No Loose, o pacote percorre por uma lista de roteadores

específicos e é permitido que ele passe por outros intermediários.

Timestamp trabalha como o Record Option .Cria uma lista vazia que é

preenchida com o roteador e um tempo relativo a ele. Esta opção elimina a

ambigüidade, pois, o registro do roteador e seu timestamp permite que se

possa saber exatamente qual caminho o datagrama seguiu.

Security informa o nível da segurança da informação. Não utilizado na

prática, pois informa justamente quais informações são mais interessantes para

alguém com más intenções.

Page 27: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

27

4 ENDEREÇAMENTO IP

4.1 IDENTIFICADORES UNIVERSAIS

Diz-se que um sistema provê um serviço de comunicação universal

quando é possível a quaisquer dos elementos deste sistema se comunicarem

arbitrariamente. Para tornar um sistema de comunicação universal, devemos

estabelecer um método globalmente aceito para identificação dos componentes

a ele conectados.

Nas redes TCP/IP, a entidade que atua como identificador universal é o

endereço IP, um número de 32 dígitos binários. A idéia básica de seus

mentores era a de tornar o roteamento simples e eficiente. É verdade que a

manipulação deste tipo de número traz grande facilidade para o nível de

software, mas seu tratamento não é tão simples para um humano.

4.2 TRÊS CLASSES PRIMÁRIAS DE ENDEREÇO

Podemos pensar na Internet como uma gigantesca rede de

computadores como qualquer outra rede física. A grande diferença, entretanto,

está no fato de que a Internet é uma estrutura virtual, concebida por seus

desenhistas e implementada inteiramente em software. Assim, os projetistas

tiveram liberdade de arbitrar o tamanho e formato dos pacotes, endereços,

técnicas de roteamento, etc. Nada é ditado pelo hardware. Na questão do

endereçamento, optou-se por um esquema análogo ao das redes

convencionais, onde a cada host é atribuído um número inteiro que será seu

endereço - no caso o endereço IP. A grande vantagem no esquema de

endereçamento da Internet é que ele foi cuidadosamente concebido para

simplificar a tarefa de roteamento.

Cada máquina ligada à Internet possui um endereço de 32 bits, que se

divide em duas partes: uma primeira que identifica a rede a qual esse

computador está fisicamente conectado e uma segunda parte que identifica o

computador propriamente dito. Observe que todas as máquinas conectadas a

Page 28: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

28

uma mesma rede irão compartilhar essa primeira parte, que se convencionou

chamar net id (identificador da rede). Analogamente, à segunda porção do

endereço IP chamamos host id (identificação da máquina).

Em termos práticos, cada endereço IP deverá estar contido em uma das

cinco categorias representadas na Figura 7. A classe de um endereço pode ser

identificada através do exame dos quatro bits de mais alta ordem, sendo que

as três classes básicas (A, B e C) podem ser distinguidas apenas pelos dois

primeiros. A classe A, usada para um pequeno número de redes que contêm

mais de 65.535 hosts, reserva 7 bits para o net id e 24 bits para o host id. Os

endereços da classe B se destinam a redes de tamanho intermediário (entre

256 e 65535 máquinas) e reservam 14 bits para o net id e 16 bits para o host

id. Finalmente, a classe C, apropriada para pequenas redes, aloca 21 bits para

o net id e apenas 8 bits para o host id. Observe que os endereços IP são

estruturados de forma a permitir uma rápida extração da identificação da rede

(net id) e da máquina a ela conectada (host id). Os gateways dependem da

extração eficiente do net id para realizar o roteamento dos pacotes IP.

Figura 7 – Categorias IP

Ainda há pouco, dissemos que os endereços IP identificam um host.

Essa afirmativa simplifica o tratamento do assunto mas não é estritamente

correta. Considere um gateway que conecta duas redes. Como poderemos

atribuir a essa máquina um único endereço IP, contendo uma identificação da

rede e do host? Na verdade, não podemos. Máquinas como a deste exemplo,

possuem não um, mas múltiplos endereços IP (dois, no caso). Cada um de

seus endereços identifica uma conexão de rede. Numa definição mais precisa,

Page 29: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

29

portanto, endereços IP não definem hosts, mas conexões a uma rede.

Máquinas conectadas a n redes, possuirão n endereços IP.

4.3 ENDEREÇO DE UMA REDE E ENDEREÇO DE DIFUSÃO

(BROADCAST)

Já mencionamos a maior vantagem em codificar informação sobre a

rede num endereço Internet: possibilitar um roteamento eficiente. Outra

vantagem, é que os endereços IP podem se referir tanto a hosts quanto a

redes. Por convenção, um host id 0 nunca é atribuído a uma máquina. Ao invés

disso, esse endereço com os bits do host id todos zerados irá se referir à rede

propriamente dita.

Outra vantagem do esquema de endereçamento da Internet é que ele

permite que se faça referência a todos os hosts de uma determinada rede

através do chamado endereço de difusão. Um endereço de broadcast é aquele

em que os bits do host id são todos 1. Nem todas as redes suportam a difusão,

algumas irão precisar de implementação de software e outras não permitirão

esta facilidade nem mesmo a nível de software.

4.4 DIFUSÃO LOCAL

O endereço de broadcast que acabamos de descrever é chamado de

Endereço de Difusão Direcionada já que contém um net id válido (isto é, um

endereço de uma rede existente) e um host id indicando broadcast. O endereço

de difusão permite que um sistema remoto mande um pacote para todos os

nós de uma determinada rede.

Do ponto de vista do endereçamento, a grande desvantagem deste

esquema é que ele requer o conhecimento do endereço de rede. Outra forma

de endereço de difusão de pacotes é chamada endereço de difusão limitada ou

endereço de difusão local. Este endereço consiste de 32 bits iguais a 1. Esse

mecanismo possibilita a referência a todas as máquinas de uma rede local sem

que os endereços IP reais sejam conhecidos.

Page 30: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

30

4.5 ENDEREÇOS DE REFERÊNCIA À PRÓPRIA REDE E AO PRÓPRIO

HOST.

Já podemos perceber que campos de endereço preenchidos somente

com 1's indicam "todos". Um endereço com 32 bits 1, indica todas as máquinas

desta rede e um endereço com todos os bits do host id iguais a 1 indica todas

as máquinas de uma determinada rede (especificada no net id). Analogamente,

campos preenchidos com 0's são geralmente interpretados como significando

"este". Assim, um endereço com 32 bits 0, indica o próprio host (este host) e

um endereço com todos os bits do net id iguais a zero, se refere à rede local

(esta rede).

4.6 ENDEREÇO DE MULTICAST

Muitas tecnologias de rede contêm mecanismos que permitem o envio

simultâneo (ou quase simultâneo) de pacotes a múltiplos destinatários. Até

agora, abordamos um destes mecanismos, conhecido com difusão. Na difusão

é enviada uma cópia de um pacote para todos os nós de uma rede. Em redes

de barramento (como a Ethernet) isso pode ser alcançado com o envio de um

único pacote (capturado por todos os hosts). Em outras topologias, com

conexões ponto-a-ponto, esse pacote deverá ser replicado para alcançar todos

os hosts.

Algumas redes suportam um segundo tipo de comunicação ponto multi-

ponto, conhecido com multicast. Ao contrário do broadcast, a técnica de

multicast permite que cada host "escolha" se deseja ou não participar daquele

"canal". Quando um grupo de máquinas decide se comunicar, elas selecionam

um endereço de multicast que será, então, o seu canal de comunicação.

Na Internet, quando um determinado grupo de máquinas (que podem

estar conectadas a redes distintas) deseja criar um grupo de multicast, elas

devem todas "sintonizar", isto é, configurar suas interfaces para receber

pacotes enviados para um mesmo endereço. Esse endereço deverá pertencer

Page 31: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

31

à Classe D. Assim, cada endereço entre 224.0.0.0 e 239.255.255.255 (mais de

268 milhões de alternativas!) pode ser usado por um determinado grupo de

multicast.

A idéia é que hosts podem, a qualquer momento, conectar-se ou

desconectar-se de um grupo de multicast. A técnica de multicasting traz, como

vantagem sobre a difusão, uma melhor seletividade. Isto é, os dados só serão

enviados aos hosts necessários. E mais, os hosts alcançados não precisam

pertencer a uma mesma rede física. Entretanto, sua implementação é mais

complexa pois necessita de hardware especializado.

4.7 FRAQUEZAS DO ENDEREÇAMENTO IP

Um das desvantagens do esquema de endereçamento da Internet é

que, como um endereço IP se refere a uma conexão de rede (e não a um host),

quando uma máquina muda de uma rede para outra, ela deve mudar de

endereço IP. Isso traz uma grande barreira à conexão de hosts móveis (como

computadores portáteis) que precisem de IPs fixos à Internet.

Uma limitação menos importante está no fato de que redes classes C

que crescam para além de 255 hosts devem ser realocadas para a classe B. O

que implica uma mudança de todos os endereços.

A maior fraqueza, entretanto, surge quando analisamos cuidadosamente

uma situação especial de roteamento de pacotes na Internet. Já dissemos que

as decisões de roteamento (i.e. para que canal entre diversas possibilidades

um pacote deve ser mandado) dependem da extração do net id. Considere

uma máquina conectada a duas redes (Rede 1 e Rede 2). Como o roteamento

de pacotes para este host será determinado pelo seu net id (e ele possui dois

distintos), o caminho tomado por um pacote que se destina a essa máquina irá

depender do endereço usado pelo remetente. Assim, parâmetros, como o

tempo de resposta na comunicação, irão variar de acordo com a interface que

seja endereçada. Essa multiplicidade de caminhos pode trazer consequências

pouco óbvias. Um host pode deixar de ser acessível por um de seus endereços

IP, caso haja algum impedimento físico em uma das redes a que ele está

Page 32: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

32

conectado. Uma outra máquina que conheça apenas esse endereço

(desativado) e se comunique com este host através dele não poderá mais fazê-

lo, embora o host ainda esteja ligado a Internet.

4.8 NOTAÇÃO DECIMAL

Números de 32 bits não são facilmente manipuláveis por seres

humanos, e mesmo os programas da camada de aplicação não tratam

diretamente com este tipo de representação. Uma forma mais inteligível de

representar endereços IP é a de particioná-lo em quatro octetos convertidos

para a notação decimal e separados por pontos.

Desta forma, o binário

11000000 11000110 00001011 10000001

passa a ser tratado como

192.198.11.129

Pode-se também atribuir nomes alfabéticos a hosts, facilitando ainda

mais sua memorização. Esta tradução é apoiada por um protocolo específico

que atua sobre uma imensa base de dados distribuída conhecida como Domain

Name System. O DNS é um assunto de complexidade, que merece um curso

exclusivamente dedicado a ele.

Por questões de simplificação pode-se representar um endereço IP de

32 bits agrupando-os em grupos de 8 bits e representando estes grupos em

valores decimais. Por exemplo o endereço

11001000100010011000001100000010 representado em forma de ponto

decimal seria 200.137.131.2.

Classe A 1.0.0.0 até 127.255.255.255

Page 33: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

33

Classe B 128.0.0.0 até 191.255.255.255

Classe C 192.0.0.0 até 223.255.255.255

Classe D 224.0.0.0 até 239.255.255.255

Classe E 240.0.0.0 até 247.255.255.255

4.9 ENDEREÇO DE LOOPBACK

O endereço 127.0.0.0 é reservado à aplicação de loopback. Isto é,

qualquer pacote enviado a este endereço não deve trafegar na rede, mas

retornar ao próprio remetente (isto equivale a dizer que o pacote retornará da

própria interface de rede do host). O endereço de loopback se presta a testes e

comunicação entre processos que rodam numa mesma máquina.

4.11 ENDEREÇAMENTO DE SUB-REDE

Uma técnica que permite que se partilhe um mesmo endereço de rede

entre diversas redes é o endereçamento de sub-rede. Vamos imaginar uma

instituição a qual foi atribuído um endereço classe C mas que possui diversas

redes interconectadas em suas instalações. Como partilhar este endereço

entre estas diversas redes?

A adição de sub-redes implica uma nova subdivisão do endereço IP. O

sufixo designador do host (host id) é dividido em duas partes: a primeira

designará uma sub-rede, e a segunda um host a ela conectado.

O problema básico que surge quando realizamos esta nova divisão é

que o esquema convencional de roteamento, que procura extrair a porção que

designa a rede, deixa de funcionar. Para suplantar esta dificuldade, introduz-se

no sistema de roteamento uma nova entidade: a máscara de sub-rede.

A máscara de sub-rede é um número de 32 bits que, aplicado (através

de um "e" lógico) a um determinado endereço, permite a extração de sua

Page 34: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

34

"porção de rede". Isto é, ele possui bits 1 nas posições correspondentes a esta

"porção de rede". Para uma rede classe C sem sub-redes a máscara seria:

11111111 11111111 11111111 00000000

que em notação decimal corresponde a:

255.255.255.0

Qual seria a máscara de sub-rede usada para extrair a "porção de rede"

num classe C partilhado entre quatro redes? Observe que, para podermos

realizar a partilha, os dois bits mais significativos do último octeto irão ser

usados para determinar a sub-rede. A máscara deverá então extrair os três

primeiros octetos e estes dois bits adicionais. A máscara seria:

11111111 11111111 11111111 11000000

correspondente a:

255.255.255.192

Esse é o número que aplicado a um determinado endereço IP irá

resultar na extração da porção deste endereço sobre a qual iremos "resolver" o

roteamento.

A utilização de máscaras é tão importante na Internet, que qualquer

administrador de redes, independente de utilizar ou não sub-redes, irá lidar

com esse parâmetro quando configurar seus gateways.

4.11.1 Distribuição Geográfica de Endereços

Além de utilizar as classes de redes vistas anteriormente, os endereços

classes C, por serem em grande quantidade, são divididos geograficamente.

Cada região recebe uma faixa destes que visa facilitar a tarefa de designação

das rotas até o destino ( roteamento ).

Page 35: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

35

Faixa de endereços Localidade

194.0.0.0 a 195.255.255.255 Europa

198.0.0.0 a 199.255.255.255 América do Norte

200.0.0.0 a 201.255.255.255 América Central e América do Sul

202.0.0.0 a 203.255.255.255 Ásia e a região do Pacífico

Por exemplo, um roteador americano que recebe um pacote cujo destino

é Londres, o envia ao roteador padrão europeu, que terá mais detalhes sobre

como encontrar o destino. Esta técnica impede que os roteadores tenham de

saber a localização de todos os endereços classe C na rede mundial.

4.11.2 Implementação de Sub-redes com Máscara

Os bits 1 representa a parte correspondente a rede + sub-rede. Os bits 0

representa o pedaço que será utilizado para identificar cada um dos hosts. Na

rede especificada no exemplo anterior, tem-se os primeiros 22 bits para

representar rede + sub-rede, e os dez últimos para endereçar os hosts nesta

rede. A máscara de sub-rede também, pode ser especificada utilizando a

mesma notação decimal por ponto, que no exemplo daria 255.255.252.0 . Dado

um endereço completo do host e sua máscara de sub-rede uma função AND

entre os dois, indicará a porção de rede deste. Por exemplo, um certo host, que

utiliza esta mascara é endereçado por 186. 183.174.2 , aplicando um AND

lógico entre este e a sua mascara obtém-se o endereço da sub-rede:

186.183.174.0. A faixa de endereço completa é de 186. 183.174.0 até 186.

183.177.255 excluindo os mesmos.

4.11.3 Super-redes

Page 36: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

36

Como pode-se notar a divisão de redes utilizando classes, tem como

diferença a grande quantidade de endereços entre as classes. A "C" é pequena

demais para a maioria das empresas e a "B" muito grande.

Em oposição ao esquema de divisão do IP em classes, surge o CIDR (

Classless Inter-Domain Routing). Este esquema de endereçamento consiste

em alocar as redes classes "C" restante em blocos de tamanhos variáveis.

Sendo assim, se um site precisar de 2.000 endereços receberá um bloco de

2048 correspondente a oito blocos classe "C" de maneira contígua, ao invés de

uma classe "B" completa. O endereço então é representado pelo par: (rede,

numero).

Por exemplo a rede (192.20.8.0,4) possui a faixa de endereços

correspondente as redes 192.20.8.0, 192.20.9.0, 192.21.0.0 e 192.21.1.0

possuindo como máscara de super-rede 255.255.252.0.

4.11.4 Exemplo de Redes

As Figuras 8 e 9 respectivamente abaixo mostram exemplos de

endereçamento de máquinas situadas na mesma rede e em redes diferentes.

Pode ser observado que como o endereço começa por 200 (ou seja, os dois

primeiros bits são 1 e o terceiro 0), eles são de classe C. Por isto, os três

primeiros bytes do endereço identificam a rede. Como na Figura 8, ambas as

estações tem o endereço começando por 200.18.171, elas estão na mesma

rede. Na Figura 9, as estações estão em redes distintas e uma possível

topologia é mostrada, onde um roteador interliga diretamente as duas redes.

Rede = 200.18.171.0

200.18.171.37 200.18.171.148

Estação A Estação B

Page 37: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

37

200.18.171.0 200.18.180.0

200.18.171.37

200.18.171.148 200.18.180.10

200.18.180.200

Estação A Estação BRoteador

A Figura 10 abaixo ilustra um diagrama de rede com o endereçamento

utilizado. Note que não há necessidade de correlação entre os endereços

utilizados nas redes adjacentes. O mecanismo para que uma mensagem

chegue na rede correta é o roteamento. Cada elemento conectando mais de

uma rede realiza a função de roteamento IP, baseado em decisões de rotas.

Note que mesmo os enlaces formados por ligações ponto-a-pontos são

também redes distintas.

Neste diagrama existem 6 redes, identificadas por 200.1.2.0, 139.82.0.0,

210.200.4.0, 210.201.0.0, 10.0.0.0 e 200.1.3.0.

200.1.2.0

200.1.2.1 200.1.2.20 200.1.2.35

139.82.5.3139.82.5.14

139.82.5.15139.82.5.129

210.201.0.1

139.82.5.0

210.200.4.0

210.200.4.56210.200.4.57210.201.0.0

210.201.0.3

10.0.0.1 10.0.0.2

200.1.3.0

210.200.4.3

200.1.3.2

200.1.3.1

Page 38: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

38

4.12 SUB-REDES

Existem casos em que é necessário subdividir uma rede em redes

menores. Imagine o administrador de uma rede classe A: como montar e

administrar uma rede com 16 milhões de equipamentos?

Mesmo redes classe C algumas vezes têm de ser sub-dividida em mais

de uma rede física. Para esses casos, em que é preciso subdividir uma

determinada rede em sub-redes, foi criada a máscara de rede (subnet mask). A

máscara de rede define quantos bits são utilizados para o endereço de rede e

quantos bits são utilizados para especificar o endereço de equipamento, dentro

dessa sub-rede.

Além do endereço IP cada equipamento passa a ter também uma

máscara de rede. A máscara de rede tem o mesmo formato do endereço IP

(número de 32 bits, representado por quatro números decimais, separados por

ponto). Quando não são utilizadas sub-redes, informa-se a máscara default da

rede classe A, B ou C, conforme o caso.

Por exemplo, para subdividir uma rede classe A em 256 sub-redes,

utiliza-se a máscara 255.255.0.0. A rede 15.0.0.0, com a máscara 255.255.0.0,

passa a ser dividida nas seguintes sub-redes: 15.0.0.0, 15.1.0.0, 15.2.0.0, e

assim por diante, até 15.255 0.0.

Pode ser necessário subdividir uma rede classe C. Como nesse caso

não é possível utilizar um byte inteiro para endereço de sub-rede, utilizam-se

alguns bits do último byte do endereço IP para endereçar a sub-rede.

Se precisarmos subdividir a rede 200.245.29.0 em quatro sub-redes,

utilizamos a máscara 255.255.255.192, pois "192" corresponde ao número

Page 39: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

39

"1100 0000" em binário, o que indica que os dois primeiros bits endereçam a

sub-rede, e que as sub-redes possíveis são "0000 0000" (0), "0100 0000" (64),

"1000 0000" ( 128) e "1100 0000" (192).

Ou seja, com a máscara de rede 255.255.255.192 é possível subdividir a

rede 200.245.29.0 nas seguintes sub-redes: 200.245.29.0, 200.245.29.64,

200.245.29.128 e 200.245.29.192. Cada sub-rede pode endereçar até 62

equipamentos (lembrando que um endereço é usado para identificar a ede e

outro para a comunicação em broadcast).

Page 40: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

40

A tabela abaixo relaciona as máscaras de rede possíveis para subdividir

uma rede classe C, com o número de sub-redes e o número de equipamentos

que cada máscara permite endereçar.

Por exemplo, para dividirmos uma rede classe C em seis sub-redes de

quinze equipamentos cada, a solução é utilizarmos a máscara

255.255.255.224, que divide uma rede classe C em oito sub-redes com até

trinta endereços válidos para cada rede.

A máscara também pode ser representada como o número de bits

utilizados para endereçar a parte de rede, após o endereço IP (endereço_IP/

número_de_bits). Exemplo :

Essa notação é utilizada por alguns fabricantes, e é conhecida como

CIDR, de Classless Inter-Domain Routing.

Page 41: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

41

4.13 PLANEJAMENTO DE UM ESQUEMA DE ENDEREÇAMENTO

Normalmente, o provedor de backbone (ou a empresa pela qual sua

empresa se conecta à Internet) fornece uma faixa de endereços IP . Após a

definição dessa faixa, deve ser feito um planejamento da utilização dos

endereços IP . Caso seja necessário utilizar sub-redes, define-se o número de

sub-redes e o número de hosts para cada sub-rede. Em seguida, divide-se o

último byte do endereço IP em duas partes, uma para a sub-rede e outra para o

host. Depois disso, determina-se a máscara de rede a ser utilizada. Para a

máscara 255.255.255.240 divide-se o Ultimo byte em duas partes :

Nesse exemplo, para cada um desses valores de sub-rede, somente

catorze endereços são disponíveis para hosts, pois somente a parte direita do

byte pode ser usada, e o primeiro e o último endereço de cada sub-rede têm

significado especial.

Page 42: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

42

O primeiro endereço de cada sub-rede indica o endereço da própria sub-

rede, portanto não pode ser utilizado para endereçar um host.

O último endereço de cada sub-rede é o endereço de broadcast (esse

endereço é utilizado quando se deseja enviar informações a todos os

equipamentos da subrede), portanto esse endereço também não pode ser

utilizado para endereçar um host.

Assim, a sub-rede 192.67.32.16 (máscara 255.255.255.240) poderá

conter hosts nas faixas de endereço de 192.67.32.17 até 192.67.32.30 e a sub-

rede 192.67.32.32 poderá conter hosts na faixa de 192.67.32.33 até

192.67.32.46, etc.

Page 43: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

43

5. PROTOCOLOS DE ROTEAMENTO

5.1 CONCEITO

As redes locais podem interligar-se por meio de nós comuns, que são

chamados de roteadores. Ou, ainda, a conexão entre duas redes locais pode

ser um enlace entre dois roteadores, sendo cada roteador um nó de uma das

redes.

Se um pacote de dados tiver que ser encaminhado a um nó situado em

outra rede local, ele passará por um ou mais roteadores no caminho. Cada

roteador decidirá apenas a qual dos seus enlaces encaminhará o pacote. Esta

parte do trajeto total do pacote é um hop. O hop seguinte no trajeto do pacote

será decidido pelo roteador existente na outra extremidade do enlace.

Para executar o roteamento de um pacote, o roteador precisa de uma

tabela de roteamento que, para cada nó da rede a ser alcançado, indique o

próximo hop que o pacote deve seguir.

Por exemplo, consideremos a rede cujos roteadores, respectivos

enlaces e seus custos aparecem na Figura 11. A tabela de roteamento do

roteador R1 , construída pelo critério de menor custo, é dada a seguir.

Page 44: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

44

Figura 11 – Tabela de Roteamento

As rotas da tabela de roteamento podem ser estáticas ou dinâmicas. As

rotas estáticas são configuradas pelo administrador da rede. Na ocorrência de

falhas ou na ampliação da rede é necessário reconfigurar manualmente as

tabelas de roteamento de todos os roteadores vizinhos.

Já as rotas dinâmicas são constantemente atualizadas por protocolos de

roteamento. Nesse caso, na ocorrência de falhas ou na ampliação da rede, o

protocolo de roteamento detecta a mudança de topologia da rede e atualiza as

tabelas de roteamento nos roteadores envolvidos. Esse processo é muito mais

rápido do que a reconfiguração manuaI.

Os protocoIos de roteamento classificam-se, de acordo com o algoritmo

de mapeamento das rotas, em distance vector e link state.

Além disso, os protocolos de roteamento podem ser classificados de

acordo com a sua cobertura da rede ou de acordo com as "regiões

administrativas", que podem ser internas (Interior Gateway Protocols) ou

externas (Exterior Gateway Protocols).

Tendo em vista essa última classificação, convém definir o conceito de

sistema autônomo. Um sistema autônomo é uma coleção de roteadores e de

redes sujeitos a um único controle administrativo, por exemplo, um backbone.

• Algoritmos distance vector

Os algoritmos do tipo distance vector difundem a informação de

roteamento para os roteadores na rede.

Page 45: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

45

Os roteadores que usam aIgoritmos desse tipo mantêm apenas uma

tabela de roteamento com a informação necessária para atingir o próximo

roteador na direção de cada um dos roteadores existentes na rede. Cada elo

até o roteador mais próximo numa dada direção chama- se next hop.

Esses roteadores trocam periodicamente informações a respeito das

suas tabelas de roteamento mesmo que elas não tenham sido alteradas desde

a última troca de informações.

• Algoritmo link state

Os algoritmos do tipo link state geram e mantêm um mapa lógico de

toda a rede . Um roteador desse tipo realiza essa tarefa por meio do envio de

um pacote com informações sobre todos os seus enlaces (conexões para

redes e conexões para outros roteadores) para todos os outros roteadores link

state existentes na rede.

Esse procedimento é chamado de flooding. Cada roteador usa essas

informações para construir um mapa da rede, sendo concluído quando todos

os roteadores atingirem o mesmo mapa da rede. Os roteadores link state

somente retransmitem informações entre si quando ocorre uma mudança na

rota ou no serviço.

5.2 RIP

O Routing Infonoation Protocol (RIP) é um protocolo do tipo distance

vector usado nas redes TCP/IP.

Um roteador com protocolo RIP habilitado transmite periodicamente uma

mensagem de atualização de roteamento, que possui um dado para cada rede

que pode alcançar, representando o custo de acesso a ela. Os roteadores RIP

"escutam" todas as mensagens de broadcast do protocolo RIP .

Cada dado recebido numa mensagem de atualização de roteamento é

incorporado à tabela de roteamento. O roteador que enviou a mensagem de

Page 46: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

46

atualização é identificado como o próximo roteador (next hop router) da rota

para o destino, cuja distância de acesso é representada pelo dado em questão.

Se um roteador for informado da existência de duas rotas de acesso a uma

mesma rede, ele mantém na tabela de roteamento apenas o próximo hop e a

distância da rota de caminho mais curto. O RIP usa como distância a contagem

dos hops, ou seja, o número de roteadores existentes no caminho até o

destino. essa, distância está limitada em quinze hops.

A partir do momento em que uma rota é memorizada na tabela de

roteamento, sua existência precisa ser verificada a intervalos regulares. Os

roteadores RIP normalmente transmitem uma mensagem de atualização de

roteamento contendo todas as rotas a cada 30 segundos. Sempre que uma

rota é atualizada em conseqüência de uma mensagem de atualização de

roteamento, dispara-se um temporizador. Se não for recebida nenhuma

mensagem de atualização da rota dentro de 180 segundos, a rota é

considerada inativa em decorrência de uma falha de rede ou de nó (métrica 16,

usada para esse fim), retirada da tabela de roteamento e divulgada (como

removida) para os vizinhos por 120 segundos.

5.3 RIP II

O RIP II é um aprimoramento do RIP que inclui máscara de rede nas

suas rotas. A falta de máscara de rede limita o RIP I (ou simplesmente RIP) à

divulgação de rotas de rede apenas ou leva os roteadores RIP a fazer

hipóteses sobre a máscara de rede. Quando o RIP I é usado numa rede com

sub-redes, todas as sub-redes são forçadas a usar a mesma máscara. O RIP II

pode ser utilizado em topologias de rede que exijam o uso de máscaras de

rede com comprimentos variáveis, podendo suportar a sub-rede zero. Porém,

nem todos os roteadores RIP suportam o RIP II. O RIP II também suporta

autenticação de seus pacotes por password, evitando a adulteração destes em

seu trajeto pela rede.

Page 47: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

47

5.4 OSPF

Open Shortest Path First (OSPF) é um protocolo de roteamento interno

do tipo, link state (Dijkstra link state), que faz parte do conjunto de protocolos

TCP/IP .

Os roteadores do tipo link state trocam informações sobre a topologia da

rede, incluindo o estado de funcionamento de cada enlace e a distância

associada entre seus roteadores. Com esses dados trocados, cada roteador

constrói o seu mapa da rede, que utiliza para a extração dos dados

necessários para o roteamento.

Os protocolos do tipo distance vector demandam dos roteadores

vizinhos a troca das distâncias de cada um a todos os outros roteadores da

rede.

Para cada destinatário, os roteadores OSPF consultam a sua base de

dados de link state e selecionam a rota que proporcione o caminho mais curto.

Na seqüência, as informações de link state são compartilhadas com

outros roteadores em diferentes áreas, de acordo com a relação que guardam

entre si.

Para fins administrativos, a rede OSPF pode ser subdividida em várias

regiões ou áreas. Todos os roteadores da mesma área trocam entre si todas as

informações sobre o estado completo dos enlaces. As informações trocadas

entre roteadores de áreas diferentes consistem apenas em um resumo da

topologia.

5.5 COMPARAÇÃO ENTRE OS PROTOCOLOS DE ROTEAMENTO RIP E

OSPF

A tabela a seguir resume os principais aspectos dos protocolos RIP, RIP

11 e OSPF comparando-os entre si.

Page 48: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

48

O RIP, apesar de sua facilidade de configuração, é recomendado

apenas para pequenas redes (algo em torno de quarenta ou cinqüenta

roteadores no máximo).Sua grande vantagem é que, por ser um protocolo

simples, é implementado pela grande maioria de roteadores e sistemas

operacionais, o que não ocorre com o OSPF que é bem mais complicado de se

configurar que o RIP, porém apresenta várias vantagens em relação a este,

tais como: organização hierárquica, segurança contra ataques de informações

de roteamento, redução de overhead, convergência de rotas mais rápida e

maior tolerância a falhas. Embora apresente maior dificuldade inicial de

aprendizado, e sua configuração seja mais complexa, OSPF é o protocolo ideal

para ambientes mais complexos ou com previsão de crescimento.

5.6 EGP

O Exterior Gateway Protocol (EGP) troca informações de acesso entre

sistemas autônomos. Ele faz parte do conjunto de protocolos TCP/IP .

Page 49: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

49

Escolhem-se alguns roteadores em cada sistema autônomo para

intermediar a comunicação com o mundo externo, em geral pela Intemet.

Esses roteadores são denominados roteadores externos.

Os roteadores externos tomam-se vizinhos EGP. Os vizinhos EGP

trocam informações sobre as redes que podem ser alcançadas no interior dos

seus respectivos sistemas autônomos.

Page 50: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

50

6. PROTOCOLO ARP E RARP

6.1 INTRODUÇÃO

Foi mencionado anteriormente que os endereços IP’s possuem 32 bits e

são endereços virtuais (endereço de um ponto na rede).

Apartir de agora iremos verificar como é feito o endereçamento de um

pacote apartir de um ponto físico (endereço de máquina).

Inicialmente devemos entender o que MAC (Controle de Acesso ao

Meio).

Uma placa de rede possui um endereço único gravado no hardware,

feito pelo fabricante.

Os endereços MAC são representados por números em hexadecimal.

Cada a;gorismo em hexadecimal equivale a um número de 4 bits. Desta forma,

um byte é representado por dois algarismo em hexadecimal e, com isso, o

endereço MAC é sempre representado como m conjunto de 12 algarismo em

hexadecimal.

Foi padronizado que os endereços MAC utilizam os 3 primeiros bytes

para o código do fabricante, este código é chamado de OUI (Organizationally

Unique Identifier). Os 3 últimos bytes se referem ao número de série da placa,

número definido pelo fabricante.

6.2 PROBLEMA DE CONVERSÃO

Como máquinas somente conseguem se comunicar através de

endereços de interligação (endereços físicos), se torna necessário a conversão

dos endereços de alto nível (camada de rede acima) para endereços de baixo

nível (endereço físico do dispositivo de comunicação).

Page 51: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

51

6.2.1 Conversão Através do Mapeamento Direto:

Em alguns tipo de rede como : proNet token ring, o endereço físico é

maleável e pode ser configurado pelo usuário. Neste casa se torna fácil a

comversão do endereço de rede com o endereço a nível físico.

6.2.2 Conversão Através de Vinculação Dinâmica:

Em uma rede IP utilizando Ethernet, todo dispositivo de rede possui um

endereço MAC vinculado ao IP. Se um destes dispositivos falham, ele deve ser

trocado, logo o equipamento pode ser o mesmo, porem com outro dispositivo e

com o mesmo IP.

Para solucionar este tipo de problema foi criado o protocolo ARP

(Address Resolution Protocol), utilizando a seguinte idéia:

A deseja descobrir o endereço de B

Envia um pacote de broadcast para todas as máquinas, porem com o

endereço IP de destino o da B

Somente B responde esta solicitação

A recebe esta resposta e envia a B os dados de usuário a serem

transmitidos

6.2.3 Cache de Conversão de Endereço:

Porque não é passado o pacote de usuário por difisão ? Devido ao

tráfego da rede.

Page 52: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

52

Para poder solucionar este problema de sempre perguntar o endereço, é

mantido em toda máquina na rede uma cache interno (arquivo) que contem

uma vinvulação entre o endereço físico e o endereço IP.

6.3 APRIMORAMENTO DE ARP

1o Quando B recebe o pacote de A, ele retira o MAC de A e quarda em seu

cache

2o Quando A envia por difusão um pedido para B, todas as máquinas recebem

este pedido porem só B responde, mas estas máquinas retiram o MAC de A

e quarda em suas tabelas ARP

3o Quando B trocar sua interface, seu MAC será alterado. Porem

quando B entrar no ar novamento ele informará por difusão que seu MAC foi

alterado.

6.3.1 Definição ARP

ARP é um protocolo de baixo nível que absrai o endereçamento físico,

permitindo que seja atribuído um endereço IP para cada máquina. Idealizamos

ARP como a parte física do sistema de redes, e não como a parte do protocolo

de interligação em redes.

6.3.2 Implementação ARP

Ao enviar um pacote, deverá ser consultado a tabela ARP para saber se

o existe um MAC para o IP de destino. Se não houver, será enviado um pacote

por difusão para todas as máquinas na rede. Se a máquina de destino estiver

muito ocupado ou desativada a resposta pode demorar. Enquanto isto, a

máquina de origem, deve manter o pacote de usuário de forma a envia-lo o

mais rápido possível, assim que a resposta chegue. Porem, o canal de

cmunicação deve ser mantido livre para ser utilizado com outros destinos.

Page 53: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

53

Podemos considerar, em outro caso, quando A mantem comunicação B

(o MAC de B está gravado na cache de A), e derrepente a placa de

comunicação de B falha e a mesma é substituída. O que aconteceria com A se

B voltasse com outro MAC. Para esta solução foi criado um timer na Cache da

tabela ARP, onde um registro deverá ser atualizado, substituído ou mesmo

excluído após um determinado tempo. Este procedimento mantem a segurança

na comunicação entre dois hosts.

Podemos ter dois tipos de tratamento para os pacotes ARP. Quando A

envia uma solicitação de endereçamento para B. B envia uma resposta para A

e A deverá acrescentar/atualizar em sua tabela ARP o endereço de B. Porem

se o pacote de resposta de B não coincidir com o IP solicitado por A, o pacote

deverá ser descartado.

6.3.3 Encapsulamento e Identificação ARP

Quando uma mensagem ARP é enviada, a mesma possui uma valor

especial no campo TIPO, isto faz com seja realizado uma tratamento

especial/urgente para as mensagens ARP.

6.3.4 Formato do Protocolo ARP

As mensagens ARP não possuem um cabeçalho fixo, fazendo com que

esta mesagens possua uma boa adaptação em diferentes tecnologias. Para a

rede Ethernet a mensagem Arp possui 28 octetos.

MENSAGEM ARP

MENSAGEM ARP CABEÇALHO QUADRO

Page 54: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

54

TIPO DE HARDWARE : Tipo de interface de hardware do destino

TIPO DE PROTOCOLO : tipo do protocolo da camada de enlace (Ex.

Ethernet = 080016)

OPERAÇÃO : Solicitação ARP (1); resposta ARP (2); solicitação RARP

(3) e resposta RARP (4)

HLEN : extensão do endereço de hardware

PLEN : extensão do endereço de protocolo

SENDER HA : endereço de hardware da origem

SENDER IP : endereço IP da origem

TARGET HA : endereço de hardware de destino (RARP)

TARGET IP : endereço IP do destino

6.4 PROTOCOLO RARP

6.4.1 Introdução

Normalmente o endereço IP de uma máquina é mantido em um arquivo

de configuração. Mas como máquinas sem disco irão conseguir verificar este

arquivo?

Máquinas sem disco, tentam contatar um servidor na rede que possua o

seu endereço IP, através de uma comunicação utilizando o endereço físico

TIPO TIPO

HLE H OPERAÇÃO

SENDER HA ( octetos 0-3 )

SENDER IP SENDER HA

TARGET HA SENDER IP

TARGET IP (octetos 0-3 )

TARGET HA (octetos 2-5 )

Page 55: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

55

(MAC). É enviado uma solicitação a um servidor, o qual possui um banco de

dados com tais informações, e aguardado sua resposta. Porem esta máquina,

não sabe qual é o endereço físico do servidor. Ela apenas envia um broadcast

para a rede e solicita a todas as máquinas que enviem o seu endereço IP.

Somente o servidor responderá.

Este mesmo procedimento, pode ocorrer no caso de uma máquina

solicitar o endereço IP de uma terceira.

O RARP é uma adaptação do protocolo ARP, e utiliza o mesmo formato

de endereçamento, sendo a única necessidade é a troca do campo tipo para

803516, para identificar o conteúdo do quadro como mensagem RARP.

Page 56: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

56

7. PROTOCOLO ICMP

O protocolo ICMP é um protocolo auxiliar ao IP, que carrega

informações de controle e diagnóstico, informando falhas como TTL do pacote

IP expirou, erros de fragmentação, roteadores intermediários congestionados e

outros.

Uma mensagem ICMP é encapsulada no protocolo IP, conforme

ilustrado na Figura 12 abaixo. Apesar de encapsulado dentro do pacote IP, o

protocolo ICMP não é considerado um protocolo de nível mais alto.

Cabeçalho IP Mensagem ICMP

Datagrama IP

Cabeçalho ICMP Dados ICMP

Figura 12 – Encapsulamento ICMP

A mensagem ICMP é sempre destinada ao host origem da mensagem,

não existindo nenhum mecanismo para informar erros aos roteadores no

caminho ou ao host destino.

As mensagens ICMP possuem um identificar principal de tipo (TYPE) e

um identificador de sub-tipo (CODE), conforme pode ser visto no formato de

mensagem ilustrado abaixo:

0 7 15 23 31

Octeto 1 Octeto 2 Octeto 3 Octeto 4

TYPE CHECKSUMCODE

MENSAGEM ICMP ESPECÍFICA

Page 57: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

57

Os tipos de mensagem ICMP são listados na tabela abaixo:

TipoTipo

03458

1112131415161718

Mensagem ICMPMensagem ICMPEcho Reply Destination UnreachableSource QuenchRedirectEcho Request

Time Exceeded for a DatagramParameter Problem on a DatagramTimestamp RequestTimestamp ReplyInformation Request (obsoleto)Information Reply (obsoleto)Address Mark RequestAddress Mark Reply

CategoriaCategoriaControle

ErroControleControleControle

ErroErro

ControleControleControleControleControleControle

9 Router Advertisement (RFC 1256) Controle10 Router Solicitation (RFC 1256) Controle

As mensagens ICMP são listadas abaixo:

7.1 MENSAGEMS ICMP

7.1.1 Echo Request e Echo Reply

Utilizada pelo comando ping, a mensagem Echo Request enviada para

um host causa o retorno de uma mensagem Echo Reply. É utilizada

principalmente para fins de testes de conectividade entre as duas máquinas.

0 7 15 23 31

Octeto 1 Octeto 2 Octeto 3 Octeto 4

TYPE (8 ou 0) CHECKSUMCODE (0)

OPTIONAL DATA

IDENTIFIER SEQUENCE NUMBER

. . .

Page 58: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

58

7.1.2 Destination Unreacheable

Esta mensagem possui diversos sub-tipos para identificar o motivo da

não alcançabilidade: os sub-tipos utilizados atualmente são:

0 : Network Unreachable - Rede destino inalcançável

1 : Host Unreachable (ou falha no roteamento para subnet) - Máquina destino inalcançável

2 : Protocol Unreachable - Protocolo destino desativado ou aplicação

inexistente

3 : Port Unreachable - Porta destino sem aplicação associada

4 : Fragmentation Needed and DNF set - Fragmentação necessária

mas bit DNF setado. Alterado também pela RFC 1191 para

suporta o protocolo Path MTU Discovery

5 : Source Route Failed - Roteamento por rota especificada em opção

IP falhou

6 : Destination Network Unknown

7 : Destination Host Unknown

8 : Source Host Isolated

9 : Communication with destination network administratively prohibited

10 : Communication with destination host administratively prohibited

O sub-tipo Fragmentation Needed and DNF set é utilizado como forma

de um host descobrir o menor MTU nas redes que serão percorridas entre a

origem e o destino. Por meio desta mensagem, é possível enviar pacotes que

não precisarão ser fragmentados, aumentando a eficiência da rede. Esta

técnica, que forma um protocolo é denominado de ICMP MTU Discovery

Protocol, definido na RFC 1191.

A operação é simples. Todo pacote IP enviado é marcado com o bit DNF

(Do Not Fragment), que impede sua fragmentação nos roteadores. Desta

Page 59: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

59

forma, se uma pacote IP, ao passar por um roteador para chegar a outra rede

com MTU menor, deva ser fragmentado, o protocolo IP não irá permitir e

enviará uma mensagem ICMP Destination Unreacheable para o destino. Para

suportar esta técnica, a mensagem ICMP foi alterada para informar o MTU da

rede que causou o ICMP. Desta forma, a máquina origem saberá qual o valor

de MTU que causou a necessidade de fragmentação, podendo reduzir o MTU

de acordo, nos próximos pacotes. Esta mensagem está ilustrada abaixo:

0 7 15 23 31

Octeto 1 Octeto 2 Octeto 3 Octeto 4

TYPE (3) CHECKSUMCODE (4)

Não usado (deve ser 0)

IP HEADER + FIRST 64 BITS OF DATAGRAM

. . .

MTU of next HOP

7.1.3 Source Quench

Esta mensagem é utilizada por um roteador para informar à origem, que

foi obrigado a descartar o pacote devido a incapacidade de roteá-lo devido ao

tráfego.

00 77 1515 2323 3131

Octeto 1Octeto 1 Octeto 2Octeto 2 Octeto 3Octeto 3 Octeto 4Octeto 4

TYPE (4)TYPE (4) CHECKSUMCHECKSUMCODE (0)CODE (0)

UNUSED (MUST BE ZERO)UNUSED (MUST BE ZERO)

IP HEADER + FIRST 64 BITS OF DATAGRAMIP HEADER + FIRST 64 BITS OF DATAGRAM

. . .. . .

Page 60: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

60

7.1.4 Redirect

Esta mensagem, uma das mais importantes do protocolo IP, é utilizada

por um roteador para informar ao host origem de uma mensagem que existe

uma rota direta mais adequada através de outro roteador. O host, após receber

a mensagem ICMP, instalará uma rota específica para aquele host destino:

0 : Redirect datagrams for the Net (obsoleto)0 : Redirect datagrams for the Net (obsoleto)1 : Redirect datagrams for the Host1 : Redirect datagrams for the Host2 : Redirect datagrams for the Type of Service and Net2 : Redirect datagrams for the Type of Service and Net3 : Redirect datagrams for the Type of Service and Host3 : Redirect datagrams for the Type of Service and Host

00 77 1515 2323 3131

Octeto 1Octeto 1 Octeto 2Octeto 2 Octeto 3Octeto 3 Octeto 4Octeto 4

TYPE (5)TYPE (5) CHECKSUMCHECKSUM

GATEWAY INTERNET ADDRESSGATEWAY INTERNET ADDRESS

IP HEADER + FIRST 64 BITS OF DATAGRAMIP HEADER + FIRST 64 BITS OF DATAGRAM

. . .. . .

CODE (0-3)CODE (0-3)

A operação do ICMP Redirect ocorre conforme os diagramas abaixo.

Note que a rota instalada é uma rota específica para host, com máscara

255.255.255.255, não servindo para outras máquinas na mesma rede. Se uma

máquina se comunica com 10 máquinas em outra rede e se basear em ICMP

Redirect para aprender as rotas, ele instalará pelo menos 10 entradas na

tabela de rede, uma para cada máquina

Page 61: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

61

Datagrama IPDatagrama IPOrigem: 139.82.17.22Origem: 139.82.17.22Destino: 139.82.19.55Destino: 139.82.19.55

139.92.17.2139.92.17.2139.82.16.1139.82.16.1

139.82.17.22139.82.17.22139.82.16.33139.82.16.33 139.82.18.44139.82.18.44

139.82.17.1139.82.17.1139.92.18.1139.92.18.1

139.82.16.2139.82.16.2139.82.19.1139.82.19.1

139.82.19.55139.82.19.55

Mensagem ICMPMensagem ICMP

139.82.17.22139.82.17.22139.82.16.33139.82.16.33 139.82.18.44139.82.18.44

139.82.19.55139.82.19.55

55 CHECKSUMCHECKSUM

139.82.17.1139.82.17.1IP HEADER + FIRST 64 BITS OF DATAGRAMIP HEADER + FIRST 64 BITS OF DATAGRAM

11

139.92.17.2139.92.17.2139.82.16.1139.82.16.1139.82.17.1139.82.17.1

139.92.18.1139.92.18.1

139.82.16.2139.82.16.2139.82.19.1139.82.19.1

Figura 13 - ICMP

Na Figura 13 acima, a estação 139.82.17.22 instalou, após a mensagem

ICMP, a seguinte rota na tabela de rotas:

Rede Destino Máscara Roteador (Gateway) Hops

139.82.19.55 255.255.255.255 139.82.17.1 0

Page 62: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

62

7.1.5 TTL Expired

Esta mensagem ICMP originada em um roteador informa ao host de

origem que foi obrigado a descartar o pacote, uma vez que o TTL chegou a

zero.

00 77 1515 2323 3131

Octeto 1Octeto 1 Octeto 2Octeto 2 Octeto 3Octeto 3 Octeto 4Octeto 4

TYPE (11)TYPE (11) CHECKSUMCHECKSUMCODE (0-1)CODE (0-1)

UNUSED (MUST BE ZERO)UNUSED (MUST BE ZERO)

IP HEADER + FIRST 64 BITS OF DATAGRAMIP HEADER + FIRST 64 BITS OF DATAGRAM

. . .. . .

Esta mensagem é utilizada pelo programa traceroute (ou tracert no

Windows) para testar o caminho percorrido por um pacote. O programa

funciona da seguinte forma:

1. É enviada uma mensagem ICMP Echo Request para um endereço IP

destino. Esta mensagem é enviada com TTL = 1.

2. Quando chega ao primeiro roteador, este decrementa o valor de TTL da

mensagem IP e retorna uma mensagem ICMP TTL Expired. O programa

armazena o endereço IP do roteador que enviou a mensagem TTL Expired.

3. O programa envia outra mensagem ICMP Echo Request para o endereço IP

destino. Esta mensagem é enviada desta vez com TTL=2.

4. A mensagem atravessa o primeiro roteador e tem o TTL decrementado para

1. Quando chega ao segundo roteador, o TTL torna-se 0 e este roteador

envia uma mensagem ICMP TTL Expired para a máquina origem. Esta

armazena o endereço do segundo roteador.

5. Esta operação prossegue até que a máquina destino responda. Todos os

roteadores no caminho são registrados.

Page 63: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

63

Note, entretanto, que devido à diferenças de rotas seguidas pelos

diversos pacotes, o caminho obtido não necessariamente é único. A execução

do programa traceroute mais de uma vez pode revelar rotas diferentes

seguidas pelos pacotes.

7.1.6 ICMP Router Solicitation/Advertisement

Esta variação de ICMP, definido na RFC 1256 foi projetada para permitir

que um roteador possa divulgar sua existência para as máquinas existentes na

rede. O objetivo desta função é evitar a necessidade de se configurar

manualmente todas as estações da rede com a rota default e permitir que uma

estação conheça outros roteadores além do default que possam rotear no caso

de falha do principal.

A mensagem é composta de duas formas: a solicitação de divulgação de

uma roteador e o anúncio de um roteador. O roteador pode ser configurado

para enviar automaticamente as mensagens de anúncio ou fazê-lo apenas

comandado por uma mensagem de solicitação.

A mensagem ICMP Router Solicitation é mostrada abaixo:

00 77 1515 2323 3131

Octeto 1Octeto 1 Octeto 2Octeto 2 Octeto 3Octeto 3 Octeto 4Octeto 4

TYPE (10)TYPE (10) CHECKSUMCHECKSUMCODE (0)CODE (0)

RESERVADORESERVADO

Page 64: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

64

A mensagem ICMP Router Solicitation é mostrada abaixo:

00 77 1515 2323 3131

Octeto 1Octeto 1 Octeto 2Octeto 2 Octeto 3Octeto 3 Octeto 4Octeto 4

TYPE (9)TYPE (9) CHECKSUMCHECKSUM

NUM ADDRNUM ADDR

ROUTER ADDRESS 1ROUTER ADDRESS 1

PREFERENCE LEVEL 1PREFERENCE LEVEL 1

CODE (0)CODE (0)

2 (Tam Reg)2 (Tam Reg) LIFETIME (seg)LIFETIME (seg)

. . .. . .

Esta mensagem pode conter a divulgação de diversos roteadores

iniciada a partir de um que seja configurado para divulgá-los. O número de

preferência é a ordem de preferência que estes roteadores podem ser

utilizados pelas estações.

7.1.7 Aquisição de informações de Roteamento

Em uma estação e em um roteador, as informações constantes na

tabela de rotas podem ser obtidas de diversas formas.

As rotas podem ser obtidas por uma estação ou em um roteador de

diversas formas, com limitações dependendo da implementação do TCP/IP em

cada sistema operacional:

1. Estação sem nenhuma rota. Neste caso, a estação vai precisar de pelo

menor um roteador default. A estação pode obter um roteador default

através de:

• protocolo ICMP Router Advertisement

• Protocolo BOOTP ou DHCP durante a etapa de boot ou após ela.

• Escuta dos protocolos de roteamento como RIP e outras para

descobrir roteadores

Page 65: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

65

• outras, sempre não respeitando a divisão em camadas

2. Estação com somente um roteador default. Com um roteador, a estação já

pode operar corretamente. No caso de existir rotas melhores através de

outros roteadores, o roteador default informará rotas específicas através de

ICMP Redirect, sempre específica para uma estação destino.

3. Estação com mais de um roteador default, poderá utilizar os diversos

roteadores default, no caso de falha do primeiro.

4. Estação com rotas específicas para outras redes configuradas de forma

manual.

5. Estação executando algum protocolo de roteamento, geralmente na forma

SOMENTE ESCUTA. Desta forma, a estação pode aprender informações de

rotas trocadas entre os roteadores sem divulgar rotas.

É possível inclusive ocorrer o recebimento de informações conflitantes

ou não idênticas de rotas para determinadas redes. O roteador resolve estes

conflitos com a adoção de prioridades para rotas aprendidas por meios

diferentes. Geralmente, a ordem de prioridade da forma de aprendizagem das

rotas é da seguinte forma:

1. Rotas configuradas estaticamente tem maior prioridade, exceto se houver

outra rota mais específica (com máscara mais longa). P. exemplo, um

roteador possui uma rota para a rede 200.0.0.0 mas aprende uma rotas

específica para 200.0.0.123. Esta última terá maior prioridade

2. Rotas específicas aprendidas por meio de ICMP Redirect e rotas default

aprendidas por meio de ICMP Router Advertisement

3. Rotas aprendidas por meio dos protocolos OSPF e BGP

4. Rotas aprendidas por meio do protocolo RIP

Page 66: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

66

8. PROTOCOLOS DA CAMADA DE TRANSPORTE

A Figura 14 ilustra a divisão em camadas da arquitetura TCP/IP:

AplicaçãoAplicação

TransporteTransporte

Inter-redeInter-rede

RedeRede

Mensagens da aplicação

Datagramas IP

HDLC, X.25, PPP, SLIP,Ethernet, Token-Ring, FDDI,ATM, LLC, NDIS, ...

Figura 14 – Divisão em Camadas

8.1 CAMADA DE TRANSPORTE

Esta camada reúne os protocolos que realizam as funções de transporte

de dados fim-a-fim, ou seja, considerando apenas a origem e o destino da

comunicação, sem se preocupar com os elementos intermediários. A camada

de transporte possui dois protocolos que são o UDP (User Datagram Protocol)

e TCP (Transmission Control Protocol).

O protocolo UDP realiza apenas a multiplexação para que várias

aplicações possam acessar o sistema de comunicação de forma coerente.

O protocolo TCP realiza além da multiplexação, uma série de funções

para tornar a comunicação entre origem e destino mais confiável. São

responsabilidades do protocolo TCP o controle de fluco, o controle de erro, a

sequenciação e a multiplexação de mensagens.

A camada de transporte oferece para o nível de aplicação um conjunto

de funções e procedimentos para acesso ao sistema de comunicação de modo

a permitir a criação e a utilização de aplicações de forma independente da

implementação. Desta forma, as interfaces socket (ambiente Unix) e Winsock

Page 67: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

67

(ambiente Windows) fornecem um conjunto de funções-padrão para permitir

que as aplicações possam ser desenvolvidas independentes do sistema

operacional no qual rodarão.

8.2 PROTOCOLO UDP

O protocolo UDP fornece uma forma simples de acesso ao sistema de

comunicação, provendo um serviço sem conexão, sem confiabilidade e sem

correção de erros. A principal função do nível de transporte implementada em

UDP é a capacidade de multiplexação de acesso ao sistema de comunicação.

Esta função permite que vários processos ou programas executando em um

computador possam acessar o sistema de comunicação e o tráfego de dados

respectivo a cada um deles seja corretamente identificado, separado e utilize

buffers individuais.

Um processo é o programa que implementa uma aplicação do sistema

operacional, e que pode ser uma aplicação do nível de aplicação TCP/IP.

A forma de identificação de um ponto de acesso de serviço (SAP) do

modelo OSI é a porta de protocolo em TCP/IP. A porta é a unidade que

permite identificar o tráfego de dados destinado a diversas aplicações. A

identificação única de um processo acessando os serviços TCP/IP é, então, o

endereço IP da máquina e a porta (ou portas) usadas pela aplicação. Cada

processo pode utilizar mais de uma porta simultâneamente, mas uma porta só

pode ser utilizada por uma aplicação em um dado momento. Uma aplicação

que deseje utilizar os serviços de comunicação deverá requisitar uma ou mais

portas para realizar a comunicação. A mesma porta usada por uma aplicação

pode ser usada por outra, desde que a primeira tenha terminado de utilizá-la.

A forma de utilização de portas mostra uma distinção entre a parte

cliente e a parte servidora de uma aplicação TCP/IP. O programa cliente pode

utilizar um número de porta qualquer, já que nenhum programa na rede terá

necessidade de enviar uma mensagem para ele. Já uma aplicação servidora

deve utilizar uma número de porta bem-conhecido (Well-known ports) de modo

Page 68: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

68

que um cliente qualquer, querendo utilizar os serviços do servidor, tenha que

saber apenas o endereço IP da máquina onde este está executando.

Se não houvesse a utilização de um número de porta bem conhecido, a

arquitetura TCP/IP deveria possuir um mecanismo de diretório para que um

cliente pudesse descobrir o número da porta associado ao servidor. Para evitar

este passo intermediário, utiliza-se números de porta bem conhecidos e o

cliente já possui pré programado em seu código o número de porta a ser

utilizado.

Os números de porta de 1 a 1023 são números bem-conhecidos para

serviços (aplicações) atribuídos pela IANA (Internet Assigned Numbers

Authority). Os números de 1024 a 65535 podem ser atribuídos para outros

serviços e são geralmente utilizados pelas programas-cliente de um protocolo

(que podem utilizar um número de porta qualquer). Este conjunto de números

tem ainda a atribuição de alguns serviços de forma não oficial, já que os

primeiros 1024 números não conseguem comportar todos os protocolos TCP/IP

existentes.

A Figura 15 abaixo ilustra a multiplexação/demultiplexação realizada

pelo protocolo UDP, camada de transporte:

Aplicação 1

IP

Aplicação 2

Porta 34 Porta 22

UDPPorta 126

Figura 15 – Multiplexação e Demultiplexação

Page 69: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

69

8.2.1 Formato da Mensagem UDP

0 7 15 23 31

Octeto 1 Octeto 2 Octeto 3 Octeto 4

UDP SOURCE PORT UDP DESTINATION PORTUDP MESSAGE LENGTH UDP CHECKSUM

DATA. . .

Opcional (campo=0)

Figura 16 – Formato da Mensagem UDP

A mensagem UDP é representada pela Figura 16. O dado carregado é o

pacote de nível de aplicação. UDP acrescenta apenas mais 8 bytes que são a

porta de protocolo origem a porta de protocolo destino, o tamanho da

mensagem UDP e um checksum para averiguar a correção dos dados do

cabeçalho UDP.

8.2.2 Encapsulamento de UDP e Colocação de Protocolos em Camadas

O UDP situa-se na camada acima da camada de rede. Em tese, os

programas aplicativos acessam o UDP, que usa o IP para enviar e receber

datagramas.

Colocação Conceitual em Camadas

Aplicativo

Datagrama de Usuário (UDP)

Internet (IP)

Enlace

Page 70: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

70

Posicionar o UDP acima do IP significa que uma mensagem UDP

completa, incluindo o cabeçalho UDP e os dados, está encapsulada em um

datagrama IP, enquanto é transportada através de uma interligação em redes.

A idéia de encapsulamento não é somente para o protocolo UDP, na

verdade todas as camadas tem um certo encapsulamento dos dados. Desde a

camada de mais baixo nível, até a de mais alto nível. O que acontece é que

quando alguém envia dados para outra pessoa, primeiramente os dados estão

na camada de mais alto nível, e para que exista o transporte dos dados na

rede, os dados passam por todas as camadas, e com isso existe o

encapsulamento de uma camada para outra, e depois quando a pessoa recebe

os dados, antes passa pelo processo inverso, e volta a ter as mesmas

características, mais detalhadamente pegando-se o protocolo UDP:

Para os protocolos que já foram examinados, encapsulamento significa que o

UDP anexa inicialmente um cabeçalho aos dados que o usuário envia e passa-

o ao IP. A camada de rede (IP) inicialmente anexa um cabeçalho ao que ele

recebe de UDP. Finalmente, a camada de enlace embute o datagrama em um

quadro antes de enviá-lo de uma máquina a outra. O formato do quadro

depende da tecnologia básica da rede. Normalmente os quadros de rede

incluem um cabeçalho adicional.

Na entrada, um pacote chega à camada mais baixa e inicia sua

ascenção através de camadas sucessivamente mais altas. Cada camada

remove um cabeçalho antes de passar a mensagem adiante, de modo que,

quando o nível mais alto repassar os dados para o processo receptor, todos os

cabeçalhos já tenham sido removidos. Assim, o cabeçalho mais externo

corresponde à camada mais baixa de protocolo, enquanto o cabeçalho mais

interno corresponde à camada mais alta de protocolo. Quando se considerar o

modo como os cabeçalhos são inseridos e removidos, é importante lembrar o

princípio de colocação em camadas.

Deve-se observar que o princípio de colocação em camadas aplica-se

ao UDP, assim, o datagrama UDP recebido pelo IP na máquina de destino é

idêntico ao que o UDP passou ao IP na máquina de origem. Por sua vez, os

dados que o UDP entrega a um processo de usuário na máquina receptora

Page 71: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

71

serão exatamente os mesmos que um processo de usuário que passou ao

UDP na máquina transmissora.

Desse modo, apenas o cabeçalho IP identifica os hosts de origem e

destino, apenas a camada UDP identifica as portas de origem e destino em um

host.

Figura 17– Encapsulamento em camadas

8.2.3.1 Organização em camadas

Existe uma forte interação enrte UDP e IP, e isso viola a permissa

básica de que a colocação em camadas reflete separação de funcionalidade; O

UDP tem estado estreitamente integrado ao protocolo IP. É claramente um

compromisso de simples separação feito por razões inteiramente práticas.

Estamos dispostos a deixar passar a violação da colocação em camadas,

poque é impossível identificar inteiramente um programa aplicativo de destino

sem especificar a máquina de destino; e queremos tornar eficiente o

mapeamento entre os endereços usados por UDP e aqueles usados por IP.

8.2.4 Multiplexação e Demultiplexação UDP e Portas

Cada software colocado em cada camada de uma hierarquia de

protocolo deve ser capaz de multiplexar ou demultiplexar múltiplos objetos da

camada seguinte. O software UDP apresenta multiplexação e demultiplexação,

Page 72: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

72

ele aceita datagramas do protocolo UDP de muitos programas aplicativos, e os

passa ao IP, para transmissão, e aceita datagramas UDP recebidos de ip e pos

passa ao programa aplicatrivo apropriado.

Conceitualmente, toda multiplexação e demultiplexação entre o software

UDP e o programa aplicativo ocorre através do mecanismo da porta. Cada

programa aplicativo deve negociar com o sistema operacional a fim de obter

uma porta de protocolo e um número de porta correspondente, antes que ele

possa enviar um datagrama UDP. Uma vez que a porta tenha sido atribuída,

qualquer datagrama que o programa aplicativo enviar através da porta terá

aquele número de porta em seu campo Porta de origem UDP.

Enquanto está processando a entrada, o UDP aceita datagramas

recebidos do IP e procede à demultiplexação tendo como base a porta de

destino do UDP.

Figura 18 - Exemplo de demultiplexação de uma camada acima do IP.

O UDP usa o número da porta de destino UDP para selecionar uma

porta de destino apropriada para os datagramas recebidos

O modo mais simples de conceber uma porta UDP é uma fila. Na

maioria doas implementações, quando um programa aplicativo negocia com o

sistema operacional para usar determinada porta, o sistema operacional cria

uma fila interna que pode reter as mensagens que estão chagando.

Freqüentemente, o aplicativo pode especificar ou mudar o tamanho da fila.

Quando o UDP recebe um datagrama, vreifica se o número de porta de destino

Page 73: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

73

confere com uma das portas atualmente em uso. Se não conferir, envia uma

mensagem de erro ICMP de porta não-atingida descarta o datagrama. Se for

encontrada uma dorrespondência, o UDP enfilera o novo datagrama na porta

onde o programa aplicativo pode acessá-lo. Naturalmente ocorrerá um erro se

a porta estiver cheia e o UDP descartar o datagrama recebido.

8.2.4.1 Números de portas UDP reservadas e disponíveis

Uma pergunta importante é como deverão ser atribuídos números de

porta de protocolo? O problema é que dois computadores precisam equiparar-

se pelos números de porta, antes que possam se comunicar. Por exemplo,

quando um computador A deseja obter um arquivo do computador B, ele

precisa saber qual a porta usada no computador B pelo programa de

transferência de arquivos. Existe duas abordagens fundamentais para a

atribuição de portas. A primeira usa a autoridade central. Todos concordam em

permitir que uma autoriddae central atribua números de portas, de acordo com

a necessidade, e publique a lista de todas as atribuições. A seguir, todo o

software é criado de acordo com a lista. Essa abordagem é algumas vezes

chamada atribuições univresais; as atribuições de porta, especificadas pela

autoridade, são chamadas atribuições de portas identificadas.

A segunda abordagem para atribuição de portas usa atribuição

dinâmica. Nesse tipo de abordagem de atribuição, as portas não são

totalmente identificadas. Em vez disso, sempre que um programa necessita de

uma porta, o software da rede atribui uma. Para aprender sobre a atribuição

atual de porta em outro computador, é preciso enviar um pedido que façauma

pergunta. A máquina-alvo responde, dando o número de porta correto.

Os projetistas do TCP/IP adotaram uma abordagem híbrida que atribui

alguns números de porta, mas deixa disponíveis para sites locais ou pragramas

aplicativos. Os números de porta atribuídos começam com valores baixos e

vão se elevando, deixando valores inteiros grandes disponíveis para atribuição

dinâmica.

Page 74: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

74

Decima Senha Senha UNIX Descrição

0 - - Reserved

7 ECHO echo Echo

9 DISCARD discard Discard

11 USERS sytat Active Users

13 DAYTIME daytime Daytime

15 - netstat Who is up or

NETSTAT

17 QUOTE qotd Quote of the

Day

19 CHARGEN chargen Character

Generator

37 TIME time Time

42 NAMESERVER name Host Name

Server

43 NICNAME whois Who is

53 DOMAIN nameserverDomain Name

Server

67 BOOTPS bootps Bootstrap

Protocol Server

68 BOOTPC bootpc Bootstrap

Protocol Client

69 TFTP tftp Trivial File

Transfer

111 SUNRPC sunrpc Sun

Microsystems RPC

123 NTP ntp Network Time

Protocol

Page 75: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

75

161 - snmp SNMP net

monitor

162 - snmp-trap SNMP traps

512 - biff UNIX comsat

513 - who UNIX rwho

daemon

514 - syslog system log

525 - timed Time daemon

8.3 PROTOCOLO TCP

O protocolo TCP trabalha no mesmo nível que o protocolo UDP, mas

oferece serviços mais complexos, que incluem controle de erros e fluxo, serviço

com conexão e envio de fluxo de dados. TCP utiliza o mesmo conceito de porta

de UDP. Para TCP, uma conexão é formada pelo par (End. IP. Origem, Porta

Origem) e (End. IP Destino, Porta Destino).

O protocolo TCP oferece as seguintes características:

• Controle de Fluxo e Erro fim-a-fim

• Serviço confiável de transferência de dados

• Comunicação full-duplex fim-a-fim

• A aplicação basta enviar um fluxo de bytes

• Desassociação entre qtd. de dados enviados pela aplicação e pela camada

TCP

• Ordenação de mensagens

• Multiplexação de IP, através de várias portas

• Opção de envio de dados urgentes

A conexão TCP é ilustrada na Figura 19:

Page 76: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

76

TCPTCP

IPIP

TCPTCP

IPIP

Porta 22 Porta 2340

Host 139.82.17.10 Host 139.82.55.3

Inter-redeTCP/IP

Figura 19 – Conexão TCP

Uma conexão TCP é formada por três fases: o estabelecimento de

conexão, a troca de dados e o finalização da conexão, conforme ilustrado na

Figura 20:

ACK

DADOS

DADOS

ACK

ACK

FINACKFINACK

Transmite dados

Transmite dados

Recebe dados

Recebe dados

Fecha conexão Fecha conexão

SYN/ACK

Figura 20 – Conexão em três fases

A fase inicial de estabelecimento de conexão é formada de três

mensagens, formando o three-way-hanshaking, conforme a Figura 21:

Page 77: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

77

21 -SEQ ACK

152 22SEQ ACK

- 153SEQ ACK

Figura 21 – Three Way Handshake

O pacote TCP é formado pela mensagem mostrada abaixo:

Octeto 1 Octeto 2 Octeto 3 Octeto 40 7 15 23 31

TCP DESTINATION PORTTCP SOURCE PORT

DATA

...

WINDOWHLEN

SEQUENCE NUMBER

RESERVED CODE BITS

ACKNOWLEDGEMENT NUMBER

URGENT POINTERCHECKSUM

PADDINGOPTIONS (IF ANY)

Estes campos são definidos da seguinte forma:

TCP SOURCE PORT: Porta origem da mensagem

TCP DESTINATION PORT: Porta destino da mensagem

SEQUENCE NUMBER: número de sequência dos dados sendo

transmitidos face ao conjunto total de dados já transmitidos. Este número indica

a posição do primeiro byte de dados sendo transmitido em relação ao total de

bytes já transmitidos nesta conexão. O primeiro número de sequência utilizado

Page 78: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

78

não é zero ou um, mas começa de um valor aleatório. Logo se um pacote está

trasmitindo do 1234o. byte até o 2000o. byte de uma conexão e o SEQUENCE

NUMBER inicial utilizado nesta conexão foi 10000, o campo SEQUENCE

NUMBER conterá o valor 11234. O sequence number em um sentido da

conexão (máquina A para B) é diferente do seuqnece number do sentido

inverso, já que os dados transmitidos por um e outro lado são completamente

distintos.

ACKNOWLEDGE NUMBER: número que significa o reconhecimento

dos dados recebidos até então no sentido inverso. O ACK de um sentido é

transmitido em piggy-backing no outro sentido. O ACK contém o número do

próximo byte do fluxo de dados recebido, que a origem deste pacote espera

receber da outra máquina. Este valor leva em consideração o número de

SEQUENCE NUMBER inicial praticado pela outra máquina. O valor de ACK

informa sempre o próximo byte ainda não recebido do conjunto contíguo de

bytes recebidos do transmissor.

CODE BITS: São formados por seis bits, URG, ACK, PSH, RST, SYN e

FIN, cuja utilização é descrita abaixo:

URG: bit de Urgência: significa que o segmento sendo carregado

contém dados urgentes que devem ser lidos com prioridade pela aplicação. A

aplicação origem é responsável por acionar este bit e fornecer o valor do

URGENT POINTER que indica o fim dos dados urgentes. Um exemplo da

utilização desta facilidade é o aborto de uma conexão (por exemplo por

Control-C), que faz com que a aplicação destino examine logo o pacote até o

fim da área de urgência, descubra que houve um Control-C e termine a

conexão.

ACK: bit de Reconhecimento: indica que o valor do campo de

reconhecimento está carregando um reconhecimento válido.

PSH: bit de PUSH: Este mecanismo que pode ser acionado pela

aplicação informa ao TCP origem e destino que a aplicação solicita a

transmissão rápida dos dados enviados, mesmo que ela contenha um número

baixo de bytes, não preeenchendo o tamanho mínimo do buffer de

transmissão.

Page 79: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

79

RST: bit de RESET: Informa o destino que a conexão foi abortada neste

sentido pela origem

SYN: bit de Sincronismo: ë o bit que informa que este é um dos dois

primeiros segmentos de estabelecimento da conexão.

FIN: bit de Terminação: indica que este pacote é um dos dos pacotes de

finalização da conexão

WINDOW: Este campo informa o tamanho disponível em bytes na janela

de recepção da origem deste pacote. Por meio deste valor, o TCP pode realizar

um controle adequando de fluxo para evitar a sobrecarga do receptor. Quando

este valor é igual a zero, o transmissor não envia dados, esperando receber um

pacote com WINDOW maior que zero. O transmissor sempre vai tentar

transmitir a quantidade de dados disponíveis na janela de recepção sem

aguardar um ACK. Enquanto não for recebido um reconhecimento dos dados

transmitidos e o correspondente valor de WINDOW > 0, o transmissor não

enviará dados.

OPTIONS: O campo de opções só possui uma única opção válida que é

a negociação do MSS (Maximum Segment Size) que o TCP pode transmitir. O

MSS é calculado através do MTU ou através do protocolo ICMP Path MTU

Discovery.

8.3.1 Serviços TCP

O principal propósito do TCP é garantir a trnsferência confiável de

dados, para isto o protocolo deve fornecer alguns serviços, tais como:

8.3.1.1 Serviços TCP: transferência de dados

A transferência de dados entre usuários pode ser feita tanto no modo

full-duplex commo no modo half-duplex, sendo que a unidade básica de

transferência entre o TCP e as estações é chamada de segmento.

Em cada conexão é o protocolo que determina o momento mais conveniente

Page 80: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

80

de bloquear ou liberar o dados para transmissão. O processo de ajuste dos

intervalos enrte liberações é feito dinamicamente, para poder acomodar as

constantes mudanças no tempo decorrido entre o instante de segmento, a

diferença é comparada com valores correntes, sendo então feitos os ajustes

necessários.

Em cada conexão é o protocolo que determina o momento mais

conveniente de bloquear ou liberar o dado para transmissão.O processo de

ajuste dos intervalos entre liberações é feito dinamicamente, para poder

acomodar as constantes mudanças no tempo de propagação do ambiente

Internet. O mecanismo consiste na verificação do tempo decorrido entre o

instante de transmissão de um segmento e o instante de chegada do

reconhecimento associado a este segmento, a diferença é comparada com os

valores correntes, sendo então feitos os ajustes necessários.

O TCP também determina o número de octetos a serem incluídos em

um determinado segmento, visando otimizar o uso do meio de transmissão.

Após o estabelecimento da conexão o tamanho de cada segmento pode variar,

ou seja, os segmentos não vão necessariamente conter o mesmo número de

octetos.

Exitem ainda dois mecanismos especiais : a sinalização de "push data"

e de dados urgentes. O primeiro caso é usado quando o emissor quer

especificar para o protocolo um conjunto de dados que devem ser transmitidos

no mesmo segmento, para isto cada dado pertencente a este conjunto tem o

seu flag ativado. O TCP separa todos os dados marcados com o flag, junta

com os dados que já estavam no buffer e monta um segmento, transmitindo-o

imediatamente. O protocolo do lado receptor ao perceber a existência de dados

marcados com o push flag pega todos os dados do seu buffer e os entrega ao

usuário.

O segundo mecanismo é empregado nos casos em que é interessante

sinalizar ao processo destinatário a existência de dados cujo atendimento seja

prioritário. Neste caso é o processo destinatário que fica responsável pelo

tratamento adequado destes dados. Um exemplo de sistema onde a aplicação

deste conceito é útil, é o de sistemas de automação e controle.

Page 81: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

81

8.3.1.2 Serviços TCP: confiabilidade

TCP garante a correção dos dados nos casos de alteração, perda, duplicação

ou entrega fora de sequência. Para manter este controle, o TCP se apoia

basicamente no número de seqüência. A cadeia de bytes recebida da

aplicação é vista como um conjunto de octetos. A cada octeto é associado um

único número de seqüência, incrementado de um em um a cada octeto

formado. A utilização deste dado e dos mecanismos de reconhecimento e

checksum, visa manter a confiabilidade, sendo feita da seguinte forma :

1. perda de dados : o TCP associa um número de seqüência para cada

octeto (byte) transmitido pela conexão, solicitando ao TCP destinatário o

envio de um reconhecimento positivo (ACK). Este ACK contém o número de

seqüência do próximo elemento esperado pela recepção, e representa uma

confirmação de todos os números anteriores a ele. Se o ACK não é

recebido dentro do tempo especificado para entrega (ocorrência de

timeout), o receptor solicita ao transmisssor que os dados sejam

retransmitidos;

2. ordenação : o mesmo número de sequência é usado pela estação

receptora como forma de verificação da correta ordenação dos dados

recebidos;

3. duplicação : algumas vezes pode ocorrer a perda de algum ACK, o que

implicaria na duplicação do segmento associado. O número de sequência

permite a identificação do segmento duplicado de forma que este possa ser

descartado pelo receptor;

4. erros de conteúdo : dados recebidos possuem campo contendo um valor

de checksum. O processo receptor recalcula o checksum com base no

algoritmo de soma em complemento a um, e compara com o valor deste

campo, caso o erro seja confirmado o receptor descarta os segmentos

alterados. Para estes segmentos o receptor não envia o sinal de ACK, o

que provoca a sua retransmissão.

Page 82: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

82

8.3.1.4 Serviços TCP: controle de fluxo

O TCP fornece um mecanismo, chamado de janela deslizante de

tamanho variável ou janela de crédito, que permite a estação receptora

controlar a quantidade de dados enviados pela estação transmissora. O

receptor junto com cada ACK, envia um dado chamado janela de recepção

com uma indicação da quantidade de octetos adicionais que podem ser aceitos

pelo seu buffer. Normalmente a medida que o buffer vai enchendo este valor

vai sendo reduzido, evitando o seu transbordamento. Quando os dados são

passados do buffer para a aplicação, o valor da janela de recepção volta a

aumentar, indicando que o tamanho da janela de transmissão pode aumentar

também.

8.3.1.5 Serviços TCP: multiplexação

O TCP usa a idéia de portas para identificar o destino final dentro da

máquina. Cada máquina possui um conjunto de portas e isto permite que vários

processos dentro de uma mesma máquina façam uso simultâneo dos serviços

de comunicação do protocolo. Os soquetes representam o ponto terminal de

todo o tráfego IP entre duas máquinas, sendo que um mesmo soquete pode

ser usado para mais de uma conexão.

8.3.1.6 Serviços TCP: conexão

O protocolo TCP é orientado à conexão, o que caracteriza três fases de

funcionamento : estabelecimento da conexão, transferência de dados e

liberação da conexão. Quando dois processos desejam se comunicar, o

processo TCP associado a cada máquina deve primeiro estabelecer uma

conexão. O processo de início da conexão faz com que as informações de

status sejam iniciadas em ambos os lados de circuito virtual, garantindo a

sincronização entre os números de seqüência iniciais de cada um dos lados.

Page 83: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

83

Parâmetros especificando a segurança e precedência dos segmentos de dados

a serem transferidos são fechados pelos usuários nesta fase.

Durante a transferência de dados o processo TCP de cada máquina

deve verificar a recepção correta dos dados. No caso de falhas devido a

problemas na rede de comunicações, ambas as máquinas devem detectar a

falha e notificá-la ao programa de aplicação. Após a troca de dados a conexão

deve ser fechada para liberar recursos para outros usuários. O estabelecimento

e o fechamento de uma conexão são realizados em três níveis distintos, com

dois níveis de confirmação para evitar situações de erro.

8.3.1.7 Estabelecimento de conexão

Um pedido de abertura de conexão pode ser feito de dois modos

diferentes : passivo ou ativo. No modo de abertura passiva, o processo usuário

fica em estado de espera aguardando a chegada pela rede de um pedido de

início de conexão. O modo passivo pode ser do tipo completamente

especificado ou não especificado. No primeiro caso o usuário fixa um soquete

remoto pelo qual os pedidos de conexão serão aceitos. Um processo servidor

que deseja fornecer serviços para outros processos deve fazer uma abertura

passiva e aceitar aberturas ativas de qualquer processo chamador.

Na abertura ativa, o usuário necessita estabelecer uma conexão com um

processo servidor remoto, ele cria então um processo cliente para iniciar o

circuito e faz um pedido de abertura ativa. Neste caso o processo na outra

extremidade já deve ter feito a abertura passiva e estar esperando pelas

chamadas de entrada.

O estabelecimento de conexão possui quatro funções principais:

1. assegurar a cada extremidade da conexão a existência da outra pela troca

de pacotes de pedido de conexão e resposta associada;

2. possibilitar a troca de parâmetros opcionais tais como o tamanho de pacote,

o tamanho da janela e a qualidade de servico;

Page 84: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

84

3. alocar recursos tais como o espaço em buffer;

4. criar uma entrada na tabela de conexão.

Para cumprir as funções citadas acima os processos servidor e cliente

devem primeiro definir o conteúdo da estrutura de dados local conhecida como

TCB (Transport Connection Block), com o estabelecimento dos seguintes

dados : tipo da conexão, número da porta remota e local, endereço Ip remoto e

local, estado da conexão, ponteiro para o buffer de entrada.

O estabelecimento da conexão é dividido em três fases para evitar a

ocorrência de problemas como a duplicação da mensagem ou a perda da

mensagem de confirmação do estabelecimento da conexão.

A primeira fase consiste no envio do pedido de conexão, onde a

máquina solicitante informa o número de seqüência inicial dos dados que serão

enviados. Ao receber a solicitação o destinatário envia além do reconhecimento

do pedido de abertura do solicitante, o seu número de sequência inicial. Após

receber a confirmação do seu pedido o solicitante envia o reconhecimento

desta resposta. O mecanismo de troca de números de sequência entre os

processos, evita que dados retransmitidos ou mesmo dados atrasados sejam

interpretados como um novo pedido de abertura de conexão, uma vez que não

podem ser estabelecidas duas conexões consecutivas com o mesmo número

de sequência. No caso de um dos processos interpretar um pedido de conexão

anterior como sendo novo, o outro processo vai responder com uma indicação

de rejeição do pedido.

Page 85: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

85

Exemplo de estabelecimento de conexão bem sucedido

8.3.2 Transferência de Dados

A transferência de dados começa logo após o término da operação de

estabelecimento de conexão.

O mecanismo de janela deslizante aumenta a eficiência da transmissão,

permitindo ao TCP enviar vários pacotes antes que um reconhecimento

chegue. O tamanho da janela deve ser escolhido com cuidado, pois uma janela

maior apesar de aumentar a taxa de transmissão implica na necessidade de

uma capacidade de armazenamento de dados maior em ambos os lados.

No caso da conexão full-duplex pode-se usar o mecanismo de

piggybacking para reduzir o tráfego relativo ao

reconhecimento. Esta técnica usa o recurso de colocar os reconhecimentos

dentro dos segmentos de dados enviados para o outro lado, evitando assim o

envio do reconhecimento em um segmento isolado.

Page 86: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

86

8.3.3 Encerramento da Conexão

Existem duas formas para encerrar a conexão, uma normal e outra

abrupta. Na terminação normal cada um dos lados só é efetivamente

desconectado após a entrega dos seus respectivos dados. O processo de

liberação é negociado, ou seja, o usuário remoto tem a opção de concordar ou

não com a desconexão.

A conexão TCP permite a transferência de dados full-duplex, isto

significa que existem cadeias de dados independentes, fluindo em cada uma

das direções da conexão. Para liberar as duas direções da conexão ambos os

lados devem ser fechados, no entanto, caso desejado, pode-se encerrar só

uma delas .

Algumas vezes pode ocorrer um evento que force o programa de

aplicação ou o software de comunicação a abortar a conexão, caracterizando

uma terminação abrupta. No caso da terminação abrupta, a transferência de

dados cessa imediatamente em ambas as direções, podendo ocorrer perda dos

dados ainda em trânsito.

Page 87: APOSTILA TCP/IP - paginas.unisul.brpaginas.unisul.br/carlos.luz/redes/ROTEAMENTO_DINAMICO/tcpip.pdf · 3 1 HISTÓRICO A história do TCP/IP está intimamente interligada com a da

87

Exemplo de fim de conexão normal

8.3.4 Desempenho TCP

O TCP é um protocolo complexo que promove a comunicação através

de uma grande variedade de tecnologias de rede básica. Muitas pessoas

supõem que, como o TCP desempenha uma tarefa muito mais complexa que

outros protocolos de transporte, o código precisa ser inepto e ineficaz.

Surpreendentemente, a generalidade sua generalidade não parece interferir no

desempenho do TCP. As experiências em Berkeley comprovaram que o

mesmo TCP que opera eficazmente em uma Internet global pode entregar

garantidamente 8 Mbps de troughput de dados de usuário enrte duas estações

de trabalho em uma Ethernet de 10 Mbps.