Расширение возможностей проекта VPCS при моделировании IPv6-адресации с использованием программного эмулятора компьютерных сетей GNS3 (Леонид Чашкин, OSEDUCONF-2024) — различия между версиями

Материал из 0x1.tv

(Thesis)
== Thesis ==

В настоящее время огромное значение приобретает использование IPv6-адресации, которая решает проблему 
недостатка адресов в протоколе IPv4<ref name="chs1"><i>Igulu&nbsp;K., Onuodu&nbsp;F., Singh&nbsp;T.&nbsp;P.</i> IPV6: Strengths and Limitations // 
Communication Technologies and Security Challenges in IoT: Present and Future.  Singapore: Springer Nature Singapore, 2024.  С. 147—172.</ref>. В связи с этим важным аспектом во время обучения 
администрированию компьютерных сетей становится моделирование IPv6-адресации. Тем не менее, на данный 
момент в этой области существует проблема ограниченности функционала некоторых эмуляторов (например, 
<m>GNS_3</m>). Целью данной работы является решение проблемы моделирования статической IPv6-адресации в 
программном эмуляторе <m>GNS_3</m> с использованием виртуальных компьютеров VPCS.

Среди основных инструментов для моделирования компьютерных сетей можно выделить такие программные продукты, 
как Cisco Packet Tracer и <m>GNS_3</m>. Cisco Packet Tracer (CPT) — проприетарная программа для моделирования 
сетей, выпускаемая компанией Cisco Systems. <m>GNS_3</m> (Graphical Network Simulator) — программный эмулятор 
сети с открытым исходным кодом, распространяемый под лицензией GNU GPL.

В работе<ref name="chs2"><i>Подсадников&nbsp;А.&nbsp;В., Розов&nbsp;К.&nbsp;В., Кратов&nbsp;С.&nbsp;В.</i> Применение средств имитационного 
моделирования компьютерных сетей в учебном процессе // Информатика и образование.  2021.  №. 1.  С. 47—56.</ref> приведён сравнительный анализ достоинств и недостатков наиболее распространённых систем 
моделирования, по результатам которого наибольшим числом сильных сторон обладают <m>GNS_3</m> и Cisco Packet Tracer. 
Среди значимых преимуществ их использования выделяют дружественный графический интерфейс и поддержку сразу двух 
семейств операционных систем  Linux и Windows. Основным недостатком Cisco Packet Tracer является работа 
исключительно с сетевыми устройствами Cisco, в то время как в <m>GNS_3</m> имеется возможность использовать образы 
виртуальных машин на различных операционных системах.

В моделировании компьютерных сетей выделяют 2 основные категории устройств: сетевые устройства, используемые 
для маршрутизации и передачи трафика в сетях, а также конечные устройства, которые можно использовать для 
генерации трафика и проверки связности сети. В качестве последних могут использоваться образы виртуальных машин, 
а также специальное ПО с базовыми сетевыми командами, например, проект VPCS<ref name="chs3">Проект VPCS. [https://github.com/<m>GNS_3</m>/vpcs]</ref>. 

VPCS (Virtual PC Simulator) — проект с открытым исходным кодом, который позволяет эмулировать до 9 персональных 
компьютеров во время моделирования сети. Небольшой объём потребляемых ресурсов по сравнению с виртуальными машинами 
составляет основное преимущество VPCS. Тем не менее, данного функционала вполне достаточно для задач моделирования 
сети. VPCS входит в комплект программного эмулятора <m>GNS_3</m>, что позволяет использовать его в проектах без 
дополнительной установки и настройки. Однако во время моделирования проекта компьютерной сети в <m>GNS_3</m> была 
выявлена проблема невозможности установки статического маршрута по умолчанию при IPv6-адресации в виртуальном 
компьютере VPCS.

Для добавления функционала установки статического маршрута по умолчанию в виртуальных компьютерах VPCS требовалось 
доработать парсинг команды ip для установки IP-адреса, а также изменить логику отправки пакетов. Парсинг команды 
состоит из определения элементов, которые были переданы в команду: IPv6-адрес, маска и маршрут по умолчанию. 
При этом маска может быть не задана или записана как после IPv6-адреса, так и после маршрута по умолчанию. Также 
были добавлены соответствующие предупреждения, информирующие пользователя о невозможности установки введённых 
параметров IP-адреса (IPv6-адрес устройства не должен совпадать с маршрутом по умолчанию; маршрут по умолчанию 
должен находиться в той же подсети) — при данных ошибках маршрут по умолчанию игнорируется. При успешной 
установке IP-адреса пользователю выводится информация об установленном адресе и маршруте по умолчанию, если 
он был задан в команде, а в противном случае — установленный ранее маршрут удаляется. Различные варианты 
установки IP-адреса с предупреждающими сообщениями приведены в листинге:
Различные варианты установки маршрута по умолчанию.
<source lang="bash">
PC1> ip 2001:a::10/64 2001:a::1
PC1 : 2001:a::10/64
GATEWAY : 2001:a::1

PC1> ip 2001:a::10/64 2001:a:0::10
Warning: gateway should not be equal to IP, gateway will be ignored
PC1 : 2001:a::10/64

PC1> ip 2001:a::10/64 2001:b:0::1
Warning: gateway should be inthe same net, gateway will be ignored
PC1 : 2001:a::10/64
</source>

При установленном статическом маршруте по умолчанию пакеты будут 
отправляться по данному адресу. Если MAC-адрес узла маршрута по умолчанию отсутствует 
в таблице MAC-адресов, то будет отправлен запрос Neighbor Solicitation для определения MAC-адреса узла. 
Тестирование разработанного функционала осуществлялось в программном эмуляторе <m>GNS_3</m>. Для этого была 
спроектирована небольшая компьютерная сеть, состоящая из 2 маршрутизаторов и 2 конечных устройств, 
подключённых к каждому маршрутизатору соответственно (рис. \ref{ch2}.).

[[File:osseduconf-2024-chashkin-chashkin-chashkin-img002.png|center|640px|thumb|Топология компьютерной сети]]

В качестве маршрутизаторов использовались образы виртуальных машин с установленной операционной 
системой «Альт Сервер», а в качестве конечных устройств — виртуальные компьютеры VPCS. 
На маршрутизаторах установлены IPv6-адреса, а также маршрут до удалённой сети. На конечных 
устройствах настроены IPv6-адреса и маршруты по умолчанию. Утилита ping на обоих конечных 
устройствах показывает, что связность присутствует (рис. \ref{chashkin-img003}). 

[[File:osseduconf-2024-chashkin-chashkin-chashkin-img003.png|center|640px|thumb|Проверка связности с помощью утилиты ping]]

Таким образом, можно сделать вывод, что тестирование пройдено успешно и разработанный функционал 
установки маршрутов по умолчанию в IPv6-адресации работает корректно на виртуальных компьютерах 
VPCS и может использоваться при моделировании статической IPv6-адресации.

{{----}}
[[File:{{#setmainimage:Расширение возможностей проекта VPCS при моделировании IPv6-адресации с использованием программного эмулятора компьютерных сетей GNS3 (Леонид Чашкин, OSEDUCONF-2024)!.jpg}}|center|640px]]
{{LinksSection}}
<!-- <blockquote>[©]</blockquote> -->

<references/>

[[Категория:OSEDUCONF-2024]]
[[Категория:Draft]]
[[Категория:СПО в образовании]]

Версия 05:45, 30 июля 2024

Докладчик
Леонид Чашкин.jpg
Леонид Чашкин

Данная работа посвящена развитию проекта VPCS при моделировании компьютерных сетей в программном эмуляторе .

В работе предлагается решение проблемы ограниченных возможностей виртуальных компьютеров VPCS при моделировании IPv6-адресации в .

Разработан механизм добавления и использования статического маршрута по умолчанию при IPv6-адресации для виртуальных компьютеров VPCS.

Видео

Презентация

Thesis

В настоящее время огромное значение приобретает использование IPv6-адресации, которая решает проблему недостатка адресов в протоколе IPv4[1]. В связи с этим важным аспектом во время обучения администрированию компьютерных сетей становится моделирование IPv6-адресации. Тем не менее, на данный момент в этой области существует проблема ограниченности функционала некоторых эмуляторов (например, ). Целью данной работы является решение проблемы моделирования статической IPv6-адресации в программном эмуляторе с использованием виртуальных компьютеров VPCS.

Среди основных инструментов для моделирования компьютерных сетей можно выделить такие программные продукты, как Cisco Packet Tracer и . Cisco Packet Tracer (CPT) — проприетарная программа для моделирования сетей, выпускаемая компанией Cisco Systems.  (Graphical Network Simulator) — программный эмулятор сети с открытым исходным кодом, распространяемый под лицензией GNU GPL.

В работе[2] приведён сравнительный анализ достоинств и недостатков наиболее распространённых систем моделирования, по результатам которого наибольшим числом сильных сторон обладают и Cisco Packet Tracer. Среди значимых преимуществ их использования выделяют дружественный графический интерфейс и поддержку сразу двух семейств операционных систем — Linux и Windows. Основным недостатком Cisco Packet Tracer является работа исключительно с сетевыми устройствами Cisco, в то время как в имеется возможность использовать образы виртуальных машин на различных операционных системах.

В моделировании компьютерных сетей выделяют 2 основные категории устройств: сетевые устройства, используемые для маршрутизации и передачи трафика в сетях, а также конечные устройства, которые можно использовать для генерации трафика и проверки связности сети. В качестве последних могут использоваться образы виртуальных машин, а также специальное ПО с базовыми сетевыми командами, например, проект VPCS[3].

VPCS (Virtual PC Simulator) — проект с открытым исходным кодом, который позволяет эмулировать до 9 персональных компьютеров во время моделирования сети. Небольшой объём потребляемых ресурсов по сравнению с виртуальными машинами составляет основное преимущество VPCS. Тем не менее, данного функционала вполне достаточно для задач моделирования сети. VPCS входит в комплект программного эмулятора , что позволяет использовать его в проектах без дополнительной установки и настройки. Однако во время моделирования проекта компьютерной сети в была выявлена проблема невозможности установки статического маршрута по умолчанию при IPv6-адресации в виртуальном компьютере VPCS.

Для добавления функционала установки статического маршрута по умолчанию в виртуальных компьютерах VPCS требовалось доработать парсинг команды ip для установки IP-адреса, а также изменить логику отправки пакетов. Парсинг команды состоит из определения элементов, которые были переданы в команду: IPv6-адрес, маска и маршрут по умолчанию. При этом маска может быть не задана или записана как после IPv6-адреса, так и после маршрута по умолчанию. Также были добавлены соответствующие предупреждения, информирующие пользователя о невозможности установки введённых параметров IP-адреса (IPv6-адрес устройства не должен совпадать с маршрутом по умолчанию; маршрут по умолчанию должен находиться в той же подсети) — при данных ошибках маршрут по умолчанию игнорируется. При успешной установке IP-адреса пользователю выводится информация об установленном адресе и маршруте по умолчанию, если он был задан в команде, а в противном случае — установленный ранее маршрут удаляется. Различные варианты установки IP-адреса с предупреждающими сообщениями приведены в листинге: Различные варианты установки маршрута по умолчанию. <source lang="bash"> PC1> ip 2001:a::10/64 2001:a::1 PC1 : 2001:a::10/64 GATEWAY : 2001:a::1

PC1> ip 2001:a::10/64 2001:a:0::10 Warning: gateway should not be equal to IP, gateway will be ignored PC1 : 2001:a::10/64

PC1> ip 2001:a::10/64 2001:b:0::1 Warning: gateway should be inthe same net, gateway will be ignored PC1 : 2001:a::10/64 </source>

При установленном статическом маршруте по умолчанию пакеты будут отправляться по данному адресу. Если MAC-адрес узла маршрута по умолчанию отсутствует в таблице MAC-адресов, то будет отправлен запрос Neighbor Solicitation для определения MAC-адреса узла. Тестирование разработанного функционала осуществлялось в программном эмуляторе . Для этого была спроектирована небольшая компьютерная сеть, состоящая из 2 маршрутизаторов и 2 конечных устройств, подключённых к каждому маршрутизатору соответственно (рис. \ref{ch2}.).

Топология компьютерной сети

В качестве маршрутизаторов использовались образы виртуальных машин с установленной операционной системой «Альт Сервер», а в качестве конечных устройств — виртуальные компьютеры VPCS. На маршрутизаторах установлены IPv6-адреса, а также маршрут до удалённой сети. На конечных устройствах настроены IPv6-адреса и маршруты по умолчанию. Утилита ping на обоих конечных устройствах показывает, что связность присутствует (рис. \ref{chashkin-img003}).

Проверка связности с помощью утилиты ping

Таким образом, можно сделать вывод, что тестирование пройдено успешно и разработанный функционал установки маршрутов по умолчанию в IPv6-адресации работает корректно на виртуальных компьютерах  VPCS и может использоваться при моделировании статической IPv6-адресации.

Примечания и ссылки

  1. Igulu K., Onuodu F., Singh T. P. IPV6: Strengths and Limitations // Communication Technologies and Security Challenges in IoT: Present and Future. — Singapore: Springer Nature Singapore, 2024. — С. 147—172.
  2. Подсадников А. В., Розов К. В., Кратов С. В. Применение средств имитационного моделирования компьютерных сетей в учебном процессе // Информатика и образование. — 2021. — №. 1. — С. 47—56.
  3. Проект VPCS. /vpcs