ECMP и Nth, Проблемы и Решения
Добавлено: 28 сен 2020, 14:55
Доброго времени суток имею RB760IGS, а так же 2 провайдера подключенного к нему по 100 мбит каждый (один с белым ip второй без). Попробовал PCC, ECMP и Nth варианты распределения нагрузки и больше всего нравится по чистой производительности Nth, но что-то у нас не сложилось с ним. Есть проблемы на некоторых сайтах, на youtube очень долго думает пока не прогрузит все превью, а так же банальный google.com запрос на поиск иногда задумывается по 30 секунд. С ECMP такого близко нет, все работает исправно. В p2p же все наоборот, ECMP порой задумывается скорость скачет, порой неравномерно распределяется трафик (PCC еще грустнее там огромные скачки), Nth очень быстро набирает около максимальную ширину канала и держит стабильно. На сайтах типа speedtest ECMP использует на upload только одного провайдера (который с белым ip), PCC выдает отличную download и хорошую upload, Nth выдает примерно так же как PCC. А вот на Fast.com (спидтест от нетфликс) все наоборот, Nth выдает низкую задержку 70-72 мс в обе стороны, но очень кривую скорость в оба направления (30-35 мбит) задействуя оба канала, PCC тоже выдает так себе и имеет 100+- мс, зато ECMP выдает 150-160 и на отдачу порядка 120-130, задержка порядка 90. Теперь главный вопрос, что я делаю не так или это особенности работы реализаций распределения нагрузки? Очень нравится Nth если честно и еще вопрос можно ли заменить некоторые правила в mangle на route rule?
Листинг ECMP и Nth
================================ECMP======================================
/ip firewall mangle
add action=mark-connection chain=forward connection-mark=no-mark new-connection-mark=con-WAN1 out-interface=WAN1 passthrough=yes
add action=mark-connection chain=forward connection-mark=no-mark new-connection-mark=con-WAN2 out-interface=WAN2 passthrough=yes
add action=mark-routing chain=prerouting connection-mark=con-WAN1 in-interface-list=!WAN new-routing-mark=WAN1 passthrough=yes
add action=mark-routing chain=prerouting connection-mark=con-WAN2 in-interface-list=!WAN new-routing-mark=WAN2 passthrough=yes
/ip route
add distance=1 gateway=XXXX routing-mark=WAN1
add distance=1 gateway=YYYY routing-mark=WAN2
add distance=1 gateway=XXXX,YYYY
add check-gateway=ping distance=100 gateway=YYYY
add check-gateway=ping distance=100 gateway=XXXX
================================NTH=======================================
/ip firewall mangle
add action=mark-connection chain=prerouting connection-state=new new-connection-mark=line1 nth=2,1 passthrough=yes src-address=192.168.35.0/24
add action=mark-connection chain=prerouting connection-state=new new-connection-mark=line2 nth=2,2 passthrough=yes src-address=192.168.35.0/24
add action=mark-routing chain=prerouting connection-mark=line1 new-routing-mark=line1 passthrough=yes src-address=192.168.35.0/24
add action=mark-routing chain=prerouting connection-mark=line2 new-routing-mark=line2 passthrough=yes src-address=192.168.35.0/24
/ip route
add check-gateway=ping distance=1 gateway=XXXX routing-mark=line1
add check-gateway=ping distance=1 gateway=YYYY routing-mark=line2
add check-gateway=ping distance=1 gateway=XXXX
add check-gateway=ping distance=2 gateway=YYYY
Если есть варианты решения на PCC буду только рад услышать.
Большое спасибо за любую помощь, я еще очень слаб в ROS.
Листинг ECMP и Nth
================================ECMP======================================
/ip firewall mangle
add action=mark-connection chain=forward connection-mark=no-mark new-connection-mark=con-WAN1 out-interface=WAN1 passthrough=yes
add action=mark-connection chain=forward connection-mark=no-mark new-connection-mark=con-WAN2 out-interface=WAN2 passthrough=yes
add action=mark-routing chain=prerouting connection-mark=con-WAN1 in-interface-list=!WAN new-routing-mark=WAN1 passthrough=yes
add action=mark-routing chain=prerouting connection-mark=con-WAN2 in-interface-list=!WAN new-routing-mark=WAN2 passthrough=yes
/ip route
add distance=1 gateway=XXXX routing-mark=WAN1
add distance=1 gateway=YYYY routing-mark=WAN2
add distance=1 gateway=XXXX,YYYY
add check-gateway=ping distance=100 gateway=YYYY
add check-gateway=ping distance=100 gateway=XXXX
================================NTH=======================================
/ip firewall mangle
add action=mark-connection chain=prerouting connection-state=new new-connection-mark=line1 nth=2,1 passthrough=yes src-address=192.168.35.0/24
add action=mark-connection chain=prerouting connection-state=new new-connection-mark=line2 nth=2,2 passthrough=yes src-address=192.168.35.0/24
add action=mark-routing chain=prerouting connection-mark=line1 new-routing-mark=line1 passthrough=yes src-address=192.168.35.0/24
add action=mark-routing chain=prerouting connection-mark=line2 new-routing-mark=line2 passthrough=yes src-address=192.168.35.0/24
/ip route
add check-gateway=ping distance=1 gateway=XXXX routing-mark=line1
add check-gateway=ping distance=1 gateway=YYYY routing-mark=line2
add check-gateway=ping distance=1 gateway=XXXX
add check-gateway=ping distance=2 gateway=YYYY
Если есть варианты решения на PCC буду только рад услышать.
Большое спасибо за любую помощь, я еще очень слаб в ROS.