По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Подаренный компанией Google сообществу Opensource, Kubernetes теперь стал инструментом контейнерного хранения по выбору. Он может управлять и координировать не только среду выполнения докеров, но и среду контейнерного хранения объектов и Rkt. Типичный кластер Kubernetes обычно имеет главный узел и несколько рабочих узлов или Minions. Управление рабочими узлами осуществляется из главного узла, что обеспечивает управление кластером из центральной точки. Важно также отметить, что можно развернуть кластер с одним узлом Kubernetes, который обычно рекомендуется использовать для легких непроизводственных рабочих нагрузок. Для этого можно взять Minikube - инструмент, который управляет кластером K ubernetes с одним узлом в виртуальной машине. В этом руководстве мы рассмотрим многоузловую установку кластера Kubernetes в системе Linux CentOS 7. Это учебное пособие основано на командной строке и требует доступа к окну терминала. Требования Иметь несколько серверов под управлением Centos 7 (1 главный узел, 2 рабочих узла). Рекомендуется, чтобы главный узел содержал по крайней мере 2 ЦП, хотя это не является строгим требованием. Подключение к Интернету на всех узлах. Мы будем извлекать пакеты Kubernetes и докеров из хранилища. Кроме того, необходимо убедиться, что диспетчер пакетов yum установлен по умолчанию и может получать пакеты удаленно. Вам также потребуется доступ к учетной записи с правами sudo или root. В этом учебном пособии я буду использовать свою учетную запись root. Наш 3-узловой кластер будет выглядеть примерно так: Установка кластера Kubernetes на главном узле Для работы Kubernetes потребуется механизм контейнеризации. Для этой установки мы будем использовать docker, так как он самый популярный. На главном узле выполняются следующие шаги. Шаг 1: Подготовить имя узла, брандмауэр и SELinux На главном узле задайте имя хоста и, если у вас нет DNS-сервера, обновите файл /etc/hosts. # hostnamectl set-hostname master-node # cat <<EOF>> /etc/hosts 10.128.0.27 master-node 10.128.0.29 node-1 worker-node-1 10.128.0.30 node-2 worker-node-2 EOF Можно выполнить проверку связи с рабочим узлом 1 и рабочим узлом 2, чтобы убедиться в правильности работы обновленного файла хоста с помощью команды ping. # ping 10.128.0.29 # ping 10.128.0.30 Затем отключите SElinux и обновите правила брандмауэра. # setenforce 0 # sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux # reboot Установите следующие правила брандмауэра для портов. Убедитесь, что каждая команда firewall-cmd возвращает результат. # firewall-cmd --permanent --add-port=6443/tcp # firewall-cmd --permanent --add-port=2379-2380/tcp # firewall-cmd --permanent --add-port=10250/tcp # firewall-cmd --permanent --add-port=10251/tcp # firewall-cmd --permanent --add-port=10252/tcp # firewall-cmd --permanent --add-port=10255/tcp # firewall-cmd –reload # modprobe br_netfilter # echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables Шаг 2: Настройка Kubernetes Repo Нужно будет вручную добавить хранилище Kubernetes, так как оно не установлено по умолчанию в CentOS 7. cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF Шаг 3: Установить Kubeadm и Docker После того, как пакет repo уже готов, вы можете продолжить и установить kubeadm и docker пакеты. # yum install kubeadm docker -y После успешного завершения установки включите и запустите обе службы. # systemctl enable kubelet # systemctl start kubelet # systemctl enable docker # systemctl start docker Шаг 4: Установка Kubernetes Master и настройка пользователя по умолчанию Теперь мы готовы инициализировать Kubernetes Master, но до этого нужно отключить swap, чтобы запустить команду kubeadm init. # swapoff –a Инициализация Kubernetes master - это полностью автоматизированный процесс, управляемый командой kubeadm init, которую необходимо выполнить. # kubeadm init Инициализация Kubernetes master Возможно, потребуется скопировать последнюю строку и сохранить ее в другом месте, поскольку нужно будет запустить ее на рабочих узлах. kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 --discovery-token-ca-cert-hash sha256:f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd41 Совет: Иногда эта команда может жаловаться на переданные аргументы (args), поэтому отредактируйте ее, чтобы избежать ошибок. Таким образом, вы удалите символ , сопровождающий --token, и ваша последняя команда будет выглядеть следующим образом. kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 --discovery-token-ca-cert-hash sha256:f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd41 После успешной инициализации Kubernetes необходимо разрешить пользователю начать использование кластера. В нашем случае мы хотим запустить эту установку от имени пользователя root, поэтому мы продолжим выполнение этих команд с этого же имени. Вы можете перейти на пользователя с поддержкой sudo, который вы предпочитаете, и запустить ниже с помощью sudo. Чтобы использовать root, выполните следующие действия: # mkdir -p $HOME/.kube # cp -i /etc/kubernetes/admin.conf $HOME/.kube/config # chown $(id -u):$(id -g) $HOME/.kube/config Чтобы быть пользователем с поддержкой sudo, выполните следующие действия: $ mkdir -p $HOME/.kube $ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config $ sudo chown $(id -u):$(id -g) $HOME/.kube/config Теперь проверьте, активирована ли команда kubectl. # kubectl get nodes На этом этапе также можно заметить, что главный узел имеет статус NotReady. Это связано с тем, что сеть модулей еще не развернута в кластере. Pod Network - это сеть наложения для кластера, которая развернута поверх текущей сети узла. Она предназначена для обеспечения возможности подключения через модуль. Шаг 5: Настройка сети модуля Применение сетевого кластера является очень гибким процессом в зависимости от потребностей пользователя и наличия множества доступных вариантов. Так как мы хотим сохранить нашу установку как можно проще, мы будем использовать плагин Weavenet, который не требует никакой конфигурации или дополнительного кода, и он предоставляет один IP-адрес на модуль, что отлично для нас. Для просмотра дополнительных параметров проверьте здесь. Эти команды будут важны для настройки сети модуля. # export kubever=$(kubectl version | base64 | tr -d ' ') # kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever" Теперь, если вы проверите статус главного узла, он должен показать "Ready" # kubectl get nodes Далее мы добавим рабочие узлы в кластер. Настройка рабочих узлов для присоединения к кластеру Kubernetes Следующие шаги будут выполнены на рабочих узлах. Эти шаги должны выполняться на каждом рабочем узле при присоединении к кластеру Kubernetes. Шаг 1: Подготовить имя узла, брандмауэр и SELinux На рабочем узле-1 и рабочем узле-2 задайте имя, а если у вас нет DNS-сервера, то обновите основные и рабочие узлы в файле /etc/hosts. # hostnamectl set-hostname 'node-1' # cat <<EOF>> /etc/hosts 10.128.0.27 master-node 10.128.0.29 node-1 worker-node-1 10.128.0.30 node-2 worker-node-2 EOF Можно выполнить ping master-node для проверки правильности обновленного файла хоста. Затем отключите SElinux и обновите правила брандмауэра. # setenforce 0 # sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux Установите следующие правила брандмауэра для портов. Убедитесь, что все команды firewall-cmd возвращаются успешно. # firewall-cmd --permanent --add-port=6783/tcp # firewall-cmd --permanent --add-port=10250/tcp # firewall-cmd --permanent --add-port=10255/tcp # firewall-cmd --permanent --add-port=30000-32767/tcp # firewall-cmd --reload # echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables Шаг 2: Настройка Kubernetes Repo Вам потребуется добавить хранилище Kubernetes вручную, так как оно не будет предварительно установлено на CentOS 7. cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF Шаг 3: Установить Kubeadm и Docker После того, как пакет repo уже готов, вы можете продолжить и установить kubeadm и docker пакеты. # yum install kubeadm docker -y Запустите и включите обе службы. # systemctl enable docker # systemctl start docker # systemctl enable kubelet # systemctl start kubelet Шаг 4: Присоединение рабочего узла к кластеру Кубернетов Теперь для присоединения к кластеру требуется маркер, созданный kubeadm init. Его можно скопировать и вставить в узлы 1 и 2, если он был скопирован в другом месте. # kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 --discovery-token-ca-cert-hash sha256:f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd41 Как показано в последней строке, вернитесь к главному узлу и проверьте, присоединились ли рабочие узлы 1 и 2 к кластеру с помощью следующей команды. # kubectl get nodes Если все шаги выполнены успешно, на главном узле должны быть показаны узлы 1 и 2 в состоянии готовности. На этом этапе мы успешно завершили установку кластера Kubernetes на Centos 7 и успешно взяли два рабочих узла. Теперь можно начинать создавать модули и разворачивать службы.
img
Хотя Microsoft Server 2019 уже давно выпущен, его широкое распространение идет медленно. Мы решили провести параллельное сравнение между Server 2016 и 2019 и определить, стоит ли его обновлять на данном этапе. Или, если вам следует придерживаться существующих установок 2016 года, пока больше ИТ-специалистов не попробуют Server 2019 в реальной среде. Текущее состояние Microsoft Server 2016 Microsoft Server 2016 в настоящее время используется в качестве основных рабочих лошадок для многих компаний по всему миру. В Server 2016 появилось множество замечательных функций, которых раньше не было в продуктах Windows Server. В этой версии появились такие элементы, как контейнеры, безопасная загрузка Linux и вложенная виртуализация. В этом выпуске также были представлены функции, которые сделали возможной большую интеграцию с облачными службами Microsoft Azure. В результате Server 2016 используется во многих корпоративных средах и по-прежнему является надежным исполнителем в области серверных операционных систем. Текущее состояние Microsoft Server 2019 Те, кто следил за разработкой Server 2019, вероятно, с беспокойством отметили, что он не смог достичь цели Release-To-Manufacturing (RTM). Вместо этого он пошел прямо в общий доступ General Availability. Это первая версия Microsoft Server, в которой это реализовано. Проще говоря, не так много людей, устанавливающих серверные продукты на физические серверы, как тех, кто устанавливает их на виртуальные машины и в облако. Это означает, что необходимость в получении сертификата оборудования для операционной системы от поставщиков отсутствовала и могла подождать. Microsoft смогла выпустить версию GA, чтобы люди могли ее загрузить и начать тестирование. Затем в середине января 2019 года начался процесс RTM, который позволил производителям проверить свое оборудование на платформе Server 2019. Обновление с Server 2016 до 2019 Не многие люди рекомендуют выполнять обновление «на месте». Однако Microsoft, доработала процесс перехода на Server 2019 и обновление с Server 2016 до 2019 больше похоже на установку пакета обновления, чем на фактическое обновление. Многин новые функции, которые предлагает 2019 год, очевидны с самого начала. Меньшие кумулятивные обновления делают весь процесс обновления более легким, что является большим изменением по сравнению с 2016 годом, когда обновления могли занимать очень, очень, много времени. Начать работу с 2019 очень легко и практически безболезненно. В сентябре 2019 года был выпущен патч (KB4516077), в котором исправлено множество проблем, препятствующих использованию Server 2019 в качестве контроллера домена в производственной среде. Это означает, что теоретически вы можете развернуть контроллер домена Server 2019, если хотите. Стоит ли Microsoft Server 2019 хлопот? Вот некоторые заметные, преимущества, которые системные администраторы могут найти полезными при обновлении до Server 2019: Server 2019 имеет лучшую защиту от программ-вымогателей Нашествие программ-вымогателей в последние годы нанесло ущерб на миллиарды долларов во всем мире. Microsoft Server 2019 теперь позволяет вам контролировать свои папки. По умолчанию вредоносное ПО не может похитить ваши данные, как это было в старых версиях операционной системы. Расширенная защита от угроз с помощью Защитника Windows Функции Advanced Threat Protection в Защитнике Windows теперь предлагают единую облачную унифицированную платформу для наиболее распространенных операций безопасности. Он разработан, чтобы помочь предотвратить нарушения, предлагая аналитику после инцидентов, автоматизированные задачи, такие как расследование, и базовые возможности реагирования на инциденты. Это часть более крупных инвестиций Microsoft, направленных на повышение уровня безопасности ее флагманской операционной системы. Server 2019 имеет более быстрый графический интерфейс Большинство людей, использующих Server 2019, сразу замечают определенную оперативность и отзывчивость - от установки ОС до установки исправлений и ежедневного использования. В Server 2019 графический интерфейс становится более совершенным и отзывчивым. Установка исправлений с помощью Server 2019 выполняется быстрее Любой, кому пришлось вытерпеть мучительное ожидание, пока Server 2016 обдумывал свой следующий шаг во время патча или обновления, должен возрадоваться. В целом, Server 2019 кажется более совершенным и быстрым, что является отличной новостью для тех, кто отвечает за поддержание уровней исправлений. Различия между Microsoft Server 2016 и 2019 К этому моменту довольно очевидно, чем эти две операционные системы различаются по функциональности и позициям: Azure и гибридная интеграция. Цель Server 2019 - включить Azure в ваш центр обработки данных, чтобы предоставить вам облачные сервисы, сохраняя при этом безопасность локального решения. Server 2019 также более эффективно использует гиперконвергентную инфраструктуру. Это означает, что компании могут запускать SDDC (Software Defined Data Centre - программно-определяемый центр обработки данных) с такими функциями, как хранилище и сеть, работающие как программный уровень. Экономическая выгода огромна, поскольку большая часть оборудования, необходимого для работы в таких средах, теперь виртуализирована как программное обеспечение. И что лучше всего, поскольку нет физической SAN (Storage Attached Network - сети с подключением к хранилищу), о которой нужно беспокоиться, вы можете масштабировать свои операции, просто добавив еще один узел Server 2019. Все это можно сделать из единого интерфейса Windows Admin Center. Microsoft Server 2016 начал предлагать согласованные с Azure службы и совместимость, и Server 2019 принимает это проектное решение и усиливает его. Server 2016 предлагает поддержку HCI, поскольку он был добавлен почти два года назад, но он не так тесно связан с ОС, как в Server 2019. Итоги К обновлению серверных операционных систем нельзя относиться легкомысленно. Фактически, большинство системных администраторов скажут вам, что вышестоящие руководители предпочли бы заблокировать версию и постараться сохранить ее в таком состоянии как можно дольше. Это дает очевидную краткосрочную экономию затрат, но в конечном итоге обойдется организации в расходах в долгосрочной перспективе, потому что в большинстве устаревших программ начинают появляться трещины, когда они не могут конкурировать в области гибкости. DevOps - это большое дело, и если у вас более старая инфраструктура, которая не может интегрировать такое мышление, вы будете отставать от своих конкурентов, когда они начнут масштабироваться и оставят вас позади. Server 2019 обеспечивает гибкость и маневренность, которые предоставляют компаниям инструменты, необходимые для автоматизации и ускорения бизнес-процессов. Если вы можете протестировать Server 2019 самостоятельно, то стоит потратить на это время. Если вы пока не можете отойти от 2016 года, значит, вы все еще в хорошей форме. Server 2019 со временем станет только лучше. Таким образом, вы можете обойтись без обновления сразу, но вам определенно следует рассмотреть это как часть пути обновления вашей компании.
img
Почитать лекцию №21 про беспроводную связь по 802.11 можно тут. В предыдущих лекциях мы рассмотрели два примера передачи данных вида point-to-point по физическим носителям. В этих лекциях будут рассмотрены четыре примера передачи данных вида end-to-end. На рисунке 1 показана Recursive Internet Architecture (RINA). Конечно, не каждый транспортный протокол точно сопоставляется с одним функциональным слоем в RINA, но сопоставление достаточно близко, чтобы быть полезным. Главное, что нужно запомнить-для каждого транспортного протокола есть четыре вопроса, которые вы можете задать: Как протокол обеспечивает передачу данных или как он упорядочивает данные? Как протокол предоставляет услуги мультиплексирования или возможность передавать несколько потоков данных на одном общем ресурсе? Как протокол обеспечивает контроль ошибок, который должен включать не только обнаружение ошибок, но и устранение ошибок - либо путем повторной передачи, либо путем предоставления информации, достаточной для восстановления исходной информации? Как протокол обеспечивает управление потоком? Каждый из этих вопросов может включать ряд дополнительных вопросов, таких как определение Maximum Transmission Unit (MTU), обеспечение репликации пакетов для многоадресной рассылки и т. д. В этих лекциях будут рассмотрены четыре протокола: Интернет-протокол (IP), который обеспечивает нижнюю половину второй пары слоев. Основное внимание при рассмотрении IP уделяется схеме адресации для мультиплексирования и способности обеспечивать единый способ передачи данных для множества различных физических транспортных систем. Протокол управления передачей (TCP), который обеспечивает одну версию верхней половины второй пары уровней. TCP обеспечивает управление ошибками и потоками, а также место для переноса информации о мультиплексировании для приложений и других протоколов, которые работают поверх TCP. Протокол Quick User Datagram Protocol Internet Connections (QUIC), который обеспечивает другую версию верхней половины второй пары уровней. QUIC очень похож на TCP по своим функциям, но имеет некоторые существенные отличия от TCP в том, как он работает. Протокол управляющих сообщений Интернета (ICMP). Internet Protocol (IP) Интернет-протокол (IP) был первоначально задокументирован в серии документов спецификации Интернет-протокола, называемых IEN, в середине 1970-х годов, в основном написанных Jonathan B. Postel. В этих документах описан протокол TCP, который при первоначальном развертывании включал в себя функции, содержащиеся в двух протоколах, IP и TCP. Postel отметил, что такое сочетание функциональности в едином протоколе не очень хорошо; Адресное пространство IPv4 представляет собой 32-битное целое число без знака, что означает, что оно может нумеровать или адресовать 232 устройства - около 4,2 миллиарда устройств. Звучит много, но на самом деле все иначе по нескольким причинам: Каждый адрес представляет один интерфейс, а не одно устройство. Фактически, IP-адреса часто используются для представления службы или виртуального хоста (или машины), что означает, что одно устройство часто будет использовать более одного IP-адреса. Большое количество адресов теряется в процессе агрегации. В начале 1990-х стало очевидно, что в Интернете скоро закончатся адреса в адресном пространстве IPv4; диаграммы, изображенные на рисунке 2, показывают изменение свободных и доступных IPv4 с течением времени, начиная с середины 1990-х годов. Простым решением этой ситуации было бы расширение адресного пространства IPv4 для охвата большего количества устройств, но опыт работы с протоколом IPv4 привел к тому, что группа Internet Engineering Task Force (IETF) взяла на себя более крупную задачу: перепроектировать IPv4. Работа по замене началась в 1990 году, а первые проекты получили статус стандарта в 1998 году. Адресное пространство IPv6 содержит 2128 адресов, или примерно 3,4 × 1038. IPv6 предназначен для предоставления услуг для нескольких различных протоколов, таких как TCP и QUIC. Таким образом, IPv6 предоставляет только две службы из четырех, необходимых для передачи данных по сети: транспорт, который включает маршалинг данных, и мультиплексирование. Транспорт и Маршалинг IP обеспечивает "базовый уровень", на котором работает широкий спектр протоколов более высокого уровня по множеству различных типов физических каналов. Для этого IP должен решить две проблемы: Запуск на множестве различных физических протоколов и протоколов нижнего уровня при одновременном представлении согласованного набора сервисов более высоким уровням. Адаптация к большому разнообразию размеров кадра, предоставляемых нижними уровнями Чтобы создать единый протокол, на котором могут работать все протоколы верхнего уровня, IP должен "вписываться" в тип кадра многих различных типов протоколов физического уровня. Ряд проектов описывает, как запустить IP поверх определенного физического уровня, включая сети MPEG-2, асинхронный режим передачи, оптические сети, протокол Point-to-Point (PPP), Vertical Blanking Interval (VBI) в телевидении, Fiber Distributed Data Interface (FDDI), и ряд других протоколов физического уровня. Эти проекты в значительной степени определяют, как переносить IP-дейтаграмму (или пакет) в кадре (или пакете) нижележащего физического уровня, и как включить межуровневое обнаружение, такое как протокол разрешения адресов (ARP), для работы с каждым типом носителя. IP также должен определять, как переносить большие блоки данных через различные MTU, доступные на разных типах физических каналов. В то время как исходная спецификация Ethernet выбирала MTU в 1500 октетов для баланса между большими размерами пакетов и максимальным использованием канала, многие другие физические уровни были разработаны с большими MTU. Кроме того, приложения не склонны отправлять информацию аккуратными блоками размером с MTU. IP решает эти две проблемы, обеспечивая фрагментацию. На рисунке 3 это показано. Если приложение (или протокол более высокого уровня) передает 2000 октетов данных для передачи в IP, реализация IP будет: Определите MTU вдоль пути, по которому должны передаваться данные; обычно это происходит путем считывания настроенного значения или значения по умолчанию, установленного системным программным обеспечением. Разбейте информацию на несколько фрагментов, основываясь на MTU минус прогнозируемый размер заголовков, включая заголовки туннелей и т. д.- метаданные, которые должны передаваться вместе с данными. Отправьте первый фрагмент с дополнительным заголовком IPv6 (что означает, что заголовок фрагмента не должен быть включен в пакеты, которые не являются фрагментами большего блока данных). Установите смещение в заголовке more fragments на первый октет исходного блока данных, который этот пакет представляет собой деление на 8; в Примере на рисунке 3 первый пакет имеет смещение 0, а второй-150 (1200/8). Установите бит more fragments равным 0, если это последний фрагмент блока данных, и 1, если за ним следует больше фрагментов. Этот размер общего блока данных, который IPv6 может переносить через фрагменты, ограничен размером поля смещения, которое составляет 13 бит. Следовательно, IPv6 может нести не более 214 октетов данных в виде последовательности фрагментов или блока данных размером около 65 536 октетов плюс один фрагмент размером с MTU. Все, что больше этого, должно быть каким-то образом разбито протоколом более высокого уровня перед передачей в IPv6 для транспортировки. Наконец, IP должен обеспечивать какой-то способ передачи пакетов по сети, использующей более одного типа физического уровня. Это решается путем перезаписи заголовков нижнего уровня на каждом этапе в сети, где могут быть взаимосвязаны несколько типов мультимедиа. Устройства, которые переписывают заголовки нижнего уровня таким образом, изначально назывались шлюзами, но теперь обычно называются маршрутизаторами, поскольку они направляют трафик на основе информации, содержащейся в заголовке IP. Есть и другие интересные аспекты того, как IPv6 передает данные. На рисунке 4 показан заголовок IPv6, с которым можно работать. На рисунке 4: Версия установлена на 6 для IPv6. traffic class разделен на два поля: 6 бит для передачи типа услуги (или класса услуги), 2 бита для передачи уведомления о перегрузке. flow label предназначена для указания устройствам пересылки, как хранить пакеты в одном потоке на одном и том же пути в наборе путей с многолучевым распространением с равной стоимостью (ECMP). payload length указывает количество данных, переносимых в пакете, в октетах. next header предоставляет информацию о любых дополнительных заголовках, содержащихся в пакете. Заголовок IPv6 может содержать информацию, выходящую за рамки того, что содержится в основном заголовке. hop limit - это количество раз, когда этот пакет может быть "обработан" сетевым устройством, прежде чем он будет отброшен. Любой маршрутизатор (или другое устройство), перезаписывающий заголовки нижнего уровня, должен уменьшить это число на единицу в процессе пересылки; когда предел перехода достигает 0 или 1, пакет следует отбросить. Важно! Счетчик скачков используется для предотвращения постоянного зацикливания пакета в сети. Каждый раз, когда пакет пересылается сетевым устройством, счетчик переходов уменьшается на единицу. Если счетчик переходов достигает 0, пакет отбрасывается. Если пакет зацикливается в сети, счетчик переходов (также называемый временем жизни или TTL) в конечном итоге будет уменьшен до 0, и пакет будет отброшен. Заголовок IPv6 представляет собой смесь переменной (Type Length Value [TLV]) и информации фиксированной длины. Основной заголовок состоит из полей фиксированной длины, но следующее поле заголовка оставляет открытой возможность дополнительных (или расширенных) заголовков, некоторые из которых форматируются как TLV. Это позволяет создавать пользовательские аппаратные средства (например, прикладную интегральную схему [ASIC]) для быстрого переключения пакетов на основе полей фиксированной длины, оставляя открытой возможность переноса данных переменной длины, которые могут быть обработаны только в программном обеспечении. Мультиплексирование IPv6 позволяет мультиплексировать двумя способами: Предоставляя большое адресное пространство для использования при идентификации хостов и сетей (или, в более широком смысле, достижимых пунктов назначения). Предоставляя пространство, в которое протокол верхнего уровня может поместить номер протокола, что позволяет нескольким протоколам работать поверх IPv6. Адресация IPv6 Адрес IPv6 имеет 128 битов, что означает, что может быть до 2128 адресов - огромное количество адресов, которых, возможно, хватит, чтобы сосчитать каждую крупицу пыли на Земле. Адрес IPv6 обычно записывается как последовательность шестнадцатеричных чисел, а не как последовательность из 128 нулей и единиц, как показано на рисунке 5. В формате IPv6 адреса стоит отметить двоеточие: Начальные нули в каждом разделе (выделены двоеточием) опускаются. Одну длинную строку нулей можно заменить двойным двоеточием в адресе только один раз. Почему так много адресов? Потому что многие адреса никогда не используются ни в одной схеме адресации. Во-первых, многие адреса никогда не используются, потому что адреса агрегируются. Агрегация - это использование одного префикса (или сети, или достижимого пункта назначения) для представления большего числа достижимых пунктов назначения. Рисунок 6 иллюстрирует это. На рисунке 6: Хостам A и B даны 101 :: 1 и 101 :: 2 в качестве их адресов IPv6. Однако эти два хоста подключены к одному широковещательному сегменту (например, Ethernet) и, следовательно, используют один и тот же интерфейс в C. Даже если C имеет адрес в этой общей сети, он фактически объявляет саму сеть - некоторые инженеры считают это полезно думать о самом проводе как о достижимом пункте назначения: 101 :: / 64. E получает два достижимых назначения, 101::/64 от C и 102::/64 от D. Уменьшая длину префикса, он может анонсировать одно достижимое назначение, которое включает в себя оба этих более длинных префиксных достижимых назначения. E рекламирует 100:: / 60. G, в свою очередь, получает 100 :: / 60 от E и 110: / 60 от F. Опять же, это же адресное пространство может быть описано с помощью единственного достижимого пункта назначения, 100 :: / 56, так что это то, что G объявляет. Как эта агрегация работает в реальном адресном пространстве? Рисунок 7 объясняет это. Длина префикса, которая представляет собой число после косой черты в reachable destination, сообщает вам количество битов, которые учитываются при определении того, что является частью префикса (и, следовательно, также, что нет). Длина префикса отсчитывается слева направо. Любой набор адресов с одинаковыми значениями чисел в пределах длины префикса считается частью одного и того же reachable destination. В полном адресном пространстве IPv6 128 бит, поэтому / 128 представляет один хост. В адресе с 64-битной длиной префикса (/ 64) только четыре левых раздела IPv6-адреса являются частью префикса или reachable destination; остальные четыре правые части IPv6-адреса считаются адресами хоста или подсети, которые "содержатся" в префиксе. В адресе с длиной префикса 60 бит (/ 60) четыре левых раздела IPv6-адреса минус одна шестнадцатеричная цифра считаются частью reachable destination или префикса. В адресе с длиной префикса 56 бит (/ 56) четыре левых раздела IPv6-адреса минус две шестнадцатеричные цифры считаются частью reachable destination или префикса. Пока вы всегда изменяете длину префикса с шагом 4 (/ 4, / 8, / 12, / 16 и т. Д.), значащие цифры или цифры, которые являются частью префикса, всегда будут перемещать единицу в вправо (при увеличении длины префикса) или влево (при уменьшении длины префикса). Агрегация иногда кажется сложной, но это важная часть IP. Некоторая часть адресного пространства используется при автоконфигурации. Важно учитывать взаимодействие между автоконфигурацией и назначением адреса IPv6. Как правило, необходимо выделить некоторый объем адресного пространства, чтобы гарантировать, что никакие два устройства, подключенные к сети, не будут иметь одинаковый идентификатор. В случае IPv6 половина адресных пространств (все, что больше / 64) в определенных диапазонах адресов выделяется для формирования уникальных идентификаторов для каждого устройства. В-третьих, некоторые адреса зарезервированы для специального использования. Например, в IPv6 следующие адресные пространства предназначены для специального использования: ::ffff / 96 зарезервирован для IPv4-адресов, которые "сопоставляются" с адресным пространством IPv6. fc00 :: / 7 зарезервирован для уникальных локальных адресов (ULA); пакеты с этими адресами не предназначены для маршрутизации в глобальном Интернете, а скорее хранятся в сети одной организации. fe80::/10 выделен для локальных адресов связи; эти адреса автоматически назначаются на каждом интерфейсе и используются только для связи по одному физическому или виртуальному каналу связи. :: / 0 устанавливается в качестве маршрута по умолчанию; если сетевое устройство не знает никакого другого способа добраться до определенного пункта назначения, оно будет перенаправлять трафик по маршруту по умолчанию. В-четвертых, устройствам может быть присвоено несколько адресов. Многие сетевые администраторы склонны думать об адресе так, как если бы он описывал один узел или систему. На самом деле, один адрес может быть использован для описания многих вещей, в том числе: Один хост или система Единый интерфейс на хосте или в системе; хост с несколькими интерфейсами будет иметь несколько адресов Набор доступных сервисов на хосте или системе; например, виртуальной машине или конкретной службе, работающей на хосте, может быть назначен адрес, отличный от любого из адресов, назначенных интерфейсам хоста. Не существует необходимой прямой корреляции между адресом и физическим устройством или между адресом и физическим интерфейсом. Мультиплексирование между процессами Второй механизм мультиплексирования позволяет нескольким протоколам работать на одном и том же базовом уровне. Эта форма мультиплексирования обеспечивается через номера протоколов. Рисунок 8 демонстрирует это. next header заголовка либо указывает на: next header в пакете IPv6, если есть next header Номер протокола, если next header является транспортным протоколом (например, TCP). Эти дополнительные заголовки называются дополнительными или расширенными заголовками; некоторые из них имеют фиксированную длину, а другие основаны на TLV; например: Параметрах Hop-by-hop: набор TLV, описывающих действия, которые должно предпринять каждое устройство пересылки. Маршрутизации: набор типов маршрутов фиксированной длины, используемых для указания пути, по которому пакет должен пройти через сеть. Фрагмент: набор полей фиксированной длины, содержащий информацию о фрагменте пакета. Заголовок аутентификации: набор TLV, содержащих информацию аутентификации и / или шифрования. Jumbogram: необязательное поле длины данных, позволяющее пакету IPv6 нести на один байт менее 4 ГБ данных. next header имеет длину 8 бит, что означает, что оно может содержать число от 0 до 255. Каждое число в этом диапазоне присваивается либо определенному типу заголовка опции, либо конкретному протоколу более высокого уровня. Например: 0: next header -это опция IPv6 hop-by-hop. 1: Полезная нагрузка пакета - это протокол Internet Control Message Protocol (ICMP). 6: Полезная нагрузка пакета-TCP. 17: Полезная нагрузка пакета - это UDP. 41: Полезная нагрузка пакета-IPv6. 43: next header - это routing header IPv6 44: next header -это fragment header IPv6 50: next header -это Encapsulated Security Header (ESH). Номер протокола используется принимающим хостом для отправки содержимого пакета правильному локальному процессу для обработки; обычно это означает удаление заголовков нижнего (физического) уровня из пакета, помещение пакета во входную очередь для правильного процесса (например, TCP), а затем уведомление операционной системы о том, что соответствующий процесс должен быть запущен.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59