Configurarea freebsd (clustere mbuf, mbufs, usters etc

FreeBSD stochează datele de rețea în clustere mbuf, dimensiunea fiecărui 2Kb, dar de la
Ei folosesc numai aproximativ 1500 de octeți (în funcție de mărimea pachetului Ethernet).

Pentru fiecare mbuf al clusterului, aveți nevoie de "mbuf", care are dimensiuni de 256 octeți și






Este necesară organizarea comunicării lanțurilor din grupurile mbuf. În mbuf puteți pune
informații utile în regiunea de 100 de octeți, dar acest lucru nu este întotdeauna utilizat.

Dacă aparatul are 1 GB și mai multă memorie, atunci vor fi create, în mod implicit, 25 de mii de clustere mbuf,
care nu este întotdeauna suficientă ...

--------
Să vedem cum în realitate pachetele trec prin gazdă. Datele primite de la rețea sunt acumulate mai întâi în memoria tampon internă mică a adaptorului de rețea. Când este umplut, placa de rețea generează întrerupe, forțând șoferul său pentru a copia pachetul (e) în tamponul de nucleu de rețea (de exemplu, mbufs). Pachetele sunt transferate în stivă TCP / IP deoarece sunt în mbuf-uri. Când un pachet intră în memoria tampon de nucleu, majoritatea operațiilor efectuate cu acesta sunt independente de dimensiunea sa, deoarece Pentru ei, doar titlurile sunt importante, și nu o sarcină totală. Acest lucru este valabil și pentru un filtru de pachete, prin care pachetul la un moment dat, și care decide să blocheze sau sări peste pachet. Dacă pachetul ar trebui să fie redirecționat (expediere), TCP / IP stiva va transmite cartea de rețea, care, la rândul său, va extrage pachetul din mbufs și să dea înapoi la linia de comunicație.







Configurarea FreeBSD (clustere mbuf, mbufs, kern.nmbclusters etc.)







Trimiteți-le prietenilor: