A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

VoIP com QoS (Linux e Cisco) Sistemas Telemáticos, 2005

Apresentações semelhantes


Apresentação em tema: "VoIP com QoS (Linux e Cisco) Sistemas Telemáticos, 2005"— Transcrição da apresentação:

1 VoIP com QoS (Linux e Cisco) Sistemas Telemáticos, 2005

2 Sumário Caso de estudo: VoIP Telefone VoIP com sinalização SIP Definição de uma política de QoS adequada Pelo menos três classes de tráfego: voz, sinalização e restante tráfego… Configuração de Routers CISCO Comandos: class-map, policy-map, service-policy e, eventualmente, access-list… Configuração de Sistemas Linux Filas de espera e disciplinas suportadas Comandos iproute2: ip, tc, iptables

3 VoIP com sinalização SIP O SIP é um protocolo de aplicação (nível 7 OSI), desenvolvido no seio do IETF e descrito no RFC3261 É um parente do HTTP/1.1: Uris, Mensagens de Erro e parser semelhantes Esta espécie de encapsulamento em HTTP torna as comunicações interactivas numa simples extensão do Web… A sua principal função é estabelecer e terminar sessões: Independente do protocolo de transporte (UDP, TCP, TLS) Independente dos media (VoIP, Fax, Multicast, Jogos, Comunicações móveis, etc.) Mecanismos de autenticação semelhantes aos do HTTP Conteúdos podem ser cifrados… O SIP transporta mensagens SDP, com descrição exacta das sessões… O SDP específica o formato a usar nos fluxos multimedia, codecs, origem e destino… Os URIs SIP podem identificar utilizadores ou números:

4 SDP encapsulado no SIP v=0 o=costa IN IP4 pc10.labcom.uminho.pt s=X-Lite c=IN IP4 kepler.labcom.uminho.pt t=0 0 m=audio 8000 RTP/AVP 8 3 a=rtpmap:8 PCMA/8000 A=rtpmap:3 GSM/8000 v = Número de versão (ignorado pelo SIP) o = Origem (user, sessionID, session-version, endereço) s = Assunto (ignorado) c = Dados da Conexão (endereço IPv4) t = Tempo (ignorado) m = Media (tipo, porta, perfil RTP/AVP) a = Attribute (perfil, codec, taxa de amostragem)

5 Agentes SIP Os agentes SIP ou são User Agents (UAC) que iniciam e terminam conexões, ou Servers (UAS) que ajudam a estabelecer as conexões…

6 Definição de uma Política de QoS Distinguir todo o tráfego do laboratório em pelo menos três classes de tráfego: Sinalização (SIP) para VoIP Tráfego de voz VoIP (RTP) Outros (Best-Effort) Marcar o tráfego usando o campo ip precedence ou o DSCP (EF, AF…,). Exemplo da auto-configuração CISCO: Implementar a política no router-lab e na estação de trabalho Linux

7 CISCO IOS – Acções de configuração 1.Definir o critério de classificação dos pacotes: Router(config)# class-map Router(config-cmap)# description Router(config-cmap)# match Router(config-cmap)# exit 2.Definir a política de serviço: Router(config)# policy-map Router(config-pmap)# description Router(config-pmap)# class Router(config-pmap-c)# bandwidth … 3.Aplicar a política de QoS ao(s) interface(s): Router(config)# interface FastEthernet 0/0 Router(config-if)# service-policy output

8 CISCO IOS – Acções de configuração class-map – critérios de classificação match access-group Permite usar access-lists para classificar os pacotes match input-interface … Classifica pelo interface de entrada… match protocol … match ip dscp match ip precedence… match rtp … match qos-group … match source-address … match destination address …

9 CISCO IOS – Acções de configuração policy-map – acções possíveis: bandwidth – especifica valor mínimo de largura de banda a garantir… fair-queue – nº de filas a reservar para a class police – especifica o valor máximo de largura de banda a admitir usando o algoritmo Token Bucket (parâmetros que já conhecem) queue-limit – define o máximo de pacotes da fila (se não se usar o WRED) random-detect – activa WRED numa classe com largura de banda garantida… set cos … - permite associar um valor de CoS a nível 2 set ip precedence … - marca os primeiros 6 bits do campo TOS set ip dscp … - marca os primeiros 3 bits do campo TOS set qos-group … - associa em grupos de QoS (0-99)

10 CISCO IOS QoS Filas de espera no CISCO First-in, first-out (FIFO) queuing Priority queuing (PQ) Dá prioridade a um tráfego em relação ao outro… Custom queuing (CQ) Permite dividir a largura de banda disponível pelas várias classes… Flow-based weighted fair queuing (WFQ) Class-based weighted fair queuing (CBWFQ) Low latency queueing (LLQ), Distributed LLQ Permite PQ para tráfego de voz e WFQ para o restante… Só interfaces Serial e Frame relay (??) … Congestion avoidance : WRED – implementação RED CISCO…

11 CISCO IOS QoS Esclarecimentos sobre a marcação:

12 Linux QoS A partir do kernel 2.2 o subsistema de rede foi reescrito para inclusão dos novos conceitos de rede… Os velhinhos comandos arp, ifconfig e route deram lugar ao comando ip (iproute2): ip link list, ip neigh show, ip route show, etc.. Filas de espera e disciplinas: Classless e classfull Configuráveis com o comando tc (traffic control) ver configuração: tc qdisc show Marcação de pacotes: iptables … tc filter …

13 Linux QoS Disciplinas classless: pfast_fifo: três bandas, pré-configuradas, baseados no campo ip precedence Configuração por defeito… não alterável… tbf: token bucket filter que só deixa entrar na fila pacotes dentro do perfil e descarta os restantes… bom para estrangular um interface: # tc qdisc add dev ppp0 root tbf rate 220kbit latency 50ms burst 1540 sfq: Stochastic Fairness Queueing, distribui os fluxos por n filas, de modo a nenhum fluxo ser prejudicado/beneficiado: # tc qdisc add dev ppp0 root sfq perturb 10

14 Linux QoS Disciplinas classfull: Os pacotes que entram na fila devem ser classificados usando filtros de modo a poderem serem colocados numa das classes ou sub-classes disponíveis… Cada interface tem um ponto de saída root qdisc… e também pode ter um qdisc de entrada para policiamento do tráfego que chega… Os handlers das classes têm duas partes: major e minor. A raíz designa-se 1: ou 1:0 Os handlers estrtuturam-se em árvore: 1:01:1 1:10 1:11 1:12 11: 10:1 10:2 12:1 12:2 root qdisc Classes folha

15 Linux QoS Disciplinas classfull: PRIO: priority Por defeito cria três filas FIFO com diferentes prioridades, mas que podem ser alteradas para outra disciplina… a classificação por filas faz-se por filtros e não pelo campo TOS como acontece no pfast_fifo… CBQ: Class Based Queueing Separa a largura de banda pelas classes, calculando tempos de espera de modo a assegurar o reajuste do débito ao especificado para a classe… permite também definir prioridades entre as classes… HTB: Hierarchical Token Bucket Trata-se de um filtro Token Bucket por classes… na prática parecido com o CBQ, assegurando minimos de largura de banda por classe, mas sem a complexidade dos ajustes com tempos de espera…

16 Linux QoS - Exemplos Classificação com filtros: Exemplo baseado no endereço: # tc filter add dev eth0 parent 10:0 protocol ip prio 1 u32\ match ip dst /32 flowid 10:1 # tc filter add dev eth0 parent 10:0 protocol ip prio 1 u32 \ match ip src /32 flowid 10:1 # tc filter add dev eth0 protocol ip parent 10: prio 2 \ flowid 10:2


Carregar ppt "VoIP com QoS (Linux e Cisco) Sistemas Telemáticos, 2005"

Apresentações semelhantes


Anúncios Google