前のお話で、行きと帰りで書き換える側が違うこと、内側から外への通信(SNAT)と外側 から内への通信(DNAT)で書き換える側が反転すること、境界の手元には対応の手がかりが 残っていることを腹に置いた。あなたの手元には『書き換える側は、通信の向きで決まる』 の 1 行が残った。
けれど、お話の最後にも渇りが残っていた。境界が外に持っているグローバルIPは、 たいていひとつしかない。そして、内側には何十、何百もの端末がいる。
同じ住所から同時に旅立った通信を、応答が戻ってきたときに境界はどうやって元の 端末を見分けているのだろう。3 台が同じグローバルIPで外に出ていったら、応答も 全部同じ住所宛で戻ってくるはずだ。IPアドレスだけでは、戻り先の手がかりが足りない。
そこで見えてくるのは、ポート番号という第2の番号で対応表の行を分ける発想。 家庭用ルータが当たり前にやっている多対1のからくりが、ここで明示的に名前を持つ。