14
Redes de Computadores Camada de Transporte

Camada de Transporte - docente.ifrn.edu.brdocente.ifrn.edu.br/.../2012.2/redes-ii-eja/Aula12.pdf · Serviços da Camada de Transporte Provê comunicação lógica entre processos

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Camada de Transporte - docente.ifrn.edu.brdocente.ifrn.edu.br/.../2012.2/redes-ii-eja/Aula12.pdf · Serviços da Camada de Transporte Provê comunicação lógica entre processos

Redes de Computadores

Camada de Transporte

Page 2: Camada de Transporte - docente.ifrn.edu.brdocente.ifrn.edu.br/.../2012.2/redes-ii-eja/Aula12.pdf · Serviços da Camada de Transporte Provê comunicação lógica entre processos

Serviços da Camada de Transporte

● Provê comunicação lógica entre processos da camada de aplicação rodando em diferentes hosts.

● Protocolos de transporte rodam nos sistemas finais ● Origem: quebra as mensagens em segmentos*, e

repassa para a camada de redes● Destino: recompõe os segmentos e repassa para a

camada de aplicação.● Protocolos da camada de transporte para a Internet:

TCP e UDP

* - segmentos são o PDU (Packet data Unit) da camada de transporte

Page 3: Camada de Transporte - docente.ifrn.edu.brdocente.ifrn.edu.br/.../2012.2/redes-ii-eja/Aula12.pdf · Serviços da Camada de Transporte Provê comunicação lógica entre processos

Camada de Transporteaplicação

transporterede

enlacefísica

redeenlacefísica

Transporte lógico fim-a-fim

aplicaçãotransporte

redeenlacefísica

redeenlacefísica

Page 4: Camada de Transporte - docente.ifrn.edu.brdocente.ifrn.edu.br/.../2012.2/redes-ii-eja/Aula12.pdf · Serviços da Camada de Transporte Provê comunicação lógica entre processos

Camada de Transporte

● Transferência de dados entre processos ● Utiliza e aprimora os serviços oferecidos pela

camada de rede ● Responsável por transportar os dados entre

duas aplicações em máquinas diferentes de uma rede

● O caminho não é definido nessa camada, apenas qual PORTA enviará e receberá os dados

Page 5: Camada de Transporte - docente.ifrn.edu.brdocente.ifrn.edu.br/.../2012.2/redes-ii-eja/Aula12.pdf · Serviços da Camada de Transporte Provê comunicação lógica entre processos

Protocolos

● TCP – Transfer Control Protocol● Controle de congestionamento● controle de fluxo● orientado à conexão● Confiável, seqüencial e unicast

● UDP – User Datagram Protocol● Não confiável;● Melhor esforço;● Não seqüencial

Page 6: Camada de Transporte - docente.ifrn.edu.brdocente.ifrn.edu.br/.../2012.2/redes-ii-eja/Aula12.pdf · Serviços da Camada de Transporte Provê comunicação lógica entre processos

Multiplexação de Aplicações

● Multiplexação: reunir dados de múltiplos processo de aplicação, juntar cabeçalhos com informações para demultiplexação

● Demultiplexação: entrega de segmentos recebidos aos processos de aplicação corretos

Page 7: Camada de Transporte - docente.ifrn.edu.brdocente.ifrn.edu.br/.../2012.2/redes-ii-eja/Aula12.pdf · Serviços da Camada de Transporte Provê comunicação lógica entre processos

Multiplexação

aplicaçãotransporte

rede

D P2aplicação

transporterede

receptorHt

Hn segmento

segmento Daplicação

transporterede

P1D

D DP3 P4

cabeçalho dosegmento

dados da camada de aplicação

transmissor

Page 8: Camada de Transporte - docente.ifrn.edu.brdocente.ifrn.edu.br/.../2012.2/redes-ii-eja/Aula12.pdf · Serviços da Camada de Transporte Provê comunicação lógica entre processos

Exemplo Multiplexação

host A servidor Bporta origem: xporta dest.: 23

porta origem:23port dest.: x

aplicação Telnet

cliente Webhost A

Servidor Web B

cliente Webhost C

IP Origem: CIP Dest: B

porta origem: xporta dest.: 80

IP Origem: CIP Dest: B

porta origem: yporta dest.: 80

aplicação: servidor Web

IP Origem: AIP Dest: B

porta origem : xporta dest.: 80

Page 9: Camada de Transporte - docente.ifrn.edu.brdocente.ifrn.edu.br/.../2012.2/redes-ii-eja/Aula12.pdf · Serviços da Camada de Transporte Provê comunicação lógica entre processos

Demultiplexação

● Host recebe o datagrama IP

● Cada datagrama tem IP de origem e IP de destino

● Cada datagrama transporta 1 segmento da camada de transporte

● Cada segmento possui número de porta de origem e destino

● Os hosts usam endereço IP & número de portas para direcionar o segmento para o socket adequado

source port # dest port #

32 bits

Dados da aplicação (mensagem)

Outros campos do cabeçalho

segmento TCP/UDP

Page 10: Camada de Transporte - docente.ifrn.edu.brdocente.ifrn.edu.br/.../2012.2/redes-ii-eja/Aula12.pdf · Serviços da Camada de Transporte Provê comunicação lógica entre processos

Dilema dos Comandantes

Page 11: Camada de Transporte - docente.ifrn.edu.brdocente.ifrn.edu.br/.../2012.2/redes-ii-eja/Aula12.pdf · Serviços da Camada de Transporte Provê comunicação lógica entre processos

Dilema dos Comandantes

● Dois comandantes estão em montes prestes a atacar uma cidade no vale

● Eles precisam combinar um horário para o ataque

● Seu único meio de comunicação é por mensageiros que passam pelo território inimigo

● Se o mensageiro for atacado no caminho a mensagem pode ser perdida

● Se um deles atacar sozinho certamente perderá a batalha

● Se atacarem juntos vencerão

● Cada um só atacará quando tiver certeza absoluta que o outro também atacará

Page 12: Camada de Transporte - docente.ifrn.edu.brdocente.ifrn.edu.br/.../2012.2/redes-ii-eja/Aula12.pdf · Serviços da Camada de Transporte Provê comunicação lógica entre processos

Dilema dos comandantes

Page 13: Camada de Transporte - docente.ifrn.edu.brdocente.ifrn.edu.br/.../2012.2/redes-ii-eja/Aula12.pdf · Serviços da Camada de Transporte Provê comunicação lógica entre processos

O problema

● Vader avisa: atacarei as 09● Leonidas para garantir envia uma confirmação● Vader para garantir envia uma confirmação que

recebeu a confirmação● Como Vader vai ter certeza que Leonidas

recebeu a confirmação?

Page 14: Camada de Transporte - docente.ifrn.edu.brdocente.ifrn.edu.br/.../2012.2/redes-ii-eja/Aula12.pdf · Serviços da Camada de Transporte Provê comunicação lógica entre processos

Atividade - Sockets

● Pesquisa Sockets em C#● Exemplo de um cliente e um servidor

● Envio de mensagens de uma máquina para outra pela rede