Π ΠΏΡΠΎΡΠ»ΡΠΉ ΡΠ°Π· ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ
Mininet
ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ΄Π½ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΡΠ΅ΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ (Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ»ΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ). ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: $ sudo mn. ΠΠΎ ΡΠ»ΠΎΠ²Π°ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Mininet Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠ°Π·Π²Π΅ΡΡΠΊΠΈ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΡΡΠ΅Π΄.
Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»ΠΈ Π‘ΡΡΠ½ΡΠΎΡΠ΄Π° (Π³Π΄Π΅ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Mininet) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠΈΠ»ΠΈΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π°Π½ΡΡΠΈΠΉ Π² ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ΅. ΠΠ½Π° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΡΠΈΠ²ΠΈΡΡ ΡΡΠ°ΡΠΈΠΌΡΡ Π½Π°Π²ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΡΡΠΌΠΈ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΈ Π΄Π΅ΠΌΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ
Mininet ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΡ SDN-ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΉ. ΠΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΡΠ΅ΡΡ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΠ²ΠΈΡΡΠ°ΠΌΠΈ, ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈ ΠΈ Ρ ΠΎΡΡΠ°ΠΌΠΈ, Π° Π·Π°ΡΠ΅ΠΌ Π΅Ρ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python-ΡΠΊΡΠΈΠΏΡΠΎΠ². ΠΠ°ΡΠ΅ΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡΡΡΡ ΠΈΠ· Mininet Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡ.
ΠΠ· Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ² ΡΠ΅ΡΠ΅Π½ΠΈΡ
Mininet Π²ΡΠΏΡΡΠ΅Π½ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ BSD Open Source ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ. ΠΠ½Π΅ΡΡΠΈ ΡΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ ΠΌΠΎΠ³ΡΡ Π²ΡΠ΅ ΠΆΠ΅Π»Π°ΡΡΠΈΠ΅ β ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Π΅ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π°
ns-3
Π‘ΠΈΠΌΡΠ»ΡΡΠΎΡ Π΄Π»Ρ
Π‘ΡΠ΅Π΄ΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΡΡΠΈΠ»ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠΎΠΊΠ΅ΡΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
Π Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠΈΡΠ»ΠΈΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»Π°Π±ΡΡ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ
Π§ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠ΅ΠΌΠ΅ Π² Π½Π°ΡΠ΅ΠΌ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠΌ Π±Π»ΠΎΠ³Π΅:
OpenNet
ΠΡΠΎΡ SDN-ΡΠΌΡΠ»ΡΡΠΎΡ ΡΡΡΠΎΠΈΡΡΡ Π½Π° Π±Π°Π·Π΅ Π΄Π²ΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² β Mininet ΠΈ ns-3. ΠΠ½ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΡΠΈΠ»ΡΠ½ΡΠ΅ ΡΡΠΎΡΠΎΠ½Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ . Π§ΡΠΎΠ±Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΠΌΠ΅ΡΡΠ΅, OpenNet ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±Π°ΠΉΠ½Π΄ΠΈΠ½Π³-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π½Π° Python.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Mininet Π² OpenNet ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠΌΡΠ»ΡΡΠΈΡ OpenFlow-ΡΠ²ΠΈΡΡΠ΅ΠΉ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ CLI ΠΈ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ. Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ns-3, ΡΠΎ ΠΎΠ½ ΡΠΌΡΠ»ΠΈΡΡΠ΅Ρ ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΡ
Π½Π΅Ρ Π² Mininet. Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ
/
Containernet
ΠΡΠΎ β ΡΠΎΡΠΊ Mininet Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Docker-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π²ΡΡΡΡΠΏΠ°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Ρ
ΠΎΡΡΠΎΠ² Π² ΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ΅ΡΡΡ
. Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΎΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΎΠ±Π»Π°ΡΠ½ΡΠΌΠΈ, ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΠΌΠΈ, ΡΡΠΌΠ°Π½Π½ΡΠΌΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΠΌΠΈ ΠΈ NFV. Π‘ΠΈΡΡΠ΅ΠΌΡ ΡΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ Π°Π²ΡΠΎΡΡ SONATA NFV Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΡΠΊΠ΅ΡΡΡΠΎΠ²ΠΊΠΈ Π² Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
5G-ΡΠ΅ΡΡΡ
. Containernet
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Containernet ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
Tinynet
ΠΠ΅Π³ΠΊΠΎΠ²Π΅ΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΡ SDN-ΡΠ΅ΡΠ΅ΠΉ.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠΌΡΠ»ΡΡΠΈΠΈ ΠΌΠ°ΡΡΡΠ°Π±Π½ΡΡ ΡΠ΅ΡΠ΅ΠΉ ΠΈΠ·-Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠΎ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π½Π°Π΄ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Tinynet Π΄ΠΎΡΡΡΠΏΠ½Ρ Π²
MaxiNet
ΠΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Mininet Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΌΠ°ΡΠΈΠ½Π°Ρ
ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠ°ΡΡΡΠ°Π±Π½ΡΠΌΠΈ SDN-ΡΠ΅ΡΡΠΌΠΈ. ΠΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΠΌΠ°ΡΠΈΠ½ β
MaxiNet ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π±ΡΡΡΡΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠΈ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ². Π’Π°ΠΊΠΆΠ΅ Π² MaxiNet Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ CLI ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ Docker. ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π½Π΅ ΡΠΌΠ΅Π΅Ρ ΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ²ΠΈΡΡΠ° Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΌΠ°ΡΠΈΠ½.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ΡΡΡ
Π§ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠ΅ΠΌΠ΅ Π² Π½Π°ΡΠ΅ΠΌ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠΌ Π±Π»ΠΎΠ³Π΅:
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com