• Nenhum resultado encontrado

Nível de Transporte Portas, Protocolos UDP e TCP

N/A
N/A
Protected

Academic year: 2021

Share "Nível de Transporte Portas, Protocolos UDP e TCP"

Copied!
34
0
0

Texto

(1)

Departamento de Ciência da Computação - UFF

Nível de Transporte

Portas, Protocolos UDP e TCP

Profa. Débora Christina Muchaluat Saade

debora@midiacom.uff.br

(2)

Redes de Computadores

(3)

Redes de Computadores

Camada de Transporte

Aplicação Apresentação Sessão Transporte Rede Enlace Físico Rede Enlace Físico Rede Enlace Físico Aplicação Apresentação Sessão Transporte Rede Enlace Físico Host B Aplicação Apresentação Sessão Transporte Rede Enlace Físico Host A comunicação fim-a-fim

(4)

Redes de Computadores

Camada de Transporte

§  Fornece meios para estabelecer, manter e

liberar conexões de transporte no serviço orientado à conexão

§  Transporte de unidades de dados do serviço de

transporte (SDUs ou mensagens)

§  Segmentação e blocagem

§  Detecção e correção de erros fim a fim

§  Sequenciação

§  Controle do fluxo de dados nas conexões de

transporte §  Multiplexação ou splitting Aplicação Apresentação Sessão Transporte Rede Enlace Físico

(5)

Redes de Computadores

Services Provided to the Upper Layers

(6)

Redes de Computadores

Transport Service Primitives (2)

(7)

Redes de Computadores

Addressing

(8)

Redes de Computadores

Endereçamento

§

Associação do T-SAP ao SAP de rede

• 

endereço hierárquico

– O endereço do SAP de rede pode ser um

campo do endereço do SAP de transporte

• 

Endereço horizontal

(9)

Redes de Computadores

Estabelecimento de Conexão Indevida

E1 E2 PC(1) PC(2) PC(2) CC(2) CC(2) D(1) D(2) D(2) PC(1) CC(1) CC(1) D(1) PC - Pedido de Conexão CC - Confirmação da Conexão D - Dados Timeout

(10)

Redes de Computadores

Estabelecimento de Conexões

Utilizando Three-way Handshake

E1 E2 PC(a) PC(a) CC(b,a) CC(b,a) D(a,b) D(a,b)

PC(i) = Pedido de conexão (seq=i)

CC(j,i) = Confirmação de conexão (seq=j, ack=i) D(i,j) = Dados (seq=i, ack=j)

(11)

Redes de Computadores

R(j) = Rejeita conexão (ack=j) E1 E2 PC(a) PC(b) PC(b) CC(c,b) CC(c,b) D(b,c) D(b,c) D(b,c) PC(a) CC(k,a) CC(k,a) D(b,c) R(k) R(k) Timeout

Estabelecimento de Conexões

Utilizando Three-way Handshake

(12)

Redes de Computadores

Protocolos de Transporte

§

Mesmas técnicas do nível de enlace

agora aplicadas fim-a-fim

§

Controle de Fluxo

•  Stop-and-Wait

•  Sliding Windows

§

Controle de Erro

•  ARQ Automatic Repeat Request

(13)

Redes de Computadores

Nível de Transporte na Arquitetura TCP/IP

Portas

(14)

Redes de Computadores

Inter-rede Intra-rede

Int. de adaptação

Dados encapsulados pelo datagrama IP

AP2

AP1

•  Em geral, uma aplicação é o destinatário

final de uma mensagem

Identificação do destinatário final

§  Protocolo IP não possui um mecanismo

próprio para endereçar mais de uma aplicação destino na mesma máquina

•  IP oferece um único SAP de rede

•  Solução: uma aplicação só acessa a rede via

(15)

Redes de Computadores

Transporte

TCP

UDP

Inter-rede

Aplicação

Camada de Transporte

Função básica: multiplexação/ demultiplexação

(16)

Redes de Computadores

Multiplexação e Demultiplexação

Aplicação 1

IP

Aplicação 2 Porta 34 Porta 22

TCP/UDP

Porta 126

(17)

Redes de Computadores

Identificação do destinatário final

§

Utilizar um esquema próprio para a camada

de transporte e independente dos SOs

•  Camada de transporte fornece às aplicações um

conjunto de portas que dão acesso ao SC provido pelo IP

•  Aplicação origem deve conhecer end. IP do host

onde está a aplicação destino e porta a qual a aplicação está ligada

(18)

Redes de Computadores apl apl apl apl apl apl apl Aplicações Distribuídas

Endereçamento hierárquico em TCP/IP

G Inter-rede Rede B Rede C Rede A H H H H H H H H

(19)

Redes de Computadores

Portas

§

Identificadores numéricos de 16 bits (0 a 65535)

§

Antes de utilizar o UDP ou TCP, a aplicação deve

se associar a um número de porta (bind)

•  Identificação (End. IP, Porta) é comumente

chamada de socket

•  Berkeley sockets (Unix) e Winsock (Windows):

APIs que possibilitam a criação e uso de sockets em uma aplicação

UDP ou TCP

(20)

Redes de Computadores

Protocolos de Transporte

§

Serviço sem conexão não confiável

Protocolo UDP

§

Serviço orientado a conexão confiável

(21)

Redes de Computadores

(22)

Redes de Computadores

Protocolo UDP

(User Datagram Protocol)

§

Fornece serviço sem conexão fim-a-fim não

confiável utilizando os serviços do protocolo IP

diretamente

§

Permite a multiplexação/demultiplexação do SAP

IP entre várias aplicações por meio de portas

§

Ideal para aplicações que não precisam de conexão

(23)

Redes de Computadores

Formato da mensagem UDP

0 7 15 23 31

Octeto 1 Octeto 2 Octeto 3 Octeto 4

UDP SOURCE PORT UDP DESTINATION PORT

UDP MESSAGE LENGTH UDP CHECKSUM

DATA . . .

(24)

Redes de Computadores Porta 34 Porta 22

UDP

Porta 126 Aplicação 1

IP

Aplicação 2

Multiplexação e demultiplexação UDP

§  Em um mesmo host, duas

aplicações distintas podem usar a mesma porta (em tempos

diferentes)

•  Portas UDP Filas de

mensagens

§  Se a fila correspondente à porta

estiver cheia, a mensagem UDP é descartada

§  Se uma mensagem UDP for

endereçada a uma porta não utilizada no momento, a mesma é descartada e é gerada uma mensagem ICMP Port

(25)

Redes de Computadores

Uso de portas UDP

§

Aplicações devem entrar em acordo quanto às portas a

serem utilizadas

§

Abordagem 1:

•  Números bem-conhecidos para serviços, atribuídos pela IANA –  Portas < 1024 (Well-Known Ports - WKPs)

•  Geralmente utilizada por servidores

–  Exemplos:

53 DNS Server 69 TFTP

67/68 DHCP Server/Client

§

Abordagem 2:

•  Alocação dinâmica de portas (em geral, controlada de forma

(26)

Redes de Computadores

(27)

Redes de Computadores

Protocolo TCP

(Transmission Control Protocol)

§

Multiplexação do SAP IP por meio de portas

§

Serviço orientado a conexão (circuito virtual) e confiável

•  Sequenciação

•  Controle de fluxo e erro fim-a-fim

§

Transmissão de fluxos de bits

•  Menor unidade de transmissão: octeto

§

Desassociação da qtd. de dados enviados pela aplicação

•  Segmentação e blocagem

§

Conexão full-duplex

(28)

Redes de Computadores Conexão = (139.82.17.10,22) + (139.82.55.3,2340) TCP IP TCP IP Porta 22 Porta 2340 Inter-rede

Multiplexação e demultiplexação TCP

§

Para o TCP, não basta associar uma porta a uma aplicação.

É necessário o estabelecimento de uma conexão entre a

aplicação origem e a aplicação destino

•  Uma conexão é identificada por um par de sockets

•  Uma porta pode ser compartilhada entre várias conexões em

(29)

Redes de Computadores

Espera conexão (passiva) Estabelece conexão (ativa)

Requisição de estabelecimento Resposta de requisição Bind c/ p o rta O R IG porta Bind c/ D EST

Após o estabelecimento da conexão, as aplicações podem transmitir fluxos de dados entre si,

independentemente da passividade ou atividade das mesmas durante o estabelecimento

Estabelecimento de conexões

§

Quem inicia o estabelecimento da conexão?

(30)

Redes de Computadores

Uso de portas TCP

§

Bind da aplicação ativa: alocação dinâmica de

portas

§

Bind da aplicação passiva: Well-Known Ports

– Exemplos:

20 FTP-DATA

79

Finger

21 FTP Control

80

HTTP

23 Telnet

110 POP3

25 SMTP

161 SNMP

53 DNS Server

443 HTTPS

(31)

Redes de Computadores Aplicação Transmissora

IP

Porta 126 TCP

Em geral, o tamanho máx. de um segmento TCP corresponde a um datagrama IP que não

sofra fragmentação na origem. Isso não significa que os segmentos relativos a uma

conexão precisem ter sempre o mesmo tamanho.

Fluxo de bits original

Segmentação e blocagem no transmissor

Segmentos TCP enviados Padrão gerado pela escrita

(32)

Redes de Computadores Aplicação Receptora

IP

Porta 126 TCP

Segmentação e blocagem no receptor

Fluxo de bits original

Segmentos TCP recebidos Padrão gerado pela leitura

da aplicação

Aplicação receptora recebe os bits do fluxo original na mesma ordem em que

foram enviados pela aplicação transmissora

(33)

Redes de Computadores

Formato do segmento TCP

Octeto 1 Octeto 2 Octeto 3 Octeto 4

0 7 15 23 31

TCP DESTINATION PORT TCP SOURCE PORT

DATA (IF ANY) ...

WINDOW HLEN

SEQUENCE NUMBER

RESERVED CODE BITS

ACKNOWLEDGEMENT NUMBER

URGENT POINTER CHECKSUM

PADDING OPTIONS (IF ANY)

(34)

Redes de Computadores

Sequenciação, controle de erro e de fluxo

§

Controle de segmentos perdidos, recebidos fora de ordem

ou duplicados

•  Cada segmento possui um número de seqüência

§

Detecção de erros

•  Checksum (em caso de erro, segmento é descartado) •  Reconhecimento de segmentos

§

Correção de erros (por perda ou descarte)

•  Retransmissão de segmentos não reconhecidos

§

Controle de fluxo

Referências

Documentos relacionados

Esse tipo de objeto é responsável por 10%-13% dos casos de ingestão de corpos estranhos. Inclui objetos como palitos, ossos, vidros, alfinetes, agulhas etc. Sua importância está

A Comissão tomou conhecimento do convite que constitui anexo à presente acta e deliberou, por unanimidade dos Membros presentes, transmitir à Associação Comercial e Industrial

Os candidatos serão alocados em salas e carteiras de prova seguindo a ordem alfabética de seu nome, dentro dos cargos indicados para a realização de prova na(s)

Executar trabalhos de apoio ao cirurgião dentista, no campo da odontologia social; realizar ações de promoção e prevenção em saúde bucal para as famílias,

A posição a adotar em nome da União Europeia no âmbito do Comité dos Contratos Públicos deve ser a aprovação da adesão da Nova Zelândia ao Acordo sobre Contratos Públicos, sob

os Fundos Europeus Estruturais e de Investimento para contribuir para o financiamento de projetos elegíveis apoiados pela garantia da UE, de acordo com os objetivos, os princípios

a Nossos estudos são dirigidos para o desenvolvimento e aplicação de métodos de avaliação de impactos ambientais visando promover a gestão ambiental de

RUA VEREADOR ELIAS MUSSI, 100 BAIRRO SÃO MIGUEL. CASTELO- ESPIRITO