Программы для изучения особенностей и отличий моделирования и проектирования компьютерных сетей
Обновлено: 21.11.2024
Компьютерная сеть или сеть передачи данных — это телекоммуникационная сеть, которая позволяет компьютерам обмениваться данными. В компьютерных сетях сетевые вычислительные устройства обмениваются данными друг с другом, используя канал передачи данных. Соединения между узлами устанавливаются с использованием либо кабельной, либо беспроводной среды. Самой известной компьютерной сетью является Интернет.
Сетевые компьютерные устройства, которые отправляют, направляют и завершают данные, называются сетевыми узлами. [1] Узлы могут включать хосты, такие как персональные компьютеры, телефоны, серверы, а также сетевое оборудование. Можно сказать, что два таких устройства объединены в сеть, когда одно устройство может обмениваться информацией с другим устройством, независимо от того, имеют ли они прямое соединение друг с другом.
Компьютерные сети различаются средой передачи, используемой для передачи их сигналов, протоколами связи для организации сетевого трафика, размером сети, топологией и организационным назначением.
Компьютерные сети поддерживают огромное количество приложений и служб, таких как доступ к всемирной паутине, цифровое видео, цифровое аудио, совместное использование приложений и серверов хранения, принтеров и факсимильных аппаратов, а также использование приложений электронной почты и обмена мгновенными сообщениями. а также многие другие. В большинстве случаев коммуникационные протоколы для конкретных приложений накладываются друг на друга (т. е. передаются как полезная нагрузка) поверх других более общих коммуникационных протоколов.
Свойства
Компьютерные сети можно рассматривать как отрасль электротехники, телекоммуникаций, компьютерных наук, информационных технологий или вычислительной техники, поскольку они опираются на теоретическое и практическое применение связанных дисциплин.
Компьютерная сеть облегчает межличностное общение, позволяя пользователям эффективно и легко общаться с помощью различных средств: электронной почты, обмена мгновенными сообщениями, чатов, телефона, видеотелефонных звонков и видеоконференций. Предоставление доступа к информации на общих устройствах хранения данных является важной функцией многих сетей. Сеть позволяет обмениваться файлами, данными и другими типами информации, предоставляя авторизованным пользователям возможность доступа к информации, хранящейся на других компьютерах в сети. Сеть позволяет совместно использовать сетевые и вычислительные ресурсы. Пользователи могут получать доступ к ресурсам, предоставляемым устройствами в сети, и использовать их, например, для печати документа на общем сетевом принтере. Распределенные вычисления используют вычислительные ресурсы в сети для выполнения задач. Компьютерная сеть может использоваться компьютерными взломщиками для распространения компьютерных вирусов или компьютерных червей на устройствах, подключенных к сети, или для предотвращения доступа этих устройств к сети посредством атаки типа "отказ в обслуживании".
Сетевой пакет
Компьютерные каналы связи, которые не поддерживают пакеты, такие как традиционные двухточечные телекоммуникационные каналы, просто передают данные в виде потока битов. Однако большая часть информации в компьютерных сетях передается в пакетах. Сетевой пакет – это форматированная единица данных (список битов или байтов, обычно от нескольких десятков байт до нескольких килобайт), передаваемая по сети с коммутацией пакетов.
В пакетных сетях данные форматируются в пакеты, которые отправляются по сети к месту назначения. Как только пакеты прибывают, они снова собираются в исходное сообщение. С пакетами полоса пропускания среды передачи может быть лучше распределена между пользователями, чем если бы сеть была коммутируемой. Когда один пользователь не отправляет пакеты, канал может быть заполнен пакетами от других пользователей, и, таким образом, стоимость может быть разделена с относительно небольшим вмешательством, при условии, что канал не перегружен.
Пакеты состоят из двух типов данных: управляющей информации и пользовательских данных (полезной нагрузки). Управляющая информация предоставляет данные, необходимые сети для доставки пользовательских данных, например: исходные и конечные сетевые адреса, коды обнаружения ошибок и информацию о последовательности. Как правило, управляющая информация содержится в заголовках и трейлерах пакетов, а между ними находятся полезные данные.
Часто маршрут, по которому должен пройти пакет через сеть, недоступен сразу. В этом случае пакет ставится в очередь и ожидает освобождения канала.
Сетевые узлы
Помимо любой физической среды передачи, сети содержат дополнительные базовые структурные элементы системы, такие как контроллер сетевого интерфейса (NIC), повторители, концентраторы, мосты, коммутаторы, маршрутизаторы, модемы и брандмауэры.
Типы сетей
Наносеть. Наноразмерная коммуникационная сеть имеет ключевые компоненты, реализованные на наноуровне, включая носители сообщений, и использует физические принципы, которые отличаются от механизмов связи на макроуровне.Наноразмерная связь расширяет возможности связи с очень маленькими датчиками и исполнительными механизмами, такими как те, что находятся в биологических системах, а также имеет тенденцию работать в средах, которые были бы слишком суровыми для классической связи. [16]
Персональная сеть — Персональная сеть (PAN) — это компьютерная сеть, используемая для связи между компьютерами и различными информационными технологическими устройствами, находящимися рядом с одним человеком. Некоторыми примерами устройств, которые используются в PAN, являются персональные компьютеры, принтеры, факсимильные аппараты, телефоны, КПК, сканеры и даже игровые приставки. PAN может включать в себя проводные и беспроводные устройства. Дальность действия PAN обычно достигает 10 метров. [17] Проводная персональная сеть обычно состоит из соединений USB и FireWire, а такие технологии, как Bluetooth и инфракрасная связь, обычно образуют беспроводную персональную сеть.
Локальная сеть. Локальная сеть (LAN) – это сеть, которая соединяет компьютеры и устройства в ограниченной географической зоне, например в доме, школе, офисном здании или группе близко расположенных зданий. Каждый компьютер или устройство в сети является узлом. Проводные локальные сети, скорее всего, основаны на технологии Ethernet. Более новые стандарты, такие как ITU-T G.hn, также позволяют создавать проводные локальные сети с использованием существующей проводки, такой как коаксиальные кабели, телефонные линии и линии электропередач. [18]
Определяющими характеристиками локальной сети, в отличие от глобальной сети (WAN), являются более высокая скорость передачи данных, ограниченный географический диапазон и отсутствие зависимости от выделенных линий для обеспечения подключения. Текущие технологии Ethernet или другие технологии локальных сетей IEEE 802.3 работают со скоростью передачи данных до 100 Гбит/с, стандартизованной IEEE в 2010 году. [19] В настоящее время разрабатывается Ethernet со скоростью 400 Гбит/с.
Локальную сеть можно подключить к глобальной сети с помощью маршрутизатора.
Домашняя сеть. Домашняя сеть (HAN) — это жилая локальная сеть, используемая для связи между цифровыми устройствами, обычно развернутыми дома, обычно небольшим количеством персональных компьютеров и аксессуаров, таких как принтеры и мобильные вычислительные устройства. Важной функцией является совместное использование доступа в Интернет, часто широкополосного доступа через поставщика кабельного телевидения или цифровой абонентской линии (DSL).
Сеть хранения данных. Сеть хранения данных (SAN) – это выделенная сеть, обеспечивающая доступ к консолидированному хранилищу данных на уровне блоков. Сети SAN в основном используются для того, чтобы сделать устройства хранения, такие как дисковые массивы, ленточные библиотеки и оптические музыкальные автоматы, доступными для серверов, чтобы они выглядели как локально подключенные устройства для операционной системы. SAN обычно имеет свою собственную сеть устройств хранения, которые, как правило, недоступны через локальную сеть для других устройств. Стоимость и сложность сетей хранения данных снизились в начале 2000-х годов до уровней, позволяющих более широкое внедрение как в корпоративных средах, так и в средах малого и среднего бизнеса.
Сеть кампуса. Сеть кампуса (CAN) состоит из соединения локальных сетей в пределах ограниченной географической области. Сетевое оборудование (коммутаторы, маршрутизаторы) и средства передачи (оптоволокно, медные заводы, кабели категории 5 и т. д.) почти полностью принадлежат арендатору/владельцу кампуса (предприятию, университету, правительству и т. д.).
Например, сеть университетского городка, скорее всего, будет соединять различные здания кампуса, соединяя академические колледжи или факультеты, библиотеку и студенческие общежития.
Магистральная сеть. Магистральная сеть является частью инфраструктуры компьютерной сети, которая обеспечивает путь для обмена информацией между различными локальными сетями или подсетями. Магистраль может связать воедино различные сети в одном и том же здании, в разных зданиях или на большой территории.
Например, крупная компания может внедрить магистральную сеть, чтобы соединить отделы, расположенные по всему миру. Оборудование, связывающее сети подразделений, составляет основу сети. При проектировании магистрали сети критически важными факторами, которые необходимо учитывать, являются производительность сети и ее перегрузка. Обычно пропускная способность магистральной сети больше, чем у отдельных сетей, подключенных к ней.
Другим примером магистральной сети является магистраль Интернета, представляющая собой набор глобальных сетей (WAN) и основных маршрутизаторов, которые связывают воедино все сети, подключенные к Интернету.
Городская сеть. Городская сеть (MAN) — это крупная компьютерная сеть, обычно охватывающая город или большой кампус
Глобальная вычислительная сеть. Глобальная вычислительная сеть (WAN) – это компьютерная сеть, охватывающая большую географическую территорию, например город, страну, или даже межконтинентальные расстояния. WAN использует канал связи, который сочетает в себе множество типов носителей, таких как телефонные линии, кабели и радиоволны. WAN часто использует средства передачи, предоставляемые обычными операторами связи, такими как телефонные компании.Технологии WAN обычно функционируют на трех нижних уровнях эталонной модели OSI: физическом уровне, уровне канала передачи данных и сетевом уровне.
Частная сеть предприятия. Частная сеть предприятия – это сеть, которую строит одна организация для соединения своих офисов (например, производственных площадок, головных офисов, удаленных офисов, магазинов), чтобы они могли совместно использовать компьютерные ресурсы.
Виртуальная частная сеть. Виртуальная частная сеть (VPN) представляет собой оверлейную сеть, в которой некоторые связи между узлами передаются через открытые соединения или виртуальные каналы в какой-либо более крупной сети (например, в Интернете), а не по физическим проводам. В этом случае говорят, что протоколы канального уровня виртуальной сети туннелируются через более крупную сеть. Одним из распространенных приложений является безопасная связь через общедоступный Интернет, но VPN не обязательно должна иметь явные функции безопасности, такие как аутентификация или шифрование контента. Например, виртуальные частные сети можно использовать для разделения трафика разных сообществ пользователей в базовой сети с надежными функциями безопасности.
VPN может иметь максимальную производительность или иметь определенное соглашение об уровне обслуживания (SLA) между клиентом VPN и поставщиком услуг VPN. Как правило, VPN имеет более сложную топологию, чем точка-точка.
Глобальная вычислительная сеть. Глобальная вычислительная сеть (GAN) – это сеть, используемая для поддержки мобильных устройств в произвольном количестве беспроводных локальных сетей, зон покрытия спутников и т. д. Ключевой проблемой мобильной связи является передача пользовательских сообщений из одного локального покрытия. область к следующей. В проекте IEEE 802 это включает последовательность наземных беспроводных локальных сетей. [20]
Интранет
Интранет – это набор сетей, находящихся под контролем одного административного объекта. Интранет использует протокол IP и инструменты на основе IP, такие как веб-браузеры и приложения для передачи файлов. Административный объект ограничивает использование интрасети авторизованными пользователями. Чаще всего интранет — это внутренняя локальная сеть организации. Большая интрасеть обычно имеет по крайней мере один веб-сервер для предоставления пользователям организационной информации. Интранет — это также все, что находится за маршрутизатором в локальной сети.
Экстранет
Экстранет — это сеть, которая также находится под административным контролем одной организации, но поддерживает ограниченное подключение к определенной внешней сети. Например, организация может предоставить доступ к некоторым аспектам своей интрасети для обмена данными со своими деловыми партнерами или клиентами. Этим другим объектам не обязательно доверять с точки зрения безопасности. Сетевое подключение к экстрасети часто, но не всегда, реализуется через технологию WAN.
Даркнет
Даркнет – это оверлейная сеть, обычно работающая в Интернете и доступная только через специализированное программное обеспечение. Даркнет — это анонимная сеть, в которой соединения устанавливаются только между доверенными узлами, иногда называемыми «друзьями» (F2F) [21], с использованием нестандартных протоколов и портов.
Даркнеты отличаются от других распределенных одноранговых сетей тем, что совместное использование является анонимным (то есть IP-адреса не публикуются публично), поэтому пользователи могут общаться, не опасаясь вмешательства правительства или корпорации. [22]
Лицензия
Информация, люди и технологии, созданные Википедией при содействии Барта Пурсела, находятся под лицензией Creative Commons Attribution-ShareAlike 4.0 International License, если не указано иное.
Основная причина, по которой мы можем вести этот блог и с такой легкостью рассылать его миллионам читателей, — это работа в сети. Общая картина исследуется в теме компьютерных сетей. Компьютерные сети имеют дело со связью между системами. В то же время он также рассматривает, как информация, отправляемая из источника, должна наиболее эффективно достигать места назначения. Это сопоставимо с перегруженным городом с интенсивным движением.
Цель нетворкинга
Чтобы установить связь между двумя разными процессами на двух разных хостах, нам нужно убедиться, что сеть ведет себя в соответствии с потребностями и ведет себя так, как будто сети не существует и оба процесса находятся на одном хосте.< /p>
При обмене данными по сети учитываются различные параметры.
Это захватывающая тема, и сегодня мы обсудим различные модели, связанные с сетями, и то, как они работают с упомянутыми выше параметрами.
Что такое сетевая модель?
Сетевая модель описывает архитектуру, компоненты и структуру, используемые для установления связи между исходной и целевой системами. Псевдонимы для сетевых моделей включают стеки протоколов, наборы протоколов, сетевые стеки и сетевые протоколы. Доступны 2 основные модели. Давайте посмотрим на них
- Модель взаимодействия открытых систем (OSI)
- Модель протокола управления передачей/протокола Интернета (TCP/IP)
Модель OSI
OSI расшифровывается как Open System Interconnect. Это открытый стандарт для установления связи между системами. Мы рассмотрим эту модель более подробно.
Прикладной уровень: весь процесс начинается на устройстве конечного пользователя. Это может быть телефон, ноутбук, сервер и т. д. Прикладной уровень обеспечивает интерфейс для обмена данными между программой и пользователем. Например, веб-приложение/мобильное приложение Facebook — это интерфейс, через который мы лайкаем, делимся, комментируем и выполняем различные другие действия. Все эти действия генерируют фрагменты данных, которые необходимо передать по сети.
Уровень представления. Уровень представления обеспечивает преобразование символов из исходного формата в хост-системе в формат принимающей системы. Он также добавляет функции шифрования и дешифрования. Сжатие данных обрабатывается на этом уровне.
Уровень сеанса: включение этого уровня позволяет поддерживать сеансы во время просмотра. Это помогает реализовать аутентификацию, авторизацию, синхронизацию и диалоговое управление. Давайте рассмотрим примеры, чтобы оценить значение сеансового уровня.
- Аутентификация: как только пользователь войдет в систему, он/она должен оставаться в системе до тех пор, пока не выйдет из нее. На этом уровне происходит получение статуса аутентификации пользователя.
- Авторизация. Права доступа к определенным частям веб-сайта предоставляются суперпользователям и администраторам.
- Диалоговое управление: позволяет различным системам, на которых запущены такие приложения, как WebEx, обмениваться данными. Проблема здесь заключается в одновременной отправке и получении данных, что преодолевается полудуплексными или полнодуплексными протоколами на уровне сеанса.
- Синхронизация. Цифровой опыт зависит от синхронизации аудио и видео. Сеансовый уровень обеспечивает правильную последовательность временных меток полученных аудио и видео.
Транспортный уровень. Транспортный уровень — это четвертый уровень в модели OSI, обеспечивающий следующие службы:
- Надежность. Этот уровень гарантирует, что отправленный пакет будет получен без искажений. Если нет, пакет отправляется повторно. Это может добавить задержку. Но он подходит для приложений, где важна целостность данных.
- Управление потоком: скорость отправки информации ограничена размером буфера и пропускной способностью получателя. Задержки, вызванные распространением, очередями и передачей, учитываются алгоритмами управления потоком.
- Контроль перегрузки. В маршрутизаторах решение о поступлении пакетов может приниматься на основе текущего трафика.
- Мультиплексирование и демультиплексирование. Перед транспортным уровнем порты не играют большой роли. Порты можно рассматривать как несколько входов в один и тот же сетевой канал. Транспортный уровень позволяет мультиплексировать различные входные данные приложения. На принимающей стороне транспортный уровень отправляет пакеты на соответствующие порты. Это действие похоже на действие демультиплексора.
Сетевой уровень. Сетевой уровень — один из самых важных. Он включает множество функций, таких как:
- Назначение адреса: хосту назначаются IP-адреса. Существует два способа назначения адресов: статический и динамический. Статические адреса назначаются вручную и не меняются ни при каких обстоятельствах. С другой стороны, динамические IP-адреса назначаются по мере необходимости.
- Маршрутизация. Маршрут можно выбрать вручную или автоматически. Сегодня большая часть из них автоматизирована. Для маршрутизации используются два основных алгоритма: маршрутизация по вектору расстояния и маршрутизация по состоянию канала.
- Фрагментация. На транспортном уровне существует ограничение на максимально допустимый размер данных. Поэтому биты сегментируются соответствующим образом на транспортном уровне. Фрагментация — это тот же процесс, который применяется к сегментированным пакетам, полученным от транспортного уровня. Цель состоит в том, чтобы разместить дейтаграммы, полученные с транспортного уровня, в кадры.
Уровень канала передачи данных. Основной обязанностью уровня канала передачи данных (DLL) является обеспечение управления потоком данных, контроля ошибок, контроля доступа, формирования кадров и чтения физических адресов. Мы подробно рассмотрим каждый из процессов:
- Кадрирование. Процесс получения пакета с уровня выше и добавления кадра к пакету называется кадрированием. Кадр включает такие данные, как конец пакета, длина сообщения и т. д., чтобы получить точную информацию на принимающей стороне.
- Управление потоком: DLL ограничивает размер трафика и ожидает, пока получатель подтвердит получение первого пакета кадров, прежде чем отправлять следующий пакет.
- Контроль ошибок: из-за передачи на большие расстояния иногда биты информации могут быть повреждены. Повреждение битов приводит к плохому обслуживанию. Ниже перечислены несколько подходов к обработке повреждения данных.
- Отбрасывание битов повреждения данных
- Восстановление поврежденных битов
Физический уровень. Этот уровень имеет дело с электрическими, механическими, функциональными и процедурными характеристиками физических соединений. Топология сети относится к этому слою. Одним из важных аспектов физического уровня является кодирование. Кодирование относится к представлению данных. Цель кодирования — обеспечить максимальную вероятность того, что передаваемое сообщение будет отправлено без ошибок. Доступны различные типы кодирования. Они отличаются способом представления 0 и 1. Базовое представление - сигнал -5В для 0 и сигнал +5В для 1. Вероятность ошибки высока, поэтому требуются различные другие схемы. Давайте рассмотрим некоторые из них визуально.
Источник изображения
Источник изображения
Модель TCP/IP
Сеть сетей, которую мы называем Интернетом, основана на модели TCP/IP. Поэтому его также называют набором протоколов TCP/IP. Это четырехуровневая архитектура, специально созданная для Интернета. Протокол определен в IETF (запрос комментариев) RFC 791 и 793. Многие уровни, которые мы видим в модели OSI, недоступны в модели TCP/IP. Для работы в Интернете требуются следующие функции:
- Надежность
- Безопасность
- Эффективность трафика
Модель TCP/IP использует TCP на транспортном уровне и IP на сетевом уровне. Четыре уровня сетевой модели следующие.
- Прикладной уровень. В модели TCP/IP прикладной уровень включает в себя первые три уровня модели OSI, то есть прикладной уровень, уровень представления и сеансовый уровень.
- Транспортный уровень: этот уровень аналогичен уровню, упомянутому в модели OSI. В этой модели используется протокол управления передачей (TCP). TCP обеспечивает надежность и помогает избежать перегрузок в сети.
- Сетевой уровень. Интернет-протокол (IP) используется преимущественно на этом уровне. До недавнего времени наиболее распространенным протоколом был IPv4. Он предоставил 32 бита для назначения адресов. Он поддерживал около 4,29 миллиона уникальных устройств. В конце 1990-х количество устройств перевалило за отметку в 4 миллиона, и поэтому был введен IPv6. IPv6 — это протокол, который поддерживает 4,3 миллиарда устройств. Он имеет 128 бит, назначенных для сетевого адреса. Чтобы узнать больше о IPv6 и о важности перехода на него, вы можете прочитать эту статью здесь.
- Сетевой интерфейс: позволяет передавать данные. Уровень соответствует уровню канала передачи данных и физическому уровню в модели OSI.
Заключение
В этой статье мы успешно рассмотрели основы работы в сети и поняли основы различных сетевых моделей. Мы надеемся, что более амбициозные сетевые инженеры вдохновятся углубиться в предмет компьютерных сетей.
Вакансии в области компьютерных наук пользуются большим спросом. Из 50 вакансий в списке лучших вакансий в Соединенных Штатах, составленном Glassdoor, который основан на потенциальном заработке, удовлетворенности работой и количестве вакансий в 2021 году, 17 из перечисленных вакансий относятся к области компьютерных наук и технологий. /p>
По данным Бюро трудовой статистики, средняя зарплата на этих должностях превышает 126 000 долларов США в год. Еще более обнадеживающим является то, что к 2030 году ожидается увеличение числа рабочих мест для компьютерных и информационных наук на 22 процента, что более чем в три раза превышает средний показатель по стране для всех должностей. По данным U.S. News & World Report, средний уровень безработицы для многих профессий STEM также значительно ниже среднего по стране.
Степени и специализации в области компьютерных наук
Из-за высокого спроса и необходимых навыков для работы в этой области многие работодатели ищут кандидатов с высшим образованием в области компьютерных наук на эти высокооплачиваемые должности. На самом деле данные Burning Glass Labor Insight показывают, что почти четыре из десяти списков вакансий в области информатики требуют кандидатов со степенью магистра.
Ниже мы предлагаем взглянуть на некоторые из наиболее распространенных специализаций в этой области, варианты карьеры, которые лучше всего соответствуют этим специализациям, и годовой потенциальный доход для людей в этих концентрациях.
Загрузите наше бесплатное руководство по компьютерным наукам
Независимо от того, имеете ли вы техническое или нетехническое образование, вот что вам нужно знать.
11 распространенных специализаций в области информатики
1. Искусственный интеллект
Описание. Под искусственным интеллектом (ИИ) понимается способность вычислительной системы решать проблемы, делать прогнозы или выполнять сложные задачи. Приложения ИИ используют новые технологии, такие как обработка естественного языка, которая интерпретирует написанные и произнесенные слова, и машинное обучение, которое позволяет приложениям делать прогнозы и рекомендации.
Навыки: математика и анализ, алгоритмы, прогнозное моделирование
Общие роли: архитектор искусственного интеллекта, исследователь искусственного интеллекта, инженер по машинному обучению
Средняя годовая зарплата специалистов по искусственному интеллекту: 125 000 долларов США
2. Компьютерно-человеческий интерфейс
Описание. Эта специализация рассматривает множество способов взаимодействия людей с компьютерами, от веб-сайтов и мобильных телефонов до динамиков с голосовым управлением и виртуальной реальности. Эффективная разработка и развертывание интерфейса требуют использования стандартных библиотек для обеспечения совместимости и удобства использования приложений в разных системах.
Навыки: общение, навыки межличностного общения, внимание к визуальным деталям, картирование того, как люди используют программное обеспечение и системы
Общие роли: дизайнер взаимодействия с пользователем (UX), исследователь взаимодействия с пользователем, дизайнер взаимодействия
Средняя годовая зарплата на должностях HCI: 118 942 доллара США
3. Дизайн игры
Описание. В дополнение к реалистичным изображениям, которые делают современные компьютерные игры такими привлекательными, компьютерная специализация игрового дизайна рассматривает искусственный интеллект и машинное обучение, которые определяют, как игроки продвигаются по игре. При разработке игр также учитывается, как работа интерфейсных дизайнеров и внутренних разработчиков должна объединяться для создания целостного продукта.
Навыки: внимание к визуальным деталям, совместная работа, программирование и написание сценариев
Общие роли: дизайнер видеоигр, разработчик видеоигр, инженер-программист
Средняя годовая зарплата специалистов по дизайну игр: 115 846 долларов США
4. сети
Описание. Эта специализация посвящена тому, как организации используют проводные и беспроводные сети для обмена информацией с внутренними и внешними заинтересованными сторонами. В обязанности входит управление полосой пропускания, трафиком, доступом пользователей и безопасностью самих сетей, а также любых устройств, подключенных к сети.
Навыки: диагностика и устранение неполадок в сети, проектирование сетевой архитектуры
Общие роли: сетевой администратор, сетевой аналитик, сетевой архитектор
Средняя годовая заработная плата специалистов по управлению сетями: от 59 865 долларов США (сетевой аналитик) до 121 412 долларов США (сетевой архитектор)
5. Компьютерная графика
Описание: эта специализация посвящена двух- и трехмерным изображениям, используемым в различных программных приложениях, включая игры, компьютерный дизайн, производство и мультимедийные публикации. Помимо концепций создания реалистичных изображений, эффективный компьютерный графический дизайн также рассматривает наилучший способ отображения этих изображений с учетом таких ограничений, как размер экрана, системная память и пропускная способность. Варианты работы включают штатных сотрудников, агентов и внештатных сотрудников.
Навыки: внимание к визуальным и художественным деталям, сотрудничество, творчество
Общие роли: разработчик мобильных приложений, разработчик iOS, разработчик Android
Средняя годовая зарплата специалистов по компьютерной графике: 116 192 доллара США
6. Информационная безопасность
Описание. Специалисты по информационной безопасности управляют всеми аспектами безопасности организации, включая программные приложения, сети, оборудование для хранения данных, устройства и т. д. Эта специализация в области информатики требует глубокого понимания уязвимостей безопасности и различных методов, которые внутренние и внешние злоумышленники используют для их использования. Эти роли также должны обеспечивать баланс между требованиями безопасности и производительностью сотрудников или конечных пользователей.
Навыки: Коммуникация, управление угрозами/уязвимостями, знание правил и норм безопасности
Общие роли: инженер по безопасности, аналитик сетевой безопасности, аналитик системной безопасности
Средняя годовая зарплата специалистов по информационной безопасности: 124 506 долларов США
7. Наука о данных
Описание. Под наукой о данных понимается способность «извлекать» большие наборы данных для получения полезной информации или идей. Организации больше всего выигрывают от науки о данных как от практики, когда для извлечения и анализа данных используются различные методы, а также когда они используются для обработки больших, сложных и иногда неструктурированных наборов информации, обычно называемых «большими данными». /p>
Навыки: математика и аналитика, внимание к деталям, прогнозное моделирование
Общие роли: специалист по данным, аналитик данных, аналитик бизнес-аналитики, инженер по машинному обучению, специалист по информации, администратор базы данных
Средняя годовая заработная плата специалистов, занимающихся наукой о данных: от 123 419 долларов США (специалист по данным) до 145 549 долларов США (инженер по машинному обучению)
8. Языки программирования
Навыки: программирование и написание сценариев на нескольких языках, совместная работа
Общие роли: веб-разработчик с полным стеком, разработчик внешнего интерфейса, разработчик игр, программист
Средняя годовая зарплата за навыки программирования: 105 240 долларов США
9. Разработка программного обеспечения
Описание. Помимо разработки приложений, специализация в области компьютерных наук в области разработки программного обеспечения фокусируется на системах и протоколах для использования этих приложений. Профессионалы в этих ролях могут иметь ряд различных специальностей, таких как отладка и тестирование, безопасность и масштабируемость или способность приложения добавлять пользователей или функции без негативного влияния на производительность.
Навыки: программирование и написание сценариев, общение, совместная работа
Общие роли: инженер-разработчик программного обеспечения, инженер-программист
Средняя годовая зарплата специалистов по разработке программного обеспечения: 119 923 доллара США
10. Системы
Описание. Эта специализация в области компьютерных наук помогает организации максимально эффективно использовать оборудование, программное обеспечение и службы, которыми сотрудники пользуются каждый день. Эти продукты могут включать собственные системы, а также широкий спектр продуктов сторонних производителей. Ключевые проблемы в этой роли включают производительность, безопасность и производительность как самих систем, так и сотрудников, работающих с ними.
Навыки: диагностика и устранение проблем с аппаратным и программным обеспечением, исправление и обновление систем, проектирование системной архитектуры
Общие роли: системный инженер
Средняя годовая зарплата специалистов по управлению системами: 122 180 долларов США
11. Теория
Описание: Эта специализация посвящена передовым математическим теориям и принципам, применимым к компьютерным наукам. Эти теории могут включать продвинутую криптографию, алгоритмы аппроксимации, вычислительную алгебру и случайность. Другие теории исследуют методы обработки данных и систем, такие как распределенные вычисления и параллельные вычисления.
Навыки: математика и аналитика, прогнозное моделирование и вероятностное моделирование, масштабное планирование
Общие должности: специалист по алгоритмам, инженер по машинному обучению
Средняя годовая зарплата специалистов по компьютерной теории: 102 754 доллара США
Выбор правильной специализации в области информатики
Полезная и хорошо оплачиваемая работа в области компьютерных наук доступна для лиц, интересующихся любой из вышеперечисленных областей компьютерных наук. Однако специалисты среднего звена могут сомневаться в переходе в эту область из-за распространенных заблуждений о компьютерных науках, в том числе о том, что они требуют исключительных математических навыков или что это означает сидеть перед экраном компьютера весь день и ночь.
Действительно, некоторые из навыков, необходимых для карьеры в области компьютерных наук, являются техническими. Компания по разработке приложений BHW Group отмечает, что чтение кода, оценка фреймворков, использование отладчиков и контроль версий являются важными навыками, например, для всех, кто непосредственно участвует в процессе создания программного обеспечения.
Однако для многих профессий в области информатики требуются навыки, выходящие за рамки написания и оценки кода. Согласно O*Net Online, эти роли также требуют творчества, критического мышления, решения проблем, оценки проекта или предложения и общения с конечными пользователями программного обеспечения, руководством или руководящим персоналом. Лица на этих должностях также должны чувствовать себя комфортно, работая с командами разного размера, поскольку большая часть их работы выполняется в группах.
В конечном итоге выбор правильной специализации в области компьютерных наук зависит от ваших личных интересов и профессиональных целей. Рассмотрите некоторые из приведенных ниже сценариев «если/то», чтобы увидеть, соответствуют ли ваши конкретные предпочтения конкретному карьерному пути:
- Если вы разбираетесь в визуальном дизайне и уделяете большое внимание деталям, рассмотрите возможность стать программистом, дизайнером игр, дизайнером компьютерной графики или UX-дизайнером. Эти роли также требуют творчества и гибкости для удовлетворения требований внутренних и внешних заинтересованных сторон.
- Если у вас есть опыт технического обучения и внутренних операций, рассмотрите возможность стать инженером, системным администратором или сетевым администратором.
- Если у вас есть технические знания, а также способность вести дипломатические переговоры, рассмотрите возможность работы в сфере информационной безопасности. Еще одна возможная роль – инженер DevOps (сокращение от слова "разработчик операций"). Эта роль помогает организациям преодолеть разрыв между скоростью и стабильностью в жизненном цикле разработки.
- Если вам нравится анализировать данные, выявлять закономерности и получать ценную информацию, которая помогает принимать более обоснованные бизнес-решения, подумайте о карьере в области искусственного интеллекта, науки о данных, анализа данных или компьютерной теории. Обратите внимание, что эти роли также требуют представления результатов анализа данных ключевым заинтересованным сторонам на понятном языке.
Из-за множества специализаций в индустрии компьютерных наук важно найти путь карьеры, который соответствует вашим способностям, техническому опыту и долгосрочным целям.
Компьютерные науки на Северо-Востоке
Пересмотренная в 2021 году учебная программа магистра наук в области компьютерных наук в Северо-Восточном университете специально разработана, чтобы помочь вам определить область компьютерных наук, которая лучше всего соответствует вашим карьерным интересам, и продолжать развивать технические навыки, необходимые для получения полноценной работы в та специализация. В дополнение к основному учебному плану студенты MSCS посещают занятия по трем «широким областям» — по образцу нашей программы PhD — которые позволяют студентам получить более широкий спектр специализированных навыков, тем самым подготавливая их к работе во многих ролях. Студенты должны пройти три курса по крайней мере из двух областей широты во время учебы.
Эти широкие области включают:
Получив степень магистра, вы будете готовы построить смелое будущее в области компьютерных наук. Узнайте больше о программе Northeast Master's Master's in Computer Science и исследуйте путь, который подходит именно вам.
Примечание редактора. Первоначально эта статья была опубликована в июне 2019 года. С тех пор она была обновлена для обеспечения актуальности и точности.
Несмотря на то, что были приложены все усилия для соблюдения правил стиля цитирования, могут быть некоторые расхождения. Если у вас есть какие-либо вопросы, обратитесь к соответствующему руководству по стилю или другим источникам.
Наши редакторы рассмотрят то, что вы отправили, и решат, нужно ли пересматривать статью.
Информатика — это изучение компьютеров и вычислений, а также их теоретических и практических приложений. Информатика применяет принципы математики, инженерии и логики во множестве функций, включая формулирование алгоритмов, разработку программного и аппаратного обеспечения и искусственный интеллект.
Самые влиятельные ученые-компьютерщики – Алан Тьюринг, взломщик кодов времен Второй мировой войны, которого обычно называют "отцом современных вычислений"; Тим Бернерс-Ли, изобретатель Всемирной паутины; Джон Маккарти, изобретатель языка программирования LISP и пионер искусственного интеллекта; и Грейс Хоппер, офицер ВМС США и ключевая фигура в разработке первых компьютеров, таких как UNIVAC I, а также в разработке компилятора языка программирования.
Информатика применяется в широком спектре дисциплин, включая моделирование последствий изменения климата и вируса Эбола, создание произведений искусства и визуализацию с помощью графического рендеринга, а также моделирование человеческого интерфейса с помощью искусственного интеллекта и машинного обучения.< /p>
Разработка видеоигр основана на принципах информатики и программирования. Современный рендеринг графики в видеоиграх часто использует передовые методы, такие как трассировка лучей, для обеспечения реалистичных эффектов. Развитие дополненной реальности и виртуальной реальности также расширило спектр возможностей разработки видеоигр.
Многие университеты по всему миру предлагают программы обучения основам теории информатики и прикладного программирования. Кроме того, распространенность онлайн-ресурсов и курсов позволяет многим людям самостоятельно изучать более практические аспекты информатики (такие как программирование, разработка видеоигр и дизайн приложений).
информатика, изучение компьютеров и вычислений, включая их теоретические и алгоритмические основы, аппаратное и программное обеспечение, а также их использование для обработки информации. Дисциплина информатики включает изучение алгоритмов и структур данных, проектирование компьютеров и сетей, моделирование данных и информационных процессов, а также искусственный интеллект. Информатика черпает некоторые из своих основ из математики и инженерии и поэтому включает в себя методы из таких областей, как теория массового обслуживания, вероятность и статистика, а также проектирование электронных схем. Информатика также широко использует проверку гипотез и экспериментирование при концептуализации, проектировании, измерении и уточнении новых алгоритмов, информационных структур и компьютерных архитектур.
Информатика считается частью семейства пяти отдельных, но взаимосвязанных дисциплин: компьютерная инженерия, информатика, информационные системы, информационные технологии и разработка программного обеспечения. Это семейство стало известно под общим названием компьютерной дисциплины. Эти пять дисциплин взаимосвязаны в том смысле, что компьютеры являются объектом их изучения, но они разделены, поскольку каждая из них имеет свою собственную исследовательскую перспективу и учебную направленность.(С 1991 года Ассоциация вычислительной техники [ACM], Компьютерное общество IEEE [IEEE-CS] и Ассоциация информационных систем [AIS] сотрудничают в разработке и обновлении таксономии этих пяти взаимосвязанных дисциплин и руководств, которые образовательные учреждения использовать во всем мире для своих программ бакалавриата, магистратуры и исследовательских программ.)
Основные разделы информатики включают традиционное изучение компьютерной архитектуры, языков программирования и разработки программного обеспечения. Однако они также включают вычислительную науку (использование алгоритмических методов для моделирования научных данных), графику и визуализацию, взаимодействие человека и компьютера, базы данных и информационные системы, сети, а также социальные и профессиональные проблемы, которые являются уникальными для практики информатики. . Как может быть очевидно, некоторые из этих подполей пересекаются по своей деятельности с другими современными областями, такими как биоинформатика и вычислительная химия. Эти совпадения являются следствием склонности ученых-компьютерщиков признавать многочисленные междисциплинарные связи в своей области и действовать в соответствии с ними.
Развитие информатики
Информатика возникла как самостоятельная дисциплина в начале 1960-х годов, хотя электронный цифровой компьютер, являющийся объектом ее изучения, был изобретен на два десятилетия раньше. Корни информатики лежат в основном в смежных областях математики, электротехники, физики и информационных систем управления.
Математика является источником двух ключевых концепций разработки компьютеров — идеи о том, что вся информация может быть представлена в виде последовательности нулей и единиц, и абстрактного понятия «хранимой программы». В двоичной системе счисления числа представляются последовательностью двоичных цифр 0 и 1 точно так же, как числа в знакомой нам десятичной системе представляются цифрами от 0 до 9. Относительная легкость, с которой два состояния (например, высокое и низкое напряжение) могут быть реализованы в электрических и электронных устройствах, что естественным образом привело к тому, что двоичная цифра или бит стала основной единицей хранения и передачи данных в компьютерной системе.
Электротехника обеспечивает основы проектирования цепей, а именно идею о том, что электрические импульсы, поступающие в цепь, можно комбинировать с помощью булевой алгебры для получения произвольных выходных сигналов. (Булева алгебра, разработанная в 19 веке, предоставила формализм для проектирования схемы с двоичными входными значениями нулей и единиц [ложь или истина, соответственно, в терминологии логики], чтобы получить любую желаемую комбинацию нулей и единиц на выходе.) Изобретение транзистора и миниатюризация схем, а также изобретение электронных, магнитных и оптических носителей для хранения и передачи информации стали результатом достижений электротехники и физики.
Информационные системы управления, первоначально называвшиеся системами обработки данных, предоставили ранние идеи, на основе которых развились различные концепции информатики, такие как сортировка, поиск, базы данных, поиск информации и графические пользовательские интерфейсы. В крупных корпорациях размещались компьютеры, на которых хранилась информация, необходимая для ведения бизнеса: начисление заработной платы, бухгалтерский учет, управление запасами, контроль производства, отгрузка и получение.
Теоретическая работа над вычислительностью, начавшаяся в 1930-х годах, обеспечила необходимое распространение этих достижений на проектирование целых машин; важной вехой стала спецификация машины Тьюринга (теоретическая вычислительная модель, которая выполняет инструкции, представленные в виде последовательности нулей и единиц) в 1936 году британским математиком Аланом Тьюрингом и его доказательство вычислительной мощности модели. Еще одним прорывом стала концепция компьютера с хранимой в памяти программой, которую обычно приписывают американскому математику венгерского происхождения Джону фон Нейману. Это истоки области информатики, которая позже стала известна как архитектура и организация.
В 1950-х годах большинство пользователей компьютеров работали либо в научно-исследовательских лабораториях, либо в крупных корпорациях. Первая группа использовала компьютеры для выполнения сложных математических расчетов (например, траектории ракет), в то время как вторая группа использовала компьютеры для управления большими объемами корпоративных данных (например, платежных ведомостей и запасов). Обе группы быстро поняли, что писать программы на машинном языке нулей и единиц непрактично и ненадежно. Это открытие привело к разработке языка ассемблера в начале 1950-х годов, который позволяет программистам использовать символы для инструкций (например, ADD для сложения) и переменных (например, X). Другая программа, известная как ассемблер, переводила эти символические программы в эквивалентную двоичную программу, шаги которой компьютер мог выполнять или «выполнять».
Другие элементы системного программного обеспечения, известные как связывающие загрузчики, были разработаны для объединения фрагментов собранного кода и загрузки их в память компьютера, где они могли выполняться. Концепция связывания отдельных частей кода была важна, поскольку позволяла повторно использовать «библиотеки» программ для выполнения общих задач. Это был первый шаг в развитии области компьютерных наук, называемой разработкой программного обеспечения.
Позже, в 1950-х годах, язык ассемблера оказался настолько громоздким, что разработка языков высокого уровня (более близких к естественным языкам) стала поддерживать более простое и быстрое программирование. FORTRAN стал основным языком высокого уровня для научного программирования, а COBOL стал основным языком для бизнес-программирования. Эти языки несли с собой потребность в другом программном обеспечении, называемом компилятором, которое переводит программы на языке высокого уровня в машинный код. По мере того, как языки программирования становились все более мощными и абстрактными, создание компиляторов, создающих высококачественный машинный код и эффективных с точки зрения скорости выполнения и использования памяти, стало сложной задачей в области информатики. Разработка и реализация языков высокого уровня лежит в основе области компьютерных наук, называемой языками программирования.
Расширение использования компьютеров в начале 1960-х послужило толчком к разработке первых операционных систем, которые состояли из системно-резидентного программного обеспечения, которое автоматически обрабатывало ввод и вывод, а также выполняло программы, называемые «заданиями». Потребность в более совершенных вычислительных методах привела к возрождению интереса к численным методам и их анализу, и эта деятельность распространилась настолько широко, что стала известна как вычислительная наука.
В 1970-х и 80-х годах появились мощные компьютерные графические устройства, как для научного моделирования, так и для других видов визуальной деятельности. (Компьютерные графические устройства были представлены в начале 1950-х годов с отображением грубых изображений на бумажных графиках и экранах электронно-лучевых трубок [ЭЛТ].) Дорогое оборудование и ограниченная доступность программного обеспечения не позволяли этой области расти до начала 1980-х годов, когда компьютерная память, необходимая для растровой графики (в которой изображение состоит из маленьких прямоугольных пикселей), стала более доступной. Технология растровых изображений вместе с экранами с высоким разрешением и разработкой графических стандартов, которые делают программное обеспечение менее зависимым от машин, привели к взрывному росту этой области. Поддержка всех этих видов деятельности превратилась в область информатики, известную как графика и визуальные вычисления.
С этой областью тесно связано проектирование и анализ систем, которые напрямую взаимодействуют с пользователями, выполняющими различные вычислительные задачи. Эти системы получили широкое распространение в 1980-х и 90-х годах, когда линейное взаимодействие с пользователями было заменено графическими пользовательскими интерфейсами (GUI). Дизайн графического пользовательского интерфейса, который впервые был разработан Xerox, а затем был подхвачен Apple (Macintosh) и, наконец, Microsoft (Windows), важен, поскольку он представляет собой то, что люди видят и делают, взаимодействуя с вычислительным устройством. Разработка подходящих пользовательских интерфейсов для всех типов пользователей превратилась в область информатики, известную как взаимодействие человека с компьютером (HCI).
Xerox Alto был первым компьютером, в котором для управления системой использовались графические значки и мышь — первый графический интерфейс пользователя (GUI).
Область компьютерной архитектуры и организации также претерпела значительные изменения с тех пор, как в 1950-х годах были разработаны первые компьютеры с хранимой в памяти программой. В 1960-х годах появились так называемые системы с разделением времени, позволяющие нескольким пользователям запускать программы одновременно с разных терминалов, жестко подключенных к компьютеру. В 1970-е годы были разработаны первые глобальные компьютерные сети (WAN) и протоколы для передачи информации на высоких скоростях между компьютерами, разделенными большими расстояниями. По мере развития этих видов деятельности они объединились в область компьютерных наук, называемую сетями и коммуникациями. Крупным достижением в этой области стало развитие Интернета.
Идея о том, что инструкции и данные могут храниться в памяти компьютера, имела решающее значение для фундаментальных открытий, касающихся теоретического поведения алгоритмов. То есть такие вопросы, как «Что можно/нельзя вычислить?» были официально рассмотрены с использованием этих абстрактных идей. Эти открытия положили начало области информатики, известной как алгоритмы и сложность. Ключевой частью этой области является изучение и применение структур данных, подходящих для различных приложений. Структуры данных, наряду с разработкой оптимальных алгоритмов для вставки, удаления и поиска данных в таких структурах, являются серьезной проблемой для ученых-компьютерщиков, поскольку они так интенсивно используются в компьютерном программном обеспечении, особенно в компиляторах, операционных системах, файловых системах и т. д. и поисковые системы.
В 1960-х годах изобретение накопителей на магнитных дисках обеспечило быстрый доступ к данным, расположенным в произвольном месте на диске. Это изобретение привело не только к более продуманным файловым системам, но и к развитию баз данных и систем поиска информации, которые позже стали необходимы для хранения, поиска и передачи больших объемов и разнообразных данных через Интернет. Эта область информатики известна как управление информацией.
Еще одной долгосрочной целью исследований в области компьютерных наук является создание вычислительных машин и роботизированных устройств, способных выполнять задачи, которые обычно считаются требующими человеческого интеллекта. К таким задачам относятся движение, зрение, слух, речь, понимание естественного языка, мышление и даже проявление человеческих эмоций. Область информатики интеллектуальных систем, первоначально известная как искусственный интеллект (ИИ), на самом деле возникла еще до появления первых электронных компьютеров в 1940-х годах, хотя термин искусственный интеллект появился только в 1956 году.
Три достижения в области вычислительной техники в начале 21 века — мобильные вычисления, клиент-серверные вычисления и взлом компьютеров – способствовали появлению трех новых областей компьютерных наук: разработка на основе платформ, параллельные и распределенные вычисления, и обеспечение безопасности и информации. Платформенная разработка — это изучение особых потребностей мобильных устройств, их операционных систем и их приложений. Параллельные и распределенные вычисления касаются разработки архитектур и языков программирования, которые поддерживают разработку алгоритмов, компоненты которых могут работать одновременно и асинхронно (а не последовательно), чтобы лучше использовать время и пространство. Безопасность и обеспечение информации связаны с проектированием вычислительных систем и программного обеспечения, которые защищают целостность и безопасность данных, а также конфиденциальность лиц, для которых эти данные характерны.
Наконец, особую озабоченность компьютерных наук на протяжении всей их истории вызывает уникальное общественное влияние, которое сопровождает исследования в области компьютерных наук и технологические достижения. Например, с появлением Интернета в 1980-х разработчикам программного обеспечения необходимо было решить важные вопросы, связанные с информационной безопасностью, личной конфиденциальностью и надежностью системы. Кроме того, вопрос о том, является ли программное обеспечение интеллектуальной собственностью, и связанный с ним вопрос «Кому оно принадлежит?» породила совершенно новую правовую область лицензирования и стандартов лицензирования, которые применялись к программному обеспечению и связанным с ним артефактам. Эти и другие проблемы составляют основу социальных и профессиональных проблем информатики, и они появляются почти во всех других областях, указанных выше.
Подводя итог, можно сказать, что дисциплина компьютерных наук превратилась в следующие 15 отдельных областей:
Читайте также: