ΠžΡ‚Π²ΠΎΡ€Π΅Π½ Π΅ инструмСнтариум Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½ΠΈ Ethernet ΠΊΠΎΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ΠΈ Intel Tofino

ΠšΠΎΠΌΠΏΠ°Π½ΠΈΡΡ‚Π° Intel стартира инструмСнтариум, ΠΊΠΎΠΉΡ‚ΠΎ позволява ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° собствСни прилоТСния Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΈΡ‚Π΅ Ethernet ΠΊΠΎΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ΠΈ ΠΎΡ‚ сСрия Tofino. Под лицСнзия Apache 2.0 Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ изходният ΠΊΠΎΠ΄ Π½Π° Π±Π΅ΠΊΠ΅Π½Π΄Π° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° p4c ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° срСдата Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Intel P4 Studio, ΠΊΠ°Ρ‚ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ, ΠΌΠΎΠ΄Π΅Π» Π½Π° симулация Π½Π° ΠΊΠΎΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€, ΡΡŠΡ€Π²ΡŠΡ€ ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π·Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° BF Runtime. Π—Π° създаванС Π½Π° прилоТСния сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎ-ориСнтираният ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Π½ Π΅Π·ΠΈΠΊ P4 (Programming Protocol-independent Packet Processors), ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½ Π·Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π² ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈΡ‚Π΅ устройства, ΠΊΠ°Ρ‚ΠΎ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈ, ΠΊΠΎΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ΠΈ, ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΈ ΠΈ мСТдусСтСви Π΅ΠΊΡ€Π°Π½ΠΈ.

ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΈΡΡ‚ Π±Π΅ΠΊΠ΅Π½Π΄ позволява транслация Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° P4 Π² прСдставянС, подходящо Π·Π° инсталиранС Π½Π° ΠΊΠΎΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΠΎΡ‚ сСрия Intel Tofino. ВслСдствиС Π½Π° Ρ‚ΠΎΠ²Π°, ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ прилоТСния, ΠΊΠΎΠΈΡ‚ΠΎ Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π°Ρ‚ стандартната функционалност, промСнят Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΈΠ»ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π°Ρ‚ устройството към спСцификитС Π½Π° тяхната ΠΌΡ€Π΅ΠΆΠ°.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅ Π½Π° Π΅Π·ΠΈΠΊΠ° P4 сС ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Ρ‚ Π² прСдставяния Π·Π° Ρ†Π΅Π»Π΅Π²ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΊΠ°ΠΊΡ‚ΠΎ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΈ (FPGA, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΈ ASIC), Ρ‚Π°ΠΊΠ° ΠΈ софтуСрни (x86, BPF). Π‘Π΅Π΄Π½ΠΎ с ΠΊΠΎΠ΄Π° Π·Π° инсталация Π½Π° Ρ†Π΅Π»Π΅Π²ΠΈΡ‚Π΅ систСми, ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° runtime Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈΡ‚Π΅ Protobuf/gRPC ΠΈ API P4Runtime.

Π’ΠΈΠΏΠΎΠ²Π°Ρ‚Π° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅ Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½Π° с класификацията Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ ΠΏΠΎ Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ заглавия ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° дСйствия Π²ΡŠΡ€Ρ…Ρƒ входящитС ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, ΠΊΠ°Ρ‚ΠΎ прСнасочванС, ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅, промяна Π½Π° TTL ΠΈ замяна Π½Π° ΠΏΠΎΠ»Π΅Ρ‚Π°. Π•Π·ΠΈΠΊΡŠΡ‚ Π½Π΅ Π΅ ΠΏΡ€ΠΈΠ²ΡŠΡ€Π·Π°Π½ към ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ ΠΈ вмСсто Π²Π³Ρ€Π°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° стандартни ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ, ΠΊΠ°Ρ‚ΠΎ IP, Ethernet, TCP ΠΈ VxLAN, прСдоставя Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Ρ‚ всякакви ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ прилоТСния (Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡŠΡ‚ прикрСпя описаниС Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ‚Π΅ Π½Π° заглавията ΠΈ ΠΏΠΎΠ»Π΅Ρ‚Π°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°).

ΠžΡ‚Π²ΠΎΡ€Π΅Π½ Π΅ инструмСнтариум Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½ΠΈ Ethernet ΠΊΠΎΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ΠΈ Intel Tofino

ОсвСн публикувания Π±Π΅ΠΊΠ΅Π½Π΄ Π·Π° ΠΊΠΎΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Intel Tofino, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ P4 ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π±Π΅ΠΊΠ΅Π½Π΄ Π·Π° компилация Π½Π° P4 прилоТСния Π² ΠΊΠΎΠ΄ Π½Π° C, ΠΊΠΎΠΉΡ‚ΠΎ впослСдствиС ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, подходящ Π·Π° изпълнСниС Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина eBPF Π² ядрото Π½Π° Linux. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Ρ€Π°Π·Π²ΠΈΠ²Π° ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ симулатор Π½Π° ΠΊΠΎΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° СкспСримСнти Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° ΠΌΡ€Π΅ΠΆΠ° Mininet, ΠΈ Π±Π΅ΠΊΠ΅Π½Π΄ Π·Π° компилация Π½Π° P4 ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π·Π° симулатора.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster