Você está na página 1de 4

TRANSMISSO DE DADOS

Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 6 1. A CAMADA DE TRANSPORTE Parte 2 1.1. Recuperao de Falhas Na recuperao de falhas a primeira considerao a ser feita sobre qual o tipo de subrede: se datagrama ou circuito-virtual. Se a camada de rede prov um servio de datagramas as entidades de transporte esperam a todo o momento os TPDUs perdidos, e mesmo por rotas distintas eles sempre chegaro. Se a conexo for orientada a servio a perda do circuito ser manipulada estabelecendo uma nova conexo para receber os TPDUs perdidos. Problemas como este mostra questo de uma implementao de confirmao fim a fim. Em princpio, o protocolo de transporte fim a fim, pois no encadeado como as camadas inferiores. Imaginemos um usurio que solicita transaes relativas a um banco de dados remoto. Vamos supor que a entidade de transporte remota estiver programada de modo a passar primeiro as TPDUs para a camada imediatamente superior e s ento enviar a confirmao. Mesmo nesse caso, o fato de uma confirmao ter sido recebida na mquina do usurio no quer dizer necessariamente que o host remoto funcionou por tempo suficiente para atualizar o banco de dados. Uma confirmao fim a fim verdadeira, cujo recebimento indica que o trabalho foi realmente realizado e cuja falta indica que ele no foi cumprido, talvez seja algo impossvel de se alcanar. 1.2. Modelo de Servio TCP O servio TCP obtido quando tanto o transmissor quanto o receptor criam pontos extremos chamados soquetes. Cada soquete tem um nmero de soquete (endereo) que consiste no endereo IP do host e em um nmero de 16 bits local para esse host, chamado porta. Para que o servio TCP funcione, necessrio que uma conexo seja explicitamente estabelecida entre um soquete da mquina transmissora e um soquete da mquina receptora. Cabe ressaltar que um soquete pode ser utilizado por vrias conexes ao mesmo tempo. Em outras palavras, duas ou mais conexes podem terminar no mesmo soquete. As portas com nmeros abaixo de 1024 so denominadas portas conhecidas e so reservadas para servios padro. Por exemplo, qualquer processo que deseje estabelecer uma
1

TRANSMISSO DE DADOS
Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com conexo com um host para transferir um arquivo usando FTP pode se conectar porta 21 do host de destino e entrar em contato com seu daemon de FTP. A lista de portas conhecidas dada em www.iana.org.

1.2.1. Caractersticas do Servio TCP: - Todas as conexes TCP so Full-duplex1 e ponto a ponto2. - O TCP no admite os processos de multidifuso e difuso. - Uma conexo TCP um fluxo de bytes e no um fluxo de mensagens.
Quando uma aplicao repassa dados para a entidade TCP, ela pode envi-las imediatamente ou armazen-las em um buffer (para aguardar outros dados e enviar um volume maior de uma s vez). Entretanto, h ocasies em que a aplicao realmente quer que os dados sejam enviados de imediato. Por exemplo, um usurio que tenha se conectado a uma mquina remota. Depois que uma linha de comandos preenchida e a tecla Enter (ou Carriage Return) pressionada, essencial que a linha seja transportada mquina remota imediatamente. Outro recurso do servio TCP o dos dados urgentes. Quando um usurio interativo pressiona a tecla DEL ou as teclas CTRL- C para interromper um processo remoto j iniciado, a aplicao transmissora adiciona algumas informaes de controle ao fluxo de dados e o entrega ao TCP juntamente com um flag URGENT. Isso faz com que o servio TCP pare de acumular dados e transmita tudo imediatamente.

1.3. TCP (Transmission Control Protocol)


Uma caracterstica fundamental do TCP que domina o projeto do protocolo que cada byte em uma conexo TCP tem seu prprio nmero de seqncia de 32 bits. As entidades transmissoras e receptoras do TCP trocam dados na forma de segmentos. O protocolo bsico utilizado pelas entidades TCP o protocolo de janela deslizante. Quando envia um segmento, o transmissor tambm dispara um timer. Quando o segmento chega ao destino, a entidade TCP receptora retorna um segmento (com ou sem dados, de acordo com as circunstncias) com um nmero de confirmao igual ao prximo

Full-duplex: o trfego pode ser feito em ambas as direes ao mesmo tempo. Ponto a ponto: cada conexo possui exatamente dois pontos terminais.

TRANSMISSO DE DADOS
Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
nmero de seqncia que espera receber. Se o timer do transmissor expirar antes da confirmao ser recebida, o segmento ser retransmitido.

1.4. UDP (User Datagram Protocol)

O conjunto de protocolos da Internet admite um protocolo de transporte sem conexes, o UDP ( User Datagram Protocol). Este oferece um meio para as aplicaes enviarem datagramas IP encapsulados sem que seja necessrio estabelecer uma conexo. O UDP transmite segmentos que consistem em um cabealho de 8 bytes, seguido pela carga til, ou seja, o UDP basicamente o IP com um pequeno cabealho.

- As duas portas indicadas na figura acima servem para identificar os pontos extremos (mquinas de origem e destino). - A porta de origem usada principalmente quando uma resposta dever ser devolvida origem. - O campo UDP length inclui o cabealho de 8 bytes e os dados. - O campo UDP checksum opcional e armazenado como 0 se no for calculado (um valor 0 verdadeiro calculado armazenado com todos os bits iguais a 1). importante saber que UDP no realiza. Ele no realiza controle de fluxo, controle de erros ou retransmisso aps a recepo de um segmento incorreto. Tudo isso cabe aos processos do usurio. O que ele faz fornecer uma interface para o protocolo IP com o recurso adicional de demultiplexao de vrios processos que utilizam as portas. Uma rea na qual o UDP especialmente til a de situaes cliente/servidor. Com freqncia, o cliente envia uma pequena solicitao ao servidor e espera uma pequena resposta de volta. Outra aplicao muito comum para o UDP o DNS (Domain Name System), um programa que precisa pesquisar o endereo IP de algum nome de host - por exemplo, www.ricardobarcelar.com - pode enviar um pacote UDP contendo o nome do host a um servidor DNS. O servidor responde com um pacote UDP que contm o endereo IP.
3

Demultiplexao: entrega de segmentos recebidos aos processos de aplicao corretos. Multiplexao: reunir dados de mltiplos processo de aplicao, juntar cabealhos com informaes para demultiplexao 3

TRANSMISSO DE DADOS
Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

1.5. UDP e TCP sem Fio


Na teoria, os protocolos de transporte deveriam ser independentes da tecnologia da camada de rede em que se baseiam. O TCP no deveria se preocupar com o fato do IP estar sendo executado sobre fibra ou rdio. Na prtica, isso importante, pois a maioria das implementaes do TCP foi otimizada com todo o cuidado, de acordo com suposies que so verdadeiras para as redes fisicamente conectadas, mas que falham no caso das redes sem fios. Ignorar as propriedades da transmisso sem fio pode levar a uma implementao do TCP logicamente correta, mas que tem um desempenho catastrfico. O principal problema o algoritmo de controle de congestionamento. Quase todas as implementaes do TCP atuais pressupem que os timeouts ocorrem devido a congestionamentos, e no a pacotes perdidos. Conseqentemente, quando um timer expira, o TCP diminui o ritmo e comea a transmitir de modo mais lento (por exemplo, o algoritmo de incio lento de Jacobson). A idia por trs dessa abordagem reduzir a carga da rede e assim diminuir o congestionamento. No entanto, os enlaces de dados das transmisses sem fios no so confiveis. Apesar de o UDP no ter os mesmos problemas do TCP, a comunicao sem fio tambm cria algumas dificuldades para ele. O principal problema que os programas utilizam o UDP esperando que ele seja altamente confivel. Para programas que conseguem se recuperar de mensagens UDP perdidas h apenas um custo considervel. Porm, a passagem repentina de um ambiente no qual as mensagens teoricamente podem se perder, mas raras vezes se perdem, para um ambiente em que a perda de mensagens constante pode ter um efeito catastrfico sobre o desempenho.