Внедрение MPLS, тестирование OpenFlow Iperf
У меня есть топология минисети, состоящая из двух хостов и двух коммутаторов ovs. h1-eth0 подключен к s1-eth1, h2-eth0 подключен к s2-eth2, а s1-eth2 и s2-eth1 также подключены. h1 — для клиента, h2 — для сервера. В потоках пакеты ARP рассылаются. В s1 исходящие пакеты h1 отправляются с меткой mpls (т.е. 55), а в s2 метки mpls извлекаются и направляются в h2. Исходящие пакеты h2 не являются реализацией mpls, они передаются как IP-пакеты. Таблицы потоков такие:
Таблица потоков s1:
cookie=0x0, длительность=0, таблица=0, n_packets=0, n_bytes=0, приоритет=1, ip, in_port="s1-eth1" action=push_mpls:0x08847,set_field:55->mpls_label,output:"s1 -eth2"
cookie=0x0, длительность=0, таблица=0, n_packets=0, n_bytes=0, приоритет=1, ip, in_port="s1-eth2" action=output:"s1-eth1"
cookie=0x0, длительность=0, таблица=0, n_packets=0, n_bytes=0, приоритет=0, действия arp=FLOOD
Таблица потоков s2:
cookie=0x0, длительность=0, таблица=0, n_packets=0, n_bytes=0, приоритет=1, ip, in_port="s2-eth2" action=output:"s2-eth1"
cookie=0x0, продолжительность=0, таблица=0, n_packets=0, n_bytes=0, приоритет=1, mpls, in_port="s2-eth1",mpls_label=55,mpls_bos=1 action=pop_mpls:0x0800,output:" s2-eth2"
cookie=0x0, длительность=0, таблица=0, n_packets=0, n_bytes=0, приоритет=0, действия arp=FLOOD
Когда я тестирую этот тестовый стенд с помощью iperf (h2 — клиент, а h1 — сервер), я получаю нормальную пропускную способность (т. е. 20 ГБит). Но когда я использую h2 в качестве сервера, а h1 — в качестве клиента, я получаю очень ограниченную пропускную способность (например, 400 Кбит). Я действительно хочу знать, что является причиной этого, но понятия не имею.
Благодарен за помощь.