Π’ FreeBSD Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Netlink, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² ядрото Π½Π° Linux.

Π’ ΠΊΠΎΠ΄Π° Π½Π° FreeBSD Π΅ ΠΏΡ€ΠΈΠ΅Ρ‚Π° рСализация Π½Π° комуникационния ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Netlink (RFC 3549), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² Linux Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° взаимодСйствиСто ΠΌΠ΅ΠΆΠ΄Ρƒ ядрото ΠΈ процСситС Π² потрСбитСлското пространство. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ сС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π° Π΄ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° сСмСйството ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ NETLINK_ROUTE Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²Π°Ρ‚Π° подсистСма Π² ядрото.

Π’ тСкущия си Π²ΠΈΠ΄ Π½ΠΈΠ²ΠΎΡ‚ΠΎ Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Netlink позволява Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Linux ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ip ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Π° iproute2 Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈΡ‚Π΅ интСрфСйси, Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° IP адрСси, настройванС Π½Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅ nexthop, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ Π΄Π°Π½Π½ΠΈ Π·Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° прСнос Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π΄ΠΎ ΠΆΠ΅Π»Π°Π½Π°Ρ‚Π° дСстинация. Π‘Π»Π΅Π΄ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Π·Π°Π³Π»Π°Π²Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, Π΅ възмоТно ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Netlink Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Bird.

РСализацията Π½Π° Netlink Π·Π° FreeBSD Π΅ ΠΎΡ„ΠΎΡ€ΠΌΠ΅Π½Π° ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ» Π½Π° ядрото, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π½Π΅ засяга Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ подсистСми Π½Π° ядрото ΠΈ създава ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ опашки Π·Π° Π·Π°Π΄Π°Ρ‡ΠΈ (taskqueue) Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΠΎΡΡ‚ΡŠΠΏΠ²Π°Ρ‰ΠΈΡ‚Π΅ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ ΠΈ изпълнСниС Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² асинхронСн Ρ€Π΅ΠΆΠΈΠΌ. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°Ρ‚Π° Π·Π° ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Netlink Π΅ липсата Π½Π° стандартСн ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° взаимодСйствиС с подсистСмитС Π½Π° ядрото, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ подсистСми ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ изобрСтяват собствСни ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ.

Netlink ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π΅Π½ слой ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ΅ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° слуТи ΠΊΠ°Ρ‚ΠΎ посрСдник, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ обСдиняваща Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈ Π² Π΅Π΄Π½Π° заявка. НапримСр, ΠΏΠΎΠ΄ систСми Π½Π° FreeBSD ΠΊΠ°Ρ‚ΠΎ devd, jail ΠΈ pfilctl, ΠΊΠΎΠΈΡ‚ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ собствСни повиквания ioctl, ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½ΠΈ Π² Netlink, ΠΊΠΎΠ΅Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ‰Π΅ улСсни ΡΡŠΠ·Π΄Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° прилоТСния Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Ρ‚Π΅Π·ΠΈ подсистСми. ОсвСн Ρ‚ΠΎΠ²Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Netlink Π·Π° промСнянС Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ΠΈ Π³Ρ€ΡƒΠΏΠΈ nexthop Π² стСк Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Ρ‰Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΠΏΠΎ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ взаимодСйствиС с процСситС ΠΏΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π² потрСбитСлското пространство.

Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ:

  • ΠŸΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° информация Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈ, ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ΠΈ Π³Ρ€ΡƒΠΏΠΈ nexthops, ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ интСрфСйси, адрСси ΠΈ съсСдни хостовС (arp/ndp).
  • БъздаванС Π½Π° извСстия Π·Π° поява ΠΈ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ интСрфСйси, Π·Π°Π΄Π°Π²Π°Π½Π΅ ΠΈ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° адрСси, добавянС ΠΈ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈ.
  • ДобавянС ΠΈ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈ, ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ΠΈ Π³Ρ€ΡƒΠΏΠΈ nexthops, шлюзовС, ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ интСрфСйси.
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с интСрфСйса Rtsock Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ.

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

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