Урок за тестване на протокол: L2 & L3

Съдържание:

Anonim

Преди да научим за тестване на протокол, нека разберем:

Какво е протокол?

Когато компютърът комуникира помежду си, има общ набор от правила и условия, които всеки компютър трябва да спазва. С други думи, протоколите определят как данните се предават между изчислителни устройства и по мрежи.

Тестване на протокол

Тестване на протокол е метод за проверка на комуникационни протоколи в домейните на комутация, безжична връзка, VoIP, маршрутизация и др. Основната цел на тестването на протокола е да се провери структурата на пакетите, които се изпращат по мрежата с помощта на инструменти за тестване на протоколи. По време на теста се използват рутери и суичове, за да се оформят части от тествани устройства и продукти.

Маршрутизирани и маршрутизиращи протоколи

Протоколите са класифицирани в две категории маршрутизирани протоколи и маршрутизиращи протоколи

  • Маршрутизирани протоколи : Маршрутизираните протоколи могат да се използват за изпращане на потребителски данни от една мрежа в друга мрежа. Той пренася потребителски трафик като имейли, уеб трафик, прехвърляне на файлове и т.н. Маршрутизираните протоколи са IP, IPX и AppleTalk.
  • Маршрутизиращи протоколи : Маршрутизиращите протоколи са мрежови протоколи, които определят маршрути за рутери. Използва се само между рутери. Например RIP, IGRP, EIGRP и т.н.

С прости думи, маршрутизаторът е като шина, използвана за транспортиране, докато маршрутизиращите протоколи са сигнали на пътя.

Въз основа на вида комуникация се използват различни протоколи. Компании като CISCO, JUNIPER, ALCATEL произвеждат мрежови устройства като рутери, модеми, безжични точки за достъп и др., Които използват различни протоколи за комуникация, например Cisco използва EIGRP, OSPF и др. Gateway Routing Protocol) или OSPF (Open Shortest Path First) или всеки друг протокол работи съгласно съответния стандарт.

Видове компютърни протоколи

Видове протоколи Цел на протоколите
TCP / IP Използва се за изпращане на информация в малки пакети през Интернет
UDP / ICMP Използва се за изпращане на малко количество информация в пакети с данни по интернет
POP3 и SMTP Използва се за изпращане и получаване на поща
Протокол за прехвърляне на хипертекст Използва се за прехвърляне на HTML страница в криптирана форма, за да осигури сигурност на чувствителните данни
FTP Използва се за транспортиране на файлове през мрежа от един възел на друг

* TCP / IP - Протокол за управление на предаването / Интернет протокол, UDP / ICMP - Протокол за потребителска дейтаграма / Протокол за съобщения за управление на Интернет, POP3 / SMTP - Протокол за пощенски офис / Прост протокол за прехвърляне на поща, HTTP - Протокол за прехвърляне на хипертекст, FTP - Протокол за прехвърляне на файлове

Различни видове мрежови протоколи (L2 и L3)

Моделът OSI има общо 7 слоя мрежова комуникация, в които слой 2 и слой 3 са много важни.

  • Слой 2 : Това е слой за връзка с данни. Адресът на Mac, Ethernet, Token Ring и Frame Relay са примери за слой за връзка с данни.
  • Слой 3 : Това е мрежов слой, който определя най-добрия наличен път в мрежата за комуникация. IP адресът е пример за слой3.

Как да направите тестване на протокол

  • За тестване на протокол ви е необходим анализатор на протокол и симулатор
  • Протоколният анализатор осигурява правилното декодиране заедно с анализа на обажданията и сесиите. Докато симулаторът симулира различни обекти на мрежов елемент
  • Обикновено тестването на протокол се извършва от DUT (тествано устройство) на други устройства като комутатори и рутери и конфигуриране на протокол в него
  • След това се проверява структурата на пакетите на пакетите, изпратени от устройствата
  • Той проверява скалируемостта, производителността, алгоритъма на протокола и т.н. на устройството, като използва инструменти като lxNetworks, Scapy и Wireshark

Видове тестване за тестване на протокол

Тестването на протокол включва тестване на функционалност, производителност, стек протоколи, оперативна съвместимост и др. По време на тестването на протокола се правят основно три проверки.

  • Коректност : Получаваме ли пакет X, когато сме очаквали
  • Латентност : Колко време отнема на пакета да премине системата
  • Честотна лента : Колко пакета можем да изпратим в секунда

Тестването на протокол може да бъде разделено на две категории. Тестове за стрес и надеждност и функционални тестове. Тестовете за стрес и надеждност обхващат тестване на натоварване, стрес тестване, тестване на производителността и др. Докато функционалното тестване включва отрицателни тестове, тестове за съответствие, тестове за оперативна съвместимост и др.

  • Тестване на съответствието : Протоколите, внедрени в продуктите, се тестват за придържане като IEEE, RFC и др.
  • Тестване на оперативната съвместимост : Тества се оперативната съвместимост за различни доставчици. Това тестване се извършва след тестване за съответствие на съответната платформа
  • Тестване на мрежови характеристики: Характеристиките на мрежовите продукти са тествани за функционалност по отношение на документа за проектиране. Например, функциите могат да бъдат защита на порта на комутатор, ACL на рутер и т.н.

Примерни тестови случаи за тестване на протоколи на мрежови устройства

Ето примерния тестов случай за рутери

Име на теста Тестови случаи
  1. Един VLAN на един ключ
  • Изградете две различни VLAN мрежи. Проверете видимостта между хостовете на различни VLAN
  1. Три симетрични VLAN на един ключ
  • Създайте три различни асиметрични VLAN. Проверете видимостта между хостовете
  1. Обхващащо дърво: Разлика в цената на кореновия път
  • Тествайте как се променя цената на основния път след промяна на топологията
  1. Обхващащо дърво: Блокиране на портове
  • Проверете как протоколът за обхващащо дърво избягва образуването на цикли в мрежата, блокиране на излишни връзки, при наличие на VLAN също
  1. Различен корен мост за различни MSTI
  • Покажете, че всеки MSTI може да има различен Root Bridge
  1. Видимост между различните STP региони
  • Със същите VLAN се проверява видимостта между различните STP региони
  1. Производителност на телефонния превключвател
  • Генерирайте 1000 телефонни обаждания и проверете дали телефонният превключвател все още работи или неговата производителност се влошава
  1. Отрицателен тест за устройство
  • Въведете неправилния ключ и проверете потребителя за удостоверяване. Той не трябва да позволява на потребителя достъп
  1. Скорост на линията
  • Проверете устройството, работещо със скорост 10Gbps, използвайки цялата налична честотна лента за обработка на входящия трафик
  1. Процент на разговор
  • Проследете TCP разговор между две устройства и проверете дали всяко устройство участва в правилно поведение
  1. Време за отговор за започване на сесия
  • Измерете времето за реакция на устройство на заявка за покана за започване на сесия

Инструменти за тестване на протоколи

Нека обсъдим най-важните инструменти за тестване, използвани за проверка на протоколи

Скапи за изработка на пакети

Scapy е мощна интерактивна програма за манипулиране на пакети. Това ви позволява да

  • Създаване на пакети
  • Декодиране на пакети в мрежата
  • Улавяйте пакети и ги анализирайте
  • Инжектирайте пакети в мрежата

Така че основно scapy прави основно две неща: получаване на отговори и изпращане на пакети . Вие дефинирате пакетите, той ги изпраща, получава отговори, съчетава заявки с отговори и връща списък с двойки пакети и списък с несравними пакети.

Той може да се справя и с други неща, като например маршрутизиране на траси, модулни тестове, атаки или откриване на мрежа, разработване на нови протоколи, сондиране и др

Scapy ни позволява да напишем скрипт на Python, който ни позволява да изпълним задача като изпращане и получаване на пакети или подуване на пакети. Например, scapy може да подуши пакета с данни, като използва скрипт на Python. Командата за отваряне на getdit, въведена в редактора

#gedit scapysniff.py#! / usr / bin / env pythonот scapy.all import *a = подуши (брой = 10)а. резюме ()запишете и променете режима на файла в изпълним формуляр# chmod + x scapysniff.py# ./scaotsbuff.py

Ще подуши 10 пакета и веднага след като подуши 10 пакета, ще отпечата резюмето. Скапи също като масив от команди за изпращане и получаване на пакети едновременно

Изтеглете Scapy

Инструменти за анализ на Wireshark

Инструменти, използвани за тестване на протокол - Wireshark. Той позволява да се улавят пакети в реално време и да се показват в разбираема от човека форма. Тя ви позволява да копаете дълбоко в мрежовия трафик и да проверявате отделни пакети, като използвате цветно кодиране и филтри.

Wireshark улавя пакети, които помагат да се определи кога се установява сесията, кога е инициирано точното пътуване на данни и колко данни се изпращат всеки път и т.н.

Wireshark има набор от богати функции, които включват

  • Обстойна проверка на стотици протоколи, като през цялото време се добавят още
  • Заснемане на живо и офлайн анализ
  • Богат VoIP анализ
  • Стандартен браузър с три панела
  • Работи на мултиплатформи като Windows, Linux, OSX и т.н.
  • Заловените мрежови данни могат да се преглеждат чрез GUI
  • Декриптирането поддържа много протоколи като IPsec, ISAKMP, SSL / TLS
  • Данните на живо могат да се четат от Ethernet, банкомат, Bluetooth, USB, маркер и т.н.
  • Изходът може да бъде експортиран в CSV, XML, обикновен текст и др.

Изтеглете Wireshark

TTCN

TCCN е стандартен език за тестване за дефиниране на тестовия сценарий и тяхното внедряване за тестване на протокол. Тестовият пакет TCCN съдържа много тестови случаи, написани на програмния език TTCN, и се използва за тестване на реактивни системи или поведенчески тестове .

Например машина за продажба на кафе, която ви дава кафе при поставяне на монета за долар, но не реагира, ако в нея е вмъкнато нещо по-малко от долар. За програмиране на такива машини се използва език TCCN3. За да накараме кафе машината да реагира при поставяне на монета, трябва да напишем компонент TCCN-3, който се държи като кафе машина. Позволява ни да проведем теста си, преди истинска кафе машина да се предлага като продукт. След като приключи, ще свържем тестовия пакет TCCN3 с външното устройство.

Тестовата система излъчва стимули (доларова монета) и получава отговори (кафе). Адаптерът за стимули получава стимулите от тестовата система и ги предава на тестваната система. Адаптерът за отговор изчаква отговори на тестваната система и ги предава на тестовата система.

TCCN3 може да се използва в различни области като

  • Мобилни комуникации (LTE, WiMAX, 3G и т.н.)
  • Широколентови технологии (ATM, DSL)
  • Платформи за Middleware (уеб услуги, CORBA и др.)
  • Интернет протокол (SIP, IMS, IPv6)
  • Смарт карти
  • Автомобили (AutoSAR, MOST, CAN)

В TCCN можем да определим

  • Тестови апартаменти
  • Тестови случаи
  • Тестови стъпки
  • Деклариране на променливи
  • Декларирайте таймери
  • Създайте PDU и т.н.

TCCN може да се интегрира с типове системи на други езици като ASN.1, XML, C / C ++. Основният език на TCCN3 съществува в текстов формат, отделно от други формати като табличен, графичен и презентационен.