Π£Π²ΠΈΠ΄Π΅Π» ΡΠ²Π΅Ρ ΡΠ΅Π»ΠΈΠ· Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ I2P 1.9.0 ΠΈ C++-ΠΊΠ»ΠΈΠ΅Π½ΡΠ° i2pd 2.43.0. I2P ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠΉΠ½ΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ΅ΡΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΡΡ ΠΏΠΎΠ²Π΅ΡΡ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°, Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΊΠ²ΠΎΠ·Π½ΠΎΠ΅ (end-to-end) ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅, Π³Π°ΡΠ°Π½ΡΠΈΡΡΡΡΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΡΡΡ ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ. Π‘Π΅ΡΡ ΡΡΡΠΎΠΈΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ P2P ΠΈ ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ΅ΡΡΡΡΠ°ΠΌ (ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ ΡΠ΅ΡΠΈ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² (ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ Π²Π½ΡΡΡΠΈ ΡΠ΅ΡΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΠ΄Π½ΠΎΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΡΡΠ½Π½Π΅Π»Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠΌ ΠΈ peer-Π°ΠΌΠΈ).
Π ΡΠ΅ΡΠΈ I2P ΠΌΠΎΠΆΠ½ΠΎ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ web-ΡΠ°ΠΉΡΡ ΠΈ Π±Π»ΠΎΠ³ΠΈ, ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΏΠΎΡΡΡ, ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ P2P-ΡΠ΅ΡΠΈ. ΠΠ»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΡΠ΅ΡΠ΅ΠΉ Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ (ΡΠ°ΠΉΡΡ, ΡΠ°ΡΡ) ΠΈ P2P (ΠΎΠ±ΠΌΠ΅Π½ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΠΊΡΠΈΠΏΡΠΎΠ²Π°Π»ΡΡΡ) ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ I2P-ΠΊΠ»ΠΈΠ΅Π½ΡΡ. ΠΠ°Π·ΠΎΠ²ΡΠΉ I2P-ΠΊΠ»ΠΈΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Java ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΡΠΈΡΠΎΠΊΠΎΠΌ ΡΠΏΠ΅ΠΊΡΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Windows, Linux, macOS, Solaris ΠΈ Ρ.ΠΏ. I2pd ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° I2P Π½Π° ΡΠ·ΡΠΊΠ΅ C++ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ BSD.
Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ I2P Π·Π°Π²Π΅ΡΡΠ΅Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° «SSU2», ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° UDP ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ SSU2 Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΏΠΈΡΠΎΠ² ΠΈ ΡΠ΅Π»Π΅Π΅Π². ΠΡΠΎΡΠΎΠΊΠΎΠ» «SSU2» Π²ΠΊΠ»ΡΡΡΠ½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΡΠ±ΠΎΡΠΊΠ°Ρ Π΄Π»Ρ Android ΠΈ ARM, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π° Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΌ ΠΏΡΠΎΡΠ΅Π½ΡΠ΅ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡΠΎΠ² Π½Π° Π±Π°Π·Π΅ Π΄ΡΡΠ³ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ. Π Π½ΠΎΡΠ±ΡΡΡΠΊΠΎΠΌ ΡΠ΅Π»ΠΈΠ·Π΅ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ «SSU2» Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ SSU2 ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠ΅ΠΊ, ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡΠ΅Π½Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ElGamal (Π΄Π»Ρ ΡΠΊΠ²ΠΎΠ·Π½ΠΎΠ³ΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΠ²ΡΠ·ΠΊΠ° ECIES-X25519-AEAD-Ratchet Π²ΠΌΠ΅ΡΡΠΎ ElGamal/AES+SessionTag), ΡΠΌΠ΅Π½ΡΡΠΈΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ SSU ΠΈ ΡΠ»ΡΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ².
ΠΠ· Π΄ΡΡΠ³ΠΈΡ
ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ ΠΎΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π΅ΡΠ΅ΠΊΡΠΎΡΠ° Π²Π·Π°ΠΈΠΌΠ½ΡΡ
Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ (deadlock detector), ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠΈΡΠ°ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡΠ΅ (RI, RouterInfo) ΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ MTU/PMTU Π² ΡΡΠ°ΡΠΎΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π΅ SSU. Π i2pd Π΄ΠΎΠ²Π΅Π΄ΡΠ½ Π΄ΠΎ ΡΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° ΡΡΠ°Π½ΡΠΏΠΎΡΡ SSU2, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΡΠ½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ Π½ΠΎΠ²ΡΡ
ΡΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru