Основы сетевых технологий
Терминология
Прежде чем мы погрузимся в эту концепцию, давайте сначала разберёмся в терминологии, используемой в сетевых технологиях. Ниже перечислены наиболее распространённые термины, используемые в сетевых технологиях:
- Соединение: В сетевых технологиях соединение относится к передаче связанной информации через сеть. Соединение обычно устанавливается перед передачей данных и может быть ликвидировано по окончании передачи в соответствии с установленными протоколами.
- Пакет: Наименьшая единица данных, передаваемых по сети, называется пакетом. Пакеты действуют как оболочки, которые переносят данные от одной конечной точки к другой. Заголовок пакета содержит такую информацию, как источник и пункт назначения, временные метки, сетевые переходы и т.д. Основная часть пакета, также известная как полезная нагрузка, содержит фактические передаваемые данные.
- Сетевой интерфейс: Сетевой интерфейс относится к любому программному интерфейсу, который подключается к сетевому оборудованию. Например, если компьютер имеет две сетевые карты, то каждый сетевой интерфейс, связанный с ними, может управляться и настраиваться индивидуально. Сетевой интерфейс может быть связан с физическим устройством или виртуальным интерфейсом, например, устройством
loopback
. - LAN: LAN означает
локальная сеть
и относится к сети или части сети, которая не является общедоступной для Интернета. Домашняя или офисная сеть является примером локальной сети. - WAN: WAN означает
глобальная сеть
и относится к сети, которая больше, чем LAN. Этот термин часто используется для описания Интернета в целом. - Протокол: Протокол — это набор правил и стандартов, определяющих язык общения устройств. В сетях используется множество протоколов, часто реализованных на разных уровнях. Некоторые низкоуровневые протоколы включают TCP, UDP, IP и ICMP. Примерами протоколов прикладного уровня, построенных на этих низших протоколах, являются HTTP, SSH и TLS/SSL.
- Порт: Порт — это адрес на одной машине, который может быть связан с определённым программным обеспечением. Он не является физическим интерфейсом или местом, но позволяет серверу взаимодействовать с несколькими приложениями. Например, веб-сервер может прослушивать порт 80 для HTTP-запросов и порт 22 для SSH-соединений.
- Брандмауэр: Брандмауэр — это программа, которая контролирует входящий и исходящий трафик на сервере. Он создаёт правила для того, какой тип трафика разрешён на тех или иных портах, и обычно блокирует порты, которые не используются определённым приложением на сервере.
- NAT: NAT означает
трансляция сетевых адресов
и представляет собой способ переупаковки и отправки входящих запросов на сервер маршрутизации соответствующим устройствам или серверам в локальной сети. Это часто используется в физических локальных сетях для маршрутизации запросов через один IP-адрес на необходимые внутренние серверы. - VPN: VPN означает
виртуальная частная сеть
и позволяет отдельным локальным сетям соединяться через Интернет, сохраняя конфиденциальность. Это часто используется для подключения удалённых систем, как если бы они находились в локальной сети, в целях безопасности.
Этот список не является исчерпывающим, и другие термины будут объясняться по мере их появления. Понимание этих высокоуровневых понятий поможет при обсуждении последующих тем.
Сетевые уровни
Сетевая коммуникация построена по слоям, при этом несколько технологий и протоколов работают вместе в рамках компьютера или сети. Такой многоуровневый подход позволяет эффективно передавать данные и использовать нижние уровни для новых целей. Язык, используемый для описания уровней, может быть разным, но путь данных остаётся неизменным: данные проходят через уровни сверху вниз для передачи и обратно для приёма. Каждый уровень добавляет обёртку
к данным для обработки следующим уровнем.
Модель TCP/IP
Модель TCP/IP, также известная как набор протоколов Интернета, является широко принятой моделью слоёв, которая определяет четыре отдельных уровня:
- Приложение: отвечает за создание и передачу пользовательских данных между приложениями, позволяя взаимодействию выглядеть так, как будто оно происходит локально между равными.
- Транспорт: отвечает за связь между процессами и использует порты для обращения к различным службам.
- Интернет: отвечает за транспортировку данных от узла к узлу в сети, используя IP-адреса для доступа к удалённым системам.
- Связь: реализует топологию локальной сети и устанавливает соединения между соседними узлами для отправки данных.
Модель TCP/IP абстрактна и подвижна, что сделало её популярной для реализации и стало доминирующим способом категоризации сетевых уровней.
Интерфейсы
Сетевой интерфейс — это точка связи для подключения компьютера к сети. Каждый интерфейс связан с физическим или виртуальным сетевым устройством.
Как правило, сервер имеет один настраиваемый сетевой интерфейс для каждой имеющейся у него карты Ethernet или беспроводного интернета. Эти интерфейсы обычно обозначаются такими именами, как eth0
, wlan0
и т.д.
В дополнение к этим физическим интерфейсам сервер также имеет виртуальный сетевой интерфейс, называемый loopback
или localhost
. Этот интерфейс представлен IP-адресом loopback (127.0.0.1) и используется как средство связи приложений и процессов на одном компьютере друг с другом. Во многих программах этот интерфейс обозначается как lo
.
В центрах обработки данных администраторы часто настраивают один интерфейс, например eth0
, для обслуживания трафика в Интернет, а другой интерфейс, например eth1
, для локальной или частной сети. Это позволяет чётко разделить трафик и повысить безопасность. В некоторых случаях VPS будет иметь два сетевых интерфейса, eth0
будет настроен для обработки трафика из интернета, а интерфейс eth1
будет работать для связи с частной сетью.
Протоколы
Сетевые протоколы — это наборы правил, которые регулируют обмен данными между устройствами в сети. Они определяют формат пакетов данных, способ их передачи и реакцию устройств на различные типы трафика. Некоторые примеры распространённых сетевых протоколов включают:
- TCP (Transmission Control Protocol): Протокол транспортного уровня, который обеспечивает надёжную, упорядоченную доставку данных между устройствами. Он часто используется в сочетании с IP (Internet Protocol), образуя набор TCP/IP.
- UDP (User Datagram Protocol): Более простой протокол транспортного уровня, который не обеспечивает такой же уровень надёжности, как TCP. Он часто используется для приложений реального времени или в ситуациях, когда потеря данных допустима.
- IP (Internet Protocol): Протокол сетевого уровня, который обеспечивает маршрутизацию и адресацию устройств в сети. Он отвечает за перемещение пакетов данных между устройствами, используя IP-адреса.
- HTTP (Hypertext Transfer Protocol): Протокол прикладного уровня, который используется для передачи данных через Интернет. Он является основой Всемирной паутины и используется браузерами для запроса и получения веб-страниц.
- HTTPS (HTTP Secure): Расширение HTTP, использующее Transport Layer Security (TLS) или Secure Sockets Layer (SSL) для шифрования данных при передаче. Обычно используется для онлайн-транзакций и передачи других конфиденциальных данных.
- DNS (Domain Name System): Протокол прикладного уровня, который переводит доменные имена (например, www.example.com) в IP-адреса.
Заключение
К этому моменту вы должны иметь базовое представление о сетевой терминологии и о том, как различные компоненты подключаются и взаимодействуют друг с другом. Эти знания помогут вам лучше понять последующие темы.