ventricola

ventricola

пикабушник
1054 рейтинг 88 подписчиков 149 комментариев 12 постов 5 в "горячем"
44

PGina - альтернатива Active Directory аутентификации в windows для гетерогенных сетей

Коллеги пишут нам о полезных программах -  собственно, почему бы и нет?!

Общеизвестно, что с древнейших времен не только юзеры, но и сисадмины локалхостов, да что тут говорить, даже матерые ветераны страдали.

PGina - альтернатива Active Directory аутентификации в windows для гетерогенных сетей Active Directory, Ldap, Аутентификация, Авторизация, Windows, Open Source

В сети за много лет накопилось огромное количество свидетельств поиска страждущими способов добавления компьютеров с урезанными версиями Windows (Home, Starter и т.п.) в домен Active Directory. Большая часть свидетельств содержит сведения о том, что страждущие так и не обрели желаемого, обломались и продолжали пребывать в унынии и страдании.


В то время как выход есть, и он прекрасен и прост. Много лет существует и развивается незаслуженно малоизвестный, но прекрасный свободный проект pGina, который позволяет легко организовать, по крайней мере, часть нужного, а именно аутентификацию.


С одной стороны это решение не может претендовать на полноценный клиент для AD, про групповые политики и другие радости вам придется забыть. Но пользователей оно аутентифицирует на ура и с минимальными трудозатратами.


С другой стороны этот проект позволяет совсем избавиться от AD, и даже про samba не вспоминать, потому что ежели кроме аутентификации ничего не нужно, то настроить сервис можно даже на OpenLDAP с минимумом телодвижений. Что для людей, у которых преимущественно *NIXы всякие да радиусы с такаксами, а Windows мало и спорадически,  может быть очень и очень приятственно.


Ну вот засим и все. Настройка и сопровождение никаких проблем и хлопот не сулят, поэтому откланиваюсь, до новых встреч.

Показать полностью
-4

Secure Boot vol 3. Ну поговорим.

Однако каков оказался ажиотаж от поста https://pikabu.ru/story/garri_potter_i_analnyiy_zondwwsecure..., ужс! Несмотря на то, что он не был никоим образом ответом на https://pikabu.ru/story/nash_quotproblemnyiyquot_secure_boot..., автор @ahovdryk решил написать мне темному тупому гуманитарию ответ - https://pikabu.ru/story/secure_boot_vol_2_pogovorim_o_svobod....


Я поначалу пробовал написать развернутый коммент с ответами на ответ, но он получился очень уж большим, так что придется новым постом.


Итак начнем, помолясь, продолжим врать и лгать наперекор священным продажам и адептам MCSA .


Итак, что там пишет @ahovdryk:

@ahovdryk:
В том числе почему свободу иногда нужно зажимать.
@ventricola:
Дело в том, что это одна из технологий существенно ограничивающих цифровую свободу, ну и как результат свободу в целом.
@ahovdryk:
Дело в том, что это враньё. Возникло ли это враньё из-за неграмотности или злого умысла я судить не берусь, но факт остаётся фактом.

Это все личное мнение @ahovdryk, как и мое иное мнение, фактами здесь и не пахнет. Причем налицо двоемыслие про свободу нужно зажимать, но что она зажата - вранье!


Эта технология была введена именно с той целью, что я уже писал: никому кроме очень странных личностей не нужны неопознанные модули в UEFI. Причём для любителей свободы существует следующий интересный факт: вы можете подписать свой модуль своим самопальным ключом и самолично добавить этот ключ в список разрешённых.

Это не так, это возможно там, где разрешат демиурги, количество таких девайсов исчезающе мало. Про это в моей статье и написано. Я отвечал в комментариях к своему посту про это:


@electronik:


Если каждый сможет подписывать бинари, то теряется весь смысл SB. Это как с ssl сертификатами, их должен выдавать только удостоверяющий центр. А по второму пункту, я во всех uefi на oem матерях всегда видел пункт удалить ключи.

@ventricola:
Эдак можно утверждать, что если каждый будет на моем компе админом это очень плохо. Не вопрос. Только это мой комп - хочу буду админом, хочу бомжей из интернетиков админами напущу.
С сесуребутом все не так, админы-демиурги на моем компе все в майкрософте, а бомж - я, захотели в майкрософте - пустили меня на комп, посчитали, что небезопасно - выгнали меня нах на мороз. Что не так-то, небезопасно ведь!
Зачем какому-то бомжу давать возможность подписывать загрузчики на его же железе, когда демиурги лучше знают, как нужно.

Вот сетап моего рабочего ноута. Кто покажет пальцем, где найти key management? Ткните носом уже:

Secure Boot vol 3. Ну поговорим. Uefi, Secure Boot, Информационная безопасность, Информационная свобода, Анальный зонд, Длиннопост
Secure Boot vol 3. Ну поговорим. Uefi, Secure Boot, Информационная безопасность, Информационная свобода, Анальный зонд, Длиннопост
Secure Boot vol 3. Ну поговорим. Uefi, Secure Boot, Информационная безопасность, Информационная свобода, Анальный зонд, Длиннопост
Secure Boot vol 3. Ну поговорим. Uefi, Secure Boot, Информационная безопасность, Информационная свобода, Анальный зонд, Длиннопост
@ventricola:
Это один из анальных зондов, навязанных пользователям IBM PC совместимых платформ, избавится от которого крайне сложно.

@ahovdryk:
Это тоже враньё. Первое я уже упоминал ранее - сертифицированные для Windows системы на IBM PC-совместимых машинах обязаны иметь возможность этот "зонд" отключить, что прямо противоречит заявляемым оппонентом целям технологии.

Это верно для Windows 8. А современные сертифицированные системы как? Обязаны иметь возможность отключать, нет? Как в будущем будет? Обязаны будут? @ahovdryk, вы прочитайте стандарт, приведите из него значимые куски текста. Потом напишете у кого вранье.


@ahovdryk:
То есть для 99% пользователей это не составит никакого труда после прочтения справочной информации о своей материнской плате. Повторяюсь: вообще никакого труда.

А как дальше, про горизонт планирование слышали, как будет через 5, 10 лет?


@ahovdryk:
Коллеги и сочувствующие, нас опять обманули. Das U-Boot вообще не предназначен для домашних компьютеров. OpenBIOS просто не способен выполнить свои задачи без coreboot или U-Boot. Coreboot написан с целью выполнения минимально необходимых для загрузки задач. То есть на нетривиальных конфигурациях ваша система с прошивкой coreboot может запросто не загрузить что-то такое бесполезное и никому не нужное как SaS/RAID контроллер.

Да, да, такое до UEFI было абсолютно невозможно, кроме UEFI никто не справится, никто-никто. UEFI уникален, без него просто никуда, даже ДВД без винды не посмотреть. А сесуребут вообще ниспослан богами от руткитов, буткитов и чтобы мы там не загрузили вдруг чего неправильного.


Google разрешила себе удалять приложения со смартфонов и планшетов Android-пользователей, Microsoft: We can remotely delete Windows 8 apps - это прекрасно хули, а без сесуребута такое качественно проделывать невозможно. Поэтому будет сесуребут.


@ahovdryk, вы бы лучше пример вот такой вот нетривиальной конфигурации привели из своего опыта работы, который без UEFI никак не загрузить.


@ventricola:


То есть некая группа Microsoft и ко пролоббировала принятие стандарта, который не позволяет мне использовать такие ОС, какие я хочу, сам я создавать цифровые подписи никак не могу, и сделать с этим ничего нельзя.

@ahovdryk:


Нам лгут. Причём лгут вопиюще нагло. Давайте ещё раз посмотрим в список членов UEFI Forum.

Вот есть UEFI, а вот есть Secure Boot, статья была про сесуребут, даже в названии про UEFI вообще ничего. Но опять, @ahovdryk, вы приплетаете весь UEFI к вопросу про сесуребут и игнорируете вопрос про то, кто еще из форума может подписывать загрузчики. А я задавал вопрос в комментах, кто кроме майкрософта может. @ahovdryk, вы предпочли не отвечать и проигнорировать, но притянуть к сесуребуту весь UEFI форум, который ничего не подписывает и не будет. При этом форум вполне себе общественная организация, а про общественность майкрософт я ничего такого слыхал. А в моем первом посту тоже про это было, но @ahovdryk решил таких мелочей не замечать.


@ahovdryk, скажите все-таки вот каноникал, как член форума может подписывать загрузчики? Кто из перечисленных вами может?



@ventricola:


Сделайте, ладно, так, чтобы я сам мог определить, что безопасно, а что нет.


@ahovdryk:


Проблема в том, что вы как раз этого и не можете сделать. Вы не можете определить безопасность за пределами своей сферы компетентности.

Я-то конечно темный тупой гуманитарий, но, @ahovdryk,  вам не стоит уравнивать всех с собой по уровню развития, это порочная практика никого не доводила до добра. Вот я себе небезопасный загрузчик скомпилировать могу, а загрузить сесуребутом на прекрасном железе без легаси или key management почему-то не могу. На телефонах такое уже в полный рост. Теперь дело за ПК.


@ahovdryk:


И возникает вопрос - стоит ли комфорт дураков безопасности остальных пользователей?
Заражённая машина - источник опасности для соседей. В Сети мы все соседи. Часть наших соседей некомпетентна. Либо мы усложняем процедуры безопасности и отбираем у пользователя свободу сходить пописать в работающую трансформаторную будку, либо гонясь за эфемерной свободой наслаждаемся вирусными эпидемиями.

И мыслепреступления тоже угрожают безопасности, @ahovdryk, вам нужно для натягивания или сову взять побольше или глобус поменьше. А еще если все хорошие люди соберутся и убьют всех плохих людей, сразу заживем. Это, конечно, если к вопросу цыган, жыдомасонов и ниггеров еще не приплести.


@ahovdryk:


Поставьте ключ Canonical и не ходите никуда ни на какую сертификацию. Много где он есть и так. Но что ещё смешнее - есть shim, через который и грузится на фиг не нужный в этом режиме GRUB. Ещё смешнее эта претензия выглядит оттого, что вам никто не мешает новую "бинарь" подписать старым ключом! Оппонент просто не понимает как работает критикуемая им технология!

Конечно не понимает, куда ж ему. Демиург с удовольствием даст тупому оппоненту возможность работать как ему нужно, если это правильно, а если по мнению демиурга оппонент работает неправильно, то не даст.

@ventricola:
На мобильных результаты уже видно, где вендор даст возможность разблокировки загрузчика, там грузитесь, а где не даст, там "бюстгальтер женщины самоклеящиеся толчок вверх хлопок бюст без бретелек установить белье".


@ahovdryk:


И я напомню оппоненту откуда эта радость вылезла. А вылезла она из-за двух вещей: руткитов и косоруких пользователей, которые своими неграмотными действиями кирпичили аппараты и задалбывали техподдержку. Потому что современный пользователь некомпетентен. Это положение де-факто. И вот тут мы и наталкиваемся на причину по которой FOSS-ключей нет в UEFI производителей. Потому что производителям это не нужно. Вообще и совсем. А производителям это не нужно, потому что пользователям не нужна система в которой vi/vim считается текстовым редактором. Впрочем, проблема глубже.

Давайте я попробую развить. Людей лучше сразу в детстве усыплять, а то жить небезопасно. А тех кого в детстве не усыпили и кто сопротивляется - мучительно ликвидировать. Так как они угрожают безопасности первых. А у вас наверное и Сертификат Майкрософт есть?


@ventricola:


Ну а у на PC прилетели полезные автоматические обновления и нужна срочная перезагрузка, подождите пока установятся обновления, не выключайте компьютер.


@ahovdryk:


У человека, который евангелист FOSS, не хватило компетенции прочитать 10 слов, благодаря которым перезагрузку в Windows 10 можно отложить на несколько суток. А почему обновления теперь приходят так? А я напомню. Все помнят вирусные эпидемии Kido, Conficker, Xorer, TDSS? Все они до единого эксплуатировали давно закрытые в Microsoft уязвимости. Пользователи просто решали, что безопасно, а что нет. И отключали обновления. С закономерным фееричным результатом. Вот вам циферка для размышления: от публикации до эксплуатации уязвимости проходит около трёх суток. Обновления нинужны(sic!).

Во первых, @ahovdryk, вы про меня ничего кроме постов не знаете, а суждения лучше выносите о родителях. А про обновление нинужны, это вы написали, и мне свои фантазии приписывать не нужно.


Да и вот про десяточку расскажите подробнее, почему описанное мной поведение  - поведение по умолчанию, почему это нормально, и еще раз пропойте мантру, что проблемы совсем нет. Потом подумайте о том, что через полгодика возможность отложить перезагрузку можно будет совсем выключить и все всё сожрут, и сделать будет ничего нельзя.


А так-то проблем нет Windows 10 update reboots computer while user is logged in despite group policy setting, Windows 10 update reboots computer - всего 198 млн результатов.


@ahovdryk:

Уважаемый FOSS-евангелист. Лично я считаю, что ваша свобода размахивать кулаками (читай: сидеть на необновлённой машине с недоверенным кодом в прошивке) заканчивается в вашей не подключённой к Интернет локальной сети. Требовать, чтобы все могли так лазить в Сети это превращать регулируемый перекрёсток в бомбейский. Тоже вид свободы, чего уж там. Вы тут не одни. Вообще и совсем. Ваша реальная доля у пользователей это 3%.

Вот и статистика подтянулась из надежных источников, вы еще напишите сразу, что-то типа того, что 95% населения полные идиоты. Напомните наконец когда вы последний раз проводили обследование моей машины и где вы видели, что я размахивал кулаками? Опять фантазии?

Про 3% осмелюсь спросить про гугл на винде? Яндекс? Википедию? Чего там еще? Порнохаб на винде же?


@ahovdryk:
Давайте не будем нечестными, причисляя к пользовательским машинам сервера, суперкомпьютеры, встроенные системы и всякое такое. Эти вещи администрируются квалифицированным персоналом. Когда персонал неквалифицирован - беда происходит абсолютно на любой системе. Если вы побежите причислять к *nix системам Android, то я вас огорчу - по любой классификации Android не Linux.

Напомните что и кто куда причислял? Это по какой такой классификации Android не Linux, раскройте уже мне глаза? Вы же знаете, что такое Linux?


@ahovdryk:


Тем более, повторюсь, ни у Canonical, ни у Red Hat почему-то не возникло проблем с ключами Microsoft. Может, они как-то не так как вы свободу понимают? И да, может, прекратите врать?
Кстати, загрузить Linux в Secure Boot без Microsoft'овских ключей вообще-то вполне реально. Так что об этом, конечно же, многие фанаты FOSS тоже лгут.

Ух ты вокруг сплошные вранье и ложь, по-мнению @ahovdryk. Да вообще проблем никаких нет, наговаривают поди. Вот и рхел и убунта доброю  волею майкрософт без проблем грузятся. @ahovdryk неведомо, что некоторые могут сами в ОСи, что есть linux from scratch, что с самого начала истории ПК некоторые опасные дураки вместо игр рубились в изучение и написание своих недоОС just for fun.

Показать полностью 4
23

Гарри Поттер и анальный зонд^w^wSecure Boot.

Несколько дней назад наш уважаемый коллега @ahovdryk опубликовал пост об Secure Boot. В целом все описано довольно понятно и доступно, за исключением одного аспекта, одного НО, за что же эта технология подвергается такой критике.


Дело в том, что это одна из технологий существенно ограничивающих цифровую свободу, ну и как результат свободу в целом. Это один из анальных зондов, навязанных пользователям IBM PC совместимых платформ, избавится от которого крайне сложно.


Давайте попробуем разобраться по порядку, иначе будет непонятно.


Secure Boot является частью спецификации UEFI, которая, в сущности, является международным стандартом программного обеспечения для низкоуровневой инициализации компьютеров, а в IBM PC используется вместо древнего BIOS.

BIOS и вправду очень стар, у него масса недостатков и рудиментов, нет 64битной реализации, нет механизма работы с дисками большого объема и т.д.

Эти недостатки не современные, не сегодняшние и не вчерашние, они были с BIOS всегда, если кто помнит, проблемы с объемом дисков всплывали в прошло неоднократно и успешно решались. Помнит кто про 32ГБ? А ведь было много и раньше, еще с мегабайтов. Решались проблемы с CHS/LBA разметкой, с флагом активности в MBR, и еще овер 9000 вещей были доработаны в BIOS за его более чем 30-тилетнюю историю. В принципе, он еще может выполнять свои функции после доработки напильником.


UEFI быстрее, выше, сильнее, нет вопросов, современный UEFI представляет собой практически полноценную операционную систему и позволяет, например, использовать ПК вместо DVD или mp3 плеера, на загружая основную ОС. UEFI умеет 64 бита, т.е. может адресовать всю доступную память и полноценно использовать регистры; он же умеет в диски большого объема, кроме того относительно неплохо умеет в сеть. Ну это если про существенные преимущества, а не про двд плеер.


Тут необходимо понимать, что UEFI не лучший и не худший, причем, далеко не единственный из вариантов эволюции. Я перечислю только открытые: Coreboot, Libreboot, OpenBIOS и Das U-Boot.


Кто-то, наверное, скажет: "Опа, очередной линуксоид!". Неа, я, конечно, FOSS евангелист, по крайней мере в моей жизни и практике FOSS играл и играет огромную роль, даже может линуксоид. Но для меня всех на свете милее FreeBSD, хоть и приходится сейчас, в основном, в Linux.


Вернемся к теме про Secure Boot.


На сейчас, при том, что международный стандарт и множество производителей айбиэмсовместимого железа, загрузчики подписывает только Microsoft. То есть кроме Microsoft никто не может создать цифровую подпись для загрузчика, чтобы UEFI Secure Boot стал считать загрузчик безопасным. Большая часть вендоров сохраняют возможность загрузки старым способом, называя его "легаси", но это необязательный, опциональный вариант, которого может и не быть ( мне, к счастью, такое железо пока не попадалось). Причем биос спокойно может загрузить систему даже с GPT диска, используя protective MBR. GPT разметка, пожалуй, лучшее из всего того, что создано UEFI форумом.


То есть некая группа Microsoft и ко пролоббировала принятие стандарта, который не позволяет мне использовать такие ОС, какие я хочу, сам я создавать цифровые подписи никак не могу, и сделать с этим ничего нельзя. И никто кроме майкрософта не может. Майкрософт это такая международная общественная организация или часть правительства какого-то? Ну пока есть легаси режим загрузки это не проблема, но ситуация будет, думаю, развиваться по ограничительному, а не разрешительному пути.


Сделайте, ладно, так, чтобы я сам мог определить, что безопасно, а что нет. Нет, жри наше говно ложками и не вякай. Не хочешь Secure Boot, на тебе spectre/meltdown, не хочешь meltdown, получи официальный Intel ME.


Вышла новая загрузочная бинарь GRUB, например, добро пожаловать, так сказать, в майкрософт на сертификацию, а пока обождите загружаться. Ну или грузите десяточку, чего уж.


На мобильных результаты уже видно, где вендор даст возможность разблокировки загрузчика, там грузитесь, а где не даст, там "бюстгальтер женщины самоклеящиеся толчок вверх хлопок бюст без бретелек установить белье".  И ничего не сделаешь. Ну а у на PC прилетели полезные автоматические обновления и нужна срочная перезагрузка, подождите пока установятся обновления, не выключайте компьютер. Не сохранили работу, так зато все безопасно.


Хорошо, конечно, удаленно заблокировать потерянный ноутбук как айфон, это возможно с Secure Boot, а можно ли сделать так, чтобы этот ноутбук гарантированно работал как надо и делал то, что нужно, и не зависел от кого-то извне, имеющего на словах самые лучшие побуждения?


Нужно же ведь четко понимать, что айфон блокируете не вы, его блокируют эппл или мейзу с сяоми.

Показать полностью
26

Что главное в танке^wклетке!?

Если вы слышите о чем-то главном в биологии, то в большинстве случаев можете смело говорить собеседнику: "Сударь! Вы - бестолочь!"

Вот и в биологии главное чаще всего где-то так и определяется. Потому что в сложных системах (https://pikabu.ru/story/proiskhozhdenie_zhizni_2_4849670), каковыми являются системы биологические, главных выделить практически невозможно.


Но есть, пожалуй, одно исключение - строение клетки. Среди всех структурных компонентов легко можно выделить условно "главный", без которого невозможной была бы сама концепция жизни.


Этот компонент - клеточная оболочка, а точнее её часть - цитоплазматическая мембрана.


Все изучают в школах строение клеток, но часто довольно простые вещи остаются за бортом.

Что главное в танке^wклетке!? Просто о медицине и биологии, Цитология, Цитоплазматическая мембрана, Клеточная оболочка, Видео, Длиннопост

Итак, что представляет собой жизнь согласно одному из определений:

"С точки зрения второго начала термодинамики, жизнь — это процесс или система, вектор развития которой противоположен по направлению остальным, «неживым» объектам вселенной, и направлен на уменьшение собственной энтропии."

То есть живые организмы постоянно поддерживают порядок, упорядоченную структуру внутри себя, уменьшая упорядоченность снаружи в окружающей среде (увеличивая беспорядок), постоянно обмениваясь с внешней средой веществом и энергией. Уменьшая энтропию (https://ru.wikipedia.org/wiki/Энтропия) внутри и увеличивая снаружи. Про энтропию можно почитать тут или https://naked-science.ru/article/video/chto-takoe-entropiya, очень доступно.


Клеточная оболочка это тот самый барьер, отделяющий внешнее от внутреннего, без которого был бы принципиально невозможен вышеописанный процесс изменения энтропии.


Различия в строении клеточных оболочек у разных групп живых организмов огромны, а влияние этих различий на жизнь, которую мы знаем, невозможно переоценить.


Типичная клеточная оболочка состоит из цитоплазматической мембраны (обязательно), клеточной стенки (не обязательно) и капсулы (не обязательно).

Цитоплазматическая мембрана единственная обязательная часть оболочки, она же самая функциональная и сложная.


Самые простые из существующих сейчас живых организмов (прокариоты) имеют приблизительно такое строение клетки:

Что главное в танке^wклетке!? Просто о медицине и биологии, Цитология, Цитоплазматическая мембрана, Клеточная оболочка, Видео, Длиннопост

Оболочка клетки состоит из 3х компонентов - цитоплазматической мембраны, клеточной стенки и капсулы. В клетке есть одна крупная кольцевая молекула ДНК, связанная со структурными белками, - нуклеоид, возможно наличие небольших ДНК - плазмид.


Клетки ядерных организмов (эукариот) устроены на порядки сложнее.

Наследственный аппарат имеет намного более сложную организацию, молекул ДНК обычно больше одной, они не кольцевые, при этом они связаны со структурными белками в специфические структуры - хромосомы. Хромосомы устроены значительно сложнее нуклеоида и большую часть времени жизни клетки отделены от цитоплазмы двойной мембраной, образующей ядро клетки. В клетках эукариот может содержаться множество закрытых мембранных органоидов - митохондрий, пластид, вакуолей, лизосом. А также мембранных структур сложного строения, например эндоплазматическая сеть и комплекс Гольджи - настоящие внутриклеточные туннели и лабиринты.


Некоторые органоиды состоят из двух мембран и содержат собственную ДНК, похожую на нуклеоид прокариот (митохондрии и пластиды).


С учетом того, что я писал выше про важность клеточной оболочки, эукариотическая клетка представляет собой своего рода прокариотическую в квадрате.


Таким образом у ядерных организмов в клетках есть множество отделенных от цитоплазмы внутренних структур, имеющих собственную оболочку.

Что главное в танке^wклетке!? Просто о медицине и биологии, Цитология, Цитоплазматическая мембрана, Клеточная оболочка, Видео, Длиннопост

Теперь в отрыве от биологической систематики, просьба не плеваться, разберем несколько интересных, так сказать, фактов.


Факт первый - у клеток почти всех живых организмов есть клеточная стенка за исключением животных и некоторых одноклеточных эукариот.


Вот выше изображена (чукча не художник) типичная клетка эукариот, но не совсем. Скорее это похоже на одноклеточное животное (привет классификации с царством протистов), хотя могут быть варианты.


Хорошо ли или плохо животным не иметь клеточной стенки? Этот вопрос из тех, которые прекрасно иллюстрируют диалектику, одновременно очень некорректный и вместе с тем очень правильный.


Так как:


Не иметь клеточной стенки для клетки безусловно плохо, содержимое клетки (внутреннее) отделяется от внешней среды (внешнее) гораздо хуже. Клетка становится более уязвимой к действию повреждающих факторов - физических, химических, биологических. Её намного проще повредить или совсем убить.


Клетка становится эластичной и потенциально может приобрести возможность произвольно изменять форму, поскольку цитоплазматическая мембрана значительно пластичнее элементов клеточной стенки.


Вот небольшая иллюстрация - плазмолиз и деплазмолиз в клетках листа элодеи:

На 0:00-0:05 хорошо видны живые растительные клетки, содержащие движущиеся хлоропласты, распределенные по всей цитоплазме, с четко видимыми клеточными оболочками (в данном случае это клеточные стенки).

С 0:05 по 0:20 видно, что хлоропласты начинают двигаться от границы клетки к ее середине и собираться в хорошо очерченные конгломераты в центре клетки, при этом форма клетки не изменяется. Это результат превращения жидкости во внешней среде в гипертонический раствор после добавления сахарозы, что привело к уменьшению концентрации воды в растворе снаружи по сравнению с цитоплазмой и выходу воды из клетки во внешнюю среду. С, соответственно, уменьшению объема цитоплазмы. Цитоплазматические мембраны эластичны и отделяются от клеточных стенок, окружая цитоплазму. Клеточные стенки форму практически не изменяют.

Где-то с 0:30 и до конца видно, что объем цитоплазмы опять увеличивается, так как раствор во внешней среде разбавили водой и она опять стала поступать снаружи в клетку.


Большинство клеток животных такой эксперимент перенести не смогут и погибнут.


Однако отсутствие клеточной стенки имеет и очевидные преимущества.

Вот примечательная встреча 2х простейших - какой-то амебы и инфузории-трубача (стентора). Отсутствие клеточной стенке позволило амебе с толком и расстановкой, неспешно, но неотвратимо сожрать большую часть инфузории, охватив её со всех сторон псевдоподиями и закрыв цитоплазматическую мембрану. После этого часть трубача оказалась запертой во вновьобразованной пищеварительной вакуоли, которая таким же нехитрым способом скорее всего будет слита далее с несколькими лизосомами... Часть трубача, опять же благодаря эластичности, смылась. Насколько благополучно история умалчивает, потому что непонятно где остались ядро/ядра трубача ну и вообще...


Если обдумать увиденное в этих двух видео, станет понятно, что растения и бактерии с археями и клеточной стенкой так не смогут.


А если еще подумать, также станет понятно почему амебы и инфузории до недавнего времени входили в царство животных.


Клетки человека похожи на клетки амеб значительно больше, чем на клетки элодеи. Более того в наших телах есть множество клеток, которые нужны специально для того, чтобы делать то же, что и амеба - охватывать и пожирать. Этот процесс называется - эндоцитоз (https://ru.wikipedia.org/wiki/Эндоцитоз), а клетки, например лейкоциты и макрофаги.


Если подумать еще больше, можно связать эластичность клеточной оболочки с движением в пространстве. Потом с мускулатурой, а потом возможно даже и с нервной системой. Ну и так далее, и так далее.


Если не дискутировать о принципах классификации в биологии и рассматривать новую трехдоменную систематику Вёзе (https://ru.wikipedia.org/wiki/Трёхдоменная_система), принимаемую большинством, верхний ранг классификации состоит из трех групп (таксонов), которые называются доменами (https://ru.wikipedia.org/wiki/Домен_(биология)), которые разделены на несколько царств (https://ru.wikipedia.org/wiki/Царство_(биология)).


Как видно доменов - три: Археи, Бактерии и Эукариоты.

Что главное в танке^wклетке!? Просто о медицине и биологии, Цитология, Цитоплазматическая мембрана, Клеточная оболочка, Видео, Длиннопост

А царств сильно по разному, дискуссии не стихают.


Но если рассматривать простой вариант - Архебактерии, Эубактерии, Растения, Грибы и Животные, то видно насколько важно разделение внутреннего и внешнего и, следовательно, насколько развитые системы клеточных мембран определяют отличия между группами.


Также видно насколько строение клеточной оболочки животных стало отличать их от всех остальных.


Разница между клеточными оболочками бактерий и архей, а также растений и грибов тоже огромна и не менее значима. Но уже и так очень много букв.


Могу только пообещать попробовать написать небольшое продолжение про грамположительных и грамотрицательных бактерий, если все это будет кому-нибудь интересно.

Показать полностью 3 2
103

О чем говорят рибосомы...

С появлением средств массовой информации мы все даже нехотя пропитываемся ею (информацией) насквозь. К сожалению количество источников не увеличивает качества этой информации.


Газеты, журналы, телевидение, Интернет и т. д. с приходом массового неподготовленного писателя заражаются снижением качества подаваемой информации.


Вокруг нас столько научпопа и псевдонаучпопа, что всякие модные научные словечки в великом множестве прочно вошли в обиход, вошел в нашу повседневную речь и точный термин - "генетический код".


- А-а-а. В его генетический код внесены изменения - он мутирует! А-а-а.

В код. Внесены изменения. В генетический код. Рукалицо.


Слушаешь порой, и вянут уши. Сложно, сложно и противно авторам и переводчикам дается правда о генетическом коде, хотя при некотором рассмотрении проще вещи не найти.


Давайте попробуем в этом разобраться, и нам поможет наш детский опыт и разделение термина на две составляющие - код и генетический.


Начнем с кода. Для полного понимания того, что это такое, нужно понимать, что такое информация, как она передается и что собой представляют процессы кодирования и декодирования. А мы пока попробуем обойтись минимальным минимумом аналогий для неполного, но понимания.


Вот, например, Петя и Маша встретились в парке, и Маша делает вот так:

О чем говорят рибосомы... Цитология, Молекулярная биология, Научпоп, Просто о медицине и биологии, Генетический код, Длиннопост

Что происходит, и как это понимать? Маша, очевидно, передает Пете некоторую информацию, получив которую Петя может продолжать общение дальше в определенном русле. Но все ли так просто?


Мы с детства передаем и получаем информацию, используя все органы чувств. Мы слышим речь родителей, начинаем ее понимать и пытаемся говорить в ответ. Видим мимику и жесты и копируем их. Чувствуем вкусы и запахи, ощущаем прикосновения.


При этом это все физические процессы. Речь - упругие колебания, вкусы и запахи - химия, мимика и жесты - оптические явления. Что же происходит внутри нашего общения?


Мы кодируем и декодируем информацию.


Зная код, обменявшись им с окружающими, мы, используя этот код, облекаем наши мысли в физические процессы, которые передают информацию собеседникам, а те превращают эти физические процессы обратно в образы внутри сознания.


Еще раз, имея код, зная способ кодирования, собеседники (передатчик информации и приемник) могут информацией обмениваться.


Процессы передачи информации окружают нас с самого начала даже в утробе и до конца - биение материнского сердца, упомянутые выше разговорная речь, осязание, жесты, мимика, запах и вкус еды, далее письменная речь, парфюмерия и косметика, жаргон, азбука морзе, шрифт Брайля, шифры и т. п.


А что такое генетический? Это, соответственно, относящийся к части биологии - генетике, изучающей закономерности наследственности и изменчивости. Последние два термина достойны отдельного разговора, а здесь ограничимся пока только упоминанием генетики.


Кто помнит школьную программу по общей биологии, вспомнят и центральную догму молекулярной биологии: упрощенно ДНК->РНК->белок.


Я напомню здесь, что при всем многообразии различных химических веществ входящих в состав клеток живых организмов, белки и нуклеиновые кислоты (ДНК и РНК) занимают среди них совершенно особое уникальное место, обеспечивая практически все особенности живых организмов, отличающие их от неживых предметов. При этом можно вспомнить слова великих о жизни - "Жизнь есть способ существования белковых тел", чтобы понять, насколько существенным считалось биологическое значение белков учеными более 100 лет назад. Надо сказать, что к текущему времени в этом мало что изменилось.


Белки и нуклеиновые кислоты в отличии от других веществ, входящих в состав клеток, являются нерегулярными биологическими полимерами, состоящими из нескольких мономеров. Нуклеиновые кислоты - из нуклеотидов (5 основных), а белки - из аминокислот (20 основных). И нуклеотиды и аминокислоты первоначально расположены в соответствующих полимерах последовательно один за другим в виде цепи. Потом эти цепи собираются в норме в разнообразные трехмерные структуры, практически полностью зависящие от первоначальной последовательности. Разнообразие возможных комбинаций цепей белков состоящих из 20 аминокислот - 104857600000000000000000000 (1.05*10^26), при этом типичные белки содержат десятки и сотни аминокислотных остатков. Разнообразию трехмерных структур белков мы обязаны своим биологическим существованием таким как есть.


Теперь нужно упомянуть откуда берутся белки и нуклеиновые кислоты и можно будет переходить к сути статьи.


Белки производятся в клетке на рибосомах с использованием матрицы РНК, в которой записывается последовательность аминокислот белка в виде последовательности нуклеотидов РНК. То есть из РНК читается информация о последовательности аминокислот в белке с одновременным синтезом белка. Этот процесс называется - трансляция.


РНК производятся на матрице ДНК, то есть из ДНК считывается информация о последовательности нуклеотидов в молекуле РНК с одновременным синтезом РНК. Этот процесс называется - транскрипция. Потом с РНК происходит ряд дополнительных преобразований, о них позже.


ДНК производятся на матрице существующих ДНК перед делением клетки, то есть информация о последовательности нуклеотидов в новой молекуле ДНК считывается из существующей молекулы ДНК с одновременным синтезом новой ДНК. Этот процесс называется - репликация (редупликация) ДНК.


Вернемся к центральной догме молекулярной биологии:

О чем говорят рибосомы... Цитология, Молекулярная биология, Научпоп, Просто о медицине и биологии, Генетический код, Длиннопост

Генетический код непосредственно связан с процессом трансляции и аминоацетилирования (в следующих статьях), когда последовательность нуклеотидов в молекуле РНК используется для синтеза белка, то есть для создания цепи аминокислот с совершенно определенной последовательностью.


Генетический код это способ передачи информации о последовательности аминокислот в белке при помощи последовательности нуклеотидов в молекуле РНК.


Еще раз, генетический код это способ передачи генетической информации. К сожалению, устоявшаяся биологическая традиция в этом месте вносит дополнительные терминологические затруднения. Поскольку "передача генетической информации" является строгим термином обозначающим репликацию, а передача информации от РНК к белку в процессе трансляции называется - "реализация генетической информации". Ну тут уж ничего не поделать - так исторически сложилось. Но сущность генетического кода такова же как и сущность разговорной или письменной речи - они не есть информация, они лишь способ ее передачи.


Генетический код нельзя изменить без искажения передачи всей информации о структуре белков, и, соответственно, без утраты возможности правильного синтеза всех белков клетки.


Если речь идет о мутациях - меняется генетическая информация, меняется ДНК, но не генетический код. Надеюсь, что кому-то станет немного понятнее.

Показать полностью 1
36

IP over Ethernet #2.1 Таблица маршрутизации для утюга и пылесоса

Итак, перейдем в практическую плоскость, в этой части попробуем разобраться с тем, как же все-таки происходит обмен данными в нашей маленькой IP сети.


Если что-то будет непонятно попробуйте прочитать снова предыдущий пост, здесь теоретической части будет минимум :).


Для построения модели сети я воспользуюсь эмулятором GNS3 2.0.3, создав проект соответствующий приведенной в прошлой статье топологии:

IP over Ethernet #2.1 Таблица маршрутизации для утюга и пылесоса Интернет, Ethernet, Internet over Ethernet, Ip, Длиннопост
Хосты сети представлены узлами GNS3 – VPCS (virtual PC, пылесос), Switch (шина эзернет), l3 IOU (маршрутизатор таймкапсуль), Cloud (облако, подключение к Интернет). Узел l3 IOU это эмулятор Cisco IOS маршрутизатора для Linux.
IP over Ethernet #2.1 Таблица маршрутизации для утюга и пылесоса Интернет, Ethernet, Internet over Ethernet, Ip, Длиннопост

Для работы нам потребуется сниффер, в роли которого в стандартной поставке GNS3 используется WireShark.


В маршрутизатор загружена конфигурация, эмулирующая домашний роутер:


На интерфейсе LAN – 192.168.0.1/25, dhcp server, на интерфейсе WAN – dhcp client и nat. Все, что может дополнительно пересылать пакеты в сети (cdp, keepalive etc.) выключено. Включен dns server. Конфиг можно посмотреть в конце поста.


В пылесосе включен dhcp client.


В начальном состоянии сети пылесос и маршрутизатор выключены.


Включим пылесос. Итак сначала пылесос попытается автоматически подключиться к сети и получить настройки для сетевого подключения.

IP over Ethernet #2.1 Таблица маршрутизации для утюга и пылесоса Интернет, Ethernet, Internet over Ethernet, Ip, Длиннопост
1 0.000000 :: ff02::2 ICMPv6 62 Router Solicitation
2 0.050110 0.0.0.0 255.255.255.255 DHCP 406 DHCP Discover - Transaction ID 0x9f2d780f
3 1.050229 0.0.0.0 255.255.255.255 DHCP 406 DHCP Discover - Transaction ID 0x9f2d780f
4 4.050303 0.0.0.0 255.255.255.255 DHCP 406 DHCP Discover - Transaction ID 0x9f2d780f

Видно 4 кадра, 1-й — попытка автонастройки IPv6, остальные — запросы DHCP.

Разберем подробнее 4-й фрейм:

Frame 4: 406 bytes on wire (3248 bits), 406 bytes captured (3248 bits) on interface 0
Ethernet II, Src: Private_66:68:00 (00:50:79:66:68:00), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

В 1й строке общие параметры кадра, во 2-й параметры заголовка ethernet (источник, src -

00:50:79:66:68:00; получатель, dst – ff:ff:ff:ff:ff:ff), в 3-й строке параметры заголовка IP, в 4-й транспортного протокола (UDP), в 5-й параметры протокола прикладного уровня и полезная нагрузка (payload). Нажав на каждую из строк можно посмотреть более подробную информацию о кадре. В нижней части окна виден HEX- и ASCII-дампы кадра, понятно, что кадр это просто последовательность байт, в которой слева направо расположены заголовки от нижних уровней TCP/IP к верхним.


Включим маршрутизатор и посмотрим на дамп:

IP over Ethernet #2.1 Таблица маршрутизации для утюга и пылесоса Интернет, Ethernet, Internet over Ethernet, Ip, Длиннопост

Маршрутизатор после включения отправил в интерфейс несколько gratuitous ARP пакетов (5-9), о них позже, а вот после этого 10-м снова видим уже знакомый нам DHCP discover, а за ним еще 3 пакета DHCP. Про DHCP тоже позже поговорим, пока что они нужны только для автонастройки интерфейса пылесоса. Я специально развернул подробную информацию в нижней строке, чтобы можно было сравнить содержимое кадров discover и offer.

IP over Ethernet #2.1 Таблица маршрутизации для утюга и пылесоса Интернет, Ethernet, Internet over Ethernet, Ip, Длиннопост
IP over Ethernet #2.1 Таблица маршрутизации для утюга и пылесоса Интернет, Ethernet, Internet over Ethernet, Ip, Длиннопост

Теперь наша сеть полностью функционирует и можно пробовать что-то по ней передавать.

Итак. Очистим дампы и начнем с чистого листа.


Посмотрим настройки интерфейсов маршрутизатора и пылесоса (кто не работает с командной строкой - привыкайте, без нее в сетевой инженерии жизни нет).


TimeCapsule#sh run int e0/0
Building configuration...
Current configuration : 210 bytes
!
interface Ethernet0/0
description LAN
ip address 192.168.0.1 255.255.255.0
no ip redirects
no ip unreachables
no ip proxy-arp
ip nat inside
ip virtual-reassembly in
no cdp enable
no mop enabled
end
iSuck> show
NAME IP/MASK GATEWAY MAC LPORT RHOST:PORT
iSuck 192.168.0.100/24 192.168.0.1 00:50:79:66:68:00 10006 127.0.0.1:10007
fe80::250:79ff:fe66:6800/64

Начнем с ауканья, для него есть прекрасные инструменты в виде целого протокола ICMP, пока самое простое - ping:


iSuck> ping 192.168.0.1
84 bytes from 192.168.0.1 icmp_seq=1 ttl=255 time=0.245 ms
84 bytes from 192.168.0.1 icmp_seq=2 ttl=255 time=0.267 ms
84 bytes from 192.168.0.1 icmp_seq=3 ttl=255 time=0.392 ms
84 bytes from 192.168.0.1 icmp_seq=4 ttl=255 time=0.354 ms
84 bytes from 192.168.0.1 icmp_seq=5 ttl=255 time=0.343 ms
iSuck>

Давайте разберемся, что же сейчас произошло.

IP over Ethernet #2.1 Таблица маршрутизации для утюга и пылесоса Интернет, Ethernet, Internet over Ethernet, Ip, Длиннопост

Начнем с самого конца. Для того чтобы отправить ping echo request (как и любой другой IP пакет) хосту 192.168.0.1, хосту (sic! ;-D) 192.168.0.100 доcтаточно упаковать этот пакет в эзернет кадр с нужным мак адресом назначения и отправить в соответствующий эзернет интерфейс. Чтобы упаковать этот пакет в эзернет кадр с нужным мак адресом назначения, нужно этот мак адрес откуда-то узнать. Чтобы этот мак адрес откуда-то узнать, нужно спросить хост 192.168.0.1, что у него за мак, зная при этом, что он доступен по эзернет.


Получается почти замкнутый круг, но попробуем из него вырваться. Главная штука, которая нам в этом может помочь - маршрутизация, а точнее таблицы маршрутизации на наших хостах!


Сначала давайте разберемся откуда они вообще взялись, но тут все довольно просто, они построены на основании информации в настройках интерфейсов. То есть в простейшем случае, когда на интерфейсе настраивается IP адрес, определенные маршруты добавляются в таблицу маршрутизации.

iSuck> show ip
NAME : iSuck[1]
IP/MASK : 192.168.0.100/24
GATEWAY : 192.168.0.1
DNS : 192.168.0.1 8.8.8.8
DHCP SERVER : 192.168.0.1
DHCP LEASE : 81750, 86400/43200/75600
DOMAIN NAME : local
MAC : 00:50:79:66:68:00
LPORT : 10006
RHOST:PORT : 127.0.0.1:10007
MTU: : 1500
iSuck>

На VPC узле не очень информативно, зато очень информативно на IOU:

TimeCapsule#sh ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override
Gateway of last resort is 10.255.255.254 to network 0.0.0.0
S* 0.0.0.0/0 [1/0] via 10.255.255.254
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.255.255.0/24 is directly connected, Ethernet1/0
L 10.255.255.143/32 is directly connected, Ethernet1/0
192.168.0.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.0.0/24 is directly connected, Ethernet0/0
L 192.168.0.1/32 is directly connected, Ethernet0/0
TimeCapsule#

Пока нам интересны 2 строки -

C 192.168.0.0/24 is directly connected, Ethernet0/0
L 192.168.0.1/32 is directly connected, Ethernet0/0

Означают они следующее - адрес 192.168.0.1/32 - локальный, настроен на интерфейсе Et0/0, подсеть 192.168.0.0/24 - подключена непосредственно к интерфейсу Et0/0. На практике при обработке пришедших IP пакетов к тайкапсулю он будет действовать по следующему алгоритму: пакеты к 192.168.0.1 предназначены ему, дальше отправляются в соответствующие локальные подсистемы. Пакеты к остальным адресам из 192.168.0.0/24 отправляются в интерфейс Et0/0 соответствующему эзернет узлу сети. Все существующие реализации TCP/IP стеков, работают приблизительно одинаково. Данные строки добавляются в таблицу маршрутизации после добавления IP адреса и маски к интерфейсу.


На пылесосе соответственно должно быть:
C 192.168.0.0/24 is directly connected, E0
L 192.168.0.100/32 is directly connected, E0

Посмотреть это, к сожалению никак нельзя, но это так.

После запуска команды ping 192.168.0.1 и формирования пакета, пылесос ищет в таблице маршрутизации запись соответствующую подсети с самой большой маской, в которую входит адрес назначения. В нашем случае это C 192.168.0.0/24 is directly connected, E0. После определения того факта, что подсеть подключена к нему непосредственно по эзернет, пылесос попробует определить мак адрес назначения для хоста 192.168.0.1. Для этого он широковещательно отправит запрос в эзернет интерфейс E0 с вопросом - у кого из вас, соседи, такой адрес. Такой запрос является частью протокола ARP, необходимого для создания таблицы сопоставления IP-MAC. Это видно в дампе - 

1 0.000000 Private_66:68:00 Broadcast ARP 64 Who has 192.168.0.1? Tell 192.168.0.100

Далее в IPoE все основано на доверии и необходимый хост ответит ARP ответом -

2 0.000233 aa:bb:cc:00:01:00 Private_66:68:00 ARP 60 192.168.0.1 is at aa:bb:cc:00:01:00 ,

что приведет к обновлению временных ARP таблиц (или кэшей) на обоих хостах:

iSuck> arp
arp table is empty
iSuck> ping 192.168.0.1
84 bytes from 192.168.0.1 icmp_seq=1 ttl=255 time=0.240 ms
84 bytes from 192.168.0.1 icmp_seq=2 ttl=255 time=0.326 ms
84 bytes from 192.168.0.1 icmp_seq=3 ttl=255 time=0.487 ms
84 bytes from 192.168.0.1 icmp_seq=4 ttl=255 time=0.338 ms
84 bytes from 192.168.0.1 icmp_seq=5 ttl=255 time=0.315 ms
iSuck> arp
aa:bb:cc:00:01:00 192.168.0.1 expires in 113 seconds
iSuck>
TimeCapsule#sh ip arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 10.255.255.143 - aabb.cc00.0101 ARPA Ethernet1/0
Internet 10.255.255.254 0 0000.5e00.010b ARPA Ethernet1/0
Internet 192.168.0.1 - aabb.cc00.0100 ARPA Ethernet0/0
Internet 192.168.0.100 1 0050.7966.6800 ARPA Ethernet0/0
TimeCapsule#
а также к обновлению таблиц коммутации в свичах.


Используя таблицу маршрутизации и ARP, хосты становятся способными к обмену IP траффиком в эзернет сети.


Продолжение следует...

TimeCapsule#sh run
Building configuration...
Current configuration : 2763 bytes
!
version 15.4
no service pad
service tcp-keepalives-in
service tcp-keepalives-out
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
!
hostname TimeCapsule
!
boot-start-marker
boot-end-marker
!
aqm-register-fnf
!
!
no aaa new-model
mmi polling-interval 60
no mmi auto-configure
no mmi pvc
mmi snmp-timeout 180
no ip source-route
no ip gratuitous-arps
no ip icmp rate-limit unreachable
!
!
!
!
!
!
!
ip dhcp excluded-address 192.168.0.1
!
ip dhcp pool LAN
network 192.168.0.0 255.255.255.0
default-router 192.168.0.1
domain-name local
dns-server 192.168.0.1 8.8.8.8
!
ip dhcp pool LAN100
host 192.168.0.100 255.255.255.0
client-identifier 0100.5079.6668.00
client-name iSuck
!
!
!
no ip bootp server
ip name-server 10.255.255.254
ip name-server 8.8.8.8
ip dhcp-server 192.168.0.1
ip cef
no ipv6 cef
!
multilink bundle-name authenticated
!
!
!
!
!
!
!
!
!
redundancy
!
no cdp run
!
ip tcp synwait-time 5
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Ethernet0/0
description LAN
ip address 192.168.0.1 255.255.255.0
no ip redirects
no ip unreachables
no ip proxy-arp
ip nat inside
ip virtual-reassembly in
no cdp enable
no mop enabled
!
interface Ethernet0/1
no ip address
shutdown
!
interface Ethernet0/2
no ip address
shutdown
!
interface Ethernet0/3
no ip address
shutdown
!
interface Ethernet1/0
description WAN
ip address 10.255.255.143 255.255.255.0
no ip redirects
no ip unreachables
no ip proxy-arp
ip nat outside
ip virtual-reassembly in
no cdp enable
no mop enabled
!
interface Ethernet1/1
no ip address
shutdown
!
interface Ethernet1/2
no ip address
shutdown
!
interface Ethernet1/3
no ip address
shutdown
!
interface Serial2/0
no ip address
shutdown
serial restart-delay 0
!
interface Serial2/1
no ip address
shutdown
serial restart-delay 0
!
interface Serial2/2
no ip address
shutdown
serial restart-delay 0
!
interface Serial2/3
no ip address
shutdown
serial restart-delay 0
!
interface Serial3/0
no ip address
shutdown
serial restart-delay 0
!
interface Serial3/1
no ip address
shutdown
serial restart-delay 0
!
interface Serial3/2
no ip address
shutdown
serial restart-delay 0
!
interface Serial3/3
no ip address
shutdown
serial restart-delay 0
!
ip forward-protocol nd
!
!
no ip http server
no ip http secure-server
ip dns server
ip nat inside source list 100 interface Ethernet1/0 overload
ip route 0.0.0.0 0.0.0.0 10.255.255.254
!
!
!
access-list 100 remark NAT
access-list 100 permit ip 192.168.0.0 0.0.0.255 any
!
control-plane
!
!
!
!
!
!
!
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
line vty 0 4
login
transport input none
!
!
end
TimeCapsule#
Показать полностью 5
50

IP over Ethernet #2 Таблица маршрутизации для утюга и пылесоса

Предыдущая часть.


После долгих раздумий о судьбах мира и созерцания пупка было принято волевое решение продолжить писать всякое. Однако я считаю, что для дальнейшего продвижения в дебри эзернет простого резонерства на тему фреймов, без ухода хотя бы немного в практическую плоскость, недостаточно, нужно добавлять хотя бы зачатки того, зачем это все. А если отбросить разные сантименты, то на вопрос зачем же все это, ответ будет однозначным - в подавляющем большинстве случаев для передачи IP.


И здесь для дальнейшего движения в правильном направлении об этом самом IP нужно бы хоть немного рассказать.


Тут я начну не с истории, а с практики. Представьте обычную советскую семью поклонников продукции эплл, у них в квартире наверняка есть устройства, которые что-то передают по IP. Предлагаю рассмотреть пылесос, который по заполнению мусорника отправляет в облако эппл соответствующие фоточки голой хозяйки данные о необходимости почистить или заменить пакет, ну и периодически шлет сообщения о необходимости замены расходников на новые оригинальные. Ну или в крайнем случае утюг, утюг может быть был бы даже лучше, но пусть все-таки будет пылесос. Облако в свою очередь шлет что надо в АНБ хозяйке на айфон. Большая часть коммуникаций работает в IP сетях. А IP сети, прошу прощения за тавтологию, в свою очередь в ethernet сетях.


Что же делает пылесос, когда ему надо передать информацию?! (Предлагаю профантазировать о модели пылесоса с подключением к таймкапсулю по вайфаю).

IP over Ethernet #2 Таблица маршрутизации для утюга и пылесоса Интернет, Ethernet, Internet over Ethernet, Ip, Римские цифры, Длиннопост

Предположим, что все автоматизировано, как положено в эппл и пылесос автоматически подключается к сети и получает настройки для сетевого подключения. Внутри пылесоса для функционирования передачи данных в облака при такой схеме должен быть предусмотрен какой-то компьютер-контроллер, который содержит программно-аппаратные средства для осуществления контроля параметров работы пылесоса, обработки данных и передаче данных куда нужно. Как минимум нам интересны сетевая карта вайфая (сетевой интерфейс) и операционная система с tcp/ip стеком.


В момент включения пылесос подключится к вайфай сети, запросит и получит настройки сетевого подключения, в числе которых скорее всего:

1. IP адрес

2. Маску сети

3. Шлюз по умолчанию

4. IP адреса ДНС серверов

IP over Ethernet #2 Таблица маршрутизации для утюга и пылесоса Интернет, Ethernet, Internet over Ethernet, Ip, Римские цифры, Длиннопост

В L3 схеме сети это будет выглядеть так:

IP over Ethernet #2 Таблица маршрутизации для утюга и пылесоса Интернет, Ethernet, Internet over Ethernet, Ip, Римские цифры, Длиннопост

Отличия вайфай сети от эзернета я пока рассматривать не буду, просто пока примем, что вайфай в таймкапсуле работает в режиме точки доступа, который эмулирует эзернет. Эзернет на схеме показан как труба, к которой подключены маршрутизатор и пылесос, так в схемах сетей обозначают разные шинные топологии.


Итак что же произошло при получении пылесосом настроек сети? Сетевой интерфейс пылесоса произвел автонастройку параметров, необходимых для полноценной передачи данных в соответствии с информацией, полученной от dhcp сервера таймкапсуля. Предположим он получил от домашнего маршрутизатора (таймкапсуля)

1. IP адрес - 192.168.0.100

2. Маску сети - 255.255.255.0

3. Шлюз по умолчанию - 192.168.0.1

4. IP адреса ДНС серверов - 192.168.0.1, 8.8.8.8

Итак зачем все это нужно.

IP адрес - идентификатор хоста в IP сети, уникальное в сети 32хбитное число, представляемое для удобства человека чаще всего как набор из 4х 8мибитных десятичных чисел (байтов или октетов). Октет это восьмиразрядное двоичное число, например 11111111. В большинстве случаев сейчас байт тоже восьмиразрядное двоичное число, поэтому в данном контексте они тождественны.

192.168.0.100 - 11000000101010000000000001100100 или 3232235620 (в десятичной системе), или 11000000.10101000.00000000.01100100 с разделением октетов точками.


Тут нужно опять сделать отступление. Представьте, что вам нужно перемножить 2 числа -

LXXVIII * CXI, для многих задача покажется невыполнимой, потому что я привел числа, записанные римскими цифрами, а данная система записи чисел - непозиционная.

В то врtмя как мы привыкли использовать арабские цифры и позиционную систему записи чисел с основанием в 10.


LXXVIII * CXI = 78 * 111 = 78*100+78*10+78*1 = 7800+780+78 = 7000+800+700+80+70+8 =

= 7000+1500+150+8=8658, ну или в столбик. Эти все итерации в примере возможны потому, что каждая цифра может обозначать разные числа, находясь в разных позициях, позиции определяют соответствующие степени основания системы счисления (для нас привычно степени 10ти - 10^0 - единицы, 10^1 - десятки, 10^2 -сотни и т.д.), а цифра в позиции определяет их количество. То есть 111 = 1 единица + 1 десятка + 1 сотня.


Эти же принципы используются в системах счисления с другим основанием (двоичной, восьмеричной, шестнадцатиричной), нас будет интересовать двоичная система.


В двоичной системе основание не 10, а 10, шутка, а нет, не шутка - основание 2 то есть в двоичной записи - 10, цифр соответственно не 10 (0-9), а 2 (0,1), переход в числа в следующую позицию осуществляется при исчерпании цифр в текущей позиции. То есть как в десятичной системе, пока можно увеличивать число изменяя цифру в позиции, количество позиций не изменяется. Например число будет одноразрядным, пока для единиц хватает цифр - 1, 2, 3, 4, 5, 6, 7, 8, 9, а вот цифры закончились, дальше для увеличения числа нужно изменять разряд. 10,11,12..99, опять закончились цифры уже в десятках, опять добавляем разряд, и следующее число - 100.


Еще раз в двоичной системе цифр только 2 (0,1), поэтому натуральный ряд чисел выглядит так - 1, 10, 11, 100, 101, 110, 111 и т. д. Его не трудно перевести на человеческий (десятичный), это соответственно 1, 2, 3, 4, 5, 6, 7.


Еще раз:

1-1

2-10

3-11 (почти 99)

4-100

5-101 (дальше как с 909)

6-110 (а тут как с 990)

7-111 (а это похоже на 999).


Теперь попробуем подвести это к IP адресам, то есть к их частям - октетам. Возьмем последние октеты наших устройств (таймкапсуль-маршрутизатор - 192.168.0.1, пылесос - 192.168.0.100), то есть 1 и 100, и переведем их в двоичную систему с сохранением количества цифр в октете.

1 - 00000001 (1)

100 - 01100100 (1100100)

Чтобы количество цифр сохранялось равным 8ми (это важно), в части чисел нужны лидирующие нули.


Далее нужно понять зачем все это. А все это для маршрутизации.


У каждого компьютера, оборудованного сетевым интерфейсом с настроенным IP есть таблица маршрутизации, которая создается после настройки IP адреса на интерфейсе и некоторых дополнительных параметров.


Посмотрим как выглядит такая таблица у пылесоса, после настройки сети.


После добавления IP адреса 192.168.0.100 и маски сети 255.255.255.0 к интерфейсу в таблицу маршрутизации добавилось 2 записи:

1. - 192.168.0.100 255.255.255.255 - локальный адрес

2. - 192.168.0.0 255.255.255.0 - сеть непосредственно подключена к интерфейсу


После добавления шлюза по умолчанию - 192.168.0.1 в таблицу маршрутизации добавилась 1 запись:

3. - 0.0.0.0 0.0.0.0 - через шлюз 192.168.0.1.


Итого, еще раз, в таблице маршрутизации пылесоса появилось 3 записи:

1. - 192.168.0.100 255.255.255.255 - локальный адрес

2. - 192.168.0.0 255.255.255.0 - сеть непосредственно подключена к интерфейсу

3. - 0.0.0.0 0.0.0.0 - через шлюз 192.168.0.1.


Записи обычно сортируются по возрастанию, так что при просмотре это будет выглядеть так:

0.0.0.0 0.0.0.0 - через шлюз 192.168.0.1.

192.168.0.0 255.255.255.0 - сеть непосредственно подключена к интерфейсу

192.168.0.100 255.255.255.255 - локальный адрес


Вот как это выглядит,например, в windows 7:

$ netstat -nr
===========================================================================
Список интерфейсов
14...6c 71 d9 84 cb 57 ......Atheros AR9485WB-EG Wireless Network Adapter
13...74 d0 2b b0 64 a7 ......Qualcomm Atheros AR8161/8165 PCI-E Gigabit Ethernet Controller (NDIS 6.20)
12...6c 71 d9 84 cb 56 ......Устройства Bluetooth (личной сети)
1...........................Software Loopback Interface 1
17...00 00 00 00 00 00 00 e0 Адаптер Microsoft ISATAP
27...00 00 00 00 00 00 00 e0 Адаптер Microsoft ISATAP #2
16...00 00 00 00 00 00 00 e0 Адаптер Microsoft ISATAP #3
15...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
===========================================================================
IPv4 таблица маршрута
===========================================================================
Активные маршруты:
Сетевой адрес  Маска сети  Адрес шлюза  Интерфейс  Метрика
0.0.0.0  0.0.0.0  192.168.0.1  192.168.0.100  20
192.168.0.0  255.255.255.0  On-link  192.168.0.100  276
192.168.0.100  255.255.255.255  On-link  192.168.0.100  276
192.168.0.255  255.255.255.255  On-link  192.168.0.100  276
127.0.0.0  255.0.0.0  On-link  127.0.0.1  306
127.0.0.1  255.255.255.255  On-link  127.0.0.1  306
127.255.255.255  255.255.255.255  On-link  127.0.0.1  306
255.255.255.255  255.255.255.255  On-link  127.0.0.1  306


Здесь кроме тех маршрутов, что я перечислял выше, есть еще несколько, но про них позже.

Теперь надо сказать несколько слов откуда эти маршруты взялись и что с ними можно делать. Представьте, что пылесосу нужно отправить какие-то данные хосту 8.8.8.8, на котором находится публичный ДНС гугла, ну типа "привет, пока, пшел вон, тупая железяка!", так сказать приветствие от IoT компании эппл, сервису компании гугл. Для отправки данного месседжа, его необходимо поместить в IP пакет с соответствующими заголовками, по минимуму как-то так:

1. IP адрес отправителя

2. IP адрес получателя

3. Тип данных

4. TTL и т. д.

Хост готовит пакет, в котором IP адрес отправителя - 192.168.0.100, IP адрес получателя - 8.8.8.8, остальное пока не важно. Далее встает вопрос куда же это отправлять? За ответом хост отправляется выбирать из собственной таблицы маршрутизации маршрут, по которому отправить пакет.

Выбор маршрута происходит просто - из таблицы выбирается маршрут для которого выполняются следующие условия:

1. IP адрес получателя входит в диапазон адресов, описанных сетевым адресом и маской сети

2. Из нескольких подходящих маршрутов выбираются те, у которых маска сети максимальна

3. Из оставшихся выбираются те, у которых метрика минимальна.


Теперь нужно понять, зачем нужны маски и как все это работает.


Для этого нужно еще одно лирическое отступление о битовых операциях, в википедии все описано очень хорошо, немногое необходимое про истину и ложь все должны были в школе изучить, но все таки остановлюсь на этом немногом.


Итак в большинстве машинных языков наряду с арифметическими операциями используются также разные операции логические. Логику сейчас в школе не изучают, что прискорбно, но нам нужен минимум.

Чаще всего эквивалентом истинности чего-либо в вычислениях является двоичная единица, а эквивалентом лжи - ноль.


Теперь к сути операций, сначала Логическое И (умножение или AND):

Истина И Истина = Истина, Ложь И (Истина или Ложь) = Ложь, (если есть хоть немного лжи, то все целиком - ложь) или так:

1 И 1 = 1, 1 И 0 = 0, 0 И 1 = 0, 0 И 0 = 0, или так:

1 * 1 = 1, 1 * 0 = 0, 0 * 1 = 0, 0 * 0 = 0.

То есть если один из операндов - ноль, результат тоже ноль.


Далее Логическое ИЛИ (сложение или OR):

Истина ИЛИ Истина = Истина, Истина ИЛИ Ложь = Истина, Ложь ИЛИ Ложь = Ложь (если есть хоть немного истины, то все целиком - истина) или так:

1 ИЛИ 1 = 1, 1 ИЛИ 0 = 1, 0 ИЛИ 1 = 1, 0 ИЛИ 0 = 0, или так:

1 + 1 = 1 (сумма, конечно, 2, но главное, что она больше нуля, то есть результат суммирования не 0), 1 + 0 = 1, 0 + 1 = 1, 0 + 0 = 0.

То есть если один из операндов - единица, то результат тоже единица.


Логическое НЕ (отрицание или инверсия, или NOT):

НЕ Истина = Ложь, а НЕ Ложь = Истина, или так:

НЕ 1 = 0, а НЕ 0 = 1.

То есть после операции результат будет противоположным операнду.


Теперь вернемся к маскам. Маски представляют собой некий числовой трафарет (похожий на решетку Кардано), который нужен для необходимых в маршрутизации IP пакетов расчетов.

IP over Ethernet #2 Таблица маршрутизации для утюга и пылесоса Интернет, Ethernet, Internet over Ethernet, Ip, Римские цифры, Длиннопост

Чаще всего это набор единиц слева направо в 32х-разрядном двоичном числе. Например:

10000000000000000000000000000000 - маска /1 (1 единица) или 128.0.0.0,

11000000000000000000000000000000 - маска /2 (2 единицы) или 192.0.0.0,

11100000000000000000000000000000 - маска /3 (3 единицы) или 224.0.0.0,

11111111.00000000.00000000.00000000 - маска /8 (8 единиц) или 255.0.0.0,

11111111.11111111.00000000.00000000 - маска /16 (16 единиц) или 255.255.0.0,

11111111.11111111.11111111.00000000 - маска /24 (24 единицы) или 255.255.255.0.


Маски (32 бита) накладывается на IP адреса (32 бита), чтобы производить разнообразные расчеты.


В нашем примере с пылесосом маска 255.255.255.0 накладывается на IP адрес интерфейса - 192.168.0.100 для расчетов записей, добавляемых в таблицу маршрутизации:

Повторю еще раз 192.168.0.100 это в двоичной системе -

11000000.10101000.00000000.01100100,

а 255.255.255.0 -

11111111.11111111.11111111.00000000.

Итак на первом этапе стек рассчитывает из комбинации адреса и маски адрес IP сети, непосредственно подключенный к интерфейсу при помощи побитовой операции И:

11000000.10101000.00000000.01100100 И

11111111.11111111.11111111.00000000 =

11000000.10101000.00000000.00000000 или 192.168.0.0.

Расчетный адрес подсети соответственно - 192.168.0.0 с маской 255.255.255.0, нужно отметить, что в знакоместах адреса биты, закрытые единицами маски, не изменились, а в знакоместах закрытых нулями все единицы изменились на нули.


Далее производится операция инвертирования маски - НЕ

11111111.11111111.11111111.00000000 =

00000000.00000000.00000000.11111111

это 0.0.0.255.

Данное число называется wildcard. Это эквивалент количества адресов в данной сети.

Таким образом минимальный адрес в сети, подключенной к вайфай интерфейсу пылесоса -

192.168.0.0, а максимальный (192.168.0.0+0.0.0.255) - 192.168.0.255.

Для адресов из данного диапазона пылесос будет отправлять IP пакеты непосредственно в интерфейс, а хосты с адресами из данного диапазона будут соответственно доступны пылесосу непосредственно, то есть без промежуточных шлюзов.


Все это нужно, чтобы при настройке интерфейса добавить в таблицу маршрутизации запись, указанную ранее:


192.168.0.0 255.255.255.0 - сеть непосредственно подключена к интерфейсу.


А также чтобы определять принадлежность произвольного адреса назначения в IP пакете определенной сети из таблицы маршрутизации.


Например 8.8.8.8 совершенно точно не входит в 192.168.0.0 255.255.255.0, но в таблице маршрутизации была еще одна запись:


0.0.0.0 0.0.0.0 - через шлюз 192.168.0.1,


Как понимать что такое сеть 0.0.0.0 0.0.0.0.


Давайте посчитаем.

Адрес 0.0.0.0 это:

00000000.00000000.00000000.00000000, маска такая же:

00000000.00000000.00000000.00000000, после операции И, получим

00000000.00000000.00000000.00000000, это 0.0.0.0 - адрес сети (а также и минимальный адрес в данной сети), после инверсии маски:

00000000.00000000.00000000.00000000, получим

11111111.11111111.11111111.11111111, то есть 255.255.255.255 (wildcard, количество адресов в сети), после арифметического сложения адреса сети и wildcard (0.0.0.0+255.255.255.255) получим 255.255.255.255 - максимальный адрес в сети.


После данных операций становится понятно, что сеть 0.0.0.0 0.0.0.0 (короткая запись с маской, указывающей на количество единиц маски, - 0.0.0.0/0) содержит все IPv4 адреса в сети IP. Адреса 8.8.8.8, 192.168.0.1 и 192.168.0.100 являются частью данной сети.


Продолжение следует...

Показать полностью 3
38

IP over Ethernet #1 Введение в Ethernet коммутацию.

Продолжение IP over Ethernet. Часть 0.2 со ссылками на 0.1 и 0.


Итак поговорим о ethernet коммутаторах.

Сначала кратенько о том как было до них:


Для понимания функционирования любой эзернет сети нужно знать немного, но все-таки кое-что нужно:

1. Адресация. Если не упоминать ранние реализации, а начинать сразу с актуальных (ethernet v2), то у каждого устройства в сети (для удобства дальше все такие устройства буду называть хостами (host) как в tcp/ip независимо от контекста L2 или L3 пока речь будет идти о связанных с tcp/ip технологиях) должен существовать уникальный физический адрес - MAC, уникальность обеспечивается координацией IEEE производителей оборудования. Каждый MAC-адрес это 48 битный идентификатор, для удобства восприятия человеком обычно представленный шестнадцатиричными цифрами, объединенными в блоки:


00:0f:9f:c5:c3:c3 - разделенные двоеточиями на 8-мибитные блоки (байты или октеты) - один из наиболее популярных видов записи;

00-0f-9f-c5-c3-c3 - то же, но с дефисами, так, обычно, в длинках;

c04a.003c.044b - разделенные точками 16-тибитные блоки - принятый вид записи в Cisco IOS;


Первые 3 октета это префикс, соответствующий вендору, а следующие 3 октета - уникальный идентификатор, назначенный производителем.


Кроме идентификаторов хостов есть MAC адреса специального назначения. Во-первых широковещательный адрес или broadcast (ff:ff:ff:ff:ff:ff), MAC адрес, который используется, когда отправляемый эзернет кадр предназначается всем хостам в сети. Во-вторых и далее разные адреса для многоадресного (multicast) трафика, vrrp и прочих.


2. Общие сведения об струтуре кадра эзернет. Минимум, который нужно знать:

IP over Ethernet #1 Введение в Ethernet коммутацию. Интернет, Ethernet, Internet over Ethernet, Длиннопост

Кадр состоит из 3х частей - заголовка, полезных данных и контрольной суммы. Пока нам для последующего разбора надо знать из чего состоит заголовок. На рисунке заголовок представлен 14ю байтами из которых 6 - адрес назначения (destination, dst, d), 6 - адрес источника (source, src, s), 2 - тип кадра. Надо сказать, что на физическом уровне перед заголовком есть еще и преамбула, состоящая из 8ми байт, а после кадра межпакетный пропуск, но для начального понимания коммутации они несущественны. После нехитрого подсчета минимального payload в 46 и checksum в 4 байта получим минимальный кадр размером в 64 байта.


До появления коммутаторов все кадры в эзернет сети приходили всем хостам. То есть в такой сети (для удобства среда просто обозначена как шина):

IP over Ethernet #1 Введение в Ethernet коммутацию. Интернет, Ethernet, Internet over Ethernet, Длиннопост

Кадр отправленный от A к C с адресами в заголовке dst 00:00:00:00:00:03 и src 00:00:00:00:00:01 приходил и к B, B соответственно должен был его отбросить, так как кадр не для него, а C принять и обработать, A во время отправки ничего принимать не мог. Если C ответит A, то кадр также попадет и к A, где будет обработан, и к B, где будет отброшен. Любой кадр с dst ff:ff:ff:ff:ff:ff приходил ко всем и обрабатывался всеми, кроме отправителя, который, как водится, ничего не мог принимать во время отправки.


Сеть на концентраторах (хабах) принципиально ничего не меняла, кадры доставлялись точно также всегда всем.

IP over Ethernet #1 Введение в Ethernet коммутацию. Интернет, Ethernet, Internet over Ethernet, Длиннопост

Сеть на коммутаторах функционирует совершенно иначе, хотя для хостов все осталось как было и вроде бы ничего не изменилось.

IP over Ethernet #1 Введение в Ethernet коммутацию. Интернет, Ethernet, Internet over Ethernet, Длиннопост

Картина почти идентична предыдущей, но на ней не хватает существенных деталей, которые раньше не были существенными - номеров портов, исправим.

IP over Ethernet #1 Введение в Ethernet коммутацию. Интернет, Ethernet, Internet over Ethernet, Длиннопост

Теперь разберемся, что происходит в такой сети при таком же трафике как в предыдущих примерах.

Кадр отправленный от A к C с адресами в заголовке dst 00:00:00:00:00:03 и src 00:00:00:00:00:01 приходит в 3й порт свича. С этого момента все совсем не так как раньше. Я писал, что свич это специализированный сетевой компьютер. У него есть центральный процессор и память (ЗУ).


Итак шаг за шагом:


1. Приняв кадр на 3м порту с src-mac 00:00:00:00:00:01, свич, используя специализированную часть ЗУ, называемую CAM таблицей, запомнит на некоторое время, что хост A с MAC адресом 00:00:00:00:00:01 подключен где-то за 3м портом. CAM таблица представляет собой специализированное ЗУ, называемое ассоциативной памятью или АЗУ, в котором поиск данных по уникальным ключам происходит очень быстро.


2. Изучив dst-mac 00:00:00:00:00:02 из заголовка и определив, что это не адрес специального назначения, свич начнет поиск записи в CAM таблице, соответствующей ключу в виде этого адреса, если записи там нет (предположим в момент, когда сеть только включилась), то кадр будет отправлен во все порты кроме того, в который пришел этот кадр. То есть дальше кадр уйдет в порты 6 и 8, где будет обработан или отброшен соответствующими хостами.


3. Если C ответит A, то кадр с dst 00:00:00:00:00:01 и src 00:00:00:00:00:03 будет принят 8м портом свича.  Свич добавит в CAM таблицу запись о том, что хост C с MAC адресом 00:00:00:00:00:03 подключен где-то за 8м портом.


4. Изучив dst-mac 00:00:00:00:00:01 из заголовка и определив, что это не адрес специального назначения, свич начнет поиск записи в CAM таблице, соответствующей ключу в виде этого адреса, найдет запись о том, что хост с MAC адресом 00:00:00:00:00:01 подключен где-то за 3м портом. Дальше кадр уйдет только в порт 3, где будет обработан хостом A. В остальные порты кадр скоммутирован не будет.


Далее при каком-то значимом трафике между хостами кадры будут уходить уже адресно только получателям в соответствующие порты, это еще называется unicast.


5. Любой кадр с dst ff:ff:ff:ff:ff:ff будет после соответствующего обновления CAM таблицы по src-mac будет отправлен во все порты, кроме того на котором он был получен. Кадр будет обработан всеми хостами, кроме отправителя.


Для оценки значимости этих простых, в сущности алгоритмов я и написал предыдущие 3 части цикла. Поскольку это и предопределило революцию, описанную ранее.


В конце приведу несколько полезных ссылок в качестве, так сказать, дополнительной литературы.


Сети для самых маленьких. Часть вторая. Коммутация

Про MAC-таблицы в коммутаторах

Всё, что вы хотели знать о Ethernet фреймах, но боялись спросить, и не зря

В Интернет через Ethernet - Nag.ru

Показать полностью 4
28

IP over Ethernet #0.2 с чего все начиналось или какой быстрый ездок не любит русскую?!

Продолжение IP over Ethernet. Часть 1. Часть 2.


Итак революция в ethernet с появлением коммутаторов стала началом революции в телекоммуникациях. В любой отрасли революций хватает, это и антибиотики с вакцинацией в медицине, и методы получения пластмасс в химии, и появление транзисторов в радиоэлектронике, ну и т. д., список огромен. В передаче информации революций тоже хватало: телеграф, телефон, цифровая передача данных, разнообразные сети. Так что появлением новых устройств и протоколов удивить можно было мало кого.


Однако не в этом случае. Современный коммутатор эзернет отличается от хаба

чуть менее чем палка-копалка от шагающего экскаватора, хотя сначала разница и была немного меньше. Собственно поэтому и современный эзернет так же отличается от 10BASE2.
IP over Ethernet #0.2 с чего все начиналось или какой быстрый ездок не любит русскую?! Интернет, Ethernet, Internet over Ethernet, Длиннопост

Это что-то типа простейшей схемы хаба, достоверно неясно рабочей или нет, но общий посыл понятен. Промышленно изготавливаемые хабы были конечно сложнее, но все же, все же... Простые устройства, предоставляющие как и раньше доступ к разделяемой физической среде передачи.


В коммутаторе же принимаемые на каждом порту электрические сигналы сначала декодировались в ethernet пакеты (называемые фреймами или кадрами), специальным образом обрабатывались и передавались дальше в другие порты. Это изменило сущность эзернета. Можно, не углубляясь пока в конкретику, немного подытожить уже сейчас.


1. Разделяемая среда передачи перестала быть разделяемой. Исчезли коллизии. Стало возможным передавать и принимать одновременно; там где раньше было 10 мбит/с на всех (но не всегда доступных из-за коллизий), стало потенциально возможным 10 мбит/с на каждого одновременно на прием и передачу (full duplex).


2. Исчезли ограничения на каскадирование (подключение хаба к хабу) устройств. При каскадировании пассивных хабов уровень сигнала в сети затухал, после некоторого количества устройств становясь неотличимым от шума, нужны были активные хабы - аналоговые регенераторы сигнала. Каждый свич же был одновременно и цифровым регенератором, так как работал не с электрическими сигналами а с информационными пакетами.


3. Цифровая обработка пакетов создала предпосылки для эволюции ПО и вхождения коммутации в работу сетевого инженера как полноценной отдельной дисциплины.


В следующей заметке скорее всего с номером 1 попробую более подробно остановиться на введении в эзернет коммутацию, а пока продолжу рассказ о покорении эзернетом телекоммуникационного олимпа.


Следующей революцией в эзернет стало появление fast ethernet протокола и немедленное внедрение его в жизнь. Эзернет и так был очень дешев по сравнению с SDH и ATM в пересчете на единицу передаваемой информации за единицу времени. И если 1 Мбит/с SDH и ATM были еще более-менее подъемными для телеком бизнеса начала 2000х, то 100 Мбит/с их же стоили таких конских денег, что заставляли плакать от вожделения тогдашних водителей тогдашних 600х мерсов. За fast ethernet уже буднично воспоследовал gigabit ethernet ну и так далее, и так далее.


Но все это было хорошо и можно было, пользуясь свободной пропускной способностью коммутируемого эзернета уже передавать голос и даже, о ктулху, потоковое видео по офису, другое дело, что ATM позволял пусть дороже и не видео, но на километры. А километры были ой какими значимыми, даже ой-ой-ой какими, а вот эзернет на километры не позволял.


Ну и тут мы внезапно подходим к последним революционным событиям. В середине 2000х внезапно очень сильно подешевело одномодовое оптическое волокно (для которого в семействе технологий эзернет уже было несколько стандартов физического уровня), а за волокнами оптоволоконные кабеля, а за ними оптические приемопередатчики. Сама битва между Стекляшкиным и Хозяйкой медной горы достойна отдельного описания, но тут на небе Луна вошла в Юпитер Южный крест правление Юкоса все, короче, сошлось в очень благоприятный для эзернет расклад. И он вдруг внезапно тоже стал на километры и даже сотни километров за приемлемые деньги.


Параллельно этому развивалось программное обеспечение коммутаторов, которое к середине-концу 2000х стало вполне годным, а врожденные уродства эзернета, не позволявшие применять его за пределами офисных ЛВС, где-то превратились в достоинства, а где-то были закостылены до неузнаваемости.


Таким образом вчерашняя ЛВС для офиса стала чуть ли не технологией №1 для канального уровня сетевой модели, вытеснив все остальное в нишевые применения. Приведу свою цитату из комментариев к 1й части:

Я написал не про то, что нет ATM, а про то, что технологии для каждого (как ее позиционировали и прогнозировали) из нее уже не получится. Даже у сотовиков огромные куски передачи голоса переехали на ethernet/IP/MPLS, где-то жив SDH и надолго еще останется, где-то ATM, а где-то развернуты OTN и прочие WDM. Но все так или иначе замыкается на эзернет, во всех сегментах от ядер сетей до последних миль и сетей в квартирах. Этим должен был стать ATM, но не стал, и вот мы здесь.
Показать полностью
90

IP over Ethernet #0.1 с чего все начиналось или кому мутаторы

Продолжение IP over Ethernet.  Часть 1.


Итак об локальных сетях.


Цифровая передача данных как полезная штука начала широко входить в жизнь простого бюргера в 80х годах XX века. Появились телетексты, минители, а с ISDN и разные пользовательские терминалы, объявления, службы такси, прогнозы погоды и т. д. и т. п. Это не считая RS-232 с модемами. Некоторой части общественности стали доступны локальные сети на работе, а некоторые даже занимались промышленной автоматизацией, используя какие-нибудь MODBUS/RS-485 или CAN.


Сети были относительно молодыми и нужны были для разного. К RS-485, например, подключались какие-нибудь промышленные контроллеры, передававшие телеметрию из какого-нибудь большого адронного гудронного коллайдера в недрах какой-нибудь ТЭЦ районной котельной, где не нужны были эти ваши мегабиты, а пары килобит хватало за глаза, да и доморощенных кулхацкеров на таких предприятиях обычно быстро выкидывали на мороз.


В офисах и на заводах жили arcnet, ethernet и token-ring. Причем где надо было качественно передавать данные - преимущественно аркнет и токенринг, а где надо было дешево и быстро - преимущественно эзернет. Собственно вот это главное.


А дальше будет не менее главное второстепенное.


RS-485, arcnet, ethernet и token-ring - сети с множественным доступом (каждый участник может передавать каждому) на то время использовавшие общую разделяемую физическую среду передачи (за исключением токенринга, где все несколько сложнее/проще). Одной из существенных проблем, которую обязательно нужно решить в такой схеме - необходимость передачи информации в сети от только одного участника в каждый момент времени при молчании всех остальных. Если передавать одновременно будут несколько устройств, в сети произойдет смешение сигналов с последующей потерей данных. Решить эту проблему технически можно разными способами. Один из самых простых вариантов в MODBUS поверх RS-485 - master-slave модель, при таком варианте одно устройство в сети назначается ведущим, а остальные ведомыми, ведущее устройство опрашивает ведомые по очереди, после запроса у ведомых есть определенное время на ответ в течение которого ведущее устройство молчит и ждет, не отправляя новых запросов.


В аркнет с токен-рингом использовалась передача маркера, при этом владеющее маркером устройство могло передавать информацию, а остальные молчали и ждали, после истечения времени маркер передавался следующему устройству участнику сети, а предыдущее устройство замолкало.


Два вышеописанных примера - маркерный доступ и модель ведущий-ведомый это варианты так называемого детерминированного доступа к среде передачи. В эзернет же использовался случайный или недетерминированный доступ с механизмом распознавания коллизий,  не особенно хороший и довольно сложный, иногда делавший 10ти-мегабитную эзернет сеть менее эффективной чем 2х-мегабитный аркнет.


И тем не меннее вокруг нас один сплошной эзернет, а остальные почили, ну RS-485 нет, но он и не ЛВС, а промышленная сеть, а вот новых arcnet и token-ring нам скорее всего уже не увидеть.


Итак сначала об топологиях ЛВС на то время:

Эзернет - шина, токенринг - кольцевая шина, нет кольцо,нет даже сложно точно сформулировать, скорее точка-точка-кольцо или точка1->точка2->точка3->точка1, кольцевые бусы?, аркнет смешанная шина/звезда, сеть-мечта с практически произвольной топологией. В эзернет и аркнет для создания физической среды передачи применялся коаксиальный кабель, в токенринге неэкранированная витая пара.


Что было хорошего у аркнет - отсутствие коллизий, почти произвольная топология, передача данных в общей среде передачи всем участникам одновременно, у токенринга - отсутствие коллизий, 4 мбит/с против 2.5 мбит/с у аркнет, международный стандарт, у эзернет - 2 и 10 мбит/с, международный стандарт. В отличии от сетей с маркерным доступом, где очевидно были ограничения на размерность сетевого адреса и соответственно на количество устройств в сети, в эзернет довольно быстро появились 48-битные уникальные MAC адреса с механизмом их получения для производителей устройств, что позволяло теоретически запилить сеть с сотнями или тысячами устройств.


Дальше произошло несколько событий, определивших текущее положение вещей.


Сначала у эзернет появилась звездчатая топология с концентраторами/хабами (hub) внутри (как у аркнет), использующая витую пару (как у токенринг). И это произвело революционные изменения в дальнейшем. После появления сетей с хабами оказалось возможным коренным образом изменить все, заменив хаб на новое устройство, которое незамедлительно появилось. Называлось оно коммутатор или switch (свич) и представляло собой специализированный сетевой компьютер, обрабатывающий пакеты данных как пакеты, а не как электрические сигналы. Появление свичей сделало эзернет совершенно отличным от других ЛВС технологий, управление сетью стало более простым, надежность и скорость работы сети значительно увеличились, увеличилась качественно и сетевая безопасность. Доступ к среде передачи стал почти детерминированным как у конкурентов, коллизии практически ушли в прошлое. Цифровая обработка пакетов сразу предоставила громадные возможности для фантазии и творчества разработчикам программного обеспечения для сетевых устройств на десятилетия вперед.


Токенринг и аркнет создали новые высокоскоростные протоколы, но на подножку уходящего перрона запрыгивать было уже поздно...


Мутация из хабов в коммутаторы стала первой из череды особо значимых революций эзернета, во многом предопределив более 25 лет назад, то что происходит сегодня.


Продолжение следует...

Показать полностью

Мы ищем frontend-разработчика

Мы ищем frontend-разработчика

Привет!)


"Шо? опять?"

Задач так много, что мы не успеваем! И вот нам снова нужны frontend-разработчики!

Как уже стало традицией, мы предлагаем небольшую игру, где вам необходимо при помощи знаний JS, CSS и HTML пройти ряд испытаний!


Зачем всё это?

Каждый день на Пикабу заходит 2,5 млн человек, появляется около 2500 постов и 95 000 комментариев. Наша цель – делать самое уютное и удобное сообщество. Мы хотим регулярно радовать пользователей новыми функциями, не задерживать обещанные обновления и вовремя отлавливать баги.


Что надо делать?

Например, реализовывать новые фичи (как эти) и улучшать инструменты для работы внутри Пикабу. Не бояться рутины и удаленной командной работы (по чатам!).


Вам необходимо знать современные JS, CSS и HTML, уметь писать быстрый и безопасный код ;) Хотя бы немножко знать о Less, Sass, webpack, gulp, npm, Web APIs, jsDoc, git и др.


Какие у вас условия?

Рыночное вознаграждение по результатам тестового и собеседования, официальное оформление, полный рабочий день, но гибкий график. Если вас не пугает удаленная работа и ваш часовой пояс отличается от московского не больше, чем на 3 часа, тогда вы тоже можете присоединиться к нам!


Ну как, интересно? Тогда пробуйте ваши силы по ссылке :)

Если вы успешно пройдете испытание и оставите достаточно информации о себе (ссылку на резюме, примеры кода, описание ваших знаний), и если наша вакансия ещё не будет закрыта, то мы с вами обязательно свяжемся по email.

Удачи вам! ;)

Показать полностью
Отличная работа, все прочитано!