ICMP(Internet Control Message Protocol)そ��

リダイレクトメãƒ�‚»ãƒ¼ã‚¸

コンピュータのãƒ�ƒ•ã‚©ãƒ«ãƒˆã‚²ãƒ¼ãƒˆã‚¦ã‚§ã‚¤ã®è¨­å®šæ¬¡ç¬¬ã§ã€�
目çš��ネットワークに対する最適な経路を通らなã�“ともありまã�。そのような場合、ICMPタイプ5ã�りダイレクトメãƒ�‚»ãƒ¼ã‚¸ã§ã€ã‚ˆã‚Šã‚ˆã�µŒè·¯ã‚’通知することができますã€�

では、å�体的に次のネットワークをè€�ˆã¦ã¿ã¾ã™ã€�





10.0.0.0/8のネットワークにコンピュータとルータA、ルータBがいます。さらに、ルータAの向こã��には20.0.0.0/8のネットワーク、ルータBの向こã��に30.0.0.0/8のネットワークがありますã€�30.0.0.0/8のネットワークには、サーバがã�¦ã€�30.0.0.1のIPアドレスを持ってã�¾ã™ã€�10.0.0.0/8のネットワークにã�‚‹ã‚³ãƒ³ãƒ”ュータのIPアドレスはã€�10.0.0.0/8でãƒ�ƒ•ã‚©ãƒ«ãƒˆã‚²ãƒ¼ãƒˆã‚¦ã‚§ã‚¤ã¨ã—てルータAのIPアドレスが設定されてã�¾ã™ã€�

ルータA、ルータBには
スタãƒ�‚£ãƒ�‚¯ãƒ«ãƒ¼ãƒ�‚£ãƒ³ã‚°ã§ã‚‚ダイナミãƒ�‚¯ãƒ«ãƒ¼ãƒ�‚£ãƒ³ã‚°ã§ã‚‚なんでもいã��ですが、きちんとすべてのネットワークを認識してã�‚‹ã‚‚ã�ã�としますã€�
たとえã�、ルータAのルーãƒ�‚£ãƒ³ã‚°ãƒ��ブルは次のようになりますã€�





こã�ようなネットワークでクライアントとサーバã�通信をè€�ˆã¦ã¿ã¾ã™ã€‚サーバã�クライアントとは異なるネãƒ�ƒˆãƒ¯ãƒ¼ã‚¯ã«ã�‚‹ã®ã§ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã�まずデフォルトゲートウェイ、つまるルータAにパケãƒ�ƒˆã‚’送りますã€�
サーバã�30.0.0.0/8のネットワークにã�‚‹ã®ã§ã€�
本当ã�ルータAよりもルータBに送るほã�Œã�„のですが、クライアントã�どのようなネットワーク構æ�になってã�‚‹ã®ã‹ã‚ˆãã‚ã‹ã‚Šã¾ã›ã‚“。設定されてã�‚‹ãƒ�ƒ•ã‚©ãƒ«ãƒˆã‚²ãƒ¼ãƒˆã‚¦ã‚§ã‚¤ã«é€ã‚Šã¾ã™ã€�





ルータAはã‚�£ã¦ããŸãƒ‘ケãƒ�ƒˆã®é€ä¿¡å…ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’見てルーãƒ�‚£ãƒ³ã‚°ãƒ��ブル照合します。そã�™ã‚‹ã¨ã€�30.0.0.0/8はネクストã�ãƒ��がルータBでE0インタフェースから出せã�ã�„ことがわかります。で、パケãƒ�ƒˆã‚’次にルータBに中継してã�ã‚ã‘ですã�ã€�





でもã€�
これってすごくムダではありませんかï¼�
直接クライアントからルータBに送ってくれれã�ã�„ã‚‚ã�を、わざわざルータAがルーãƒ�‚£ãƒ³ã‚°ã‚’しなければã�‘ませんã€�10.0.0.0/8のネットワークの利用çŽ�Œé«˜ããªã‚‹ã—、ルータAに対してもè²�荷がかかってしまã�¾ã™ã€�
こうã�†æœ€é©ã§ã¯ãªã�µŒè·¯ã‚’選んでしまってã�‚‹å ´åˆã«ã€ã‚ˆã‚Šã‚ˆã�µŒè·¯ã‚’教えるためにICMPタイプ5リダイレクトメãƒ�‚»ãƒ¼ã‚¸ãŒä½¿ã‚ã‚Œã¦ã�¾ã™ã€�

ICMPリダイレクトが出される条件は、パケãƒ�ƒˆãŒå�ってきたインタフェースに再ã�出力するとã�です。この例では、ルータAのE0インタフェースにパケãƒ�ƒˆãŒå�ってきました。そして、ルータAがルーãƒ�‚£ãƒ³ã‚°ã‚’してE0インタフェースを通してルータBに中継してã�¾ã™ã€‚同じインタフェースに出力することになってしまったã�で、効çŽ�Œæ‚ªã�ƒ«ãƒ¼ãƒ�‚£ãƒ³ã‚°ã§ã™ã€‚そこでクライアントに対して、ã€�30.0.0.1にã�ãªã‚‰ãƒ«ãƒ¼ã‚¿Bに送ってね�žã€ã¨ã�†ã“とを通知しますã€�






リダイレクトメãƒ�‚»ãƒ¼ã‚¸ã‚’受け取ると

こã�
ICMPリダイレクトを受け取ったクライアントã�、è�åˆ��ルーãƒ�‚£ãƒ³ã‚°ãƒ��ブルに追åŠ�します。これまであまり詳しくお話したことがなかったã�ですが、コンピュータ自身もルーãƒ�‚£ãƒ³ã‚°ãƒ��ブルを持ってã�‚‹ã‚“ですã�。で、次からは30.0.0.1に対してはより効çŽ��ã�„、ルータBへ送ってã�ã“とになりますã€�

ICMPリダイレクトã�メãƒ�‚»ãƒ¼ã‚¸ã®å†�®¹ãŒã€�30.0.0.1」とã�†ã‚¢ãƒ‰ãƒ¬ã‚¹ãªã®ã‹ã€ãã‚Œã¨ã‚‚ã€�30.0.0.0/8」とã�†ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãªã®ã‹ã¨ã�†ã“とは、おそらくルータのICMPの実è£�«ã‚ˆã£ã¦å¤‰ã‚ã£ã¦ãã¦ã�‚‹ã‚ˆã†ã§ã™ã€‚シスコのルータで、実際にこã�例ã�ネットワークを構築するとã€�30.0.0.1」とã�†ã‚¢ãƒ‰ãƒ¬ã‚¹ã§è¿”ってきてã�¾ã™ã€�
もしもã€�•ã�ƒ¡ãƒ�‚»ãƒ¼ã‚¸ã®ä¾‹ãŒã‚るのを見たことがあるとã�†æ–¹ãŒã„らっしゃれã�ぜã�教えてくださいねã€�



セキュリãƒ�‚£ä¸Šã�観点から

こã�ようにICMPリダイレクトã�より適åˆ�ªçµŒè·¯ã‚’通知するために使われるã�ですがã€�
セキュリãƒ�‚£ä¸Šã�観点から無効にされã‚�こともよくありますã€�
セキュリãƒ�‚£ã‚’è€�ˆã‚‹ã¨ã€ãªã‚‹ã¹ããƒãƒ�ƒˆãƒ¯ãƒ¼ã‚¯ã®æ§‹æ�を知られたくなã�‚‚のです。でも、ICMPリダイレクトではルータの存在、ネãƒ�ƒˆãƒ¯ãƒ¼ã‚¯ã®å­˜åœ¨ãŒã‚ã‹ã£ã¦ã—まã�¾ã™ã€‚このようなネットワークの存在、ルータã‚�‚µãƒ¼ãƒã�IPアドレスなどのæƒ��±ã¯ã‚¯ãƒ©ãƒ�‚«ãƒ¼ã«ã¨ã£ã¦ä¸æ­£ä¾µå…¥ã™ã‚‹ãŸã‚ã®æƒ��±ã«ã‚‚なりかねません・・・








(C) Copyright 2000-2002 Gene All Right Reserved