Кіріспе

Желілік берілістерді жоспарлау алгоритмі

Токендік бөшке – пакеттік коммутациялық және телекоммуникациялық желілерде қолданылатын алгоритм. Ол деректерді пакеттер түрінде берудің жолақтығы мен импульстілігінің (трафик ағынының тепе-теңдігі немесе өзгергіштігінің өлшемі) белгіленген шектеріне сәйкес келетінін тексеру үшін пайдаланылуы мүмкін. Сондай-ақ, ол жолақтығы мен импульстілігі үшін белгіленген шектерге сәйкес келетін берілімдердің уақытын анықтау үшін жоспарлау алгоритмі ретінде де қолданылуы мүмкін: желілік жоспарлаушыға қараңыз.

Шолу

Токендік бөшке алгоритмі тұрақты сыйымдылыққа ие бөшке аналогиясына негізделген, оған әдетте байттар бірлігін немесе алдын ала белгіленген мөлшердегі бір пакетті білдіретін токендер белгіленген жылдамдықпен салынады. Пакеттің анықталған шектерге сәйкестігін тексеру қажет болғанда, бөшке сол уақытта жеткілікті токендер бар-жоғы тексеріледі. Егер жеткілікті болса, тиісті мөлшердегі токендер, мысалы, пакет ұзындығына тең байттар алынып ("жұмсалады") және пакет, мысалы, жіберу үшін жіберіледі. Егер бөшкеде жеткіліксіз токендер болса, пакет сәйкес келмейді және бөшкенің мазмұны өзгертілмейді. Сәйкес келмейтін пакеттерге әртүрлі жолдармен қарауға болады:

Оларды тастап жіберуге болады. Жеткілікті токендер жиналғанда, оларды кейінірек жіберу үшін кезекке қоюға болады. Оларды жіберуге болады, бірақ сәйкес келмейтін деп белгіленеді, егер желі жүктемелі болса, кейіннен жойылуы мүмкін. Осылайша, сәйкес ағынның трафигі токендер бөшкеге қосылатын жылдамдыққа дейінгі орташа жылдамдыққа ие болуы мүмкін, ал бөшкенің тереңдігімен анықталатын импульстік сипаттамасы болуы мүмкін. Бұл импульстік сипаттаманы джиттерге төзімділік, яғни пакеттің орташа жылдамдық шегінен қаншалықты ертерек сәйкес келуі (мысалы, келу немесе берілуі) немесе импульстік төзімділік немесе максималды импульстік мөлшері, яғни қандай да бір уақыт аралығында трафиктің орташа деңгейінен қаншалықты көп сәйкес келуі арқылы көрсетуге болады.

Вариациялар

Бұл алгоритмді сағаттың жеткілікті ажыратымдылығы жоқ платформаларда іске асырушылар әр секунд сайын себетке бір белгі қосу үшін баламалы формуланы қарастыруы керек. Егер токендер қапшығын әр S миллисекунд сайын жаңарту мүмкіндігі болса, онда әр S миллисекунд сайын қосылатын токендер саны = .

Орташа мөлшерлеме

Ұзақ мерзімде сәйкес пакеттердің шығысы токен жылдамдығымен шектеледі.

Қолданылуы

Токендік бөтелке трафикті қалыптастыруда немесе трафикті бақылауда қолданылуы мүмкін. Трафикті бақылауда сәйкес келмейтін пакеттер жойылуы (түсірілуі) мүмкін, немесе олардың басымдылығы төмендетілуі мүмкін (желіде тығын болған жағдайда, ағынмен басқару функциялары оларды жоюы мүмкін). Трафикті қалыптастыруда пакеттер сәйкес болатынша кешіктіріледі. Трафикті бақылау және трафикті қалыптастыру желіні артық немесе күрт өзгеретін трафиктен қорғау үшін кеңінен қолданылады, кеңдік бандын басқару және тығыннан сақтану қараңыз. Трафикті қалыптастыру көбінесе хосттардағы желілік интерфейстерде қолданылады, бұл желідегі трафикті басқару функциялары берілімдерді жоюын болдырмайды. Токендік бөтелке алгоритмі дерекқорының IO ағынын басқару үшін де қолданылады.