Camada de Transporte: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Linha 13: Linha 13:
Como em cada host podem haver vários '''processos de aplicação''' rodando, a '''camada transporte''', com os '''protocolos TCP e UDP''', são responsáveis por entregar pacotes, chamados '''segmentos''', de um processo rodando em um host origem a outro processo rodando no host destino, identificados pelos '''números de porta''' origem e destino. Este serviço é chamado multiplexação / demultiplexação de aplicações.
Como em cada host podem haver vários '''processos de aplicação''' rodando, a '''camada transporte''', com os '''protocolos TCP e UDP''', são responsáveis por entregar pacotes, chamados '''segmentos''', de um processo rodando em um host origem a outro processo rodando no host destino, identificados pelos '''números de porta''' origem e destino. Este serviço é chamado multiplexação / demultiplexação de aplicações.


;Exemplo 1: Cliente e servidor HTTP
===Exemplo 1: Cliente e servidor HTTP===
:Um servidor de aplicações espera conexões em portas bem conhecidas. Por exemplo, um '''servidor Web''' utiliza a '''porta 80''' para aceitar conexões. Quando um '''navegador Web''' inicia uma seção, ele envia ao servidor um '''segmento TCP''' com porta '''destino 80''' e coloca como número de porta origem uma porta que não esteja sendo utilizada no host cliente, por exemplo, a '''porta 18123'''. A porta 18123 será onde o cliente vai esperar a resposta do servidor. Quando o servidor recebe o segmento, ele verifica que o mesmo é endereçado a porta 80 e então sabe que se trata da aplicação Web. No envio da resposta o servidor inverte as portas origem e destino. Enviando ao cliente um segmento com porta destino 18123 e origem 80.
:Um servidor de aplicações espera conexões em portas bem conhecidas. Por exemplo, um '''servidor Web''' utiliza a '''porta 80''' para aceitar conexões. Quando um '''navegador Web''' inicia uma seção, ele envia ao servidor um '''segmento TCP''' com porta '''destino 80''' e coloca como número de porta origem uma porta que não esteja sendo utilizada no host cliente, por exemplo, a '''porta 18123'''. A porta 18123 será onde o cliente vai esperar a resposta do servidor. Quando o servidor recebe o segmento, ele verifica que o mesmo é endereçado a porta 80 e então sabe que se trata da aplicação Web. No envio da resposta o servidor inverte as portas origem e destino. Enviando ao cliente um segmento com porta destino 18123 e origem 80.
:[[Arquivo:PortasTCP.png]]
:[[Arquivo:PortasTCP.png]]
Linha 51: Linha 51:
*[http://pt.wikipedia.org/wiki/Lista_de_portas_de_protocolos Wikipédia: Lista de portas de protocolos]
*[http://pt.wikipedia.org/wiki/Lista_de_portas_de_protocolos Wikipédia: Lista de portas de protocolos]


;Exemplo 2: Três clientes e um servidor Web
===Exemplo 2: Três clientes e um servidor Web===
:No ''host'' A temos dois processos cliente Web acessando o servidor C (porta 80), cada um identificado por uma porta origem (1028 e 1029, respectivamente). No host B temos outro processo cliente (porta 1155) está acessando o servidor C (porta 80). O servidor encaminha as respostas ao cliente identificando o IP e a porta correspondente.
:No ''host'' A temos dois processos cliente Web acessando o servidor C (porta 80), cada um identificado por uma porta origem (1028 e 1029, respectivamente). No host B temos outro processo cliente (porta 1155) está acessando o servidor C (porta 80). O servidor encaminha as respostas ao cliente identificando o IP e a porta correspondente.
:[[Arquivo:PortasTCP2.png]]
:[[Arquivo:PortasTCP2.png]]
;Perguntas:
#É possível que o host A e o host B acessem o servidor C utilizando a mesma porta origem? Explique.
#Liste quantos e quais campos são necessários na estrutura de dados que o servidor deve manter para identificar corretamente cada um dos processos clientes que acessam o serviço.


==Referências==
==Referências==

Edição das 20h25min de 26 de março de 2015

Camada de Transporte [1]

A Camada de Transporte está situada entre a camada aplicação e a camada rede da Arquitetura Internet e tem a função de prover um canal de comunicação lógico fim-a-fim entre os processos de aplicação rodando em diferentes computadores.

Os dois Protocolos de Transporte da Internet são o TCP e o UDP:

Protocolo TCP
Oferece um serviço orientado a conexão, com transmissão de dados garantida ou livre de erros.
Protocolo UDP
Oferece um serviço não orientado a conexão, com transmissão de dados tipo melhor esforço, portanto sujeita a erros.

Multiplexação/demultiplexação de aplicações através de portas

A camada rede e o protocolo IP são responsáveis por entregar datagramas, ou pacotes IP, de um host a outro host, identificados pelos endereços IP origem e destino.

Como em cada host podem haver vários processos de aplicação rodando, a camada transporte, com os protocolos TCP e UDP, são responsáveis por entregar pacotes, chamados segmentos, de um processo rodando em um host origem a outro processo rodando no host destino, identificados pelos números de porta origem e destino. Este serviço é chamado multiplexação / demultiplexação de aplicações.

Exemplo 1: Cliente e servidor HTTP

Um servidor de aplicações espera conexões em portas bem conhecidas. Por exemplo, um servidor Web utiliza a porta 80 para aceitar conexões. Quando um navegador Web inicia uma seção, ele envia ao servidor um segmento TCP com porta destino 80 e coloca como número de porta origem uma porta que não esteja sendo utilizada no host cliente, por exemplo, a porta 18123. A porta 18123 será onde o cliente vai esperar a resposta do servidor. Quando o servidor recebe o segmento, ele verifica que o mesmo é endereçado a porta 80 e então sabe que se trata da aplicação Web. No envio da resposta o servidor inverte as portas origem e destino. Enviando ao cliente um segmento com porta destino 18123 e origem 80.

Portas reservadas e portas de uso geral

  • Portas de 0 a 1023: Portas reservadas, utilizadas pela aplicações bem conhecidas.
  • Portas de 1024 a 65535: Portas de uso geral.
Algumas portas reservadas
Porta Transporte Aplicação
13 TCP Daytime
13 UDP Daytime
20 TCP FTP [Default Data]
21 TCP FTP [Control]
22 TCP SSH
23 TCP Telnet
25 TCP SMTP (email)
53 UDP DNS
80 TCP Web HTTP
110 TCP POP3
443 TCP HTTPS

Exemplo 2: Três clientes e um servidor Web

No host A temos dois processos cliente Web acessando o servidor C (porta 80), cada um identificado por uma porta origem (1028 e 1029, respectivamente). No host B temos outro processo cliente (porta 1155) está acessando o servidor C (porta 80). O servidor encaminha as respostas ao cliente identificando o IP e a porta correspondente.
Perguntas
  1. É possível que o host A e o host B acessem o servidor C utilizando a mesma porta origem? Explique.
  2. Liste quantos e quais campos são necessários na estrutura de dados que o servidor deve manter para identificar corretamente cada um dos processos clientes que acessam o serviço.

Referências

  1. KUROSE, J.F; ROSS K. W. Redes de Computadores e a Internet: Uma abordagem top-down, São Paulo: Pearson, 2010.

--Evandro.cantu (discussão) 10h33min de 12 de junho de 2014 (BRT)