分散システムたたはスマヌトシェヌパヌでのMikrotik QOS

そしお、あなたは䜕を提䟛できたすか

-はい、私は䜕を提䟛するこずができたす...そしお圌らは曞いおいたす、圌らは曞いおいたす...議䌚、いく぀かのドむツ人...私の頭が腫れおいたす。 すべおを取り、分割したす。

「それは私が考えおいたものです」ずフィリップ・フィリッポビッチは、テヌブルクロスの䞊で手のひらをたたいお蚀った。

M.ブルガコフ、「犬の心」



画像 速床の共有、優先順䜍付け、シェヌパヌの䜜業、その他すべおに぀いお、すでに倚くのこずが曞かれお描かれおいたす。 私が曞いた資料を含む倚くの蚘事、マニュアル、図衚、その他のものがありたす。 しかし、手玙やメッセヌゞの流れの増加、以前の資料のレビュヌから刀断するず、情報の䞀郚は必芁に応じお詳现に衚瀺されおおらず、別の郚分は単に叀く、新参者を混乱させるだけであるこずがわかりたした。 実際、MikrotikのQOSは芋た目ほど耇雑ではありたせんが、盞互接続された倚数のニュアンスのために耇雑に芋えたす。 さらに、理論のみ、実践のみ、および理論ず䟋を読むこずだけによっお導かれるこのトピックを習埗するこずは非垞に難しいこずを匷調するこずができたす。 この問題の䞻な束葉杖は、PCQキュヌ内で䜕が起こっおいるかを芖芚的に衚珟しおいないこずをMikrotikに知らないこずです。 しかし、すべおの想像力はある皋床個別に開発されたす。



そのため、理論ず実践、芖芚的な䟋を組み合わせお、この資料を単玔なものから耇雑なものに分解する別の資料を䜜成するこずにしたした。 新しい䟋ごずに、必芁な情報を远加したす。最埌に、すべおがどのように機胜するかを完党に把握したす。 ミクロティクス䞊にシェヌパヌを䜜成する基本原則を理解するこずは、はるかに簡単になるず思いたす。



この蚘事では、PCQを䜿甚したキュヌツリヌキュヌのみを怜蚎したす。 申し蚳ありたせんが、Simple Queuesは少し異なるレベルの機胜です。 たた、ROSの5番目のバヌゞョンにのみ適甚される叀い資料に぀いおは説明したせんが、いく぀かの点で比范のために参照したす。



簡単な䟋から始めたしょう。



Mikrotikがありたす

ホワむトアドレス1.1.1.1ず着信速床32メガビット/秒のWANむンタヌフェむス

LAN-サブネット192.168.0.0/24を䜿甚



タスクは、サブネット192.168.0.0/24のさたざたな組み合わせダりンロヌドで着信速床を削枛するこずです。 発信速床アップロヌドには觊れたせんが、その実装は着信速床の実装ずほずんど倉わらないこずに泚意しおください。



Mikrotikで䜕かをカットするには、必芁なトラフィックを遞択するための基準を決定し、遞択する必芁がありたす。 このために、/ ip firewall mangleが必芁です。



Mangleは、特定の基準に埓っお共通ストリヌムからパケットず接続を遞択し、それらで特定のアクションを実行できる䞀皮のフィルタヌずしお衚すこずができたす。



唯䞀の基準は既知です。192.168.0.0/ 24サブネットに向かう䞀般的なフロヌからのパケットのみが必芁です。 これらのパッケヌゞのアクションずしお、マヌキングのパッケヌゞぞの割り圓おを遞択したす。このマヌキングに基づいお、埌でパッケヌゞをキュヌツリヌで凊理できたす。



パッケヌゞを正しくマヌクするには、Mangleのどのチェヌンを通過するかを知る必芁がありたす。 これを行うには、パケットフロヌ図パケットフロヌを知っおいる必芁がありたす。 ROSの6番目のバヌゞョンでは、回路が少し倉曎されおいたす。 そしお圓然、これらの図を初めお芋るず、唇に蚀葉を誓うしかありたせん。



画像








繰り返したすが、すべおが芋た目ほど耇雑なわけではありたせんが、これらの図はすべおの堎合でトラフィックがどのように進むかを瀺しおいたすが、シェヌパヌで䜜業するために必芁なのはほんの䞀郚です。



この図に基づいお、関心のあるトラフィックがパスを通過するこずを理解できたす。



入力むンタヌフェヌス> PREROUTING-> FORWARD-> POSTROUTING-> Output Interface



NATを有効にしたスキヌムは少し倪りたす。



入力むンタヌフェヌス> PREROUTING> DST-NAT> FORWARD> POSTROUTING> SRC-NAT>出力むンタヌフェヌス



どのチェヌンを遞択したすか



ROSの5番目のバヌゞョンでは、NATの堎所の他に、グロヌバルむン、グロヌバルアりト、およびグロヌバルトヌタルキュヌの凊理がどこにあるかを知る必芁もありたした。

6番目のバヌゞョンでは、すべおがより簡単になりたした。 䞊蚘の凊理は廃止され、1぀のグロヌバルに眮き換えられたした。 そしお、このグロヌバルは、SimleQueueキュヌが凊理され、パッケヌゞがリリヌスされた埌、POSTROUTINGの最埌にありたす。 これに基づいお、圌が今どこにいるかは気にしたせん。 すべおのマヌキング操䜜はその前に実行されたす。



その堎合、NATのみが私たちにずっお唯䞀の制限を䜜成し、遞択はマヌキングするトラフィックの方向に䟝存したす。 この機䌚に、図を描きたした。



画像








図からわかるように、受信パケットをマヌクするには、グレヌのサブネットアドレス192.168.0.0/24dst-addressが利甚可胜なチェヌンが必芁です。

そしお、あなたはそれらをフォワヌドずポストルヌティングでのみ芋るこずができたす。



アップロヌドパケットをマヌクするには、図の埌半のチェヌンが必芁です。このチェヌンでは、灰色のサブネットアドレス192.168.0.0/24src-addressが利甚可胜です。

そしお、それらはPREROUTING、FORWARD、POSTROUTINGの3぀のチェヌンすべおで利甚可胜です。



私はあたりにも怠け者ではなかったこずがうれしく、たくさんの䜙分なブカフを曞きたした。 そしお、マヌクする方向に関係なく、どちらの堎合でもFORWARDチェヌンを遞択できるずいう情報を䌝えたす。 ただし、ROSの5番目のバヌゞョンではこれを実行できたせん。



チェヌンを決定したした。次に、パッケヌゞをどのようにマヌクするかを決定する必芁がありたす。 最初に接続にマヌクを付けおから、必芁なパケットにのみマヌクを付けたすか たたは、単にパッケヌゞをマヌクしお、すべおが離陞したすか



むかしむかし、6行目の最初のバヌゞョンで、1人の善良な人が私に手玙を曞いおくれたした圌に感謝したすそしお、圌はシステムに興味深い䞍具合があるず蚀いたした。 圌はTeamViewerで接続を提䟛し、パケットの埓来のラベル付けが、同じパラメヌタヌで接続内のラベル付けよりも3分の13぀目カヌルパケットをマヌクする方法を瀺したした。 したがっお、ツリヌ内の速床は正垞でしたが、むンタヌフェヌス䞊では3番目に高速でした。 長い間探し回っお、䜕も芋぀かりたせんでした。 圌は、接続の倖偎で同じ基準に埓っお2番目のマヌキングを行いたした。以前に、より高いルヌルで既にマヌキングされたパケットのさらなる転送を無効にしたした。 これらはすべおロギング機胜付きです。 通垞の通垞のパッケヌゞ、なぜ接続に入らなかったのか理解できたせんでした。

私はテストベッドに同じバヌゞョン1぀のWAN、1぀のLAN、そしおすべおがダブルNATの䞋にありたすを配眮し、ルヌルを蚭定しお、同じ堎所で同じグリッチを芋぀けたした。 4぀たたは5぀のもう芚えおいないバヌゞョンでは、このグリッチをキャッチしたした。 それから圌は愚かな負荷テストを行い、ゞョむントにマヌキングを䜿甚するこずで、石の負荷がそれほど倧きく枛少しないこずに気付きたした。 それ以来、接続内のパケットのラベル付けで-私は埗点したした。 手がどのように届くかを確認したすが、今のずころ、このようにパッケヌゞにマヌクを付けたす。



さお、これは完了です。 スタゞオでのルヌル


このルヌルでは、dst-addressがLANシヌトのアドレスず等しいすべおのパケットをマヌクし、パケットマヌクもLANに割り圓おたす。



/ip firewall mangle add action=mark-packet chain=forward comment=LAN disabled=no dst-address-list=LAN new-packet-mark=LAN passthrough=yes;









たた、シヌト自䜓のアドレスを远加したす。

/ip firewall address-list add address=192.168.0.0/24 disabled=no list=LAN;









これにより、䞀方向のマヌキングが完了したす。発信トラフィックをマヌキングするには、dst-address-list = LANがsrc-address-list = LANに眮き換えられるルヌルのコピヌが必芁です。



しかし、すでに曞いたように、䟋ずしお、着信トラフィックのみを取りたす。



キュヌツリヌでトラフィックをキャッチする


この堎合にPCQキュヌを䜜成するには、1぀のルヌルずキュヌタむプのプロファむルが必芁です。 しかし、制限を蚭定するずきにキュヌが䜕らかの方法でどのように動䜜するかを1぀の䟋で瀺すために、2぀のルヌルを䜜成したす。



芪線

/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=30M name=DOWNLOAD parent=global priority=8









ここで、いく぀かのポむントを明確にする䟡倀がありたす。

parent = global-このパラメヌタヌでは、「global」たたはむンタヌフェヌスの名前を指定できたす。 ここでのむンタヌフェヌス名は、特定のトラフィック方向フィルタヌの圹割を果たし、指定されたむンタヌフェヌスを陀くすべおの方向を陀倖する耇雑な構成で䜿甚され、このキュヌずその子孫に察しおのみ有効です。 このパラメヌタヌに垞に「グロヌバル」に指定するず、効果は同じになりたすが、問題は少なくなりたす。

max-limit = 30M-タスクの状態では、チャネルが32メヌトルを提䟛しおいるこずが瀺されたすが、利甚可胜な速床より少し小さい速床で登録する必芁がありたす。 そうしないず、プロバむダヌのシェヌパヌにぶ぀かり、単に機胜したせん。



バヌスト制限= 0バヌストしきい倀= 0バヌスト時間= 0s-以来無効 それらの䜿甚はPCQではほずんどありたせんが、プロファむルでは䜿甚に十分な関連性がありたす。



優先床= 8-キュヌの優先床、1-最高の優先床、8-最䜎の優先床。 キュヌに子がある堎合は機胜したせん。



優先順䜍は子孫に察しおのみ機胜し、芪内だけでなく、他の芪の子孫ずも競合し、これらの寄生虫の速床を制限する䞀般的な祖父の堎合にのみ競合したす。 同じ優先順䜍で、圌らは祖父が利甚できるすべおの速床を圌ら自身の間で分配したす。 さたざたなものでは、最初に優先床の高いものが䞀般的な祖父のボりルから食べられ、次に優先床の䜎いものが食べられ、䜕かが残っおいるか、䞡芪がLimit-atで祖父ず離婚した堎合にのみ食べられたす。 芪は、子孫の間でタむタンの戊いを手配するこずができたすが、制限制限だけでなく最倧制限も蚭定されおいる堎合。 「すべおを食べないでください、祖父は最初の結婚から孫を持぀他の子䟛を持っおいたす」ずいうスタむルになりたす。

ええ、はい、停止しお停止しおください 制限ず優先順䜍に぀いおは、もう少し埌で詳しく説明したす。



䞀般に、芪を䜜成したしたが、今では子孫が必芁です。 ただし、子孫最終キュヌを远加するには、最初にプロファむルを远加する必芁がありたす。 远加したす。



/queue type add kind=pcq name= PCQ_DOWNLOAD_LAN pcq-burst-rate=0 pcq-burst-threshold=0 pcq-burst-time=10s pcq-classifier=dst-address pcq-dst-address-mask=32 pcq-dst-address6-mask=64 pcq-limit=50 pcq-rate=0 pcq-src-address-mask=32 pcq-src-address6-mask=64 pcq-total-limit=2000;









kind = pcq-このプロファむルを䜿甚するキュヌがPCQ サブキュヌのむニシ゚ヌタヌであるこずを瀺したす

pcq-burst-rate = 0 pcq-burst-threshold = 0 pcq-burst-time = 10s-バヌスト速床の蚭定、詳现は埌ほど。

pcq-classifier = dst-address-このパラメヌタヌは、PCQキュヌが䜜成される分類子を瀺したす。 この堎合、宛先アドレス着信トラフィック



pcq-dst-address-mask = 32およびpcq-src-address-mask = 32-1぀のキュヌのアドレス数を蚭定したす。 32 = IPアドレスごずに1぀のキュヌ



pcq-rate = 0-1぀のPCQキュヌこの堎合、1぀のIPアドレスの䞊限速床を蚭定したす。れロを指定するず、速床は無制限になり、キュヌIPアドレスに均等に分割されたす。 この䟋では、30メガビットがアクティブキュヌIPアドレスに均等に分割されたす。



pcq-limit = 50-1぀のキュヌのサむズの制限1぀のIPアドレスに察しお制限に達するず、このキュヌのすべおのデヌタが遅延し、それに収たらないものはすべお砎棄されたす。



pcq-total-limit = 2000-すべおのキュヌのサむズ制限。



芪キュヌず子のプロファむルができたので、子自䜓を远加したす。



/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=LAN packet-mark=LAN parent=DOWNLOAD priority=8 queue=PCQ_DOWNLOAD_LAN;









packet-mark = LAN-ここでは、マングルでマヌクされたパケットのストリヌムをキュヌに入れたす。

parent = DOWNLOAD-速床を制限した芪を瀺したす。

queue = PCQ_DOWNLOAD_LAN-キュヌタむプの蚭定でプロファむルを参照



さお、これでルヌルは完了です。 芖芚的なチャヌトを芋おください。



2階で発生するすべおのこずは、ご存知のずおり、混markedずした順序でマヌクされたパケットを混合し、ヒヌプ内の子孫によっおピックアップされたす。 そしお、ここから楜しみが始たりたす。



画像




サブネット䞊で動䜜する3぀のマシン、192.168.0.1、192.168.0.2、および192.168.0.3があるずしたす。



子孫は「PCQ_DOWNLOAD_LAN」ずいう名前のプロファむルに関連付けられおいるため、プロファむルは、マヌクされたストリヌムでマヌクされたdst-ipアドレスごずに個別のPCQキュヌを䜜成する必芁があるず蚀いたした。



キュヌツリヌキュヌでは、同じパラメヌタヌpcq-rate、pcq-limit、およびBurst speed蚭定で3぀のPCQキュヌフロヌが䜜成されたす。



この堎合、キュヌは䞀皮のパケット゜ヌタヌずしお機胜したした。 そしお、ナヌザヌごずに個別のキュヌを䜜成したした。



各キュヌはpcq-rateを通過し、この特定のこずは個々のキュヌのパケットを遅延させたす。



次に、パケットは混合され、「LAN」ずいう名前のキュヌツリヌキュヌの2番目の郚分に転送されたす。そこで、Max-Limitによっお合蚈速床がチェックされ、䜿い果たされるず、このMax-limitはPCQキュヌスレッドに均等に分割されたす。遅延はpcq-rateレベルであり、䞀郚のキュヌは加速され、䞀郚は枛速されたす。 pcq-limitに適合しないものはすべお砎棄されたす。



ただし、このパラメヌタヌは「LAN」キュヌに蚭定されおいないため、トラフィックは芪キュヌに到達したすDOWNLOAD。 そこですべおが類掚によっお起こり、Max-Limitがチェックされ、それに達するず、芪キュヌがpcq-rateをキックしおドロヌバヌを閉じたす。 流量が調敎され、すべおが正垞に戻りたす。

芪キュヌにMax-Limitを蚭定しなかったず想像しおください。 そのため、pcq-rate = 0でトラフィックパスに沿っおMax-Limit倀が芋぀からなかった堎合、キュヌ党䜓が機胜せず、すべおのトラフィックが遅延なくシェヌパヌを通過するため、 チャネルがゎムではないこずをpcq-rateに䌝える人はいたせん。



この堎合pcq-rate = 0、3人のナヌザヌ、2人のスリヌプ、1぀のダりンロヌドの堎合、倚くの人が質問に苊しみたす。 30メガビットすべおを生き残りたすか -はい



そしお、別のものが目を芚たし、ダりンロヌドを開始した堎合はどうなりたすか -速床の再構築ず調敎が行われたす。 30メガビットを均等に分割したす。 唯䞀の泚意点-それには時間がかかり、2番目のナヌザヌは通垞よりも少し遅い速床になりたす。



メカニズムの本質は、制限に収たらないパケットを遅延させお砎棄するこずです。 TCPプロトコルは、接続のフレヌムワヌク内で、クラむアントにデヌタを送信するサヌバヌがデヌタの到達方法を確認するように蚭蚈されおいたす。パケットの遅延が増加した堎合、たたはパケットが倱われた堎合順䞍同、サヌバヌは転送速床を䜎䞋させお安定性を高めたす。



pcq-limitおよびpcq-total-limitは実隓的に蚭定され、制限が倧きいほど、遅延が長くなり、ルヌタヌが䜿甚するRAMが倚くなりたす。 制限が䜎いほど、より倚くのパケットが砎棄されたす。



pcq-rate = 5Mに蚭定するずどうなりたすか

各ナヌザヌが受信するのは5メガビット以䞋です。 3人のアクティブナヌザヌ* 5メガビット= 15メガビット。



3人のアクティブナヌザヌ、党員が完党にダりンロヌド、pcq-rate = 11M

速床は芪キュヌの最倧制限30Mにずどたり、この速床はナヌザヌ間で10メガビットで均等に分割されたす。 そのうちの1぀がダりンロヌドを終了するか、少なくずも8メガビットに速床を萜ずすず、他の2぀は11メガビットに加速したす。



この䟋では、すべおが明確であるこずを本圓に願っおいたす。明確でない堎合は、䜕床も読んでください。さらに耇雑になるでしょう。



バヌスト



バヌストテクノロゞヌは、指定された制限で短時間で速床を䞊げるように蚭蚈されおいたす。 この機胜を䜎レヌトで䜿甚しお、Webサヌフィンを高速化するか、アプリケヌションにデヌタをすばやくロヌドするこずをお勧めしたす。 この関数は、pcq-rateがれロでない堎合にのみ機胜したす。

青に倉わるたでグラフず蚈算匏をロヌドしたせん。䟋を挙げたしょう。

Pcq-rate = 2M

pcq-burst-rate = 4M

pcq-burst-threshold = 1M

pcqバヌスト時間= 10秒



ナヌザヌの最倧速床は2メガバむトです。 珟時点での圌の䜜業の速床が1メガビットpcq-burst-threshold未満である堎合、圌は10秒間実際には、より少ない4メガビットpcq-burst-rateの速床にアクセスできたす。これはpcq-burst-timeです。 カりンタヌは、1メガビットpcq-burst-thresholdのしきい倀を超えた瞬間からカチカチず動き始め、しばらくするず速床がpcq-rateに䜎䞋し、バヌストが再び䜿甚可胜になりたす-ナヌザヌ速床は1メガバむトを䞋回り、少なくずも10秒pcq-バヌスト時間



これは非垞に倧雑把な説明であるこずは明らかです。実際、バヌスト利甚可胜時間は耇雑なアルゎリズムに埓っお蚈算されたす。時間は16セグメントに分割され、速床倉数ず制限倉数のほがすべおを考慮しお、アクション時間が蚈算されたす。

この関数は倧量のリ゜ヌスを消費するため、賢く䜿甚しおください。



参照甚倉曎を行う堎合、任意のキュヌおよびそのマニフェストツリヌたたはシンプルで-すべおのカりンタヌがれロにリセットされたす。 バヌストカりンタヌ。 スクリプトを䜿甚しおQOSEvxControllerのようなMax-Limit倀を自動的に修正する堎合は、バヌストを拒吊するか、QOSEvxControllerでキュヌチェックサむクルをあたり頻繁に䜿甚しないように準備しおください。



ボルト付きバケットバケット



たた、最近、キュヌのROSの6番目のバヌゞョンでは、新しいパラメヌタヌbucket-sizeバケットサむズが登堎したした。 このパラメヌタヌは0.1〜10の範囲で倉曎でき、トヌクンバケットの容量を蚭定するために䜿甚されたす。 バケットの容量はフォヌラムによっお蚈算されたす

メガバむト容量=バケットサむズ*最倧制限

同皮のトヌクンを持぀バケットは各キュヌにハングアップしたすが、このキュヌ内のトラフィックはこのバケットに蓄積される最倧制限トヌクンを超えたせん。 バケットがオヌバヌフロヌするず、バケット党䜓に萜ちたトヌクンは砎棄されたす。



トヌクンは䜕に費やされたしたか



/queue tree add name=download parent=global packet-mark=PC1-traffic max-limit=10M bucket-size=10;









この䟋では、バケット容量は次ず等しくなりたすmax-limit = 10M*bucket-size = 10= 100メガバむト

最近たで「PC1-traffic」ずラベル付けされたパケットストリヌムのナヌザヌがフルスピヌドで䜕もダりンロヌドしなかった堎合、このキュヌ内のトヌクンを持぀バケットはいっぱいになり、それは100メガバむトものトラフィックになりたす。 そしお、圌らは䞀緒に䜕かをダりンロヌドするこずに決めたので、最倧制限による速床制限なしでトラフィックの最初の100メガバむトを受信したす.100メガバむトのキュヌがダりンロヌドされるず、キュヌは指定された最倧制限= 10Mに埓っお速床を制限し始めたす。



さらに、キュヌに芪が最倧の倪字の制限がある堎合、子孫がバケットからすべおのトヌクンを消費した埌、芪のキュヌからトヌクンを取埗し始めたす。



これは䜕のためですか

バケットサむズはバヌストのようなものですが、速床ではなくトラフィックの点で異なりたす。 PCQキュヌず組み合わせお䜿甚​​するず、疑わしい利点しかありたせん。 pfifoのようなシングルシヌダヌでは、redずsfqが非垞に䟿利です。 PCQキュヌの堎合、頭に浮かぶのは、芪キュヌの速床を制限するこずだけです。これは、チャネルの実際の速床よりもわずかに遅くなりたす。 この関数を適切に䜿甚するず、利甚可胜なすべおのチャネル速床を短時間でより完党に掻甚し、ナヌザヌアクティビティのピヌクを滑らかにするこずができたす。



バケットのより詳现な図



画像








トラフィックラベリングの同等物



この䟋では、3人のナヌザヌ192.168.0.1、192.168.0.2、192.168.0.3を持぀1぀のサブネット192.168.0.0/24があるこずを瀺したした。 マングルの1぀のルヌルず1぀のアドレスリストを䜿甚しお、これらのアドレスぞのトラフィックをマヌクしたした。

念のために、マングルにマヌキング甚のアドレスをどのように䞎えるかに぀いおは違いはないず蚀いたす-それらは同じ方法で凊理されたす。



サブネット党䜓

/ip firewall address-list add address=192.168.0.0/24 disabled=no list=LAN;









アドレス範囲

/ip firewall address-list add address=192.168.0.1-192.168.0.3 disabled=no list=LAN;









別のアドレス

/ip firewall address-list add address=192.168.0.1 disabled=no list=LAN;



/ip firewall address-list add address=192.168.0.2 disabled=no list=LAN;



/ip firewall address-list add address=192.168.0.3 disabled=no list=LAN;









この状況は、PCQキュヌず同様です。 PCQキュヌは、異なるサブネットのアドレスで構成される1぀のルヌルでラベル付けされた単䞀のパケットストリヌムを問題なくサブキュヌに解析したす。



別のサブネット192.168.1.1、192.168.1.2、192.168.1.3からさらに3人のナヌザヌを混合したずしたす。 必芁な゚ントリをアドレスリストに远加するだけです。 次に、次の図を取埗したす。



画像




䞊蚘のすべおに基づいお、サブネットではなく、アドレスリストを䜿甚しお䜜成したIPアドレスのグルヌプで動䜜しおいるず結論付けるこずができたす。



この堎合、トラフィックを個別にマヌクし、2぀のプロファむルず2぀のキュヌを䜜成しおも意味がありたせん。

このアプロヌチは、次の堎合にのみ必芁です。



遞択したアドレスグルヌプに個別の最倧制限を蚭定する堎合。

アドレスグルヌプたたはトラフィックタむプに異なる優先床が必芁な堎合。

アドレスのグルヌプに異なる料金プランを実装する必芁がある堎合。 pcq-rate

そしお、䞊蚘のケヌスのすべおの可胜な組み合わせで。



そしお、これをしない方法の䟋を次に瀺したす。



画像




完党なサンプルリスト



/ip firewall mangle add action=mark-packet chain=forward comment=LAN disabled=no dst-address-list=LAN new-packet-mark=LAN passthrough=yes;



/ip firewall address-list add address=192.168.0.0/24 disabled=no list=LAN;



/queue type add kind=pcq name= PCQ_DOWNLOAD_LAN pcq-burst-rate=0 pcq-burst-threshold=0 pcq-burst-time=10s pcq-classifier=dst-address pcq-dst-address-mask=32 pcq-dst-address6-mask=64 pcq-limit=50 pcq-rate=0 pcq-src-address-mask=32 pcq-src-address6-mask=64 pcq-total-limit=2000;



/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=30M name=DOWNLOAD parent=global priority=8;



/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=LAN packet-mark=LAN parent=DOWNLOAD priority=8 queue=PCQ_DOWNLOAD_LAN;









2番目の䟋。 いく぀かの優先順䜍。



私たちが少数の埓業員を持぀組織管理者であるずしたす。



゜ヌスデヌタがありたす。



ホワむトアドレス1.1.1.1ず着信速床32メガビット/秒のWANむンタヌフェむス

LAN-サブネット192.168.0.0/24ディレクタヌのワヌクステヌション

LAN2-サブネット192.168.1.0/24マネヌゞャヌのワヌクステヌション



この䟋では、1぀のチャネルず、優先順䜍の異なる2぀のグルヌプのコンシュヌマヌのみがありたす。 取締圹がマネヌゞャヌよりも優先される堎合。 この堎合、このスキヌムの実装には、パケットの個別のラベル付けずナヌザヌグルヌプの個別のキュヌが必芁になりたす。



ラベル付けの芏則

/ip firewall mangle add action=mark-packet chain=forward comment=GROUP-A_DW disabled=no dst-address-list= GROUP-A new-packet-mark= GROUP-A_DW passthrough=yes;



/ip firewall mangle add action=mark-packet chain=forward comment=GROUP-B_DW disabled=no dst-address-list= GROUP-B new-packet-mark= GROUP-B_DW passthrough=yes;









異なるパケットマヌクでトラフィックをマヌクするための2぀のルヌルず、グルヌプにアドレスを割り圓おるための2぀のリスト。



/ip firewall address-list add address=192.168.0.0/24 disabled=no list=GROUP-A;

/ip firewall address-list add address=192.168.1.0/24 disabled=no list=GROUP-B;









キュヌのPCQプロファむルを䜜成したす。

いく぀のプロファむルが必芁ですか 理論的には、ダりンロヌドには1぀のプロファむルで十分ですが、私は垞に各グルヌプおよび各方向に個別のプロファむルを䜜成したす。 これにより、䜜成枈みのルヌルずキュヌに远加の介入を行うこずなく、将来の柔軟な蚭定が可胜になりたす。



/queue type add kind=pcq name= GROUP-A_DW pcq-burst-rate=0 pcq-burst-threshold=0 pcq-burst-time=10s pcq-classifier=dst-address pcq-dst-address-mask=32 pcq-dst-address6-mask=64 pcq-limit=50 pcq-rate=0 pcq-src-address-mask=32 pcq-src-address6-mask=64 pcq-total-limit=2000;



/queue type add kind=pcq name= GROUP-B_DW pcq-burst-rate=0 pcq-burst-threshold=0 pcq-burst-time=10s pcq-classifier=dst-address pcq-dst-address-mask=32 pcq-dst-address6-mask=64 pcq-limit=50 pcq-rate=0 pcq-src-address-mask=32 pcq-src-address6-mask=64 pcq-total-limit=2000;









キュヌツリヌを䜜成したす。



芪キュヌ

/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=30M name=DOWNLOAD parent=global priority=8;









子孫

/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name= GROUP-A_DW packet-mark= GROUP-A_DW parent=DOWNLOAD priority=7 queue= GROUP-A_DW;



/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name= GROUP-B_DW packet-mark= GROUP-B_DW parent=DOWNLOAD priority=8 queue= GROUP-B_DW;









この䟋では、耇雑なこずは䜕もありたせん。キュヌの違いは、異なるパケットマヌキングず異なる優先順䜍のみです。



䜎速では、このスキヌムはトラフィックを透過的に通過させ、どのコンシュヌマも芪キュヌに瀺されおいる30Mをすべお受信できたす。



芪キュヌの速床が䞍足しおいる堎合、次のスキヌムに埓っお速床が消費者に再分配され始めたす。



GROUP-A_DWアドレスを持぀グルヌプは、より高い優先床priority = 7を持ち、芪キュヌの党䜓速床30Mが䞎えられ、このキュヌ内のアクティブなコンシュヌマヌ間で均等に分割されたす。



このグルヌプが䜿甚可胜な速床制限党䜓30Mを利甚しない堎合、この制限の残りは優先床の䜎いGROUP-B_DW優先床= 8のキュヌに転送され、これらのバランスはこのキュヌ内のアクティブなコンシュヌマヌ間で均等に分割されたす。



GROUP-A_DWグルヌプが30メガビットの䜿甚可胜な制限党䜓を䜿甚した堎合、GROUP-B_DWグルヌプは速床をたったく受信せず、ネットワヌクずパケットを送受信する機䌚がありたせん。



優先床の䜎いグルヌプに少なくずも䞀定の速床を持たせるために、limit-at = 5Mパラメヌタヌをキュヌに蚭定できたす。 ただし、このパラメヌタヌはMax-Limitパラメヌタヌず䞀緒にしか蚭定できたせん。グルヌプの最倧速床を制限する必芁はありたせん。芪キュヌからコピヌするだけです。



そしお、線集埌の2番目の段階は次のようになりたす。

/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=5M max-limit=30M name=GROUP-B_DW packet-mark=GROUP-B_DW parent=DOWNLOAD priority=8 queue=GROUP-B_DW;









この堎合、芪キュヌの速床が䜎䞋するず、優先床の䜎いキュヌは垞に少なくずも5メガバむトを受信し、このキュヌ内のアクティブなコンシュヌマヌ間で均等に分割できたす。



3番目の䟋。 優先床の異なるグルヌプに分割した関皎蚈画の実斜



この䟋では、最初の2぀の䟋の実装を含む、独特なハむブリッドが考慮されたす。



私たちが、財政的および技術的胜力が限られおいるサブプロバむダヌであるず仮定したす。 むンタヌネットには狭いチャネルがあり、いく぀かの料金プランず2぀のカテゎリの加入者個人ず法人がありたす。 倚くの堎合、法人にサヌビスを提䟛する堎合、同じ速床指暙を持぀個人よりも法人からより倚くの利益を埗たす。 これに加えお、私たちは法人に速床保蚌ず運甚䞊の技術サポヌトの圢でいく぀かの远加保蚌を提䟛したす。



よくありたすが、ほずんどの堎合、私たちのチャンネルがむンタヌネットに接続できる数よりも少し気分が悪くなり、接続しおいる加入者が少し増えたした。 適切な方法で、チャネルを拡匵するか、远加のチャネルを埌続の負荷分散に接続する必芁がありたす。 しかし、すでに述べたように、これにはただ機䌚がありたせん。



しかし、プラむムタむムには十分な速床がありたせん。法人が電話をかけ、速床、パケットの遅延、電話のst音などに぀いお䞍平を蚀い始めたす。



2番目の䟋のような優先順䜍を持぀シェヌパヌは、この状況を郚分的に緩和するのに圹立ちたす。唯䞀の違いは、この䟋では1人の加入者の速床が厳密に制限され、いく぀かの料金プランがあるこずです。



前の䟋ず同様に、着信速床のみを考慮したす。 ただし、混乱を避けるため、コメント、ラベル名、およびキュヌ名にはアップロヌド速床が含たれたす。



略語

FIZは個人です。

URは法人です。

1024K-1024K-料金の速床ダりンロヌド-アップロヌド

DW-ダりンロヌド

UL-アップロヌド



パッケヌゞのラベル付け



/ip firewall mangle add action=mark-packet chain=forward comment=FIZ_1024K-1024K_DW disabled=no dst-address-list= FIZ_1024K-1024K new-packet-mark= FIZ_1024K-1024K_DW passthrough=yes;



/ip firewall mangle add action=mark-packet chain=forward comment=FIZ_3072K-3072K_DW disabled=no dst-address-list= FIZ_3072K-3072K new-packet-mark= FIZ_3072K-3072K_DW passthrough=yes;



/ip firewall mangle add action=mark-packet chain=forward comment=UR_1024K-1024K_DW disabled=no dst-address-list= UR_1024K-1024K new-packet-mark= UR_1024K-1024K_DW passthrough=yes;



/ip firewall mangle add action=mark-packet chain=forward comment=UR_3072K-3072K_DW disabled=no dst-address-list= UR_3072K-3072K new-packet-mark= UR_3072K-3072K_DW passthrough=yes;









4぀の関皎蚈画によっお分類されたラベル付きパッケヌゞの4぀のストリヌムを提䟛する4぀のラベル付けルヌル個人甚に2぀、法人甚に2぀



加入者を特定の料金プランにバむンドするには、垌望するアドレスリストにIPアドレスを入れる必芁がありたす。



/ip firewall address-list add address=192.168.0.1 disabled=no list= FIZ_1024K-1024K;

/ip firewall address-list add address=192.168.0.2 disabled=no list= FIZ_3072K-3072K;

/ip firewall address-list add address=192.168.0.3 disabled=no list= FIZ_3072K-3072K;

/ip firewall address-list add address=192.168.0.4 disabled=no list= UR_3072K-3072K;

/ip firewall address-list add address=192.168.0.5 disabled=no list= UR_3072K-3072K;







等



次に、キュヌに必芁なプロファむルを远加する必芁がありたす。



/queue type add kind=pcq name= FIZ_1024K-1024K_DW pcq-burst-rate=0 pcq-burst-threshold=0 pcq-burst-time=10s pcq-classifier=dst-address pcq-dst-address-mask=32 pcq-dst-address6-mask=64 pcq-limit=50 pcq-rate=1M pcq-src-address-mask=32 pcq-src-address6-mask=64 pcq-total-limit=2000;



/queue type add kind=pcq name= FIZ_3072K-3072K_DW pcq-burst-rate=0 pcq-burst-threshold=0 pcq-burst-time=10s pcq-classifier=dst-address pcq-dst-address-mask=32 pcq-dst-address6-mask=64 pcq-limit=50 pcq-rate=3M pcq-src-address-mask=32 pcq-src-address6-mask=64 pcq-total-limit=2000;



/queue type add kind=pcq name= UR_1024K-1024K_DW pcq-burst-rate=0 pcq-burst-threshold=0 pcq-burst-time=10s pcq-classifier=dst-address pcq-dst-address-mask=32 pcq-dst-address6-mask=64 pcq-limit=50 pcq-rate=1M pcq-src-address-mask=32 pcq-src-address6-mask=64 pcq-total-limit=2000;



/queue type add kind=pcq name= UR_3072K-3072K_DW pcq-burst-rate=0 pcq-burst-threshold=0 pcq-burst-time=10s pcq-classifier=dst-address pcq-dst-address-mask=32 pcq-dst-address6-mask=64 pcq-limit=50 pcq-rate=3M pcq-src-address-mask=32 pcq-src-address6-mask=64 pcq-total-limit=2000;









繰り返したすが、将来の蚭定の柔軟性を維持するために、2぀ではなく4぀のプロファむルを䜜成したした。



次に、キュヌツリヌを構築したす。



芪キュヌ

/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=30M name=DOWNLOAD parent=global priority=8









子孫

/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=FIZ_1024K-1024K_DW packet-mark=FIZ_1024K-1024K_DW parent=DOWNLOAD priority=8 queue= FIZ_1024K-1024K_DW;



/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=FIZ_3072K-3072K_DW packet-mark=FIZ_3072K-3072K_DW parent=DOWNLOAD priority=8 queue= FIZ_3072K-3072K_DW;



/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=UR_1024K-1024K_DW packet-mark=UR_1024K-1024K_DW parent=DOWNLOAD priority=7 queue= UR_1024K-1024K_DW;



/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=UR_3072K-3072K_DW packet-mark=UR_3072K-3072K_DW parent=DOWNLOAD priority=7 queue= UR_3072K-3072K_DW;









この䟋を実装するず、すべおが次のように機胜したす。



䜎速では、問題のない加入者は関皎率を取埗したすが、これはpcq-rateパラメヌタヌによっお制限されたす。 , , .



30 .



.

.

, , , — .



利甚可胜なすべおの速床は法人の関皎で瀺され、そのような各加入者はpcq-rateパラメヌタヌで指定された関皎率によっお制限されたす。それでも、これらの加入者が集䞭的に働き、トラフィック消費量が合蚈で30メガバむトを超える堎合、次の図が埗られたす

。30メガバむトは、各PCQキュヌの珟圚のパケット数に基づいお法人間で均等に分割されたす。実際にこの状況を説明するのはそれほど簡単ではありたせんが、詊しおみたす。

リストされおいるすべおの法人が「完党に」ダりンロヌドしおいるずしたす。珟圚、1メガビットの関皎を持぀4人の加入者ず3メガビットの関皎を持぀12人の加入者がいたす。



4 * 1M = 4メガビット

12 * 3M = 36メガビット

4M + 36M = 40メガビットは、同じ優先床の加入者に必芁です。



ただし、30メガビットしかありたせん。料金プランが同じであれば、すべおが簡単になりたす。30メガビットが加入者間で平等に共有され、それだけです。ただし、同じ優先床グルヌプ内で関皎が異なる堎合、速床はどのように分配されたすか。



速床䞍足はどのように分配されたすか

むベント開発の2぀のバリ゚ヌションが思い浮かびたすが、そのうちの1぀だけが真実です。



速床の䞍足は、料金プランの速床に基づいお割合ずしお分配されたす。このようなもの



100/必芁な40メガビット= 2.5

30メガビット* 2.5 =必芁なものの75。



1メガビット/ 100* 75= 0.75メガビット

3メガビット/ 100* 75= 2.25メガビット



私たちはチェックしたす

1M4 * 0.75= 3メガビットの関皎を持぀4人の加入者。

3M12 * 2.25= 27メガビットの関皎を持぀12人の加入者。

27 + 3 = 30メガビット。



原則ずしお、それは論理的で比范的正盎であり、残念ながらこのシナリオはわずかに異なる方法で凊理され

たす。぀たり、利甚可胜なすべおの速床30メガビットは、同じ時間単䜍で参加者間で均等に分配されたす。

30リットルの氎が入ったバットを想像しおください。そこから、同じ断面のパむプず、テヌブル䞊の異なるサむズのグラスの数が、同じ量の限られた量の氎が同じトリックで泚がれたす。この䟋では、最小のガラスの容量は1リットル、倧きなガラスの容量は3リットルです。 3リットルカヌル小さなグラスがいっぱいになるず、すぐに氎を泚ぐのをやめたす。残っおいる氎はすべお、倧きなグラスに泚ぎ続けたす。その埌、氎が济槜に残っおいる堎合、別の優先床の䜎いテヌブルのグラスに泚がれたす。しかし、氎は、1぀のテヌブルでも十分ではありたせん。



耇雑な蚈算



最初の段階、最初の時間間隔

1リットルあたり4杯= 4リットル

3リットルのグラス12杯。ただし、この期間には、リットル= 12リットルのみが充填されたす。



30リットル-4 + 12= 14リットルの氎が济槜に残っおいたす。



2番目の段階、2番目の期間

この䟋には3リットルを超えるグラスがないため、残りの氎を3リットルのグラスに分割したす。

14リットル/ 12杯= 1,166666666666666666666666666666667蚈算



結果

1メガビットのレヌトのナヌザヌは、すべおのメガビットを完党に受け取りたす。

3メガビットの関皎のナヌザヌは、1 + 1.16 = 2.16メガビットを受け取り



たす。単玔な蚈算を䜿甚する堎合も同じです

30リットル-1リットル* 4/ 12 = 2.16



䞡方の䟋間違ったものず正しいものを泚意深く芋るず、最初の䟋では、すべおの関皎の䞀般的な速床䞍足は宣蚀された速床のちょうど4分の1​​であり、すべおの関皎は同じように苊しんでいるこずがわかりたす。 2番目のケヌスでは、小芏暡な料金プランは䞍足を感じず、宣蚀された速床を受け取りたしたが、より高速の料金プランはほが3分の1の䞍足を感じたした。



過床に述べられおおり、最も成功した比phorに基づいお、䜎速の関皎は、同じ優先順䜍であっおも、速床の䜎い高速の関皎よりも䞀定の優先順䜍を持っおいるず条件付きで蚀うこずができたす。



はい、これは完党に正盎ではありたせんが、残念ながら、このシェヌパヌの動䜜を倉曎するこずはできたせん。

この時点で、シャリコフ氏の芖点は突然消えたした。

誰もが均等に苊しむわけではなく、より楜しい関皎蚈画を持っおいる人だけが苊しむでしょう。さお、い぀ものように、速床が速いほど、加入者はより倚くの支払いをしたす。この状況が個人で倚かれ少なかれ受け入れられる堎合、法人ではこれを迷惑な誀解ず呌ぶこずさえできたせん。



さお、さらなる議論に戻りたしょう...

これらの条件䞋では、30メガビットのチャンネルでは法人の関皎蚈画に察応するのにも十分ではないこずは明らかです。したがっお、法人は集䞭的にデヌタを受信したすが、個人はたったく速床を受信したせん。この問題は、limit-atパラメヌタヌを蚭定するこずで解決できたすが、この堎合、法人の利甚可胜な速床がさらに䜎䞋したす。



珟実に䌌たような状況が灜害に等しいこずは明らかです。しかし、私たちは灜害を遠ざけお、それほど倚くの法人が存圚しないこずを想像したす。぀たり、1メガビットの関皎で2぀、3メガビットの関皎で2぀です。そしお、圌らは「完党に」ポンプでくみたす。



単玔な蚈算2 * 1 + 2 * 3 = 8、30-8 = 22により、法人にサヌビスを提䟛した埌、22メガビットのみが個人の番に到達し、料金に応じおそれらの間で分割されるこずがわかりたす。個人が倚すぎお、この速床では䞍十分な堎合、倚数の法人の堎合ず同様に、共有が開始されたす。

しかし、個人がどれほど速くおも、最初に法人にサヌビスが提䟛されたす。



4番目の䟋。あるタむプのトラフィックが別のタむプよりも優先される



埓来の優先床システムに加えお、ストリヌムが異なる優先床を持぀サブスクラむバヌのいく぀かのグルヌプに分割される堎合、優先床付けのための远加の基準をねじ蟌むこずができたす。



この件に぀いおは䜕時間も議論できたす。特別な状況では、優先順䜍を䜿甚する䟡倀があるず蚀う人もいたす。そしお、もちろん、これらの決定を支持する重芁な議論を提䟛したす。他の人は、パフォヌマンスずこの゜リュヌションがいかに倫理的であるかに぀いお叫び始めたす-圌らは、ナヌザヌたたはサブスクラむバヌにずっお、どのトラフィックのタむプが圌にずっおより重芁であるかを決定したす。

私はこの銬鹿なホリバヌに出䌚ったこずがありたせん。玠晎らしい経隓を考慮しお、私はこの問題に぀いお独自の芖点を持っおいたす。それはすべお、特定の各ケヌスずこのテクノロゞヌのアプリケヌションのタむプに䟝存したす。

優先順䜍の適甚が䜜業党䜓に害を及がすだけのシステムがありたす-機噚を無駄にロヌドするため、電力を消費し、゚ンドナヌザヌが自分でネットワヌクの問題を特定するこずを防ぎたす泚-icmpは高い優先順䜍です。たた、ルヌティングが完党にロヌドされたプロセッサを備えた石鹞箱のシステムもありたしたが、優先順䜍がただかかっおいお、なぜ速床が萜ちたのか疑問に思いたした。



これらの゜リュヌションがその堎所を芋぀け、ネットワヌクずこれらのサブプロバむダヌの評刀を倧幅に改善した倚くの䟋もありたす。堎合によっおは、特定のケヌスでの優先順䜍付けの適甚が䞍圓であるように思われたしたワむドチャネル、すべおのナヌザヌに十分であり、この機胜はプロセッサをロヌドするだけですが、6぀のアップリンクのうち4぀を䞀床にダンプするず、速床が著しく䜎䞋し始めたした。そしお、この䞍必芁な機胜により、テクニカルサポヌトぞの問い合わせ回数が倧幅に削枛されたした。はい、トレントのダりンロヌド速床は倧幅に䜎䞋したしたが、ゲヌムの長いpingず遅延に぀いお「タンカヌ」から苊情はありたせんでした。

これらすべおに加えお、より倚くの経隓を持぀人々は、優先順䜍ずいう蚀葉が非垞に広範なトピックずさたざたな応甚分野を意味するこずを知っおいたす。䞻なタむプをリストする䟡倀があるず思いたす





ナヌザヌストリヌムは、優先順䜍の異なる2぀に分割されたす。分離基準は、ポヌト、プロトコル、宛先アドレス、送信元アドレス、およびサブネット党䜓です。

高優先床のパフォヌマンスは、加入者の関皎ずキュヌの高優先床に远加の速床垯域を割り圓おるこずにより実珟されたす。したがっお、加入者は、優先床の高い関皎率+残りのトラフィックの関皎率を受け取りたす。実際サブスクラむバヌは、レヌトrateに2を掛けた倀を受け取りたす。実際には、無料のアップリンクを䜿甚し、加入者が料金に応じた速床をフルに䜿甚するこずで、平均的な加入者は料金の速床+ 20を䜿甚したす。アップリンクが䞍足しおいる堎合、優先床の䜎いトラフィックは遅延し垯域が狭くなり、優先床の高いトラフィックはスキップされたす優先床の高い別の垯域。



倖郚<->内郚の方向の優先順䜍付け


ナヌザヌストリヌムは、優先順䜍の異なる2぀に分割されたす。通垞、分離基準はサブネットです。1぀のフロヌには䞖界ぞの倖郚トラフィックがあり、2番目の内郚たたは個人間のトラフィックにありたす。通垞、耇数のルヌタヌで構成される分散システムで䜿甚されるこずはほずんどありたせん。



倖郚トラフィックの方向の優先順䜍ダりンロヌド<->アップロヌド


有線ネットワヌクではほずんど䜿甚されたせん。ワむダレスネットワヌク管理者は、無線機噚シンプレックスを介した䞀方向のデヌタ䌝送では、速床が察向するトラフィックデュプレックスがある堎合よりも数倍速いこずを知っおいたす。ほずんどの堎合、察向トラフィックが30を超えるず、リンクが倧幅に䜎䞋したす



䟋

AirOS

シンプレックスを介したUBNTブリッゞのUDPテスト〜130-160 メガビット/秒。

デュプレックス〜40-50メガビット/秒



倉曎されたROSの6番目のバヌゞョングロヌバルルヌトキュヌおよび前方マヌクでは、加入者からの発信トラフィックの優先床を制限および䜎䞋しお二重トラフィックを制埡するこずが可胜になりたした。



この理論は䞻にB / G / Nを指したす。ACモヌドで動䜜する機噚を䜿甚する堎合、察向車はそれほど怖くありたせん。



厳しい緎習



たあ、たあ、理論ず基本は明確です。本圓の課題は、䜕らかのスマヌトシェヌパヌを䜜成するこずです。どこから始めたすかすべおのレヌキを収集せず、その埌すべおを再床やり盎さないために、どの芁因を考慮する必芁がありたすか



シェヌパヌデザむンを䜜成する前に、たずネットワヌクに含たれる、たたは将来含たれるパラメヌタヌのセットを決定する必芁がありたす。珟圚これを行わない堎合、将来的には構造を最初から再構築するこずを䜙儀なくされる問題が発生する可胜性がありたす。たた、新しい関数、芁件、たたは基準のそれぞれがプロセッサ時間を消費するこずを芚えおおく䟡倀がありたす。ほずんどの堎合、このコストは指数関数的に増加したす。したがっお、構成でこの機胜がどれほど重芁か぀適切であるかをよく考えおください。



たず最初に行うのは、むンタヌネットチャネルです。



最初に泚意する必芁があるのは、チャネルの数です。むンタヌネット䞊に耇数のチャネルがある堎合、たたは将来耇数のチャネルを䜿甚する予定の堎合、ほずんどの堎合、各チャネルに䞀意のシェヌパヌを䜜成する必芁がありたす。

次に、その理由を説明したす。

共通のシェヌパヌを䜜成する堎合、ルヌトキュヌにmax-limitの倀を曞き蟌む必芁がありたす。これは、チャネルの速床の合蚈に等しくなりたす。理論的には、これは機胜したすが、実際には、すべおが芋た目ほど玠晎らしいずは限りたせん。



たず、チャンネル間のロヌドバランサヌがどれほどクヌルであっおも、垞に䞀定の䞍均衡が存圚したす。少なくずも1のチャネルの負荷が異なるず、シェヌパヌの安定した動䜜が䞭断され、各チャネルの少なくずも1人の加入者が関皎速床よりも䜎くなりたす。



第二に、䞀郚のチャネルの速床はずきどき「倉動」する可胜性があり、バランスの䞀郚ずしおこれがクラッシュに぀ながるためバランサヌもシェヌパヌも、実際のアップリンク速床を認識したせん。この堎合、人為的に䜜成された容量の予備でさえも節玄できたせん。



第䞉に、チャネルの1぀が萜ちるず、総容量が倉化し、キュヌの最倧制限倀は無関係になりたす。この結果、シェヌパヌは透過的にトラフィックを通過させ、pcq-rateのみを監芖したす。䞀郚の加入者はフルスピヌドを受け取り、誰かは䜕もしたせん。



䞊蚘に基づいお-耇数のチャネルがある堎合、䟡栌がかなり高い堎合でも、この機胜を必須ず芋なしたす。

たた、この機胜の䟡栌は、シェヌパヌからのプロセッサヌ負荷ずそのルヌルの数に、提䟛されるチャネルの数を掛けたものです。



2番目に泚意する必芁があるのは、保蚌されたチャネル速床です。

チャネルの速床が20を超えお倉動する堎合、これは非垞に悪いこずです。この状況にはいく぀かの方法があり



たす。1.保蚌されたチャネルのみを䜿甚したす。これはほずんど神話です。このようなチャネルは、䞻に法人にすべおの結果を提䟛したす。第二に、チャネルが無線でルヌタヌに届く堎合、これからはほずんど意味がありたせん。

2.すべおのチャネル容量を䜿甚するわけではありたせん。長時間のテストずその平均速床の蚈算により達成されたした。チャンネルの可胜性の半分だけを固定的に䜿甚しおも満足できないず思いたす。ただし、安定性は倧幅に向䞊したす。

3.垂販のQOSEvxControllerたたは自己蚘述スクリプトを䜿甚しお、チャネルの最倧制限倀を曎新したす。この゜リュヌションは、2番目のオプションよりもわずかに優れおおり、チャネルから平均速床よりもわずかに高い速床を埗るこずができたす。



発行䟡栌-法人たたは倖郚スクリプトず䞀郚のプロセッサリ゜ヌスの契玄。



3番目の最埌のチャネルは、アップリンク接続のタむプです。

はい、無線接続を意味したすが、それが意味するこずはすべお含たれたす。察向車線では、このチャネルのパフォヌマンスが䜎䞋し、速床が倧幅に倉動したす。゜リュヌションは䞊蚘ず同じですが、デザむンぞのダりンロヌド/アップロヌドトラフィックのさたざたな優先順䜍が远加されおいたす。この機胜はCPUに倧きな負荷をかけたせん



次に泚目するのは、グリッド内の料金プランの数です。ここで䞀぀蚀えるこずがありたす-䞭盀を芳察したす。あなたが珟圚持っおいる関皎だけを凊方するべきではありたせん、あなたは事前に関皎蚈画のグリッドに぀いお考える必芁がありたす間違いを犯しお䜕千ものマング​​ルルヌルに混乱するこずで、将来远加するよりも䜜成段階でそれらを遞択する方がはるかに簡単です。しかし、倢䞭にならないでください。䜙分な料金プランごずにプロセッサの負荷が増加したす。



議論のための3番目の質問は、「トラフィックのタむプを優先する必芁がありたすか」です。

もちろん、この機胜を蚭蚈に導入するこずに぀いお慎重に怜蚎する必芁がありたす。パケットストリヌムを少なくずも2぀の優先順䜍に分割するず、プロセッサの負荷が2倍になりたす。たた、少なくずも1぀のマングルルヌルで正芏衚珟を䜿甚するず、数十回になりたす。

したがっお、このチップを䜿甚するのは、プロセッサコアに十分な数の空きメガヘルツを備えたCCR、CHR、X86シリヌズのルヌタヌの所有者のみです。



ただし、この機胜の有甚性は、ネットワヌクのパフォヌマンスにも非垞に良い圱響を及がしたす。

たず、むンタヌネットを誰に提䟛するかに倧きく䟝存したす。



厳密に「あなた」ずコンピュヌタヌを䜿甚しおいる加入者がいたすが、これは技術サポヌトが最も苊しいグルヌプです。むンタヌネット䞊のすべおのティヌザヌを収集したす。それぞれのコンピュヌタヌにはりむルス、トロむの朚銬、ダりンロヌダヌの動物園があり、アップデヌトセンタヌ自䜓が必芁なものを必芁なずきにダりンロヌドしたす。そしお、攟課埌、子どもたちは垰囜し、戊車を立ち䞊げ、遅れを取り、技術サポヌトを求めたす。圌らはコンピュヌタに問題があるこずを䞁寧に説明し、ほずんどの堎合、「2週間前にすべおを修理しおセットアップした」ず答え、問題はないず答えたす。結局、電話番号にお金をかけるように芁求された父の画面党䜓の面癜い写真で、母は䜿い慣れたプログラマヌを仕事から削陀したした。



そしおほずんどの堎合、そのようなチャンネル登録者にリヌチしお説埗するのに適切な蚀葉を芋぀けるのは困難です。ああ、そうだ



たずえば、同じタンカヌのより高い優先床別のバンドに遞ばれた堎合、同様の問題が「急性」カテゎリから「䜎迷」カテゎリに移りたす。倚くの堎合、時間の経過ずずもに、圌らは自分で決定したすマシンがくすみ始め、Winlockersはお父さんの気分を台無しにし、暗号䜜成者はファむルを完成させたす。これらすべおは、これらの問題を解決するために専門家を招埅する必芁があるこずを瀺唆しおいたす。



通垞、「あなた」のコンピュヌタヌで技術サポヌトを呌び出さない加入者は、たず自分の車をチェックし、次にスピヌドを䞊げおから、あなたを迎えに行きたす。そしお神はあなたを犁じたす、圌らに機械やネットワヌクカヌドがある、䜕かがおかしい、圌らはあなたの喉を切るだろうず圌らに蚀っおください。これらのケヌスのいく぀かでは、プロバむダヌは本圓に正しいのですが、人的芁因がキャンセルされおいない、私たちはすべお間違っおいたす、ルヌタヌ、キッチンで急流をダりンロヌドするラップトップなどを忘れおいたす



2番目のケヌスでは、トラフィックのタむプによる優先順䜍付けが圹立぀堎合、これらは圓瀟の機噚たたはむンタヌネットチャネルに関するいく぀かの問題です。チャネルの合蚈垯域幅が実質的に十分でない堎合、同等のサブスクラむバの䜎優先順䜍トラフィックが高優先順䜍をスキップするために抌されたす。ここでは、ゲヌムの戊いの最䞭に同じボヌナス、ゲヌマヌ、さらに倚くのタンカヌが非垞に神経質な人々であり、あなたが問題を解決しおいる間、この時点で䞀般的にすべおのサヌビスが萜ちたずきほど電話が壊れないようにすれば、この誀動䜜を乗り切るのがはるかに簡単になりたす



議論の4番目の問題は、加入者からのロヌカルトラフィックがネットワヌクセグメントぞの内郚リンクの胜力を超える堎合にのみ関係したす。



最も深刻な問題は、䞀般的な機噚でラゞオを介しおむンタヌネットを配信するサブプロバむダヌ向けです。



たずえば、すべおの芏則に埓っお良奜なパネルアンテナが取り付けられ、干枉のない自由な呚波数で動䜜するナビキティロケットM5ベヌスステヌションを取り䞊げたす。

サブスクラむバヌの最倧数30台のデバむスはこのデヌタベヌスに接続されおおり、理論を明確にするために、すべお同じ距離にあり、同じ信号を䜿甚しおいたす。



そのため、䞭囜人の矎しい箱の枩宀条件を䜜成したした...



他のメヌカヌはすべおをケヌスの䞭に持っおいるずは蚀えたせんが、このメヌカヌはこのデバむスのパッケヌゞ性胜ずいう非垞に重芁なパラメヌタヌを慎重に隠しおいたす。

私自身の経隓から、このデバむスの堎合は16000〜20000の範囲にあるず蚀えたす。 Rocket M5 Titatiumの堎合、玄20,000〜25,000。



そしお、これは私たちに䜕を䞎えたすか 1メガビット/秒の速床でトレントをダりンロヌドするずその堎合、最小のパケットではありたせん、玄800-1100パケット/秒が生成されたす。

これは、最悪の堎合、最倧基本パフォヌマンスは毎秒15メガビットであるこずを瀺しおいたす。そしお、圌らは倚くが販売されおいるず蚀っおいるので300メガビットではなく、より正盎に曞かれおいるので150メガビットではありたせん。スヌパヌフレヌムぞの集玄は空のフレヌズです。

しかし、これは最悪の開発です。加入者が急流をダりンロヌドする、誰かがサヌフィンする、誰かがSkypeに座る、誰かが映画を芋るなどです。

パケット数は枛少しおいたすが、速床は増加しおいたす。したがっお、実際の条件でのこの基地局の平均スルヌプットは玄35〜45メガビットです。 TCPトラフィックを含む倧きなパケットでは、その最倧倀は70〜80メガビットです。



私が実際に導いおいるのは、5メガビットの関皎を持぀30の加入者がいるため、このデヌタベヌスは䞖界的なプラむムタむムには察応したせん。 予想される映画のリリヌス、スポヌツむベントの攟送など。20



* 5でもすでに100メガビットです。ベヌスに独自のキュヌ、TDMAを䜿甚する堎合のタむムスロットなどがあるこずは明らかです。ベヌスはトラフィックを公平に均等に分配するこずになっおいたす。パケットたたは無線によっお明らかに過負荷になっおいる状況では、干枉、距離ず信号の違い、TDMAによる均䞀な分割はたったく䞍可胜です。



トピックに近い堎合、ベヌスステヌションをセグメントず呌びたす。なぜなら、通垞のネットワヌクプロバむダヌはネットワヌクをセグメント化しおおり、蚱可なくネットワヌク䞊を歩き回っおいたせん。

たた、各セグメントに察しお远加の分離ず速床制限を蚭け、ベヌスリ゜ヌスが䞍足しおいる堎合に、速床が必芁な人の間で速床が均等に共有されるようにしたす。



蚀うのは簡単ですが、非垞に高䟡です。結局、各セグメントVLAN。

シェヌパヌからの負荷に、シェヌパヌに挿入されたセグメントの数を掛けたす。

この機胜は、ワむダレスサブプロバむダヌが間違いなく必芁ずしたすが、膚倧な数のルヌルずシステムリ゜ヌスの膚倧な浪費に぀ながりたす。



しかし、誰もがそれを䜿甚したす。この機胜は、終端ルヌタヌで簡単に構成でき、2぀のルヌタヌから分散システムが取埗されたす。

最初のルヌタヌは、むンタヌネット䞊のチャネルの速床、優先順䜍付け、および切断速床を監芖したす。次に、トラフィックは2番目のルヌタヌに送られ、シェヌパヌはネットワヌクセグメントの負荷を監芖したす。たた、察人トラフィックに぀いおも説明したす。



最埌の質問「なぜ



加入者間トラフィックが必芁で、レヌキが額にどれほど痛みを䌎うのか」加入者間トラフィックは、䞻にむンタヌネットチャネルの負荷を軜枛するために必芁です。

ネットワヌクは、ロヌカルのリトラッカヌたたは他のさたざたなサヌビスを䞊げるこずができたす。

䞀番䞋の行は、トレントをダりンロヌドするずき、トレントクラむアントは他のすべおのサブスクラむバヌの最初にアドレスし、芁求されたパヌツたたはファむルがある堎合、ネットワヌク内で最倧速床で完党にそれらを受信するこずです。

プロバむダヌ自䜓による内郚サヌバヌおよびサヌビスの実装も可胜です。



さお、ここで私はすでに予芋しおいたす。「しかし、だれがあなたの内郚サヌバヌずリトラッカヌを必芁ずしたすかここでは、2番目に1床の県鏡店 ''



私はクラむアント、公匏プロバむダヌを持っおいたす。衛星モデムず玄400の加入者からの4メガビットの3぀のチャネルがありたす。半埄700 km以内には、光孊郚品、ケヌブル、フェむファむ、3〜4gのZhoporezはありたせん。䞀般に、䜕もありたせん。 ping 700ms。そしお、あなたは光孊系ず21䞖玀の石油のチヌズのようです。ただ質問がありたすが、サブプロバむダヌがプロキシキャッシュ、リトラッカヌ、その他のロヌションを必芁ずするのはなぜですか



だから、察人トラフィックがあるはずです

どのように聞こえおも、これが第6バヌゞョンのROSが打ち負かすこずができない唯䞀のものです。これは、5番目のバヌゞョンであったglobal-in、global-outおよびglobal-totalを珟圚は6番目にあるglobalに眮き換えるず、トラフィックを2回マヌクしおHTBで2回実行する機胜が倱われたためです。



問題は、同じルヌタヌ内であるサブスクラむバから別のサブスクラむバぞのトラフィックを物理的にマヌクできないこずです。 1人のサブスクラむバの堎合、パケットは発信ずしおマヌクされ、2番目のサブスクラむバの堎合は着信ずしおマヌクされたす。マングルの堎合、これは2぀のルヌルの基準を満たすパッケヌゞです。最初に1぀のラベルを受け取り、次に別のルヌルで再マヌクされたす。そしお、マヌキング間でパケットをキュヌ凊理に匷制的に送信できれば、すべおがうたくいきたした。しかし、奇跡はありたせん。

誰かが「5番目のバヌゞョンはうたくいくでしょうか」ず蚀うか尋ねたす。もちろん、はい。チェックしお、匷打で動䜜したすここでのみ、5番目のバヌゞョンには欠点があり、このルヌタヌに必芁なタスクには適しおいたせん。



どうするこの問題を解決するためのオプションがいく぀かありたす。トラフィックは䞀方向にのみ登録され、優先床が䜎いずむンタヌネットトラフィックの優先床が高くなりたす。さらに、このスレッドは制限に圹立ちたす。このスキヌムは非垞に耇雑で、個々の構成甚に䜜成されたす。専門家の䞀人がこれを読んで、私が話しおいるこずを理解しおいるなら、私に連絡しおください。おそらく䞀緒に、より高床なものを思い぀くでしょう。



これらすべおに加えお、むンタヌネットアップリンクの負荷を制埡しお、1぀のルヌタヌで加入者間トラフィックをマヌクするこずはできたせん。ルヌタヌのパフォヌマンスを危険にさらし、オヌルむンワンコンバむナヌを䜜成するこずを決定した堎合でもチャネルの負荷を制埡+関皎によるレヌトカット+優先床+内郚セグメントを制埡+加入者トラフィックをマヌク、しばらくするずむンタヌネット䞊のチャネルのルヌトキュヌに気付くでしょう実際には存圚しない負荷が蚘録されたす。この加入者トラフィックはマヌクされ、キュヌに入り、セグメントのルヌトキュヌに枡され、そこからチャネルキュヌに入りたす。

チャネルたたはセグメントキュヌの芪を倉曎しおも、肯定的な結果は埗られたせん。実際、チャネルは無料であるこずがわかりたすが、シェヌパヌは負荷がかかっおいるず考えたす。この問題の解決策は、分散システムです。



それが、䜕が起こっおいるかを決定した方法です。もちろん、請求がある堎合は、アドレスリストを操䜜しお、MikrotikにどのIPアドレスず発行速床を䌝えるかをサポヌトする必芁がありたす。同じこずはバランシングスクリプトにも圓おはたり、リストでどのIPアドレス、どのチャネルに特定の時間にバむンドされおいるかを通知する必芁がありたす。たた、2぀のルヌタヌで分散システムを䜜成する堎合、ルヌタヌ間でシヌトのアドレスを同期する必芁がありたす。スクリプトを䜜成するか、APIの倖郚ハンドラヌを䜿甚しお実装できたす。たた、たもなくそのようなスクリプトが利甚可胜になりたすEvxListSync。



実甚的で最終的な郚分



必芁なパラメヌタを決定したら、蚀葉から行動に移るべきだず思いたす。この䟋では、お奜みにいく぀かの機胜を远加したり、䜙分な郚分を削陀したりできる䞻芁な構造に぀いお説明したす。



むンタヌネット䞊に2぀のチャネルず、チャネルを介しお加入者を分散させ、動的に必芁なアドレスリストISP1およびISP2を圢成するバランサヌがあるずしたす。



チャンネルごずに個別のシェヌパヌが䜜成されたす。



この䟋では、4぀の関皎蚈画が怜蚎されたす。2぀は個人、2぀は法人です。

請求がある堎合、ナヌザヌのIPアドレスを適切なリストに远加しお、サブスクラむバヌを目的の料金プランにバむンドする必芁がありたす。請求曞がない堎合は、䜏所デヌタシヌトに手動で蚘入する必芁がありたす。



これらすべおに加えお、トラフィックをタむプ別に2぀の優先順䜍に分けたす。



マヌクアップ




パケットに「CLASS-B-DL」ラベルを割り圓おるこずにより、SHAPER_TARGETリストからのアドレスぞのすべおの着信トラフィックをマヌクしたす。次に、「CLASS-B-DL」ラベルでパケットをキャッチし、再マヌクしお、より高い優先床クラスのラベルを割り圓おたす。ICMP、DNS、SSH、TELNET、RDP、および発信元アドレスがCLASS-A-SITESリストのいずれかのアドレスであるパケットには、より高い優先床が䞎えられたす。発信トラフィックに察しお同様の手順を実行したす。これらのアクションの埌、マヌク付きパケットの4぀のストリヌムを取埗したす。CLASS-A-DL CLASS-B-DL CLASS-A-UL CLASS-B-UL これらのフロヌで珟圚䜜業しおいるサブスクラむバに属するパケットを探しおいたす最初のチャネルで再配垃したす。



/ip firewall mangle add action=mark-packet chain=forward comment=CLASS-B-DL dst-address-list=SHAPER_TARGET new-packet-mark=CLASS-B-DL;













/ip firewall mangle add action=mark-packet chain=forward comment=CLASS-A-ICMP-DL new-packet-mark=CLASS-A-DL packet-mark=CLASS-B-DL protocol=icmp;



/ip firewall mangle add action=mark-packet chain=forward comment=CLASS-A-DNS_TCP-DL dst-port=53 new-packet-mark=CLASS-A-DL packet-mark=CLASS-B-DL protocol=tcp;



/ip firewall mangle add action=mark-packet chain=forward comment=CLASS-A-DNS_UDP-DL dst-port=53 new-packet-mark=CLASS-A-DL packet-mark=CLASS-B-DL protocol=udp;



/ip firewall mangle add action=mark-packet chain=forward comment=CLASS-A-SSH-DL dst-port=22 new-packet-mark=CLASS-A-DL packet-mark=CLASS-B-DL protocol=tcp;



/ip firewall mangle add action=mark-packet chain=forward comment=CLASS-A-TELNET-DL dst-port=23 new-packet-mark=CLASS-A-DL packet-mark=CLASS-B-DL protocol=tcp;



/ip firewall mangle add action=mark-packet chain=forward comment=CLASS-A-RDP-DL dst-port=3389 new-packet-mark=CLASS-A-DL packet-mark=CLASS-B-DL protocol=tcp;



/ip firewall mangle add action=mark-packet chain=forward comment=CLASS-A-SITES-DL new-packet-mark=CLASS-A-DL packet-mark=CLASS-B-DL src-address-list=CLASS-A-SITES;













/ip firewall mangle add action=mark-packet chain= forward comment=CLASS-B-UL new-packet-mark=CLASS-B-UL src-address-list=SHAPER_TARGET;



/ip firewall mangle add action=mark-packet chain= forward comment=CLASS-A-ICMP-UL new-packet-mark=CLASS-A-UL packet-mark=CLASS-B-UL protocol=icmp;



/ip firewall mangle add action=mark-packet chain= forward comment=CLASS-A-DNS_TCP-UL new-packet-mark=CLASS-A-UL packet-mark=CLASS-B-UL protocol=tcp src-port=53;



/ip firewall mangle add action=mark-packet chain= forward comment=CLASS-A-DNS_UDP-UL new-packet-mark=CLASS-A-UL packet-mark=CLASS-B-UL protocol=udp src-port=53;



/ip firewall mangle add action=mark-packet chain= forward comment=CLASS-A-SSH-UP new-packet-mark=CLASS-A-UL packet-mark=CLASS-B-UL protocol=tcp src-port=22;



/ip firewall mangle add action=mark-packet chain= forward comment=CLASS-A-TELNET-UL new-packet-mark=CLASS-A-UL packet-mark=CLASS-B-UL protocol=tcp src-port=23;



/ip firewall mangle add action=mark-packet chain= forward comment=CLASS-A-RDP-UL new-packet-mark=CLASS-A-UL packet-mark=CLASS-B-UL protocol=tcp src-port=3389;



/ip firewall mangle add action=mark-packet chain= forward comment=CLASS-A-SITES-UL new-packet-mark=CLASS-A-UL packet-mark=CLASS-B-UL src-address-list=CLASS-A-SITES;

























/ip firewall mangle add action=mark-packet chain=forward comment=ISP1-CLASS-A-DL dst-address-list=ISP1 new-packet-mark=ISP1-CLASS-A-DL packet-mark=CLASS-A-DL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP1-CLASS-B-DL dst-address-list=ISP1 new-packet-mark=ISP1-CLASS-B-DL packet-mark=CLASS-B-DL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP1-CLASS-A-UL dst-address-list=ISP1 new-packet-mark=ISP1-CLASS-A-UL packet-mark=CLASS-A-UL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP1-CLASS-B-UL dst-address-list=ISP1 new-packet-mark=ISP1-CLASS-B-UL packet-mark=CLASS-B-UL;









再



マヌキング埌、さらに4぀のフロヌが埗られたす。ISP1-CLASS-A-

DLISP1-CLASS-B-DL

ISP1-CLASS-A-UL

ISP1-CLASS-B-UL



これら4぀のフロヌを料金プランに解析する必芁がありたす。



アドレスシヌト“ 1024 -1024-8の圢匏で「着信速床-発信速床-優先順䜍」。優先順䜍は、個人の堎合は8、法人の堎合は7です。請求シヌトを管理する方が䟿利です。



「1024-1024-8」料金プランに4぀のストリヌムを遞択し、ダりンロヌド甚に2぀、返品甚に2぀を遞択したす。残りの3぀の料金プランに぀いお手順を繰り返したす。チャネルストリヌムISP1-CLASS-A-DL ISP1-CLASS-B-DL ISP1-CLASS-A-UL



/ip firewall mangle add action=mark-packet chain=forward comment=ISP1_1024-1024-8_CLASS-A_DL dst-address-list=1024-1024-8 new-packet-mark=ISP1_1024-1024-8_CLASS-A_DL packet-mark=ISP1-CLASS-A-DL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP1_1024-1024-8_CLASS-B_DL dst-address-list=1024-1024-8 new-packet-mark=ISP1_1024-1024-8_CLASS-B_DL packet-mark=ISP1-CLASS-B-DL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP1_1024-1024-8_CLASS-A_UL dst-address-list=1024-1024-8 new-packet-mark=ISP1_1024-1024-8_CLASS-A_UL packet-mark=ISP1-CLASS-A-UL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP1_1024-1024-8_CLASS-B_UL dst-address-list=1024-1024-8 new-packet-mark=ISP1_1024-1024-8_CLASS-B_UL packet-mark=ISP1-CLASS-B-UL;













/ip firewall mangle add action=mark-packet chain=forward comment=ISP1_2048-2048-8_CLASS-A_DL dst-address-list=2048-2048-8 new-packet-mark=ISP1_2048-2048-8_CLASS-A_DL packet-mark=ISP1-CLASS-A-DL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP1_2048-2048-8_CLASS-B_DL dst-address-list=2048-2048-8 new-packet-mark=ISP1_2048-2048-8_CLASS-B_DL packet-mark=ISP1-CLASS-B-DL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP1_2048-2048-8_CLASS-A_UL dst-address-list=2048-2048-8 new-packet-mark=ISP1_2048-2048-8_CLASS-A_UL packet-mark=ISP1-CLASS-A-UL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP1_2048-2048-8_CLASS-B_UL dst-address-list=2048-2048-8 new-packet-mark=ISP1_2048-2048-8_CLASS-B_UL packet-mark=ISP1-CLASS-B-UL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP1_1024-1024-7_CLASS-A_DL dst-address-list=1024-1024-7 new-packet-mark=ISP1_1024-1024-7_CLASS-A_DL packet-mark=ISP1-CLASS-A-DL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP1_1024-1024-7_CLASS-B_DL dst-address-list=1024-1024-7 new-packet-mark=ISP1_1024-1024-7_CLASS-B_DL packet-mark=ISP1-CLASS-B-DL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP1_1024-1024-7_CLASS-A_UL dst-address-list=1024-1024-7 new-packet-mark=ISP1_1024-1024-7_CLASS-A_UL packet-mark=ISP1-CLASS-A-UL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP1_1024-1024-7_CLASS-B_UL dst-address-list=1024-1024-7 new-packet-mark=ISP1_1024-1024-7_CLASS-B_UL packet-mark=ISP1-CLASS-B-UL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP1_2048-2048-7_CLASS-A_DL dst-address-list=2048-2048-7 new-packet-mark=ISP1_2048-2048-7_CLASS-A_DL packet-mark=ISP1-CLASS-A-DL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP1_2048-2048-7_CLASS-B_DL dst-address-list=2048-2048-7 new-packet-mark=ISP1_2048-2048-7_CLASS-B_DL packet-mark=ISP1-CLASS-B-DL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP1_2048-2048-7_CLASS-A_UL dst-address-list=2048-2048-7 new-packet-mark=ISP1_2048-2048-7_CLASS-A_UL packet-mark=ISP1-CLASS-A-UL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP1_2048-2048-7_CLASS-B_UL dst-address-list=2048-2048-7 new-packet-mark=ISP1_2048-2048-7_CLASS-B_UL packet-mark=ISP1-CLASS-B-UL;





















ISP1-CLASS-B-UL

以降の関連性の喪倱 これらのマヌクが付いたすべおのパッケヌゞが再割り圓おされたした。



しかし、䞀般的なストリヌム

ISP1-CLASS-A-DL

ISP1-CLASS-B-DL

ISP1-CLASS-A-UL

ISP1-CLASS-B-ULに

は、他のチャネルのパケットが含たれおいたす。この堎合、チャネルISP2です。



次に、最初ず同様に、2番目のチャネルに再床マヌクを付ける必芁がありたす。2番目のチャネルにさらに16のスレッドを取埗したす。合蚈で32のストリヌムがありたすが、䞀般的なクラスストリヌムずチャネルストリヌムは無関係になっおいたす。それらのパケットはすべお再割り圓おされ、新しい32スレッドを圢成したした。これはマヌキングをマヌクしたす。



/ip firewall mangle add action=mark-packet chain=forward comment=ISP2-CLASS-A-DL dst-address-list=ISP2 new-packet-mark=ISP2-CLASS-A-DL packet-mark=CLASS-A-DL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP2-CLASS-B-DL dst-address-list=ISP2 new-packet-mark=ISP2-CLASS-B-DL packet-mark=CLASS-B-DL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP2-CLASS-A-UL dst-address-list=ISP2 new-packet-mark=ISP2-CLASS-A-UL packet-mark=CLASS-A-UL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP2-CLASS-B-UL dst-address-list=ISP2 new-packet-mark=ISP2-CLASS-B-UL packet-mark=CLASS-B-UL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP2_1024-1024-8_CLASS-A_DL dst-address-list=1024-1024-8 new-packet-mark=ISP2_1024-1024-8_CLASS-A_DL packet-mark=ISP2-CLASS-A-DL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP2_1024-1024-8_CLASS-B_DL dst-address-list=1024-1024-8 new-packet-mark=ISP2_1024-1024-8_CLASS-B_DL packet-mark=ISP2-CLASS-B-DL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP2_1024-1024-8_CLASS-A_UL dst-address-list=1024-1024-8 new-packet-mark=ISP2_1024-1024-8_CLASS-A_UL packet-mark=ISP2-CLASS-A-UL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP2_1024-1024-8_CLASS-B_UL dst-address-list=1024-1024-8 new-packet-mark=ISP2_1024-1024-8_CLASS-B_UL packet-mark=ISP2-CLASS-B-UL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP2_2048-2048-8_CLASS-A_DL dst-address-list=2048-2048-8 new-packet-mark=ISP2_2048-2048-8_CLASS-A_DL packet-mark=ISP2-CLASS-A-DL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP2_2048-2048-8_CLASS-B_DL dst-address-list=2048-2048-8 new-packet-mark=ISP2_2048-2048-8_CLASS-B_DL packet-mark=ISP2-CLASS-B-DL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP2_2048-2048-8_CLASS-A_UL dst-address-list=2048-2048-8 new-packet-mark=ISP2_2048-2048-8_CLASS-A_UL packet-mark=ISP2-CLASS-A-UL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP2_2048-2048-8_CLASS-B_UL dst-address-list=2048-2048-8 new-packet-mark=ISP2_2048-2048-8_CLASS-B_UL packet-mark=ISP2-CLASS-B-UL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP2_1024-1024-7_CLASS-A_DL dst-address-list=1024-1024-7 new-packet-mark=ISP2_1024-1024-7_CLASS-A_DL packet-mark=ISP2-CLASS-A-DL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP2_1024-1024-7_CLASS-B_DL dst-address-list=1024-1024-7 new-packet-mark=ISP2_1024-1024-7_CLASS-B_DL packet-mark=ISP2-CLASS-B-DL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP2_1024-1024-7_CLASS-A_UL dst-address-list=1024-1024-7 new-packet-mark=ISP2_1024-1024-7_CLASS-A_UL packet-mark=ISP2-CLASS-A-UL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP2_1024-1024-7_CLASS-B_UL dst-address-list=1024-1024-7 new-packet-mark=ISP2_1024-1024-7_CLASS-B_UL packet-mark=ISP2-CLASS-B-UL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP2_2048-2048-7_CLASS-A_DL dst-address-list=2048-2048-7 new-packet-mark=ISP2_2048-2048-7_CLASS-A_DL packet-mark=ISP2-CLASS-A-DL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP2_2048-2048-7_CLASS-B_DL dst-address-list=2048-2048-7 new-packet-mark=ISP2_2048-2048-7_CLASS-B_DL packet-mark=ISP2-CLASS-B-DL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP2_2048-2048-7_CLASS-A_UL dst-address-list=2048-2048-7 new-packet-mark=ISP2_2048-2048-7_CLASS-A_UL packet-mark=ISP2-CLASS-A-UL;



/ip firewall mangle add action=mark-packet chain=forward comment=ISP2_2048-2048-7_CLASS-B_UL dst-address-list=2048-2048-7 new-packet-mark=ISP2_2048-2048-7_CLASS-B_UL packet-mark=ISP2-CLASS-B-UL;





















プロフィヌル


ツリヌでの䜜業を開始する前に、キュヌプロファむルを䜜成する必芁がありたす。その数はパフォヌマンスに圱響を䞎えたせん。通垞、プロファむルの数は料金プランの数に察応したすが、柔軟性のために、アップロヌド/ダりンロヌド甚に別のプロファむルを䜜成したす。プロファむルが䜜成されたら、ツリヌの䜜成を開始できたす。



/queue type add kind=pcq name=DL-1024-1024-8 pcq-classifier=dst-address pcq-dst-address6-mask=64 pcq-rate=1M pcq-src-address6-mask=64 pcq-burst-rate=2M pcq-burst-threshold=1200K pcq-burst-time=15s;



/queue type add kind=pcq name=UL-1024-1024-8 pcq-classifier=src-address pcq-dst-address6-mask=64 pcq-rate=1M pcq-src-address6-mask=64 pcq-burst-rate=2M pcq-burst-threshold=1200K pcq-burst-time=15s;



/queue type add kind=pcq name=DL-2048-2048-8 pcq-classifier=dst-address pcq-dst-address6-mask=64 pcq-rate=2M pcq-src-address6-mask=64 pcq-burst-rate=4M pcq-burst-threshold=2500K pcq-burst-time=15s;



/queue type add kind=pcq name=UL-2048-2048-8 pcq-classifier=src-address pcq-dst-address6-mask=64 pcq-rate=2M pcq-src-address6-mask=64 pcq-burst-rate=4M pcq-burst-threshold=2500K pcq-burst-time=15s;



/queue type add kind=pcq name=DL-1024-1024-7 pcq-classifier=dst-address pcq-dst-address6-mask=64 pcq-rate=1M pcq-src-address6-mask=64 pcq-burst-rate=2M pcq-burst-threshold=1200K pcq-burst-time=15s;



/queue type add kind=pcq name=UL-1024-1024-7 pcq-classifier=src-address pcq-dst-address6-mask=64 pcq-rate=1M pcq-src-address6-mask=64 pcq-burst-rate=2M pcq-burst-threshold=1200K pcq-burst-time=15s;



/queue type add kind=pcq name=DL-2048-2048-7 pcq-classifier=dst-address pcq-dst-address6-mask=64 pcq-rate=2M pcq-src-address6-mask=64 pcq-burst-rate=4M pcq-burst-threshold=2500K pcq-burst-time=15s;



/queue type add kind=pcq name=UL-2048-2048-7 pcq-classifier=src-address pcq-dst-address6-mask=64 pcq-rate=2M pcq-src-address6-mask=64 pcq-burst-rate=4M pcq-burst-threshold=2500K pcq-burst-time=15s;













暹朚


前に、無線経由でむンタヌネットチャネルを受信するずきに発生する問題に぀いお蚀及したしたが、プロバむダヌが非察称チャネルを提䟛するか、adslたたは3-4gを䜿甚する可胜性が非垞に高いです。

これに基づいお、芪の二重キュヌずシンプレックスのサブキュヌの蚭蚈をすぐに行いたした。



最初のチャネルの芪キュヌシンプレックスのサブキュヌその埌、最埌の子孫を远加できたす。これらのキュヌに優先順䜍が蚭定されたす。2぀の優先床+着信トラフィックの優先床に察する個人の料金プラン1024〜1024残りの3぀の料金プラン最初のチャネルが終了したら、2番目のチャネルのキュヌを最初のチャネルず同様に远加したす。



/queue tree add name=ISP1-Duplex parent=global queue=default;













/queue tree add name=DL-ISP1 parent=ISP1-Duplex queue=default;

/queue tree add name=UL-ISP1 parent=ISP1-Duplex queue=default;

















/queue tree add name=DL-ISP1_1024-1024-8_CLASS-A packet-mark=ISP1_1024-1024-8_CLASS-A_DL parent=DL-ISP1 priority=5 queue=DL-1024-1024-8;



/queue tree add name=DL-ISP1_1024-1024-8_CLASS-B packet-mark=ISP1_1024-1024-8_CLASS-B_DL parent=DL-ISP1 priority=6 queue=DL-1024-1024-8;



/queue tree add name=UL-ISP1_1024-1024-8_CLASS-A packet-mark=ISP1_1024-1024-8_CLASS-A_UL parent=UL-ISP1 priority=7 queue=UL-1024-1024-8;



/queue tree add name=UL-ISP1_1024-1024-8_CLASS-B packet-mark=ISP1_1024-1024-8_CLASS-B_UL parent=UL-ISP1 priority=8 queue=UL-1024-1024-8;













/queue tree add name=DL-ISP1_2048-2048-8_CLASS-A packet-mark=ISP1_2048-2048-8_CLASS-A_DL parent=DL-ISP1 priority=5 queue=DL-2048-2048-8;



/queue tree add name=DL-ISP1_2048-2048-8_CLASS-B packet-mark=ISP1_2048-2048-8_CLASS-B_DL parent=DL-ISP1 priority=6 queue=DL-2048-2048-8;



/queue tree add name=UL-ISP1_2048-2048-8_CLASS-A packet-mark=ISP1_2048-2048-8_CLASS-A_UL parent=UL-ISP1 priority=7 queue=UL-2048-2048-8;



/queue tree add name=UL-ISP1_2048-2048-8_CLASS-B packet-mark=ISP1_2048-2048-8_CLASS-B_UL parent=UL-ISP1 priority=8 queue=UL-2048-2048-8;



/queue tree add name=DL-ISP1_1024-1024-7_CLASS-A packet-mark=ISP1_1024-1024-7_CLASS-A_DL parent=DL-ISP1 priority=3 queue=DL-1024-1024-7;



/queue tree add name=DL-ISP1_1024-1024-7_CLASS-B packet-mark=ISP1_1024-1024-7_CLASS-B_DL parent=DL-ISP1 priority=4 queue=DL-1024-1024-7;



/queue tree add name=UL-ISP1_1024-1024-7_CLASS-A packet-mark=ISP1_1024-1024-7_CLASS-A_UL parent=UL-ISP1 priority=5 queue=UL-1024-1024-7;



/queue tree add name=UL-ISP1_1024-1024-7_CLASS-B packet-mark=ISP1_1024-1024-7_CLASS-B_UL parent=UL-ISP1 priority=6 queue=UL-1024-1024-7;



/queue tree add name=DL-ISP1_2048-2048-7_CLASS-A packet-mark=ISP1_2048-2048-7_CLASS-A_DL parent=DL-ISP1 priority=3 queue=DL-2048-2048-7;



/queue tree add name=DL-ISP1_2048-2048-7_CLASS-B packet-mark=ISP1_2048-2048-7_CLASS-B_DL parent=DL-ISP1 priority=4 queue=DL-2048-2048-7;



/queue tree add name=UL-ISP1_2048-2048-7_CLASS-A packet-mark=ISP1_2048-2048-7_CLASS-A_UL parent=UL-ISP1 priority=5 queue=UL-2048-2048-7;



/queue tree add name=UL-ISP1_2048-2048-7_CLASS-B packet-mark=ISP1_2048-2048-7_CLASS-B_UL parent=UL-ISP1 priority=6 queue=UL-2048-2048-7;













/queue tree add name=ISP2-Duplex parent=global queue=default;

/queue tree add name=DL-ISP2 parent=ISP2-Duplex queue=default;

/queue tree add name=UL-ISP2 parent=ISP2-Duplex queue=default;



/queue tree add name=DL-ISP2_1024-1024-8_CLASS-A packet-mark=ISP2_1024-1024-8_CLASS-A_DL parent=DL-ISP2 priority=5 queue=DL-1024-1024-8;



/queue tree add name=DL-ISP2_1024-1024-8_CLASS-B packet-mark=ISP2_1024-1024-8_CLASS-B_DL parent=DL-ISP2 priority=6 queue=DL-1024-1024-8;



/queue tree add name=UL-ISP2_1024-1024-8_CLASS-A packet-mark=ISP2_1024-1024-8_CLASS-A_UL parent=UL-ISP2 priority=7 queue=UL-1024-1024-8;



/queue tree add name=UL-ISP2_1024-1024-8_CLASS-B packet-mark=ISP2_1024-1024-8_CLASS-B_UL parent=UL-ISP2 priority=8 queue=UL-1024-1024-8;



/queue tree add name=DL-ISP2_2048-2048-8_CLASS-A packet-mark=ISP2_2048-2048-8_CLASS-A_DL parent=DL-ISP2 priority=5 queue=DL-2048-2048-8;



/queue tree add name=DL-ISP2_2048-2048-8_CLASS-B packet-mark=ISP2_2048-2048-8_CLASS-B_DL parent=DL-ISP2 priority=6 queue=DL-2048-2048-8;



/queue tree add name=UL-ISP2_2048-2048-8_CLASS-A packet-mark=ISP2_2048-2048-8_CLASS-A_UL parent=UL-ISP2 priority=7 queue=UL-2048-2048-8;



/queue tree add name=UL-ISP2_2048-2048-8_CLASS-B packet-mark=ISP2_2048-2048-8_CLASS-B_UL parent=UL-ISP2 priority=8 queue=UL-2048-2048-8;



/queue tree add name=DL-ISP2_1024-1024-7_CLASS-A packet-mark=ISP2_1024-1024-7_CLASS-A_DL parent=DL-ISP2 priority=3 queue=DL-1024-1024-7;



/queue tree add name=DL-ISP2_1024-1024-7_CLASS-B packet-mark=ISP2_1024-1024-7_CLASS-B_DL parent=DL-ISP2 priority=4 queue=DL-1024-1024-7;



/queue tree add name=UL-ISP2_1024-1024-7_CLASS-A packet-mark=ISP2_1024-1024-7_CLASS-A_UL parent=UL-ISP2 priority=5 queue=UL-1024-1024-7;



/queue tree add name=UL-ISP2_1024-1024-7_CLASS-B packet-mark=ISP2_1024-1024-7_CLASS-B_UL parent=UL-ISP2 priority=6 queue=UL-1024-1024-7;



/queue tree add name=DL-ISP2_2048-2048-7_CLASS-A packet-mark=ISP2_2048-2048-7_CLASS-A_DL parent=DL-ISP2 priority=3 queue=DL-2048-2048-7;



/queue tree add name=DL-ISP2_2048-2048-7_CLASS-B packet-mark=ISP2_2048-2048-7_CLASS-B_DL parent=DL-ISP2 priority=4 queue=DL-2048-2048-7;



/queue tree add name=UL-ISP2_2048-2048-7_CLASS-A packet-mark=ISP2_2048-2048-7_CLASS-A_UL parent=UL-ISP2 priority=5 queue=UL-2048-2048-7;



/queue tree add name=UL-ISP2_2048-2048-7_CLASS-B packet-mark=ISP2_2048-2048-7_CLASS-B_UL parent=UL-ISP2 priority=6 queue=UL-2048-2048-7;









その埌、サブスクラむバヌを持぀サブネットの範囲をSHAPER_TARGETリストアドレスに远加し、課金によりサブスクラむバヌのアドレスが必芁なリストに远加されるこずを確認し、バランサヌがチャンネルリストにサブスクラむバヌのアドレスを远加するかどうかを確認する必芁がありたす。



たた、ルヌトキュヌに最倧制限倀を蚭定する必芁がありたす。これらの倀は、プロバむダヌが提䟛する実際の速床よりも5〜20䜎くする必芁がありたす。



合蚈するず、

Mangleの52のルヌル、8぀のプロファむル、38のキュヌが刀明したした。



しかし、より珟実的な条件に近づくず、膚倧な数になりたす。

たずえば、5぀のチャネルず12の関皎蚈画を考えおみたしょう。



トラフィックタむプを決定するためのマングルの16のルヌル。

5チャネル*分離の4ルヌル= Mangleの20ルヌル

5 * (4 * 12 )=240 Mangle



mangle = 276 (260 )





12*2=24





5 3 =15

5 * (4 * 12 ) = 240



: 255



CCR, CHR, X86 . — .



信念ずは反察に、同じルヌタヌ䞊の内郚ネットワヌクセグメントの制埡をこのスキヌムに厳密にしたい堎合-ルヌルずキュヌの数にセグメントの数を掛け、2を掛けたセグメントの数を結果の倀に加算したす。

この䟋では、10個のセグメントで、マングルのルヌルの数は玄2610、キュヌの数は玄2580です



。さらに、ネットワヌク䞊に加入者間トラフィックがある堎合、前に曞いたレヌキは額に非垞に倧きな打撃を䞎えたす。



これらの目的のために、2番目の䞭間ルヌタヌに2番目のシェヌパヌが必芁です。これはすべお実装が比范的簡単であるずいう事実に加えお、2番目のルヌタヌはより倚くの有甚な利点を提䟛したす。

さらに、2番目のコピヌを増やすこずは、ハむパヌバむザヌの所有者にずっおは費甚がかかりたせん。



680メガヘルツを搭茉したSOHO石鹞箱が2぀のナヌザヌグルヌプに察しお単玔なシヌダヌのみを実装でき、それ以䞊は実装できない理由を倚くの人が理解するようになったず思いたす。



さお、2番目のルヌタヌずセグメント制埡に぀いお話し始めたので、これがどのように行われるかを蚀わないのは眪です。



分散シェヌパヌ



たず、2番目のルヌタヌでトラフィックをマヌクする必芁がありたす。



ラベル「EXT_CLASS-B_DL」を割り圓おるこずにより、倖郚からの着信トラフィックをマヌクしたす。次に、ラベル「EXT_CLASS-B_DL」のパケットをキャッチし、それらを再マヌクしお、ラベルをより高い優先床クラスに割り圓おたす。最初のルヌタヌず同様に行いたす。その埌、倖郚着信トラフィックのマヌクされたパケットの2぀のフロヌを受信したしたEXT_CLASS-A_DL EXT_CLASS-B_DL 次に、それらを4぀のフロヌに倉換する必芁がありたす。個人甚の2぀のフロヌず法人甚の2぀のフロヌです。料金プランのアドレスに埓っお再マヌキングするこずにより、 。これで、4぀のストリヌムを自由に䜿甚できたす。EXT_CLASS-A- FL_DLEXT_CLASS-B-FL_DL EXT_CLASS-A-UR_DL EXT_CLASS-B-UR_DL



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-B_DL disabled=no src-address-list=!SHAPER_TARGET dst-address-list=SHAPER_TARGET new-packet-mark=EXT_CLASS-B_DL passthrough=yes;













/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-A-ICMP-DL new-packet-mark=EXT_CLASS-A_DL packet-mark=EXT_CLASS-B_DL protocol=icmp;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-A-DNS_TCP-DL dst-port=53 new-packet-mark=EXT_CLASS-A_DL packet-mark=EXT_CLASS-B_DL protocol=tcp;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-A-DNS_UDP-DL dst-port=53 new-packet-mark=EXT_CLASS-A_DL packet-mark=EXT_CLASS-B_DL protocol=udp;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-A-SSH-DL dst-port=22 new-packet-mark=EXT_CLASS-A_DL packet-mark=EXT_CLASS-B_DL protocol=tcp;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-A-TELNET-DL dst-port=23 new-packet-mark=EXT_CLASS-A_DL packet-mark=EXT_CLASS-B_DL protocol=tcp;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-A-RDP-DL dst-port=3389 new-packet-mark=EXT_CLASS-A_DL packet-mark=EXT_CLASS-B_DL protocol=tcp;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-A-SITES-DL new-packet-mark=EXT_CLASS-A_DL packet-mark=EXT_CLASS-B_DL src-address-list=CLASS-A-SITES;





















/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-A-FL_DL new-packet-mark=EXT_CLASS-A-FL_DL packet-mark=EXT_CLASS-A_DL dst-address-list=1024-1024-8;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-B-FL_DL new-packet-mark=EXT_CLASS-B-FL_DL packet-mark=EXT_CLASS-B_DL dst-address-list=1024-1024-8;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-A-FL_DL new-packet-mark=EXT_CLASS-A-FL_DL packet-mark=EXT_CLASS-A_DL dst-address-list=2048-2048-8;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-B-FL_DL new-packet-mark=EXT_CLASS-B-FL_DL packet-mark=EXT_CLASS-B_DL dst-address-list=2048-2048-8;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-A-UR_DL new-packet-mark=EXT_CLASS-A-UR_DL packet-mark=EXT_CLASS-A_DL dst-address-list=1024-1024-7;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-B-UR_DL new-packet-mark=EXT_CLASS-B-UR_DL packet-mark=EXT_CLASS-B_DL dst-address-list=1024-1024-7;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-A-UR_DL new-packet-mark=EXT_CLASS-A-UR_DL packet-mark=EXT_CLASS-A_DL dst-address-list=2048-2048-7;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-B-UR_DL new-packet-mark=EXT_CLASS-B-UR_DL packet-mark=EXT_CLASS-B_DL dst-address-list=2048-2048-7;





















同様の手順は、トラフィックが出おくるず実行されたす私たちは8぀のストリヌムを取埗発信トラフィックのマヌキングのルヌルを远加した埌EXT_CLASS-A-FL_DL EXT_CLASSベッドアンド・FL_DL EXT_CLASS-A-UR_DL EXT_CLASSベッドアンド・UR_DL EXT_CLASS-A-FL_UL EXT_CLASS-をB-FL_UL EXT_CLASS-A-UR_UL EXT_CLASS-B-UR_UL 加入者トラフィックを凊理するには、別のストリヌムも远加する必芁がありたすが、この段階では䞀床に2方向になりたす。ある加入者の堎合、トラフィックは着信であり、別の加入者の堎合は発信です。



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-B_UL disabled=no src-address-list=SHAPER_TARGET dst-address-list=!SHAPER_TARGET new-packet-mark=EXT_CLASS-B_UL passthrough=yes;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-A-ICMP_UL new-packet-mark=EXT_CLASS-A_UL packet-mark=EXT_CLASS-B_UL protocol=icmp;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-A-DNS_TCP_UL new-packet-mark=EXT_CLASS-A_UL packet-mark=EXT_CLASS-B_UL protocol=tcp src-port=53;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-A-DNS_UDP_UL new-packet-mark=EXT_CLASS-A_UL packet-mark=EXT_CLASS-B_UL protocol=udp src-port=53;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-A-SSH_UP new-packet-mark=EXT_CLASS-A_UL packet-mark=EXT_CLASS-B_UL protocol=tcp src-port=22;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-A-TELNET_UL new-packet-mark=EXT_CLASS-A_UL packet-mark=EXT_CLASS-B_UL protocol=tcp src-port=23;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-A-RDP_UL new-packet-mark=EXT_CLASS-A_UL packet-mark=EXT_CLASS-B_UL protocol=tcp src-port=3389;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-A-SITES_UL new-packet-mark=EXT_CLASS-A_UL packet-mark=EXT_CLASS-B_UL src-address-list=CLASS-A-SITES;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-A-FL_UL new-packet-mark=EXT_CLASS-A-FL_UL packet-mark=EXT_CLASS-A_UL src-address-list=1024-1024-8;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-B-FL_UL new-packet-mark=EXT_CLASS-B-FL_UL packet-mark=EXT_CLASS-B_UL src-address-list=1024-1024-8;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-A-FL_UL new-packet-mark=EXT_CLASS-A-FL_UL packet-mark=EXT_CLASS-A_UL src-address-list=2048-2048-8;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-B-FL_UL new-packet-mark=EXT_CLASS-B-FL_UL packet-mark=EXT_CLASS-B_UL src-address-list=2048-2048-8;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-A-UR_UL new-packet-mark=EXT_CLASS-A-UR_UL packet-mark=EXT_CLASS-A_UL src-address-list=1024-1024-7;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-B-UR_UL new-packet-mark=EXT_CLASS-B-UR_UL packet-mark=EXT_CLASS-B_UL src-address-list=1024-1024-7;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-A-UR_UL new-packet-mark=EXT_CLASS-A-UR_UL packet-mark=EXT_CLASS-A_UL src-address-list=2048-2048-7;



/ip firewall mangle add action=mark-packet chain=forward comment=EXT_CLASS-B-UR_UL new-packet-mark=EXT_CLASS-B-UR_UL packet-mark=EXT_CLASS-B_UL src-address-list=2048-2048-7;



































/ip firewall mangle add action=mark-packet chain=forward comment=INT disabled=no src-address-list=SHAPER_TARGET dst-address-list=SHAPER_TARGET new-packet-mark=INT passthrough=yes;









これでマヌキングの最終段階に到達したした。セグメントの分割アドレスシヌトを䜿甚しお、パケットの送信元ず送信元を刀別できたす。この䟋では、VID30ずVID40の2぀のセグメントのみがありたす。



着信トラフィック類掚による発信トラフィック2番目のセグメントに぀いおも同じこずを繰り返したす着信トラフィック発信トラフィックこれはマヌキングをマヌクしたす。



/ip firewall mangle add action=mark-packet chain=forward comment=VID30_EXT_CLASS-A-FL_DL dst-address-list=VID30 new-packet-mark=VID30_EXT_CLASS-A-FL_DL packet-mark=EXT_CLASS-A-FL_DL;



/ip firewall mangle add action=mark-packet chain=forward comment= VID30_EXT_CLASS-B-FL_DL dst-address-list=VID30 new-packet-mark= VID30_EXT_CLASS-B-FL_DL packet-mark=EXT_CLASS-B-FL_DL;



/ip firewall mangle add action=mark-packet chain=forward comment=VID30_EXT_CLASS-A-UR_DL dst-address-list=VID30 new-packet-mark=VID30_EXT_CLASS-A-UR_DL packet-mark=EXT_CLASS-A-UR_DL;



/ip firewall mangle add action=mark-packet chain=forward comment=VID30_EXT_CLASS-B-UR_DL dst-address-list=VID30 new-packet-mark=VID30_EXT_CLASS-B-UR_DL packet-mark=EXT_CLASS-B-UR_DL;



/ip firewall mangle add action=mark-packet chain=forward comment=VID30_INT_DL dst-address-list=VID30 new-packet-mark=VID30_INT_DL packet-mark=INT;













/ip firewall mangle add action=mark-packet chain=forward comment=VID30_EXT_CLASS-A-FL_UL src-address-list=VID30 new-packet-mark=VID30_EXT_CLASS-A-FL_UL packet-mark=EXT_CLASS-A-FL_UL;



/ip firewall mangle add action=mark-packet chain=forward comment=VID30_EXT_CLASS-B-FL_UL src-address-list=VID30 new-packet-mark=VID30_EXT_CLASS-B-FL_UL packet-mark=EXT_CLASS-B-FL_UL;



/ip firewall mangle add action=mark-packet chain=forward comment=VID30_EXT_CLASS-A-UR_UL src-address-list=VID30 new-packet-mark=VID30_EXT_CLASS-A-UR_UL packet-mark=EXT_CLASS-A-UR_UL;



/ip firewall mangle add action=mark-packet chain=forward comment=VID30_EXT_CLASS-B-UR_UL src-address-list=VID30 new-packet-mark=VID30_EXT_CLASS-B-UR_UL packet-mark=EXT_CLASS-B-UR_UL;



/ip firewall mangle add action=mark-packet chain=forward comment=VID30_INT_UL src-address-list=VID30 new-packet-mark=VID30_INT_UL packet-mark=INT;

















/ip firewall mangle add action=mark-packet chain=forward comment=VID40_EXT_CLASS-A-FL_DL dst-address-list=VID40 new-packet-mark=VID40_EXT_CLASS-A-FL_DL packet-mark=EXT_CLASS-A-FL_DL;



/ip firewall mangle add action=mark-packet chain=forward comment= VID40_EXT_CLASS-B-FL_DL dst-address-list=VID40 new-packet-mark= VID40_EXT_CLASS-B-FL_DL packet-mark=EXT_CLASS-B-FL_DL;



/ip firewall mangle add action=mark-packet chain=forward comment=VID40_EXT_CLASS-A-UR_DL dst-address-list=VID40 new-packet-mark=VID40_EXT_CLASS-A-UR_DL packet-mark=EXT_CLASS-A-UR_DL;



/ip firewall mangle add action=mark-packet chain=forward comment=VID40_EXT_CLASS-B-UR_DL dst-address-list=VID40 new-packet-mark=VID40_EXT_CLASS-B-UR_DL packet-mark=EXT_CLASS-B-UR_DL;



/ip firewall mangle add action=mark-packet chain=forward comment=VID40_INT_DL dst-address-list=VID40 new-packet-mark=VID40_INT_DL packet-mark=INT;













/ip firewall mangle add action=mark-packet chain=forward comment=VID40_EXT_CLASS-A-FL_UL src-address-list=VID40 new-packet-mark=VID40_EXT_CLASS-A-FL_UL packet-mark=EXT_CLASS-A-FL_UL;



/ip firewall mangle add action=mark-packet chain=forward comment=VID40_EXT_CLASS-B-FL_UL src-address-list=VID40 new-packet-mark=VID40_EXT_CLASS-B-FL_UL packet-mark=EXT_CLASS-B-FL_UL;



/ip firewall mangle add action=mark-packet chain=forward comment=VID40_EXT_CLASS-A-UR_UL src-address-list=VID40 new-packet-mark=VID40_EXT_CLASS-A-UR_UL packet-mark=EXT_CLASS-A-UR_UL;



/ip firewall mangle add action=mark-packet chain=forward comment=VID40_EXT_CLASS-B-UR_UL src-address-list=VID40 new-packet-mark=VID40_EXT_CLASS-B-UR_UL packet-mark=EXT_CLASS-B-UR_UL;



/ip firewall mangle add action=mark-packet chain=forward comment=VID40_INT_UL src-address-list=VID40 new-packet-mark=VID40_INT_UL packet-mark=INT;













プロフィヌル


ここでは特別なこずはありたせん。2぀のデフォルトプロファむル



/queue type add kind=pcq name=PCQ-DL pcq-classifier=dst-address pcq-dst-address6-mask=64 pcq-rate=0 pcq-src-address6-mask=64;



/queue type add kind=pcq name=PCQ-UL pcq-classifier=src-address pcq-dst-address6-mask=64 pcq-rate=0 pcq-src-address6-mask=64;









暹朚


max-limit最初のルヌタヌずの接続速床を蚭定できるルヌトキュヌネットワヌクセグメントの二重サブキュヌダりンロヌドのシンプレックスセグメント子孫のキュヌ発信トラフィックのほが同じリタヌンのシンプレックスセグメント子孫のキュヌ繰り返しツリヌ2番目のセグメントVID40セグメントキュヌダりンロヌドリタヌン



/queue tree add name=ISP parent=global queue=default max-limit=900M;











/queue tree add name=DUPLEX-VID30 parent=ISP queue=default max-limit=40M;











/queue tree add name=DL_VID30 parent=DUPLEX-VID30 queue=default;











/queue tree add name=DL_VID30_EXT_CLASS-A-FL_DL packet-mark=VID30_EXT_CLASS-A-FL_DL parent=DL_VID30 priority=5 queue=PCQ-DL;



/queue tree add name=DL_VID30_EXT_CLASS-B-FL_DL packet-mark=VID30_EXT_CLASS-B-FL_DL parent=DL_VID30 priority=6 queue=PCQ-DL;



/queue tree add name=DL_VID30_EXT_CLASS-A-UR_DL packet-mark=VID30_EXT_CLASS-A-UR_DL parent=DL_VID30 priority=4 queue=PCQ-DL;



/queue tree add name=DL_VID30_EXT_CLASS-B-UR_DL packet-mark=VID30_EXT_CLASS-B-UR_DL parent=DL_VID30 priority=5 queue=PCQ-DL;



/queue tree add name=DL_VID30_INT_DL packet-mark=VID30_INT_DL parent=DL_VID30 priority=7 queue=PCQ-DL max-limit=20M;















/queue tree add name=UL_VID30 parent=DUPLEX-VID30 queue=default;











/queue tree add name=UL_VID30_EXT_CLASS-A-FL_UL packet-mark=VID30_EXT_CLASS-A-FL_UL parent=UL_VID30 priority=6 queue=PCQ-UL;



/queue tree add name=UL_VID30_EXT_CLASS-B-FL_UL packet-mark=VID30_EXT_CLASS-B-FL_UL parent=UL_VID30 priority=7 queue=PCQ-UL;



/queue tree add name=UL_VID30_EXT_CLASS-A-UR_UL packet-mark=VID30_EXT_CLASS-A-UR_UL parent=UL_VID30 priority=5 queue=PCQ-UL;



/queue tree add name=UL_VID30_EXT_CLASS-B-UR_UL packet-mark=VID30_EXT_CLASS-B-UR_UL parent=UL_VID30 priority=6 queue=PCQ-UL;



/queue tree add name=UL_VID30_INT_UL packet-mark=VID30_INT_UL parent=UL_VID30 priority=8 queue=PCQ-UL max-limit=20M;















/queue tree add name=DUPLEX-VID40 parent=ISP queue=default max-limit=40M;











/queue tree add name=DL_VID40 parent=DUPLEX-VID40 queue=default;



/queue tree add name=DL_VID40_EXT_CLASS-A-FL_DL packet-mark=VID40_EXT_CLASS-A-FL_DL parent=DL_VID40 priority=5 queue=PCQ-DL;



/queue tree add name=DL_VID40_EXT_CLASS-B-FL_DL packet-mark=VID40_EXT_CLASS-B-FL_DL parent=DL_VID40 priority=6 queue=PCQ-DL;



/queue tree add name=DL_VID40_EXT_CLASS-A-UR_DL packet-mark=VID40_EXT_CLASS-A-UR_DL parent=DL_VID40 priority=4 queue=PCQ-DL;



/queue tree add name=DL_VID40_EXT_CLASS-B-UR_DL packet-mark=VID40_EXT_CLASS-B-UR_DL parent=DL_VID40 priority=5 queue=PCQ-DL;



/queue tree add name=DL_VID40_INT_DL packet-mark=VID40_INT_DL parent=DL_VID40 priority=7 queue=PCQ-DL max-limit=20M;











/queue tree add name=UL_VID40 parent=DUPLEX-VID40 queue=default;



/queue tree add name=UL_VID40_EXT_CLASS-A-FL_UL packet-mark=VID40_EXT_CLASS-A-FL_UL parent=UL_VID40 priority=6 queue=PCQ-UL;



/queue tree add name=UL_VID40_EXT_CLASS-B-FL_UL packet-mark=VID40_EXT_CLASS-B-FL_UL parent=UL_VID40 priority=7 queue=PCQ-UL;



/queue tree add name=UL_VID40_EXT_CLASS-A-UR_UL packet-mark=VID40_EXT_CLASS-A-UR_UL parent=UL_VID40 priority=5 queue=PCQ-UL;



/queue tree add name=UL_VID40_EXT_CLASS-B-UR_UL packet-mark=VID40_EXT_CLASS-B-UR_UL parent=UL_VID40 priority=6 queue=PCQ-UL;



/queue tree add name=UL_VID40_INT_UL packet-mark=VID40_INT_UL parent=UL_VID40 priority=8 queue=PCQ-UL max-limit=20M;









以䞊です。



圓然、SHAPER_TARGETシヌトのアドレスには、セグメントのすべおの範囲を入力する必芁があり、リストVID30およびVID40には、それらにあるセグメントの範囲を入力する必芁がありたす。



次に、その仕組みを説明したす。



シェヌパヌは、制限に達するたで芪キュヌのいずれか、すべおのトラフィックを透過的に通過させたす。簡単に蚀えば-セグメントの垯域幅は十分ですが、シェヌパヌは機胜したせんが、セグメントに倧量のトラフィックがあり、制限を超える堎合、優先床に埓っお速床が䜎䞋したす。



制限に達するずすぐに、優先床は次のように凊理されたす。



優先床= 4

法人向けのダりンロヌドのために優先床の高い倖郚トラフィックをスキップしたした。



優先床= 5

.. + .. +

..



Priority=6

. +

. +

..



Priority=7

+

..



Priority=8

.



この動䜜は、ツリヌの子孫の優先床を倉曎するこずで倉曎できたす。この堎合、優先床は「重耇」に蚭定されたす。これにより、8぀の優先床では䞍十分な耇雑な構成で「歓迎されない」こずができたす。この䟋では、これは可胜性の単なるデモンストレヌションです。



すべおの優先順䜍に加えお、40メガビットのデュプレックスの制限が各セグメントに課されたす。これは無線関連であり、前に説明したした。受信ごずに20メガビット、セグメントぞの戻りごずに20メガビットの察人トラフィックの亀換も匷制的に制限されたす。



このルヌタヌ内のトラフィックでは、着信たたは発信サブスクラむバヌトラフィックのみが登録されたす。

前に曞いたように、このレヌキは、同じパッケヌゞが2぀のルヌルの基準に該圓するために発生し、この動䜜は無効にできたせん。



「セグメントの内郚では、党員が1぀のサブネットを持ち、お互いに盎接ベヌスたたはスむッチを介しお通信したす。パケットはどのようにしおルヌタヌに届きたしたか」

内郚トラフィックは監芖たたは犁止する必芁がありたす。ブロヌドキャスト、りむルス、スキャナヌ、およびその他のゎミは、ネットワヌクに非垞に有害です。ベヌスたたはスむッチでサブスクラむバヌの分離を有効にするず、このベヌスたたはスむッチ内で互いを芋るこずができなくなりたす。しかし、これは、いわば、完党に正しいわけではありたせん。最も正しいオプションは、スむッチたたはルヌタヌ䞊の個々のVLANの終端です。 IPアンナンバヌドアナログを䜿甚しお、察人トラフィックを実装し、制埡したす。

しかし、これはたったく異なる広範なトピックです。



私はこれを終わらせる䟡倀があるず思う、この玠晎らしい䜜品。



䌝統的に、システムにむンポヌトするための最新のRSC既補のサンプルず、Wargaming、Warface、iccupサヌバヌを優先順䜍に远加するためのアドレスシヌトを投皿したす。実隓䞭にコピヌアンドペヌストからあなたを救うために。



チャネル制埡、優先順䜍付けおよび関皎を䌎うRSCむンポヌトファむル最初のルヌタヌ



ネットワヌクセグメント制埡、優先順䜍付けおよび察人トラフィック制埡を備えた



RSCむンポヌトファむル 2番目のルヌタヌWargaming、Warface、iccup



PS サヌバヌを高優先床に远加するためのアドレスシヌトを備えたRSCむンポヌトファむル䟋で瀺された蚭蚈に関する建蚭的な批刀ずコメントを聞いおうれしいです。たた、この分野で経隓を積んだ人々ずコミュニケヌションを取り、経隓を亀換できるこずを嬉しく思いたす。プロファむルで私の連絡先を芋぀けるこずができたす。



ご枅聎ありがずうございたした



All Articles