FreeBSD ืžื•ืกื™ืคื” ืชืžื™ื›ื” ื‘ืคืจื•ื˜ื•ืงื•ืœ Netlink ื”ืžืฉืžืฉ ื‘ืœื™ื‘ืช ืœื™ื ื•ืงืก

ื‘ืกื™ืก ื”ืงื•ื“ ืฉืœ FreeBSD ืžืืžืฅ ืžื™ืžื•ืฉ ืฉืœ ืคืจื•ื˜ื•ืงื•ืœ ื”ืชืงืฉื•ืจืช Netlink (RFC 3549), ื”ืžืฉืžืฉ ื‘ืœื™ื ื•ืงืก ื›ื“ื™ ืœืืจื’ืŸ ืื™ื ื˜ืจืืงืฆื™ื” ื‘ื™ืŸ ื”ืœื™ื‘ื” ืœืชื”ืœื™ื›ื™ื ื‘ืžืจื—ื‘ ื”ืžืฉืชืžืฉ. ื”ืคืจื•ื™ืงื˜ ืžื•ื’ื‘ืœ ืœืชืžื™ื›ื” ื‘ืžืฉืคื—ืช ื”ืคืขื•ืœื•ืช NETLINK_ROUTE ืœื ื™ื”ื•ืœ ื”ืžืฆื‘ ืฉืœ ืชืช-ืžืขืจื›ืช ื”ืจืฉืช ื‘ืงืจื ืœ.

ื‘ืžืชื›ื•ื ืชื” ื”ื ื•ื›ื—ื™ืช, ืฉื›ื‘ืช ื”ืชืžื™ื›ื” ืฉืœ Netlink ืžืืคืฉืจืช ืœ-FreeBSD ืœื”ืฉืชืžืฉ ื‘ื›ืœื™ ื”ืฉื™ืจื•ืช Linux ip ืžื—ื‘ื™ืœืช iproute2 ื›ื“ื™ ืœื ื”ืœ ืžืžืฉืงื™ ืจืฉืช, ืœื”ื’ื“ื™ืจ ื›ืชื•ื‘ื•ืช IP, ืœื”ื’ื“ื™ืจ ื ื™ืชื•ื‘ ื•ืœืชืคืขืœ ืื•ื‘ื™ื™ืงื˜ื™ื ืฉืœ Nexthop ื”ืžืื—ืกื ื™ื ืืช ื”ืžืฆื‘ ื”ืžืฉืžืฉ ืœื”ืขื‘ืจืช ืžื ื” ืœื™ืขื“ ื”ืจืฆื•ื™. ืœืื—ืจ ืฉื™ื ื•ื™ ืงืœ ืฉืœ ืงื‘ืฆื™ ื”ื›ื•ืชืจืช, ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘-Netlink ื‘ื—ื‘ื™ืœืช ื ื™ืชื•ื‘ Bird.

ื”ื˜ืžืขืช Netlink ืขื‘ื•ืจ FreeBSD ืืจื•ื–ื” ื›ืžื•ื“ื•ืœ ืœื™ื‘ื” ื”ื ื™ืชืŸ ืœื˜ืขื™ื ื”, ืฉื‘ืžื™ื“ืช ื”ืืคืฉืจ, ืื™ื ื• ืžืฉืคื™ืข ืขืœ ืชืช-ืžืขืจื›ื•ืช ืœื™ื‘ื” ืื—ืจื•ืช ื•ื™ื•ืฆืจ ืชื•ืจื™ ืžืฉื™ืžื•ืช ื ืคืจื“ื™ื (tasqueue) ืœืขื™ื‘ื•ื“ ื”ื•ื“ืขื•ืช ื ื›ื ืกื•ืช ื‘ืืžืฆืขื•ืช ื”ืคืจื•ื˜ื•ืงื•ืœ ื•ืœื‘ืฆืข ืคืขื•ืœื•ืช ื‘ืžืฆื‘ ืืกื™ื ื›ืจื•ื ื™. ื”ืกื™ื‘ื” ืœื”ืขื‘ืจืช Netlink ื”ื™ื ื”ื™ืขื“ืจ ืžื ื’ื ื•ืŸ ืกื˜ื ื“ืจื˜ื™ ืœืื™ื ื˜ืจืืงืฆื™ื” ืขื ืชืช-ืžืขืจื›ื•ืช ืœื™ื‘ื”, ืžื” ืฉืžื•ื‘ื™ืœ ืœืชืช-ืžืขืจื›ื•ืช ื•ื“ืจื™ื™ื‘ืจื™ื ืฉื•ื ื™ื ืœื”ืžืฆื™ื ืคืจื•ื˜ื•ืงื•ืœื™ื ืžืฉืœื”ื.

Netlink ืžืฆื™ืขื” ืฉื›ื‘ืช ืชืงืฉื•ืจืช ืžืื•ื—ื“ืช ื•ืคื•ืจืžื˜ ื”ื•ื“ืขื•ืช ืฉื ื™ืชืŸ ืœื”ืจื—ื‘ื” ืฉื™ื›ื•ืœ ืœืฉืžืฉ ื›ืžืชื•ื•ืš ื”ืžืฉืœื‘ ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™ ื ืชื•ื ื™ื ืฉื•ื ื™ื ืžืžืงื•ืจื•ืช ืฉื•ื ื™ื ืœื‘ืงืฉื” ืื—ืช. ืœื“ื•ื’ืžื”, ื ื™ืชืŸ ืœื”ืขื‘ื™ืจ ืœ-Netlink ืชืช-ืžืขืจื›ื•ืช FreeBSD ื›ื’ื•ืŸ devd, jail ื•-pfilctl, ื›ืขืช ื‘ืืžืฆืขื•ืช ืงืจื™ืื•ืช ioctl ืžืฉืœื”ืŸ, ืžื” ืฉื™ืคืฉื˜ ืžืื•ื“ ืืช ื™ืฆื™ืจืช ื”ืืคืœื™ืงืฆื™ื•ืช ืœืขื‘ื•ื“ื” ืขื ืชืช-ืžืขืจื›ื•ืช ืืœื•. ื‘ื ื•ืกืฃ, ืฉื™ืžื•ืฉ ื‘-Netlink ื›ื“ื™ ืœืฉื ื•ืช ืืช ื”ืื•ื‘ื™ื™ืงื˜ื™ื ื•ื”ืงื‘ื•ืฆื•ืช ืฉืœ nexthop ื‘ืขืจื™ืžืช ื”ื ื™ืชื•ื‘ ื™ืืคืฉืจ ืื™ื ื˜ืจืืงืฆื™ื” ื™ืขื™ืœื” ื™ื•ืชืจ ืขื ืชื”ืœื™ื›ื™ ื ื™ืชื•ื‘ ื‘ืžืจื—ื‘ ื”ืžืฉืชืžืฉ.

ืชื›ื•ื ื•ืช ืžื™ื•ืฉืžื•ืช ื›ืขืช:

  • ืงื‘ืœืช ืžื™ื“ืข ืขืœ ืžืกืœื•ืœื™ื, ืื•ื‘ื™ื™ืงื˜ื™ื ื•ืงื‘ื•ืฆื•ืช ืฉืœ Nexthops, ืžืžืฉืงื™ ืจืฉืช, ื›ืชื•ื‘ื•ืช ื•ืžืืจื—ื™ื ืฉื›ื ื™ื (arp/ndp).
  • ื™ืฆื™ืจืช ื”ื•ื“ืขื•ืช ืขืœ ื”ื•ืคืขื” ื•ื ื™ืชื•ืง ืžืžืฉืงื™ ืจืฉืช, ืงื‘ื™ืขืช ื•ืžื—ื™ืงืช ื›ืชื•ื‘ื•ืช, ื”ื•ืกืคื” ื•ืžื—ื™ืงืช ืžืกืœื•ืœื™ื.
  • ื”ื•ืกืคื” ื•ื”ืกืจื” ืฉืœ ืžืกืœื•ืœื™ื, ืื•ื‘ื™ื™ืงื˜ื™ื ื•ืงื‘ื•ืฆื•ืช Nexthops, ืฉืขืจื™ื, ืžืžืฉืงื™ ืจืฉืช.
  • ืื™ื ื˜ื’ืจืฆื™ื” ืขื ืžืžืฉืง Rtsock ืœื ื™ื”ื•ืœ ื˜ื‘ืœืช ื”ื ื™ืชื•ื‘.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”