Anda di halaman 1dari 52

Relembrando o controlo de congestão do protocolo TCP

Janela de congestão

Tempo

Sempre que são detectados 3 ACKs com o mesmo valor, o tamanho da


janela de congestão passa para metade

Em caso de timeout de confirmação,, a janela de congestão é reinicializada


(slow start)

2007 Osvaldo Santos 1


TCP e aplicações multimédia

 As aplicações multimédia são mais sensíveis ao


atraso que à perda de pacotes
 O protocolo TCP não é adequado para aplicações
multimédia
− Atraso significativo na entrega dos dados
− O controlo de congestão diminui drasticamente a taxa de
transmissão em caso de congestão do canal
− A perda de um único pacote pode diminuir radicalmente a
velocidade de transmissão TCP
− A transmissão TCP é muito “bursty
bursty” (velocidade irregular)
 Por este motivo, a maioria dos protocolos de
comunicação para aplicações multimédia baseia-se
no UDP em vez do TCP

2007 Osvaldo Santos 2


Exemplos de protocolos para aplicações multimédia

 RTP : Real-time
time Transport Protocol
 RTCP: Real-time
time Transport Control Protocol
 RSVP: Resource ReSerVation Protocol
 RTSP: Real Time Streaming Protocol
 SRTP: Secure Real-time
time Transport Protocol

2007 Osvaldo Santos 3


RTP: Real-time
time Transport Protocol

 RTP garante:
− Indicação do tipo de conteúdos que está a ser transportado
− Sequenciamento dos pacotes, incluindo a sua numeração
− Time stamping – permite sincronização e cálculo do jitter
(variação do atraso)
− Monitorização da entrega dos pacotes

 Não garante:
− Entrega dos pacotes em tempo útil
− Qualidade de serviço (QoS)

2007 Osvaldo Santos 4


RTP: estrutura do pacote

bit
0 ve Ver : Versão,
Versão versão actual=2
p x cc m pt Sequence number
r
32 timestamp p : Indica a presença de bytes extra (padding) no fim do
64 SSRC identifier
pacote

96 CSRC identifier x: Indica a utilização das extensões ao protocolo


.........
cc: indica o número de identificadores CSRC no
CSRC identifier
cabeçalho
Extension header (opcional)
m: indica que este pacote tem alguma relevância especial
para a aplicação
Multimedia Data
pt: Indica o formato do payload deste pacote (tipo de
aplicação))

SSRC: identifica a origem da sincronização

CSRC: fonte que contribuiu para a geração deste pacote


RTP (Mixers)

extension header:
header tamanho do cabeçalho de extensão

2007 Osvaldo Santos 5


RTP: o significado do campo 'PT'

PT Name Type Clock rate (Hz) Audio channels References


0 PCMU Audio 8000 1 RFC 3551
1 1016 Audio 8000 1 RFC 3551
2 G721 Audio 8000 1 RFC 3551
3 GSM Audio 8000 1 RFC 3551
4 G723 Audio 8000 1
5 DVI4 Audio 8000 1 RFC 3551
6 DVI4 Audio 16000 1 RFC 3551
7 LPC Audio 8000 1 RFC 3551
8 PCMA Audio 8000 1 RFC 3551
9 G722 Audio 8000 1 RFC 3551
10 L16 Audio 44100 2 RFC 3551
11 L16 Audio 44100 1 RFC 3551
12 QCELP Audio 8000 1
13 CN Audio 8000 1 RFC 3389
14 MPA Audio 90000 RFC 2250, RFC 3551
15 G728 Audio 8000 1 RFC 3551
.............................................................................................................................
..................................................................................................................................
.............................................................................................................................
..................................................................................................................................

2007 Osvaldo Santos 6


RTCP: Real-time
time Transport Control Protocol

 O RTCP é um protocolo “irmão


irmão” do RTP, que é
usado para transmitir dados de controlo sobre o
fluxo RTP

 Transmite informação sobre a qualidade de serviço


do fluxo RTP
 Bytes recebidos/enviados
 Pacotes recebidos/enviados
 Pacotes perdidos
 Atraso (Round Trip Delay)
 Jitter (variação do atraso)

Leitura adicional: http://www.freesoft.org/CIE/RFC/1889/13.htm

2007 Osvaldo Santos 7


Tipos de pacotes RTCP

 Receiver report packet


 Um pacote que o receptor envia ao emissor, com estatísticas sobre os
pacotes recebidos (número de pacotes perdidos, atraso, jitter, etc)

 Sender report packet


 Semelhante ao receiver report,, mas neste caso o receptor também actua
como emissor pelo que existem campos adicionais para enviar também
estatísticas sobre os pacotes enviados

 Source Description RTCP Packet


 Descreve a fonte de pacotes

 Goodbye RTCP Packet


 Indica que uma ou mais fontes já não estão activas

 Application Specific RTCP packets


 Dependem de cada aplicação em particular

2007 Osvaldo Santos 8


RTCP: ports UDP usados

 A norma não define quais os ports UDP a usar


(geralmente são usados ports entre 16384 e 32767)
 O fluxo RTP usa um port par e as mensagens de
controlo RTCP usam o port seguinte
 Como não se sabe à priori quais os ports que vão ser
usados, isto representa um problema quando existem
firewalls

RTP Port 16400

RTCP Port 16401

2007 Osvaldo Santos 9


RTP e NAT

NAT NAT

Internet
? 10.5.3.1

 Como enviar pacotes RTP para um determinado


computador dentro de uma rede local, através do
servidor NAT?
 No fundo: qual é o seu endereço IP público e port, na
tabela de tradução NAT?

2007 Osvaldo Santos 10


Tipos de NAT
Full Cone: Todos os pedidos do mesmo IP/port
IP/ interno são mapeados no
mesmo IP/port externo. Além disso, podem ser enviados pacotes da Internet
para a máquina interna, enviando-os
os para o IP/port
IP/ externo mapeado,
mesmo sem qualquer “ligação” previamente estabelecida.

Restricted Cone: Semelhante ao Full Cone, mas um computador X só


pode enviar pacotes da Internet para a máquina interna, enviando-os
enviando para o
IP/port externo mapeado, se a máquina interna estabelecer previamente uma
“ligação” ao computador X.

Port Restricted Cone: Semelhante ao Restricted Cone, mas o


computador X tem que ter sempre um source port igual ao destination port
dos pacotes enviados a partir da máquina interna. (no restricted cone o
source port pode ser diferente).

Symmetric: Todos os pedidos do mesmo IP/port


IP/ interno para um
determinado IP/port de destino são mapeados no mesmo IP/port
IP/ externo.
Pedidos do mesmo IP/port interno, mas para um destino diferente têm um
mapeamento diferente. Um computador X só pode enviar pacotes da Internet
para a máquina interna, enviando-os
os para o IP/port
IP/ externo mapeado, se a
máquina interna estabelecer previamente uma “ligação” ao computador X.

2007 Osvaldo Santos 11


STUN - Simple Traversal of UDP throught NATs

NAT NAT

Internet

 O serviço STUN permite que um cliente por detrás de


um NAT saiba:
− Qual o endereço público que lhe foi atribuído
− O tipo de NAT que está entre ele e a Internet
− O port usado do lado de fora do NAT

2007 Osvaldo Santos 12


STUN - Simple Traversal of UDP throught NATs

NAT NAT

Internet
10.1.9.1 : 4345 10.5.3.1 : 4056
193.4.2.6 : 3343 89.1.6.3 : 3649

 O serviço STUN serve apenas para determinar o mapeamento


NAT (IP/port exterior)
 Após ambos os PCs saberem qual o endereço IP e port
externos, a ligação é feita directamente entre eles
 O serviço NAT faz as respectivas traduções de endereços e os
pacotes são enviados para os dispositivos internos

2007 Osvaldo Santos 13


TURN - Traversal Using Relay NAT
TURN Relay Server

NAT NAT

Internet

• A tecnologia Turn é usada em último recurso, quando é impossível


aos computadores internos estabelecerem uma ligação directa
entre eles, por exemplo, quando ambos estão por detrás de
symetric NATs
• Uma vez que todos os dados passam pelo TURN server, existe um
atraso adicional e o RELAY server tem que ter muita largura de
banda disponível para lidar com múltiplas ligações simultâneas
2007 Osvaldo Santos 14
ICE – Interactive Connectivity Establishment

• Proposta de norma IETF para resolver o problema do


atravessamento de NATs
• Proposto como uma extensão ao protocolo SIP
• Usa os serviços STUN e TURN, criando uma framework
unificadora
• É robusto e funciona mesmo nas topologias mais complexas
• Identifica todas as possibilidades de ligação e selecciona
automaticamente a melhor

2007 Osvaldo Santos 15


VOIP – Voice Over Internet Protocol

 Permite conversações de voz


sobre a Internet
 Interoperável com as redes
telefónicas tradicionais
 A voz é digitalizada,
comprimida e enviada em
pacotes IP (normalmente
RTP)
 O desempenho da rede
influencia a qualidade das
ligações VoIP
 A sua maior vantagem é a
redução de custos
2007 Osvaldo Santos 16
VOIP – Vantagens

 Permite reduzir os custos com chamadas telefónicas


− VoIP para VoIP tipicamente grátis, se já existir ligação à Internet;
− VoIP para rede telefónica tradicional a custos reduzidos;

 VoIP é independente da localização geográfica


− Não há diferenças entre ligações locais ou internacionais

 Uma única ligação de banda larga à Internet permite


dezenas de chamadas em simultâneo

 É possível integrar VoIP com outros serviços, como


vídeo, transferência de ficheiros, quadros partilhados,
etc..
2007 Osvaldo Santos 17
VOIP – Desvantagens

 Menor fiabilidade
− Maior complexidade
− Alimentação eléctrica não é independente
− Depende do bom funcionamento de muitos subsistemas

 Menor qualidade
− Compressão de áudio
− Atraso superior e forte Jitter (atraso variável)
− Perda de pacotes IP

 Algumas barreiras tecnológicas


− Difícil de passar o tráfego através de firewalls e servidores NAT
− Difícil adoptar um sistema universal de numeração dos terminais
2007 Osvaldo Santos 18
VOIP – Protocolos

 Sinalização
− H.323
− SIP

 Controlo do gateway
− MGCP - Media Gateway Control Protocol (IETF)
− MEGACO - Media Gateway Control Protocol (IETF/ITU-T)
(IETF/ITU

 Transporte de áudio
− RTP: Real-time
time Transport Protocol
− RTCP: Real-time
time Transport Control Protocol

2007 Osvaldo Santos 19


Audio : amostragem

 A voz humana tem as principais componentes nas frequências


entre 200 HZ a 3400 HZ
 A maior parte dos sistemas de transmissão de voz, assume uma
largura de banda máxima de 4000 HZ
 Assim, pelo teorema de Nyquist,
Nyquist a frequência de amostragem
deve ser de pelo menos 8000 HZ (2 x largura de banda)

Imagem, fonte: cisco systems


2007 Osvaldo Santos 20
Audio : quantificação

Imagem, fonte: cisco systems

 A quantificação consiste em converter uma amostra do sinal


analógico para um valor digital.
 Existe um número limitado de valores digitais, ou seja níveis. Se
forem usados 8 bits por amostra, existirão 256 níveis diferentes.
 À diferença entre o valor real da amostra e o nível digital mais
próximo, chama-se erro de quantificação
 Quantos mais bits por amostra forem usados, mais níveis
existirão, logo, menores serão os erros de quantificação
2007 Osvaldo Santos 21
Audio : companding

 A voz humana é rica em


sinais de baixa amplitude.
 A quantificação com níveis
uniformes, prejudica a
qualidade dos sinais de baixa
amplitude.
 Uma forma de melhorar a
qualidade da digitalização dos
sinais de baixa amplitude é
usar níveis não uniformes
 Nas baixas amplitudes os
níveis estão mais próximos
(erro de quantificação menor)
 Nas altas amplitudes os
níveis estão mais afastados
(erro de quantificação maior)

Imagem, fonte: http://edge.networkworld.com 2007 Osvaldo Santos 22


Audio : companding u-law e A-law
law

O método de
companding u-law é
usado nos Estados
Unidos e Japão

O método de
companding A-law é
usado no resto do
mundo

Fórmulas, fonte: cisco systems 2007 Osvaldo Santos 23


Codecs

PCM

fonte: cisco systems

2007 Osvaldo Santos 24


Vídeo-conferência: o que é

 Transmissão de áudio e
vídeo entre pessoas em
locais diferentes
 Podem ligar-se dois
(conferência ponto a
ponto) ou mais locais
(conferência multiponto)
 Além da transmissão de
áudio e vídeo, as pessoas
podem partilhar
documentos e quadros de
escrita

Imagens: Universidade de Tromso, Universidade de Kentucky UK

2007 Osvaldo Santos 25


Vídeo-conferência:
conferência: os primeiros tempos

 Os primeiros sistemas de
vídeoconferência usavam
ligações dedicadas com
cabos
 Mais tarde começaram a
ser usadas ligações via
satélite (dispendiosas)
 Nenhuma destas técnicas
é exequível em larga
escala, por questões de
custo e disponibilidade

2007 Osvaldo Santos 26


Vídeo-conferência:
conferência: a rede telefónica

 As tentativas de usar a
rede telefónica analógica
para vídeoconferência
fracassaram devido à má
qualidade de imagem
 Na década de 80 aparece
a RDIS – Rede Digital com
Integração de Serviços
 Passou a ser possível
realizar vídeoconferência
com qualidade e custo
aceitável

2007 Osvaldo Santos 27


Vídeo-conferência: RDIS

 Acesso básico 2B+D =


144 Kbit/s
 Acesso primário 30B+D =
2 Mbit/s
 Disponível em quase
todos os locais
 Preço das chamadas
RDIS = preço chamadas
de voz
 Custo depende da
distância

2007 Osvaldo Santos 28


Vídeo-conferência: IP

 Acesso à Internet em
banda larga generalizou-
se
 Acessos domésticos > 4
Mbit/s são usuais
 Acessos empresariais >
20 Mbit/s são comuns
 Sem custo adicional nas
comunicações
 Acessível em todo o
mundo

Imagens: Cisco Systems

2007 Osvaldo Santos 29


Vídeo-conferência:
conferência: como funciona

 Compressão de vídeo e audio


− Redução da quantidade de dados usados na representação
− Perda de informação que não é essencial
− Qualidade perceptual mantém-se
mantém a níveis elevados

 Algoritmos de compressão
− DCT – Discret Cosine Transform
− MPEG2, MPEG4, MJPEG
− Compressão intraframe e interframe

 Multiplexagem e transmissão
− Atraso tem que ser limitado
− Variable bit rate ou fixed bit rate
2007 Osvaldo Santos 30
Princípios básicos da compressão de vídeo

 Redução da redundância
− Redundância espacial: pixeis próximos
tendem a ser semelhantes
− Redundância temporal: frames consecutivas
tendem a ser semelhantes

 Redução da irrelevância
− Eliminação de informação que é irrelevante do
ponto de vista perceptual
− Difícil de modelar e implementar

2007 Osvaldo Santos 31


H.261

 Norma desenvolvida nos anos 90 pela ITU (International


Telecommunications Union) para codificação e
transmissão de vídeo sobre RDIS
 Funciona em bit rates desde 40 Kbit/s a 2 Mbit/s, mas
usa tipicamente múltiplos de 64Kbit/s (n x Canais B)
 Suporta os tamanhos CIF (352x288) e QCIF (176x144)
 Reduz a redundância espacial através da transformada
DCT
 Reduz a redundância temporal através de predição inter-
inter
frames, com compensação de movimento
 Esta norma revolucionou a videoconferência digital, mas
actualmente está obsoleta
2007 Osvaldo Santos 32
H.262 / MPEG2

 Norma desenvolvido pelo Moving Pictures Expert Group


(MPEG)
 Usado na difusão de televisão digital e DVD
 Utiliza a transformada DCT para reduzir a redundância
espacial
 Exemplo de bit rate para 30 frames por segundo:
− 352x288 : 4 Mbit/s
− 720x576 : 15 Mbit/s
− 1440x1152 : 60 Mbit/s

2007 Osvaldo Santos 33


H.264 / MPEG4 parte10
 Norma desenvolvida pelo
Moving Pictures Expert Group
(MPEG)
 Usado em videoconferência e
vídeo na Internet, televisão
digital, Blu-Ray e HD DVD
 Permite vídeo de qualidade
razoável com baixos bit rates
(menos de metade do MPEG2)
 Divide as cenas em objectos
(fundo, objectos móveis,
objectos sintéticos, etc)

Imagem: http://www.chiariglione.org 2007 Osvaldo Santos 34


Vídeo-conferência:
conferência: principais protocolos

 É importante que aplicações de fabricantes


diferentes possam interoperar
 Para isso existem protocolos bem definidos para
garantir essa interoperabilidade e permitir o
estabelecimento e terminação de sessões de
vídeoconferência :
− H.320

− H.323

− SIP

2007 Osvaldo Santos 35


H.320

 A recomendação ITU H.320 define um conjunto de


procedimentos para suportar vídeo-conferência
vídeo sobre
RDIS
 Suporta a utilização de n canais B, desde 64 Kbit/s a 2
Mbit/s
 Na realidade é um conjunto de normas:
− H.221 : define os procedimentos para empacotamento dos fluxos
− H.230 : define a forma como é feita a sincronização de frames
− H.242 : define os procedimentos para iniciar e terminar sessões
− G.711 e G.723 : codecs áudio
− H.261 e H.263 : codecs vídeo

2007 Osvaldo Santos 36


H.323

 A recomendação ITU H.323 define um conjunto de


protocolos que suportam comunicações audio-visuais
audio
em qualquer rede de pacotes, como por exemplo a
Internet. É compatível com H.320.
 Na realidade é um conjunto de normas:
− H.261 , H.263 e H.264 : descrevem a codificação vídeo
− H.225.0 : descreve a sinalização, a forma de empacotar os fluxos
(bit stream) de dados, sincronização de fluxos e formato das
mensagens de controlo
− H.245 : descreve as mensagens e procedimentos para abrir
fechar sessões de áudio, vídeo e dados
− H.450 : descreve os serviços suplementares
− H.235 : descreve os procedimentos de segurança
− H.460 : descreve a interacção com firewalls
− H.239 : descreve a utilização de um fluxo adicional para dados
2007 Osvaldo Santos 37
H.320 versus H.323

 H.320  H.323
− Funciona sobre RDIS − Funciona sobre TCP/IP
− Garante qualidade de − Não garante qualidade de
serviço serviço
− Utilização dispendiosa − Utilização gratuita (+-)
− Norma a ser abandonada − Norma cada vez mais
popular

2007 Osvaldo Santos 38


Session Initiation Protocol - SIP

 O protocolo SIP tem como objectivo principal o


estabelecimento, modificação e terminação de
sessões de comunicação multimédia entre dois ou
mais pontos
 Permite multicasting
 Usado em aplicações de voz sobre IP (VoIP),
multimedia sobre IP e conferências multimédia
 É independente do método de transporte. Pode ser
usado sobre TCP, UDP, ATM, SCTP, etc
 Usa mensagens de texto facilmente interpretáveis
 Usa os mesmos codecs de outras tecnologias

2007 Osvaldo Santos 39


Vídeo-conferência:
conferência: tipo de sistemas
 Sistemas dedicados
− Fáceis de usar
− Boa qualidade
− Solução dispendiosa

 Placas de expansão
− O PC pode ser de baixo desempenho
− Boa qualidade
− Solução dispendiosa

 Baseados em software
− Exige um PC relativamente potente
− Qualidade razoável
− Solução pouco dispendiosa
2007 Osvaldo Santos 40
Encaminhamento IP do ponto de vista do destino

 Unicast
− Um único destinatário

 Broadcast
− Todos os dispositivos de uma sub-rede
sub

 Anycast
− Pelo menos um dispositivo de um grupo

 Multicast
− Todos os dispositivos de um grupo

2007 Osvaldo Santos 41


Unicast: um único destinatário

 É enviada informação
apenas para um
destinatário

 É usado um endereço IP
que identifica apenas um
dispositivo

2007 Osvaldo Santos 42


Broadcast: todos os destinatários de uma sub-rede
sub

 É enviada simultaneamente
informação para todos os
destinatários de uma sub-
rede

 É usado um endereço IP
especial (endereço de
difusão ou broadcast) que
representa todos os
dispositivos de uma sub-
rede
− Exemplo: o endereço
10.255.255.255 é o endereço de
difusão da rede 10.0.0.0/8

2007 Osvaldo Santos 43


Anycast: Um destinatário de um grupo

 É enviada informação para


um dos destinatários de um
grupo

 É bastante útil quando


existem múltiplos servidores
para os mesmos conteúdos
e se pretende seleccionar o
mais próximo

 Uma forma simples de


implementar distribuição de
carga
2007 Osvaldo Santos 44
Multicast: membros de um grupo de dispositivos

 É enviada simultaneamente
informação para os
destinatários que fazem parte
de um determinado grupo

 É usado um endereço IP
especial (endereço de
multicast) que representa o
grupo de dispositivos

 Quando é necessário, os nós


da rede clonam
automaticamente os fluxos de
pacotes nos pontos mais
vantajosos
2007 Osvaldo Santos 45
Volume de dados transferidos: Multicast versus Unicast

2007 Osvaldo Santos 46


Multicast: os fluxos só são clonados quando necessário

2007 Osvaldo Santos 47


Endereços IP de multicasting

 Os endereços da antiga Classe D (desde 224.0.0.0 a


239.255.255.255) estão reservados para multicasting
 Os endereços de 224.0.0.0 a 224.0.0.255 foram
reservados pela IANA para serem usados apenas na
rede local. Pacotes com estes endereços de destino não
devem ser encaminhados pelos routers
 Exemplos de grupos de multicasting locais predefinidos
− 224.0.0.1 : todos os sistemas desta sub-rede
sub
− 224.0.0.2 : todos os routers desta sub-rede
sub
− 224.0.0.5 : todos os routers OSPF
− 224.0.0.6 : todos os routers OSPF DR (designated routers)
− 224.0.0.12 : Agente DHCP server/relay
 http://www.iana.org/assignments/multicast
http://www.iana.org/assignments/multicast-addresses
2007 Osvaldo Santos 48
Protocolo IGMP: Internet Group Management Protocol

 Permite aos dispositivos negociarem de forma dinâmica


a sua participação num grupo multicasting

2007 Osvaldo Santos 49


Protocolo IGMP: Versões

 Existem três versões do protocolo


− A versão 1 (RFC 1112) suporta apenas o registo num grupo
(Membership report) por parte dos clientes e testes periódicos do
interesse desses clientes (Membership query)
− A versão 2 (RFC 2236) acrescenta uma mensagem que o cliente
pode usar para solicitar a sua saída de um grupo (Leave group)
− A versão 3 (RFC 3376) adiciona suporte para filtrar pacotes,
permitindo a recepção de pacotes multicasting apenas de
determinados endereços de origem

2007 Osvaldo Santos 50


PIM - Protocol Independent Multicast

 Usado para construir as árvores de distribuição de


dados multicasting
 Existem quatro variantes:
− PIM Sparse Mode (PIM-SM)SM) (RFC 4601):
4601) cria, de forma explícita,
árvores unidireccionais com origem num ponto Rendezvous (RP)
por cada grupo
− PIM Dense Mode (PIM-DM) : cria, de forma implícita, árvores de
caminho mais curto, inundando as redes com tráfego multicast e
desligando depois os ramos da árvore em que não existem
clientes activos
− PIM Source Specific Multicast (PIM-SSM)
(PIM : cria árvores cuja
origem é sempre num único ponto específico
− Bidirectional PIM : cria, de forma explícita, árvores bidireccionais

2007 Osvaldo Santos 51


Multicasting: IGMP e PIM

2007 Osvaldo Santos 52

Anda mungkin juga menyukai