Независимо от того, являются ли вы новичком в мире развитию, или настроили вещи в течение длительного времени — или даже если вы человек, которому просто нравится компьютеры, и ежедневно использует Интернет — вы должны знать основы сетей и специально Компьютерные сети.
Если вам нравится копаться больше на серверы, их безопасность и как вы подключаетесь к серверам от удаленного клиента, все это требует некоторых знаний о компьютерных сетях и их компонентах. Я пытался охватить большую часть темы, касающихся компьютерных сетей в этой статье.
Также, отсюда, я буду ссылаться на «компьютерные сети» просто как «сети».
Давайте сначала посмотрим на мое рабочее определение компьютерных сетей:
Компьютерные сети могут быть определены как обмен сетевыми пакетами между вычислительными машинами по всему миру с помощью линий данных, таких как проводные кабели, оптические волокна и т. Д.
Интернет — это своего рода компьютерная сеть. Сорта.
Мы посмотрим на некоторые обычно используемые термины и компоненты и как они функционируют в компьютерной сети, некоторые из которых находятся на вышеуказанной диаграмме.
Обычно используемые термины в компьютерных сетях
Узлы
Узлы в компьютерных сетях означают любое вычислительное устройство, такое как компьютеры, мобильные телефоны, таблетки и т. Д., которые пытаются отправлять и получать сетевые пакеты по всей сети на другое подобное устройство.
Сетевые пакеты
Сетевые пакеты — это не что иное, как информация или единицы данных, которые исходный узел хочет отправлять/получать в/из узла назначения. В этой статье сетевые пакеты/пакеты данных все передают то же значение.
Интернет-протокол (IPS)
Подумайте, что вы хотите отправить подарок на день рождения своему другу в свой день рождения, где вы ее отправите? На свой адрес улицы правильно?
То же самое дело здесь. Ранние компьютерные ученые хотели определить компьютеры в Интернете с уникальным номером, что-то вроде телефонов сегодня. Итак, они придумали концепцию TCP/IP.
IP компьютерного устройства — это адрес этого устройства в компьютерной сети. Технически, это 32-битный номер, который идентифицирует устройства в сети. Все общение и сюда от устройства в этой сети будет сделано с точки зрения его IP-адреса.
Подумайте, что вы загружаете файл на любой сайт или скажем, Google Drive.
Разговор на самом низком уровне сетевой связи, ваш файл преобразуется в пакеты, а каждый пакет имеет адрес узла назначения с ним, который не имеет ничего, кроме 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.
Класс А. Как показано в третьем столбце вышеуказанного изображения, для класса IP-адреса, первый бит первого октета IP-адреса постоянна и является «0».
Второй столбец указывает на сетевые биты и биты хоста соответствующего класса IP-адреса. Рассмотрим в случае IP-адреса класса, у нас есть следующая формула:
Количество сетей/подсетей = 2 ^ (# сетевых битов)
Отказ
Количество действительных хостов в каждой подсети = 2 ^ (# бит-хостов) - 2
Отказ
Количество сетевых битов и битов хоста определяется маской подсети по умолчанию класса IP-адреса.
Маска подсети по умолчанию для IP-адресов класса — 255.0.0.0, то есть 11111111.00000000000000000.00000000
Отказ Таким образом, для класса A:
Сеть и Хозяин Отказ
Поскольку сеть, хост, их сумма должна быть 32, поскольку IPv4 адреса имеют 32 бита. Но, поскольку мы используем один бит (первый бит в первом октете), чтобы определить класс:
Количество используемых сетевых битов = Количество сетевых битов — количество константы-1
Таким образом, Количество возможных сетей в классе ^ 7 — и,
Количество возможных хостов (это устройства, которые могут быть подключены к сети) на сеть в классе a = 2 ^ 24-2
Отказ
Теперь, здесь, для класса А, вы можете удивить, почему я вычитал дополнительные 2 из числа возможных сетей. Это потому, что для класса А, 127.x.y.y.z
был сохранен зарезервирован. Для других классов используется обычная формула.
Таким образом, IP-адреса в классе варьируются от 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 и класс E : Класс D и класс E используются для экспериментальных целей.
IPv4 адреса в основном имеют два типа:
Статический : Эти IP-адреса — это те, которые остаются постоянными для устройства со временем. Примеры этого являются удаленные серверы, которые мы используем для размещения наших приложений, веб-сайтов и т. Д. Где мы используем SSH-клиент на SSH на наш сервер. Динамический : Как правило, это IP-адреса, которые общий компьютер в интернет-сети назначен. Попробуйте отключить свой маршрутизатор, и вы увидите изменение IP-адреса вашего компьютера! (Но только после прочтения этой статьи 😛). Теперь вы можете думать, кто выделяет эти IP-адреса? Это сервер DHCP (динамический протокол конфигурации хоста), который кратко объясняется в этой статье.
Примечание : Устройство может иметь несколько IP-адресов одновременно. Рассмотрим устройство, подключенное к двум сетям, WiFi, а также любую сеть LAN — у него будут два IP-адреса. Это подразумевает, что IP-адреса назначены интерфейсы и непосредственно к компьютеру.
Хорошо, пока так хорошо. Давай продолжим.
Маршрутизаторы
Как предполагает его имя, маршрутизатор является аппаратным компонентом, который заботится о пакетах маршрутизации. Он определяет, от какого узла пакет искупился, и какой узел назначения узел отправителя должен отправить его. Ни один компьютер не знает, где расположены другие компьютеры, а пакеты не отправляются на каждый компьютер. Маршрутизатор идентифицирует адрес узла назначения, который должен быть отправлен сетевой пакет, и он пересылает его на желаемый адрес.
Маршрутизаторы имеют определенный «протокол маршрутизации», который определяет формат, в котором они обмениваются данными с другим маршрутизатором или сетевыми узлами. Другими словами, протокол маршрутизации определяет, как маршрутизаторы взаимодействуют друг с другом.
Маршрутизаторы создают «таблицу маршрутизации», которая идентифицирует наиболее оптимизированные пути, которые необходимо предпринять в сети при отправке пакетов.
Технически, таблица маршрутизации — это просто таблица со списком «маршрутов» из одного маршрутизатора на другой. Каждый маршрут состоит из адреса других маршрутизаторов/узлов в сети и как их достичь.
233 | Ug. | эт0 | 1024 | 192.168.0.1 | 0.0.0.0 | дефолт |
0 | UC. | wlan. | 0 | * | 255.255.255.0 | 192.168.0.0 |
2 | ЭМ-М-М | эт0 | 0 | * | 255.255.255.0 | 192.168.0.0 |
Выше является примером таблицы маршрутизации. Ключевыми моментами, чтобы принять записку здесь:
- Назначение : Это IP-адрес узла назначения. Это указывает на то, что пакет данных сети должен быть в конечном итоге.
- Шлюз : Gateway — это компонент, который соединяет две сети. Подумайте, что у вас есть маршрутизатор, подключенный к другому маршрутизатору. Каждый из маршрутизаторов есть устройства, подключенные к нему. Итак, адрес последнего роутера (скажем, r1 здесь), после чего сетевой пакет входит в другую сеть (скажем, сеть R2) называется шлюзом. Обычно ворота — это не что иное, как маршрутизаторы. Позвольте мне дать еще один пример: скажем, что ваша комната — одна сеть, а комната вашего родного брата рядом с вами — это другая сеть, то «дверь» между двумя комнатами можно считать шлюзом. Люди иногда относятся к «маршрутизаторам» как шлюз, потому что это то, что они есть, «ворота в другую сеть».
- Genmask/маска подсети : Это не что иное, как сетка/подсеть маска. Маска подсети — это номер, который в сочетании с IP-адресом позволяет разделить пространство IP на меньшие и меньшие куски для использования как в физических, так и в логических сетях. Объяснение того, как вычисления маски подсети происходят за пределами объема этой статьи.
- Флаги : Различные флаги имеют другое значение. Например, в первом маршруте «U» в «UG» означает, что маршрут вверх, тогда как «G» в «UG» означает шлюз. Поскольку маршрут означает шлюз, это дверь в другой сети. Всякий раз, когда мы отправляем какие-либо данные через этот маршрут, он отправляется в другую сеть.
- Iface (сетевой интерфейс) : Сетевой интерфейс относится к сети, в которой маршрут, определенный в таблице маршрутизации, в котором находится компьютерный компьютер. То есть если вы подключены к Wi-Fi, то это будет «WLAN», а когда вы подключены к локальной сети, то это будет «eth». Так что это то, как работает маршрутизатор, с помощью протокола маршрутизации и таблице маршрутизации.
Все хорошо до сих пор. Но вы должны думать —
«Хорошо! Но эй, мы узнаем о компонентах здесь. Мне нужно прошить их вместе и узнать, как работает интернет ».
Прохладный! Еще несколько терминов, и у вас будет правильное понимание того, как все идет.
Перевод с сетевым адресом (NAT)
Перевод сетевого адреса — это методика, используемая маршрутизаторами для предоставления интернет-сервиса для большего количества устройств с меньшим использованием публичных IPS. Таким образом, маршрутизатор присваивается единый IP-адрес ISP, и он назначает частных IPS всем устройствам, подключенным к нему. NAT помогает провайдеру предоставлять доступ в Интернет для большего количества потребителей.
Таким образом, если вы подключены к маршрутизатору вашего дома, ваш публичный IP будет виден в мире, но частный не будет. Независимо от того, какие сетевые пакеты будут переданы, будут рассмотрены вашим публичным IP (то есть публичный IP, назначенный маршрутизатору).
Рассмотрим вышеуказанную фигуру. Допустим, в вашей домашней сети вы пытаетесь получить доступ к Medium.com (удаленный статический IP: 72.14.204.147), с вашего компьютера (частные IP: 192.168.1.100) Отказ
Итак, для вашего компьютера соединение выглядит как:
192.168.1.100:37641 → 72.14.204.147:80 Отказ
«37641» — это случайный номер порта, назначенный NAT маршрутизатором на ваше устройство/компьютер. (Когда существует сетевая связь между демонами, работающими на разных портах на компьютере, соответствующий порт используется NAT). Каждое исходящее соединение получает назначенный порт на NAT маршрутизатора.
Соединение установлено в NAT, как:
72.14.204.147 | 104.244.42.129 | 192.168.1.100 | 59273 | 80 | 37641 |
Но, поскольку внешний мир сети не знает о вашем личном адресе, соединение выглядит как следующее на MEMINGE.
104.244.42.129:59273 → 72.14.204.147:80 Отказ
Таким образом, мы достигаем присвоении более высокого числа IP-адресов, не тратя много публичных IPS.
Теперь, когда Medium.com отправляет ответ верным на 104.244.42.129:59273, он проходит весь путь к вашему домашнему роутеру, который затем смотрит в соответствующий частный IP и Private Port и перенаправляет пакет к вашему устройству/компьютеру.
Примечание : NAT — это обобщенная концепция. NAT может быть достигнута как 1: 1, 1: N, где 1, N — количество IP-адресов в сети. Техника, называемая «IP Masquerading», является 1: N NAT.
Динамический протокол конфигурации хоста (DHCP)
Протокол динамического конфигурирования сервера или DHCP несет ответственность за назначение динамических IP-адресов хозяев. Сервер DHCP поддерживается провайдером или предыдущим маршрутизатором, если есть цепочка маршрутизаторов для достижения хоста.
Таким образом, выделение IP-адресов осуществляется DHCP-сервером. Как правило, ISP поддерживает DHCP-сервер, а маршрутизаторы в наших домах получают публичное IP-адрес от DHCP-сервера.
Примечание : Всякий раз, когда маршрутизатор или скажем, сервер DHCP, поддерживаемый провайдером или маршрутизатором, перезапускается, распределение IP-адреса начинается снова, а устройства выделяются IPS, которые отличаются от предыдущих.
Система доменного имени/сервер
Мы уже обсудили, что любой компьютер идентифицируется IP-адресом.
Ладно, так что вы запускаете веб-сервер на свой локальныйhost на своем компьютере. Если вы выкопали в хостах на любой машине Linux, вы бы столкнулись бы что-то вроде этого:
255.255.255.255 | Broadcasthost. |
:: 1. | локальный |
что означает, что даже если вы ввести 127.0.0.1
В баре вашего браузера это означало бы то же самое, что и локальный
.
Подобно вышесказанному, веб-сайты, которые вы используете ежедневно, являются веб-серверами, работающими на одном удаленном экземпляре/узле, имеющем статический IP-адрес. Итак, набрав этот IP-адрес в баре URL вашего браузера на сайт?
Да, наверняка это будет. Но вы сверхчеловеческий, чтобы запомнить IP-адреса тысяч сайтов?
Нет Отказ
Таким образом, там пришли домены, которые мы используем, скажем, Medium.com, Twitter.com, recance.net, codementor.io и т. Д.
Сервер доменных имен — это сервер, имеющий огромные записи IP-адресов сопоставления доменных имен, которые ищут ввод домена и возвращает соответствующий IP-адрес машины, на котором размещен сайт, который вы хотите получить доступ.
Как работает DNS на самом деле?
- DNS управляется вашим провайдером (интернет-поставщик услуг).
- Когда мы вводим URL в адресной строке, пакеты данных проходят через ваш маршрутизатор, возможно, несколько маршрутизаторов к вашему провайдеру, где ваш DNS-сервер присутствует.
- DNS-сервер, присутствующий на ISP, смотрит на домен в своей базе данных. Если запись найдена, то он возвращает его.
- Если в своей основной базе данных отсутствует какая-либо запись, которую она поддерживает, DNS-сервер пройдет через Интернет на другой DNS-сервер, поддерживаемый другим провайдером, и проверьте, доступна ли запись в этом другом базе данных DNS-сервера. Наряду с возвратом IP-адреса, взятого из другого DNS, он будет обновлять первичную базу данных с этой новой записью.
- Таким образом, иногда (очень редко) DNS-сервер может приходиться пересекать на несколько DNS-серверов для получения соответствующей записи.
- Если после пересечения много DNS-серверов через Интернет, он не получает соответствующую запись, то DNS-сервер бросает ошибку, указывающую, что «доменное имя неверно или не существует».
Примечание : Интернет-корпорация для назначенных имен и цифр (ICANN) Это консорциум (некоммерческая корпорация), который управляет заданием доменных имен и IP-адресов от имени сообщества. Домен делится на три части, как показано на следующем рисунке.
Протокол : Протокол, используемый для доступа к веб-сайту, например, HTTP, HTTPS и т. Д.
Доменное имя : Основное доменное имя в нашем домене. Это может быть все, что доступно в соответствии с реестром ICANN.
Расширение домена : Это тот, который считается важным при покупке домена. Как правило, он классифицируется на два типа:
- Общие домены верхнего уровня (рДВУ): это включает в себя самые популярные расширения домена, такие как .com, .org, .NET, .EDU, .CO и т. Д.
- Код страны Домены верхнего уровня (CCTLD): Они указывают на то, что домен связан с кодом страны, указанного в расширении домена. Например, «.in» указывает на то, что сайт возникла из Индии. Кроме того, некоторые элементы CCTLD требуют, чтобы человек, покупал домен, должен быть из той же страны. Большинство расширений кода небольшого странового кода не доступны из-за этой страны.
Интернет-провайдеры (ISP)
Интернет-провайдеры являются компаниями, которые предоставляют каждому Интернет. Статья, которую вы читаете сейчас, это из-за того, что ваш ISP предоставляет вам.
ISP предоставляют Интернет, обрабатывают маршрутизацию ваших запросов на правильный пункт назначения, разрешают доменные имена с помощью кэша DNS, которые они поддерживают, и обрабатывает всю эту сетевую инфраструктуру, которая позволяет нам использовать Интернет.
ISP — это иерархическая вещь, работающая через Интернет. Существуют определенные типы интернет-провайдеров, а именно Tier 1, Tier 2, Tier 3 ISP.
Уровень 1 ISPS — это те, которые соединяют основные сети в Интернете. Рассмотрим их как основные автомагистрали интернета. Они связаны почти с каждой сетью в Интернете. Кроме того, они предоставляют доступ в Интернет к провайдеру на уровне 2. бывший. Cerfnet, Uunet, Psinet. Они также называют поставщиками сетевых услуг. Эти провайдеры связаны друг с другом посредством крупных кабелей, идущих под морем. Уровень 2 (региональный) ISP — это те, кто в первую очередь предоставляет Интернет-услуги организациям, потребителям (то есть «США») или провайдеры уровня 3. Интернет-соединение, которое вы используете, из уровня 2 уровня 2. Тем не менее, организации также могут получить доступ в Интернет от провайдеров уровня 1. Уровень 3 (местный) Провайдеры так же, как уровень 2. Это просто еще один уровень иерархии, которые покупают пропускную способность от уровня 2 Iier 2 и продает его потребителям. Трафик, который проходит через ваш маршрутизатор, также проходит через Tier 3 (если присутствует), Tier 2 и, в конечном счете, через Tier 1 ISPS полностью в другую сеть.
Woot Woot! Я счастлив, что ты все еще со мной. Мы сделаем все вещи вместе сейчас.
Вкладывать все вышеперечисленные вещи вместе
До сих пор мы узнали обо всех компонентах, необходимых для того, чтобы все работать. Теперь мы сможем их вместе.
Давайте суммируем все, что мы узнали:
- Когда компьютер/устройство наступает онлайн, он получает частный IP, назначенный маршрутизатором. Маршрутизатор получает публичный IP из провайдера. Другие устройства в сети выделяются уникальные частные IPS.
- Провайдеры — это те, которые присутствуют по всему миру и связаны друг с другом. Они продают интернет-услуги региональным и местным интернет-провайдерам, от которых мы, потребители, покупают Интернет.
- Таким образом, когда устройство пытается установить сетевое соединение с каким-либо другим устройством в какой-то другой сети, он делает его с идентичностью его шлюза (маршрутизатор). Затем маршрутизатор отображает номер частного IP и номер частного порта с публичным IP и случайным номером общего числа целочислен.
- Затем маршрутизатор отправляет пакеты в нужный пункт назначения, где какой-то другой маршрутизатор или шлюз делает то же самое, что и предыдущий маршрутизатор и анализ, от которого пришел компьютер/устройство.
- Удаленный компьютер/устройство отвечает, отправив пункт назначения в качестве публичного IP и общедоступного порта маршрутизатора.
- Затем маршрутизатор снова проверяет частный IP и Private Port и пересылает сетевые пакеты. Итак, вот как Интернет ака Вид компьютерной сети с использованием протокола TCP/IP работает.
Спасибо за чтение статьи. Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь спрашивать их в комментариях ниже.
Если вам понравилась эта статья, просто напишите мне в Twitter (DMS открыты) и поделитесь этим с другими. Увидимся в следующем. Ты обалденный!
Большое спасибо снова для чтения! Не стесняйтесь связываться со мной на Twitter , Github Отказ
Оригинал: «https://dev.to/lunaticmonk/what-are-computer-networks-and-how-to-actually-understand-them-20f9»