tap と tun インターフェイスの違いを理解するのが難しいです。よくある質問であることは承知しており、申し訳ありません。
タップはレイヤー 2 で動作し、tun はレイヤー 3 で動作することを読みました。また、タップはブリッジングに使用され、tun はルーティングに使用されることも読みました。「ルーターはレイヤー3で機能する」または「ブリッジはレイヤー3で機能する」などのことをすでに聞いたことがあります。これは、ルーターがレイヤー3プロトコルを操作し、ブリッジがレイヤー2プロトコルを操作するため、私にとっては理にかなっていますか? しかし、tap と tun は「インターフェース」であるため、「INTERFACES work at layer 3」のような文には意味がありますが、それが何であるかはわかりません。つまり、インターフェースはプロトコルを操作しません (OS はそれを行いますが、インターフェースではありません) tun インターフェース == タップ インターフェースのように聞こえます:
異なるネットワーク (192.168.2.1/24 と 192.168.3.1/24) にある 2 つの IP を持つ 2 つのタップ インターフェイス (tunctl を使用) を作成すると、これらを 2 つの kvm 仮想マシンにリンクします (1 つのタップ インターフェイスが 1 つの VM に一致します)。ホストでルーティングを有効にすると、2 つの VM が通信できます。
したがって、tap インターフェイスはルーティングにも使用できます。tun との違いは何ですか? 多分タップもtunインターフェースですか?
また、tunctl コマンドでタップ インターフェイスを作成できますが、同じコマンドで tun インターフェイスを作成するにはどうすればよいですか (コマンドは TAPctl ではなく TUNctl と呼ばれます...)。
それを明確にするのを手伝ってもらえますか?ありがとうございました。