ΠΠ°Π½Π½Π°Ρ ΡΡΠ°ΡΡΡ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠ΅ΡΠΈΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠΌ ΡΡΠ΅Π±Π½ΠΈΠΊΠ° "
ΠΡΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠΌ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΠΏΠΈΡΠ°Π½ Π²
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 ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠΊΠ΅ΡΠΎΠ²
ΠΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° ns-3 Π΄ΠΎΡΡΡΠΏΠ½Π° Π² ΠΏΡΡΠΈ ΡΠΎΡΠΌΠ°Ρ :
- ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ API ΡΠΈΠΌΡΠ»ΡΡΠΎΡΠ°:ns-3
Doxygen . - Π£ΡΠ΅Π±Π½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅, ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π΄Π»Ρ
ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΈΠ΄Π΅ΡΠ΅Π²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ . ΠΠΈΠΊΠΈ ns-3.
ΠΠ»Π°Π²Π° 1
ΠΡΠ΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅
Π‘ΠΈΠΌΡΠ»ΡΡΠΎΡ 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 ([email protected]).
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 (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, "ΡΡΠΎΡ ΡΠ°Π·Π΄Π΅Π» ΡΡΠ΅Π±Π½ΠΈΠΊΠ° Π½Π΅ Π±ΡΠ» ΠΏΠΎΠ½ΡΡΠ΅Π½ …"), ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π² ΠΊΠΎΠ΄Π΅ ΠΈ Ρ.Π΄β¦ ΠΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ Π»ΠΈΠ±ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ (ΡΠΎΡΠΊ) Π½Π°
1.4 ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°
ΠΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ Π½ΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎ ΡΠ°ΠΊΠΎΠΌΡ ΠΏΡΡΠΈ:
- ΠΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈ ΡΠΎΠ±ΡΠ°ΡΡ ΠΊΠΎΠΏΠΈΡ;
- ΠΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ;
- ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΈΠΌΡΠ»ΡΡΠΈΠΈ ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΡΡΡΠΎΠΈΡΡ Π΅Π³ΠΎ.
Π ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅, ΠΌΡ ΠΏΠΎΠΏΡΡΠ°Π»ΠΈΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΠΈΠΌΠΈ ΡΠ°Π³Π°ΠΌΠΈ.
ΠΠ»Π°Π²Π° 2
ΠΡΡΠΎΡΠ½ΠΈΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ
2.1 Π‘Π΅ΡΡ
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΆΠ½ΡΡ
ΡΠ΅ΡΡΡΡΠΎΠ², ΠΎ ΠΊΠΎΡΠΎΡΡΡ
Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°ΡΡ Π»ΡΠ±ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ns-3. ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅Π±-ΡΠ°ΠΉΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ:
ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅ ns-3. ΠΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½Π° ΡΠ΅ΡΠ΅Π· ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅Π±-ΡΠ°ΠΉΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ:
ΠΠ° ΡΡΠΎΠΉ ΠΆΠ΅ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ, ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΈΠΊΠΈ-ΡΡΡΠ°Π½ΠΈΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅Π±-ΡΠ°ΠΉΡ ns-3, Π΅Ρ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ:
Π’Π°ΠΌ Π½Π°ΠΉΠ΄ΡΡΡΡ ΠΎΡΠ²Π΅ΡΡ Π½Π° ΡΠ°ΡΡΠΎ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΏΠΎ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ, ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΉ ΠΊΠΎΠ΄, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΠΈ Ρ. Π΄.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° GitLab.com:
Π’Π°ΠΌ ΠΆΠ΅ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ns-3-dev Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π΄Π΅ΡΠ΅Π²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠΎΡΠ»ΡΠ΅ ΡΠ΅Π»ΠΈΠ·Ρ ΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠ΄ΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ΄ Mercurial Π½Π° ΡΡΠ°ΡΠΎΠΌ ΡΠ°ΠΉΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ:
2.2 Git
Π‘Π»ΠΎΠΆΠ½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ Π½ΡΠΆΠ΅Π½ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠΈΡΡ, ΠΈ Π²Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ»ΡΡΠ°Π»ΠΈ ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΈΠ· ΡΠΈΡΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ. ΠΠΎ Π½Π΅Π΄Π°Π²Π½Π΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ ns-3 ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Mercurial Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π½ΠΎ Π² Π΄Π΅ΠΊΠ°Π±ΡΠ΅ 2018, ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΠ»ΠΈΡΡ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Git. ΠΠ΅ ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΡ ΠΎ Git, ΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Π½ΠΈΠΌ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ. GitLab.com ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅ΡΡΡΡΡ Π΄Π»Ρ ΠΎΠ²Π»Π°Π΄Π΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ Π½Π°Π²ΡΠΊΠ°ΠΌΠΈ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ:
2.3 WAF
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΡΠΊΠ°ΡΠ°Π»ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° Π²Π°Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ, Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π³ΠΎΡΠΎΠ²ΠΎΠΉ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π΅Π³ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ ΠΈΠ· ΡΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ make. ΠΠ°ΡΡΠ΄Ρ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΎΠ½ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈ Π³ΠΈΠ±ΠΊΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΡΠΎ ΡΠ²ΠΈΠ»ΠΎΡΡ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ². ΠΠ΅Π΄Π°Π²Π½ΠΎ, Π±ΡΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ ΡΠ°ΠΊΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ·ΡΠΊΠ° Python.
Π ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ns-3 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ±ΠΎΡΠΊΠΈ Waf. ΠΠ½Π° ΠΈΠ· Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠ±ΠΎΡΠΊΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Python. ΠΠ»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ns-3, ΠΠ°ΠΌ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π·Π½Π°ΡΡ Python.
ΠΠ»Ρ ΡΠ΅Ρ
, ΠΊΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΡΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Waf, Π΅ΡΡΡ ΠΊΠ½ΠΈΠ³Π°, Π΄ΠΎΡΡΡΠΏΠ½Π°Ρ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ:
ΠΈ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠΎΠ΄:
2.4 Π‘ΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
ΠΠ°ΠΊ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ Π²ΡΡΠ΅, ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π² ns-3 Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° C++ ΠΈΠ»ΠΈ Python. ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ API ns-3 Π΄ΠΎΡΡΡΠΏΠ½Π° Π½Π° Python, Π½ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° C++. ΠΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ Π²Ρ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π° C++. ΠΠΎ ΠΌΠ΅ΡΠ΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΌΡ ΠΏΠΎΡΠ²ΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ±Π·ΠΎΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅Π·Π½Π°ΠΊΠΎΠΌΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΡΠ·ΡΠΊΠ° ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΈΠ΄ΠΈΠΎΠΌΡ ΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ Π΄ΠΈΠ·Π°ΠΉΠ½Π°. ΠΡ Π½Π΅ Ρ ΠΎΡΠΈΠΌ, ΡΡΠΎΠ±Ρ ΡΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»ΠΎΡΡ Π² ΡΡΠ΅Π±Π½ΠΈΠΊ ΠΏΠΎ C++, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Π²Π»Π°Π΄Π΅Π½ΠΈΡ ΡΠ·ΡΠΊΠΎΠΌ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ C++ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΠΈΠ»ΠΈ Π² ΠΏΠ΅ΡΠ°ΡΠΈ.
ΠΡΠ»ΠΈ Π²Ρ Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² C++, ΡΠΎ ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ, ΠΎΡΠ²ΠΎΠΉΡΠ΅ Π°Π·Ρ ΡΠ·ΡΠΊΠ°, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ ΡΡΠ΅Π±Π½ΠΈΠΊΠΎΠΌ ΠΈΠ»ΠΈ Π²Π΅Π±-ΡΠ°ΠΉΡΠΎΠΌ, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π³ΠΎΡΠΎΠ²ΡΠΌ ΡΠ΅ΡΠ΅ΠΏΡΠ°ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊΠΈΠΌ:
ΠΠΎΠ΄ Linux, ΡΠΈΡΡΠ΅ΠΌΠ° ns-3 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈΠ· ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° GNU. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ β ΡΡΠΎ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅. ΠΠ»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΎΠ±Π·ΠΎΡΠ° ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²Ρ
ΠΎΠ΄ΠΈΡ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ GNU ΡΠΌ.
Π‘ΠΈΠΌΡΠ»ΡΡΠΎΡ ns-3 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ gcc, GNU binutils ΠΈ gdb. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΌΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½ΠΈ make, Π½ΠΈ autotools ΠΈΠ· ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² GNU. ΠΠ»Ρ ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Waf.
Π macOS ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Xcode. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ns-3 Π½Π° Mac Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Xcode ΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· Apple App Store, Π° ΡΠ°ΠΊΠΆΠ΅, Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ Π²ΠΈΠΊΠΈ-ΡΡΡΠ°Π½ΠΈΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ns-3: (
ΠΠ±ΡΡΠ½ΠΎ, Π°Π²ΡΠΎΡ ns-3 ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Linux ΠΈΠ»ΠΈ Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅. ΠΠ»Ρ ΡΠ΅Ρ
, ΠΊΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎΠ΄ Windows, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΡΠ΅Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΡΠ°Π·Π½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΈΠΌΠΈΡΠΈΡΡΡΡ ΡΡΠ΅Π΄Ρ Linux. ΠΠ»Ρ ΡΠ°ΠΊΠΈΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΏΡΠΎΠ΅ΠΊΡ ns-3 Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ (Π½ΠΎ Π½Π΅ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ) ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π² ΡΡΠ΅Π΄Π΅ Cygwin. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ ΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Cygwin ΠΈ ns-3 ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ Π²ΠΈΠΊΠΈ-ΡΡΡΠ°Π½ΠΈΡΡ ns-3:
MinGW Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ. ΠΡΡΠ³ΠΎΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΎΠΉ Cygwin ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ VMware server, Π³Π΄Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Linux.
2.5 ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠΊΠ΅ΡΠΎΠ²
Π ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ Π² ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠΎΠΊΠ΅ΡΠΎΠ² ΠΠ΅ΡΠΊΠ»ΠΈ (Berkeley Sockets). ΠΡΠ»ΠΈ Π²Ρ Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² ΡΠΎΠΊΠ΅ΡΠ°Ρ , ΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ API ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌΠΈ ΡΠ»ΡΡΠ°ΡΠΌΠΈ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Ρ ΠΎΡΠΎΡΠ΅Π³ΠΎ ΠΎΠ±Π·ΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠΊΠ΅ΡΠΎΠ² TCP/IP ΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ: "TCP/IP Sockets in C", Donahoo and Calvert.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Π²Π΅Π±-ΡΠ°ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π² ΠΊΠ½ΠΈΠ³Π΅, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ:
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠ΅ΡΡΡΠ΅ Π³Π»Π°Π²Ρ ΠΊΠ½ΠΈΠ³ΠΈ (ΠΈΠ»ΠΈ Π΄Π»Ρ ΡΠ΅Ρ
, ΠΊΡΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΊΠΎΠΏΠΈΠΈ ΠΊΠ½ΠΈΠ³ΠΈ, ΡΡ
ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π½Π° Π²Π΅Π±-ΡΠ°ΠΉΡΠ΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π²ΡΡΠ΅), ΡΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ ΡΡΠ΅Π±Π½ΠΈΠΊ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΡ
ΠΎΠΆΠ°Ρ ΠΊΠ½ΠΈΠ³Π°
"Multicast Sockets, Multicast Sockets", Makofske ΠΈ Almeroth.
ΠΠ½Π° ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π», ΠΊΠΎΡΠΎΡΡΠΉ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΠ·ΡΡΠ°ΡΡ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠ°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΡΠ»ΠΊΠΈ.
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅:
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com