Производителям сетевого оборудования нужно проверять работоспособность своих устройств в течение всего их жизненного цикла. Соответствует ли ПО для реализации протоколов, встраиваемое в устройства, требованиям спецификаций? Как устройства справляются с трафиком от сетевых компонентов, не соответствующих стандартам? Как новые функции влияют на имеющееся ПО? Нужно не только давать точные ответы на эти вопросы, но и быстро решать выявленные проблемы, поскольку исправление устройств на заключительных стадиях их разработки может быть очень трудозатратным и дорогим.
С помощью IxANVL (Automated Network Validation Library) можно легко и быстро задействовать широкий набор протокольных библиотек и утилит для проверки совместимости реализаций протоколов и их соответствия спецификациям. Пользоваться этой библиотекой очень просто благодаря улучшенному графическому интерфейсу и гибким возможностям автоматизации тестирования. IxANVL обладает множеством важных достоинств. Эмулируя крупномасштабные сети с многочисленными узлами, что ранее стоило очень дорого, эта библиотека не только уменьшает затраты, но и повышает эффективность тестирования, а также способствует ускорению вывода новых продуктов на рынок. Полное и тщательное автоматизированное тестирование повышает уверенность в качестве продуктов.
Библиотека IxANVL может функционировать на ПК с операционной системой Linux или Windows. Также данная библиотека хорошо работает на мощной тестовой и аналитической платформе Ixia через драйвер VNIC (Virtual Network Interface Card). Такая гибкость позволяет IxANVL поддерживать стандартные тестовые интерфейсы, включая Fast Ethernet, 1GE, 10GE и 100GE.
Варианты использования IxANVL
Библиотека IxANVL дает возможность производителям сетевого оборудования проверять работоспособность продуктов в течение всего их жизненного цикла. С помощью IxANVL проблемы в продуктах могут быть выявлены на ранних стадиях их разработки. Это позволит избежать трудозатратных и дорогостоящих исправлений на заключительных стадиях. Также IxANVL эмулирует крупномасштабные сети, что обеспечивает более эффективное тестирование и ускорение выпуска новых продуктов.
IxANVL повышает уверенность в качестве продуктов, обеспечивая их полное и тщательное тестирование, выполняемое в автоматическом режиме.
Результаты тестирования, выдаваемые IxANVL, дают возможность пользователям:
IxANVL поддерживает обширный перечень протоколов, включая PPP, TCP/IP, IPv6, IPsec, а также протоколы VPN, MPLS, Carrier Ethernet, Automotive Ethernet, маршрутизации и многоадресной передачи.
Процесс разработки набора тестов IxANVL
В процесс разработки набора тестов IxANVL входят следующие этапы:
Спецификация — анализ спецификации протокола строка за строкой.
Перечни Test Assertion List (TAL):
Метод тестирования: разработка метода тестирования для каждого элемента TAL.
Проверка кода набора тестов: постоянный контроль стандартов протоколов в процессе разработки.
Набор тестов IxANVL может выполняться на ПК, оснащенном ОС Linux или Windows и обычным сетевым адаптером, или на нагрузочных модулях Ixia через VNIC-соединение. Тестирующий ПК подключают к тестируемому устройству через тестовые интерфейсы. Можно использовать до шести интерфейсов в зависимости от конфигурации теста. IxANVL гибко эмулирует различные системные топологии и реализует почти любые сценарии тестирования для почти любого тестируемого сетевого устройства.
IxANVL предоставляет как интерфейс командной строки (для автоматизации тестирования), так и дружественный к пользователю графический интерфейс, обеспечивающий простое управление выполнением тестов и выдачу детальных отчетов. Также имеется пакетный исполнитель для выполнения запланированных регрессионных тестов.
В библиотеке IxANVL виды тестирования делятся на три категории: MUST, SHOULD и MAY (обязательный, желательный и возможный тесты). Тесты могут быть выбраны и выполнены на основе их категорий и тестовых топологий.
Интерфейс выбора тестов в IxANVL дает возможность пользователям выбирать и запускать тесты по отдельности или группами
IxANVL может быть запущена в двух вариантах: с графическим пользовательским интерфейсом или с интерфейсом командной строки. В варианте с графическим интерфейсом пользователь выбирает, какие тесты и виды тестирования запускать. В варианте с интерфейсом командной строки пользователь вводит команду с опциями, указывающими, какие тесты запускать и каков желаемый уровень выдачи результатов.
В процессе тестирования IxANVL посылает пакеты тестируемому устройству в соответствии с заданным тестом и сравнивает пакеты, полученные от тестируемого устройства, с тем, что ожидалось. После получения этих пакетов IxANVL реагирует в соответствии с принятой информацией: библиотека может продолжить тестирование, остановить его, записать в журнал сообщение об ошибке или выполнить множество других функций.
IxANVL протоколирует выполнение теста в режиме реального времени. По завершении теста библиотека показывает, пройден он или провален, а затем делает то же самое при выполнении следующего теста, пока не будут выполнены все выбранные тесты.
Пользователь может задать четыре уровня выдачи результатов тестирования:
В дополнение к записям в журнал, IxANVL выдает временную диаграмму, которая представляет взаимосвязь передач тестовых пакетов между IxANVL и тестируемым устройством
IxANVL выполняет полный анализ пакетов для каждого варианта тестирования
Все тесты IxANVL протоколируются для последующего анализа
Рабочая станция для IxANVL должна иметь следующую конфигурацию:
Библиотека IxANVL поддерживает широкий набор сетевых плат, устанавливаемых в ПК с ОС Linux или Windows. Это платы с интерфейсами:
Кроме того, IxANVL поддерживает Ixia VNIC — интерфейсный драйвер, устанавливаемый на рабочую станцию Linux и шасси Ixia и дающий возможность тестам IxANVL обращаться к нагрузочным модулям Ixia.
Ixia VNIC поддерживает нагрузочные модули Ixia следующих типов:
Наборы тестов IxANVL | Тестируемые реализации протоколов | Базовые спецификации | Варианты тестирования/нужное число тестовых интерфейсов | ||||
---|---|---|---|---|---|---|---|
Наборы тестов IPv6 | |||||||
IPv6 Core | IPv6 | RFC 2460, 2464 | 111/2 | ||||
IPv6CP | RFC 2472 | 17/1 | |||||
ICMPv6 | RFC 4443 | 46/2 | |||||
IPv6 Advanced | NDP | RFC 4861 | 228/2 | ||||
Generic Packet Tunneling | RFC 2473 | 46/2 | |||||
AutoConfig | RFC 4862 | 37/2 | |||||
V6oV4 | RFC 4213, 2529, 3056, 3068 | 66/2 | |||||
PMTU | RFC 1981 | 10/1 | |||||
IP Router Alert | RFC 2711 | 13/2 | |||||
DHCPv6 | DHCPv6 Client | RFC 3315 | 103/1 | ||||
DHCPv6 Server | RFC 3315 | 141/2 | |||||
Наборы тестов IPv4 | |||||||
IPv4 | IPv4 | RFC 791, части 1122, 1812 | 70/2 | ||||
ICMP | RFC 792, части 1812 | 32/2 | |||||
ARP | ARP | RFC 826 RFC 1027 | 61/2 | ||||
DHCPv4 | DHCPv4 Client | RFC 2131 | 90/2 | ||||
DHCPv4 Server | RFC 2131 | 74/2 | |||||
Наборы тестов маршрутизации | |||||||
IP RIP | RIP | RFC 2453 | 53/2 | ||||
IPGW | RFC 1812, 1122 | 18/2 | |||||
RIPng | RIPng | RFC 2080 | 60/2 | ||||
OSPF Core | OSPF | RFC 1583, 2328 | 312/3 | ||||
OSPF Extensions | Opaque LSA, NSSA, DB Overflow, Stub Router Ext | RFC 2370, 3101, 1765, 3137 | 56/3 | ||||
OSPF TE | RFC 3630 | 54/2 | |||||
OSPFv3 | OSPFv3 | RFC 5340, части RFC 2328 | 328 | ||||
OSPF-GR | OSPFv2-GR | RFC 3623 | 56/2 | ||||
VRRP | VRRP | RFC 3768 RFC 5798 | 83/2 | ||||
BGP4 Core | BGP | RFC 4271 | 217/3 | ||||
BGP4 Extensions | BGP-OSPF, Communities, Route Flap Damping, Route Reflection, Route Refresh, Confederations | RFC 1403, 1997, 2439, 2918, 4456, 5065, 1771, 4360 | 150/3 | ||||
BGP Plus | BGP+ с IPv6 | RFC 4271, 4760, 2545 | 236/3 | ||||
OSPFv3-AF | Поддержка семейств адресов в OSPFv3 | RFC 5838 | 37/2 | ||||
BGP 4-Byte AS | 4-byte AS для BGP и BGPPlus | RFC 4893 | 52/3 | ||||
ISIS | ISIS | RFC 1195, 3719, 5303, 5309 | 237/2 | ||||
ISIS-TE | ISIS-TE | RFC 3784 | 31/1 | ||||
ISIS-MT | ISIS-MT | RFC 5120, 5303, 5309 | 105/3 | ||||
VRRPv6 | VRRPv3 over IPv6 | RFC 5798 | 77/2 | ||||
BFD | BFD Base, BFD Generic, BFD-v4v6-1hop для OSPFv2/v3, ISIS и BGP, BFD-MPLS | draft-ietf-bfd-base-09.txt, draft-ietf-bfd-generic-05.txt, draftietf-bfd-v4v6-1hop-09.txt, draft-ietf-bfd-mpls-07.txt | 178/3 | ||||
Наборы тестов MPLS | |||||||
MPLS | Label Encapsulation | RFC 3032 | 59/2 | ||||
RSVP-TE | RSVP-TE | RFC 3209, draft-ietf-mpls-rsvplsp-tunnel-07 | 87/3 | ||||
RSVP-TE | RSVP-TE P2MP | RFC 4875 | 48/3 | ||||
LDP | LDP | RFC 3036 | 329/3 | ||||
mLDP | mLDP P2MP | draft-ietf-mpls-ldp-p2mp-10 | 97/4 | ||||
LSP-Ping-Tr | LSP Ping и Traceroute | RFC 4379 | 128/2 | ||||
VCCV | Pseudo wire VCCV | RFC 5085 | 70/2 | ||||
L2VPN (PWE3) | PWE3-Control | RFC 4447 | 69/2 | ||||
PWE3-Encapsulation | RFC 4448, 4618, 4717, 4385, 4623 | 78/2 | |||||
VPLS | VPLS | RFC 4762 | 58/4 | ||||
VPLS-BGP | VPLS с BGP AD и сигнализацией | RFC 4761 | 46/4 | ||||
L3 VPN | L3 VPN | RFC 4364 | 101/3 | ||||
MPLS-TP-Y1731-CC-LD | MPLS-TP-Y1731-CC-LD | RFC 5586 (GACH), draft-bhhmpls-tp-oam-y1731-06.txt, ITU-TREC Y.1731-200605-l | 85/1 | ||||
MPLS-TPIETF-CC-CVLD | MPLS-TP-IETF-CC-CV-LD | RFC 5586 (GACH), draft-ietfmpls-loss-delay-01, draft-ietfmpls-tp-on-demand-cv-02, draftietf-mpls-tp-cc-cv-rdi-03 | 210/1 | ||||
MPLS-TPG.8031-APSY.1731 | MPLS-TP-G.8031-APSY.1731 | G.8031_Y.1342-2006-06 | 140/2 | ||||
Набор тестов многоадресной передачи | |||||||
IGMP | IGMPv2 | RFC 2236 | 49/2 | ||||
IGMPv3 | RFC 3376 | 153/2 | |||||
DVMRP | DVMRP | draft-ietf-idmr-dvmrp-v3-07 | 66/3 | ||||
PIM | Dense Mode | draft-ietf-pim-dm-new-v2-04 | 162/3 | ||||
Sparse Mode, SSM | RFC 4601, draft-ietf-pim-sm-bsr12 | 327/3 | |||||
PIMv6 | Sparse Mode | draft-ietf-pim-sm-v2-new-12, draft-ietf-pim-sm-bsr-12 | 283/3 | ||||
MLD | MLDv1 | RFC 2710 | 98/2 | ||||
MLDv2 | RFC 3810 | 202/2 | |||||
Наборы тестов транспортных протоколов | |||||||
TCP Core | TCP | RFC 793, 1122, 2460 | 179/2 | ||||
TCP Advanced | Slow Start, Congestion Control, PMTU Disc, MD5 | RFC 2001, 2581, 1191, 2385, 2463, 1981 | 57/1 | ||||
TCP High Performance | Ext for High Performance, Selective Ack | RFC 1323, 2018 | 48/1 | ||||
UDP | UDP | RFC 768, 1122 | 35/1 | ||||
Наборы тестов VPN | |||||||
IPSec AH | MD5, SHA | RFC 4301, 4302 | 58/2 | ||||
IPSec ESP | MD5, SHA, DES, 3DES, Blowfish, AES | RFC 4301, 4303, 2403, 2404, 2405 | 72/2 | ||||
IPSec IKE | ISAKMP, IKE | RFC 2407, 2408, 2409 | 373/2 | ||||
IPSec AH/IPv6 | MD5, SHA, IPSecv6 | RFC 4301, 4302 | 66/2 | ||||
IPSec ESP/IPv6 | MD5, SHA, DES, 3DES, Blowfish, AES | RFC 4301, 4303, 2403, 2404, 2405, 2406 | 74/2 | ||||
IPSec IKE/IPv6 | ISAKMP, IKE | RFC 2407, 2408, 2409 | 384/2 | ||||
IKEV2 | IKEV2, DES, 3DES, AES128, 256, 192, MD5, SHA, DH-768, 1024, 1536, 2048,3072, AES_GCM_128, AES_GCM_256 | RFC 7296 | 296/2 | ||||
L2TP | L2TP | RFC 2661 | 105/1 | ||||
PPTP | PPTP | draft-ietf-pppext-pptp-02 | 55/1 | ||||
IKEV2-IPV6 | IKEV2-IPV6 | RFC 4306, RFC 5996 | 204/2 |
Наборы тестов IxANVL | Тестируемые реализации протоколов | Базовые спецификации | Варианты тестирования/нужное число тестовых интерфейсов |
---|---|---|---|
Наборы тестов Automotive Ethernet | |||
Поддерживаемые спецификации тестирования Automotive Ethernet: OPEN Alliance Automotive Ethernet ECU Test Specification 2.0 (TC8 ECU and Network Test) OPEN Alliance TC11 specification — Switch Semiconductor Test Specification AUTOSAR Acceptance Tests 1.1 AUTOSAR Testability Protocol and Service Primitives 1.1 — execution using latest stub protocol AUTOSAR Specification of TCP/IP Stack V1.1.0 R4.1 Rev2 AUTOSAR Example for a Serialization Protocol (SOME/IP) V1.1.0 R4.1 AUTOSAR Specification of Service Discovery V1.2.0 R4.1 Rev 3 |
|||
AUTO-ETHARP | AUTO-ETH-ARP | RFC 826 | 52/1 |
AUTO-ETH-DHCPSERVER | AUTO-ETH-DHCP-SERVER | RFC 2131, RFC 2132 | 74/1 |
AUTO-ETH-DHCPV4-CLIENT | AUTO-ETH-DHCPV4CLIENT | RFC 2131, RFC 2132 | 90/1 |
AUTO-ETH-DHCPV6-CLIENT | AUTO-ETH-DHCPV6CLIENT | RFC 3315 | 104/1 |
AUTO-ETH-DHCPV6-SERVER | AUTO-ETH-DHCPV6SERVER | RFC 3315 | 141/1 |
AUTO-ETHICMP | AUTO-ETH-ICMP | RFC 792, RFC 1122 | 21/1 |
AUTO-ETHICMPV6 | AUTO-ETH-ICMPV6 | RFC 2463, RFC 4443 | 24/1 |
AUTO-ETH-IP | AUTO-ETH-IP | RFC 791, RFC 1122, RFC 894,AUTOSAR_ATS_IPv4.pdf | 29/1 |
AUTO-ETH-IPV4-ACONF | AUTO-ETH-IPV4-ACONF | RFC 3927 | 56/1 |
AUTO-ETH-IPV6 | AUTO-ETH-IPV6 | RFC 2460 и RFC 2464 | 80/1 |
AUTO-ETH-IPV6-AUTOCONFIG | AUTO-ETH-IPV6AUTOCONFIG | RFC 4862 | 34/1 |
AUTO-ETHIPV6-MLD | AUTO-ETH-IPV6-MLD | RFC 2710 | 46/1 |
AUTO-ETHIPV6-NDP | AUTO-ETH-IPV6-NDP | RFC 4861 | 83/1 |
AUTO-ETH-TCP-ADVANCED | AUTO-ETH-TCPADVANCED |
RFC 793, RFC 2001, RFC 1191, RFC 2385, RFC 2463, RFC 1981, RFC 813, RFC 896 и AUTOSAR_SWS_TcpIp.pdf. (AUTOSAR Specification of TCP/IP Stack V1.1.0 R4.1 Rev2), AUTOSAR_ATS_TCP.pdf |
63/1 |
AUTO-ETH-TCP-CORE | AUTO-ETH-TCP-CORE |
RFC 793, RFC 1122, RFC 2460 и AUTOSAR_SWS_TcpIp.pdf. (AUTOSAR Specification of TCP/IP Stack V1.1.0 R4.1 Rev2), AUTOSAR_ATS_TCP.pdf |
177/1 |
AUTO-ETH-IPV6-MLDV2 | AUTO-ETH-IPV6-MLDV2 | RFC 3810 | 85/1 |
SOMEIP-SERVER | SOMEIP-SERVER |
Example for a Serialization Protocol (SOME/IP) V1.1.0 R4.1 Rev 3, Document ID 637. AUTOSAR_TR_SomeIpExample.pdf Specification of Service Discovery V1.2.0 R4.1 Rev 3, Document ID 616:AUTOSAR_SWS_ServiceDiscovery.pdf |
105/1 |
AUTO-ETHIPV6OV4 | AUTO-ETH-IPV6OV4 | RFC 4213, RFC 2529 | 37/1 |
AUTO-ETHUDP | AUTO-ETH-UDP |
RFC 768 b и AUTOSAR_SWS_TcpIp.pdf. (AUTOSAR Specification of TCP/IP Stack V1.1.0 R4.1 Rev2). AUTOSAR_ATS_UDP.pdf |
35/1 |
TC8-AUTO-ETH-IPV4-ACONF | TC8-AUTO-ETH-IPV4ACONF | OA_Automotive_Ethernet_ECU_TestSpecification_v2.0.docx | 56/1 |
TC8-AUTOETH-UDP | TC8-AUTO-ETH-UDP | OA_Automotive_Ethernet_ECU_TestSpecification_v2.0.docx | 74/1 |
TC8-AUTOETH-ARP | TC8-AUTO-ETH-ARP | OA_Automotive_Ethernet_ECU_TestSpecification_v2.0.docx | 52/1 |
TC8-AUTO-ETHDHCPV4-CLIENT | TC8-AUTO-ETH-DHCPV4CLIENT | OA_Automotive_Ethernet_ECU_TestSpecification_v2.0.docx | 90/1 |
TC8-SOMEIPSERVER | TC8-SOMEIP-SERVER | OA_Automotive_Ethernet_ECU_TestSpecification_v2.0.docx | 117/1 |
TC8-AUTO-ETH-TCP-CORE | TC8-AUTO-ETH-TCPCORE | OA_Automotive_Ethernet_ECU_TestSpecification_v2.0.docx | 197/1 |
TC8-AUTO-ETH-CPADVANCED | TC8-AUTO-ETH-TCPADVANCED | OA_Automotive_Ethernet_ECU_TestSpecification_v2.0.docx | 71/1 |
TC8-AUTO-ETH-IP | TC8-AUTO-ETH-IP | OA_Automotive_Ethernet_ECU_TestSpecification_v2.0.docx | 53/1 |
TC8-AUTOETH-ICMP | TC8-AUTO-ETH-ICMP | OA_Automotive_Ethernet_ECU_TestSpecification_v2.0.docx | 21/1 |
TC11 | ARP, VLAN, Filtering, QoS | OPEN alliance TC11 specification — Switch Semiconductor Test Specification | 121/4 |
Наборы тестов PPP | |||
PPP | LCP, PPP, PPP in HDLC | RFC 1661, 1662 | 111/2 |
Authentication (PAP, CHAP) | RFC 1334, 1994 | 37/1 | |
IPCP | IPCP | RFC 1332 | 19/2 |
VJ | VJ Compression | RFC 1144 | 48/2 |
PPPoE | PPP over Ethernet | RFC 2516 | 75/2 |
Multilink PPP | MPPP Multi-class Extension | RFC1717, 1990, RFC 2686 | 59/3 |
Наборы тестов Carrier Ethernet | |||
MEF9 | MEF9 | MEF1, MEF9, Iometrix Test Plan version 1.4 | 247/6 |
EtherCFM | Ethernet CFM | IEEE P802.1ag/D8.1 2007 | 246/3 |
EtherOAM | Ethernet OAM | IEEE 802.3-ah-2004 | 166/3 |
MEF OAM | MEF21 OAM | MEF 21 Abstract Test Suite for UNI Type 2 | 187/2 |
Service OAM | Y.1731 | ITU-T Y.1731 05/2006, IEEE P802.1ag/D8.1, June 8,2007 | 106/2 |
Provider BB | PBB | IEEE 802.1ah D4.2 2005 | 55/2 |
MEF Service OAM | MEF Service OAM | ATS for UNI Type 2 Part 3 — Service OAM | 157/2 |
CE2.0 | CE2.0 |
CARRIER ETHERNET 2.0 TEST PLAN — PART 1: SERVICES ATTRIBUTES — Version 1.0. CARRIER ETHERNET 2.0 TEST PLAN — PART 2: TRAFFIC MANAGEMENT — Version 2.0 |
635/6 |
MEF ELMI | MEF ELMI | D00063_004 ATS for UNI Type 2 Part 2 ELMI TC, MEF 16 | 239/2 |
G.8031 | G.8031 1:1 protection | Ethernet Automatic Protection Switching — ITU-T G8031/Y.1342 | 283/3 |
G_8265_1 | G_8265_1 | IEEE 1588 Conformity Test Suite For Frequency Synchronization in Telecommunications Networks, Draft Version 2.0 | 348/1 |
Наборы тестов мостовой связи (bridging) | |||
STP | 802.1d | IEEE Std. 802.1D-1998 | 53/3 |
RSTP | 802.1w | IEEE Std. 802.1D-2004 | 126/4 |
EAPOL | 802.1x, MD5, TLS, TTLS | IEEE 802.1x-2004 | 83/3 |
MSTP | 802.1s | IEEE 802.1Q-2005 | 247/4 |
LLDP | LLDP | IEEE 802.1AB 2005 | 119/3 |
DCBX | DCBX | DCB Capability Exchange Protocol Specification (Rev 1.0), DCB Capability Exchange Protocol Base Specification (Rev 1.01) | 92/1 |
Mcast Snooping | IGMP/MLD Snooping | RFC 4541 | 42/3 |
VLAN | 802.1q, GMRP, GVRP | IEEE Std. 802.1Q-2005 | 161/4 |
LACP | 802.3ad | IEEE Std. 802.3-2005 Clause 43 | 118/4 |
QinQ | QinQ | IEEE 802.1ad- 2005 | 127/2 |
MVRP/MMRP | MVRP, MMRP | IEEE Std 802.1ak-2007, IEEE Std 802.1Q™-2005/Cor 1-2008 | 321/3 |
Наборы тестов SDN | |||
OPENFLOW_1.0 | OPENFLOW_1.0 | OpenFlow Switch Specification Version 1.0.0 (Wire Protocol 0×01) и OpenFlow Switch Errata v1.0.1 | 194/5 |
OPENFLOW1.3 | OPENFLOW1.3 | OpenFlow Switch Specification Version 1.3.2 (Wire Protocol 0×04) | 528/6 |