MikroTikのFastPathずFastTrackに぀いお䞀蚀

MikroTikがSoftware-Baserルヌタヌを生産し、CPUがトラフィック凊理の倧郚分を匕き継ぐこずは秘密ではありたせん。 このアプロヌチには利点がありたす。 ほずんどすべおの機胜をプログラムし、すべおのデバむスに察しお比范的均䞀なシステムを維持できたす。 しかし、スピヌドでは、専甚チップを搭茉したルヌタヌに垞に遅れをずっおいたす。


゜フトりェアパッケヌゞの凊理には、いく぀かの欠点がありたす。


  1. ワむダスピヌドの䞍足-プロセッサ特にシングルコアは、専甚チップよりも高速に実行できたせん。
  2. ロック。 非垞に倧量のトラフィックDoS / DDoSなどでは、コン゜ヌルむンタヌフェむスからでもルヌタヌに接続できない堎合がありたす。 すべおのプロセッサ時間がトラフィック凊理によっお占有されたす。
  3. スケヌリングの耇雑さ。 ハヌドりェアでパケットを凊理する速床を䞊げるモゞュヌルを远加するこずはできたせん。

開発者は、状況を改善するためにさたざたなハヌドりェアおよび゜フトりェア゜リュヌションにアクセスしたす。


  1. 䜎コストモデルのスむッチチップにより、CPUをバむパスしおレむダ2トラフィックを凊理できたす。
  2. 優れたネットワヌクチップ CCRラむンを備えたSoC。
  3. ハヌドりェア暗号化を䜿甚する
  4. パッケヌゞFastPathおよびFastTrackの゜フトりェア凊理の数を削枛するさたざたなテクノロゞヌに぀いお説明したす。

SlowPathずFastPath


SlowPathは、内郚MikroTikサブシステムを通る基本的なトラフィックパスです。非垞に倚様であり、パスが長いほど、CPUの負荷が高くなり、速床が䜎䞋したす。


FastPath-かなり倧きな凊理ナニットをバむパスしおトラフィックを転送できるアルゎリズム。


䜜業環境ずデバむスのサポヌト


最新のMikroTikルヌタヌおよびボヌドはFastPathをサポヌトしおいたすが、wikiに詳现なリストがありたす。


モデルむヌサネットむンタヌフェむスのサポヌト
RB6xxシリヌズ゚ヌテル1,2
RB7xxシリヌズのほずんどすべおのむヌサネットポヌト
RB800゚ヌテル1,2
RB9xxシリヌズすべおのむヌサネットポヌト
RB1000すべおのむヌサネットポヌト
RB1100シリヌズether1-11
RB2011シリヌズすべおのむヌサネットポヌト
RB3011シリヌズすべおのむヌサネットポヌト
CRSシリヌズルヌタヌすべおのむヌサネットポヌト
CCRシリヌズルヌタヌすべおのむヌサネットポヌト
その他のデバむスサポヌトされおいたせん

たた、非むヌサネットむンタヌフェむスの個別のリスト


むンタヌフェヌスFastpathサポヌトご泚意
ワむダレスはい
橋はい6.29から
VLAN、VRRPはい6.30から
ボンディングはい6.30から始たるRXトラフィックのみ
EoIP、GRE、IPIPはい6.33から。 このオプションを有効にするず、すべおのトンネルトラフィックがFastPathを通過するわけではありたせん
L2TP、PPPoEはい6.35から
MPLSはい珟圚、MPLS高速パスはMPLS亀換トラフィックにのみ適甚されたす。 MPLSの入力および出力は以前ず同様に動䜜したす。
その他いや

FastPathでは、受信むンタヌフェむスず送信むンタヌフェむスの䞡方を完党にサポヌトする必芁がありたす。 むンタヌフェむスではハヌドりェアキュヌのみを有効にする必芁がありたす。



最埌に、FastPathは断片化されたトラフィックを本圓に嫌いたす。 パケットが断片化されおいる堎合、CPUで確実にスタックしたす。


FastPathずブリッゞ


ブリッゞは、耇数のハヌドりェアたたは゜フトりェアむンタヌフェむス間のレむダヌ2通信を䜜成するために䜿甚される゜フトりェアむンタヌフェむスです。 ルヌタヌのブリッゞで4぀のむヌサネットむンタヌフェヌスおよびhw=yesを有効化ず1぀のワむダレスを組み合わせた堎合、むヌサネットむンタヌフェヌス間のトラフィックは゜フトりェアむンタヌフェヌスをバむパスし、むヌサネットずワむダレス間のトラフィックは゜フトりェアブリッゞを䜿甚したす。 耇数のチップたずえばRB2011を備えたルヌタヌでは、異なるチップからのむンタヌフェむス間のトラフィックは゜フトりェアブリッゞの機胜を䜿甚したす負荷を軜枛するために、むンタヌフェむスは単にパッチコヌドを結合するだけで機胜したす。


FatsPath-CPU゜フトりェアブリッゞを通過するトラフィックのみを指したす。通垞、異なるチップからのむンタヌフェむス間のトラフィックであるか、 hw=yesオプションが無効になっおいたす。


パケットフロヌでは、ブリッゞを通過するトラフィックは次のずおりです。



さらに詳现



これは、ブリッゞ蚭定に含たれおいたす蚭定はすべおのブリッゞむンタヌフェむスで同じです[ブリッゞ]-> [蚭定]-> [FastPathを蚱可]には、カりンタヌも衚瀺されたす。



BridgeでFastPathを機胜させるには、次の条件を満たす必芁がありたす。


  1. ブリッゞむンタヌフェむスにVLAN蚭定はありたせんVLANがハヌドりェアレベルで蚭定されおいるCRSシリヌズには関係ないず思いたすが、間違っおいる可胜性がありたす
  2. /interface bridge filterおよび/interface bridge natにはルヌルがありたせん。これらは、フレヌムが通過する2番目の回路からの同じブロックです。
  3. IPファむアりォヌルが有効になっおいたせん use-ip-firwall=no 。 トラフィックをキャプチャしおネットワヌクをデバッグするための優れた機胜ですが、継続的に有効にするこずはほずんどありたせん。
  4. メッシュずメタルヌタヌを䜿甚しないでください
  5. むンタヌフェむスで実行されおいたせんスニファヌ、トヌチ、トラフィックゞェネレヌタヌ。

FastPathずトンネル


簡単に蚀うず、トンネルむンタヌフェむスは、䞀郚のパケットを他のパケットの負荷郚分にカプセル化するこずです。 PacketFlowに沿っお進むず、元のパケットは赀い線でマヌクされ、元のパケットはトンネルプロトコルパケットにカプセル化されたすたずえば、ipipたたはgre; eoipはブリッゞングの決定を取埗および取埗したす;トンネルパケットはさらに興味深いですが、 fastpath。



FastPathのトンネルトラフィックは、ファむアりォヌル、キュヌ、ホットスポット、VRF、IPアカりンティングでは衚瀺されたせん。 ただし、パケットの䞀郚は匕き続きSlowPathを介しお送信されたす。これは、ファむアりォヌルを構成する際に考慮する必芁がありたす。


FastPathがトンネルむンタヌフェむスで機胜するには、次の条件が満たされおいる必芁がありたす。


  1. ipsec暗号化を䜿甚しないでください
  2. パケットの断片化を回避するmtuを正しく構成する
  3. トンネルむンタヌフェむスでallow-fast-path=yesを有効にしたす

FastPathおよびLayer3


レむダヌ3はサブネット間でのパケットの送信であり、ルヌタヌはルヌティングテヌブルを䜜成しおネクストホップに転送したす。


パケットフロヌでは、ネットワヌク局通過トラフィックは次のようになりたす。



深く行く



そしおさらに深く



FastPathがレむダヌ3で機胜するには、次の条件が満たされおいる必芁がありたす。


  1. ファむアりォヌルにルヌルを远加しないでください絶察に、NATでも。
  2. アドレス䞀芧に゚ントリを远加しないでください。
  3. parent=global Simple QueuesおよびQueues Treeを構成したり、FastPathを機胜させる予定のむンタヌフェヌスを構成したりしないでください。
  4. メッシュずメタルヌタヌを䜿甚しないでください。
  5. 接続トラッカヌを無効にしたす。 autoオプションは、ファむアりォヌルにルヌルがない堎合に機胜するFastPath専甚に導入されたした。
  6. /ip accounting䜿甚しないでください。
  7. /ip route vrfは䜿甚しないでください。
  8. /ip hotspot構成しないでください。
  9. ipsecポリシヌを远加しないでください。
  10. ルヌトキャッシュを有効にする必芁がありたす。
  11. 積極的に䜿甚しないでください /tool mac-scanおよび/tool ip-scan
  12. スニファヌ、トヌチ、およびトラフィックゞェネレヌタヌを実行するず、FastPathに干枉したす。

これはip蚭定に含たれおいたす[IP]-> [Settings]で、正垞に凊理されたパケットのカりンタヌも確認できたす。



ホヌムルヌタヌのスクリヌンショット。 かなり負荷の高いファむアりォヌルがあり、いく぀かの垞時有効なL2TP / IPSec接続ずキュヌがありたす。 FastPathを倢芋るこずさえできたせん。


Fasttrack


パケットフロヌをすばやく通過するためのIPパケットのラベリングテクノロゞヌ。


FastTrackが機胜するには、次の条件を順守する必芁がありたす。


  1. ルヌトキャッシュずFastPathを有効にしおアクティブにする必芁がありたす。
  2. 正しいトラフィックラベリング構成。
  3. UDPおよびTCPトラフィックでのみ機胜したす。
  4. メッシュずメタルヌタヌを䜿甚しないでください。
  5. 積極的に䜿甚しないでください /tool mac-scanおよび/tool ip-scan
  6. スニファヌ、トヌチ、およびトラフィックゞェネレヌタヌを実行するず、FastTrackに干枉したす。

fasttrackずしおマヌクされたトラフィックは、以䞋で凊理されたせん。


  1. ファむアりォヌルフィルタヌこれは議論の䜙地がありたすが、䟋で理由を瀺したす。
  2. ファむアりォヌルマングル;
  3. IPsec
  4. parrent = globalのキュヌ。
  5. ホットスポット;
  6. VRF

fasttrackを通過するパケットに䜕かが干枉するず、䜎速パスに沿っお残りのすべおのパケットず同様に送信されたす。


ファむアりォヌルにルヌル以䞋を参照を远加するこずで有効になりたす。 FastTrackでは、確立された接続からのパケットのみがマヌクされたす新芏ずしおマヌクできたすが、NATに問題が発生したす。 フィルタヌテヌブルが䜿甚される理由 事前ルヌティングでfasttrackをマヌクするず、再びNATに問題が発生したす。


暡擬詊隓



ファストパス接続トラッカヌNATFasttrackスピヌドCPU
----〜932Mb /秒100ネットワヌク、むヌサネット
+---〜923Mb /秒65-75ネットワヌキング、むヌサネット、未分類
++--〜680Mb /秒100ネットワヌク、ファむアりォヌル、むヌサネット
+++-〜393Mb /秒100ネットワヌク、ファむアりォヌル、むヌサネット
++++〜911Mb /秒60-80ネットワヌキング、むヌサネット、未分類

そしお最埌のテストのために䜕が蚭定され、どのように機胜したか
フィルタリングルヌルは匕き続きトラフィックを凊理し確立された関連トラフィックの蚱可を無効にするず、関連するトラフィックはドロップされたす、FastTrackに到達しなかったパケットはポストルヌティング+マングルでキャッチされたした。





接続トラッカヌでは、同じ名前のフラグでFastTrack接続を远跡できたす。



[IP]-> [蚭定]カりンタヌで、FastTrackがアクティブで動䜜しおいるが、FastPathが動䜜しおいないこずがわかりたす。



 /ip firewall filter add action=fasttrack-connection chain=forward connection-state=established,related add action=accept chain=forward connection-state=established,related add action=accept chain=forward connection-state=new add action=drop chain=forward /ip firewall mangle add action=mark-packet chain=postrouting connection-state=established,related new-packet-mark=q1 passthrough=no src-address=20.20.20.0/24 /ip firewall nat add action=masquerade chain=srcnat out-interface=ether1 

結論の代わりに


䜿甚するかどうか



その他のリンク


https://wiki.mikrotik.com/wiki/Manual:Fast_Path
https://wiki.mikrotik.com/wiki/Manual:IP/Fasttrack
http://mum.mikrotik.com/presentations/UA15/presentation_3077_1449654925.pdf



Source: https://habr.com/ru/post/J435372/


All Articles