自作TCP
自作TCP入門導入記になったらいいけどどうなるやら
Linux 仮想デバイス
TUN
IPパケット用
Tunnel の略
今回はTCPを実装したいのでこちらを利用する
TAP
Ethernetフレーム用
ユーザ空間でIPパケット/Ethernetフレームを通信するためのもの
利用するにはデバイスファイルを作成した後 ioctl を発行してデバイスをカーネルに登録する必要がある
Erlangで IP パケットを受信する
code:sh
sudo setcap cap_net_admin=ep /usr/lib/erlang/erts-16.3/bin/beam.smp
10.0.0.1/25で作成すると
CIDR について
10.0.0.0 ~ 10.0.0.128 の範囲を受け持つ
デバイス自体のアドレスは10.0.0.1
code:sh
ip route show dev tun0
10.0.0.0/25 proto kernel scope link src 10.0.0.0
CIDR 表記がうろ覚えだったので学び直し
Special-use addresses が意外と多かった
CIDR の / の後ろはネットワーク部(先頭部)のビット長
IPパケットを処理する
TCP を処理する
参考文献