ソケット通信がハーフオープンになってしまうって事象が発生しました。
こういう時には、tcpdumpで調べますよねってことで、通信トレースを取得して解析をしてみると、どうやら、ハンドシェイクの時に、syn、syn ackと通信があってackが返せていないって感じでした。
syn、syn ackまで通信ができているってことは、ネットワークルーティングや機器間のFirewallとかには問題ないだろうって推測で、
ソースとなる機器側がackを返せない理由を調べていました。
結果として、機器自体のfirewall(AIXでしたので、IPsecのフィルター)で該当のインバウンド通信が閉じていたからなんですけど、
まてよと、インバウンドを閉じているなら、tcpdumpにsyn ackが記録されたのは何故だろうと思ったので、その理由をメモしておきます。
まず、結果から
NIC → tcpdump(iptrace) → firewall(ipsec) という処理順になっていると思われます。
その理由:
NIC (L1) → tcpdump(L2での処理) → firewall(L3-L4での処理) だからですね。
ネットワークの通信は、OSI参照モデルの順で処理されているからってことで、納得。
備考:
Firewallのパケットフィルタとは、OSI参照モデルにおけるネットワーク層(レイヤ3)やトランスポート層(レイヤ4)に相当するIPからTCP、UDP層の条件(ポリシー)で、通信の許可/不許可を判断するもの。