СПОСОБ И УСТРОЙСТВО ДЛЯ РАСШИРЕНИЯ TWAMP
METHOD AND APPARATUS FOR EXPANSION TWAMP

Перекрестная ссылка на родственные заявки
По данной заявке испрашивается приоритет предварительной патентной заявки США № 61/737730, поданной 14 декабря 2012 г., которая включена в данный документ посредством ссылки.
Область техники, к которой относится изобретение
Варианты осуществления изобретения относятся к области построения сетей; и в частности, к измерению производительности.
Уровень техники
На фиг. 1 показана блок-схема, демонстрирующая протокол двусторонних активных измерений (TWAMP) (рабочие предложения (RFC) 5357 и 4656, опубликованные инженерной группой по развитию интернета (IETF)), используемый между двумя концевыми точками интернет-протокола (IP) согласно уровню техники. Протокол двусторонних активных измерений (TWAMP) (RFC 5357 и 4656) можно использовать для сквозного (E2E) измерения производительности (PM) IP. Другими словами, TWAMP измеряет производительность между двумя концевыми точками IP. В частности, TWAMP может измерять как двустороннюю, так и одностороннюю производительность (задержка, дрожание, потеря пакетов, связность, переупорядочение) на отправителе и отражателе.
Сущность изобретения
Описаны способ и устройство для расширения TWAMP. Согласно одному варианту осуществления изобретения, текущий счетчик переходов устанавливается на начальное значение единица для сеанса теста TWAMP с адресом назначения интернет-протокола (IP) другого сетевого устройства. Затем пакет запроса теста TWAMP передается с IP-адресом назначения и со счетчиком переходов в IP-пакете, заданным равным текущему счетчику переходов. Если, в ответ на передачу, сообщение превышения времени протокола управляющих сообщений в интернете (ICMP) принимается от транзитного узла, то транзитный узел отстоит на текущий счетчик переходов на обнаруживаемом сквозном (E2E) пути TWAMP, и сетевое устройство: 1) добавляет IP-адрес из сообщения ICMP в последовательность IP-адресов, записанную для E2E пути TWAMP; и повторяет передачу с текущим счетчиком переходов, увеличенным на единицу по сравнению с непосредственно предшествующим пакетом запроса теста TWAMP для этого сеанса теста TWAMP. Если, в ответ на передачу, принимается сообщение ответа теста TWAMP, то оно будет отправляться от другого сетевого устройства, и сетевое устройство: передает дополнительные пакеты запроса теста TWAMP для сеанса теста TWAMP и принимает сообщения ответа теста TWAMP в ответ на соответствующие пакеты запроса теста TWAMP; и 2) определяет, в ответ на сообщения ответа теста TWAMP, PM, которое характерно для последовательности IP-адресов E2E пути TWAMP прямого направления, пройденного за сеанс теста TWAMP.
Согласно другому варианту осуществления изобретения обнаружение пути TWAMP осуществляется для определения последовательности IP-адресов E2E пути TWAMP прямого направления, подлежащего прохождению в двух разных сеансах теста TWAMP между отправителем и отражателем. Затем дополнительные пакеты запроса теста TWAMP передаются для разных сеансов теста TWAMP; и сообщения ответа теста TWAMP принимаются в ответ на соответствующие пакеты запроса теста TWAMP. В ответ на сообщения ответа теста TWAMP определяется PM, которое характерно для разных последовательностей IP-адресов E2E путей TWAMP прямого направления, пройденных в двух разных сеансах теста TWAMP.
Согласно другому варианту осуществления изобретения на сетевом устройстве, действующем как отправитель для каждого из множества сеансов теста TWAMP, каждый из которых имеет адрес назначения интернет-протокола (IP) одного и того же отражателя, отстоящего более чем на один счетчик переходов, осуществляется следующее: 1) передача, по IP-адресу назначения, серии пакетов запроса теста TWAMP со счетчиками переходов, начинающихся с 1 и увеличивающихся, пока сообщение ответа теста TWAMP не будет принято; 2) прием соответствующих сообщений превышения времени протокола управляющих сообщений в интернете (ICMP) в ответ на каждый из передаваемых пакетов запроса теста TWAMP с количеством счетчиков переходов, меньшим количества счетчиков переходов, необходимых для достижения отражателя; и 3) прием, от другого сетевого устройства, действующего как отражатель E2E пути TWAMP прямого направления, сообщения ответа теста TWAMP. Каждое из сообщений ICMP превышения времени идентифицирует IP-адрес вдоль E2E пути TWAMP прямого направления для этого сеанса теста TWAMP. Кроме того, два разных E2E пути TWAMP прямого направления различаются между сетевым устройством, действующим как отправитель, и другим сетевым устройством, действующим как отражатель, согласно разным последовательностям IP-адресов вдоль этих E2E путей TWAMP прямого направления.
Краткое описание чертежей
Изобретение можно лучше всего понять, обратившись к нижеследующему описанию и прилагаемым чертежам, которые используются для иллюстрации вариантов осуществления изобретения.
На чертежах:
фиг. 1 - блок-схема, демонстрирующая протокол двусторонних активных измерений (TWAMP) (рабочие предложения (RFC) 5357 и 4656, опубликованные инженерной группой по развитию интернета (IETF)), используемый между двумя концевыми точками интернет-протокола (IP) согласно уровню техники;
фиг. 2A - блок-схема, демонстрирующая иллюстративные сети согласно вариантам осуществления изобретения;
фиг. 2B - схема обмена сообщениями, демонстрирующая сообщения TWAMP между отправителем и другими узлами иллюстративных сетей из фиг. 2A, используемые для обнаружения путей TWAMP, согласно вариантам осуществления изобретения;
фиг. 3A - блок-схема, демонстрирующая третью иллюстративную сеть;
фиг. 3B - схема обмена сообщениями, демонстрирующая сообщения TWAMP между отправителем и другими узлами иллюстративной сети из фиг. 3A, используемые для обнаружения путей TWAMP, согласно вариантам осуществления изобретения;
фиг. 4 - блок-схема, демонстрирующая различные модули в сетевом устройстве согласно определенным вариантам осуществления изобретения;
фиг. 5 демонстрирует четвертую иллюстративную сеть согласно вариантам осуществления изобретения;
фиг. 6 - блок-схема операций, демонстрирующая обнаружение пути TWAMP согласно вариантам осуществления изобретения; и
фиг. 7 - блок-схема операций для обеспечения PM TWAMP на более высоком уровне детализации за счет различения разных E2E путей TWAMP между отправителем и отражателем согласно последовательности IP-адресов, полученной посредством обнаружения пути TWAMP.
Описание вариантов осуществления
В нижеследующем описании изложены многочисленные конкретные детали. Однако следует понимать, что варианты осуществления изобретения можно осуществлять на практике без этих конкретных деталей. В других случаях, общеизвестные схемы, структуры и методы подробно не показаны, чтобы не затруднять понимание этого описания.
Ссылки в описании изобретения на “один вариант осуществления”, “вариант осуществления”, “иллюстративный вариант осуществления” и т.д. Указывают, что описанный вариант осуществления может включать в себя конкретный признак, структуру или характеристику, но не обязательно, чтобы каждый вариант осуществления включал в себя конкретный признак, структуру или характеристику. Кроме того, такие выражения не обязательно относятся к одному и тому же варианту осуществления. Дополнительно, когда конкретный признак, структура или характеристика описана в связи с вариантом осуществления, специалисту в данной области техники понятно, что такие признак, структура или характеристика применимы к другим вариантам осуществления, даже если они не описаны в явном виде.
В нижеследующем описании и формуле изобретения могут использоваться термины “связанные” и “соединенный”, совместно с их производными. Следует понимать, что эти термины не рассматриваются как синонимы. Термин “связанные” используется для указания того, что два или более элементов, которые могут находиться или не находиться в прямом физическом или электрическом контакте друг с другом, кооперируют или взаимодействуют друг с другом. Термин “соединенный” используется для указания установления связи между двумя или более элементами, которые связаны друг с другом.
Электронное устройство (например, оконечная станция, сетевое устройство) сохраняет и передает (внутренне и/или через другие электронные устройства по сети) код (состоящий из программных инструкций) и данные с использованием машиночитаемых носителей, например нетранзиторных (некратковременных) машиночитаемых носителей (например, машиночитаемых носителей данных, например магнитных дисков; оптических дисков; постоянной памяти; устройств флэш-памяти; памяти на основе фазовых переходов) и транзиторных (временных) машиночитаемых сред передачи данных (например, электрических, оптических, акустических или других типов распространяющихся сигналов - например, несущих волн, инфракрасных сигналов). Кроме того, такие электронные устройства обычно включают в себя набор из одного или более процессоров, подключенных к одному или более другим компонентам, например, одному или более нетранзиторным машиночитаемым носителям (для хранения кода и/или данных), пользовательские устройства ввода/вывода (например, клавиатуру, сенсорный экран и/или дисплей) и сетевые соединения (для передачи кода и/или данных с использованием распространяющихся сигналов). Набор процессоров и другие компоненты обычно соединяются посредством одной или более шин и мостов (также именуемых контроллерами шины). Таким образом, нетранзиторный машиночитаемый носитель данного электронного устройства обычно сохраняет инструкции для выполнения на одном или более процессорах этого электронного устройства. Одну или более частей варианта осуществления изобретения можно реализовать с использованием разных комбинаций программного обеспечения, программно-аппаратного обеспечения и/или оборудования.
Используемый здесь термин “сетевое устройство” (например, маршрутизатор, коммутатор, мост) является частью сетевого оборудования, включающего в себя аппаратное обеспечение и программное обеспечение, которое соединено с возможностью связи с другим оборудованием в сети (например, другими сетевыми устройствами, оконечными станциями). Некоторые сетевые устройства являются “многосервисными сетевыми устройствами”, которые обеспечивают поддержку множественных сетевых функций (например, маршрутизации, формирования мостовых соединений, коммутации, агрегации уровня 2, межсеансового управления, качества обслуживания, и/или администрирование абонентов), и/или обеспечивают поддержку множественных прикладных услуг (например, данных, голоса и видео). Оконечные абонентские станции (например, серверы, рабочие станции, портативные компьютеры, ноутбуки, наладонные компьютеры, мобильные телефоны, смартфоны, мультимедийные телефоны, телефоны с функцией речевой связи по интернет-протоколу (VOIP), пользовательское оборудование, терминалы, портативный медиаплееры, блоки GPS, игровые системы, телевизионные приставки) обращаются к содержимому/услугам, предоставляемым в интернете и/или содержимому/услугам, предоставляемым в виртуальных частных сетях (VPN), наложенных на (например, туннелированных через) интернет. Содержимое и/или услуги обычно предоставляются одной или более оконечными станциями (например, серверными оконечными станциями), принадлежащими поставщику услуг или содержимого или оконечными станциями, участвующими в обслуживании одноранговых устройств, и может включать в себя, например, публичные веб-страницы (например, бесплатный контент, «витрины» интернет-магазинов, поисковые службы), частные веб-страницы (например, веб-страницы, доступные по имени пользователя/паролю, обеспечивающие услуги электронной почты), и/или корпоративные сети по VPN. Обычно оконечные абонентские станции связаны (например, посредством домашнего оборудования, подключенного к сети доступа (проводными или беспроводными средствами)) с оконечными сетевыми устройствами, которые связаны (например, посредством одного или более устройств базовых сетей) с другими оконечными сетевыми устройствами, которые подключены к другим оконечным станциям (например, серверным оконечным станциям).
Используемый здесь узел перенаправляет IP-пакеты на основании некоторой информации IP-заголовка в IP-пакете; где информация IP-заголовка включает в себя исходный IP-адрес, IP-адрес назначения, исходный порт, порт назначения (где “исходный порт” и “порт назначения”, именуемые здесь портами протокола, в отличие от физических портов сетевого устройства), транспортный протокол (например, протокол пользовательских дейтаграмм (UDP) (RFC 768, 2460, 2675, 4113 и 5405), протокол управления передачей (TCP) (RFC 793 и 1180) и значения дифференцированных услуг (DSCP) (RFC 2474, 2475, 2597, 2983, 3086, 3140, 3246, 3247, 3260, 4594, 5865, 3289, 3290 и 3317). Узлы реализованы в сетевых устройствах. Физический узел реализован непосредственно на сетевом устройстве, тогда как виртуальный узел является программной и, возможно, аппаратной, абстракцией, реализованной на сетевом устройстве. Таким образом, множественные виртуальные узлы можно реализовать на единичном сетевой устройстве.
Сетевой интерфейс может быть физическим или виртуальным; и адрес интерфейс является IP-адресом, назначенным сетевому интерфейсу, будь то физический сетевой интерфейс или виртуальный сетевой интерфейс. Физический сетевой интерфейс является оборудованием в сетевом устройстве, посредством которого устанавливается сетевое соединение (например, в беспроводном режиме посредством контроллера беспроводного сетевого интерфейса (WNIC) или посредством ввода кабеля в порт, подключенный к контроллеру сетевого интерфейса (NIC)). Обычно сетевое устройство имеет множественные физические сетевые интерфейсы. Виртуальный сетевой интерфейс может быть связан с физическим сетевым интерфейсом, с другим виртуальным интерфейсом или быть автономным (например, интерфейс обратной связи, интерфейс протокола двухточечной связи). Сетевой интерфейс (физический или виртуальный) может быть нумерованным (сетевой интерфейс с IP-адресом) или ненумерованным (сетевой интерфейс без IP-адреса). Интерфейс обратной связи (и его адрес обратной связи) является конкретным типом виртуального сетевого интерфейса (и IP-адресом) узла (физического или виртуального), часто используемого в целях администрирования; где такой IP-адрес именуется узловым адресом обратной связи. IP-адрес(а), назначенный(е) сетевому(ым) интерфейсу(ам) сетевого устройства, именуются IP-адресами этого сетевого устройства; на более высоком уровне детализации, IP-адрес(а), назначенный(е) сетевому(ым) интерфейсу(ам), назначенному() узлу, реализованному на сетевом устройстве, можно именовать IP-адресами этого узла.
Выбор следующего перехода системой маршрутизации для данного пункта назначения может разрешать один путь (то есть протокол маршрутизации может генерировать один следующий переход на кратчайшем пути); но если система маршрутизации определяет наличие множественных жизнеспособных следующих переходов (то есть решение по перенаправлению, генерируемое протоколом маршрутизации, предлагает более чем один следующий переход на кратчайшем пути - множественные следующие переходы равной стоимости), некоторые дополнительные критерии используются, например в несвязной сети можно использовать множественные пути равной стоимости (или маршрутизацию - также известную как перенаправление по множественным путям или IP-передача по множественным путям) (ECMP) (RFC 2991 и 2992), и типичные реализации используют в качестве критериев конкретные поля заголовка, чтобы гарантировать, что пакеты конкретного потока пакетов всегда перенаправляются на одном и том же следующем переходе для сохранения упорядочения потока пакетов. В целях перенаправления по множественным путям, поток пакетов определяется как набор пакетов, где используется общее ограничение по упорядочению. В порядке примера, набор пакетов в конкретной последовательности переноса TCP должен поступать в порядке, иначе логика TCP будет интерпретировать неупорядоченную доставку как перегрузку и снижать скорость переноса TCP.
Обзор
К сожалению, протокол TWAMP, выполняющийся на концевой точке TWAMP (отправителе или отражателе), не имеет авторитетного знания линий связи и транзитных узлов (также известные как промежуточные узлы), пройденных на пути между отправителем и отражателем для данного потока пакетов в сети IP-маршрутизации; политика, множественные области, ECMP, частные реализации маршрутизации и т.д. ограничивают априорное знание пути, которое узел может получать из системы маршрутизации. Определенные варианты осуществления изобретения используют обнаружение пути TWAMP для обнаружения дополнительной детализации в отношении таких путей; например, последовательность IP-адресов сетевых интерфейсов пройденных сетевых устройств. Такое обнаружение пути TWAMP обычно является авторитетным; и даже если такую информацию можно центрально получать и моделировать, еще быстрее обнаруживать путь и позволяет автоматически реагировать на снижение производительности. Помимо обнаружения пути TWAMP, определенные варианты осуществления изобретения обеспечивают PM TWAMP на более высоком уровне детализации за счет различения разных E2E путей TWAMP между отправителем и отражателем согласно последовательности IP-адресов, полученной посредством обнаружения пути TWAMP.
Чтобы данный пакет запроса теста TWAMP (также именуемый сообщение запроса сеанса TWAMP или зонд отправителя TWAMP) проходил конкретный путь, отправитель помещает значения в полях заголовка (например, значения дифференцированных услуг (DSCP) (RFC 2474, 2475, 2597, 2983, 3086, 3140, 3246, 3247, 3260, 4594, 5865, 3289, 3290 и 3317), исходные IP-адреса отправителя A, IP-адрес назначения, исходный порт (где “исходный порт” означает порт протокола, в отличие от физического порта сетевого устройства), порт назначения (где “порт назначения” означает порт протокола, в отличие от физического порта сетевого устройства) является TWAMP, транспортным протоколом (например, протоколом пользовательских дейтаграмм (UDP) (RFC 768, 2460, 2675, 4113 и 5405), протоколом управления передачей (TCP) (RFC 793 и 1180)), либо выбранным произвольно для опробования конкретного известного пути, либо предположительно обуславливающим прохождение пакета запроса теста TWAMP (маршрутизируемого) на пути (к отражателю), взятого конкретным потоком пакетов потребителя в обстоятельствах, когда отправитель имеет достаточную информацию о сети, чтобы знать, какие выбранные значения будут создавать поведение перенаправления, соответствующее поведению потока пакетов потребителя.
Единичный отправитель может инициировать множественные сеансы теста TWAMP. Варианты осуществления изобретения позволяют инициировать эти разные сеансы теста TWAMP и/или подчинять их разным перестановкам множественных путей через сеть.
Трассировка TWAMP (обнаружение пути)
На фиг. 2A показана блок-схема, демонстрирующая иллюстративные сети согласно вариантам осуществления изобретения. Иллюстративная сеть включает в себя узлы, помеченные A, B, C, E и G (и, в необязательном порядке, узлы D и H), которые являются узлами, реализованными на разных сетевых устройствах. На Фиг. 2A также показаны линии, представляющие линии связи, соединяющие разные из этих узлов (A с C, C с E, E с G и G с B; и в проиллюстрированном варианте, A с D, D с H и H с G), и, таким образом, разные сетевые устройства, на которых реализованы эти узлы.
В необязательной сети, которая включает в себя узлы D и H, узел A может принимать решения по перенаправлению между следующими переходами C и D. Как рассмотрено выше, такой выбор следующего перехода системой маршрутизации для данного пункта назначения может разрешать один путь (то есть протокол маршрутизации может генерировать один следующий переход на кратчайшем пути); но если система маршрутизации определяет наличие множественных жизнеспособных следующих переходов (то есть решение по перенаправлению, генерируемое протоколом маршрутизации, предлагает более чем один следующий переход на кратчайшем пути - множественные следующие переходы равной стоимости), некоторые дополнительные критерии используются, например в несвязной сети можно использовать ECMP, и типичные реализации используют в качестве критериев конкретные поля заголовка, чтобы гарантировать, что пакеты конкретного потока пакетов всегда перенаправляются на одном и том же следующем переходе для сохранения упорядочения потока пакетов.
На фиг. 2A, узел A (исходный узел) действует как отправитель, согласно протоколу TWAMP, сквозного (E2E) пути 210 с узлом B в качестве отражателя (узла назначения). Отправитель A инициирует пакеты запроса теста TWAMP (которые по отдельности также именуются пакетом запроса теста TWAMP, сообщением запроса сеанса TWAMP или зондом отправителя TWAMP).
Варианты осуществления изобретения осуществляют обнаружение пути TWAMP для обнаружения (трассировки) пути, который сообщения TWAMP проходят в прямом направлении (то есть от отправителя к отражателю). В одном варианте осуществляются следующие этапы:
S1. Принять указание для включения PM TWAMP (например, для данного потока пакетов, между IP-адресом отправителя и IP-адресом отражателя)
S2. Выбрать содержимое пакета запроса теста TWAMP (например, исходный IP-адрес, исходный порт, IP-адрес назначения, порт назначения, транспортный протокол; в порядке конкретного примера, когда указание предназначено для включения PM TWAMP для данного потока пакетов, отправитель помещает значения в полях заголовка, предположительно, чтобы пакет запроса теста TWAMP проходил тот же путь к отражателю, что и данный поток пакетов, как описано выше; и в порядке другого конкретного примера, когда указание предназначено для включения TWAMP между IP-адресом отправителя и IP-адресом отражателя, портом назначения является TWAMP и отправитель выбирает DSCP, исходный порт и транспортный протокол).
S3. Отправить пакет запроса теста TWAMP со временем жизни (TTL) или счетчиком переходов =1 в IP-пакете (задать setsockopt или другой способ установления этого значения). В общем случае, пакеты запроса теста TWAMP принимается сетевым устройством на сетевом интерфейсе, который уменьшает TTL.
S4. Если пункт назначения отстоит больше, чем на счетчик переходов, TTL будет истекать на “транзитном узле”, приводя к тому, что отправитель принимает сообщение протокола управляющих сообщений в интернете (ICMP) (RFC 792 и RFC 443) “превышение времени” от ‘транзитного узла’ на пути (таким образом, “транзитный узел” является узлом между отправителем и отражателем), и это сообщение ICMP превышения времени будет включать в себя в своем поле исходного IP-адреса: 1) IP-адрес сетевого интерфейса, на котором был принят пакет запроса теста TWAMP транзитным узлом (также известного как сетевой интерфейс поступления пакета), если этот сетевой интерфейс уменьшил TTL до истечения, и этот сетевой интерфейс подключен к нумерованному интерфейсу; или 2) узловой адрес обратной связи транзитного узла, если сетевой интерфейс, на котором пакет запроса теста TWAMP был принят транзитным узлом и который уменьшил TTL до истечения, подключен к ненумерованному интерфейсу. Другими словами, для такого события истечения TTL наиболее специфический доступный IP-адрес используется для исходного IP-адреса сообщения ICMP превышения времени.
S5. Отправитель записывает исходный IP-адрес из сообщения ICMP превышения времени в последовательности IP-адресов для E2E пути TWAMP в таблице путей TWAMP.
S6. Отправитель снова отправляет на пункт назначения (отражатель) пакет запроса теста TWAMP, но со счетчиком переходов, увеличенным 1 по сравнению с непосредственно предшествующим пакетом запроса теста TWAMP для этого сеанса теста TWAMP,
S7. Повторять этапы 4-6, пока от отражателя не будет принят ответ TWAMP, и этот ответ TWAMP будет включать в себя IP-адрес отражателя.
S8. Отправитель записывает IP-адрес для последовательности для E2E пути TWAMP в таблице путей TWAMP (например, добавляя IP-адрес отражателя из ответа TWAMP в последовательность IP-адресов; согласно вариантам осуществления, где используется таблица путей TWAMP, индексированная пунктом назначения, это уже может быть осуществлено, когда запись для E2E пути TWAMP была создана в таблице путей TWAMP; в вариантах осуществления, где последовательность IP-адресов сохраняется во временном месте в ходе обнаружения, запись для E2E пути TWAMP в таблице путей TWAMP может создаваться в этот момент, и такая информация может сохраняться в ней) и начинается измерение характеристик производительности пути для определения PM. Таким образом, обнаружение пути TWAMP дает последовательность IP-адресов вдоль E2E пути TWAMP прямого направления (от отправителя к отражателю), где каждый IP-адрес является: 1) IP-адресом сетевого интерфейса, на котором был принят пакет запроса теста TWAMP, который уменьшил TTL до истечения, и который подключен к нумерованному интерфейсу; 2) узловым адресом обратной связи транзитного узла, поскольку сетевой интерфейс, на котором был принят пакет запроса теста TWAMP и который уменьшил TTL до истечения, подключен к нумерованному интерфейсу; или 3) IP-адрес пункта назначения (если счетчик переходов не истек и кадр закончился на узле или сетевом интерфейсе, идентифицированном IP-адресом назначения). Таким образом, каждый из IP-адресов в последовательности IP-адресов, непосредственно или дедуктивно, идентифицирует сетевое устройство, непосредственно в случае адреса обратной связи физического узла и дедуктивно в случаях, когда этот IP-адрес является адресом обратной связи виртуального узла или назначенного сетевого интерфейса, на котором было принято сообщение запроса теста TWAMP (либо назначенного физического сетевого интерфейса, либо виртуального сетевого интерфейса, назначенного физическому или виртуальному узлу, реализованному на этом сетевом устройстве). Поскольку последовательность IP-адресов идентифицирует последовательность сетевых интерфейсов и такие сетевые интерфейсы идентифицируют пройденные линии связи, последовательность IP-адресов косвенно идентифицирует линии связи между сетевыми интерфейсами, назначенными этим IP-адресам (и, таким образом, последовательность пройденных линий связи между сетевыми устройствами, на которых реализованы эти сетевые интерфейсы). Последовательность IP-адресов не будет включать в себя IP-адреса сетевых интерфейсов, которые не уменьшают IP TTL или административно сконфигурированы не генерировать сообщения ICMP и/или не поддерживать функциональные возможности отражателя TWAMP.
S9. Отправитель продолжает отправлять пакеты запроса теста TWAMP, принимать пакеты ответа теста TWAMP и завершать необходимые PM E2E пути TWAMP.
На Фиг. 6 показана блок-схема операций, демонстрирующая обнаружение пути TWAMP согласно вариантам осуществления изобретения, и представлены вышеописанные этапы. Блок-схема операций начинается с того, что сетевое устройство устанавливает текущий счетчик переходов на начальное значение 1 для сеанса теста TWAMP с адресом назначения интернет-протокола (IP) другого сетевого устройства (блок 600, который входит в состав вышеупомянутого S3). Затем блок-схема операций демонстрирует передачу посредством сетевого устройства для сеанса теста TWAMP, пакета запроса теста TWAMP с IP-адресом назначения и со счетчиком переходов в IP-пакете, заданным равным текущему счетчику переходов (блок 610, который входит в состав вышеупомянутого S3). После этого следует определение, принято ли сообщение ICMP превышения времени или ответ теста TWAMP в ответ на пакет запроса теста TWAMP (блок 620). Если сообщение ICMP превышения времени принято (вышеупомянутый S4), то последовательность операций включает в себя добавление IP-адреса из сообщения ICMP в последовательность IP-адресов, записанную для E2E пути TWAMP (блок 630, который является вышеупомянутым S5) и увеличение текущего счетчика переходов на единицу по сравнению с непосредственно предшествующим пакетом запроса теста TWAMP для этого сеанса теста TWAMP (блок 640, который входит в состав вышеупомянутого S6) до возвращения к блоку 610 (который является остатком S6). Если же принят ответ теста TWAMP, то отправитель захватывает информацию прямого пути и блок-схема операций включает в себя следующее (что является вышеупомянутым S9): 1) передачу дополнительных пакетов запроса теста TWAMP для сеанса теста TWAMP и прием сообщений ответа теста TWAMP в ответ на соответствующие пакеты запроса теста TWAMP (650); и 2) определение, в ответ на сообщения ответа теста TWAMP, PM, которое характерно для последовательности IP-адресов E2E пути TWAMP прямого направления, пройденного за сеанс теста TWAMP (660).
На Фиг. 2B показана схема обмена сообщениями, демонстрирующая сообщения TWAMP между отправителем и другими узлами иллюстративных сетей из фиг. 2A относительно вышеописанных этапов обнаружения пути TWAMP, согласно вариантам осуществления изобретения. Фиг. 2B демонстрирует узлы A, C, E, G и B из фиг. 2A в этом порядке в верхней части фиг. 2B, где узел A является отправителем и узел B является отражателем. Когда вышеописанный способ достигает этапа 3 (S3), узел A передает на узел B пакет запроса теста TWAMP с TTL=1. Поскольку узел назначения B отстоит больше, чем на счетчик переходов TTL=1, пакет поступает только на узел C, и на этапе 4 (S4) узел C передает обратно на узел A сообщение ICMP “превышение времени”. Эти два сообщения помечены как 215 на фиг. 2B. В ответ, на этапе 5 (S5) узел A добавляет IP-адрес узла C в последовательность для этого пути в таблице путей TWAMP, поддерживаемой на узле A.
Затем, на этапе 6 (S6) узел A передает на узел B пакет запроса теста TWAMP с TTL=2. Поскольку узел назначения B отстоит больше, чем на счетчик переходов TTL=2, пакет поступает только на узел E, который не является отражателем (узлом B). Таким образом, этап 7 (S7) приводит к тому, что последовательность операций возвращается к этапу 4 (S4), где узел E передает обратно на узел A сообщение ICMP “превышение времени”. Эти два сообщения помечены как 220 на фиг. 2B. S5 приводит к тому, что IP-адрес узла E добавляется в последовательность для этого пути (A->C->E).
Этот процесс повторяется для узлов A-G, и пара сообщений помечена как 230. Затем узел A снова осуществляет S6, передавая на узел B пакет запроса теста TWAMP с TTL=5. На этот раз, сообщение достигает узла B, поскольку он отстоит на счетчик переходов TTL=5. Таким образом, на этапе 7 (S7), узел B, действующий как отражатель, передает обратно на узел A сообщение ответа теста TWAMP. Эти два сообщения помечены как 250 на фиг. 2B. Этап 8 (S8) приводит к тому, что узел B добавляется в последовательность для этого пути (A-> C->E->G->B).
Эту информацию пути можно использовать в различных целях. Например, ее можно сообщать системе сетевого администрирования. Ниже описан другой пример.
На Фиг. 3A показана блок-схема, демонстрирующая третью иллюстративную сеть. Иллюстративная сеть идентична показанной на фиг. 2A, за исключением того, что: 1) добавлен узел F перед узлом A и с линией связи к нему; 2) узел F является отправителем вместо узла A; 3) как и раньше, узел F может инициировать потоки пакетов и/или принимать от других узлов (не показаны) потоки пакетов): 4) узел F (исходный узел) действует как отправитель, согласно протоколу TWAMP, сквозного (E2E) пути 310 с узлом B в качестве отражателя (узла назначения); и 5) узел A действует как точка 312 ECMP.
На Фиг. 3B показана схема обмена сообщениями, демонстрирующая сообщения TWAMP между отправителем и другими узлами иллюстративной сети из фиг. 3A относительно вышеописанных этапов обнаружения пути TWAMP, согласно вариантам осуществления изобретения. Фиг. 3B демонстрирует узлы F, A, C, E, G и B из фиг. 3A в этом порядке в верхней части фиг. 3B, где узел F является отправителем и узел B является отражателем. Когда вышеописанный способ достигает этапа 3 (S3), узел F передает на узел B пакет запроса теста TWAMP с TTL=1. Поскольку узел назначения B отстоит больше, чем на счетчик переходов TTL=1, пакет поступает только на узел A и на этапе 4 (S4) узел A передает обратно на узел F сообщение ICMP “превышение времени”. Эти два сообщения помечены как 315 на фиг. 3B. В ответ, на этапе 5 (S5) узел F добавляет IP-адрес узла A в последовательность для этого пути в таблице путей TWAMP, поддерживаемой на узле F.
Затем, на этапе 6 (S6) узел F передает на узел B пакет запроса теста TWAMP с TTL=2. Поскольку узел назначения B отстоит больше, чем на счетчик переходов TTL=2, пакет поступает только на узел C, который не является отражателем (узлом B). Таким образом, этап 7 (S7) приводит к тому, что последовательность операций возвращается к этапу 4 (S4), где узел C передает обратно на узел F сообщение ICMP “превышение времени”. Эти два сообщения помечены как 320 на фиг. 3B. S5 приводит к тому, что IP-адрес узла C добавляется в последовательность для этого пути (F->A->C).
Этот процесс повторяется для узлов F-E и F-G и соответствующие пары сообщений помечены как 330 и 340. Затем узел F снова осуществляет S6, передавая на узел B пакет запроса теста TWAMP с TTL=5. На этот раз, сообщение достигает узла B, поскольку он отстоит на счетчик переходов TTL=5. Таким образом, на этапе 7 (S7), узел B, действующий как отражатель, передает обратно на узел F сообщение ответа теста TWAMP. Эти два сообщения помечены как 350 на фиг. 3B. Этап 8 (S8) приводит к тому, что узел B добавляется в последовательность для этого пути (F->A->C->E->G->B).
Хотя на фиг. 2-3 показано несколько иллюстративных сетей, следует понимать, что изобретение применимо к сетям произвольных топологий (например, включающим в себя сети с увеличенным количеством линий связи, увеличенным количеством узлов и увеличенным количеством путей, а также сети, где пути не сходятся на узле G, но, напротив, существуют множественные узлы, от которых можно совершать окончательные переходы к узлу B).
Иллюстративное сетевое устройство для осуществления обнаружения пути TWAMP и/или PM TWAMP на более высоком уровне детализации
Обнаружение пути для двух разных сеансов теста TWAMP между одними и теми же отправителем и отражателем, которые перекрываются во времени (например, обнаружение пути TWAMP может происходить, по существу, одновременно для двух сеансов теста TWAMP, обнаружение пути TWAMP может завершаться и измерение производительности продолжаться для первого из сеансов теста TWAMP, когда начинается обнаружение пути TWAMP для второго сеанса теста TWAMP) и происходят в стабильной сети (никакие отказы не приводят к изменениям в соответствующей сетевой топологии), может давать две разные последовательности IP-адресов, и, таким образом, два разных E2E пути TWAMP прямого направления. Это может происходить, поскольку узел вдоль двух разных E2E путей TWAMP является маршрутизатором и принимает разные решения на следующий переход для двух сеансов теста TWAMP, причем эти разные решения на следующий переход дают разные последовательности IP-адресов на разных E2E путях TWAMP, обнаруженных для этих сеансов теста TWAMP. Это также может происходить вследствие перенаправления ECMP; и в этом случае узел, действующий как точка ECMP, принимает разные решения на следующий переход для двух сеансов теста TWAMP, что приводит к обнаружению двух разных последовательностей IP-адресов. Это также может происходить благодаря наличию линии связи агрегации линий связи (LAG) уровня 3 (L3), где линия связи L3-LAG является линией связи, непосредственно соединяющейся с сетевыми устройствами множественными IP-адресованными путями линии связи (каждому пути линии связи назначен отдельный IP-адрес), и решение на распределение нагрузки между этими разными путями линии связи осуществляется в плоскости перенаправления данных; и в этом случае, разные решения на распределение нагрузки для двух сеансов теста TWAMP приводят к обнаружению двух разных последовательностей IP-адресов. Вышеописанные иллюстративные типы происшествий (маршрутизатор, перенаправление ECMP, линия связи L3-LAG) в целом именуются здесь “решениями потока пакетов на основе IP-адреса”, и результирующие E2E пути TWAMP в целом именуются здесь “путями потоков пакетов на основе IP-адреса”. Как указано выше, определенные варианты осуществления изобретения могут обеспечивать PM TWAMP на более высоком уровне детализации за счет различения разных E2E путей TWAMP между отправителем и отражателем согласно последовательности IP-адресов, полученной посредством обнаружения пути TWAMP.
На Фиг. 4 показана блок-схема, демонстрирующая различные модули в сетевом устройстве согласно определенным вариантам осуществления изобретения. В одном варианте осуществления изобретения, сетевое устройство имеет вариант конфигурации для TWAMP для измерения детализации PM на основании IP-адреса конкретного пункта назначения (отражателя) (в одном варианте осуществления, этот вариант будет передаваться на модуль 410 контроллера отправителя PM IP в составе конфигурации 420 на сетевом устройстве 400; и, как описано ранее, варианты осуществления изобретения поддерживают включение TWAMP для измерения детализации PM, например, посредством идентификации в конфигурации: 1) данный поток пакетов потребителя, для которого требуется промежуточная последовательность операций TWAMP; или 2) исходный IP-адрес и IP-адрес назначения. В одном варианте осуществления, для каждого сеанса теста TWAMP, содержимое для включения в пакеты запроса теста TWAMP (например, значения DSCP, исходный IP-адрес, исходный порт, IP-адрес назначения, порт назначения, транспортный протокол) определяется модулем 440 выбора содержимого пакетов TWAMP, содержимое которого обеспечивается модулю 450 связи TWAMP. Для каждого сеанса теста TWAMP модуль 450 связи TWAMP генерирует пакеты запроса теста TWAMP и обуславливает их передачу, и обеспечивается сообщения ответа теста TWAMP. Модуль 450 связи TWAMP обеспечивает информацию, относящуюся к PM, модулю 410 контроллера отправителя PM IP, который может осуществлять с его помощью различные действия.
В одном варианте осуществления, который различает разные E2E пути TWAMP между отправителем и отражателем согласно пройденной последовательности IP-адресов, полученной посредством обнаружения пути TWAMP, модуль 450 связи TWAMP осуществляет вышеописанный способ обнаружения пути TWAMP (для отправки/приема вышеописанных сообщений, включающих в себя сообщение ICMP превышения времени, и поддержания таблицы 460 путей TWAMP, где хранятся обнаруженные последовательности для каждого пути). В одном варианте осуществления, обнаружение пути TWAMP может повторяться с определенными сконфигурированными интервалами, которые определяются конфигурацией/реализацией (в одном варианте осуществления, такие интервалы являются частью конфигурации 420 и модуль 410 контроллера отправителя PM IP отслеживает интервалы и инициирует модуль 430 связи TWAMP повторно осуществлять обнаружение пути TWAMP для данного сеанса теста TWAMP). В одном варианте осуществления, для данного сеанса теста TWAMP, таблица 460 путей TWAMP первоначально сохраняет содержимое пакета TWAMP (например, исходный IP-адрес, исходный порт, IP-адрес назначения, порт назначения, транспортный протокол); и затем добавляется последовательность обнаруженных IP-адресов. Это отображение/отслеживание сеансов теста TWAMP в E2E пути TWAMP позволяет отображать/отслеживать информацию PM и обеспечивать на этом добавленном уровне сетевой детализации. Поскольку информация PM обеспечивается для каждого сеанса теста TWAMP, информация PM отправляется модулю 410 контроллера отправителя PM IP для каждого сеанса теста TWAMP; и модуль контроллера PM IP 410 имеет доступ к обнаруженному E2E пути TWAMP и информации PM и может сообщать их для каждого сеанса теста TWAMP; и где отдельные сеансы теста TWAMP отражают разные E2E IP пути TWAMP между одними и теми же отправителем и отражателем, причем информация PM будет характерной для этих разных E2E путей TWAMP между одними и теми же отправителем и отражателем. Также можно коррелировать результаты из разных сеансов теста, которые имеют маршрутизацию частично перекрывающихся путей для достижения детализации измерения на канальном уровне (то есть некоторые измерения пути будут иметь линии связи совместно с другими измерениями и некоторые варианты осуществления могут использовать комбинаторный анализ для выделения общих и дискретных компонентов пути).
Разные варианты осуществления изобретения могут сохранять рассмотренные выше E2E пути TWAMP согласно ключу (например, ID сеанса теста TWAMP и/или ключу сеанса теста TWAMP). ID сеанса теста TWAMP могут базироваться, например, на исходном IP-адресе пакет запроса теста TWAMP, IP-адресе назначения, исходном порте, порте назначения, транспортном протоколе и дифференцированных услугах (DSCP) (RFC 2474, 2475, 2597, 2983, 3086, 3140, 3246, 3247, 3260, 4594, 5865, 3289, 3290 и 3317)).
На Фиг. 5 демонстрирует четвертую иллюстративную сеть согласно вариантам осуществления изобретения. Фиг. 5 идентичен фиг. 2A, за исключением того, что A и C соединены линией 530 связи L3-LAG, которая агрегирует два пути линии связи (путь 530A линии связи и путь 530B линии связи). Вышеописанный метод позволяет различать два разных E2E пути TWAMP, где один такой E2E путь TWAMP берет путь 530A линии связи от узла A для достижения узла C (и, таким образом, его последовательность узлов будет включать в себя IP-адрес сетевого интерфейса, связанный с путем 530A линии связи), тогда как другие берут путь 530B линии связи (и, таким образом, его последовательность узлов будет включать в себя IP-адрес сетевого интерфейса, связанный с путем 530B линии связи, который отличается от IP-адреса для пути 530A линии связи); то есть разные решения на распределение нагрузки для двух сеансов теста TWAMP приводят к обнаружению двух разных последовательностей IP-адресов. Хотя фиг. 5 демонстрирует единичную L3-LAG, непосредственно соединяющую отправитель A и узел C, следует понимать, что изобретение применимо к сетям произвольных топологий (например, включающим в себя сети с увеличенным количеством пути линии связи, увеличенным количеством линий связи L3-LAG, увеличенным количеством узлов и увеличенным количеством путей; а также к сетям, где линии связи L3-LAG непосредственно не подключены к отправителю, в том числе, между двумя транзитными узлами или между транзитным узлом и отражателем).
На Фиг. 7 показана блок-схема операций для обеспечения PM TWAMP на более высоком уровне детализации за счет различения разных E2E путей TWAMP между отправителем и отражателем согласно последовательности IP-адресов, полученной посредством обнаружения пути TWAMP. На блоке 700, блок-схема операций включает в себя осуществление обнаружение пути TWAMP для определения последовательности IP-адресов E2E пути TWAMP прямого направления, подлежащего прохождению в двух разных сеансах теста TWAMP между отправителем и отражателем (блок 700). После этого следует передача дополнительных пакетов запроса теста TWAMP для разных сеансов теста TWAMP и прием сообщений ответа теста TWAMP в ответ на соответствующие пакеты запроса теста TWAMP (блок 710). Затем блок-схема операций демонстрирует определение, в ответ на сообщения ответа теста TWAMP, PM, которое характерно для разных последовательностей IP-адресов E2E путей TWAMP прямого направления, пройденных в двух разных сеансах теста TWAMP (блок 720).
Таким образом, согласно уровню техники TWAMP не имеет информации, например, о LAG/ECMP на E2E пути; и, таким образом, TWAMP не может измерять PM для разных путей потоков пакетов на основе IP-адреса. Варианты осуществления изобретения обеспечивают более точную детализацию измерений производительности IP, в том числе по ECMP и L3-LAG. Разные варианты осуществления могут использовать эту информацию более точной детализации для улучшения маршрутизации на основе производительности и/или конфигурирования трафика (например, на основании измерения на данном пути, можно отправлять инициирующий сигнал для изменения качества обслуживания (QoS) пути, выделения более широкой полосы и/или добавления дополнительных путей L3-LAG или путей ECMP для выравнивания нагрузки). Например, сетевое устройство может: 1) сообщать измерения TWAMP для каждого из обнаруженных E2E путей TWAMP; 2) сообщать отображение политики/веса пути в значение измерения; 3) на основании значения измерения на разных путях, система может принять решение регулировать нагрузку на каждом или любом из измеренных путей; и/или 4) сообщать узлы на пути каждого маршрута.
Компоненты общего сетевого устройства
Сетевые устройства обычно делятся на плоскость управления и плоскость данных (иногда именуемую плоскостью перенаправления или плоскостью среды). В случае, когда сетевое устройство является маршрутизатором (или реализует функциональные возможности маршрутизации), плоскость управления обычно определяет, как маршрутизируются данные (например, пакеты) (например, следующий переход для данных и выходной порт для этих данных), и плоскость данных отвечает за перенаправление этих данных. Например, плоскость управления обычно включает в себя один или более протоколов маршрутизации (например, пограничный межсетевой протокол (BGP), внутренний(е) межшлюзовый(е) протокол(ы) (IGP) (например, “первым выбирается кратчайший путь” (OSPF), протокол информации маршрутизации (RIP), “от промежуточной системы к промежуточной системе” (IS-IS)), протокол распределения меток (LDP), протокол резервирования ресурсов (RSVP)), который осуществляют связь с другими сетевыми устройствами для обмена маршрутами и выбора этих маршрутов на основании одной или более метрик маршрутизации.
Маршруты и отношения соседства сохраняются в одной или более структурах маршрутизации (например, базе информации маршрутизации (RIB), базе информации меток (LIB), одной или более структур соседства) в плоскости управления. Плоскость управления программирует плоскость данных информацией (например, информацией соседства и маршрутов) на основании структуры() маршрутизации. Например, плоскость управления программирует информацию соседства и маршрутов в одну или более структур перенаправления (например, базу информации перенаправления (FIB), базу информации перенаправления меток (LFIB) и одну или более структур соседства) в плоскости данных. Плоскость данных использует эти структуры перенаправления и соседства при перенаправлении трафика.
Каждый из протоколов маршрутизации загружает элементы маршрута в главную RIB на основании определенных метрик маршрута (метрики могут различаться для разных протоколов маршрутизации). Каждый из протоколов маршрутизации может сохранять элементы маршрута, в том числе элементы маршрута, не загруженные в главную RIB, в локальной RIB (например, локальной RIB OSPF). Модуль RIB, который управляет главной RIB, выбирает маршруты из маршрутов, загруженных протоколами маршрутизации (на основании набора метрик), и загружает эти выбранные маршруты (иногда именуемые активными элементами маршрута) в плоскость данных. Модуль RIB также может обуславливать перераспределение маршрутов между протоколами маршрутизации.
Для перенаправления уровня 2, сетевое устройство может сохранять одну или более таблиц формирования мостовых соединений, которые используются для перенаправления данных на основании информации уровня 2 в этих данных.
Обычно сетевое устройство включает в себя набор из одной или более линейных карт, набор из одной или более управляющих карт и, в необязательном порядке, набор из одной или более служебных карт (иногда именуемых ресурсными картами). Эти карты связаны друг с другом посредством одного или более механизмов (например, первой полносвязной сети, соединяющей линейные карты, и второй полносвязной сети, соединяющей все карты). Набор линейных карт образует плоскость данных, тогда как набор управляющих карт обеспечивает плоскость управления и обмен пакетами с внешним сетевым устройством через линейные карты. Набор служебных карт может обеспечивать специализированную обработку (например, услуги уровней с 4 по 7 (например, брандмауэр, IPsec, IDS, P2P), межсеансовый контроллер VoIP, мобильные беспроводные шлюзы (GGSN, шлюз усовершенствованной пакетной системы (EPS))). В порядке примера, служебную карту можно использовать для окончания туннелей IPsec и выполнения аутентификации обслуживающего персонала и алгоритмов шифрования.
Узлы, реализованные на таком сетевом устройстве, могут выполнять TWAMP (например, в плоскости управления); ECMP (который, например, можно реализовать в программном обеспечении и/или оборудовании (например, ASIC) в плоскости данных) указывает, как плоскость данных такого сетевого устройства может отвечать на решение по перенаправлению, генерируемое протоколом маршрутизации, предлагающее более чем один следующий переход на кратчайшем пути.
Альтернативные варианты осуществления
Например, хотя на фигуре показан конкретный порядок операций, осуществляемых согласно определенным вариантам осуществления изобретения, следует понимать, что такой порядок является иллюстративным (например, альтернативные варианты осуществления допускают осуществление операций в том или ином порядке, объединение определенных операций, перекрывание определенных операций и т.д.).
Хотя изобретение описано применительно к некоторым вариантам осуществления, специалистам в данной области техники очевидно, что изобретение не ограничивается описанными вариантами осуществления, может осуществляться на практике с модификацией и изменением в сущности и объеме нижеследующей формулы изобретения. Таким образом, описание следует рассматривать в порядке иллюстрации, но не ограничения.