UDPの戻り通信

UDPの戻り通信

TCPは「3Wayハンドシェイクによるコネクションの確立」と「ACKによる応答確認」の機能を備えていますが、UDP自体にはその機能は備えていないため、『UDPの戻り通信とは?』という疑問を抱くことがあると思います。
今回は、NTPとTFTPを例に説明します。

目次

ネットワーク環境

CMLで下記の環境を構築します。ExternalConnectorはBRIDGEモードで外部接続しています。

ネットワーク環境

CMLでの外部接続の詳細は下記を参照してください。
CMLを始めよう!(11.外部ネットワーク接続)

NTP通信

NTP設定

ルーターにNTPサーバーを設定し、NTP通信を発生させます。

Router
ntp server 61.205.120.130

パケットキャプチャの確認

ルーターからNTPサーバーへの通信に関しては、UDPを利用し送信元/送信先ポート番号ともに「123」を利用していることがわかります。

NTP通信のパケットキャプチャ(ルーターからNTPサーバー)

この通信に対して、時刻情報を含むパケットが、NTPサーバーから返答されます。UDPを利用し送信元/送信先ポート番号ともに「123」を利用していることがわかります。

NTP通信のパケットキャプチャ(NTPサーバーからルーター)

TFTP通信

簡易的なTFTPサーバーの起動方法は下記を参照してください。
TFTPサーバーの起動方法(Windows編 – TFTPD64)
TFTPサーバーの起動方法(Mac編)

TFTPによるファイル転送

ルーターからTFTPサーバーにコンフィグ情報を転送します。

Router
copy running-config tftp:
Router#copy running-config tftp:
Address or name of remote host []? 192.168.1.2
Destination filename [router-confg]? Router_config
!!
3222 bytes copied in 1.546 secs (2084 bytes/sec)

パケットキャプチャの確認

ルーターからTFTPサーバーへの初回通信に関しては、UDPを利用し送信元ポート番号は「56470(ランダム)」、送信先ポート番号は「69(規定)」を利用していることがわかります。

TFTP通信のパケットキャプチャ(ルーターからTFTPサーバへの初回通信)

TFTPサーバからの応答については、送信元ポート番号は「51531(ランダム)」、送信先ポート番号は「56470(初回通信のルーターの送信元)」を利用していることがわかります。

TFTP通信のパケットキャプチャ(TFTPサーバからルーターへの初回通信)

以降の通信は、「56470」と「51531」を利用しファイル転送が行われます。

TFTP通信のパケットキャプチャ(2回目以降)
TFTP通信のパケットキャプチャ(2回目以降)

UDPの戻り通信とアクセス制御の注意点

UDPを利用するアプリケーションレベルでの戻り通信

上述の通り、UDPというプロトコル自体にTCPのような戻り通信はありませんが、NTPやTFTPというアプリケーションレベルでは戻り通信が発生します。

アクセス制御の注意点

通信経路のルーターのアクセスリスト等で通信制御をしている場合は、注意が必要です。(ステートフルインスペクション機能のあるFirewall等であれば問題ありません。)

例えばTFTPの場合、以下のようなアクセスリストでは、最初の通信は許可されますが、ランダムなポート番号を利用した2回目以降の通信は拒否されてしまいます。

access-list 100 permit udp host 192.168.1.100 host 192.168.1.2 eq tftp
access-list 100 deny   ip any any

interface GigabitEthernet0/0
 ip access-group 100 out

以上で、UDPの戻り通信の説明は完了です!

  • URLをコピーしました!
  • URLをコピーしました!
目次