Главная/SEO/Компьютерные сети: устройство, виды и передача данных

Компьютерные сети: устройство, виды и передача данных

ВВиталий ГротОпубликовано 6 октября 202616 мин22 509 знаков
Коммутатор соединяет ноутбук, сервер и точку беспроводного доступа
* Учебная иллюстрация: центральный коммутатор связывает устройства локальной сети. Создано с помощью ИИ.

Сеть соединяет устройства, чтобы они обменивались данными: открывали сайты, передавали файлы, печатали документы. Разберём путь запроса от ноутбука до сервера и термины, которые помогают этот путь понять и проверить.

Из чего состоит сеть

Компьютерная сеть — связанные устройства и правила их обмена. Узел — участник сети; хост — конечная система, например ноутбук или сервер. Интерфейс — точка подключения: Ethernet, Wi-Fi или программный адаптер. У одного хоста бывает несколько интерфейсов и адресов.

Протокол определяет формат сообщений и порядок действий. Трафик — передаваемые данные. Интернет связывает множество самостоятельных сетей; Всемирная паутина, или Web, — работающая поверх него система сайтов.

В модели клиент–сервер клиент запрашивает услугу, сервер отвечает. Это роли программ: одна машина может выполнять обе. В P2P (peer-to-peer, равноправный обмен) участники предоставляют ресурсы друг другу; отдельный сервис поиска участников при этом возможен.

Виды сетей: масштаб, среда и топология

Классификации отвечают на разные вопросы. Масштаб показывает охват, среда — способ передачи, топология — расположение связей. Одна сеть получает характеристики по каждой оси.

Классификация по охвату; границы условны, универсальных порогов в километрах нет

ТипРасшифровкаЧто объединяет
PANPersonal Area Network — персональнаяУстройства одного человека, например телефон и наушники
LANLocal Area Network — локальнаяДом, офис, отдельную площадку
CANCampus Area Network — кампуснаяНесколько зданий одной организации; здесь CAN не означает автомобильную шину
MANMetropolitan Area Network — городскаяПлощадки в пределах городской территории
WANWide Area Network — территориально распределённаяУдалённые площадки через сети операторов

Проводные соединения используют медный кабель или оптоволокно; беспроводные — радиоканал. WLAN (Wireless LAN, беспроводная локальная сеть) — разновидность LAN по среде передачи. Wi-Fi относится к технологиям WLAN; мобильная сеть оператора устроена иначе. Сети часто объединяют обе среды. Подробнее: IBM о сетевой инфраструктуре.

Топологии: способы соединения узлов

ТопологияУстройство связейПрактическое следствие
ЗвездаЛинии сходятся к центральному узлуОбрыв одной линии изолирует её участника; центр требует защиты
ШинаУчастники используют общую линиюОбщая среда и её неисправности затрагивают многих
КольцоСоседи образуют замкнутый контурПереживание обрыва зависит от резервирования и протокола
Mesh — ячеистаяНесколько взаимных связей; полная или частичная сеткаВозможны обходные пути, но растут число связей и сложность

Физическая топология описывает реальные соединения, логическая — движение данных. Они могут различаться. Подробнее: IBM о топологиях.

Четыре топологии: звезда с центральным узлом, общая шина, замкнутое кольцо и полная ячеистая сеть
* Схема сравнивает расположение связей: в звезде есть центр, в шине — общая линия, в кольце — замкнутый контур, в полной mesh каждый узел связан с каждым.

Какое устройство за что отвечает

Сетевые устройства и их основные функции

УстройствоФункцияОтличие
NIC (Network Interface Card) — сетевой адаптерПодключает хост к среде передачиБывает встроенным, внешним, виртуальным
Switch — коммутаторПересылает кадры внутри локального сегментаОбычная коммутация опирается на таблицу MAC-адресов
Router — маршрутизаторПередаёт IP-пакеты между сетямиВыбирает следующий участок по таблице маршрутов
AP (Access Point) — точка доступаПодключает Wi-Fi-клиентов к сетиСама по себе не обязана маршрутизировать
Modem — модемПреобразует сигналы для линии связиНапример, для DSL или кабельного доступа
Firewall — межсетевой экранРазрешает и запрещает трафик по правиламМожет быть программой на хосте или сетевым устройством

Домашний «роутер» часто объединяет маршрутизатор, коммутатор, точку доступа и межсетевой экран. Это несколько функций в одном корпусе. Существуют также коммутаторы с маршрутизацией. Cisco: основы сетевого оборудования.

Путь пакета: ноутбук, домашний роутер, сеть провайдера, сервер сайта
* Учебная схема межсетевого пути без NAT и промежуточных коммутаторов. IP назначения сохраняет смысл, а канальная оболочка меняется на маршрутизаторах.

OSI и TCP/IP: зачем нужны уровни

OSI (Open Systems Interconnection, взаимодействие открытых систем) — модель разделения сетевых задач. Она помогает локализовать проблему: наличие сигнала ещё не означает, что работает DNS или сайт.

Семь уровней OSI сверху вниз

УровеньОсновная задачаОриентир
7. ПрикладнойСетевые услуги приложениямHTTP, DNS, SMTP
6. ПредставленияФорматы, кодирование, преобразование данныхПредставление содержимого
5. СеансовыйУправление диалогом и сеансамиОрганизация взаимодействия
4. ТранспортныйОбмен между конечными процессамиTCP, UDP, порты
3. СетевойАдресация и передача между сетямиIP, маршрутизация
2. КанальныйПередача кадров в пределах линии/сегментаEthernet, MAC
1. ФизическийПередача битов сигналамиКабель, оптика, радио

TCP/IP — семейство интернет-протоколов и модель их организации. В четырёхуровневом варианте выделяют прикладной, транспортный, межсетевой и канальный уровни. В учебной пятиуровневой версии физический выделяют отдельно. Сопоставление с OSI приблизительно: реальные протоколы не обязаны укладываться в семь отдельных реализаций. Основа разделения: RFC 1122.

Кадр — блок данных канального уровня; IP-пакет — блок с IP-заголовком и полезной нагрузкой; UDP-дейтаграмма — отдельное транспортное сообщение. TCP передаёт поток байтов, разбивая его на сегменты.

Инкапсуляция — добавление служебной информации: данные приложения помещаются в TCP-сегмент или UDP-дейтаграмму, затем в IP-пакет, затем в кадр. Кадр передаётся сигналами. Получатель выполняет обратную обработку — декапсуляцию. На маршрутизаторе канальная оболочка заменяется для следующей линии.

Сопоставление семи уровней OSI и четырёх уровней TCP/IP
* Учебное сопоставление моделей. Это схема функций, а не обязательная архитектура каждой программы.

MAC, IP, подсети и шлюз

MAC-адрес — канальный адрес интерфейса, используемый, например, в Ethernet. Он может назначаться программно и меняться; считать его вечным идентификатором человека или устройства нельзя. IP-адрес участвует в адресации между сетями. IPv4 использует 32 бита, IPv6 — 128; пример записи IPv6: 2001:db8::10*. Подробнее: спецификация IPv6.

Частные IPv4-адреса предназначены для внутренних сетей: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16. Они не маршрутизируются как глобальные адреса в публичном интернете. Публичный адрес может участвовать в глобальной маршрутизации, но доступность службы дополнительно зависит от маршрутов и правил доступа. Не каждый адрес вне частных диапазонов публичный: есть другие специальные диапазоны. RFC 1918.

CIDR (Classless Inter-Domain Routing, бесклассовая междоменная маршрутизация) задаёт адресный блок через длину префикса. Подсеть объединяет адреса с общим префиксом. Запись /24 означает 24 фиксированных бита из 32. В обычной IPv4-подсети 192.168.1.0/24* содержится 256 адресов: .0 — адрес сети, .255 — широковещательный, .1–.254 — адреса хостов. Расчёт: 2^(32 − 24) = 256. Правило «минус два» не универсально для всех префиксов и IPv6. RFC 4632.

Шлюз по умолчанию — следующий маршрутизатор для направлений, которым не найден более конкретный маршрут. Для соседа в своей подсети хост обычно обращается напрямую; для удалённого адреса отправляет кадр шлюзу. Поэтому MAC назначения на первом участке принадлежит шлюзу, а IP назначения — удалённому получателю.

ARP (Address Resolution Protocol, разрешение адресов) находит канальный адрес соседа по IPv4 в локальной сети. IPv6 использует NDP (Neighbor Discovery Protocol, обнаружение соседей), который также помогает обнаруживать маршрутизаторы. RFC 826, RFC 4861.

Маршрутизация, VLAN и NAT

Маршрутизация выбирает следующий переход по адресу назначения. Статический маршрут задаёт администратор; при динамической маршрутизации устройства обмениваются сведениями о доступных путях. OSPF (Open Shortest Path First, открытый протокол выбора кратчайшего пути) рассчитывает маршруты внутри автономной системы. BGP (Border Gateway Protocol, протокол пограничных шлюзов) связывает автономные системы и учитывает маршрутную политику. Автономная система — группа сетей с общей политикой маршрутизации. BGP не ищет просто минимальную задержку. OSPF, BGP.

RIP (Routing Information Protocol, протокол маршрутной информации) — ещё один протокол внутренней маршрутизации из конспекта. Он использует число переходов как метрику. Метрика — величина, по которой протокол сравнивает пути. RIP версии 2.

VLAN (Virtual LAN, виртуальная локальная сеть) логически разделяет канальную сеть на широковещательные домены. Broadcast domain — область распространения широковещательных кадров. Для связи разных VLAN требуется маршрутизация; разрешения задают отдельными правилами доступа. Cisco: маршрутизация между VLAN.

NAT (Network Address Translation, преобразование сетевых адресов) меняет адреса в пакетах. PAT/NAPT дополнительно преобразует порты: несколько внутренних клиентов могут пользоваться одним внешним IPv4. NAT решает задачу преобразования адресов; firewall — задачу допуска трафика. Настраивать их следует отдельно. RFC 3022.

CGNAT (Carrier-Grade NAT, операторский NAT) позволяет провайдеру разделять публичные адреса между абонентами. Для общего адресного пространства выделен диапазон 100.64.0.0/10; он отличается от частных диапазонов RFC 1918. Проброс порта только на домашнем роутере не создаёт входящий маршрут через NAT провайдера. RFC 6598.

DNS и DHCP: имена и автоматическая настройка

DNS (Domain Name System, система доменных имён) хранит распределённые записи об именах. Рекурсивный резолвер ищет ответ для клиента; авторитетный сервер отвечает за записи своей зоны. Кэш сохраняет ответы на ограниченное время.

Основные типы DNS-записей

ТипСодержимое
AIPv4-адрес
AAAAIPv6-адрес
CNAMEДругое доменное имя — каноническая цель псевдонима
MXПочтовый сервер и его приоритет
NSАвторитетный сервер имён зоны

TTL (Time to Live, время жизни) DNS-записи ограничивает её кэширование в секундах. Это иной смысл, чем TTL IPv4, уменьшаемый при прохождении маршрутизаторов. DNS использует и UDP, и TCP. RFC 1035, записи AAAA.

DHCP (Dynamic Host Configuration Protocol, динамическая настройка хоста) выдаёт параметры IPv4: адрес, маску, шлюз, DNS. Начальный обмен часто описывают как DORA: Discover — поиск, Offer — предложение, Request — запрос, ACK — подтверждение. Адрес выдаётся в аренду; её продление не повторяет все начальные шаги. Это описание DHCP для IPv4; настройка IPv6 устроена иначе. RFC 2131.

В IPv6 применяют SLAAC (Stateless Address Autoconfiguration, автоматическая настройка адреса без состояния на сервере) и DHCPv6. Они могут дополнять друг друга; сведения о маршрутизаторе обычно приходят в его объявлениях. SLAAC, DHCPv6.

Для защиты запросов к резолверу существуют DoT (DNS over TLS, DNS через TLS) и DoH (DNS over HTTPS, DNS через HTTPS). Они шифруют участок до выбранного резолвера; это не шифрование всего интернет-трафика. DoT, DoH.

Обмен DHCP между клиентом и сервером: Discover, Offer, Request, ACK
* Схема начального DHCP-обмена: клиент ищет сервер, получает предложение, запрашивает параметры и принимает подтверждение аренды.

TCP, UDP, QUIC и порты

Два базовых транспортных протокола

ПротоколЧто обеспечиваетО чём помнить
TCP — Transmission Control Protocol, протокол управления передачейУпорядоченный поток байтов, подтверждения, повторную передачу, управление потоком и перегрузкойРаботает с соединением; сам по себе не шифрует
UDP — User Datagram Protocol, протокол пользовательских дейтаграммПередачу отдельных дейтаграмм с минимальным транспортным механизмомСам не гарантирует доставку, порядок или повторную передачу

Обычное установление TCP-соединения: SYN → SYN+ACK → ACK. Надёжность не означает бесконечную доставку: при неустранимой проблеме соединение завершается ошибкой. UDP не «всегда быстрее»: результат зависит от приложения и сети. Источники: TCP, UDP.

QUIC — защищённый транспорт поверх UDP с независимыми потоками и восстановлением потерянных данных. На нём работает HTTP/3. Поэтому использование UDP не означает отсутствия надёжности у протокола, построенного сверху. Видео также может передаваться через TCP. RFC 9000, HTTP/3.

Порт — 16-битный номер транспортной конечной точки; диапазон 0–65535, назначение зависит и от TCP/UDP. Сокет — программный объект сетевого обмена. Его локальный адрес обычно описывают сочетанием IP и порта; TCP-соединение различают по адресам и портам обеих сторон.

Типичные порты служб: соглашения, а не способ гарантированно определить содержимое

СлужбаПорт / транспортНазначение
HTTP80 / TCPВеб без защиты TLS
HTTPS443 / TCP; 443 / UDP для HTTP/3Защищённый веб
DNS53 / UDP и TCPОбмен DNS-сообщениями
SSH22 / TCPЗащищённый удалённый доступ
SMTP25 / TCPПередача почты между серверами
PostgreSQL5432 / TCPПодключение к базе данных

Службу можно перенастроить. Зарегистрированные назначения публикует IANA.

HTTP (Hypertext Transfer Protocol, протокол передачи гипертекста) — протокол запросов и ответов: GET запрашивает представление ресурса, POST передаёт данные на обработку, PUT создаёт или заменяет состояние, DELETE запрашивает удаление. Коды 1xx информационные, 2xx обозначают успех, 3xx — перенаправление и связанные механизмы, 4xx — ошибки запроса, 5xx — ошибки сервера. RFC 9110.

TLS (Transport Layer Security, защита транспортного уровня) обеспечивает конфиденциальность и целостность обмена, а также проверку подлинности стороны по принятой модели доверия. HTTPS — защищённое использование HTTP. Сертификат подтверждает связь с именем сайта, но не добросовестность его владельца. TLS 1.3.

Протоколы приложений из конспекта

Прикладной протокол задаёт смысл обмена. Передача писем, работа с файлами и управление звонком требуют разных сообщений, хотя используют одну IP-сеть.

Прикладные протоколы: задачи и различия

ПротоколРасшифровка и задачаОтличие
SMTPSimple Mail Transfer Protocol — простой протокол передачи почтыОтправляет письма, а не синхронизирует папки
POP3Post Office Protocol — протокол получения почты, версия 3Получает сообщения с сервера; удаление зависит от режима клиента
IMAPInternet Message Access Protocol — протокол доступа к сообщениямПозволяет работать с почтовыми ящиками и состоянием сообщений на сервере
SMBServer Message Block — протокол доступа к общим файлам и ресурсамОткрывает сетевые ресурсы, а не рабочий стол
RDPRemote Desktop Protocol — протокол удалённого рабочего столаПередаёт изображение интерфейса и пользовательский ввод
SIPSession Initiation Protocol — протокол установления сеансаУправляет сеансом связи; сам не служит основным потоком звука
SSHSecure Shell — защищённая оболочкаОбеспечивает защищённый удалённый вход и другие каналы обмена

Документация: SMTP, POP3, IMAP, SMB, RDP, SIP.

Что происходит при открытии сайта

  1. Компьютер получает сетевые параметры автоматически или из ручной настройки.
  2. Браузер узнаёт IP по имени через DNS; готовый ответ может быть в кэше.
  3. ОС выбирает маршрут и определяет канальный адрес следующего соседа.
  4. Для HTTPS поверх TCP устанавливаются TCP-соединение и TLS; HTTP/3 использует QUIC.
  5. Запрос проходит через локальную сеть и маршрутизаторы; на границе IPv4 может применяться NAT.
  6. Сервер отвечает. Браузер обрабатывает HTML и запрашивает необходимые изображения, стили и сценарии.

* Это учебная последовательность. Кэш, повторное использование соединений и параллельные запросы меняют число сетевых обменов.

Скорость — несколько разных показателей

Что измерять при оценке связи

ПоказательЗначениеЕдиница
Bandwidth — пропускная способностьВозможная скорость передачи на участкебит/с
Throughput — фактическая скоростьРеально переданный объём за время; полезные данные отдельно называют goodputбит/с
Latency — задержкаВремя прохождения; RTT — путь туда и обратномс
Jitter — вариация задержкиНасколько меняется время доставкимс
Packet loss — потери пакетовДоля пакетов, не дошедших при заданном измерении%

Mbps — мегабиты в секунду, MB/s — мегабайты в секунду. В байте восемь бит. Учебный пересчёт*: 100 Мбит/с ÷ 8 = 12,5 МБ/с до учёта служебных данных. Это не измерение скорости скачивания. На результат влияют Wi-Fi, загрузка линии, сервер и ограничения устройств.

MTU (Maximum Transmission Unit, максимальный размер передаваемого блока) ограничивает размер пакета на линии; несогласованность размеров может мешать передаче. QoS (Quality of Service, управление качеством обслуживания) задаёт приоритеты трафику, но не создаёт дополнительную пропускную способность.

Как сети стали интернетом

  • 1969: к концу года начальная ARPANET объединила четыре хоста.
  • 1973: в Xerox PARC появился Ethernet; в июне 1983 года его приняли как стандарт IEEE.
  • 1 января 1983: ARPANET перешла с NCP на TCP/IP.
  • 1989: Тим Бернерс-Ли предложил Web в CERN. 30 апреля 1993 года CERN передал программное обеспечение Web в общественное достояние.

Эта история различает три линии развития: локальную связь, объединение сетей и веб-приложения. Источники дат: Internet Society, IEEE, CERN.

Популярные вопросы

Подключение к точке доступа подтверждает только местную связь. Возможны проблемы адресации, шлюза, DNS или линии провайдера.

Да. Доступ к местному серверу или принтеру не требует выхода во внешнюю сеть, если само приложение от него не зависит.

Адреса относятся к интерфейсам; одновременно могут работать Ethernet, Wi-Fi, IPv4 и IPv6. Один интерфейс тоже может иметь несколько адресов.

Это может изменить время поиска адреса. Пропускную способность линии такая настройка непосредственно не повышает.

Нет. «Публичный» описывает область использования адреса, «статический» — способ его закрепления. Частный адрес тоже бывает статическим.

Пропускная способность и RTT — разные величины. Длинный маршрут или очередь пакетов сохраняют задержку и при высокой скорости линии.

IP адресует сетевую конечную систему, а порт помогает направить транспортный обмен нужному процессу.

Сам адрес этого не доказывает: MAC меняется, IP бывает общим, динамическим или связанным с промежуточным узлом.

ICMP (Internet Control Message Protocol, протокол управляющих сообщений интернета), используемый ping, может фильтроваться. Доступность HTTPS следует проверять отдельно.

Один из способов — VPN. Его устройство, разновидности и ограничения разобраны в отдельной статье о VPN.

Диагностика: от линии к приложению

Проверяйте один участок за раз. Сначала установите масштаб: не работает один сайт, одно устройство или вся сеть.

  1. Линия: проверьте кабель, состояние адаптера, подключение к нужной Wi-Fi-сети.
  2. Адресация: в Windows выполните ipconfig /all; посмотрите адрес, маску, шлюз, DNS.
  3. Локальная связь: проверьте ping до своего шлюза; отсутствие ответа само по себе не доказывает обрыв.
  4. Имя и служба: nslookup example.com проверяет DNS, Test-NetConnection example.com -Port 443 — TCP-подключение к HTTPS-порту.
  5. Маршрут: tracert example.com показывает отвечающие промежуточные узлы. Звёздочки могут означать фильтрацию диагностических ответов.

* Домен в командах — учебный; замените его проверяемым именем. Успешный TCP-тест ещё не проверяет TLS и содержимое сайта. Документация Microsoft: ipconfig, ping, Test-NetConnection, tracert.

Источники и границы объяснения

Ссылки рядом с определениями ведут на первичные спецификации и документацию производителей. Для продолжения: адресация — RFC 1918, 4632, 8200; локальный обмен — RFC 826, 4861; настройка — RFC 2131; транспорт — RFC 9293, 768, 9000; веб — RFC 9110, 9114, 8446. Номера RFC обозначают документы, а не версии программ.

* Звёздочкой отмечены авторские учебные схемы, расчёты и сценарии: они синтезированы из описанных механизмов, а не сняты с конкретной сети. Их задача — объяснение; статистическая точность не измерялась. Реальная конфигурация, топология и показатели конкретной сети здесь не исследовались.

Продолжить: как устроен VPN.

Источники
  1. https://www.ibm.com/think/topics/network-infrastructure
  2. https://www.ibm.com/think/topics/network-topology
  3. https://www.cisco.com/site/us/en/learn/topics/small-business/networking-basics.html
  4. https://www.rfc-editor.org/rfc/rfc1122
  5. https://www.rfc-editor.org/rfc/rfc8200
  6. https://www.rfc-editor.org/rfc/rfc1918
  7. https://www.rfc-editor.org/rfc/rfc4632
  8. https://www.rfc-editor.org/rfc/rfc826
  9. https://www.rfc-editor.org/rfc/rfc4861
  10. https://datatracker.ietf.org/doc/html/rfc2328
  11. https://datatracker.ietf.org/doc/html/rfc4271
  12. https://www.rfc-editor.org/rfc/rfc2453.html
  13. https://www.cisco.com/en/US/docs/ios/lanswitch/configuration/guide/lsw_rtng_vlan_ovw_ps6350_TSD_Products_Configuration_Guide_Chapter.html
  14. https://www.rfc-editor.org/rfc/rfc3022
  15. https://www.rfc-editor.org/rfc/rfc6598.html
  16. https://www.rfc-editor.org/rfc/rfc1035
  17. https://www.rfc-editor.org/rfc/rfc3596
  18. https://www.rfc-editor.org/rfc/rfc2131
  19. https://www.rfc-editor.org/rfc/rfc4862.html
  20. https://www.rfc-editor.org/rfc/rfc8415.html
  21. https://www.rfc-editor.org/rfc/rfc7858.html
  22. https://www.rfc-editor.org/rfc/rfc8484.html
  23. https://www.rfc-editor.org/rfc/rfc9293
  24. https://www.rfc-editor.org/rfc/rfc768
  25. https://www.rfc-editor.org/rfc/rfc9000
  26. https://www.rfc-editor.org/rfc/rfc9114
  27. https://www.iana.org/assignments/service-names-port-numbers
  28. https://datatracker.ietf.org/doc/html/rfc9110
  29. https://www.rfc-editor.org/rfc/rfc8446
  30. https://www.rfc-editor.org/rfc/rfc5321.html
  31. https://www.rfc-editor.org/rfc/rfc1939.html
  32. https://www.rfc-editor.org/rfc/rfc9051.html
  33. https://learn.microsoft.com/en-us/windows-server/storage/file-server/file-server-smb-overview
  34. https://learn.microsoft.com/en-us/windows/win32/termserv/remote-desktop-protocol
  35. https://www.rfc-editor.org/rfc/rfc3261.html
  36. https://www.internetsociety.org/internet/history-internet/brief-history-internet/
  37. https://standards.ieee.org/beyond-standards/ethernet-50th-anniversary/
  38. https://home.cern/science/computing/the-birth-of-the-web/
  39. https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/ipconfig
  40. https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/ping
  41. https://learn.microsoft.com/en-us/powershell/module/nettcpip/test-netconnection
  42. https://learn.microsoft.com/en-us/troubleshoot/windows-server/networking/trace-route-troubleshoot-tcp-ip-problems