Π£Ρ‡Π΅Π±Π½ΠΈΠΊ ΠΏΠΎ симулятору сСти ns-3. Π“Π»Π°Π²Ρ‹ 1,2

Данная ΡΡ‚Π°Ρ‚ΡŒΡ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΡΠ΅Ρ€ΠΈΡŽ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΉ с ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ° "ns-3 Tutorial Release ns-3.29" ΠΏΠΎ симулятору сСтСй ns-3.

Π£Ρ‡Π΅Π±Π½ΠΈΠΊ ΠΏΠΎ симулятору сСти ns-3. Π“Π»Π°Π²Ρ‹ 1,2

Π­Ρ‚ΠΎΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ являСтся ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π° английском, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ написан Π² reStructuredText для Sphinx ΠΈ хранится Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ doc/tutorial исходного ΠΊΠΎΠ΄Π° ns-3.

1 ΠŸΡ€Π΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅
1.1 О ns-3
1.2 Для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ns-2
1.3 УчастиС Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅
1.4 ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ руководства
2 Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ
2.1 Π‘Π΅Ρ‚ΡŒ
2.2 Git
2.3 WAF
2.4 Π‘Ρ€Π΅Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
2.5 ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сокСтов
Π³Π»Π°Π²Π° 3
Π³Π»Π°Π²Π° 4
Π³Π»Π°Π²Π° 5
Π³Π»Π°Π²Π° 6
Π³Π»Π°Π²Π° 7
Π³Π»Π°Π²Ρ‹ 8, 9

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΎΠ΄Π½ΠΈΠΌ pdf-Ρ„Π°ΠΉΠ»ΠΎΠΌ

ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Π°Ρ докумСнтация для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ns-3 доступна Π² пяти Ρ„ΠΎΡ€ΠΌΠ°Ρ…:

ΠŸΡ€Π΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅

Бимулятор ns-3 β€” это симулятор сСти с дискрСтными событиями, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ, Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, для исслСдований ΠΈ использования Π² ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… цСлях. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ns-3, Π½Π°Ρ‡Π°Ρ‚ Π² 2006 Π³ΠΎΠ΄Ρƒ ΠΈ являСтся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ.

ЦСль Π΄Π°Π½Π½ΠΎΠ³ΠΎ руководства β€” ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ns-3 Π½ΠΎΠ²Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π² систСмном, структурированном Π²ΠΈΠ΄Π΅. Иногда Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ Π±Ρ‹Π²Π°Π΅Ρ‚ слоТно ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ Π² Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π’ этом руководствС ΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² модСлирования, ΠΏΠΎ Ρ…ΠΎΠ΄Ρƒ двиТСния показывая ΠΈ объясняя ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ понятия ΠΈ особСнности.

По ΠΌΠ΅Ρ€Π΅ излоТСния, ΠΌΡ‹ прСдставим ΠΏΠΎΠ»Π½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ ns-3 ΠΈ Π΄Π°Π΄ΠΈΠΌ ссылки Π½Π° исходный ΠΊΠΎΠ΄ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ заинтСрСсован Π² ΡƒΠ³Π»ΡƒΠ±Π»Π΅Π½Π½ΠΎΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы.

Π’ Π½Π°Ρ‡Π°Π»Π΅ стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ нСсколько ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ²:

  • ns-3 ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ стрСмится ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ срСду, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ исслСдоватСли ΠΌΠΎΠ³ΡƒΡ‚ внСсти свой Π²ΠΊΠ»Π°Π΄ ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ.
  • ns-3 Π½Π΅ являСтся ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ совмСстимым Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ ns-2, это Π½ΠΎΠ²Ρ‹ΠΉ симулятор. Оба симулятора написаны Π½Π° C++, Π½ΠΎ ns-3 β€” это Π½ΠΎΠ²Ρ‹ΠΉ симулятор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ API-интСрфСйсы ns-2.

1.1 О ns-3

Бимулятор ns-3 Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ для модСлирования сСтСй, исслСдований сСти ΠΈ образования. Π’ΠΊΡ€Π°Ρ‚Ρ†Π΅, ns-3 прСдоставляСт ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ сСти ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π΄Π²ΠΈΠΆΠΎΠΊ симулятора для провСдСния ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… экспСримСнтов. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ns-3 ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ситуации ΠΊΠΎΠ³Π΄Π° трСбуСтся, провСсти исслСдованиС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ систСмС, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ систСмы Π² строго ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ срСдС, воспроизводимой срСдС, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ сСти.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ замСтят, Ρ‡Ρ‚ΠΎ прСдоставляСмый Π² ns-3 Π½Π°Π±ΠΎΡ€ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ сфокусирован Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΈ сСтСй, Π½ΠΎ ns-3 Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-систСмами, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ns-3 для модСлирования систСм Π½Π΅ основанных Π½Π° Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-тСхнологиях.

БущСствуСт мноТСство инструмСнтов модСлирования сСтСй. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ нСсколько ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‡Π΅Ρ€Ρ‚ ns-3 Π² сравнСнии с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ инструмСнтами.

  • ns-3 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ вмСстС, Π° Ρ‚Π°ΠΊΠΆΠ΅ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ внСшними Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Π’ Ρ‚ΠΎ врСмя, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ модСлирования ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π΅Π΄ΠΈΠ½ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ срСду с графичСским интСрфСйсом ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌ всСй Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ, ns-3 являСтся Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΉ Π² этом ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ. Π‘ ns-3 ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ нСсколько Π²Π½Π΅ΡˆΠ½ΠΈΡ… Π°Π½ΠΈΠΌΠ°Ρ‚ΠΎΡ€ΠΎΠ², инструмСнты Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΈ с инструмСнтами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния C++ ΠΈ / ΠΈΠ»ΠΈ Python.
  • ns-3 Π² основном ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² систСмах Linux ΠΈΠ»ΠΈ macOS, хотя сущСствуСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° для систСм BSD, Π° Ρ‚Π°ΠΊΠΆΠ΅ для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Windows, способных ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ для Linux, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Windows Subsystem для Linux ΠΈΠ»ΠΈ Cygwin. Родная для Windows Visual Studio Π² настоящСС врСмя Π½Π΅ поддСрТиваСтся, хотя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ этой возмоТности. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Windows Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ с Linux.
  • ns-3 Π½Π΅ являСтся ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ns-3 сдСлана с максимальной ΠΎΡ‚Π΄Π°Ρ‡Π΅ΠΉ Π½Π° Ρ„ΠΎΡ€ΡƒΠΌΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ns-3 (ns-3-users@googlegroups.com).

1.2 Для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ns-2

Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с ns-2 (популярным инструмСнтом, ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Π²ΡˆΠΈΠΌ ns-3), ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π½Π° ns-3 Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ΠΌ внСшним ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ являСтся смСна языка сцСнариСв. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ns-2 написаны Π² OTcl, ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ модСлирования ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Π½ΠΈΠΌΠ°Ρ‚ΠΎΡ€ сСтСй nam. Π’ ns-2 Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡΠΈΠΌΡƒΠ»ΡΡ†ΠΈΡŽ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ· C++ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ main() ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ OTcl). Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ns-2 написаны Π½Π° C++, Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π° OTcl. Π’ ns-3, симулятор написан ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π° C++ с Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ привязками Python. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ сцСнарии модСлирования ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ написаны ΠΊΠ°ΠΊ Π½Π° C++, Ρ‚Π°ΠΊ ΠΈ Π½Π° Python. Доступны Π½ΠΎΠ²Ρ‹Π΅ Π°Π½ΠΈΠΌΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ns-3 Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ трассировки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² pcap, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для Π°Π½Π°Π»ΠΈΠ·Π° трасс. Π’ этом руководствС ΠΌΡ‹ сначала сосрСдоточимся Π½Π° сцСнариях, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π° C++ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Π°Π½Π°Π»ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ² трассировки.

Но Π΅ΡΡ‚ΡŒ ΠΈ сходство (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±Π° инструмСнта основаны Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… C++, Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ns-2 Π±Ρ‹Π»Π° ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π² ns-3). По ΠΌΠ΅Ρ€Π΅ излоТСния, ΠΌΡ‹ попытаСмся ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ различия ΠΌΠ΅ΠΆΠ΄Ρƒ ns-2 ΠΈ ns-3.

Вопрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ часто ΡΠ»Ρ‹ΡˆΠΈΠΌ: "Π”ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ я ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ns-2 ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° ns-3?" По мнСнию Π°Π²Ρ‚ΠΎΡ€Π°, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π΅ привязан ΠΊ ns-2 (Π½Π° основС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π° ΠΈ знания ns-2, Π»ΠΈΠ±ΠΎ Π½Π° основС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, которая доступна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ns-2), Ρ‚ΠΎ с ns-3 ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ:

  • ns-3 Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ поддСрТиваСтся с Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ, ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹ΠΌ списком рассылки ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ns-2 поддСрТиваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ слСгка ΠΈ Π±ΠΎΠ»Π΅Π΅ дСсяти Π»Π΅Ρ‚ Π½Π΅ Π²ΠΈΠ΄Π΅Π» Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² своСм основном Π΄Π΅Ρ€Π΅Π²Π΅ ΠΊΠΎΠ΄Π°.
  • ns-3 прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, нСдоступныС Π² ns-2, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ срСда выполнСния ΠΊΠΎΠ΄Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π² симуляторС Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ).
  • ns-3 обСспСчиваСт Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠΉ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ абстракции ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ns-2, Ρ‡Ρ‚ΠΎ позволяСт Π΅ΠΌΡƒ Π»ΡƒΡ‡ΡˆΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠΌΡƒ ΠΊΠ°ΠΊ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ систСмы. НСкоторыС ограничСния, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ Π² ns-2 (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, коррСктная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² интСрфСйсов Π½Π° ΡƒΠ·Π»Π΅) Π±Ρ‹Π»ΠΈ исправлСны Π² ns-3.

Благодаря своСй Π΄ΠΎΠ»Π³ΠΎΠΉ истории, ns-2 ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, Ρ‡Π΅ΠΌ ns-3. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ns-3 ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… популярных областях исслСдований (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ слоТныС ΠΌΠΎΠ΄Π΅Π»ΠΈ LTE ΠΈ WiFi), Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠΎΠ΄Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ допускаСт ΠΎΡ‡Π΅Π½ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ спСктр ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ высокой точности. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄ΠΈΠ²Π»Π΅Π½Ρ‹ ΡƒΠ·Π½Π°Π², Ρ‡Ρ‚ΠΎ вСсь сСтСвой стСк Linux ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ инкапсулирован Π² ΡƒΠ·Π΅Π» ns-3 с использованиСм Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° прямого выполнСния ΠΊΠΎΠ΄Π° (DCE). МодСли ΠΈΠ· ns-2 ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ns-3, особСнно Ссли ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² C++.

Если Π²Ρ‹ ΡΠΎΠΌΠ½Π΅Π²Π°Π΅Ρ‚Π΅ΡΡŒ, Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠ΅ΠΉ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° ΠΎΠ±Π° ΠΈΠΌΠΈΡ‚Π°Ρ‚ΠΎΡ€Π° (Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΈΠΌΠΈΡ‚Π°Ρ‚ΠΎΡ€Ρ‹), Π² частности Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ доступныС для вашСго исслСдования, Π½ΠΎ ΠΈΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ ваш Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΈ использовании инструмСнта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² настоящСС врСмя Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ развиваСтся ΠΈ поддСрТиваСтся (ns-3).

1.3 УчастиС Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅

ns-3 β€” это Π½Π°ΡƒΡ‡Π½ΠΎ-ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ симулятор для ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ сообщСства. Он Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΠΈΡ€Π°Ρ‚ΡŒΡΡ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ Π²ΠΊΠ»Π°Π΄Ρ‹ сообщСства Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½ΠΎΠ²Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ. Π•ΡΡ‚ΡŒ нСкоторая ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°, которая, ΠΊΠ°ΠΊ ΠΌΡ‹ надССмся, ΠΏΠΎΠ±ΡƒΠ΄ΠΈΡ‚ людСй внСсти свой Π²ΠΊΠ»Π°Π΄ Π² ns-3, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ это Π΄Π΅Π»Π°ΡŽΡ‚ для ns-2:

  • Π›ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° основС совмСстимости с Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GNU GPLv2.
  • wiki.
  • Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° Код ΠΊΠΎΠ½Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΡ€ΠΎΠ², похоТая Π½Π° ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΡƒΡŽ страницу для ns-2.
  • ИспользованиС GitLab.com, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ систСму отслСТивания ошибок:
    https://www.gitlab.com/nsnam

ΠœΡ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ссли Π΄Π°ΠΆΠ΅ Π²Ρ‹ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ этот Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, Π²Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π° этом этапС Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ внСсти Π² Π½Π΅Π³ΠΎ свой Π²ΠΊΠ»Π°Π΄. Но ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ± Π²Ρ‹ Π·Π½Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ внСсСниС Π²ΠΊΠ»Π°Π΄Π° соотвСтствуСт Π΄ΡƒΡ…Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Ρ‡Ρ‚ΠΎ для нас Π±ΡƒΠ΄ΡƒΡ‚ Ρ†Π΅Π½Π½Ρ‹ ваш ΠΎΡ‚Π·Ρ‹Π² Π΄Π°ΠΆΠ΅ ΠΎ вашСм Ρ€Π°Π½Π½Π΅ΠΌ ΠΎΠΏΡ‹Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ns-3 (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "этот Ρ€Π°Π·Π΄Π΅Π» ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ° Π½Π΅ Π±Ρ‹Π» понятСн …"), сообщСниС ΠΎΠ± ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π² ΠΊΠΎΠ΄Π΅ ΠΈ Ρ‚.д… ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ способ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ исправлСний Π»ΠΈΠ±ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ (Ρ„ΠΎΡ€ΠΊ) Π½Π° https://www.gitlab.com/nsnam с вашими исправлСниями ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ запрос Π½Π° слияниС, Π»ΠΈΠ±ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ запрос Π½Π° нашСм Ρ‚Ρ€Π΅ΠΊΠ΅Ρ€Π΅ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡.

1.4 ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ руководства

Π­Ρ‚ΠΎ руководство ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ:

  • ΠŸΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ копию;
  • ΠŸΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ;
  • ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ симуляции ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ.
    Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅, ΠΌΡ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² соотвСтствии с этими шагами.

Π“Π»Π°Π²Π° 2

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

2.1 Π‘Π΅Ρ‚ΡŒ

Π•ΡΡ‚ΡŒ нСсколько Π²Π°ΠΆΠ½Ρ‹Ρ… рСсурсов, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ любой ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ns-3. Основной Π²Π΅Π±-сайт располоТСн ΠΏΠΎ адрСсу: https://www.nsnam.org
ΠΈ прСдоставляСт доступ ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ систСмС ns-3. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π°Ρ докумСнтация доступна Ρ‡Π΅Ρ€Π΅Π· основной Π²Π΅Π±-сайт ΠΏΠΎ адрСсу: https://www.nsnam.org/documentation/.

На этой ΠΆΠ΅ Π²Π΅Π±-страницС Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, относящиСся ΠΊ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ систСмы.

БущСствуСт Π²ΠΈΠΊΠΈ-страница, которая дополняСт основной Π²Π΅Π±-сайт ns-3, Π΅Ρ‘ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΏΠΎ адрСсу: https://www.nsnam.org/wiki/.

Π’Π°ΠΌ найдутся ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ руководства ΠΏΠΎ ΡƒΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈΡŽ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ, сторонний ΠΊΠΎΠ΄, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈ Ρ‚. Π΄.
Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΈ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° GitLab.com:
https://gitlab.com/nsnam/.

Π’Π°ΠΌ ΠΆΠ΅ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ с ΠΈΠΌΠ΅Π½Π΅ΠΌ ns-3-dev находится Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ΠŸΡ€ΠΎΡˆΠ»Ρ‹Π΅ Ρ€Π΅Π»ΠΈΠ·Ρ‹ ΠΈ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ядра Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ΄ Mercurial Π½Π° старом сайтС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎ адрСсу:
http://code.nsnam.org.

2.2 Git

Π‘Π»ΠΎΠΆΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ систСмам Π½ΡƒΠΆΠ΅Π½ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ способ управлСния ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ способов этого Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ, ΠΈ Π²Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ· систСм, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для этого. Π”ΠΎ Π½Π΅Π΄Π°Π²Π½Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ns-3 использовал Mercurial Π² качСствС систСмы управлСния исходным ΠΊΠΎΠ΄ΠΎΠΌ, Π½ΠΎ Π² Π΄Π΅ΠΊΠ°Π±Ρ€Π΅ 2018, ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈΡΡŒ Π½Π° использованиС Git. НС смотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ для чтСния этого руководства Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ Git, ΠΌΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π½ΠΈΠΌ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для доступа ΠΊ исходному ΠΊΠΎΠ΄Ρƒ. GitLab.com прСдоставляСт рСсурсы для овладСния основными Π½Π°Π²Ρ‹ΠΊΠ°ΠΌΠΈ ΠΏΠΎ адрСсу: https://git-scm.com/book/ru/v2.

2.3 WAF

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ скачали исходный ΠΊΠΎΠ΄ Π½Π° ваш ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, для получСния Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΅Π³ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Как ΠΈ Π² случаС с ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, для выполнСния этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ доступно мноТСство инструмСнтов. ВСроятно, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ извСстным ΠΈΠ· этих инструмСнтов являСтся make. Наряду с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ этот инструмСнт являСтся самым извСстным, слСдуСт Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ оказываСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ слоТным ΠΏΡ€ΠΈ использования Π² ΠΎΡ‡Π΅Π½ΡŒ большой ΠΈ Π³ΠΈΠ±ΠΊΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ систСмС. Π­Ρ‚ΠΎ явилось ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ мноТСства Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ². НСдавно, Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Ρ‚Π°ΠΊΠΈΠ΅ систСмы с использованиСм языка Python.

Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ns-3 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ систСма сборки Waf. Она ΠΈΠ· Π½ΠΎΠ²ΠΎΠ³ΠΎ поколСния систСм сборки Π½Π° основС Python. Для сборки ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ систСмы ns-3, Π’Π°ΠΌ Π½Π΅ понадобится Π·Π½Π°Ρ‚ΡŒ Python.

Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ интСрСсуСтся подробностями использования Waf, Π΅ΡΡ‚ΡŒ ΠΊΠ½ΠΈΠ³Π°, доступная ΠΏΠΎ адрСсу:
https://waf.io/book/
ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:
https://gitlab.com/ita1024/waf/.

2.4 Π‘Ρ€Π΅Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Как ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, сцСнарии Π² ns-3 Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π° C++ ΠΈΠ»ΠΈ Python. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ API ns-3 доступна Π½Π° Python, Π½ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² любом случаС написаны Π½Π° C++. Π­Ρ‚ΠΎ руководство ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π° C++. По ΠΌΠ΅Ρ€Π΅ излоТСния, ΠΌΡ‹ посвятим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя ΠΎΠ±Π·ΠΎΡ€Ρƒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅Π·Π½Π°ΠΊΠΎΠΌΡ‹Ρ… особСнностСй языка Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΈΠ΄ΠΈΠΎΠΌΡ‹ ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π΄ΠΈΠ·Π°ΠΉΠ½Π°. ΠœΡ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это руководство ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ»ΠΎΡΡŒ Π² ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ ΠΏΠΎ C++, поэтому ΠΌΡ‹ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ владСния языком. БущСствуСт мноТСство источников ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ C++ доступных Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ ΠΈΠ»ΠΈ Π² ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ.

Если Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² C++, Ρ‚ΠΎ ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ, освойтС Π°Π·Ρ‹ языка, воспользовавшись ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠΎΠΌ ΠΈΠ»ΠΈ Π²Π΅Π±-сайтом, посвящСнным ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ ΠΈΠ»ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌ Ρ€Π΅Ρ†Π΅ΠΏΡ‚Π°ΠΌ. НапримСр, Ρ‚Π°ΠΊΠΈΠΌ: https://github.com/ashtanyuk/CPP-2018.

Под Linux, систСма ns-3 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ нСсколько ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈΠ· инструмСнтария ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° GNU. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ β€” это Π½Π°Π±ΠΎΡ€ инструмСнтов программирования, доступных Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ срСдС. Для быстрого ΠΎΠ±Π·ΠΎΡ€Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² инструмСнты GNU см. http://en.wikipedia.org/wiki/GNU_toolchain.

Бимулятор ns-3 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ gcc, GNU binutils ΠΈ gdb. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя, ΠΌΡ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ для сборки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½ΠΈ make, Π½ΠΈ autotools ΠΈΠ· инструмСнтов GNU. Для этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Waf.

Π’ macOS ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π°Π±ΠΎΡ€ инструмСнтов Xcode. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ns-3 Π½Π° Mac Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ рСкомСндуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Xcode ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ инструмСнтов ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈΠ· Apple App Store, Π° Ρ‚Π°ΠΊΠΆΠ΅, для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, посСтитС Π²ΠΈΠΊΠΈ-страницу установки ns-3: (https://www.nsnam.org/wiki/Installation).

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, Π°Π²Ρ‚ΠΎΡ€ ns-3 Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Linux ΠΈΠ»ΠΈ Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ срСдС. Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ΄ Windows, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ срСды, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Ρ€Π°Π·Π½ΠΎΠΉ стСпСни ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‚ срСду Linux. Для Ρ‚Π°ΠΊΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ns-3 Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ (Π½ΠΎ Π½Π΅ Π² настоящСС врСмя) ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π² срСдС Cygwin. Для получСния подробностСй ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Cygwin ΠΈ ns-3 посСтитС Π²ΠΈΠΊΠΈ-страницу ns-3:
http://www.cygwin.com/.

MinGW Π² настоящСС врСмя ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π½Π΅ поддСрТиваСтся. Π”Ρ€ΡƒΠ³ΠΎΠΉ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ Cygwin являСтся установка Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСды, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ VMware server, Π³Π΄Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Linux.

2.5 ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сокСтов

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² этом руководствС, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ возмоТности API-интСрфСйса сокСтов Π‘Π΅Ρ€ΠΊΠ»ΠΈ (Berkeley Sockets). Если Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² сокСтах, ΠΌΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с API ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ распространСнными случаями ΠΈΡ… использования. Π’ качСствС Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ ΠΎΠ±Π·ΠΎΡ€Π° программирования сокСтов TCP/IP ΠΌΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ: "TCP/IP Sockets in C", Donahoo and Calvert.

БущСствуСт связанный Π²Π΅Π±-сайт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит источник ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π² ΠΊΠ½ΠΈΠ³Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎ адрСсу:
http://cs.baylor.edu/~donahoo/practical/CSockets/.

Если Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π³Π»Π°Π²Ρ‹ ΠΊΠ½ΠΈΠ³ΠΈ (ΠΈΠ»ΠΈ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ доступа ΠΊ ΠΊΠΎΠΏΠΈΠΈ ΠΊΠ½ΠΈΠ³ΠΈ, эхо ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΈ сСрвСры, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π½Π° Π²Π΅Π±-сайтС ΠΏΠΎ ссылкС Π²Ρ‹ΡˆΠ΅), этого Π±ΡƒΠ΄Π΅Ρ‚ достаточно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ. БущСствуСт похоТая ΠΊΠ½ΠΈΠ³Π°
"Multicast Sockets, Multicast Sockets", Makofske ΠΈ Almeroth.

Она ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ, Ссли Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Π² дистрибутивС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ многоадрСсной рассылки.

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅: Π³Π»Π°Π²Π° 3

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com