Linuxで、リンクレイヤーで送受信を行う場合、PF_PACKETというLinux独自の仕組みを使い、簡単にプログラミングができます。BSDではBPFという仕組みを使ったり、SolarisだとDLPIを使うなど、リンクレイヤーはUNIX系OSでも統一がされていない部分なのですが、個人的にはLinuxのPF_PACKETが一番シンプルで使いやすいと感じていました。 しかし、このところ10Gbpsでの通信などでPF_PACKETを使っていると、性能が追いつかないという問題にぶち当たり、いろいろと調べてみると、PF_PACKETはユーザランドへのデータコピーなどの為に、処理性能はそれほど高くない、という感じでした。 そうなると、カーネルモードでプログラミングをするしかない、ということになるのですが、私はカーネルモードのプログラミングをシステムで使うのはあまり好みではありません。問題が起きたときに