Archive
IPSec VPN между Nokia E90 и Linux 2.6 (kame/racoon)
- Необходими условия
На почти всеки днес е добре известно какво означава VPN. Виртуалните частни мрежи са изключително разпространени в наши дни, и се използват за най-различни неща—от достъп до корпоративни мрежи през свързване на фирмени офиси до достъп до домашни мрежи, всичко това през Интернет или през някаква друга враждебна (буквалният превод на hostile ми се струва много подходящ в случая) среда. С подобна идея (достъп до корпоративна мрежа) реших и аз да опитам да събера наличната информация и да осъществя VPN връзка между мобилен телефон Nokia E90 (или друг със Symbian v9 от S60v3 или FP1 и по-нов), и GNU/Linux машина с ядро 2.6 -
тествано с Debian GNU/Linux Lenny (20070903) и ядро 2.6.19.2 (с компилиран IPSec).
НОВО!
Днес нещо ми стана, взех, че срутих целия си сайт (?), включително блога и сложих един Drupal. Ако някой вземе да ме пита за кой дявол—и аз не знам, макар да си го мисля от доста време насам. Успях да си измигрирам блога, но ме мързеше да се занимавам и с коментарите (които, слава Богу, са обидно малко :). Така че моля, нека коментиралите не се сърдят—пазя няколкото топли коментара в сърцето си.
Карай—важното е, че го направих. Сега ми остава само да намеря как да натъпча в новия си сайт онези над 600 превода, които съм правил за M-SAT.
Без категория
Страницата не е открита! / The page cannot be found
Извинявайте, но поради скорошното преструктуриране на сайта, цялото съдържание е малко поразместено.
Можете да прегледате секциите Техника или Писания.
Sorry, but due to the recent restructuring of this site, the whole contents is a bit disordered.
You can take a look at the sections Tech or Writings.
Без категория
Основи на HFSC
Извадка от документацията към дистрибуцията ALTQ—първата свободна
имплементация на HFSC, разработена в Университета Карнеги Мелън за xBSD.
По-късно е пренесена от Патрик МакХарди в Linux 2.4/2.6.
Следният документ представлява добър справочен материал, но е твърде теоретичен.
Ето защо тук ще изложим основите на HFSC.
„A Hierarchical Fair Service Curve Algorithm for Link-Sharing, Real-Time and
Priority Service“ Ion Stoica, Hui Zhang, and T. S. Eugene Ng. SIGCOMM’97.
Документът може да бъде намерен тук:
http://www.minus273.org/wp-content/uploads/2008/01/sigcom97.pdf
Още информация има тук:
http://www.cs.cmu.edu/~hzhang/HFSC/main.html
-
Сервизна крива:
-
Виртуално време:
-
HFSC планиране:
-
Йерархично планиране:
-
Планиране в реално време:
HFSC поддържа 2 сервизни криви—една за реално-времеви критерии, а другата за
критерии на разпределение на линията.
Сервизната крива на HFSC се състои от 2 сегмента. „m1″ и „m2″ са кривините на
двата сегмента, а „d“ е x-проекцията на точката на пресичане, която определя
дължината на първия сегмент. Логично, „m2″ указва производителността,
гарантирана на един поток в дългосрочен план, докато „m1″ указва скоростта, с
която се обслужва един изблик (burst). Когато кривината на първия сегмент е
по-голяма от тази на втория, я наричаме „вдлъбната“. Една сервизна крива може да
бъде или вдлъбната, или изпъкнала.
m2 ________
________-------- /
/ m2 /
/ /
m1 / /
/ m1 = 0 /
/ __________/
<-d-> <-- d --->
concave convex
Една вдлъбната сервизна крива осигурява ограничен изблик (burst), подобно на
token-bucket. Триъгълната област, образувана от първия сегмент приблизително
съответства на дълбочината на token-bucket, а кривината ограничава нейната
пикова стойност.
Разликата се състои в това, че пиковата стойност на token-bucket е горна граница
на скоростта на изпращане и често се установява на скоростта, която позволява
физическата линия. От друга страна, HFSC гарантира скоростта, дефинирана от
първия сегмент, и следователно не може да бъде установена на скоростта на
физическата линия.
Изпъкналата сервизна крива, от друга страна, потиска първоначалния обем трафик.
„m1″ на изпъкналата крива трябва да бъде 0 в настоящата имплементация.
Една линейна сервизна крива е специален случай на изпъкнала крива с първи
сегмент NULL (т.е. празна стойност).
Линейната сервизна крива съответства на традиционния модел на виртуалния
часовник и е добра отправна точка за потребители-новобранци.
Всеки клас пази общия брой байтове, които вече е изпратил. Когато даден клас се
препълни, за пакета на върха на опашката се калкулира виртуално време vt. То
представлява x-проекция на сервизната крива, съответстваща на (total + packet_len).
В резултат на това vt на даден клас се увеличава монотонно.
Като се даде път на пакета с най-малко виртуално време, разпределението на
капацитет става пропорционално на кривината на сервизната крива на всеки клас.
bytes
| /
| /service curve
| /
next -->+ +----------------+
packet | | /|
length | | / |
| | / |
total --> + +------------+ |
bytes | /| |
already | / | |
sent | / | |
/ | |
| |
| |
--------+---+--------------> time
vt for next packet
vt for previous packet
Сервизната крива се обновява всеки път, когато даден клас се препълни.
Операцията по обновяването взема като минимум
(1) Сервизната крива, използвана при предишния период на препълване
и
(2) оригиналната сервизна крива, която започва в (current_time, total_bytes).
Когато един клас бъде неактивен достатъчно дълго, обновената крива е равна на
(2). От друга страна, когато класът е използвал много повече капацитет от
заделеното за него, обновената сервизна крива е равна на (1). (1) и (2) могат да
се пресекат, когато класът е използвал капацитет съвсем малко по-малък от
своя дял. В този случай, обновената крива би имала различна стойност „d“.
Операцията е илюстрирана в следните фигури. Може би е по-лесно да се разглежда
като полу-празна token-bucket.
________
________--------
/ ______
/ ________--------
________---+----
/ /
/ /
total -> / + new coordinate
/
/
service curve |
of +
previous period current
time
Update Operation
______
________--------
+----
/
/
total -> + new coordinate
|
+
current
time
New Service Curve
HFSC има два независими механизма за планиране. Планирането в реално време се
използва, за да се гарантира едновременно закъснението и разпределението на
мрежов капацитет.
Йерархичното планиране се използва, за да се разпредели излишния капацитет, ако
има наличен такъв.
Когато един пакет излиза от опашката, HFSC винаги опитва първо планиране в
реално време. Ако никой пакет не подлежи на планиране в реално време, се
изпълнява йерархично планиране. HFSC не използва йерархията на класовете за
планиране в реално време.
В HFSC само крайните (leaf) класове имат истински пакети, но виртуалното време
на междинните класове също се поддържа, като се сумира общия брой байтове,
използван от техните наследници.
Когато един пакет излиза от опашката, йерархичният scheduler на HSFC минава през
класовете от корена до един краен клас. На всяко ниво от йерархията scheduler-ът
избира класа с най-малко виртуално време измежду неговите наследници. Когато
бъде достигнат краен клас, той се и обслужва.
Обърнете внимание, че scheduler-ът търси само директни наследници на всяко ниво.
Ето защо разпределението на капацитета е пропорционално на кривините на
сервизните криви сред класовете с един родител, но не и сред такива с различни
родители. Например 4 крайни класа в следващата илюстрация ще получат еднакъв
капацитет, въпреки че А, B и C, D имат различни кривини.
С други думи, съотношението между класовете с един родител контролира
разпределението на капацитета, а абсолютните стойности на кривините нямат
значение. (Също стойностите на виртуалното време трябва да са логични само сред
класовете с един и същи родител).
root (100Mbps)
|
+-------+-------+
| |
E (20Mbps) F (20Mbps)
| |
+---+---+ +---+---+
| | | |
A B C D
(10Mbps) (10Mbps) (1Mbps) (1Mbps)
Противоположно на йерархичното планиране, за планирането в реално време се
използва едно единствено последователно време. Всеки клас пази кумулативен брой
байтове, подобен на общия брой байтове, но само за пакетите, които са били
подложени на планиране в реално време.
HFSC изчислява време за избиране и краен срок за всеки клас.
Времето за избиране и крайния срок са x-проекции на главата и опашката на
следващия пакет.
Един клас може да бъде избран за планиране в реално време, когато текущото време
стане по-голямо от времето за избиране на класа.
Планировчикът за реално време избира класа с най-малък краен срок сред
възможните.
bytes
| /
| /service curve
| /
next -->+ +----------------+
packet | | /|
length | | / |
| | / |
cumulative --> + +------------+ |
bytes | /| |
already | / | |
sent | / | |
/ | |
| |
| |
--------+---+--------------> time
eligible deadline
time
В оригиналния документ за HFSC за планирането в реално време и за
разпределението на капацитета се използва една сервизна крива. ALTQ (а оттам и
имплементацията за Linux) е разширена и може да използва независими криви за
реално време и за разпределение на капацитета.
Разделянето на сервизните криви позволява да се контролират независимо
гарантираната скорост и разпределението на излишния капацитет. Например възможно
е да се гарантира минимум капацитет 2Мбита на два класа, но излишния капацитет
на бъде разпределен в различно съотношение.
Възможно е също която и да е от сервизните криви да бъде установена на 0. Когато
кривата на реалното време е 0, класът получава само излишния капацитет.
Когато кривата на разпределението е 0, класът не може да получава излишен
капацитет при наличие на такъв. Обърнете внимание, че нулево разпределение прави
класа не work-conserving.
Забележете, че разпределението на капацитет може да гарантира заделената скорост
само ако кривата на реалното време е равна или по-малка от кривата на
разпределение на капацитет за всички класове. Ако кривата на разпределението на
капацитета е по-малка, скоростта може да не бъде осигурена.
Пишете ми, ако намерите грешки и/или несъответствия в този текст.
За мен
Приятно ми е да се запознаем.
Казвам се Никола Колев, роден преди 30 години и живущ в град Варна.
Ако търсите начини да се свържете с мен, предпочитам да използвате Jabber. Можете да ме намерите като потребител nikky на сървър jabber.minus273.org.
Без категория
Едно романче
Prescriptum: Всякакви прилики с действителни лица и събития никак не са случайни.
И така, сега ще чуете баладата, или както някои я наричат – сага, или както други ѝ казват просто история, легенда, приказка… и по още доста начини, за рицаря на електронната игра, или както ще го наричаме тук – Белия Рицар, в левия ъгъл на ринга, а в десния ъгъл на ринга е Черния Рицар, секундант му е… мо-о-омент, грешка, става дума не за боксов мач и май е най-добре да започнем от самото начало, от една много тежка нощ и една още по-тежка сутрин.
В едно малко градче или по-точно в една околия живял един епископ, но той не бил съвсем епископ, защото по онова време (кое време?!) нещата с църковните служители били доста по-различни и титлите им не били така точни, за този епископ дори се носи слух, че е бил самият Симеолин, не без основание, както ще се убедите след като прочетете това, може да е бил игумен, поп, или Бо…, по-скоро Дявол знае какво. Та този епископ, след като за пореден път доказал верността на максимата, че „… само идиотите не се учат от грешките си, но ние сме идиоти…“ по един твърде характерен за него начин. След като за ядене си поръчвам мешано, а не само един тип скара, то и за пиене трябва да си вземам няколко неща, казал си той и слязъл до избата си, за да наточи 1.5 литра Merlot и да си дръпне от лютата сливовица, а също и да си подмаже с благата крушовица, пък и не пропуснал да опита станало ли е тазгодишното винце и като повторил тази процедура, вече малко трудно взел 13-те стъпала до столовата, където го чакала шумната компания от един богат земевладелец и двама барони, чиито земи епископът отдавна притежавал и сега само от съжаление и чист хуманизъм и човеколюбие и толкоз ги събирал на разпивка. Ще кажете доста интересно си прекарвал нощите тоя божи служител, ама да знаете, той ги „прекарвал“ и по доста по-интересен начин, но това ще стане обект на разглеждане по-късно. Но точно тази вечер се случил трагичен инцидент, трижди проклетата черна котка, с ужасните опалови очи, минала в избата и подбудена от Нечестивия, поганката зяносала безценното каче с кисело мляко, което добрият стопанин пазел като очите си (поне когато не бил се докарал до състояние да пее за втори път, гостите го изкарали на бис „Градил Илия килия…“). Та значи съборила тя млякото и не само го съборила, ами го и излокала цялото, къде се е чуло и видяло котка да лочи кисело мляко, ще кажете Вие. Е, тая лочила, от лошотия лочила, сякаш Лукавия се бил вселил в нея , па накрая си облизала и мустаците, па си завила края и драснала да си върши котешките работи, по-черна и от греха…
Когато на сутринта епископът се пробудил от заслужения си праведен сън по пътя на дедукцията стигнал до следното заключение, което обаче по обективни причини ще видите, че не било вярно, а то било следното: „Щом разни хранителни продукти напускат тялото не по реда, по който са постъпили, то няма значение кое ще бъде първо на сутринта—закуската или киселото млекце“. И като помислил това той си хапнал пържени яйца с люти чушки, а злодейската ръка на Нечестивия била оставила до него и една кана с онзи отпадъчен продукт, който присъства и в aqua vitae, а именно H2O и епископът я изпил цялата. Злото вече било станало и той предприел единственото разумно в този случай действие, заприпкал към избата. Заприпкал не е точната дума за болезненото му клатушкане наляво-надясно, но в крайна сметка се добрал до целта си, но по-добре да не го бил правил, защото гледката почти го довършила. Технически той бил още жив, но разстоянието, което го деляло между света на живите и този на останалите било се скъсило, колкото могло повече от преди малко. И тогава епископът изрекъл страшното проклятие с 666 думи, изречени в 13 стиха, съставени от неповтарящи се всякакви ругатни и псувни, които той бил научил от странстванията си из други страни. И това проклятие е най-силно и до днес и от него бяга дори Лукавия, защото то било изречено в труден и кобен час… Всъщност някои твърдят, че епископът не изрекъл никакво проклятие, а само започнал да вие по някакъв странен и жален начин по посока на събореното каче. Но така или иначе по-късно ще ни трябва това проклятие, затова е по-добре да знаем произхода му. Няма да опишем последвалите действия на епископа, за да не бъдем обвинени в натурализъм, но накрая той седял в тъмната изба, на хладно, обхванал главата си с ръце и се мъчел да задържи отлепящото се теме на мястото му. Всичко, което виждал той, било обагрено в пурпурно и пулсирало в унисон с главата му, а стомахът му правел салтоморталета, въртял се наляво, надясно, подскачал нагоре, надолу, обикалял в кръг, а епископът гледал мрачно, с поглед, непредвещаващ нищо добро за този, който вдига шум. Стъпките на пъплещата по пода муха отеквали в главата на епископа като конски тропот…
Един час по-късно епископът се добрал до животоспасяващо кисело мляко, по-право се добрал само до сведения, че на едни нищо и никакви си 5 километра от него един благодетел разполагал с една купа кисело мляко… Решението било взето и епископът се залюшкал между двама вилани, които го повели към заветното спасение. Но странно, по пътя, докато вървели, притъмняло и хлад сковал сърцата на селяните, само попът нищо не усетил по обясними причини. Спуснала се мъгла, която покрила с лепкавата си сумрачна пелена пътниците. Селяните чули кикот, писък на сова (и то в такъв необичаен час), обадил се пръч, и тогава видели най-ужасното и побягнали. Единственото, което хората изкопчили от разстроените вилани, били несвързаните приказки за някаква котка, която дори не била черна, а просто тъмна, мустаците и били целите в кисело мляко, а някъде там се мержелеела може би човешка фигура, яхнала козел… Епископът, който бил свикнал на гледки от подобен характер сутрин, се олюлял леко, вгледал се, и…
Желания
Историята на това стихотворение е изключително интересна.
То е написано от Макс Ерман през 1927 година. Всички права са запазени.
Бавно върви сред шума и припряността, и не забравяй какво спокойствие можеш да намериш в тишината.
Доколкото е възможно, без да отстъпваш, бъди в добри отношения с всички хора. Изказвай мнението си тихо и ясно; и слушай другите, дори глупавите и невежите – те също имат какво да кажат.
Избягвай шумните и груби хора – те са досада за духа. Ако се сравняваш с другите, може да станеш суетен или злостен; защото винаги ще има по-големи и по-малки личности от теб. Радвай се на постиженията, а също и на плановете си.
Интересувай се от занятието си, колкото и скромно да е – това е едно истинско притежание в променливата сполука на времето. Бъди внимателен в работата си, защото светът е пълен с измами. Нека обаче това не те заслепява за истинските ценности – мнозина се стремят към високи идеали; а в живота често има доблест.
Бъди себе си. Най-вече не се преструвай, че обичаш някого. Нито пък бъди циничен спрямо любовта, защото при всичката скука и разочарования тя е така вечна, както и тревата.
Приемай с благодарност мъдростта на годините, изящно изоставяйки нещата на младостта. Подхранвай силата на духа си, за да те пази при нещастие. Но не се терзай с представи. Много страхове са родени от изтощение и самота. Отвъд здравата дисциплина бъди внимателен със себе си.
Ти си дете на Вселената не по-малко от дърветата и звездите; и имаш право да си тук. Без значение дали ти е ясно или не, без съмнение Вселената ще разкрие плановете си при нужда.
Следователно бъди в мир с Бог, за какъвто и да го приемаш, и каквито и да са стремежите и работата ти, в шумният водовъртеж на живота се помирявай с душата си.
С всичките си преструвки, неблагодарна работа и разбити мечти, светът все пак е прекрасен…
Бъди радостен.
Опитай се да бъдеш щастлив.
Безкрайно заблуден съм бил толкова години… Когато през 2002 го открих нейде из нета, си мислех, че наистина е писано от неизвестен автор, и се намира на стената на черквата „Свети Павел“ в Балтимор.
Не увяхвай
Този превод на ‘Don’t Fade Away’ на Dead Can Dance е посветен на Mermaid
Не увяхвай,
мое момиче с кафяви очи.
Ела с мен,
ще възрадвам сърцето ти,
ще танцуваме в самотата си
и ще търсим утеха в мъдростта,
която даряваме…
Мислейки за настоящето и за бъдещето.
Ще унищожаваме страховете в огнения хаос.
Говори това, което мислиш
и мисли това, което говориш.
Чувал съм, че невинността може да ни заблуди.
Но не им позволявай да те пречупят.
Светът е пълен с несбъднати мечти…
Тишината е единствената им добродетел,
заключена в тихите им мечтания…
Но нека сега потанцуваме в тази звездна нощ,
изпълнена с блясъка на огнените звезди.
А в зори, когато изгрее нашето слънце
и донесе със себе си симфонията
от птичи песни,
не ме предавай…
Позволи ми да остана още малко.
А животът е така кратък…
Нека се потопя в усмивката ти,
която ме възнася
в здрача на градината…
Лека нощ…
Акъл
Искам един ден да стана умен. Толкова умен, че да пиша книги. Някой ден. Когато и да е, но по възможност веднага. Затова постоянно се опитвам да чета разни „интелектуални“ книги. Или ако не интелектуални, то поне такива, които ми се струват предизвикателство за ума. Буковски например… С изрази като: „…разговорът беше лек и свободен. Много тайни откривахме заедно. Когато говорехме за нещо красиво, Кас се смееше, смееше се от сърце. Беше като голямата радост, която излъчва огънят“, аз просто не бих могъл и да си помисля да започна да пиша. Не е ли така?! От друга страна: „Преебаха ме! Напиха ме! Подписах договора!“ ме кара да не губя надежда, че това някой ден ще стане. В смисъл, че ще започна да пиша, де. Не че ще ме преебават. Толкова просто изглежда… прозаично някак си. Хъм… Всъщност и прозаично не е точната дума. Обременен съм от прекалено много глупости.
Мисля си само за незначителни неща. В този момент някой психолог би се намесил, казвайки, че това говори за доста ниско ниво на самоуважение. Е, не знам дали точно така би го формулирал, но поне аз така си го представям. Както и да е, не това ми беше мисълта. Вижда се, че талант нямам. Написал съм едно единствено нещо, което си го харесвам, а и на други хора им допада. Но това беше преди 6 години. Оттогава насам—нищо, сух кладенец, празна бутилка. Такива ми ти работи, в общи линии. Но ако някой ден наистина стана умен, то си обещавам, че ще напиша една книга. Проблемът е само как ще разбера, че съм станал умен. Дали някой ще ми го каже? Може би, но и сега мои познати ме мислят за умен. Това е лесно, да ги заблудиш. Просто използваш думички, които те не са чували, връзваш малко по-сложни изречения, отколкото те могат да възприемат, не си оставяш магарето в калта, каквото и да е положението. И така всички си мислят, че си голяма работа.
Но когато ножът опре до кокала, тогава вече става ясно кой—какъв е. Заблудата е най-доброто оръжие във всяка борба, но идва момент, когато не ти е от полза. Интересно ми е как така писатели, които смятам за оригинални, като Селинджър (макар от него да съм чел само „Спасителят в ръжта“) или Буковски изглеждат умни, но и не се занимават с нищо определено. Визирам техните лирически герои, разбира се. За тях самите не знам много. Но Холдън Коулфийлд е един хаймана. Да, хаймана от най-висока проба, но все пак… Тийнейджър, който пие, заглежда жените (а същевременно си има вече изградени принципи спрямо тях) и просто не прави нищо особено. Нищо. Буковски пък се опитва да изглежда, като че ли прави нещо, работейки тук и там из цяла Америка, но всъщност той също е безделник. Общото между тези двамата ми се струва (макар да е очевидно) това, че те ЖИВЕЯТ. Живеят си бе, като едни пичове. Поркат, шибат, бият се, реват, ругаят, пишат стихове и проза (някои от тях) и други такива едни „житейски“ работи.
Или пък нещо от рода на:
„какво ново, Тони?“—попитах.
„лайна“—каза Тони.
„това ново ли е?“
„лайна“—каза Тони.
„лайна“—каза Майк Индианеца.
Просто безценно. Има нещо, което не е необяснимо, но понеже аз съм един мизерен тутманик, дето не може да върже две думи на кръст, не мога и да обясня какво имам предвид. Ханк го казва най-добре, перифразирам, естествено—когато застана пред белия лист, имам чувството, че той ме наблюдава. Всеки си има своя личен кошмар, а това е моят. При мен разбира се няма листи, а компютърен екран, но нали panta rei, panta kineitai kai ouden tauto menei. Абе мамка му…
Всичко е един шибан кръговрат, ето какво е. Буковски пише за мадами, които му се обаждат, казвайки, че са прочели еди-кое си стихотворение. Мда. А какво е станало, когато са прочели „Любовни истории на обикновената лудост“? Дали пак са му се обаждали?
Поетите били хора, които казвали много неща с малко думи, докато писателите—обратното, малко неща, но надълго и нашироко. Ахам. Това си е точно така.
