Você está na página 1de 11

3.3.

1 Camada inter-redes
_a vimos que 0 servi~o previsto pelo IETF para ser oferecido pela camada
=.nter-rede e 0 servi~o nao orientado a conexao e sem confiabilidade (datagrama
:.1ao-confiavel) e que 0 protocolo responsavel por realizar 0 encaminhamento
.Jos pacotes ou datagram as e implementar esse servi~o e 0 Internet Protocol (IP).
IP tambem fornece 0 servi~o de fragmenta~ao e remontagem de datagramas
.ongos, quando necessario, para que eles possam ser transmitidos atraves de re-
.es em que 0 tamanho maximo permitido para os pacotes e pequeno.

ternet Protocol (IP)


IP foi projetado para permitir a interconexao de redes de computadores que
ilizam a tecnologia de comuta~ao de pacotes (Postel, 1981). 0 ambiente in-
:er-rede consiste em esta~6es terminais conectadas a sub-redes, que, por sua vez,
s.ao interligadas atraves de roteadores. As sub-redes que fazem parte da in-
:er-rede podem variar de redes locais (com as mais diferentes tecnologias) ate
:~des geograficamente distribufdas. Urn exemplo de inter-rede simples que usa-
=- mos para explicar alguns conceitos encontra-se ilustrado na Figura 3.10.
Nessa figura, observamos duas sub-redes (A e B), suas respectivas esta~6es
:erminais (indicadas por X, Y e Z) e urn roteador que as interliga. As linhas retas
::..eias denotam enlaces ffsicos das esta~6es com as sub-redes, e as linhas ponti-
adas servem para simbolizar a visualiza~ao do conteudo, em termos da pilha
~e protocolos, em cada esta~ao e rote ad or da rede.
A sub-rede A e suas esta~6es definem urn conjunto de protocolos que permi-
:e a transmissao de urn ponto a outro daquela sub-rede especffica. A sub-rede A
::..aFigura 3.10, por exemplo, pode corresponder a uma rede local em barra uti-
.1Zando 0 padrao IEEE 802.3, enquanto a sub-rede B pode corresponder a uma

I Aplicayao I
Protocolos Protocolos
Subrede Subrede
I TCP/UDP I
I Aplicayao I.. A B I IP I
!TCP/UDPI Protocolos
Sub-rede
I IP I A

Protocolos
Subrede
A
rede geograficamente distribuida (contendo um conjunto de elementos inter-
mediarios que efetuam 0 roteamento interno nessa sub-rede). Conseqiiente-
mente, os conjuntos de protocol os implementados em cada sub-rede podem ser
completamente distintos, tanto em funcionalidades e servi~os como em numero
de camadas presentes - note que, nesse exemplo, a sub-rede A teria duas cama-
das (flsica e enlace), e a sub-rede B, tres (ffsica, enlace e rede). Ja no que diz res-
peito a camada inter-rede, observamos que todas as esta~6es (incluindo rote a-
dores) implementam 0 IP. As camadas de transporte e aplica~ao sao implemen-
tadas apenas nas esta~6es terminais.3
Para que uma esta~ao qualquer possa se comunicar em uma sub-rede, ela de-
vera implementar os protocol os referentes aquela sub-rede. Perceba que uma es-
ta~ao que se conecte a mais de uma sub-rede devera ter interfaces espedficas
com cada uma delas e devera implementar cada um dos conjuntos de protoco-
los, um para cada interface, referente aquelas sub-redes. Esse e, por exemplo, 0
caso do roteador da Figura 3.10.
Do ponto de vista da sub-rede, um roteador nada mais e do que uma esta-
~ao como outra qualquer, ou seja: um ponto de transmissao e recep~ao de
unidades de informa~ao. 0 fato de que um roteador recebe unidades de in-
forma~6es para reencaminha-Ias nao e percebido pelos protocolos da sub-rede,
ja que essa tarefa e realizada por um protocolo de um nivel superior (no casa,
justamente 0 IP).
Uma das primeiras diferen~as entre as sub-redes que deve ser tratada pelo
IP diz respeito ao endere~amento. De acordo com suas especifica~6es de pro-
tocolo, cada sub-rede tem um esquema de endere~amento proprio. No
exemplo, se a sub-rede A segue 0 padrao IEEE 802.3, enta~ os protocolos da
sub-rede utilizarao endere~os de 6 bytes, estruturados de acordo com esse
padrao, para identificar e entregar quadros ao destino correto. Ja se a
sub-rede B for uma rede ATM, entao, nessa sub-rede, toda a identifica~ao
sera baseada em endere~os de 20 bytes, de acordo com algum dos formatos
previstos para esse tipo de rede.
Agora imagine que a esta~ao X deseje transmitir informa~6es para a Y (afi-
nal, e tambem para isso que construimos a inter-rede - para que esta~6es em
sub-redes diferentes possam se comunicar). Mas como a esta~ao X podera iden-
tificar a parceira Y? 0 IP fornece a resposta, criando um novo nivel de endere~a-
mento proprio da camada inter-rede. Cada esta~ao (incluindo os roteadores)
devera receber um endere~o, denominado enderefo IF, completamente inde-
pendente dos endere~os existentes nas camadas inferiores, com um formato
proprio definido pelo IETF.

3 Na pratica, roteadores tambem costumam implementar as camadas de transporte e aplicac;:ao


para executar func;:6es de controle e gerencia (como manutenc;:ao de tabela de rotas, por exemplo).
o IP passou por diversas revis6es antes de se estabilizar na sua versao 4. IPv4,
como e conhecida essa versao, ganhou grande popularidade e e considerada a
versao atual do protocolo. No entanto, ja existe uma especifica~ao para a nova
versao (IPv6) (Deering, 1998), cuja ado~ao deveremos observar dentro dos pr6xi-
mos anos.

_ -0 IPv4, endere~os sao numeros com 32 bits, normalmente escritos como quatro
-etas (em decimal) separados par pontos, como "128.6.4.7", par exemplo.
o endere~o IP segue urn esquema de enderefamento hierarquico. Nesse tipo
.:.= endere~amento, cada endere~o e constituido a partir de partes que corres-
-: ndem aos varios niveis da hierarquia de sub-redes que comp6em a rede como
-Zl rodo. Urn exemplo e 0 esquema de endere~amento utilizado pelo sistema te-
:::onico. A numera~ao telefonica internacional, conforme a Recomenda~ao
::'-164 do ITU- T (ITU- T E.164), determina a utiliza~ao de urn prefixo para iden-
- -. ar 0 pais, seguido de outro identificando a regiao (estado, cidade ou qual-
_. r outra forma de subdivisao), seguido de urn numero que identifica 0 termi-
-', do usuario. Assim, a numero 55-21-3544-7654 tern os prefixos 55 e 21 que
':"'ntificam, respectivamente, a Brasil e a cidade do Rio de Janeiro, sendo a res-
--o,ue a identifica~ao do terminal telefonico. Mais ainda, sabemos que numeros
.:.:: uma mesma regiao da cidade costumam ter prefixos identicos. No nosso
::.' rnplo, telefones ligados a uma mesma central, atendendo, par exemplo, a urn
-::"srno bairro, teriam prefixos identicos. Assim, as numeros 55-21-3544-7654
:: '5-21-3544-2398 seriam terminais telefonicos localizados no mesmo baino,
-: is tern a mesmo prefixo 55-21-3544.
o endere~amento utilizado pelo IP tambem e urn exemplo de endere~amento
- erarquico no qual cada endere~o esta associado a uma interface da esta~ao com
a sub-rede. Novamente, cada endere~o e formado par urn prefixo (denomina-
et-Id), que identifica a sub-rede, e urn sufixo (denominado Host-Id), que
-"'ntifica a interface da esta~ao com aquela sub-rede em particular.
Devemos notar que urn endere~o IP nao identifica uma maquina individual,
sim uma interface entre a esta~ao e a inter-rede. Assim, uma esta~ao conec-
_ a a n redes tern n endere~os IP diferentes, urn para cada conexao. Esse e a
-"-0, par exemplo, do roteador da Figura 3.10. Da mesma forma, se uma esta-
:' 0 qualquer (seja roteador ou terminal de usuario) for retirada de uma sub-rede
:: -onectado a outra, a endere~o IP associado aquela interface obrigatoriamente
:~ a de mudar, ja que parte dele e justamente urn prefixo de identifica~ao da
-rede a qual aquela interface da esta~ao esta conectada.
Tradicionalmente, a defini~ao de quantos bits sao utilizados para a Net-Id
::_ara a Host-Id de urn endere~o IP era feita por meio da especifica~ao de clas-
~~5 de enderefos. Com 0 esquema de endere~amento par classes, cad a endere-
<;:0IP e dito "auto-identificavel", no sentido de que a fronteira entre os bits que
identificam a sub-rede e os que identificam as esta<;:6es dentro da sub-rede sao
automaticamente deduzidos com base no proprio valor do endere<;:o. Com 0
tempo, percebeu-se que esse esquema provocava uma ineficiencia na aloca<;:ao
dos endere<;:os as esta<;:6es, fazendo com que fosse formulado urn novo esque-
ma denominado "sem classes". Com esse novo esquema, torna-se necessaria
uma "Mascara de bits" para a identifica<;:ao dos bits que comp6em 0 Net-Id eo
Host-Id. Basicamente, uma mascara e urn numero de 32 bits, em que 0 n-esimo
bit, quando igual a "1", indica que 0 n-esimo bit do endere<;:o IP corresponden-
te faz parte do Net-Id. Assim como endere<;:os IP, mascaras podem ser descritas
como quatro octetos em decimal separados por pontos ou, alternativamente,
como urn unico numero N (precedido de uma barra), indicando que os N pri-
meiros bits da mascara sao iguais a "1". Por exemplo, "255.255.255.0" e
"/24" san representa<;:6es validas para a mascara de uma sub-rede cujo Net-Id
tern 24 bits.
o esquema de classes do endere<;:amento do IPv4 encontra-se ilustrado na
Figura 3.11.

o 15 23 31
I Octeto1 Octeto2 I Octeto3 I Octeto4 I
Classe A @] netid

Classe B [TIJ
Classe C ~ n_e_ti_d I'
Classe D ~1 E_n_d_er_e_90_M_UI_tic_a_s_t _

Classe E lIlIIT.E:@] R_e_s_e_rv_ad_o_p_a_ra_Us_o_f_Ut_U_ro _

Na primeira classe de endere<;:os, a classe A, 0 bit mais significativo e 0 e os


demais 7 bits do primeiro octeto identificam a rede (Net-Id). Os 24 bits restan-
tes definem 0 endere<;:o da esta<;:ao (Host-Id). A mascara de bits equivalente a
endere<;:os de classe e, portanto, "255.0.0.0" (ou "/8"). Essa classe de end ere-
<;:ose usada para sub-redes de grande porte: os endere<;:os de rede variam de 1 a
126, e, em cada rede, sendo posslvel endere<;:ar cerca de 16 milh6es de hosts
diferentes.
A classe B de endere<;:os usa dois octetos para a identifica<;:ao da rede e dois
para endere<;:os de hosts (mascara equivalente: "/16"). Os endere<;:os de sub-
redes classe B variam na faixa de 128.1 ate 191.255 (os numeros 0 e 255 do se-
gundo octeto, e 127 no primeiro san usados para fun<;:6es especiais), sendo que
cada sub-rede pode interligar cerca de 65 mil hosts.
Os endere<;os classe C utilizam tres octetos para identificar a rede e urn para
~ost (mascara equivalente: "/24"). Os endere<;os de rede situam-se na faixa de
~ _.1.1 ate 223.254.254, e cada rede pode endere<;ar 254 hosts.
Os endere<;os acima de 223 no primeiro octeto foram reservados para ende-
--:amento de grupo (Multicast - classe D) e para uso futuro (classe E).

- agrama IP
~ormato do datagrama IPv4 encontra-se ilustrado na Figura 3.12.

o 7 15 23 31
I Octeto 1 I Octeto 2 I Octeto 3 I Octeto 4 I
VERS I HLEN I TOS TOTAL LENGTH
IDENTIFICATION FLAGS I FRAGMENT OFFSET
TIMETO LIVE I PROTOCOL HEADER CHECKSUM
SOURCE IP ADDRESS
DESTINATION IP ADDRESS
IP OPTIONS (IF ANY) I PADDING

DADOS


Figura 3.12 Datagrama IPv4.

Cada datagrama IP come<;a com urn cabe<;alho, ilustrado na Figura 3.12 pe-
- ampos em cinza. Os primeiros 4 bits do primeiro octeto (Vers) indicam a
~ ao do protocolo (no caso, versao 4). Os 4 bits seguintes contem 0 tamanho
- -abe<;alho (Header Length - HLEN), contado em palavras de 4 octetos (uma
. a inteira da figura). Em geral, esse campo contem 0 valor 5, a nao ser quan-
- 0 campo Ip Options esta presente. 0 campo ip options possui tamanho e con-
--' 0 variaveis, podendo ate nao existir.
o campo Type Of Service (TOS) e utilizado para classifica<;ao do datagra-
para efeito do tratamento de QoS. Dependendo do valor de sse campo, urn
~ :eador pode dar prioridade ao seu tratamento e encaminhamento, colocan-
:.. -0 em uma fila separada, por exemplo. Arquiteturas de QoS como 0 DiffServ,
__ " veremos no Capitulo 6, usam extensivamente esse tipo de expediente. Os
:.. - bytes finais da primeira linha armazenam 0 campo denominado Total
~ 19th, cujo objetivo e armazenar 0 tamanho total, em bytes, do datagrama.
Os campos Identification, Flags e Fragment Offset permitem 0 tratamento
_ :.teto de urn datagrama no caso em que ele precisa ser fragmentado (dividido
=- ,'arios datagram as menores) ao passar por alguma das sub-redes. 0 primei-
eles fornece uma identifica<;ao (mica para todas as partes que formam 0 da-
~_ ama original; 0 segundo contem algumas informa<;6es de controle sobre a
fragmentas;ao; e 0 terceiro contem a indicas;ao do ponto de infcio daquele
fragmento em relas;ao ao infcio do datagram a original (contado em palavras de
8 octetos).
Ocampo TIL (Time to Live) e utilizado para evitar que, por algum tipo de
mal funcionamento ou problema no roteamento, datagram as circulem indefini-
damente na rede sem chegar a seu destino (no caso de encaminhamento em ci-
dos, por exemplo). Na origem, 0 IP da estas;ao atribui a esse campo urn valor se-
guramente maior do que 0 numero de passos (hops) que 0 pacote devera percor-
rer ate chegar ao seu destino. Esse valor inicial depende de varios fatores como
implementas;ao, sistema operacional da maquina etc. Em cada roteador pelo
qual 0 pacote passa, 0 IP decrementa 0 valor desse campo. No caso em que urn
roteador recebe urn datagrama com esse campo igual a zero, ele assume que 0
datagrama ja circulou tempo suficiente na rede para chegar ao seu destino e,
portanto, provavelmente, esta vagando sem rumo pela rede. Esse roteador en-
tao simplesmente descarta 0 pacote.
o campo Protocol identifica 0 tipo de protocolo que gerou a carga encapsu-
lada no campo de dados do datagrama. Cada protocolo usuario do IP recebe
uma identificas;ao para ser utilizada nesse campo. Por exemplo, 0 TCP e 0 pro-
tocolo 6, e 0 UDP e 0 17. A lista de protocolos e seus c6digos e mantida pela
!ANA (Internet Assigned Numbers Authority).
o Header Checksum e urn campo de 2 bytes de informas;ao redundante, uti-
lizado para detecs;ao de erros no cabes;alho causados por problemas de transmis-
sao. Note que 0 IP oferece urn servis;o de datagrama nao-confiavel, 0 que signifi-
ca que nao sao efetuados procedimentos para garantir a entrega correta dos da-
tagramas. 0 unico cui dado tornado pelo IP e verificar a integridade do cabes;a-
lho para que encaminhamentos inuteis nao sejam efetuados. 0 restante do paco-
te nao e protegido. Em caso de detecs;ao positiva de erro no cabes;alho, 0 pacote
e simplesmente descartado pelo IP.
Os campos source IP address e destination IP address carregam respectiva-
mente os enderes;os das estas;6es origem e destino. 0 campo IP Options e usado
para informas;6es de segurans;a, roteamento na origem, relat6rios de erro, depu-
ras;ao, fixas;ao de hora etc. 0 campo data carrega os dados do datagrama IP.

o roteamento e 0 encaminhamento sao as principais funs;6es da camada in-


ter-redes. A funs;ao de roteamento diz respeito a escolha das rotas que serao usa-
das pelos rote adores e estas;6es a cada momento. 0 roteamento e responsavel
por alimentar as tabelas de rotas existentes em cada estas;ao e roteador da rede,
forman do uma grande base distribuida de informas;6es sobre as rotas utilizaveis
em cada instante. ]a 0 encaminhamento e responsavel por utilizar as informa-
s;6es das tabelas de rotas de forma a encaminhar cada pacote passo a passo, de
b-rede em sub-rede, ate 0 destino. 0 encaminhamento e fun<;;aounica e exc1u-
- a do IP, enquanto a manuten<;;ao das tabelas de rotas e efetuada por outros
:-:mocolos especificos, como 0 BGP (Border Gateway Protocol), 0 OSPF (Open
'=.::lOrtestPath First) etc.
o encaminhamento efetuado pelo IP baseia-se exc1usivamente no identifi-
-- or de rede do endere<;;o IP de destino. A tabela de rotas de cada esta<;;aoe ro-
-- dor possui, como entradas, pares de valores que identificam 0 endere<;;o IP da
-:: e de destino e endere<;;o IP do proximo roteador. Quando 0 IP tern de enca-
-; har urn datagram a, ele inicialmente verifica se 0 destino do datagrama e uma
_-=a<;;aoconectada a uma mesma rede que a propria maquina em execu<;;ao. Essa
::rifica<;;aoe feita com base na compara<;;ao dos prefixos (Net-Id) da maquina
::xe utando 0 IP e do endere<;;o de destino do datagrama em quesrao. No caso de
_:ses prefixos serem identicos, 0 datagrama e encaminhado a interface corres-
-; ndente para a entrega direta do pacote a esta<;;aodestino. Nesse momento, ha
=:::J Gutro problema a resolver. 0 IP devera solicitar 0 envio do datagrama ao
:-:-orocolo da sub-rede correspondente aquela interface. Para que essa solicita-
~~o possa ser efetuada, 0 IP necessita informar a camada subjacente 0 endere<;;o
.:.:::-e destino no formato utilizado pelo protocolo daquela sub-rede, ja que esse e
:mico formato conhecido e utilizado pelos protocolos da sub-rede para entre-
=:. de seus dados.
Torna-se, portanto, necessario algum mecanismo que permita map ear -
.1. usando a nomenclatura mais comum, resolver - 0 endere<;;o IP em urn en-
.:.::re<;;oda sub-rede. 0 mecanismo utilizado pe10 IP para realizar a resolu<;;ao
..:.::endere<;;os e baseado no uso de uma tabe1a de mapeamento (diferente da
-= ela de rotas), mantida dinamicamente por urn protocolo conhecido pelo
-orne de Protocolo de Resolufao de Enderefos (Address Resolution Protocol-
-_'UJ).Essa tabela, denominada tabela ARP, e formada por pares de valores
~::e identificam 0 endere<;;o IP e 0 endere<;;o de sub-rede das esta<;;6es de desti-
-0.

A forma com que 0 ARP mantem as entradas de sua tabela varia de sub-rede
-;.rra sub-rede. RFCs especificas cuidam de determinar, para cada sub-rede, 0
='" anismo mais adequado. Em uma sub-rede que corresponda a uma rede 10-
:.i.4 por exemplo, a esta<;;aode origem pode, antes do envio de qualquer infor-
-;1 ).0, enviar uma mensagem a todas as esta<;;6esda sub-rede (por difusao), ar-
~7,- do sobre 0 endere<;;o do nivel de sub-rede correspondente ao endere<;;o do
=":-:elde rede do destino desejado. A esta<;;aode destino pode responder a requi-
_ ;ao enviando seu proprio endere<;;o de sub-rede, possibilitando a origem inse-
_.:: essa informa<;;ao na tabela ARP. .

- ,) exemplo se refere a uma rede local simplesmente pelo fato de que mensagens por difusao sao
ente implementadas nesse tipo de rede.
Como vimos, 0 ARP permite a entrega direta de urn datagrama, isto e,
permite a resolu~ao do endere~o IP do destino desejado para 0 endere~o uti-
lizado peia sub-rede para entrega do pacote a-uma esta~ao obviamente co-
nectada a mesma sub-rede. Mas, e se uma esta~ao ou roteador tiver urn paco-
te a entregar cuja sub-rede (identificada pelo prefixo do endere~o de destino
do datagrama) for diferente da propria sub-rede daqueia esta~ao ou rote a-
dor? Nesse caso, a esta~ao (ou roteador) deve procurar, em sua tabela de ro-
tas, uma entrada com 0 endere~o de sub-rede igual ao do prefixo de endere~o
de destino do datagram a, recuperando assim 0 endere~o do roteador que
deve ser usado para efetuar 0 proximo passo em dire~ao a sub-rede a qual
esta conectado 0 destinatario. 0 roteador recuperado estara, obrigatoria-
mente, localizado em uma me sma sub-rede que a esta~ao (ou roteador) com 0
pacote a encaminhar. Dessa forma, de posse do endere~o IP do rote ad or , e
possivel acionar 0 ARP para enviar 0 pacote a esse roteador e dar prossegui-
mento ao processo de encaminhamento.
Uma desvantagem do esquema de roteamento apresentado e 0 tamanho
das tabelas de rotas, quando a inter-rede interliga urn numero muito grande
de redes individuais (que e 0 caso da Internet). Para enfrentar esse proble-
ma, san utilizadas estrategias que diminuem 0 tamanho das tabelas de rote a-
mento. Uma delas e a utiliza~ao de roteadores default. Por exemplo, em re-
des que san ligadas a inter-rede por urn unico roteador (urn exemplo bas-
tante comum e a rede de urn departamento ser ligada ao backbone da em-
presa por urn unico roteador), nao e necessario ter uma entrada separada na
tabela de rotas para cada uma das redes distintas da inter-rede. Simples-
mente define-se 0 roteador como caminho default. Outra estrategia e 0 usa
de blows CIDR (Classless Inter-Domain Routing). Urn bloco CIDR permite
agrupar endere~os IP de sub-redes com prefixos (Net-Ids) similares sob urn
unico endere~o IP de super-rede, cujo prefixo e urn denominador comum
para os prefixos das sub-redes. Por exempIo, os endere~os IP de classe C
"200.82.0.0/24" e "200.82.1.0/24" podem ser unidos em urn unico bloco
CIDR "200.82.0.0/23".

3.3.2 Camada de transporte


A arquitetura Internet permite que sejam utilizados dois tipos principais de pro-
tocolo em sua camada de transporte. 0 primeiro deles e 0 TCP (Transmission
Control Protocol), que opera no modo orientado a conexao fornecendo urn ser-
vi~o de transferencia de dados confiavel. A outra op~ao e 0 UDP (User Data-
gram Protocol), que opera no modo sem conexao e fornece urn servi~o datagra-
ma nao-confiavel, sendo uma simples extensao do IP.
a UDP recebe os pedidos de transmissao de pacotes entregues peios proces-
sos de aplica~ao da esta~ao de origem e os encaminha ao IP, que e 0 responsavel
ela transmissao. Na esta<;:aode destino, 0 processo inverso ocorre. 0 IP entrega
as mensagens (datagram as) recebidas ao UDP, que as entrega aos process os de
aplica<;:ao. A principal fun<;:ao do UDP e multiplexar, na origem, e demultiple-
xar, no destino, 0 acesso ao nivel inter-rede.
Para permitir que varios processos em urn unico host possam simultanea-
mente transmitir cadeias de dados, ou seja, possam simultaneamente usar
eus servi<;:os, os protocolos de transporte utilizam 0 conceito de porta. Cada
:.1mdos usuarios (processos de aplica<;:ao) que 0 TCP ou 0 UDP esta atenden-
o em urn dado momenta e identificado por uma porta diferente (fazendo
analogi a com 0 modelo 051, uma porta e urn SAP de nivel de transporte, ou
T -SAP). Cada processo de aplica<;:ao na inter-rede pode, portanto, ser univo-
-amente identificado pela concatena<;:ao do endere<;:o IP com uma porta. A
ssocia<;:ao de portas a processos e tratada independentemente por cada enti-
ade de transporte. Entretanto, processos servidores que sao muito usados
(FTP, Telnet etc.) sao associados a portas fix as, que sao entao divulgadas
::lara os usuarios.
Quando dois process os desejam se comunicar utilizando urn servi<;:ocom co-
:::lexaoe confiavel, as instancias do TCP as quais eles estao associados devem es-
:abelecer uma conexao. Quando a comunica<;:ao termina, a conexao e encerra-
a, liberando os recursos por ela utilizados.
o TCP e capaz de transferir urn fluxo (stream) continuo de octetos, nas
duas dire<;:6es, entre seus usuarios. Normalmente 0 TCP decide 0 momenta
de parar de agrupar os octetos e, consequentemente, de transmitir 0 segmen-
co formado por esse agrupamento. Porem, caso deseje, 0 usuario do TCP
(isto e, uma entidade de aplica<;:ao) pode fazer uso da fun<;:ao push, que faz
om que 0 TCP transmita imediatamente os octetos que estao nos seus buf-
'ers aguardando transmissao.
o TCP e responsavel pela recupera<;:ao de dados corrompidos, per didos, du-
plicados ou entregues fora de ordem pelo protocolo inter-rede. Conceitualmen-
e, cada octeto transmitido e associado a urn numero de sequencia. 0 numero de
sequencia do primeiro octeto dos dados contidos em urn segmento e transmiti-
o junto com 0 segmento e e denominado numero de seqiiencia do segmento. Os
-egmentos carregam "de carona" (piggybacking) urn reconhecimento. 0 reco-
nhecimento constitui-se do numero de sequencia do proximo octeto que a enti-
dade TCP transmissora espera receber do TCP receptor na dire<;:ao oposta da
-onexao. Por exemplo, se 0 numero de sequencia X for transmitido no reconhe-
cimento, ele indica que a entidade TCP transmissora recebeu corretamente os
octetos com numero de sequencia"menores que X, e que ele espera receber 0 octe-
to X na proxima mensagem.
No TCP receptor, os numeros de sequencia sao usados para ordenar os seg-
mentos que porventura tenham sido recebidos fora de ordem, e para eliminar
segmentos duplicados. Para tratar os segmentos corrompidos e adicionado urn
checksum a cada segmento transmitido. No receptor e feita uma verificac,;ao e os
segmentos danificados sao descartados.
Quando uma entidade TCP transmite urn segmento con tendo dados, e1a
coloca uma copia do segmento em uma fila de retransmissao e dispara urn
temporizador. Quando 0 reconhecimento da recepc,;ao dos dados e recebido,
o segmento e retirado da fila. Se, por outro lado, 0 reconhecimento nao for
recebido antes de 0 temporizador expirar, 0 segmento e retransmitido. Urn
problema que surge nesse contexto e a escolha do valor do temporizador. 0
valor ideal teria de ser urn pouco superior ao retardo medio de ida e volta
(RTT - Round Trip Time). A escolha de urn valor alto fara com que a entida-
de TCP de more a perceber a perda de pacotes, diminuindo 0 tempo de rea-
c,;aoe, conseqiientemente, a taxa de transmissao na conexao. Por outro lado,
a escolha de urn valor baixo fara. com que sejam realizadas retransmissoes
desnecessarias. A principal dificuldade com a estimativa e 0 grau de comple-
xidade de uma rede como a Internet, que interliga redes com as mais variadas
tecnologias, em que mudanc,;as na carga podem provocar variac,;oes gran des
no RTT.
o TCP prove meios para que 0 receptor possa determinar 0 volume de da-
dos que 0 transmissor pode the enviar, ou seja, para controlar 0 fluxo dos dados.
o mecanismo de controle de fluxo baseia-se no envio, junto com 0 reconheci-
mento, do numero de octetos que 0 receptor tern condic,;oes de receber (tama-
nho da janela de recepc;iio), contados a partir do ultimo octeto da cadeia de da-
dos recebido com sucesso. Com base nessa informac,;ao, 0 transmissor atualiza
sua janela de transmissiio, ou seja, calcula 0 numero de octetos que pode enviar
antes de receber outra liberac,;ao.
Note que esse problema nao e tao simples quanto parece pois, no caminho
entre 0 transmissor 0 e receptor existe uma rede que pode ser tao complexa
quanto a Internet. Assim, mesmo que 0 receptor possua capacidade para absor-
ver segmentos a uma determinada taxa, caso a capacidade de enlace na rota en-
tre 0 transmissor e 0 receptor seja inferior a essa taxa, com 0 passar do tempo,
segmentos ficarao represados no roteador posicionado na entrada desse enlace.
Posteriormente, quando a capacidade de armazenamento desses roteadores for
excedida, e1es serao simplesmente descartados.
Allman (1999) propoe que sejam usados quatro mecanismos no gerencia-
mento do tamanho das jane1as do TCP: iniciac;iio lenta (slow start), prevenc;iio
de congestionamento (congestion avoidance), retransmissiio antecipada (fast re-
transmit) e recuperac;iio rapida (fast recovery). Esses mecanismos sao descritos
em Jacobson (1992).
Transporte de sinalizac;ao telefonica em redes IP
o servi~o oferecido pelo TCP e, ao mesmo tempo, de transporte confiavel e com se-
quenciamento estrito entre as mensagens, 0 que, em determinadas condi~oes, torna 0 pro-
tocolo bastante ineficiente. Por exemplo, se uma rede IP e usada para transportar sinaliza-
~ao telef6nica, uma mesma conexao TCP pode ser utilizada na troca de mensagens de sina-
Iiza~ao correspondentes a chamadas telefonicas distintas. Nesse caso, s6 seria real mente
necessario manter a sequencia~ao das mensagens de uma mesma chamada. Contudo, 0

TCP, pela sua caracteristica de controlar indistintamente um unico f1uxo de octetos por co-
nexao, pode acabar bloqueando a transmissao de mensagens de sinaliza~ao de uma cha-
mada atraves de uma conexao em face de uma mensagem de outra chamada precisar even-
tualmente ser retransmitida nessa mesma conexao.
o IETF define 0 protocolo SCTP (Stream Control Transmission Protocol) (Stewart, 2000)
omo uma alternativa para servi~os de transporte de sinaliza~ao telefonica (e outras aplica-
,oes similares) na arquitetura TCP/IP. Assim como 0 TCP, 0 SCTPprove um servi~o orientado
a conexao e confiavel. Contudo, 0 SCTP e orientado a fluxos de mensagens, e nao octetos,
omo 0 TCP.Alem disso, uma conexao SCTPpode ser "particionada" em diversos fluxos que
'em como propriedade 0 fate de serem independentes com rela~ao a sequencia~ao de suas
ensagens. Assim, a perda de uma mensagem de um fluxo nao interfere no envio das men-
sagens de outros fluxos na mesma conexao SCTP. Ha, nos padroes H.323 e Megaco/H.248
ver Capitulos 8 e 9), referencias ao uso de SCTPem substitui~ao ao TCP para 0 transporte de
suas mensagens de sinaliza~ao.

3.3 Camada de aplica;ao


_-:....guns
protocolos de aplica~ao disponfveis e bastante difundidos na arquitetura
-CP P sao:

I Simple Mail Transfer Protocol (SMTP) (Postel, 1982), que oferece urn ser-
vi~o store-and-forward em caixas postais para mensagens que carregam
correspondencias contendo textos (correio eletronico). Associados a ser-
vi~os de correio eletronico ha tambem protocolos importantes de acesso
as caixas postais, como POP (Post Office Protocol) (Myers, 1996) e IMAP
(Internet Message Access Protocol) (Crispin, 1996).
I File Transfer Protocol (FTP) (Postel, 1985), que fornece 0 servi~o de
transferencia de arquivos ..
I TELNET (Postel, 1985), que oferece 0 servi~o de terminal virtual. Por
quest6es relacionadas a seguran~a, esse protocolo vem perdendo espa~o
para 0 SSH (Secure SHell) (Ylonen, 2005), que permite, alem de ernul a-
~ao de terminal, transferencia segura de arquivos ao estilo do FTP.

Você também pode gostar