市川@cakephper
cakephper
PHPのsocket機能を使うと手軽にネットワークプログラミングができます。
2025年11月にリリースされたPHP8.5からそれが強化され、TCP/IP以下の層も手軽に読み書きできるようになりました。
PHPのネットワークプログラミングでどこまでいけるか探るため、自宅で動いている無線LANルーターのようなものをPHPで実装してみました。
PHPでイーサネットフレームを処理し、パケットの転送、ARPによるアドレス解決などを実装、それをラズベリーパイという小型のPCに乗せて実際のIPルーターとして動作させることに成功しました。
IPルーターを作るにはどのような機能が必要か、それをPHPでどう処理するかという話をしつつ、
ネットワークプログラミングの楽しさ、実機で動いた時の感動が伝えられたらと思います。