> コードはむつかしくないだろうけど

その通り、きわめて簡単。

> ユーザランドでやってたら効率はよろしくないように思います。

いや、ポート割り当てに関しては、全然効率は変わらないよ、
一回乱数計算するだけなので。コリジョンはまず起きないから。

むしろ、カーネルでやった方が効率が落ちるんでないかな、
必要もないのに無駄に乱数計算をしなけりゃらないので。