http://users.livejournal.com/_slw/ ([identity profile] http://users.livejournal.com/_slw/) wrote in [personal profile] nuclight 2012-05-28 08:37 pm (UTC)

я не вижу принципиальной разницы. в конце концов ipv4 -- это payload езернета.
так же мне не очевидно, почему следует ip поддерживать базово, в смысле чем он отличается от pppoe, gre, ipip... ну и будет ли выйгрыш в скорости, поскольку при базовом разборе ip его разбирают целиком, а при таком варианте разбор возможно будет происходить только частично и только когда надо. в смысле этакие ленивые вычисления. это может довольно сильно усложнить "компилятор" (а может и нет), но вряд ли скажется на эффективности обработки. и мне кажется, что можно с нуля вот так все описать.

да, при этом потребуются некоторые примитивы: преобразование в текстовый вид и обратно 8/16/32 битных чисел, ipv4/6 (а при добавлении протоколов дополнительные примитивые -- asn1 для h.323, побайтовое-через-запятую представление для ftp -- это надо будет делать модулями с реализацией на си); для отслеживания сесиий -- хэши и деревья от комбинаций битовых полей, для nat -- мапинг битовых полей одной размерности в другую.

я напишу пример для sip, но не сегодня -- я его на память не помню и надо будет rfc в очередной раз освежать в памяти.

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting