CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

TCP実装(2)

イメージ 1

V53ボードにTCPサーバ機能を実装しようというつづき。
入手したTCP処理の構造体を、現状のプロトコルの構造体に置き換えていく作業をしています。
IP層でデータがコピーされていないためにTCP層で動作がおかしいなんてことがありますが、プロトコルが階層化しているために、かえってデバッグは割と楽です。
TCP処理はいくつかの状態遷移で構成されますが、現段階ではクライアント側からコネクションを張るためにSYNを送ってきたのをボード(サーバ)側が認識してステージをLISTENからSYN_RCVに遷移するという、やっと1段階までできました。

上図は「さかchin」さん作のTCP/IPデバッグツールからボードに対してコネクション要求を出しボード内のTCP状態遷移をシリアルでターミナルに吐き出しているところです。
この状態でDOS窓からnetstat -n を打つとPCはボードに対してSYN送出完了状態になっていることが判ります。