Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouEric Aranha Carvalho Alterado mais de 8 anos atrás
1
Controle de Tráfego no Linux por Felipe Massia Pereira Carlos Augusto Froldi {massia,carlos}@las.ic.unicamp.br out/2005 Instituto de Computação – UNICAMP
2
Controle de tráfego Controle de tráfego (TC) é o nome dado ao conjunto de sistemas de enfileiramento (queueing) e mecanismos pelos quais os pacotes são recebidos e transmitidos em um roteador.
3
Controle de tráfego – Conceitos Fila (queue) – é um buffer finito onde ítens ficam aguardando por uma ação ou serviço. Shaping – é o ato de “atrasar” o envio de pacotes de forma que o tráfego fique limitado a uma taxa pré- definida. Scheduling – é o ato de escalonar ou re-ordenar os pacotes a serem enviados. Classifying – é o mecanismo pelo qual pacotes são separados de forma a terem tratamentos diferentes. Policing – é o mecanismo pelo qual o tráfego pode ser limitado.
4
Controle de tráfego no Linux Filas (queues) – são as “qdiscs” do linux Shaping – são as “classes” que oferecem a capacidade de “shaping” Scheduling – um qdisc oferece funcionalidades de um escalonador Classifying – a classificação é feita dentro de um “filter” através de um “classificador” Policing – implementado como parte de um filter
5
Controle de tráfego no Linux - Qdisc São filas de saída dos pacotes Também exerce a função de escalonador de pacotes Existem dois tipos no Linux: - classless: não podem conter classes definidas pelo usuário - classfull: podem possuir subclasses definidas pelo usuário, permitem a separação e atribuição de taxas para diferentes fluxos de dados
6
Controle de tráfego no Linux - Qdisc Exemplo de qdisc classless: Pfifo_Fast: qdisc padrão do linux, baseado no FIFO, porém com três filas internas onde o tráfego pode ser priorizado a partir do TOS contido nos pacotes. Exemplo de qdisc classfull: HTB (hierachical token bucket): utiliza o conceito de “balde de fichas” combinado com um sistema de classes e filtros, possibilitando a utilização de um controle de tráfego (será utilizado em nosso experimento).
7
HTB – Conceitos importantes Class: as classes só existem dentro de um qdisc e são uma forma de se dividir o tráfego. Filter: utilizados para separar o tráfego em classes dentro de uma qdisc (pode também exercer a função de “policer” de acordo com as configurações do fluxo classificado). Classificadores: dentro de um filtro, um classificador é utilizado para identificar características dos pacotes (o U32 é um dos principais classificadores do linux e será utilizado no experimento, com ele pode-se identificar campos do cabeçalho de um datagrama IP, portas de origem/destino e até mesmo protocolos como TCP, UDP ou ICMP, etc)
8
Utilizando o tc para controlar tráfego O comando “tc”, que faz parte do pacote iproute2, é utilizado no linux para configurar o controle de tráfego Forma geral do comando é: #tc opções OBJETO parâmetros Os objetos do comando são: qdiscs, class e filter
9
Utilizando o tc para controlar tráfego Adicionando um qdisc root e classes com o tc: # tc qdisc add dev eth0 root handle 1: htb default 30 # tc class add dev eth0 root classid 1:0 htb rate 6mbit # tc class add dev eth0 parent 1:0 classid 1:10 htb rate 2mbit # tc class add dev eth0 parent 1:0 classid 1:20 htb rate 1mbit # tc class add dev eth0 parent 1:0 classid 1:30 htb rate 512kbit
10
Utilizando o tc para controlar tráfego Adicionando filtros com o tc: # tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 10.1.1.0/24 flowid 1:10 # tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 10.1.2.0/24 flowid 1:20 # tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 10.1.3.0/24 flowid 1:30
11
Referência bibliográfica Linux advanced Routing & Traffic Control HOWTOLinux advanced Routing & Traffic Control HOWTO - ht tp://www.lartc.org/
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.