Что такое компьютерные сети и как их собственно понимать

chto takoe kompyuternye seti i kak ih sobstvenno ponimat

автор Сумед Нимкарде

Независимо от того, вы новичок в мире разработки, занимаетесь строительством в течение длительного времени — или даже если вы просто любите компьютеры и ежедневно пользуетесь Интернетом — вы должны знать основы работы в сети и, в частности, Компьютерные сети.

Если вам нравится подробнее изучать серверы, их безопасность и то, как вы подключаетесь к своим серверам с удаленного клиента, все это требует определенных знаний о компьютерных сетях и их компонентах. Большинство тем, относящихся к компьютерным сетям, я пытался осветить в этой статье.

Кроме того, отсюда я буду называть «компьютерные сети» просто «сетями».

Давайте сначала рассмотрим мое рабочее определение компьютерных сетей:

Компьютерные сети можно определить как обмен сетевыми пакетами между вычислительными машинами по всему миру с помощью линий данных, таких как проводные кабели, оптические волокна и т.д.

The Интернет является разновидностью компьютерной сети. Сорт.

1*Q6rT_yRFlwL_kJr2P99XJw

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

Обычно используемые термины в компьютерных сетях

Узлы

Узлы в компьютерных сетях означают любые вычислительные устройства, такие как компьютеры, мобильные телефоны, планшеты и т.д.

Сетевые пакеты

Сетевые пакеты – это не что иное, как информация или единицы данных, которые узел источника хочет отправить/получить в/из узла назначения. В этой статье сетевые пакеты/пакеты данных имеют одинаковое значение.

Интернет-протокол (IP)

Подумайте, что вы хотите отправить подарок на день рождения своему другу на его день рождения, куда вы его отправите? В их адрес, да?

Так же и здесь. Первые ученые-компьютеры хотели идентифицировать компьютеры в Интернете по уникальному номеру, чем-то вроде телефонных номеров сегодня. Итак, они выдумали концепцию TCP/IP.

IP-адрес компьютера – адрес этого устройства в компьютерной сети. Технически это 32-битное число, идентифицирующее устройства в сети. Вся связь с устройства в этой сети будет производиться с точки зрения его IP-адреса.

Считайте, что вы загружаете файл на любой сайт или скажем на диск Google.

Говоря на самом низком уровне сетевой связи, ваш файл преобразуется в пакеты, и каждый пакет имеет адрес узла назначения, который является не чем иным, как IP-адресом.

На высшем уровне IP-адреса делятся на два типа:

  • IPv4: IPv4-адреса имеют 32 бита (четыре байта), как объясняется в определении. Примером адреса IPv4 может служить 104.244.42.129 который является адресом IPv4 twitter.com. Они стабильны в использовании и, следовательно, используются сегодня для идентификации машин в мире.
  • IPv6: IPv6-адреса являются достаточно новыми для мира и в основном представляют собой восемь шестнадцатеричных чисел, разделенных «:». Примером адреса IPv6 может служить 2001:0cb8:85a3:0000:0000:8a2e:0370:7334. Они нестабильны, потому еще не используются широко. Интернет все еще использует IPv4 из-за своей стабильности, и нет оценок, когда мы начнем использовать IPv6, поскольку на данный момент он не стабилен.

IPv4 классифицируется в пять классов, названных классами A, B, C, D, E.

1*Nn10SdJKJ_L2VDuQCwwHLQ
Октеты в IP-адресе.
1*W_MW72XqL54QxKaPHk54UA
Источник: tcpipguide.com

Класс А: Как показано в третьем столбце изображения выше, для IP-адресов класса A первый бит первого октета IP-адреса является постоянным и равен «0».

Во втором столбце указываются биты сети и биты хоста соответствующего класса IP-адреса. Рассмотрим, что для IP-адреса класса А у нас есть следующая формула:

Количество сетей/подсетей = 2^(# of network bits) .

Количество действительных хостов в каждой подсети = 2^(# of host bits) — 2 .

Количество сетевых битов и битов хоста определяется маской подсети по умолчанию класса IP-адреса.

Маска подсети по умолчанию для IP-адресов класса А 255.0.0.0, это 11111111.00000000.0000000.00000000. Таким образом, для класса А:

Биты сети = 8, а биты хоста = 24.

Поскольку сетевые биты = 8, Хост биты = 24, их сумма должна быть 32, поскольку IPv4-адреса имеют 32 бита. Но поскольку мы используем один бит (первый бит в первом октете) для идентификации класса:

Количество используемых сетевых битов = Количество сетевых битов — Количество постоянных битов = 8-1 = 7

Таким образом, Количество возможных сетей класса А = 2^7 — 2 = 126 и,

Количество возможных хостов (т.е. устройств, подключенных к сети) на сеть класса A = 2^24-2 = 16277214 .

Теперь, здесь, для класса А, вы можете задаться вопросом, почему я отнял дополнительные 2 от количества возможных сетей. Это потому, что для класса А 127.xyz было зарезервировано. Для других классов используется обычная формула.

Таким образом, IP-адреса класса A диапазон от 1.x.x.x к 126.x.x.x.

Класс B: подобный случай с классом B. Единственное отличие состоит в том, что 2 бита первого октета являются постоянными (10), и они определяют класс IP-адреса, который является классом B. Все остальные вычисления одинаковы, и я не упоминаю их здесь, поскольку их легко взять из таблицы выше. Они варьируются от 128.0.x.x к 191.255.x.x .

Класс C: 3 бита первого октета являются постоянными (110), и они идентифицируют класс как класс C. Они варьируются от 192.0.0.x к 223.255.255.x .

Класс D и Е: Класс D и Е используются в экспериментальных целях.

Адреса IPv4 в основном бывают двух типов:

  • Статический: Эти IP-адреса остаются неизменными для устройства со временем. Примерами этого являются удаленные серверы, которые мы используем для размещения наших программ, веб-сайтов и т.д., где мы используем клиент ssh для ssh на нашем сервере.
  • Динамический: Как правило, это IP-адреса, которые назначаются общему компьютеру в сети Интернет. Попытайтесь отключить маршрутизатор, и вы увидите изменение IP-адреса вашего компьютера! (Но только после прочтения этой статьи?). Теперь вы можете подумать, кто выделяет эти IP-адреса? Это сервер DHCP (протокол динамической конфигурации хоста), который кратко объясняется в этой статье.

Примечание: устройство может иметь несколько IP-адресов одновременно. Рассмотрим устройство, подключенное к двум сетям, Wi-Fi, а также любой локальной сети — у него будет два IP-адреса. Это означает, что IP-адреса назначаются интерфейсам, а не непосредственно компьютеру.

Ладно, пока все хорошо. Давайте продолжим.

Маршрутизаторы

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

Маршрутизаторы имеют спец «Протокол маршрутизации» определяющий формат, в котором они обмениваются данными с другим маршрутизатором или сетевыми узлами. Другими словами, протокол маршрутизации определяет, как маршрутизаторы общаются друг с другом.

Маршрутизаторы создают а «Таблица маршрутизации» определяет наиболее оптимизированные пути, которые следует использовать в сети при отправке пакетов.

1*eTows8BQKhPE8j76SNSVNA
Маршрутизатор.

Технически таблица маршрутизации – это просто таблица со списком «маршрутов» от одного маршрутизатора к другому. Каждый маршрут состоит из адресов других маршрутизаторов/узлов в сети и способов доступа к ним.

Routing table:

Destination  Gateway     Genmask        Flags Metric Refs Iface
default      192.168.0.1 0.0.0.0        UG    1024   233  eth0
192.168.0.0  *           255.255.255.0  UC    0      0    wlan0
192.168.0.0  *           255.255.255.0  UH    0      2    eth0

Выше приведен пример таблицы маршрутизации. Ключевые моменты, на которые следует обратить внимание:

  • Пункт назначения: Это IP-адрес узла назначения. Он указывает, где должен оказаться пакет сетевых данных.
  • Шлюз: Шлюз – это компонент, соединяющий две сети. Считайте, что у вас есть маршрутизатор, подключенный к другому маршрутизатору. К каждому из маршрутизаторов подключены устройства. Следовательно, адрес последнего маршрутизатора (скажем, R1), после которого сетевой пакет попадает в другую сеть (скажем, в сеть R2), называется шлюзом. Обычно шлюзы – это не что иное, как маршрутизаторы. Позвольте привести еще один пример: скажем, что ваша комната – это одна сеть, а комната вашего брата или сестры рядом с вашей – другая сеть, тогда дверь между двумя комнатами можно считать шлюзом. Люди иногда ссылаются на «маршрутизаторы” как шлюз, потому что они такие, “шлюз в другую сеть”.
  • Генмаска/маска подсети: Это не что иное, как маска сети/подсети. Маска подсети – это число, которое в сочетании с IP-адресом позволяет разделить пространство IP на все меньшие части для использования как в физических, так и в логических сетях. Объяснение того, как происходит вычисление маски подсети, выходит за рамки настоящей статьи.
  • Флаги: Различные флаги имеют разное значение. Например, в первом маршруте U в UG означает маршрут UP, тогда как G в UG означает ШЛЮЗ. Поскольку маршрут означает ШЛЮЗ, это дверь в другую сеть. Каждый раз, когда мы отправляем данные по этому маршруту, они отправляются в другую сеть.
  • Iface (сетевой интерфейс): Сетевой интерфейс относится к сети, в которой маршрут, определенный в таблице маршрутизации, содержит конечный компьютер. То есть, если вы подключены к Wi-Fi, это будет wlan, а когда вы подключены к локальной сети, тогда это будет “eth”.

Таким образом, маршрутизатор работает с помощью Протокол маршрутизации и Таблица маршрутизации.

Пока все хорошо. Но ты, должно быть, думаешь.

«Хорошо! Но эй, мы узнаем о компонентах здесь. Мне нужно сшить их вместе и узнать, как работает Интернет».

Круто! Еще несколько терминов, и вы будете иметь правильное понимание того, как все происходит.

Трансляция сетевых адресов (NAT)

Трансляция сетевых адресов – это метод, используемый маршрутизаторами для предоставления услуг Интернета большему количеству устройств с меньшим использованием общедоступных IP-адресов. Таким образом, провайдер назначает маршрутизатору один IP-адрес, и он назначает частные IP-адреса всем подключенным к нему устройствам. NAT помогает провайдерам предоставить доступ в Интернет большему числу потребителей.

Таким образом, если вы подключены к роутеру вашего дома, ваш общедоступный IP будет виден всему миру, а частный – нет. Любые передаваемые сетевые пакеты будут адресоваться вашему общедоступному IP-адресу (т.е. общедоступному IP-адресу, назначенному маршрутизатору).

1*rjlWoUU-AeshrGLt0NF1Uw
Трансляция сетевых адресов (NAT)

Рассмотрим приведенный выше рисунок. Предположим, что в вашей домашней сети вы пытаетесь получить доступ medium.com (удаленный статический IP: 72.14.204.147)с вашего компьютера (частный IP: 192.168.1.100).

Итак, для вашего компьютера соединение выглядит так:

192.168.1.100:3764172.14.204.147:80 .

«37641» — это случайный номер порта, предназначенный маршрутизатором NAT на вашем устройстве/компьютере. (Если существует сетевая связь между демонами, работающими на разных портах компьютера, NAT использует соответствующий порт). Каждое исходящее соединение получает порт, назначенный маршрутизатором NAT.

Соединение устанавливается в NAT следующим образом:

Private IP   |PrivatePort |PublicIP |PublicPort |Remote |RemotePort
------------- ------------ --------- ----------- ------- -----------
192.168.1.100 | 37641 | 104.244.42.129 | 59273 | 72.14.204.147 | 80

Но поскольку внешний мир сети не знает о вашем частном адресе, соединение выглядит следующим образом medium.com:

104.244.42.129:5927372.14.204.147:80 .

Таким образом, мы достигаем назначения большего количества IP-адресов, не тратя много общедоступных IP-адресов.

Теперь, когда media.com отправляет ответ по адресу 104.244.42.129:59273 он проходит весь путь к вашему домашнему маршрутизатору, который затем ищет соответствующий частный IP и приватный порт и перенаправляет пакет на ваше устройство/компьютер.

Примечание: NAT – это обобщенное понятие NAT можно достичь как 1:1, 1:N, где 1, N – количество IP-адресов в сети. Техника, которая называется IP Masquerading, является 1:N NAT.

Протокол динамической конфигурации хоста (DHCP)

Протокол динамической конфигурации хоста или DHCP отвечает за назначение динамических IP-адресов хостам. Сервер DHCP поддерживается провайдером или предыдущим маршрутизатором, если есть цепочка маршрутизаторов для доступа к хосту.

Таким образом, выделение IP-адресов осуществляется сервером DHCP. Как правило, провайдер поддерживает DHCP-сервер, а маршрутизаторам в наших домах назначается публичный IP-адрес с сервера DHCP.

Примечание: Каждый раз, когда маршрутизатор или, скажем, сервер DHCP, поддерживающий провайдер или маршрутизатор, перезапускается, распределение IP-адреса начинается снова, и устройствам назначаются IP-адреса, которые отличаются от предыдущих.

Система доменных имен/сервер

Мы уже обсуждали, что любая машина идентифицируется по IP-адресу.

Ладно, вы используете веб-сервер на своем localhost на вашей машине. Если бы вы рылись в хостах на любой машине с Linux, вы бы столкнулись с чем-то подобным:

127.0.0.1        localhost
255.255.255.255  broadcasthost
::1              localhost

это означает, что даже если вы печатаете 127.0.0.1 в строке URL вашего браузера это будет означать то же, что и localhost .

Подобно приведенному выше, веб-сайты, которыми вы пользуетесь ежедневно, являются веб-серверами, работающими на каком-то удаленном экземпляре/узле со статическим IP-адресом. Итак, если вы введете этот IP-адрес в строку URL вашего браузера, вы перейдете на веб-сайт?

Да, наверное будет. Но вы сверхчеловек, чтобы помнить IP-адреса тысяч сайтов?

НЕТ.

Таким образом, появляются домены, которые мы используем, например, medium.com, twitter.com, behance.net, codementor.io и т.д.

Сервер доменных имен – это сервер, имеющий огромные записи IP-адресов сопоставления доменных имен, который ищет ввод домена и возвращает соответствующий IP-адрес машины, на которой размещен веб-сайт, к которому вы хотите получить доступ.

1*1uiMJkS8rqJDn7eyKRd-ew
Система доменных имен (DNS)

Как работает DNS?

  1. DNS управляет провайдером (поставщиком услуг Интернета).
  2. Когда мы вводим URL-адрес в адресную строку, пакеты данных проходят через ваш маршрутизатор, возможно, через несколько маршрутизаторов к вашему провайдеру, где присутствует ваш DNS-сервер.
  3. DNS-сервер, присутствующий у провайдера, ищет домен в своей базе данных. Если запись найдена, она возвращает ее.
  4. Если в основной базе данных, которую он обслуживает, не найдено ни одной записи, DNS-сервер переместится через Интернет к другому DNS-серверу, который поддерживает другой провайдер, и проверит, доступна ли запись в базе данных другого DNS-сервера. Вместе с возвратом IP-адреса, взятого из другого DNS, он также обновит первичную базу данных этой новой записью.
  5. Таким образом, иногда (очень редко) DNS-серверу может потребоваться перейти к нескольким DNS-серверам, чтобы получить соответствующую запись.
  6. Если после прохождения большого количества DNS-серверов в Интернете он не получает соответствующую запись, то DNS-сервер выдает ошибку, указывающую, что «имя домена недействительно или не существует».

Примечание:

Интернет-корпорация по присвоенным именам и номерам (ICANN) является консорциумом (некоммерческой корпорацией), управляющим назначением доменных имен и диапазонов IP-адресов от имени сообщества.

Домен разделяется на три части, как показано на следующем рисунке.

1*DFJyA2XEEUesen6y5sSkEA
  1. протокол: Протокол, используемый для доступа к веб-сайту, например HTTP, HTTPS и т.д.
  2. Доменное имя: доменное имя в нашем домене. Это может быть все, что доступно в соответствии с реестром ICANN.
  3. Расширение домена: Это то, что считается важным при покупке домена Как правило, его делят на два типа:
  • Общие домены верхнего уровня (gTLD): Сюда входят наиболее популярные расширения домена, такие как .com, .org, .net, .edu, .co и т.д.
  • Домены верхнего уровня с кодом страны (ccTLD): они указывают на то, что домен связан с кодом страны, указанным в расширении домена. Например, «.in» означает, что веб-сайт происходит из Индии. Кроме того, некоторые из ccTLD требуют, чтобы лицо, покупающее домен, было из той же страны. Большинство небольших расширений кода страны не доступны для поиска за пределами этой страны.

Интернет-провайдеры (ISP)

Интернет-провайдеры это компании, предоставляющие каждому Интернет. Статья, которую вы сейчас читаете, создана через Интернет, предоставляющий вам ваш провайдер.

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

1*fHPSdrVkjQ9tr72ncc7jjQ
Интернет-провайдеры (ISP)

ISP – это иерархическая вещь, работающая в Интернете. Есть определенные типы провайдеров Интернета, а именно ISP уровня 1, уровня 2, уровня 3.

  • Уровень 1 Интернет-провайдеры – это те, кто подключает основные сети в Интернете. Рассматривайте их как основные магистрали Интернета. Они подключены почти к каждой сети Интернет. Кроме того, они предоставляют доступ в Интернет провайдерам уровня 2. CERFNet, UUNet, PSINet. Их также называют провайдерами сетевых услуг. Эти провайдеры соединены друг с другом посредством больших кабелей, идущих под морем.
  • The Уровень 2 (региональный) Провайдеры Интернета – это те, кто в первую очередь предоставляет Интернет-услуги организациям, потребителям (то есть «мы») или провайдерам уровня 3. Подключение к Интернету, которое вы используете, осуществляется от провайдера уровня 2. Однако организации также могут получить доступ в Интернет от провайдеров уровня 1
  • Уровень 3 (локальный) Поставщики Интернета подобны уровню 2. Это лишь еще один уровень иерархии, который покупает пропускную способность у ISP уровня 2 и продает ее потребителям.

Трафик, проходящий через ваш маршрутизатор, также проходит через уровень 3 (если есть), уровень 2 и, наконец, через провайдеров уровня 1 вплоть до другой сети.

Ура, ну! Я рад, что ты все еще со мной. Сейчас мы соберем все вещи вместе.

Объединив все вышеперечисленные вещи

К этому моменту мы узнали все компоненты, необходимые для того, чтобы все работало. Теперь мы их склеим.

1*8FEZEwZSBHKXGOsevHyeZQ
Подробная схема общей компьютерной сети

Давайте подытожим все, что мы научились:

  • Когда компьютер/устройство подключается к сети, он получает частный IP-адрес, назначаемый маршрутизатором. Маршрутизатор получает публичный IP от провайдера.
  • Другим устройствам в сети выделяются уникальные частные IP-адреса.
  • Интернет-провайдеры – это присутствующие во всем мире и подключенные друг к другу. Они продают Интернет-услуги региональным и местным провайдерам, у которых мы, потребители покупаем Интернет.
  • Таким образом, когда устройство пытается установить сетевое соединение с другим устройством в другой сети, оно делает это с идентификатором своего шлюза (маршрутизатора). Затем маршрутизатор сопоставляет приватный IP и номер частного порта с публичным IP и случайным высоким целым общедоступным номером порта.
  • Затем маршрутизатор отправляет пакеты в нужный пункт назначения, где другой маршрутизатор или шлюз делает то же, что и предыдущий маршрутизатор, и анализирует, с какого компьютера/устройства поступил этот пакет.
  • Удаленный компьютер/устройство отвечает, отправляя пункт назначения в качестве общедоступного IP и общедоступного порта маршрутизатора.
  • Затем маршрутизатор снова проверяет приватный IP и частный порт и пересылает сетевые пакеты.

Итак, вот как Интернет также Работает своего рода компьютерная сеть, использующая протокол TCP/IP.

Спасибо, что прочли статью. Если у вас возникли вопросы, пожалуйста, задайте их в комментариях ниже.

Если вам понравилась эта статья, дайте мне какую-нибудь? и поделитесь ею с другими. До встречи в следующем. Ты удивительный!

Кроме того, если вы хотите меня поддержать?

Купите кофе Sumedh Nimkarde — BuyMeACoffee.com
Привет, я Сумед, и моя работа состоит в том, чтобы строить, ломать и перестраивать вещи.www.buymeacoffee.com

Еще раз очень спасибо за прочтение! Не стесняйтесь связаться со мной в Twitter, GitHub.

Добавить комментарий

Ваш адрес email не будет опубликован.