Intermediate Queueing

Z Wikipedii

(Przekierowano z IMQ)
Skocz do: nawigacji, szukaj

IMQ (ang. Intermediate queueing) to "pośrednie urządzenie kolejkujące" używane w systemie operacyjnym Linux.

Jest to wirtualny interfejs wykorzystywany przy sterowaniu ruchem wchodzącym lub wychodzącym z routera, na przykład z pomocą pakietu iproute2. W odróżnieniu od rzeczywistych interfejsów, takich jak eth czy ppp, IMQ:

  • nie ma adresu sprzętowego, a więc nie działają na nim protokoły ARP czy RARP
  • nie posiada adresu IP
  • cały ruch wchodzący do tego interfejsu jednocześnie go opuszcza.

IMQ umożliwia rozwiązanie 2 problemów:

  • Sterowanie ruchem wchodzącym przez rzeczywisty interfejs. Jeśli chcemy ograniczyć ruch wchodzący przez rzeczywisty interfejs, to wystarczy za pomocą iptables cały ruch z niego skierować do imq i sterować ruchem na wyjściu imq, czyli faktycznie na wejściu interfejsu rzeczywistego.
  • Sterowanie ruchem przechodzącym przez więcej niż jeden interfejs rzeczywisty.

Przykład wydruku komendy ifconfig, obrazujący różnice pomiędzy interfejsem rzeczywistym a wirtualnym:

eth0      Link encap:Ethernet  HWaddr 00:E0:4C:75:01:E7
inet addr:10.0.0.1  Bcast:10.0.0.255  Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:2383775 errors:0 dropped:0 overruns:0 frame:0
TX packets:2583178 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:586768599 (559.5 Mb)  TX bytes:1718379338 (1638.7 Mb)
Interrupt:10 Base address:0x1000
 
imq0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
UP RUNNING NOARP  MTU:1500  Metric:1
RX packets:1852185 errors:0 dropped:0 overruns:0 frame:0
TX packets:1852185 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:30
RX bytes:1605531582 (1531.1 Mb)  TX bytes:1605531582 (1531.1 Mb)

Koncepcję IMQ opracował i dokonał pierwszej implementacji Martin Devera, następnie prace nad IMQ przejął Patrick McHardy, który potem zrezygnował z jego rozwijania, lecz obecnie IMQ znów się rozwija. Aktualną implementację IMQ można znaleźć na stronie http://www.linuximq.net/

[edytuj] Zobacz też

[edytuj] Linki zewnętrzne