Без понимания того, как работает интернет трудно создавать грамотные, безопасные, легко масштабируемые приложения и сервисы — это фундамент, на котором строятся программные веб-приложения.
Полезно изучить: что такое интернет; базовые понятия и термины; познакомиться с распространенными протоколами передачи данных.
Введение в интернет
Прежде чем поговорить об интернете, изучим что такое сеть.
Сеть — это группа электронных устройств, соединенных между собой. Например, дома вы пользуетесь компьютером, планшетом, телефоном и т.д., которые подключены к одной сети. У соседа похожая сеть устройств. У другого человека также и т.д. Когда эти небольшие сети соединяются в одну глобальную образуется интернет.
Интернет — это сеть сетей.
История разработки интернета точно не определена, но считается, что интернет разработан в шестидесятые годы 20 века Министерством обороны США, как средство связи без единого центра и способное пережить удар ядерной бомбы.
За прошедшие годы интернет превратился в сложную и изощрённую сеть, охватывающую весь мир —им пользуются миллиарды людей — это доступ к информации, общение, ведение бизнеса и др.
Разработчику полезно понимать как работает интернет, а также связанные с ним технологии.
Как работает интернет?
Интернет соединяет компьютеры и другие электронные устройства с помощью набора стандартизированных протоколов. Эти протоколы определяют обмен информацией, надежность и безопасность передачи данных.
Ядро интернета — это сеть взаимосвязанных маршрутизаторов, которые направляют трафик между устройствами и системами.
Когда люди отправляют что-то, например электронное письмо или файл, информация разбивается на пакеты данных, которые отправляются на маршрутизатор. Маршрутизатор проверяет каждый пакет и пересылает его следующему маршрутизатору и так далее до конечного пункта назначения.
Чтобы отправка прошла правильно и пакеты пришли по назначению разработан ряд протоколов, например, протокол интернета (IP) и протокол управления передачей (TCP). IP отвечает за маршрутизацию пакетов к месту назначения, а TCP обеспечивает надёжную передачу пакетов в правильном порядке.
Есть ряд других технологий и протоколов для связи и обмена данными, включая систему доменных имен (DNS), протокол передачи гипертекста (HTTP) и протокол Secure Sockets Layer/Transport Layer Security (SSL/TLS).
Как разработчику, вам важно понимать, как эти технологии и протоколы взаимодействую друг с другом, чтобы связь была возможна и надёжна.
Ключевые понятия и термины
- Маршрутизатор — электронное устройство, которое направляет пакеты данных между сетями;
- IP-адрес — уникальный идентификатор, который присваивается каждому устройству в сети для маршрутизации данных к нужному адресату;
- Доменное имя — человекочитаемое название сайта для его идентификации, например yandex.ru;
- DNS — система доменных имен, которая отвечает за преобразование доменных имен в IP-адреса;
- TCP (Transmission Control Protocol) — протокол управления передачей, который позволяет двум хостам создать соединение и обмениваться потоками данных, пакеты данных доставляются в том же порядке, в котором были отправлены;
- UDP (User Datagram Protocol) — пользовательский протокол дейтаграмм, это транспортный протокол для передачи данных в сетях;
- HTTP (hypertext transfer protocol) — протокол передачи гипертекста для передачи данных между клиентом (например, веб-браузером) и сервером (например, сайтом);
- HTTPS (HTTP secure) — расширенная зашифрованная версия http для более безопасной связи между клиентом и сервером;
- SSL/TLS (secure sockets layer и transport layer security) — протоколы для безопасной связи через сеть.
Понимание этих понятий и терминов необходимо разработчику интернет-приложений и сервисов.
Роль протоколов
Протоколы играют важнейшую роль для связи и обмена данными.
Протокол — это набор правил и стандартов, которые определяют процесс обмена информацией между клиентами сети.
Благодаря стандартизированным протоколам устройства и системы разных производителей взаимодействуют друг с другом.
Например, веб-браузер, разработанный одной компанией, может взаимодействовать с веб-сервером, разработанным другой компанией, при условии, что они оба придерживаются протокола HTTP или HTTPS.
Хотите заняться разработкой сайтов или веб-приложений изучите протоколы интернет-коммуникаций, чтобы понимать, как передаются данные в интернет.
Понимание IP-адресов и доменных имен
IP-адреса и доменные имена — важные понятия.
IP-адрес — это уникальный идентификатор, присваиваемый каждому устройству в сети. Нужен для маршрутизации данных к адресату — гарантирует, что информация будет отправлена по назначению.
IP-адреса обычно представляются в виде серии из четырех чисел, разделенных точками, например: «192.168.1.1».
Доменные имена — это человекочитаемые имена, которые используются для идентификации сайтов. Состоят из двух или более частей, разделённых точками. Доменные имена преобразуются в IP-адреса протоколом DNS.
DNS — это часть инфраструктуры интернета, отвечающая за преобразование доменных имен в IP-адреса. Когда вы вводите доменное имя в веб-браузер, ваш компьютер отправляет запрос на DNS-сервер, который возвращает вместо доменного имени IP-адрес, который ему соответствует.
Затем ваш компьютер использует этот IP-адрес для подключения к сайту, который вы запросили.
Введение в HTTP и HTTPS
HTTP — это протокол передачи данных между клиентом (например, веб-браузером) и сервером (например, сайтом). Когда открывается сайт, веб-браузер отправляет HTTP-запрос на сервер, запрашивая веб-страницу или другой пакет данных, который запросили.
Затем сервер отправляет клиенту HTTP-ответ, содержащий запрошенные данные.
HTTPS — это более безопасная версия HTTP, которая с помощью протоколов SSL/TLS шифрует данные, передаваемые между клиентом и сервером.
Это даёт дополнительный уровень безопасности, помогая защитить конфиденциальную информацию, например логин и пароль для входа в систему, платёжную информацию и другие личные данные.
Когда вы посещаете сайт, использующий HTTPS, в адресной строке браузера появляется значок висячего замка, указывающий на то, что соединение безопасно, при этом в начале доменного имени сайта будет написано «https» а не «http».
Создание приложений с помощью TCP/IP
TCP/IP (Transmission Control Protocol/Internet Protocol) — это базовый протокол связи, который управляет передачей данных и следит за тем, чтобы данные гарантированно достигли получателя, даже если клиенты сети работают на разном оборудовании.
Следующие понятия полезно знать, если разрабатываешь приложения, работающие с этими протоколами.
Порты идентифицируют приложения или службы, находящиеся на устройстве. Каждому приложению или службе присваивается уникальный номер порта — этот номер указывается при отправке данных, таким образом они передаются конкретному получателю.
Сокет — это комбинация IP-адреса и номера порта, представляющая собой конечную точку для связи. Сокеты устанавливают соединения между устройствами для передачи данных между приложениями, установленными на них.
Соединение устанавливается между парой сокетов, когда два клиента сети хотят взаимодействовать друг с другом. При установлении соединения устройства согласовывают параметры связи, например максимальные размеры сегмента и окна, которые определяют, как образом будут передаваться данные.
После установления соединения происходит обмен данными между приложениями, запущенными на устройствах сети. Данные обычно передаются в виде сегментов, каждый из которых содержит порядковый номер и другие метаданные.
Когда разработчик программирует приложение, работающее с TCP/IP он предусматривает взаимодействие с соответствующими портами, сокетами и соединениями.
Также полезно будет изучить необходимые протоколы и стандарты, работающие с TCP/IP: HTTP; FTP (File Transfer Protocol) — протокол передачи файлов; SMTP (Simple Mail Transfer Protocol) — простой протокол передачи почты.
Защита интернет-коммуникаций с помощью SSL/TLS
SSL/TLS — это протоколы шифрования данных. Разработан для безопасных соединений в приложениях, например в веб-браузерах, почтовых клиентах и других программах передачи файлов.
Для работы с протоколами SSL/TLS полезно изучить понятия, описанные ниже:
- Сертификаты SSL/TLS подтверждают безопасность соединения для установления доверия между клиентом и сервером. В них прописывается информация о личности сервера и удостоверяется доверенной третьей стороной (центром сертификации), подтверждающей их подлинность;
- Рукопожатие — в процессе рукопожатия SSL/TLS-клиент и сервер обмениваются данными, чтобы согласовать алгоритм шифрования и другие параметры безопасного соединения;
- Шифрование — после согласования алгоритма шифрования устанавливается безопасное соединение, данные шифруются и могут безопасно передаваться между клиентом и сервером.
Когда разрабатываешь веб-приложение или службу полезно понимать как работает SSL/TLS и предусматривать их отработку при передаче конфиденциальных данных, а также применять рекомендуемые практики настройки и защиты соединений SSL/TLS.
Также полезно убедиться в том, что на ваших серверах получены и поддерживаются действительные сертификаты.
Протоколы SSL/TLS помогают защитить данные пользователей и обеспечить конфиденциальность связи вашего приложения в сети.
Новые тенденции и технологии
Интернет совершенствуется, постоянно появляются новые технологии и тенденции. Разработчику полезно быть в курсе этих новшеств, чтобы создавать инновационные и эффективные приложения и сервисы.
Ниже список некоторых технологий, которые формируют будущее интернета:
- 5G — это технология высокоскоростных мобильных сетей через которые данные передаются с меньшей задержкой и большей емкостью по сравнению с предыдущими поколениями. Ожидается, что 5G позволит на практике реализовать такие изобретения как автономный транспорт и дистанционная хирургия;
- Интернет вещей (IoT) — это сеть физических устройств, бытовой техники, транспорта и т.д., которые подключены к интернет и самостоятельно обмениваются данными. По мере развития IoT ожидается, что благодарю ему произойдёт революционный скачок развития в здравоохранении, логистике и технологическом производстве;
- Технологии искусственного интеллекта (ИИ), например машинное обучение и обработка естественного языка, уже применяются в приложениях и услугах — от голосовых помощников до обнаружения мошенничества. Ожидается, что с развитием ИИ преобразуются такие отрасли, как здравоохранение, финансы и образование;
- Блокчейн — это технология распределенной бухгалтерской книги, обеспечивающая безопасные децентрализованные транзакции. Она реализована в разных приложениях — от криптовалют до управления цепочками поставок;
- Периферийные вычисления относятся к обработке и хранению данных на границе сети, а не в централизованных центрах обработки данных. Ожидается, что на базе периферийных вычислений будут разработаны новые варианты использования данных и новый вид приложений, такие как аналитика в реальном времени и приложения с малой задержкой.
Чтобы ваши приложения и сервисы разрабатывались, основываясь на новейших технологиях и были комфортны для пользователей оставайтесь в курсе этих и других интернет-технологий и тенденций развития.
Заключение
Это главные моменты о работе интернета, надеюсь вы понимаете, что мы не рассматривали каждый стандарт и протокол подробно, зато теперь понятно какие знания стоит подтянуть, чтобы лучше понимать структуру сетей и как они работают.
Подытожим то, что мы изучили:
- Интернет — это глобальная сеть взаимосвязанных компьютеров, использующая стандартный набор протоколов связи для обмена данными;
- Интернет работает, соединяя устройства и компьютерные системы вместе через стандартизированные протоколы, такие как IP и TCP;
- Ядро Интернета — это планетарная сеть взаимосвязанных маршрутизаторов, которые направляют трафик между электронными устройствами и системами;
- Основные понятия и терминология, которые полезно изучить: пакеты данных, маршрутизаторы, IP-адреса, доменные имена, DNS, HTTP, HTTPS и SSL/TLS;
- Протоколы играют важнейшую роль в установлении связи и обмене данными, так как через стандартизованные протоколы устройства и системы разных производителей и поставщиков взаимодействуют друг с другом.
Надеюсь, статья была полезна — благодарю за чтение!
Вольный перевод статьи: How does the Internet Work?
Аккредитации: изображения для картинок взяты на https://ru.freepik.com
Было полезно? Зашлите админу на чай с печеньками
- Маша — 20 RUB Anton — 100 RUB Anna — 120 RUB Алёна — 10 RUB Oleg — 50 RUB Макс — 10 RUB Иван — 30 RUB Nina — 80 RUB Олеся — 100 RUB Маша — 20 RUB Anton — 100 RUB Anna — 120 RUB Алёна — 10 RUB Oleg — 50 RUB Макс — 10 RUB Иван — 30 RUB Nina — 80 RUB Олеся — 100 RUB
Заранее благодарю!
Если нашли ошибку
Нашли ошибку в тексте? Выделите её мышкой и нажмите сочетание клавиш CTRL+ENTER. Я обязательно исправлю ее и вам будет приятнее читать мои тексты!
© Копирование материалов сайта
Все открытые материалы «blog.evkarn.ru», разрешается частично или полностью копировать при условии обязательной гиперссылки на первоисточник.