пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ
Слишком длинный поисковый запрос.
По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Онлайн-обучение стало популярным инструментом для того, чтобы освоить новую профессию. Но далеко не каждый курс оправдывает свои ожидания. Чтобы обучение приносило максимум результата, важно подходить к нему осознанно. Собрали для вас советы, которые помогут извлечь реальную пользу из образовательных программ и сделать обучение эффективным.  Сформулируйте чёткую цель Перед началом обучения ответьте на вопросы: чего вы хотите достичь и как это поможет вам в карьере или жизни? Конкретная цель (например, устроиться на работу в IT или освоить основы дизайна) помогает сосредоточиться на ключевых навыках, а не на общем теоретическом материале. Подход SMART (конкретные, измеримые, достижимые цели) может быть полезным инструментом для определения задач. Определите свой стиль обучения Каждый человек усваивает информацию по-разному, и понимание своего стиля обучения может значительно упростить и ускорить процесс обучения. Вот несколько основных стилей, которые помогут вам выбрать подходящий подход: Если вы относитесь к визуалам, то лучше воспринимаете информацию через зрительные образы. Схемы, графики, видеоуроки и инфографика помогут вам разобраться даже в сложных темах. Например, при изучении программирования вам может быть полезно использовать визуальные среды разработки или смотреть видеоуроки с пошаговым объяснением кода. Для аудиалов важно слышать информацию. Подкасты, записи лекций или обсуждения с коллегами — идеальный способ запоминать новое. Например, вы можете слушать подкасты о новых технологиях или аудиокурсы по языкам программирования во время дороги. Кинестетики лучше усваивают материал через практику и активное участие. Интерактивные задания, выполнение практических проектов или участие в хакатонах помогут вам учиться быстрее. Например, создавая простой веб-приложение или решая задачи на платформе вроде LeetCode, вы одновременно тренируете навыки и запоминаете материал. Уважайте свои силы и интерес Обучение — это марафон. Переутомление снижает продуктивность и мотивацию. Если вы чувствуете усталость, делайте перерывы. Отдыхайте активно. Например, можно подключить спорт. Движение улучшает кровообращение, что особенно важно для тех, кто много времени проводит за компьютером. Не стоит заставлять себя изучать материалы, которые вам не подходят. Если книга или курс вызывают скуку, найдите другой источник, даже если они рекомендованы многими. Учитесь по спирали Процесс обучения всегда идет от общего к частному. Сначала нужно сформировать общее представление о предмете, затем углубляться в детали. На начальном этапе подойдут книги и курсы, объясняющие ключевые концепции без сложной информации. Например, если вы изучаете программирование, начните с основ синтаксиса, базовых конструкций языка и принципов работы кода. Курсы или книги, объясняющие ключевые концепции вроде переменных, циклов, функций и основ работы с файлами, будут отличным выбором. Для изучения DevOps можно начать с понимания основ контейнеризации и работы с облачными сервисами. На среднем этапе переходите к изучению базовых инструментов и алгоритмов, которые применяются в вашей области. Например, в веб-разработке это могут быть основы работы с базами данных, базовые шаблоны проектирования и использование API. Если вы изучаете машинное обучение, сосредоточьтесь на классических алгоритмах, таких как линейная регрессия или деревья решений, и их ключевых принципах, не углубляясь пока в сложную математику. На продвинутом этапе займитесь разбором тонкостей и сложных концепций. Для разработчиков это может включать оптимизацию производительности кода, освоение фреймворков, глубокое понимание сетевых протоколов. В области искусственного интеллекта начните углубляться в нейронные сети, градиентный спуск и сложные архитектуры моделей. Начинать сразу с технически сложных курсов или книг, насыщенных узкоспециализированной информацией, неэффективно. Это отнимает много сил, но дает мало знаний. Делайте заметки Заводите конспект: записывайте основные мысли, создавайте диаграммы и схемы. Можно использовать разные программы от заметок на телефоне до Notion или OneNote для систематизации знаний. Установите реалистичные цели и сроки Разбейте учебный материал на небольшие этапы с конкретными результатами. Например: Неделя 1: освоить основы. Неделя 2: выполнить первый проект. Регулярно отслеживайте прогресс, чтобы видеть, как вы продвигаетесь к цели. Используйте свои сильные стороны Поняв, в чем вы уже успешны, свяжите это с изучаемым материалом. Например, если вы хорошо работаете с текстами, начните с теоретических блоков. Это повысит уверенность в себе. Не стоит сразу погружаться в сложные технические материалы. Это может быть тяжело и малоэффективно. Ищите альтернативы Добавьте в свое обучение поиск новых методов и инструментов. Например, если вы изучаете веб-разработку с помощью видеокурсов и чувствуете, что прогресс замедлился, попробуйте сменить формат. Как идея — можно работать с учебными проектами на GitHub. Это может дать свежий взгляд на привычные задачи. Учите английский Для специалистов в ИТ знание английского — необходимость. Большинство актуальных материалов, включая исследования и курсы, изначально публикуются на английском. Чтобы развить навыки, начинайте читать англоязычные тексты по своей теме, даже если поначалу это будет трудно. Согласны, это будет медленно и тяжело, но со временем скорость будет расти. Используйте разные приложения, чтобы запоминать ключевых слов. Продолжайте учиться и расширяйте горизонты Онлайн-курсы — это только часть саморазвития. Продолжайте изучать новые темы, чтобы оставаться конкурентоспособным и любознательным. И заглядывайте к нам в Академию, чтобы почитать новые статьи :)   
img
Дотфайлы (dotfiles) – это немаловажные файлы, которые могут сыграть ключевую роль в вашей карьере разработчика программного обеспечения.  Во-первых, они могут помочь вам быть более продуктивными. Но и это не все– вы сможете использовать эту настройку, которую вы создали для себя лично, на любом компьютере.  Эта статья – это введение в работу с дотфайлами. Вы узнаете, что это такое, как их можно найти в вашей системе и как создать пару простых дотфайлов. К тому же, я поделюсь некоторыми советами и ресурсами, которые помогут в настройке параметров и расширят ваши познания.  Приступим! Что такое дотфайл? Большое количество компьютерных программ хранят свои параметры конфигурации в простых текстовых файлах или каталогах.  Дотфайлы – это файлы конфигурации для различных программ. Эти файлы помогают им управлять своими функциональными возможностями.  Отличает их от обычных файлов и каталогов их префикс.  Дотфайлы имеют такое название из-за того, что каждый файл и каталог начинается с точки (.). В Unix-подобных системах дотфайлы по умолчанию скрыты операционной системой.  Примеры самых распространенных дотфайлов Большая часть программ по умолчанию хранит свои конфигурации в вашем корневом каталоге.  Ниже приведены некоторые самые распространенные дотфайлы, о которых вы, возможно, слышали или которыми даже пользовались: Если вы используете оболочку Bash, то у вас могут быть файлы  .bash_profile и  .bashrc . Каждый из этих файлов включает в себя сценарии, которые загружаются при каждом запуске нового сеанса терминала и настройке оболочки.  Если вы используете оболочку Zsh (это новая оболочка по умолчанию для MacOS), то у вас должен быть (или вы должны были создать) файл  .zshrc , который задает настройки для оболочки.  Если вы используете редактор кода командной строки Vim, то его настройки должны быть сохранены в файле  .vimrc .  После того, как вы установили и настроили Git на вашем локальном компьютере, у вас должен был появиться файл  .gitconfig , который содержит всю вашу информацию и настройки. Большое количество программ не хранят свои конфигурации в вашем корневом каталоге, они хранят их в скрытом каталоге (папке)  .config в вашей системе.  Как найти дотфайлы? В Finder корень вашего домашнего каталога может выглядеть примерно следующим образом: Но вы уже видели, что в компьютерных системах хранится гораздо большее количество файлов – часть из них по умолчанию скрыты.  Для того, чтобы просмотреть дотфайлы в Finder, перейдите в корень вашего домашнего каталога и удерживайте одновременно клавиши  Command Shift . И вы увидите большое количество дотфайлов, которые вы создали сами или которые были созданы при установке программного обеспечения.  Чтобы просмотреть дотфайлы через командную строку (а именно так вы будете использовать их и именно там вы будете чаще всего с ними взаимодействовать), вам потребуется несколько дополнительных этапов для поиска. Команда list -  ls , которая выводит список всех файлов и каталогов в текущем каталоге, по умолчанию не показывает дотфайлы, даже несмотря на то, что они там могут быть.  Для начала вам нужно перейти в свой домашний каталог. Если вы находитесь не там, то чтобы туда переместиться, можете воспользоваться командой  cd .  Затем воспользуйтесь командой  ls с флагом  -a , который расшифровывается как  all : ls -a Если вы хотите увидеть дополнительные биты информации о своих файлах, то вы также можете воспользоваться флагом  -l . С его помощью можно получить список файлов и каталогов в длинном формате, а также сведения о дате и времени их создания, их размере и т.д. ls -la В результате вы увидите все файлы и каталоги – и скрытые тоже, - которые находятся в вашем текущем домашнем каталоге.  Каждый файл и каталог, который начинается с точки, - это дотфайл. Для чего нужен дотфайл? Ваши дотфайлы – это ваши личные файлы. Вы тратите уйму времени на точную настройку. Вы тщательно подбираете конфигурации и настройки, чтобы они самым лучшим образом соответствовали вашей организации рабочего процесса, эстетическим и другим предпочтениям. И в результате вы получаете среду разработки, которая помогает лично вам быть более продуктивным.  А что, если после всего этого потраченного времени вам придется перейти на новый, другой, компьютер? И вам придется все делать заново? А как вы запомните точные настройки и команды, которые вы использовали? Или что, если у вас есть второй компьютер, и вы хотите, чтобы обе системы были одинаково настроены?  Одна из основных целей разработчиков – автоматизация повторяющихся задач.  Если вы создадите репозиторий дотфайлов, который будет контролироваться системой контроля версий и будет размещен на GitHub, то сэкономите ваше время в случае, если вы захотите настроить новый компьютер и установить точно такие же настройки, которые вы уже создали для своего предыдущего компьютера.  Тем самым все ваши настройки и предпочтения можно будет использовать повторно и воспроизводить на других компьютерах. Как создавать дотфайлы? Как настроить папку для хранения ваших дотфайлов? Рекомендуется хранить все свои дотфайлы в отдельной папке.  Для простоты понимания я покажу пример создания папки в корне вашего домашнего каталога. Но вы можете добавить папку куда вам удобно.  Также я продемонстрирую пример того, как можно создать файлы  .zshrc и  .vimrc . При этом для того, чтобы создать любые другие дотфайлы, потребуются аналогичные действия. Перейдите в свой домашний каталог ( cd ) и создайте каталог под названием  dotfiles , который будет хранить все ваши файлы конфигурации: mkdir dotfiles Для того, чтобы создать дотфайлы, воспользуйтесь командой  touch и передайте этой команде имя/имена файла/файлов в качестве аргумента. Имя файла/имена файлов должны начинаться с точки.  Для того, чтобы создать файлы  .zshrc и  .vimrc в каталоге  dotfiles , выполните следующее: touch ~/dotfiles/.zshrc  ~/dotfiles/.vimrc Если эти файлы уже существуют в вашей системе, и вы просто хотите их переместить в каталог  dotfiles , то вы можете это сделать с помощью команды  mv : mv ~/.zshrc ~/dotfiles/ Первый аргумент – это текущий путь к файлу. Тильда ( ~ ) расшифровывается как домашний каталог. По умолчанию именно там находится большая часть скрытых файлов конфигурации. Второй аргумент – это путь, по которому вы хотите переместить файл. В данном случае мы хотим переместить его в каталог  dotfiles , который находится в нашем домашнем каталоге. Тоже самое можно сделать и для файла  .vimrc : mv ~/.vimrc ~/dotfiles/ А чтобы просмотреть файлы, выполним следующее: ls -a dotfiles . .. .vimrc  .zshrc Если у вас есть эти файлы, то вы можете добавить в них все свои желаемые конфигурации. Что такое псевдонимы и функции? Один из способов усовершенствовать организацию рабочего процесса и повысить продуктивность – сократить время, которое тратится на ввод часто используемых команд. Это можно сделать путем создания клавиш быстрого доступа.  Псевдонимы – это комбинации клавиш для команд терминала. Они представляют собой более короткую версию длинной команды.  Как разработчик, вы часто будете использовать Git, поэтому рекомендуется создавать псевдонимы для Git, чтобы сэкономить на длинных и повторяющихся командах. Еще один способ сэкономить время – это упростить процессы.  Вы можете объединить две команды в одну, создав отдельную линию поведения, которая бы выполняла одну конкретную задачу. Это можно сделать с помощью функций. Вот одна полезная функция, которую можно создать: объединение команды для создания нового каталога ( mkdir ) и команды для перехода в новый каталог ( cd ). В таком случае вы создадите папку и сразу же перейдете в нее – и все это произойдет за один этап. Эта функция будет выглядеть следующим образом: function mkcd() {  mkdir -p "$@" && cd "$_"; } Вы можете добавить как псевдонимы, так и функции к вашему дотфайлу  .zshrc , а можете создать для низ отдельные файлы:  .aliases и  .functions . Как связать символическими ссылками ваши дотфайлы? Вы могли заметить, что ни одна из настроек, которые вы добавили в файлы в папке  dotfiles , никак не повлияли на вашу систему.  Файлы конфигурации программы, как уже было сказано ранее, по умолчанию скрыты и хранятся в корневом каталоге. Именно здесь программа будет искать свои настройки и считывать их.  Именно поэтому рекомендуется связать символическими ссылками (или создать символическую ссылку (symbolic link) - указатель) файл в каталоге  dotfiles , где вы храните свои настройки наряду с другими созданными вами файлами, с файлом в его корневом каталоге по умолчанию. Это будет выглядеть так, как будто файл одновременно находится в двух местах! Файл будет находиться в каталоге  dotfiles , но при этом его «копия» также будет располагаться в корневом каталоге.  Для того, чтобы создать ссылку, воспользуйтесь командой  ln (разворовывается как «link») с флагом  -s (который расшифровывается как «simbolic»).  Ниже показано, как связать символическими ссылками файлы  .zshrc и  .vimrc : ln -s ~/dotfiles/.vimrc  ~/.vimrc ln -s ~/dotfiles/.zshrc  ~/.zshrc Это позволит программам, которые вы используете, знать, где, в общем случае, находятся их файлы конфигурации – снова в домашнем каталоге.  ls -l ~/.zshrc lrwxr-xr-x  1 dionysialemonaki  staff  39 Oct 21 18:30 /Users/dionysialemonaki/.zshrc -> /Users/dionysialemonaki/dotfiles/.zshrc Если посмотреть на данные файла  .zshrc , то можно увидеть, что файл, который расположен в корневом каталоге, указывает на файл в каталоге  dotfiles . Значок  -> обозначает символическую ссылку.  Процесс связывания символическими ссылками всех ваших дотфайлов вручную – достаточно трудоемкий процесс и быстро может стать утомительным и скучным, если вы добавляете в папку все больше дотфайлов.  Для того, чтобы упростить процесс, можно создать сценарий оболочки, который будет автоматизировать вызов команды  ln -s для дотфайлов, которые вы создаете, или можно воспользоваться специальной программой.  Как управлять версиями ваших дотфайлов? Контроль версий ваших файлов может помочь вам отслеживать все изменения, которые вы со временем вносите в них, а также позволит делиться ими на GitHub. Убедитесь, что вы сменили каталог на  dotfiles ( cd dotfiles ). Придерживайтесь следующих пунктов, чтобы привести в порядок ваши файлы в репозитории Git: Инициализируйте репозиторий: git init Добавьте все созданные вами до настоящего времени файлы: git add . Зафиксируйте изменения и добавьте сообщение о завершении: git commit -m "Added dotfiles" Как разместить свои дотфайлы на GitHub? Убедитесь, что вы вошли в свой аккаунт GitHub. Теперь, создайте новый репозиторий: Назовите его и нажмите «Create repository» («Создать репозиторий»). Далее, добавьте следующее в командную строку: git remote add origin url #where 'url',the GitHub url of the repository you previously created #ending in .git И наконец,  git push -u origin main Теперь вы можете делиться своими дотфайлами онлайн! Заключение Готово! Теперь вы знаете основы работы с дотфайлами! Я надеюсь, что для вас этот урок был полезен.  Ваш проект с дотфайлами, скорее всего, будет с вами на протяжении всей вашей карьеры и будет расти по мере того, как будут увеличиваться ваши знания о самих дотфайлах. И он будет меняться, когда методом проб и ошибок вы будете узнавать все больше о том, что вам нравится и что не нравится в вашей организации рабочего процесса и настройках среды разработки.
img
232 или 4 294 967 296 IPv4 адресов это много? Кажется, что да. Однако с распространением персональных вычислений, мобильных устройств и быстрым ростом интернета вскоре стало очевидно, что 4,3 миллиарда адресов IPv4 будет недостаточно. Долгосрочным решением было IPv6, но требовались более быстрое решение для устранения нехватки адресов. И этим решением стал NAT (Network Address Translation). Все про NAT за 10 минут Что такое NAT Сети обычно проектируются с использованием частных IP адресов . Это адреса 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16. Эти частные адреса используются внутри организации или площадки, чтобы позволить устройствам общаться локально, и они не маршрутизируются в интернете. Чтобы позволить устройству с приватным IPv4-адресом обращаться к устройствам и ресурсам за пределами локальной сети, приватный адрес сначала должен быть переведен на общедоступный публичный адрес. И вот как раз NAT переводит приватные адреса, в общедоступные. Это позволяет устройству с частным адресом IPv4 обращаться к ресурсам за пределами его частной сети. NAT в сочетании с частными адресами IPv4 оказался полезным методом сохранения общедоступных IPv4-адресов. Один общедоступный IPv4-адрес может быть использован сотнями, даже тысячами устройств, каждый из которых имеет частный IPv4-адрес. NAT имеет дополнительное преимущество, заключающееся в добавлении степени конфиденциальности и безопасности в сеть, поскольку он скрывает внутренние IPv4-адреса из внешних сетей. Маршрутизаторы с поддержкой NAT могут быть настроены с одним или несколькими действительными общедоступными IPv4-адресами. Эти общедоступные адреса называются пулом NAT. Когда устройство из внутренней сети отправляет трафик из сети наружу, то маршрутизатор с поддержкой NAT переводит внутренний IPv4-адрес устройства на общедоступный адрес из пула NAT. Для внешних устройств весь трафик, входящий и выходящий из сети, выглядит имеющим общедоступный IPv4 адрес. Маршрутизатор NAT обычно работает на границе Stub-сети. Stub-сеть – это тупиковая сеть, которая имеет одно соединение с соседней сетью, один вход и выход из сети. Когда устройство внутри Stub-сети хочет связываться с устройством за пределами своей сети, пакет пересылается пограничному маршрутизатору, и он выполняет NAT-процесс, переводя внутренний частный адрес устройства на публичный, внешний, маршрутизируемый адрес. Терминология NAT В терминологии NAT внутренняя сеть представляет собой набор сетей, подлежащих переводу. Внешняя сеть относится ко всем другим сетям. При использовании NAT, адреса IPv4 имеют разные обозначения, основанные на том, находятся ли они в частной сети или в общедоступной сети (в интернете), и является ли трафик входящим или исходящим. NAT включает в себя четыре типа адресов: Внутренний локальный адрес (Inside local address); Внутренний глобальный адрес (Inside global address); Внешний местный адрес (Outside local address); Внешний глобальный адрес (Outside global address); При определении того, какой тип адреса используется, важно помнить, что терминология NAT всегда применяется с точки зрения устройства с транслированным адресом: Внутренний адрес (Inside address) - адрес устройства, которое транслируется NAT; Внешний адрес (Outside address) - адрес устройства назначения; Локальный адрес (Local address) - это любой адрес, который отображается во внутренней части сети; Глобальный адрес (Global address) - это любой адрес, который отображается во внешней части сети; Рассмотрим это на примере схемы. На рисунке ПК имеет внутренний локальный (Inside local) адрес 192.168.1.5 и с его точки зрения веб-сервер имеет внешний (outside) адрес 208.141.17.4. Когда с ПК отправляются пакеты на глобальный адрес веб-сервера, внутренний локальный (Inside local) адрес ПК транслируется в 208.141.16.5 (inside global). Адрес внешнего устройства обычно не переводится, поскольку он является общедоступным адресом IPv4. Стоит заметить, что ПК имеет разные локальные и глобальные адреса, тогда как веб-сервер имеет одинаковый публичный IP адрес. С его точки зрения трафик, исходящий из ПК поступает с внутреннего глобального адреса 208.141.16.5. Маршрутизатор с NAT является точкой демаркации между внутренней и внешней сетями и между локальными и глобальными адресами. Термины, inside и outside, объединены с терминами local и global, чтобы ссылаться на конкретные адреса. На рисунке маршрутизатор настроен на предоставление NAT и имеет пул общедоступных адресов для назначения внутренним хостам. На рисунке показано как трафик отправляется с внутреннего ПК на внешний веб-сервер, через маршрутизатор с поддержкой NAT, и высылается и переводится в обратную сторону. Внутренний локальный адрес (Inside local address) - адрес источника, видимый из внутренней сети. На рисунке адрес 192.168.1.5 присвоен ПК – это и есть его внутренний локальный адрес. Внутренний глобальный адрес (Inside global address) - адрес источника, видимый из внешней сети. На рисунке, когда трафик с ПК отправляется на веб-сервер по адресу 208.141.17.4, маршрутизатор переводит внутренний локальный адрес (Inside local address) на внутренний глобальный адрес (Inside global address). В этом случае роутер изменяет адрес источника IPv4 с 192.168.1.5 на 208.141.16.5. Внешний глобальный адрес (Outside global address) - адрес адресата, видимый из внешней сети. Это глобально маршрутизируемый IPv4-адрес, назначенный хосту в Интернете. На схеме веб-сервер доступен по адресу 208.141.17.4. Чаще всего внешние локальные и внешние глобальные адреса одинаковы. Внешний локальный адрес (Outside local address) - адрес получателя, видимый из внутренней сети. В этом примере ПК отправляет трафик на веб-сервер по адресу 208.141.17.4 Рассмотрим весь путь прохождения пакета. ПК с адресом 192.168.1.5 пытается установить связь с веб-сервером 208.141.17.4. Когда пакет прибывает в маршрутизатор с поддержкой NAT, он считывает IPv4 адрес назначения пакета, чтобы определить, соответствует ли пакет критериям, указанным для перевода. В этом пример исходный адрес соответствует критериям и переводится с 192.168.1.5 (Inside local address) на 208.141.16.5. (Inside global address). Роутер добавляет это сопоставление локального в глобальный адрес в таблицу NAT и отправляет пакет с переведенным адресом источника в пункт назначения. Веб-сервер отвечает пакетом, адресованным внутреннему глобальному адресу ПК (208.141.16.5). Роутер получает пакет с адресом назначения 208.141.16.5 и проверяет таблицу NAT, в которой находит запись для этого сопоставления. Он использует эту информацию и переводит обратно внутренний глобальный адрес (208.141.16.5) на внутренний локальный адрес (192.168.1.5), и пакет перенаправляется в сторону ПК. Типы NAT Существует три типа трансляции NAT: Статическая адресная трансляция (Static NAT) - сопоставление адресов один к одному между локальными и глобальными адресами; Динамическая адресная трансляция (Dynamic NAT) - сопоставление адресов “многие ко многим” между локальными и глобальными адресами; Port Address Translation (PAT) - многоадресное сопоставление адресов между локальными и глобальными адресами c использованием портов. Также этот метод известен как NAT Overload; Static NAT Статический NAT использует сопоставление локальных и глобальных адресов один к одному. Эти сопоставления настраиваются администратором сети и остаются постоянными. Когда устройства отправляют трафик в Интернет, их внутренние локальные адреса переводятся в настроенные внутренние глобальные адреса. Для внешних сетей эти устройства имеют общедоступные IPv4-адреса. Статический NAT особенно полезен для веб-серверов или устройств, которые должны иметь согласованный адрес, доступный из Интернета, как например веб-сервер компании. Статический NAT требует наличия достаточного количества общедоступных адресов для удовлетворения общего количества одновременных сеансов пользователя. Статическая NAT таблица выглядит так:   Dynamic NAT Динамический NAT использует пул публичных адресов и назначает их по принципу «первым пришел, первым обслужен». Когда внутреннее устройство запрашивает доступ к внешней сети, динамический NAT назначает доступный общедоступный IPv4-адрес из пула. Подобно статическому NAT, динамический NAT требует наличия достаточного количества общедоступных адресов для удовлетворения общего количества одновременных сеансов пользователя. Динамическая NAT таблица выглядит так: Port Address Translation (PAT) PAT транслирует несколько частных адресов на один или несколько общедоступных адресов. Это то, что делают большинство домашних маршрутизаторов. Интернет-провайдер назначает один адрес маршрутизатору, но несколько членов семьи могут одновременно получать доступ к Интернету. Это наиболее распространенная форма NAT. С помощью PAT несколько адресов могут быть сопоставлены с одним или несколькими адресами, поскольку каждый частный адрес также отслеживается номером порта. Когда устройство инициирует сеанс TCP/IP, оно генерирует значение порта источника TCP или UDP для уникальной идентификации сеанса. Когда NAT-маршрутизатор получает пакет от клиента, он использует номер своего исходного порта, чтобы однозначно идентифицировать конкретный перевод NAT. PAT гарантирует, что устройства используют разный номер порта TCP для каждого сеанса. Когда ответ возвращается с сервера, номер порта источника, который становится номером порта назначения в обратном пути, определяет, какое устройство маршрутизатор перенаправляет пакеты. Картинка иллюстрирует процесс PAT. PAT добавляет уникальные номера портов источника во внутренний глобальный адрес, чтобы различать переводы. Поскольку маршрутизатор обрабатывает каждый пакет, он использует номер порта (1331 и 1555, в этом примере), чтобы идентифицировать устройство, с которого выслан пакет. Адрес источника (Source Address) - это внутренний локальный адрес с добавленным номером порта, назначенным TCP/IP. Адрес назначения (Destination Address) - это внешний локальный адрес с добавленным номером служебного порта. В этом примере порт службы 80: HTTP. Для исходного адреса маршрутизатор переводит внутренний локальный адрес во внутренний глобальный адрес с добавленным номером порта. Адрес назначения не изменяется, но теперь он называется внешним глобальным IP-адресом. Когда веб-сервер отвечает, путь обратный. В этом примере номера портов клиента 1331 и 1555 не изменялись на маршрутизаторе с NAT. Это не очень вероятный сценарий, потому что есть хорошая вероятность того, что эти номера портов уже были прикреплены к другим активным сеансам. PAT пытается сохранить исходный порт источника. Однако, если исходный порт источника уже используется, PAT назначает первый доступный номер порта, начиная с начала соответствующей группы портов 0-511, 512-1023 или 1024-65535. Когда портов больше нет, и в пуле адресов имеется более одного внешнего адреса, PAT переходит на следующий адрес, чтобы попытаться выделить исходный порт источника. Этот процесс продолжается до тех пор, пока не будет доступных портов или внешних IP-адресов. То есть если другой хост может выбрать тот же номер порта 1444. Это приемлемо для внутреннего адреса, потому что хосты имеют уникальные частные IP-адреса. Однако на маршрутизаторе NAT номера портов должны быть изменены - в противном случае пакеты из двух разных хостов выйдут из него с тем же адресом источника. Поэтому PAT назначает следующий доступный порт (1445) на второй адрес хоста. Подведем итоги в сравнении NAT и PAT. Как видно из таблиц, NAT переводит IPv4-адреса на основе 1:1 между частными адресами IPv4 и общедоступными IPv4-адресами. Однако PAT изменяет как сам адрес, так и номер порта. NAT перенаправляет входящие пакеты на их внутренний адрес, ориентируясь на входящий IP адрес источника, заданный хостом в общедоступной сети, а с PAT обычно имеется только один или очень мало публично открытых IPv4-адресов, и входящие пакеты перенаправляются, ориентируясь на NAT таблицу маршрутизатора. А что относительно пакетов IPv4, содержащих данные, отличные от TCP или UDP? Эти пакеты не содержат номер порта уровня 4. PAT переводит наиболее распространенные протоколы, переносимые IPv4, которые не используют TCP или UDP в качестве протокола транспортного уровня. Наиболее распространенными из них являются ICMPv4. Каждый из этих типов протоколов по-разному обрабатывается PAT. Например, сообщения запроса ICMPv4, эхо-запросы и ответы включают идентификатор запроса Query ID. ICMPv4 использует Query ID. для идентификации эхо-запроса с соответствующим ответом. Идентификатор запроса увеличивается с каждым отправленным эхо-запросом. PAT использует идентификатор запроса вместо номера порта уровня 4. Преимущества и недостатки NAT NAT предоставляет множество преимуществ, в том числе: NAT сохраняет зарегистрированную схему адресации, разрешая приватизацию интрасетей. При PAT внутренние хосты могут совместно использовать один общедоступный IPv4-адрес для всех внешних коммуникаций. В этом типе конфигурации требуется очень мало внешних адресов для поддержки многих внутренних хостов; NAT повышает гибкость соединений с общедоступной сетью. Многочисленные пулы, пулы резервного копирования и пулы балансировки нагрузки могут быть реализованы для обеспечения надежных общедоступных сетевых подключений; NAT обеспечивает согласованность для внутренних схем адресации сети. В сети, не использующей частные IPv4-адреса и NAT, изменение общей схемы адресов IPv4 требует переадресации всех хостов в существующей сети. Стоимость переадресации хостов может быть значительной. NAT позволяет существующей частной адресной схеме IPv4 оставаться, позволяя легко изменять новую схему общедоступной адресации. Это означает, что организация может менять провайдеров и не нужно менять ни одного из своих внутренних клиентов; NAT обеспечивает сетевую безопасность. Поскольку частные сети не рекламируют свои адреса или внутреннюю топологию, они остаются достаточно надежными при использовании в сочетании с NAT для получения контролируемого внешнего доступа. Однако нужно понимать, что NAT не заменяет фаерволы; Но у NAT есть некоторые недостатки. Тот факт, что хосты в Интернете, по-видимому, напрямую взаимодействуют с устройством с поддержкой NAT, а не с фактическим хостом внутри частной сети, создает ряд проблем: Один из недостатков использования NAT связан с производительностью сети, особенно для протоколов реального времени, таких как VoIP. NAT увеличивает задержки переключения, потому что перевод каждого адреса IPv4 в заголовках пакетов требует времени; Другим недостатком использования NAT является то, что сквозная адресация теряется. Многие интернет-протоколы и приложения зависят от сквозной адресации от источника до места назначения. Некоторые приложения не работают с NAT. Приложения, которые используют физические адреса, а не квалифицированное доменное имя, не доходят до адресатов, которые транслируются через NAT-маршрутизатор. Иногда эту проблему можно избежать, реализуя статические сопоставления NAT; Также теряется сквозная трассировка IPv4. Сложнее трассировать пакеты, которые подвергаются многочисленным изменениям адресов пакетов в течение нескольких NAT-переходов, что затрудняет поиск и устранение неполадок; Использование NAT также затрудняет протоколы туннелирования, такие как IPsec, поскольку NAT изменяет значения в заголовках, которые мешают проверкам целостности, выполняемым IPsec и другими протоколами туннелирования; Службы, требующие инициирования TCP-соединений из внешней сети, или stateless протоколы, например, использующие UDP, могут быть нарушены. Если маршрутизатор NAT не настроен для поддержки таких протоколов, входящие пакеты не могут достичь своего адресата; Мы разобрали основные принципы работы NAT. Хотите больше? Прочитайте нашу статью по настройке NAT на оборудовании Cisco .
ЗИМНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59