ΠžΡ‚Π²ΠΎΡ€Π΅Π½ Π΅ инструмСнтариум Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½ΠΈ 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