По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Linux черпал вдохновение из Unix, но Linux - это не Unix, хотя он определенно похож на Unix. Мы объясним основные различия между этими двумя известными операционными системами. Так в чем же разница? Linux - это бесплатное семейство операционных систем с открытым исходным кодом. Unix - это коммерческий продукт, предлагаемый различными поставщиками, каждый со своим вариантом, обычно предназначенным для своего собственного оборудования. Это дорогой и закрытый код. Но Linux и Unix делают примерно одно и то же, не так ли? Более-менее да. Тонкости несколько сложнее. Есть отличия помимо технических и архитектурных. Чтобы понять некоторые влияния, которые сформировали Unix и Linux, нам нужно понять их предысторию. Истоки Unix Unix более 50 лет. Он был разработан на языке ассемблера Digital Equipment Corporation (DEC) на DEC PDP/7 в качестве неофициального проекта в Bell Labs, в то время принадлежавшем AT&T. Вскоре он был перенесен на компьютер DEC PDP/11/20, а затем постепенно распространился на другие компьютеры Bell. Переписывание на язык программирования C привело к появлению в 1973 г. версии 4 Unix. Это было важно, потому что характеристики языка C и компилятора означали, что теперь переносить Unix на новые компьютерные архитектуры было относительно легко. В 1973 году Кен Томпсон и Деннис Ритчи представили на конференции доклад о Unix. В результате запросы на копии Unix хлынули в Bell. Поскольку продажа операционных систем выходила за рамки разрешенного объема деятельности AT&T, они не могли рассматривать Unix как продукт. Это привело к распространению Unix в виде исходного кода с лицензией. Номинальных затрат было достаточно, чтобы покрыть отгрузку и упаковку, а также «разумный гонорар». Unix пришла «как есть», без технической поддержки и исправлений ошибок. Но вы получили исходный код - и вы могли его изменить. Unix быстро завоевал популярность в академических учреждениях. В 1975 году Кен Томпсон провел творческий отпуск от Bell в Калифорнийском университете в Беркли. Вместе с некоторыми аспирантами он начал добавлять и улучшать их локальную копию Unix. Внешний интерес к дополнениям Berkeley вырос, что привело к выпуску первого выпуска Berkeley Software Distribution (BSD). Это был набор программ и модификаций системы, которые можно было добавить в существующую систему Unix, но это не была отдельная операционная система. Последующие версии BSD были целыми системами Unix. Теперь существовало две основных разновидности Unix: поток AT&T и поток BSD. Все другие варианты Unix, такие как AIX, HP-UX и Oracle Solaris, являются их потомками. В 1984 году были сняты некоторые ограничения для AT&T, и они смогли производить и продавать Unix. Затем Unix стала коммерциализированной. Начало Linux Рассматривая коммерциализацию Unix как дальнейшее разрушение свобод, доступных пользователям компьютеров, Ричард Столлман решил создать операционную систему, основанную на свободе. То есть свобода изменять исходный код, распространять модифицированные версии программного обеспечения и использовать программное обеспечение любым способом, который пользователь сочтет нужным. Операционная система должна была воспроизвести функциональность Unix без включения какого-либо исходного кода Unix. Он назвал операционную систему GNU и в 1983 году основал проект GNU Project для разработки этой операционной системы. В 1985 году он основал Фонд свободного программного обеспечения для продвижения, финансирования и поддержки проекта GNU. Все области операционной системы GNU достигли хорошего прогресса - кроме ядра. Разработчики проекта GNU работали над микроядром под названием GNU Hurd, но прогресс был медленным, (сегодня он все еще находится в разработке и приближается к выпуску.) Без ядра не было бы операционной системы. Основной управляющей программой Unix является его ядро. Ядро имеет полный контроль над всей системой. Он имеет подсистемы, которые предлагают услуги для обработки файловой системы, обработки ресурсов, управления памятью, запуска и остановки программ и нескольких других низкоуровневых основных задач. Ядро является сердцем ОС и действует как интерфейс между пользователем и оборудованием. Каждая подсистема ядра имеет определенные функции, такие как параллелизм, виртуальная память, подкачка и виртуальная файловая система. На внешних уровнях архитектуры у нас есть оболочка, команды и прикладные программы. Оболочка - это интерфейс между пользователем и ядром. Оболочка и пользователь вводят команды, интерпретируют эти команды и соответственно вызывают компьютерные программы. В 1987 году Эндрю С. Танебаум выпустил операционную систему MINIX (mini-Unix) в качестве учебного пособия для студентов, изучающих проектирование операционных систем. MINIX была функциональной Unix-подобной операционной системой, но имела некоторые ограничения, особенно в отношении файловой системы. В конце концов, исходный код должен быть достаточно маленьким, чтобы его можно было адекватно изучить за один университетский семестр. Некоторой функциональностью пришлось пожертвовать. Чтобы лучше понять внутреннюю работу Intel 80386 на своем новом ПК, студент-информатик Линус Торвальдс написал в качестве учебного упражнения простой код переключения задач. В конце концов, этот код стал элементарным прото-ядром, которое стало первым ядром Linux. Торвальдс был знаком с MINIX. Фактически, его первое ядро было разработано на MINIX с использованием компилятора GCC Ричарда Столлмана. Кто занимается разработкой? Дистрибутив Linux - это сумма множества различных частей, взятых из самых разных мест. Ядро Linux, набор основных утилит GNU и пользовательские приложения объединены для создания жизнеспособного дистрибутива. И кто-то должен заниматься этим объединением, обслуживанием и управлением - точно так же, как кто-то должен разрабатывать ядро, приложения и основные утилиты. Сопровождающие дистрибутива и сообщества каждого дистрибутива играют свою роль в создании дистрибутива Linux так же, как и разработчики ядра. Linux - это результат распределенных совместных усилий, выполняемых неоплачиваемыми добровольцами, такими организациями, как Canonical и Red Hat, а также отдельными лицами, спонсируемыми отраслью. Каждый коммерческий Unix разрабатывается как единое целое с использованием собственных или жестко контролируемых сторонних средств разработки. Часто они имеют уникальное ядро и разработаны специально для аппаратных платформ, поставляемых каждым поставщиком. Бесплатные производные потока BSD Unix с открытым исходным кодом, такие как FreeBSD, OpenBSD и DragonBSD, используют комбинацию устаревшего кода BSD и нового кода. Теперь они поддерживаются сообществом и управляются так же, как и дистрибутивы Linux. Также важно отметить, что Linux - это только ядро, а не полная ОС. Это ядро Linux обычно входит в состав дистрибутивов Linux, что делает его полноценной ОС. Дистрибутив Linux - это операционная система, созданная из набора программного обеспечения, построенного на ядре Linux, и система управления пакетами. Стандартный дистрибутив Linux состоит из ядра Linux, системы GNU, утилит GNU, библиотек, компилятора, дополнительного программного обеспечения, документации, оконной системы, оконного менеджера и среды рабочего стола. Таким образом, дистрибутивы Linux фактически делают ядро Linux полностью пригодным для использования в качестве операционной системы, добавляя к нему различные приложения. Существуют различные разновидности дистрибутивов Linux, которые обслуживают широкий спектр потребностей пользователей. Например, у нас есть ОС на базе OpenWrt Linux для встраиваемых устройств, Linux Mint для персональных компьютеров и Rocks Cluster Distribution для суперкомпьютеров. Всего существует около 600 дистрибутивов Linux. Или, например, популярная мобильная ОС Android от Google основана на Linux. Каждая итерация ОС Android построена на текущем ядре Linux. Стандарты и соответствие В общем, Linux не соответствует ни единой спецификации Unix (SUS), ни POSIX. Он пытается удовлетворить оба стандарта, не будучи зависим от них. Таие ОС называются Unix-подобными ОС (Unix-like, UN*X или *nix). Linux - это Unix-подобная операционная система с некоторыми изменениями в дизайне Unix. Было одно или два (буквально одно или два) исключения, такие как Inspur K-UX, китайский Linux, совместимый с POSIX. POSIX (Portable Operating System Interface — переносимый интерфейс операционных систем) — набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой (системный API) Single UNIX Specification (SUS) — общее название для семейства стандартов, которым должна удовлетворять операционная система, чтобы называться «UNIX» Настоящий Unix, как и коммерческие предложения, соответствует требованиям. Некоторые производные BSD, включая все версии macOS, кроме одной, совместимы с POSIX. Имена вариантов, такие как AIX, HP-UX и Solaris, являются товарными знаками соответствующих организаций. MacOS - это сертифицированная ОС Unix. У него есть собственное ядро под названием XNU. MacOS используется в компьютерах Apple. Товарные знаки и авторское право Linux - зарегистрированная торговая марка Линуса Торвальдса. Linux Foundation управляет торговой маркой от его имени. Ядро Linux и основные утилиты выпускаются под различными общедоступными лицензиями GNU с «авторским левом». Исходный код находится в свободном доступе. Unix - зарегистрированная торговая марка Open Group. Он защищен авторским правом, проприетарен и имеет закрытый код. FreeBSD защищена авторским правом FreeBSD Project, и исходный код доступен. Различия в использовании С точки зрения пользовательского опыта, в командной строке нет большой видимой разницы. Из-за стандартов и соответствия POSIX программное обеспечение, написанное на Unix, может быть скомпилировано для операционной системы Linux с ограниченными усилиями по переносу. Например, скрипты оболочки можно использовать непосредственно в Linux во многих случаях с небольшими изменениями или даже без них. Некоторые утилиты командной строки имеют несколько разные параметры командной строки, но, по сути, на обеих платформах доступен один и тот же арсенал инструментов. Фактически, в IBM AIX есть AIX Toolbox для приложений Linux. Это позволяет системному администратору устанавливать сотни пакетов GNU (например, Bash, GCC и другие). Различные разновидности Unix имеют разные доступные графические интерфейсы пользователя (GUI), как и Linux. Пользователь Linux, знакомый с GNOME или Mate, сможет нащупать свой путь при первом знакомстве с KDE или Xfce. То же самое и с рядом графических интерфейсов пользователя, доступных в Unix, таких как Motif, Common Desktop Environment и X Windows System. Все они достаточно похожи, чтобы по ним мог ориентироваться любой, кто знаком с концепциями оконной среды с диалогами, меню и значками. Вы узнаете больше о различиях при администрировании систем. Например, есть разные механизмы инициализации. Производные от System V Unix и потоков BSD имеют разные системы инициализации. Бесплатные варианты BSD поддерживали схемы инициализации BSD. По умолчанию дистрибутивы Linux будут использовать систему инициализации, производную от Unix System V или systemd. Подробнее про различия Использование и операции Linux используется от малых до средних операций, в то время как ранее UNIX был единственным вариантом. Большинство поставщиков программного обеспечения перешли на Linux, поскольку это открытое программное обеспечение, которое свободно распространяется и предпочтительно для веб-служб и офисных операций. В большинстве случаев используется Linux, но бывают случаи, когда UNIX имеет преимущество. Как и на предприятиях, которые используют массивные симметричные многопроцессорные системы, UNIX - правильный выбор. Серьёзным конкурентом Linux какое-то была FreeBSD, но благодоря открытости Linux стал лидером мира свободного ПО. Основные характеристики Linux - это ядро, а Unix - это стандартизация. Есть ряд функций, которыми отличаются обе операционные системы, некоторые из них приведены ниже. Возможности UNIX: Это многопользовательская и многозадачная ОС. На серверах и рабочих станциях UNIX используется в качестве главной управляющей программы. Возможности Linux: Это многозадачная ОС, которая также поддерживает многопользовательские программы. Одна программа может иметь более одного процесса, и каждый из процессов может иметь более одного потока. На одном компьютере вы можете установить Linux, а также другую ОС, и обе ОС будут работать без сбоев. У него есть авторизованная учетная запись, поэтому отдельные учетные записи защищены. Безопасность Не существует полностью защищенной ОС, но если мы сравним Unix и Linux, мы увидим, что Linux гораздо более оперативно реагирует на ошибки и угрозы. Оба имеют одинаковые характеристики, такие как правильная сегментация домена в многопользовательской среде, есть система паролей, с помощью которой система шифруется и так далее. Преимущество открытой программной системы в том, что она находится в свободном доступе, что делает ее более защищенной от ошибок. Когда кто-либо из разработчиков видит ошибку в программном обеспечении, он может сообщить об этом кому угодно на форуме разработчиков. В случае Unix система не является открытым программным обеспечением, поэтому она имеет ограничения и гораздо более уязвима для угроз. Аппаратная архитектура Если мы увидим коммерческие версии Unix, то большинство из них поддерживает свои собственные аппаратные машины. Например. HP-UX поддерживает только компьютеры PA-RISC и Itanium, Solaris работает на SPARC и x86, который является процессором питания. Они подпадают под ограничения UNIX, и по этой причине производители Unix имеют преимущество в том, что они могут оптимизировать код и драйверы. В случае с Linux это не так. Linux был написан таким образом, чтобы он мог поддерживать максимальное количество машин. Есть несколько платформ и машин, на которых может работать Linux с поддержкой нескольких других устройств ввода-вывода. Здесь разработчики не знают, в какой системе будет установлено программное обеспечение, поэтому они не могут оптимизировать код. Ядро Процесс установки исправлений и компиляции различен для Linux и Unix. В Linux патч может быть выпущен на форуме, и конечный пользователь может установить его на свой компьютер. Этот патч также может редактироваться и изменяться конечным пользователем. Поскольку существует множество сред, поддерживающих приложения Linux, разработчики зависят от многих глаз, чтобы знать об ошибках и угрозах. Ядра выпускаются только в двоичной форме коммерческими поставщиками Unix. Если необходимо установить обновление, администратор должен дождаться, пока поставщик выпустит исправление в двоичной форме. Поддержка файловой системы Существует множество файловых систем, поддерживаемых Linux, тогда как в случае Unix он поддерживает меньшее количество систем. Ниже мы увидим некоторые файловые системы, поддерживаемые разными ОС. Linux - Jfs, Xfs, Btrfs, Ext2, Ext3, Ext4, FAT, FAT32, NTFS, devpts и так далее. Unix - ufs, xfs, zfs, jfs, hfs +, hfs и так далее. Доступность приложений Как упоминалось выше, Linux - это клон Unix. Таким образом, многие приложения одинаковы в обеих ОС. Некоторые похожие команды - cp, ls, vi и cc. Linux - это версия GNU, тогда как Unix основан на оригинальных инструментах. Но это не следует путать, поскольку некоторые поставщики Unix используют инструменты GNU в своих установках. Большинство поставщиков предоставляют эти инструменты в виде предварительно скомпилированных пакетов, которые устанавливаются или поставляются как дополнительный компонент. Все дистрибутивы Linux поставляются с набором приложений с открытым исходным кодом, и есть несколько других, свободно доступных для разработчиков и конечных пользователей. Таким образом, Unix также портировал эти приложения, и они доступны в коммерческой версии Unix. Поддержка Все версии Unix являются платными, а версии для Linux можно использовать бесплатно. Это также добавляет в Unix функцию, заключающуюся в том, что если кто-то купит Unix, он получит коммерческую поддержку. В случае с Linux у нас есть несколько открытых форумов, где пользователи могут задавать вопросы и предлагать лучшее решение. Linux более отзывчив, поскольку несколько конечных пользователей заявили, что форумы более отзывчивы, чем коммерческая техническая поддержка Unix. Сравнительная таблица Особенности Linux Unix Разработчик Вдохновленный MINIX (Unix-подобная ОС), Linux был первоначально разработан финско-американским инженером-программистом Линусом Торвальдсом. Поскольку это открытый исходный код, у нас есть разработчики сообщества для Linux. Первоначально полученный от AT&T Unix, он был разработан в Bell Labs Кеннетом Лэйном Томпсоном, Деннисом Ричи и тремя другими. Написано на C и другие языки программирования. C и язык ассемблера. Семейство ОС Unix-подобный (Unix-like) Unix Исходная модель Открытый исходный код Смешанный. Однако, традиционно с закрытым исходным кодом, немногие проекты Unix имеют открытый исходный код, включая ОС Illumos и ОС BSD (Berkley Software Distribution). Доступно на языках Многоязычный Английский Первый выпуск Linux новее по сравнению с Unix. Он был производным от Unix и был выпущен в сентябре 1991 года. Unix старше. Был выпущен в октябре 1973 года для сторонних организаций. До этого он использовался внутри Bell Labs с момента основания в 1970 году. Тип ядра Монолитное ядро Тип ядра варьируется. Он может быть монолитным, микроядерным и гибридным. Лицензия GNUv2 (Стандартная общественная лицензия GPL) и другие. Лицензирование различается. Некоторые версии являются проприетарными, другие - бесплатными / OSS. Официальный веб-сайт https://www.kernel.org/ http://opengroup.org/unix Пользовательский интерфейс по умолчанию Оболочка Unix CLI (интерфейс командной строки) и графический (система X Windows) Текстовый режим интерфейса По умолчанию оболочка - BASH (Bourne Again Shell). Более того, он совместим со многими интерпретаторами команд. Первоначально оболочка Bourne. Он также совместим со многими интерпретаторами команд. Стоимость Можно получить и использовать бесплатно. Существуют также платные версии Linux. Но, как правило, Linux дешевле Windows. Проприетарные операционные системы имеют разные структуры затрат, устанавливаемые продавцами, соответственно. Примеры Debian, Ubuntu, Fedora, Red Hat, Android и т. Д. IBM AIX, Solaris, HP-UX, Darwin, macOS X и т. Д. Архитектура Первоначально был создан для оборудования Intel x86, порты доступны для многих типов процессоров. Совместим с машинами PA и Itanium. Solaris также доступен на x86/x64. OSX - это PowerPC. Обнаружение и устранение угроз Поскольку Linux в основном управляется сообществом открытого исходного кода, над кодом работают многие разработчики в разных частях мира. Следовательно, в случае Linux обнаружение и устранение угроз происходит довольно быстро. Из-за проприетарной природы Unix пользователям необходимо дождаться соответствующих исправлений для исправления ошибок. Безопасность Как Linux, так и ОС на базе Unix обычно считаются очень хорошо защищенными от вредоносных программ. Это связано с отсутствием корневого доступа, быстрыми обновлениями и сравнительно низкой долей рынка (по сравнению с Windows). По состоянию на 2018 год широко распространенного Linux-вируса не было. Unix также считается очень безопасным. Заразить еще сложнее, так как источник тоже недоступен. В настоящее время для Unix нет активно распространяющегося вируса. Цена Linux бесплатный. Однако корпоративная поддержка доступна по цене. Unix не бесплатен. Однако некоторые версии Unix бесплатны для использования в целях разработки (Solaris). В среде для совместной работы Unix стоит 1407 долларов на пользователя, а Linux стоит 256 долларов на пользователя. Следовательно, UNIX очень дорогая. Заключение Unix очень стар и считается родителем всех операционных систем. Ядро Linux также является производным от Unix. Основное различие между операционными системами на основе Unix и Linux заключается не в части представления, а в том, как они работают внутри, то есть в основном в части ядра. Разница между ними также будет зависеть от того, какие именно версии Linux и Unix вы сравниваете. Также важно указать, что Linux (и многие другие Unix-подобные ОС) можно свободно получать и изменять, в то время как операционные системы Unix - нет. Стоимость всегда является основным вопросом при принятии решения, какую технологию использовать, и Linux имеет в этом отношении преимущество. Linux более гибкий и бесплатный по сравнению с настоящими системами Unix, и именно поэтому Linux стал более популярным. При обсуждении команд в Unix и Linux они не одинаковы, но очень похожи. Фактически, команды в каждом дистрибутиве одного и того же семейства ОС также различаются. В Solaris, HP, Intel и других используются Интернет-серверы Unix, рабочие станции и персональные компьютеры. В то время как Linux широко используется для компьютерного программного обеспечения и оборудования, игр, планшетов, мэйнфреймов и т.д. Есть исследования, которые говорят, что Linux за последние несколько лет развивается быстрее, чем любая другая ОС. Следовательно, в будущем Linux может оставить далеко позади установки UNIX.
img
Перед тем как начать, почитайте материал про топологию сетей. Обнаружение соседей позволяет плоскости управления узнать о топологии сети, но как узнать информацию о достижимых пунктах назначения? На рисунке 8 показано, как маршрутизатор D узнает о хостах A, B и C? Существует два широких класса решений этой проблемы - реактивные и упреждающие, которые обсуждаются в следующих статьях. Реактивное изучение На рисунке 8 предположим, что хост A только что был включен, а сеть использует только динамическое обучение на основе передаваемого трафика данных. Как маршрутизатор D может узнать об этом недавно подключенном хосте? Одна из возможностей для A - просто начать отправлять пакеты. Например, если A вручную настроен на отправку всех пакетов по назначению, он не знает, как достичь к D, A должен отправить в хотя бы один пакет, чтобы D обнаружил его существование. Узнав A, D может кэшировать любую релевантную информацию на некоторое время - обычно до тех пор, пока A, кажется, отправляет трафик. Если A не отправляет трафик в течение некоторого времени, D может рассчитать запись для A в своем локальном кэше. Этот процесс обнаружения достижимости, основанный на фактическом потоке трафика, является реактивным открытием. С точки зрения сложности, реактивное обнаружение торгует оптимальным потоком трафика против информации, известной и потенциально переносимой в плоскости управления. Потребуется некоторое время, чтобы сработали механизмы реактивного обнаружения, то есть чтобы D узнал о существовании A, как только хост начнет посылать пакеты. Например, если хост F начинает посылать трафик в сторону а в тот момент, когда A включен, трафик может быть перенаправлен через сеть на D, но D не будет иметь информации, необходимой для пересылки трафика на канал, а следовательно, и на A. В течение времени между включением хоста A и обнаружением его существования пакеты будут отброшены-ситуация, которая будет казаться F в худшем случае сбоем сети и некоторым дополнительным джиттером (или, возможно, непредсказуемой реакцией по всей сети) в лучшем случае. Кэшированные записи со временем должны быть отключены. Обычно для этого требуется сбалансировать ряд факторов, включая размер кэша, объем кэшируемой информации об устройстве и частоту использования записи кэша в течение некоторого прошедшего периода времени. Время ожидания этой кэшированной информации и любой риск безопасности какого-либо другого устройства, использующего устаревшую информацию, являются основой для атаки. Например, если A перемещает свое соединение с D на E, информация, которую D узнал об A, останется в кэше D в течение некоторого времени. В течение этого времени, если другое устройство подключается к сети к D, оно может выдавать себя за A. Чем дольше действительна кэшированная информация, тем больше вероятность для выполнения этого типа атаки. Упреждающее изучение Некоторая информация о доступности может быть изучена заранее, что означает, что маршрутизатору не нужно ждать, пока подключенный хост начнет отправлять трафик, чтобы узнать об этом. Эта возможность имеет тенденцию быть важной в средах, где хосты могут быть очень мобильными; например, в структуре центра обработки данных, где виртуальные машины могут перемещаться между физическими устройствами, сохраняя свой адрес или другую идентифицирующую информацию, или в сетях, которые поддерживают беспроводные устройства, такие как мобильные телефоны. Здесь описаны четыре широко используемых способа упреждающего изучения информации о доступности: Протокол обнаружения соседей может выполняться между граничными сетевыми узлами (или устройствами) и подключенными хостами. Информация, полученная из такого протокола обнаружения соседей, может затем использоваться для введения информации о доступности в плоскость управления. Хотя протоколы обнаружения соседей широко используются, информация, полученная через эти протоколы, не используется широко для внедрения информации о доступности в плоскость управления. Информацию о доступности можно получить через конфигурацию устройства. Почти все сетевые устройства (например, маршрутизаторы) будут иметь доступные адреса, настроенные или обнаруженные на всех интерфейсах, обращенных к хосту. Затем сетевые устройства могут объявлять эти подключенные интерфейсы как достижимые места назначения. В этой ситуации доступным местом назначения является канал (или провод), сеть или подсеть, а не отдельные узлы. Это наиболее распространенный способ получения маршрутизаторами информации о доступности сетевого уровня. Хосты могут зарегистрироваться в службе идентификации. В некоторых системах служба (централизованная или распределенная) отслеживает, где подключены хосты, включая такую информацию, как маршрутизатор первого прыжка, через который должен быть отправлен трафик, чтобы достичь их, сопоставление имени с адресом, услуги, которые каждый хост способен предоставить, услуги, которые каждый хост ищет и/или использует, и другую информацию. Службы идентификации распространены, хотя они не всегда хорошо видны сетевым инженерам. Такие системы очень распространены в высокомобильных средах, таких как беспроводные сети, ориентированные на потребителя. Плоскость управления может извлекать информацию из системы управления адресами, если она развернута по всей сети. Однако это очень необычное решение. Большая часть взаимодействия между плоскостью управления и системами управления адресами будет осуществляться через локальную конфигурацию устройства; система управления адресами назначает адрес интерфейсу, а плоскость управления выбирает эту конфигурацию интерфейса для объявления в качестве достижимого назначения. Объявление достижимости и топология После изучения информации о топологии и доступности плоскость управления должна распространить эту информацию по сети. Хотя метод, используемый для объявления этой информации, в некоторой степени зависит от механизма, используемого для расчета путей без петель (поскольку какая информация требуется, где рассчитывать пути без петель, будет варьироваться в зависимости от того, как эти пути вычисляются), существуют некоторые общие проблемы и решения, которые будут применяться ко всем возможным системам. Основные проблемы заключаются в том, чтобы решить, когда объявлять о доступности и надежной передаче информации по сети. Решение, когда объявлять достижимость и топологию Когда плоскость управления должна объявлять информацию о топологии и доступности? Очевидным ответом может быть "когда это будет изучено", но очевидный ответ часто оказывается неправильным. Определение того, когда объявлять информацию, на самом деле включает в себя тщательный баланс между оптимальной производительностью сети и управлением объемом состояния плоскости управления. Рисунок 9 будет использован для иллюстрации. Предположим, хосты A и F отправляют данные друг другу почти постоянно, но B, G и H вообще не отправляют трафик в течение некоторого длительного периода. В этой ситуации возникают два очевидных вопроса: Хотя для маршрутизатора C может иметь смысл поддерживать информацию о доступности для B, почему D и E должны поддерживать эту информацию? Почему маршрутизатор E должен поддерживать информацию о доступности хоста A? С точки зрения сложности существует прямой компромисс между объемом информации, передаваемой и удерживаемой в плоскости управления, и способностью сети быстро принимать и пересылать трафик. Рассматривая первый вопрос, например, компромисс выглядит как способность C отправлять трафик из B в G при его получении по сравнению с C, поддерживающим меньше информации в своих таблицах пересылки, но требующимся для получения информации, необходимой для пересылки трафика через некоторый механизм при получении пакетов, которые должны быть переадресованы. Существует три общих решения этой проблемы. Проактивная плоскость управления: плоскость управления может проактивно обнаруживать топологию, вычислять набор путей без петель через сеть и объявлять информацию о достижимости. Упреждающее обнаружение топологии с реактивной достижимостью: плоскость управления может проактивно обнаруживать топологию и рассчитывать набор путей без петель. Однако плоскость управления может ждать, пока информация о доступности не потребуется для пересылки пакетов, прежде чем обнаруживать и / или объявлять о доступности. Реактивная плоскость управления: плоскость управления может реактивно обнаруживать топологию, вычислять набор путей без петель через сеть (обычно для каждого пункта назначения) и объявлять информацию о доступности. Если C изучает, сохраняет и распределяет информацию о доступности проактивно или в этой сети работает проактивная плоскость управления, то новые потоки трафика могут перенаправляться через сеть без каких-либо задержек. Если показанные устройства работают с реактивной плоскостью управления, C будет: Подождите, пока первый пакет в потоке не направится к G (к примеру) Откройте путь к G с помощью некоторого механизма Установите путь локально Начать пересылку трафика в сторону G Тот же процесс должен быть выполнен в D для трафика, перенаправляемого к A от G и F (помните, что потоки почти всегда двунаправленные). Пока плоскость управления изучает путь к месту назначения, трафик (почти всегда) отбрасывается, потому что сетевые устройства не имеют никакой информации о пересылке для этого достижимого места назначения (с точки зрения сетевого устройства достижимый пункт назначения не существует). Время, необходимое для обнаружения и создания правильной информации о пересылке, может составлять от нескольких сотен миллисекунд до нескольких секунд. В это время хост и приложения не будут знать, будет ли соединение в конечном итоге установлено, или если место назначения просто недоступно. Плоскости управления можно в целом разделить на: Проактивные системы объявляют информацию о доступности по всей сети до того, как она понадобится. Другими словами, проактивные плоскости управления хранят информацию о доступности для каждого пункта назначения, установленного на каждом сетевом устройстве, независимо от того, используется эта информация или нет. Проактивные системы увеличивают количество состояний, которые передаются и хранятся на уровне управления, чтобы сделать сеть более прозрачной для хостов или, скорее, более оптимальной для краткосрочных и чувствительных ко времени потоков. Реактивные системы ждут, пока информация о пересылке не потребуется для ее получения, или, скорее, они реагируют на события в плоскости данных для создания информации плоскости управления. Реактивные системы уменьшают количество состояний, передаваемых на уровне управления, делая сеть менее отзывчивой к приложениям и менее оптимальной для кратковременных или чувствительных ко времени потоков. Как и все компромиссы в сетевой инженерии, описанные здесь два варианта, не являются исключительными. Можно реализовать плоскость управления, содержащую некоторые проактивные и некоторые реактивные элементы. Например, можно построить плоскость управления, которая имеет минимальные объемы информации о доступности, описывающей довольно неоптимальные пути через сеть, но которая может обнаруживать более оптимальные пути, если обнаруживается более длительный или чувствительный к качеству обслуживания поток. Что почитать дальше? Советуем материал про реактивное и упреждающее распределение достижимости в сетях.
img
Пришло время заняться некоторыми более продвинутыми и интересными функциями протокола маршрутизации Open Shortest Path First. Мы начинаем с изучения конфигурации и проверки различных областей OSPF. Это упражнение является не только забавным, но и действительно может закрепить знания о том, как эти области функционируют и почему они существуют. Видео: протокол OSPF (Open Shortest Path First) за 8 минут OSPF LSA Types Области (Areas) - это фундаментальная концепция OSPF. Это то, что делает протокол маршрутизации иерархическим, как мы любим говорить. Существует основная магистральная область (область 0), которая соединяется с нормальными, не магистральными областями. Магистраль может также соединяться с особыми типами областей, которые мы подробно рассмотрим в этой группе статей. Такая иерархическая природа конструкции помогает гарантировать, что протокол является очень масштабируемым. Мы можем легко уменьшить или исключить ненужные потоки трафика маршрутизации и связи между областями, если это необходимо. Магистральная и не магистральная область (Backbone и Non-Backbone Areas) Вернемся немного назад к нашим предыдущим сообщениям в статьях об OSPF. На рисунке 1 показана простая многозонная сеть. Сейчас я настрою эту сеть, используя мой любимый подход к конфигурации, команду конфигурации уровня интерфейса ip ospf. Пример 1 показывает конфигурацию всех трех устройств. Рисунок 1: Магистральная и не магистральная область (Backbone и Non-Backbone Areas) Пример 1: Настройка магистральных и не магистральных областей ATL Router: ATL#conf t Enter configuration commands, one per line. End with CNTL/Z. ATL(config)#interface fa0/0 ATL(config-if)#ip ospf 1 area 0 ATL(config-if)#interface lo0 ATL(config-if)#ip ospf 1 area 0 ATL(config-if)#end ATL# ATL2 Router: ATL2#conf t Enter configuration commands, one per line. End with CNTL/Z. ATL2 (config)#interface fa0/0 ATL2 (config-if)#ip ospf 1 area 0 ATL2 (config-if)#interface *Mar 27 22 :03 :27.815 : %0SPF-5-ADJCHG : Process 1, Nbr 1 .1.1 .1 on FastEthernet0/0 from LOADING to FULL, Loading Done ATL2 (config-if)#interface fa1/0 ATL2 (config-if)#ip ospf 1 area 1 ATL2 (config-if)#end ATL2# ORL Router: ORL# conf t Enter configuration commands, one per line. End with CNTL/Z. ORL( config )#interface fa1/0 ORL(config-if)#ip ospf 1 area 1 ORL(config-if)#end ORL# *Mar 27 22 :04:21.515: %0SPF-5-ADJCHG: Process 1, Nbr 10.23.23.2 on FastEthernet1/0 from LOADING to FULL , Loading Done Обратите внимание на простоту этой конфигурации, даже если мы настраиваем довольно сложный протокол маршрутизации. Area Border Router (ABR) находится в ATL2 с одним интерфейсом в магистральной и одним в не магистральной области. Обратите также внимание, как мы получаем некоторые «бонусные» проверки. Когда мы настраиваем интерфейсы, мы можем видеть, что OSPF-соседства формируются между устройствами. Это избавляет нас от необходимости проверять их «вручную» с помощью следующей команды: ATL2# show ip ospf neighbor Интересной проверкой для нас здесь является проверка префикса 1.1.1.0/24 с устройства ATL (а также удаленной связи между ATL и ATL2). Мы проверяем это на ORL, чтобы проверить многозональную конфигурацию OSPF. Поскольку это «нормальная» область, все LSA должны быть разрешены в этой области, и мы должны видеть, что префикс появляется как межзонный маршрут OSPF. show ip route ospf Хотя это не часто требуется при устранении неполадок, но мы можем изучить базу данных OSPF, чтобы увидеть различные типы LSA. show ip ospf database Записи состояния соединения маршрутизатора являются Type 1 LSA. Это конечные точки в нашей локальной области 1. Записи состояния net link-это Type 2 LSA. Здесь мы видим идентификатор маршрутизатора назначенного маршрутизатора (DR). Наконец, суммарные состояния сетевых ссылок — это Type 3 LSA. Это префиксы, которые ABR посылает в нашу область. Конечно же, это loopback (1.1.1.0) и удаленная сеть (10.12.12.0). Примечание: интерфейс обратной связи (loopback interface) объявлен как хост-маршрут 32-разрядной версии. Чтобы изменить это, вы можете просто использовать команду ip ospf network point-to-point на интерфейсе loopback. Это изменяет тип сети от типа loopback для OSPF и вызывает объявление маски в том виде, в каком она настроена. Теперь пришло время добавить к этой истории еще и другое. Давайте настроим некоторые внешние префиксы и введем их в домен OSPF. Это просто благодаря loopback interfaces. Мы создадим некоторые из них на маршрутизаторе ATL, запустим EIGRP на них, а затем перераспределим их в OSPF. ATL#conf t Enter configuration commands, one per line. End with CNTL/Z . ATL (config)#interface lo10 ATL (config-if)#ip address 192.168.10.1 255.255.255.0 ATL (config-if)#interface loopback 20 ATL (config-if)#ip address 192.168.20.1 255.255.255.0 ATL (config if)#router eigrp 100 ATL (config-router)#network 192 .168.10.1 0.0.0.0 ATL (config-router)#network 192.168.20.1 0.0.0.0 ATL (config-router)#router ospf 1 ATL (config-router)#redistribute eigrp 100 subnets metric 1000 ATL (config-router)#end ATL# Теперь у нас есть еще более интересные проверки на устройстве ORL. Во-первых, таблица маршрутизации: show ip route ospf Обратите внимание, что удаленные префиксы перечислены как маршруты E2. Это значение по умолчанию для внешних маршрутов OSPF типа 2. Это означает, что метрика остается неизменной, поскольку префикс течет от ASBR (автономного системного пограничного маршрутизатора) к внутреннему спикеру OSPF. Вы можете изменить тип на Type 1, если хотите, когда вы выполняете перераспределение. Возможно, больший интерес представляет база данных OSPF: show ip ospf database Обратите внимание, как мы подбираем Type 4 LSA (summary ASB link state), который является идентификатором маршрутизатора (1.1.1.1) ASBR (ATL). Мы также получаем Type 5 LSA, которые являются внешними префиксами. На этом мы завершим ПЕРВУЮ часть нашей продвинутой серии блогов OSPF. В следующий раз мы рассмотрим создание stubby areas, totally stubby areas, not so stubby areas (NSSA), и totally NSSA.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59