Buscar

Funções da Camada de Transporte

Prévia do material em texto

As notas de aulas são referências para estudo. Portanto não devem ser adotadas como material didático absoluto! 
Versão 0.1 – 30/08/2008 
 
 
Romildo Martins Bezerra 
CEFET/BA 
Redes de Computadores II 
 
Funções da Camada de Transporte ............................................................... 2 
Controle de conexão ............................................................................. 2 
Fragmentação ..................................................................................... 2 
Endereçamento ................................................................................... 2 
Confiabilidade .................................................................................... 2 
TCP (Transmission Control Protocol) ............................................................. 2 
Confiabilidade do TCP .............................................................................. 3 
UDP – User Datagram Protocol .................................................................... 4 
Pesquise .............................................................................................. 5 
Temas para trabalhos .............................................................................. 5 
Bibliografia ........................................................................................... 5 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A Camada de Transporte 
Romildo Martins Bezerra 
 
 
2 ? 
 
 
Funções da Camada de Transporte 
Os serviços oferecidos pelo protocolo IP não oferecem confiabilidade. Problemas comuns como 
congestionamento, perda ou ordenação de pacotes não são tratados. Entretanto as aplicações (HTTP, FTP 
e SMTP, por exemplo) necessitam prover um serviço de qualidade para o usuário. A camada de transporte 
pode oferecer um serviço confiável de entrega de dados das aplicações utilizando um serviço não 
confiável prestado pela camada de rede. 
Os principais serviços oferecidos pela camada de transporte são: 
 
Controle de conexão 
A camada de transporte possui protocolos que oferecem serviços orientados a conexão e não 
orientados a conexão. Os serviços não orientados a conexão tem conceito semelhante ao funcionamento 
do protocolo IP. Já o serviço orientado a conexão, primeiramente estabelece uma comunicação entre 
usuários finais e só depois começa a transmissão. 
 
Fragmentação 
 Esta função é similar a camada de rede, mas a fragmentação é feita apenas no transmissor e 
receptor, pois os dispositivos de rede em geral não entendem a camada de transporte. Esta fragmentação 
não está relacionada com a feita pela camada de rede. 
Para exemplificar, imagine um email (SMTP) enviado apenas com um texto simples como: 
“Prezada Fulana, vamos sair hoje? Beijos, Fulano”. Agora pense num e-mail com todas as fotos de um 
passeio ou com três arquivos de MP3. Nota-se que uma mensagem SMTP pode conter de alguns bytes até 
dezenas de megabytes. Logo é necessário fragmentar tais informações em pacotes de tamanhos menores 
para serem encapsulados pela camada de rede. 
 
Endereçamento 
Conhecemos o endereçamento IP e sabemos que a identificação de um host na Internet é única. 
Mas imagine duas situações: 
• Um servidor web (HTTP) também é servidor de transferência de arquivos (FTP); 
• Você abre duas janelas do Firefox acessando dois links diferentes de um mesmo site. 
 
Como identificar dois serviços num mesmo host? Como identificar duas sessões diferentes entre 
uma estação e um servidor web? 
Para resolver estas perguntas a camada de transporte oferece à camada de aplicação a função de 
endereçamento, onde os serviços são identificados pela sua porta (HTTP–80, FTP–20/21, SMTP–25, DNS–
53...) e uma conexão entre sua estação e outro host é feita através de um socket1 (IP+porta). 
 
Confiabilidade 
Para garantir a confiabilidade, a camada de transporte oferece: 
 
• Controle de fluxo; 
• Controle de erros; 
• Controle de congestionamento e Qualidade de Serviço 
 
Estudaremos durante o curso estes pontos, alguns deles ainda neste documento. 
 
TCP (Transmission Control Protocol) 
 
O TCP é o protocolo da camada de transporte da arquitetura Internet responsável em oferecer 
confiabilidade na transmissão. Alguns autores consideram-no como a chave do sucesso da Internet [1]. O 
TCP fornece um serviço orientado a conexão, confiável e full-duplex para os serviços de aplicação. Para 
isso: 
 
 
 
1 É uma abstração que mapeia diretamente a uma porta de transporte (TCP ou UDP) e mais um endereço de rede. Com esse conceito 
é possível identificar unicamente um aplicativo ou servidor na rede de comunicação IP. 
Romildo Martins Bezerra 
 
 
3 ? 
 
 
• O TCP é orientado a conexão – Para ter o controle dos 
pacotes enviados e conseguir efetuar a fragmentação, 
o TCP precisa que os usuários finais tenham o 
controle do que está sendo enviado. O protocolo TCP 
especifica três fases durante uma conexão: 
estabelecimento da ligação, transferência e término 
de ligação. Para estabelecimento da conexão o TCP 
necessita que: “O cliente inicia a ligação enviando um 
pacote TCP com a flag SYN activa e espera-se que o 
servidor aceite a ligação enviando um pacote 
SYN+ACK. Se, durante um determinado espaço de 
tempo, esse pacote não for recebido ocorre um 
timeout e o pacote SYN é reenviado. O 
estabelecimento da ligação é concluído por parte do 
cliente, confirmando a aceitação do servidor 
respondendo-lhe com um pacote ACK” - Wikipedia. 
 
• Efetua desconexão “suave” (Graceful Connection 
Shutdown) – O TCP só encerra a conexão depois de 
entregar os dados ao receptor. A desconexão é feita 
conforme visto na figura 02. 
 
• O TCP é Full-duplex - É possível a transferência 
simultânea nas duas direções durante a sessão. 
 
• Utiliza o conceito de stream – O TCP envia uma 
sequencia limitada e contínua de bytes sem noão dos 
registros ou quantidade de pacotes que serão 
recebidos. 
 
• Enxerga a rede como uma conexão ponto-a-ponto – O protocolo TCP fornece uma conexão diretamente 
entre aplicativos dos hosts. Tal conexão é denominada conexão virtual ponto-a-ponto, pois entre o 
transmissor e o receptor, os dispositivos de rede (roteadores) não enxergam a camada de transporte 
(Figura 03). O TCP permite a camada de aplicação enxergar a rede como uma conexão virtual. 
 
 
 
 
 
 
 
 
 
 
 
Figura 03. Ilustração da conexão TCP 
 
 
Confiabilidade do TCP 
São destacados nesta sessão alguns mecanismos que garantem a confiabilidade do protocolo IP, 
vamos estudar estes pontos através de exemplos. È sugerido fortemente a leitura dos capítulos 
relacionados à camada de transporte dos livros da bibliografia. 
 
• Perda de Pacote e Retransmissão – Quando o TCP envia os dados, ele inicializa um mecanismo 
de timeout (temporizador) para receber a confirmação de recebimento. Caso a confirmação 
Roteador 2 
Host B 
Roteador 1 
Host A 
Aplicação 
Transporte 
Rede 
Enlace 
Física 
Aplicação 
Transporte 
Rede 
Enlace 
Física 
Rede 
Enlace 
Física 
Rede 
Enlace 
Física 
 
Figura 01. Estabelecimento de conexão TCP 
(Three-Way Handshake) 
 
Figura 02. Encerramento de conexão TCP 
Romildo Martins Bezerra 
 
 
4 ? 
 
 
não seja recebida ele retransmite o pacote. A retransmissão é a base do sucesso do TCP. 
Reflita sobre a retransmissão no atraso de entrega. 
 
• Retransmissão adaptativa e Controle de Tempo – O TCP monitora o atraso do envio dos pacotes 
e adapta seu temporizador. Mas como ele pode fazer isso se os relógios não são sincronizados? 
Será que esta técnica é eficiente? 
 
• Controle de Fluxo (buffers e janelas de transmissão) – Um problemano mundo das redes é 
garantir o controle de fluxo entre usuários finais. A imprevisibilidade do tráfego é o maior 
problema. Imagine o resultado do vestibular do CEFET publicado na internet. Diversos usuários 
irão fazer requisições em pouco tempo podendo ser mais rápido do que a entrega do servidor 
web. Assim diversas requisições serão novamente realizadas, gerando ainda mais tráfego e 
pacotes duplicados. Daí o TCP utiliza o conceito de buffers (armazenamento de pedidos e 
respostas) e janelas deslizantes: 
 
? Janela deslizante é uma característica de alguns protocolos que permite que o 
remetente transmita mais que um pacote de dados antes de receber uma 
confirmação. Depois de recebê-lo para o primeiro pacote enviado, o remetente 
desliza a janela do pacote e manda outra confirmação. O número de pacotes 
transmitidos sem confirmação é conhecido como o tamanho da janela; 
aumentando o tamanho da janela melhora-se a vazão. 
 
• Controle de Congestionamento - Fica como pesquisa de leitura. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
UDP – User Datagram Protocol 
 
O UDp é um protocolo da camada de transporte não confiável e não orientado a conexão. Fornece 
apenas os serviços de endereçamento e fragmentação, não provendo confiabilidade (controle de fluxo, 
erro, congestionamento). Isso indica que o UDP não adiciona serviços ao protocolo IP. O que nos leva 
então a utilizar o UDP? 
O UDP por ser mais simples possui um cabeçalho menor gerando um menor overhead. Ideal para 
algumas aplicações onde a velocidade é mais útil que a confiabilidade como aplicações multimídia. Afinal 
não faz sentido algum receber um trecho de um arquivo música que já passou. 
Além de aplicações multimídia, o UDP é utilizado também pelo TFTP (Trivial File Transfer 
Protocol), RIP (Routing Information Protocol), SNMP (Simple Network Management Protocol) e DNS 
(Domain Name System). 
 
Figura 04. Mostra a retransmissão (701-800), buffer, janela deslizante e recebimento fora de ordem. 
Romildo Martins Bezerra 
 
 
5 ? 
 
 
Pesquise 
1. As portas reservadas para os serviços web e que protocolos de transporte utilizam. 
2. Para que serve o round-trip delay? 
3. Relacione janelas-deslizantes e algoritmo do início lento. 
4. Síndrome da “Janela Boba”. 
5. Verifique o funcionamento do controle de congestionamento. 
6. Compare os cabeçalhos do TCP e UDP. 
7. Porque o TFTP não precisa de confiabilidade? 
8. Pesquise se existem outros protocolos de transporte na arquitetura TCP/IP. 
 
Temas para trabalhos 
1. Programação de Servidor Web [2] 
2. Programação de Algoritmo de janelas deslizantes. 
 
 
Bibliografia 
[1] FOROUZAN, B.A. Comunicação de Dados e Redes de Computadores. 3ª Edição. Bookman. 2006 
[2] KUROSE, J. Redes de Computadores e a Internet. 3ª Edição. Addison-Wesley, 2006. 
[3] COMER, D. E. Redes de Computadores e a Internet. 4ª Edição. Bookman. 2007.

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes