Чоң жүктөөлөр жана VPN: жолду сурам учурунда тандаңыз
Маршрутизатор жооп келгенге чейин анын өлчөмүн өлчөй албайт. Тапшырма боюнча багыттоо үчүн колдонмодо чечим чекити же учурдагы жолду сактаган кезек саясаты керек.
«Чоң жүктөөлөрдү VPNдин айланасы менен жибер, ал эми кичине жоопторду анын үстүндө карма» деген сөз маршруттоо саясатына окшош, бирок андай эмес. Маршрутизатор ошол учурда жеткиликтүү маалымат менен чечим кабыл алат: даректер, порттор, протокол, firewall белгилери, аныкталган агым. Жооптун акыркы өлчөмү бул жыйындыда жок, анткени ал эми келе элек, ал эми маршрутизатор байттарды өлчөй алган маалда ал аларды буга чейин ташып жатат. Эгер тапшырма боюнча багыттагыңыз келсе, чечим тапшырманы билген чекитке өтүшү керек, ал эми төмөнкү текшерүү тизмеси сиздин долбоорунда ушундай чекит барбы-жокпу көрсөтөт.
Эмне үчүн маршрутизатор жоопту өлчөй албайт
Пакетке маршрут керек болгон учурда маршрутизатор агымдын эң көп дегенде алгачкы бир нече пакетин көргөн. Ал ким ким менен сүйлөшүп жатканын, кайсы протокол менен, кайсы белги менен жана ушул убакка чейин канча байт өткөнүн айта алат. Ушул убакка чейинки байттар өткөндү сүрөттөйт. Жооптун өлчөмү али жарала элек жооптун касиети, ал эми бөлүнгөн же агымдык жооптордо ал алдын ала эч качан белгисиз болушу мүмкүн.
Атүгүл протоколдун өзүнүн метаберилиштери да көрүнгөндөн алсыз. HTTP узундугу денеге чейин жарыяланбаган жоопторго жол берет, ал эми бир колдонуучу аракети жыйынды наркы эч бир аталыш маанисине окшошпогон көптөгөн сурамдарды жаратышы мүмкүн. Аталышты тапшырманын өлчөмү деп эсептөө — маршруттоо катасынан мурун моделдөө катасы.
Текшерүү 1: жолду тандай алган чечим чекити барбы?
Тандоону жасай турган компонентти атаңыз, анан тандоо учурунда эмнени билерин атаңыз. Документтелген хостдор жыйындысынан жүктөгөн жаңырткыч өз максатын өткөрүү башталганга чейин билет. Метаберилиштерди карап, анан сурамды ачкан жүктөө кызматы тапшырманы байланыш пайда болгонго чейин билет. Кызматташкан proxy өзүн маршрутизатор деп көрсөтпөстөн сурам деңгээлиндеги саясатты колдонушу же жоопту кэшке сакташы мүмкүн.
Эгер жооп «шлюз» болсо, текшерүү тизмеси буга чейин ийгиликсиз болду. Шлюз белгилүү агымдарды багыт, белги же кардар сегменти боюнча топтоп, аларды биринчи пакеттен тартып белгиленген жол менен жибере алат, бул бекитилген жаңырткыч үчүн көп учурда жетиштүү, ал эми белгисиз жооп өлчөмү үчүн эч качан жетишсиз.
Текшерүү 2: метаберилиштер сизге чындыгында эмне дейт?
Колдонмону тааныган багыттоо окуган талаалары канчалык жакшы болсо, ошончолук жакшы. HTTP семантикасы ичиндеги жооп узундугу эрежелери узундук башталышта жеткиликсиз болгон учурларга жол берет, ал эми мазмун коддоолору өткөрүлгөн байт санын берилиш өлчөмүнөн баары бир айырмалайт. Ошондуктан аталыш чегинен ашканда жолду алмаштырган саясат ыраатсыз иштейт, көбүнчө так кармоого тийиш болгон чоң өткөрүүлөрдө.
Колдонмо метаберилиштери колдой алган нерсе — тапшырма жөнүндө чечим: бул жумуш агымы жапырт синхрондоо, бул интерактивдүү, бул белгилүү булактан программалык жаңыртуу. Бул ниет тилинде жазылган саясат жана сыноо үчүн жетиштүү туруктуу. «Бул жооп кырк мегабайттан чоң болот» мындай саясат эмес.
Текшерүү 3: агым буга чейин барбы?
Маршруттоо агым үчүн байланыштын инсандуулугун өзгөртпөстөн өзгөрүшү мүмкүн, жана бул айырманы так сактоого татыктуу. TCP байланышы өзүнүн учтарынын даректери жана порттору менен аныкталат, ал эми маршруттоо таблицасы алардын астында өзгөрсө, пакеттер башка жол менен жүрүшү мүмкүн. Көзгө көрүнбөстөн өзгөрө албаган нерсе — тармактык даректерди которуу абалы: трафикти башка чыгууга жылдыруу адатта коомдук булак кортежин өзгөртөт, ал эми алыскы тарап дал келген абалы жок башка өнөктөштү көрөт.
conntrack -L -p tcp --dport 443 | head -5
ip route get 203.0.113.10
ss -tn state established dst 203.0.113.10
Ошондуктан практикалык эреже — байланыштын ортосунда бир чыгуудан экинчисине өтүү жаңы мамиле, миграция эмес. Эгер долбоор ошол эле байланыштын уланышын талап кылса, чечим биринчи SYNге чейин кабыл алынышы керек эле, ал эми кийин кошулган эч бир пакет эрежеси аны таза кайра кура албайт.
Текшерүү 4: чыныгы талап кечигүүбү, чыгуу эмеспи?
«Жапырт трафикти башка жакка жибер» деген сурамдардын көбү чындыгында чоң өткөрүү интерактивдүү ишти жай сезилтет деген нааразылык. Бул пландоо маселеси жана анын пландоо жообу бар: учурдагы жолдогу акыйкат кезек же колдоого алынган өткөрүү жөндөмдүүлүгү саясаты жапырт агымдын чат билдирүүсүн ачка калтырышына жол бербейт, экөөнү тең жылдырбастан.
tc qdisc replace dev eth0 root cake bandwidth 100mbit
Симптомго ушинтип мамиле кылуу чыгуу чечимин коопсуздук саясаты койгон жерде калтырат жана аны бир буйрук менен кайтарууга болот. Бүткүл трафик классы үчүн чыгууну өзгөртүү — аутентификация, журналдоо жана кирүү эрежелеринин кесепеттери бар саясат өзгөртүүсү, ошондуктан ал кечигүү нааразылыгында биринчи курал болбошу керек.
Эгер талап чындыгында башка интернет чыгуусу болсо, аны так ошол сөздөр менен айтыңыз жана колдоого алынган чекте ишке ашырыңыз: бекитилген жумуш агымынан жаңы байланыш же тандалган чыгуу аркылуу өз сурамын ачкан колдонмо. Анан кайсы тапшырмалар кайсы чыгууну колдонорун жазып коюңуз, кийинки адам аны маршруттоо таблицасынан божомолдобошу үчүн.
Текшерүү тизмесин өзгөртүү жазуусунда кармаңыз: чечим чекити, аны кыймылдаткан талаа же тапшырма, агым буга чейин барбы жана өлчөнгөн симптом кечигүүбү же чыгуубу. Төрт суроо, ал эми төртөөнө тең жооп берген саясат — коргоого эмес, башкарууга боло турган саясат.