ΠΠ±ΡΠ²ΡΠ²Π° ΡΠ΅ ΠΏΡΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° Π·Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅ OpenBGPD 8.2, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ΠΎ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° OpenBSD ΠΈ Π°Π΄Π°ΠΏΡΠΈΡΠ°Π½ΠΎ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π²ΡΠ² FreeBSD ΠΈ Linux (ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° alpine, Debian, Fedora, RHEL/CentOS, Ubuntu). ΠΠ° Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠΈ ΠΏΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡ, Π±ΡΡ Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΡΠ°ΡΡΠΈ ΠΎΡ ΠΊΠΎΠ΄Π° ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ΅ OpenNTPD, OpenSSH ΠΈ LibreSSL. ΠΡΠΎΠ΅ΠΊΡΡΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΎΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ Π½Π° BGP 4 ΠΈ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π½Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° Π½Π° RFC8212, Π½ΠΎ Π½Π΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π° Π΄Π° ΠΏΡΠ΅Π³ΡΡΠ½Π΅ Π½Π΅ΠΎΠ±ΡΡΠ½ΠΎΡΡΡΠ° ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π½Π°ΠΉ-ΡΡΡΡΠ΅Π½ΠΈΡΠ΅ ΠΈ ΠΎΠ±ΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π Π°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° OpenBGPD ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Ρ ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ°ΡΠ° Π½Π° ΡΠ΅Π³ΠΈΠΎΠ½Π°Π»Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΎΡ RIPE NCC, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π° ΠΎΡ ΠΏΡΠΈΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° OpenBGPD Π΄ΠΎ ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΡΠ²ΡΡΠΈ Π·Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅ Π² ΡΠΎΡΠΊΠΈ Π·Π° ΠΎΠ±ΠΌΠ΅Π½ Π½Π° ΠΌΠ΅ΠΆΠ΄ΡΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡΠΊΠΈ ΡΡΠ°ΡΠΈΠΊ (IXP) ΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠ»Π½ΠΎΡΠ΅Π½Π΅Π½ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° BIRD (ΠΎΡ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈΡΠ΅ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΈ Ρ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° BGP ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ΅ FRRouting, GoBGP, ExaBGP ΠΈ Bio-Routing).
ΠΡΠΎΠ΅ΠΊΡΡΡ ΡΠ΅ ΡΠΎΠΊΡΡΠΈΡΠ° Π²ΡΡΡ Ρ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ. ΠΠ° Π·Π°ΡΠΈΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡΡΠΈΠΊΡΠ½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΎΡΡΡΠ° Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ, ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΏΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° Π±ΡΡΠ΅ΡΠ°, ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ. Π‘ΡΠ΅Π΄ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π°ΡΠ° ΠΈΠΌΠ° ΠΈ ΡΠ΄ΠΎΠ±Π΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π·Π° Π΅Π·ΠΈΠΊΠ° Π·Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°, Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ OpenBGPD ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Ρ ΡΠ°Π±Π»ΠΈΡΠΈ Π·Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅, ΠΊΠΎΠΈΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΡΡΠΎΡΠΈΡΠΈ Ρ ΠΈΠ»ΡΠ΄ΠΈ Π·Π°ΠΏΠΈΡΠΈ).
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ:
- ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ASPA (Autonomous System Provider Authorization), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² BPG Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΡΡΠΈΡΠ° AS_PATH, ΡΠΏΡΠ»Π½ΠΎΠΌΠΎΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΈ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ ΠΈ Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈ ΠΌΠ°ΡΡΡΡΡΠΈ, Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ. ΠΠ½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ASPA Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π² ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ draft-ietf-sidrops-aspa-verification-16 ΠΈ draft-ietf-sidrops-aspa-profile-16 ΠΈ Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½ΠΎ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΈ ΠΎΡ AFI (ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ Π·Π° ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ Π°Π΄ΡΠ΅ΡΠΈ ).
- ΠΠΎΠΏΡΠ°Π²Π΅Π½Π° Π΅ Π³ΡΠ΅ΡΠΊΠ° Π² ΠΊΠΎΠ΄Π° Π·Π° Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π° netlink, ΡΠ²ΡΡΠ·Π°Π½ Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈ Π²ΠΎΠ΄Π΅Ρ Π΄ΠΎ ΡΡΠΈΠ² Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Linux.
- ΠΠΎΠ΄ΡΡ Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° UPDATE ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½, Π·Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½ΠΎΠ²ΠΈΡ ibuf API.
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ, ΠΏΠΎΠΊΠ°Π·Π²Π°Π½ΠΈ Π² bgpctl ΠΏΡΠΈ ΠΎΠΏΠΈΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ Π² ΠΏΡΠ΅Π½ΠΎΡΠΈΠΌΠ°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° OpenBGPD.
- ΠΡΠΈΠΌΠ΅ΡΡΡ Π·Π° ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π° ΡΠΈΠ»ΡΡΡ GRACEFUL_SHUTDOWN Π΅ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½, Π·Π° Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΡΠ°ΠΌΠΎ ebgp ΡΠ΅ΡΠΈΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru