Views
3 years ago

НЕСЛУЧАЙНО CUDA ИДЕМ? phpMyAdmin - Xakep Online

НЕСЛУЧАЙНО CUDA ИДЕМ? phpMyAdmin - Xakep Online

SYN/ACK ЕВГЕНИЙ

SYN/ACK ЕВГЕНИЙ ЗОБНИН / J1M@SYNACK.RU / Каждому по потребностям Ограничение полосы пропускания на Linux'овом шлюзе Разделение, ограничение и управление трафиком — актуальная и сложная задача, которую обычно возлагают на дорогостоящее специальное сетевое оборудование. Но решить ее можно и с помощью подсистемы Linux-ядра Traffic Control, не уступающей по возможностям Cisco IOS. >> SYN/ACK Äîïóñòèì, ñóùåñòâóåò îôèñ íåêîé êîìïàíèè X, è â íåì ÷èñëèòñÿ îêîëî ñòà ñîòðóäíèêîâ, êàæäûé èç êîòîðûõ ìîæåò âûõîäèòü â èíòåðíåò ÷åðåç øëþç. Ñêîðîñòü âíåøíåãî êàíàëà ñîñòàâëÿåò 100 Ìáèò. Ñèñòåìíûé àäìèíèñòðàòîð ñïðàâèëñÿ ñ íàñòðîéêîé øëþçà â ñèëó ñâîèõ ñïîñîáíîñòåé — ÷òî è ïîñ- ÷èòàë äîñòàòî÷íûì äëÿ ïðàâèëüíîãî ôóíêöèîíèðîâàíèÿ ñåòè. Ê ÷åìó ýòî ïðèâåëî? Ê óâîëüíåíèþ íåäàëüíîâèäíîãî (èëè ëåíèâîãî) àäìèíà. Ñî âðåìåíåì áîëüøèíñòâî ñîòðóäíèêîâ íà÷àëè æàëîâàòüñÿ íà «òîðìîçà» èíòåðíåòà, à äðóãèå, íàîáîðîò, çàìåòèëè, ÷òî ìîãóò êà÷àòü òîððåíòû â ðàáî÷åå âðåìÿ íà î÷åíü âíóøèòåëüíûõ ñêîðîñòÿõ. Ãîâîðÿ àäìèíñêèì ÿçûêîì, â ñåòè îáðàçîâàëèñü çàòîðû, âûçâàííûå òåìè, êòî â òîò ìîìåíò àêòèâíî åå èñïîëüçîâàë. Ñòîìåãàáèòíûé êàíàë ðàñïðåäåëÿëñÿ íåðàâíîìåðíî ìåæäó ïîëüçîâàòåëÿìè, è êàæäûé ìîã çàíÿòü åãî âåñü. Îñòàëüíûì ïðèõîäèëîñü æäàòü. КРАТКИЙ СЦЕНАРИЙ Ðåøåíèå ïðîáëåìû: ðàçäåëåíèå êàíàëà ìåæäó ñîòðóäíèêàìè ñ îãðàíè÷åíèåì ñêîðîñòè! Ñåòü áóäåò ôóíêöèîíèðîâàòü íà «5+», åñëè êàæäûé ñîòðóäíèê ïîëó÷èò â ðàñïîðÿæåíèå îòäåëüíûé êàíàë, ñêîðîñòü êîòîðîãî áóäåò ñîñòàâëÿòü 1 Ìáèò. Òîãäà îòäåëüíî âçÿòûé èíòåðíåò-ïîëüçîâàòåëü íå ñìîæåò çàíÿòü áîëüøå ïðè÷èòàþùåéñÿ åìó äîëè è îòîáðàòü ÷àñòü êàíàëà ó äðóãèõ. Ñ òî÷êè çðåíèÿ êîìïàíèè, ýòî åùå è îòëè÷íûé ñïîñîá ýêîíîìèè (ïîñëå ðàçäåëåíèÿ êàíàëà îêàçûâàåòñÿ, ÷òî åãî ñóììàðíàÿ ïðîïóñêíàÿ ñïîñîáíîñòü äàæå èçëèøíå âûñîêà) è âåäåíèÿ ñòàòèñòèêè ïî òðàôèêó äëÿ îòäåëüíî âçÿòîãî ñîòðóäíèêà. Îáû÷íî äëÿ ðàçäåëåíèÿ êàíàëà ñ îãðàíè÷åíèåì ñêîðîñòè èñïîëüçóþòñÿ âîçìîæíîñòè îïåðàöèîííîé ñèñòåìû IOS, íà êîòîðîé ôóíêöèîíèðóåò ñåòåâîå îáîðóäîâàíèå Cisco (äåøåâûå ðåøåíèÿ îò äðóãèõ ïðîèçâîäèòåëåé, òàêèõ, êàê Dlink, Trendnet è Netgear, âîîáùå íå îáëàäàþò òàêîé âîçìîæíîñòüþ). Îäíàêî îñîáîé íåîáõîäèìîñòè òðàòèòü áàñíîñëîâíûå ñóììû íà àïïàðàòíûå øëþçû îò Cisco íåò. ßäðî Linux óæå áîëåå ïÿòè ëåò êàê ñîäåðæèò â ñåáå êîä ñëîæíîé è âåñüìà ôóíêöèîíàëüíîé ïîäñèñòåìû óïðàâëåíèÿ òðàôèêîì Traffic Control, êîòîðàÿ ïî íåêîòîðûì ïàðàìåòðàì äàæå îáõîäèò IOS. ПОДСИСТЕМА TRAFFIC CONTROL Ïîäñèñòåìà Traffic Control ïîääåðæèâàåò ìíîæåñòâî ìåòîäîâ êëàññèôèêàöèè, ïðèîðèòåçàöèè, ðàçäåëåíèÿ è îãðàíè÷åíèÿ òðàôèêà (êàê èñõîäÿùåãî, òàê è âõîäÿùåãî). Îíà î÷åíü ãèáêà â íàñòðîéêå, íî ñëîæíà â ïîíèìàíèè. Ïîýòîìó ìû óäåëèì çíà÷èòåëüíóþ ÷àñòü ñòàòüè òåîðåòè÷åñêîìó ìàòåðèàëó è ëèøü çàòåì ïðèñòóïèì ê ðåøåíèþ çàäà÷è ñ ïîìîùüþ HTB — îäíîé èç íàèáîëåå ãèáêèõ è ïîïóëÿðíûõ äèñöèïëèí Traffic Control. Ïîäñèñòåìà óïðàâëåíèÿ òðàôèêîì Linux ïîçâîëÿåò äåëàòü ñëåäóþùåå: • Shaping. Øåéïèíã — îãðàíè÷åíèå òðàôèêà, çàäåðæêà ïàêåòîâ ñ öåëüþ ñîçäàíèÿ æåëàåìîé ñêîðîñòè ïåðåäà÷è. Ìîæåò èñïîëüçîâàòüñÿ íå òîëüêî äëÿ «ñóæåíèÿ» èñõîäÿùåãî êàíàëà, íî è äëÿ ñãëàæèâàíèÿ áðîñêîâ âî âðåìÿ ïèêîâûõ íàãðóçîê. • Scheduling. Ïëàíèðîâàíèå — óïîðÿäî÷èâàíèå òèïîâ òðàôèêà â êàíàëå. Ïîçâîëÿåò èçáåãàòü çàäåðæåê äëÿ êðèòè÷íûõ òèïîâ òðàôèêà (QoS). • Policing. Ïîëèòèêà âõîäÿùåãî òðàôèêà. Ïîçâîëÿåò îãðàíè÷èòü âõîäÿùèé òðàôèê ïóòåì óíè÷òîæåíèÿ ïðåâûñèâøèõ ëèìèò ïàêåòîâ. Ïîìîãàåò áîðîòüñÿ ñ DDoS. Îòìåòèì, ÷òî îãðàíè÷åíèå áåç ïîòåðü âîçìîæíî òîëüêî â îòíîøåíèè èñõîäÿùåãî òðàôèêà. Ñòåê ïðîòîêîëîâ TCP/IP íå ïðåäóñìàòðèâàåò âîçìîæíîñòè çàñòàâèòü óäàëåííóþ ñòîðîíó ñëàòü ïàêåòû ìåäëåííåå (è ýòî ïðàâèëüíî).  îáðàáîòêå òðàôèêà ó÷àñòâóþò òðè êëþ÷åâûõ ñóùíîñòè: äèñöèïëèíû îáðàáîòêè ïàêåòîâ, êëàññû è ôèëüòðû. Íàñòðîéêà ýôôåêòèâíîé ñèñòåìû îãðàíè÷åíèÿ òðàôèêà íåâîçìîæíà áåç ïîíèìàíèÿ ìåõàíèçìîâ èõ ðàáîòû, ðîëè è ñâÿçè äðóã ñ äðóãîì. Ìû â ïîäðîáíîñòÿõ ðàññìîòðèì êàæäóþ èç íèõ: • Äèñöèïëèíà îáðàáîòêè ïàêåòîâ (qdisc) — î÷åðåäü ïàêåòîâ è çàêðåïëåííûé çà íåé àëãîðèòì îáðàáîòêè. • Êëàññ (class) — ëîãè÷åñêèé êîíòåéíåð, êîòîðûé ìîæåò ñîäåðæàòü íåñêîëüêî ïîäêëàññîâ èëè äèñöèïëèíó. • Ôèëüòð (filter) — ìåõàíèçì êëàññèôèêàöèè òðàôèêà.  ïðîñòåéøåì âàðèàíòå ïóòü ïàêåòà îò ïðèëîæåíèÿ äî óäàëåííîãî êîíöà ñîåäèíåíèÿ âûãëÿäèò òàê. Ïðèëîæåíèå ãåíåðèðóåò (ïîëüçóÿñü óñëóãàìè áèáëèîòåê è ÿäðà) ñåòåâîé ïàêåò è îòäàåò åãî ÿäðó, êîòîðîå ïîìåùàåò ïàêåò â î÷åðåäü FIFO (ïåðâûì ïðèøåë, ïåðâûì óøåë). Äðàéâåð ñåòåâîé êàðòû âðåìÿ îò âðåìåíè îáðàùàåòñÿ ê ñïåöèàëüíîìó àëãîðèòìó ÿäðà, êîòîðûé èçâëåêàåò èç î÷åðåäè ïàêåò è îòäàåò åãî äðàéâåðó. Äàëåå ïàêåò óõîäèò ê àäðåñàòó. Âñå ïðîñòî. Linux äåéñòâóåò òàêèì æå îáðàçîì. Íî ôîðìàò ïðåäñòàâëåíèÿ î÷åðåäè è àëãîðèòì åå îáðàáîòêè, â ñîâîêóïíîñòè íàçûâàåìûå äèñöèïëèíîé îáðàáîòêè ïàêåòîâ, â íåì çàìåíÿåìû! Ïî óìîë÷àíèþ èñïîëüçóåòñÿ äèñöèïëèíà pfifo_fast, ðåàëèçóþùàÿ î÷åðåäü FIFO. Ïîëüçóÿñü óòèëèòîé tc, àäìèíèñòðàòîð ìîæåò çàìåíèòü åå íà äðóãóþ äèñöèïëèíó, êîòîðàÿ áóäåò ïåðåóïîðÿäî÷èâàòü ïàêåòû (ïëàíèðîâàíèå), çàäåðæèâàòü èõ íà îïðåäåëåííîå âðåìÿ (øåéïèíã) èëè âûïîëíÿòü äðóãèå äåéñòâèÿ. ДИСЦИПЛИНЫ КЛАССОВ Traffic Control íå áûë áû ñòîëü ãèáêèì, åñëè áû íå ïîçâîëÿë ðàçáèâàòü òðàôèê íà êëàññû ñ ïîìîùüþ êëàññîâîé äèñöèïëèíû è íàáîðà åå ïîäêëàññîâ. Ñõåìàòè- ÷åñêè êëàññîâàÿ äèñöèïëèíà î÷åíü ïîõîæà íà ôàéëîâóþ ñèñòåìó, c òåì ëèøü èñêëþ÷åíèåì, ÷òî åå êîðåíü èëè êëàññû (êàòàëîãè) ìîãóò ñîäåðæàòü ëèáî äèñöèïëèíó (ôàéë), ëèáî ïîäêëàññû (ïîäêàòàëîãè). Îäíî èç äâóõ. Êëàññîâûå 122 XÀÊÅÐ 07 /127/ 09

SYN/ACK ПРИЛОЖЕНИЕ ПАКЕТ ЯДРО TRAFFIC CONTROL ДИСЦИПЛИНА PFIFO_FAST ДРАЙВЕР СЕТЕВОЙ КАРТЫ ПУТЬ ПАКЕТА В ЯДРЕ LINUX, НАСТРОЕННОМ ПО УМОЛЧАНИЮ äèñöèïëèíû è êëàññû ïðåäíàçíà÷åíû äëÿ ïîñòðîåíèÿ äåðåâà âûáîðà. Ñíà÷àëà âåñü òðàôèê ðàçáèâàåòñÿ íà íåñêîëüêî îáùèõ êëàññîâ (íàïðèìåð, òðàôèê äî Îòäåëà-1, òðàôèê äî ñïåöèàëèçèðîâàííûõ âíóòðåííèõ ñåðâåðîâ è ò.ä.), à çàòåì êàæäûé èç íèõ ðàçáèâàåòñÿ íà íåñêîëüêî ïîäêëàññîâ (íàïðèìåð, òðàôèê äî DNS-ñåðâåðà Îòäåëà-1), çà êîòîðûìè óæå ìîãóò áûòü çàêðåïëåíû äèñöèïëèíû. ×òîáû óïðàâëÿòü òåì, äèñöèïëèíîé êàêîãî êëàññà áóäåò îáðàáîòàí îïðåäåëåííûé òèï òðàôèêà, êëàññîâûå äèñöèïëèíû ïîçâîëÿþò ïîäêëþ÷àòü ê ñåáå ôèëüòðû. Ýòî äàåò âîçìîæíîñòü «çàâåðíóòü» îïðåäåëåííûé òðàôèê â îäèí èç åå ïîäêëàññîâ. Ôèëüòðû èñïîëüçóþò êëàññèôèêàòîðû äëÿ èäåíòèôèêàöèè ïàêåòîâ íóæíîãî òèïà è êàê áû ãîâîðÿò ÿäðó: «Ýòîò âèä òðàôèêà äîëæåí îáðàáàòûâàòüñÿ ñ ïîìîùüþ äèñöèïëèíû âîò ýòîãî êëàññà». Ñóùåñòâóåò íåñêîëüêî ðàçíûõ êëàññèôèêàòîðîâ. Ñàìûìè ïîïóëÿðíûìè ÿâëÿþòñÿ u32 è fw. Ïåðâûé ïîçâîëÿåò âûäåëÿòü ïàêåòû ïî èñõîäÿùèì àäðåñàì è àäðåñàì íàçíà÷åíèÿ, ïîðòàì, ïàðàì «õîñò:ïîðò», òèïàì ïðîòîêîëà è òèïó ñåðâèñà. Âòîðîé êëàññèôèöèðóåò ïàêåòû ïóòåì ÷òåíèÿ ìàðêèðîâîê, çàïèñàííûõ áðàíäìàóýðîì iptables/netfilter (öåëü MARK). Çà êàæäûì ñåòåâûì èíòåðôåéñîì äîëæíû áûòü çàêðåïëåíû äâå îñîáûå äèñöèïëèíû: êîðíåâàÿ äèñöèïëèíà (root qdisc) è âõîäÿùàÿ äèñöèïëèíà (ingress qdisc).  ïåðâóþ ïîìåùàåòñÿ âåñü èñõîäÿùèé òðàôèê (ïî óìîë÷àíèþ èñïîëüçóåòñÿ äèñöèïëèíà pfifo_fast). Âî âòîðóþ — âõîäÿùèé. Äëÿ èäåíòèôèêàöèè äèñöèïëèí è êëàññîâ èñïîëüçóþòñÿ äåñêðèïòîðû. Îíè ñîñòîÿò èç ñòàðøåãî è ìëàäøåãî íîìåðîâ. Ïåðâûé — ýòî ïðîèçâîëüíîå ÷èñëî, îäíàêî âñå êëàññû, èìåþùèå îáùåãî ðîäèòåëÿ, äîëæíû èìåòü îäèíàêîâûé ñòàðøèé íîìåð. Ìëàäøèé íîìåð èñïîëüçóåòñÿ ëèáî äëÿ ïðîèçâîëüíîé èäåíòèôèêàöèè êëàññîâ, ëèáî äëÿ óêàçàíèÿ íà òî, ÷òî îáúåêò ÿâëÿåòñÿ äèñöèïëèíîé (íîìåð 0). Ñïåöèàëüíûé äåñêðèïòîð ffff:0 çàðåçåðâèðîâàí äëÿ âõîäÿùåé äèñöèïëèíû. УТИЛИТА TC Äëÿ êîíôèãóðèðîâàíèÿ ïîäñèñòåìû óïðàâëåíèÿ òðàôèêîì ïðåäíàçíà÷åíà óòèëèòà tc èç ïàêåòà iproute2. Îíà ïðèíèìàåò íàáîð êîìàíä â êà÷åñòâå àðãóìåíòîâ, ñ ïîìîùüþ êîòîðûõ ìîæíî ñîçäàâàòü êëàññû, ïðèâÿçûâàòü ê íèì äèñöèïëèíû è äîáàâëÿòü ôèëüòðû. Ñèíòàêñèñ åå ïîõîæ íà ñèíòàêñèñ êîìàíäû ipfw èç îïåðàöèîííîé ñèñòåìû FreeBSD, òàê ÷òî çíàêîìûå ñ íèì áûñòðî îñâîÿòñÿ. Äëÿ ïðèìåðà ðàññìîòðèì ïðîñòåéøèé âàðèàíò èñïîëüçîâàíèÿ: # tc qdisc add dev eth0 root tbf rate 256kbit \ latency 50ms burst 1540 НАИБОЛЕЕ ИСПОЛЬЗУЕМЫЕ ДИСЦИПЛИНЫ pfifo — Ïðîñòåéøàÿ î÷åðåäü FIFO (ïåðâûì ïðèøåë, ïåðâûì óøåë). Ðàçìåð áóôåðà çàäàåòñÿ â ïàêåòàõ. bfifo — Àíàëîã pfifo ñ áóôåðîì, ðàçìåð êîòîðîãî çàäàåòñÿ â áàéòàõ. pfifo_fast — Ðåàëèçóåò ïðîñòóþ î÷åðåäü FIFO ñ òðåìÿ ïîëîñàìè. Èñïîëüçóåòñÿ ïî óìîë÷àíèþ â êà÷åñòâå êîðíåâîé è íå ïðèíèìàåò àðãóìåíòîâ. tbf — Token Bucket Filter (TBF). Ïåðåäàåò ïîñòóïàþùèå ïàêåòû ñî ñêîðîñòüþ, íå ïðåâûøàþùåé çàäàííûé ïîðîã. Ïðîñòàÿ è òî÷íàÿ ðåàëèçàöèÿ äåëàåò åå èäåàëüíûì ðåøåíèåì äëÿ îãðàíè÷åíèÿ ïîëîñû ïðîïóñêàíèÿ âñåãî èíòåðôåéñà. sfq — Stochastic Fairness Queueing (SFQ). Ðåàëèçàöèÿ àëãîðèòìà ñïðàâåäëèâîé î÷åðåäèçàöèè. Ïîðîâíó ðàçäåëÿåò ïîëîñó ïðîïóñêàíèÿ ìåæäó íåñêîëüêèìè ñîåäèíåíèÿìè. Ýôôåêòèâíî ðàáîòàåò òîëüêî íà çàãðóæåííîì èíòåðôåéñå. red — Random Early Detection (RED). Ñèìóëÿöèÿ çàòîðà. Îòáðàñûâàåò ïàêåòû ñëó÷àéíûì îáðàçîì ïðè äîñòèæåíèè çàäàííîé ïîëîñû ïðîïóñêàíèÿ. Õîðîøî ïîäõîäèò äëÿ îãðàíè÷åíèÿ ïðîæîðëèâûõ â ïëàíå òðàôèêà ïðèëîæåíèé. prio — Ðàçäåëÿåò òðàôèê ïî ïðèîðèòåòàì (ïîëå TOS). Ïî óìîë÷àíèþ ñîçäàåò òðè êëàññà, â ïåðâûé èç êîòîðûõ ïîïàäàþò ïàêåòû ñ áîëüøèì ïðèîðèòåòîì, à â òðåòèé — ñ íàèìåíüøèì. cbq — Class Based Queueing (CBQ). Êëàññîâàÿ äèñöèïëèíà, ïðåäíàçíà÷åííàÿ äëÿ ñîçäàíèÿ ñëîæíûõ ñèñòåì óïðàâëåíèÿ òðàôèêîì. Ïîääåðæèâàåò îãðàíè÷åíèÿ è ïðèîðèòåòû. htb — Hierarchical Token Bucket (HTB). Ïðåäíàçíà÷åíà äëÿ ðàçäåëåíèÿ ïîëîñû ïðîïóñêàíèÿ ìåæäó ðàçëè÷íûìè âèäàìè òðàôèêà íà ïîëîñû çàäàííîé øèðèíû, ñ âîçìîæíîñòüþ çàèìñòâîâàíèÿ. Ïîääåðæèâàåò ïðèîðèòåòû. XÀÊÅÐ 07 /127/ 09 123

Май - Xakep Online
Скачать - Xakep Online
ИюНь - Xakep Online
Январь - Xakep Online
УЧИМ КАКОценить сбалансированность системы ... - Xakep Online
КОНКУРС - Xakep Online
Ноябрь - Xakep Online
Офисное западло - Xakep Online
ЛУЧШИХ ВИРУСОВ - Xakep Online
JIT SPRAY АНАЛИЗ TDSS - Xakep Online
Скачать - Xakep Online
Скачать - Xakep Online
ЛЕГКИЙ ХАК - Xakep Online
Взлом GSM - Xakep Online
2009 - Xakep Online
ВЗЛОМ ИНТЕРНЕТ-МАГАЗИНА: - Xakep Online
7 ЧУДЕС KDE - Xakep Online
c-лето ;) - Xakep Online
с татьи - Xakep Online
содержание 10 (59) - Xakep Online
Ноябрь - Xakep Online
Untitled - Xakep Online
WebMoney - Xakep Online
ЗАКАДРИ КАРДИНГ НАШИ ИДУТ! - Xakep Online
Зверские опыты над Oracle - Xakep Online
шпион внутри - Xakep Online
сишься, что левые трояны, вирусы и всякая про ... - Xakep Online