Сега ще се запитате сигурно: „Тоя пък какво сдвояване го гони?!“". Отговорът – предполагам всеки е виждал съвременен мобилен телефон Nokia с bluetooth. При инициалиализация на процеса за изпращане на файл, телефонът на получателя пита: „Да сдвоя ли с ….?“, което на инглиш звучи: „Bonding with ….?“. Така че, приемаме условно думата „сдвояване“ като българския вариант на „bonding“.
По същество. Сдвояване на два (и повече) интерфейса е процес, при който пакетите, адресирани за даден IP адрес, вместо от една мрежова карта, се приемат от 2 или повече. На теория това вдига скоростта N пъти, където N е броя на сдвоените устройства.
Под FreeBSD сдвояването се постига чрез ng_one2many (то изисква зареждането на ng_ether). В моя случай bond- ваме 2 мрежови интерфейса – rl0 & rl1. Идеята на цялата тази работа е описана тук: http://www.freebsd.org/cgi/man.cgi?query=ng_one2many&apropos=0&sektion=0&manpath=FreeBSD+7.0-RELEASE&format=html.
#kldload ng_one2many
#kldload ng_ether
#ngctl mkpeer rl0: one2many upper one
#ngctl connect rl0: rl0:upper lower many0
#ngctl connect rl1: rl0:upper lower many1
#ngctl msg rl1: setpromisc 1
#ngctl msg rl1: setautosrc 0
#ngctl msg rl0:upper \
setconfig „{ xmitAlg=1 failAlg=1 enabledLinks=[ 1 1 ] }“
След което вдигаме интерфейс rl0:
#ifconfig rl0 192.168.1.x netmask 0xffffff00
Успех на всички, решили да опитат.


