SCE(Service Control Engine) が Protocol を検知して各種 Service に分類されるまでの流れを
説明していきます。
“First payload packet”を受信すると、SCE は Protocol の検知を行い、その次に Service への分類を行います。
“First payload packet”は必ずしも flow の最初のパケットである必要はありませんが、その場合正確に
検知できない可能性もあります。
下図のように、緑色の①~④の工程で、Protocol の分類を行い、黄色の⑤~⑧にて Service への分類を行います。
(Protocol の検知の各工程に関してはコチラ、Service の分類に関してはコチラをご参照ください。)
上図⑥の"Protocol detection" は、緑色の①~④の工程で検知した Protocol の情報になり、⑤~⑧の
情報を基にどの Service に分類されるかが決まります。
・Protocol 検知が開始される条件
TCP flow の場合、以下のいずれかの条件を満たすとプロトコル検知が開始されます。
- Three way handshake を確認できた場合
- TCP flow のパケットを 2 パケット以上受信した場合 (1 パケット目は、payload/FIN/RST パケット等)
UDP flow の場合
- その flow のパケットを 5 パケット以上受信した場合
(3.1.7/3.1.6S より前のバージョンでは 2 パケット以上受信した場合)
* DNS など、パケット数が非常に少ない UDP flow の場合は 5 パケット以上流れない場合もあるので、
このような flow に関する TUR を作成したいといった要望がある場合は、 SCABB console 上で
service > Configuration Editor の、Configuration -> Policies -> System Settings >
にある "Advance Service Configuration Options" まで進んでいただき、
"UDP ports for which flow should be opened on first packet" の部分に、
DNS の port である 53 を追加することで可能になります。