Формирование сетей - от первобытных племен до современного мира

Архитектура Сетевой протокол
Формирование сетей - от первобытных племен до современного мира

Эта статья участвует в "Сетевой протокол должен знать должен знать"Требуют документов

Сеть — вещь виртуальная, она не видна и не осязаема в большом смысле:

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

физический слой

Это сетевой кабель, оптическое волокно, среда для передачи сигналов и физическая среда.

net1.png

  • Компьютеры обмениваются информацией через сигналы цепи
  • Сетевой кабель или оптоволокно могут генерировать сигнал 01, который может распознать компьютер.

связующий слой

На физическом уровне мы знаем

  • данные спотоксуществуют в среде коммуникации в виде
  • Сетевой кабель является дуплексным, A может отправлять данные на B, а B также может отправлять на A. Если A продолжает отправлять, то B не может работать.

Нам нужно разделить некоторые нормы, чтобы эта простая сеть заработала.

Потоки и фреймы

Во-первых, это разделение пакетов, которое не позволяет потокам в одном направлении вечно занимать канал.

отправить как поток

net6.pngОписанный здесь процесс выглядит следующим образом:

  • A для отправки в первую очередь
  • Б намеревается отправить
  • B обнаруживает столкновение и ждет первым
  • У A есть много контента для отправки, и он не остановился
  • B всегда обнаруживал, что ссылка не простаивает, и будет ждать в течение длительного времени.

передача кадра по каналу

Итак, связующий слой делает некоторые вещи, как показано ниже:net7.png

  • Сетевая карта разбивает данные для отправки на кадр в соответствии с MTU.

  • A отправляет кадр первым

  • B намеревается отправить, и B сначала ждет, когда обнаружит коллизию

  • После того, как A отправляет кадр, ссылка простаивает

  • Б может отправить

  • A продолжает отправлять оставшиеся кадры после обнаружения простоя

В таком случае,кадр связующего слоярешеноэксклюзивная ссылкаПроблема.

Ethernet является наиболее широко используемым протоколом канального уровня.

Базовые элементы канального уровня

Таким образом, основные элементы уровня ссылок следующие:

net0.png

  • Предположим, A передает часть данных B: 0111001010101.

  • Эти данные будут разделены на кадр

  • Канальный уровень протокола Ethernet является наиболее широко используемым протоколом канального уровня, а размер кадра (MTU: максимальная единица передачи) составляет 1500 байт.

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

  • Общие сетевые карты должны реализовывать протокол Ethernet, включая настройки размера MTU.

Канальный уровень также определяетMAC-адресспецификации, каждая сетевая карта имеетФлаг уникального MAC-адреса.

Инструмент адресации канального уровня — Switch

Как правило, у хоста мало портов NIC, и очень мало машин можно подключить напрямую, поэтому вводится коммутатор.

Сам коммутатор не имеет MAC-адреса, и его назначение — помогать пересылать кадры.

4.pngКак показано выше:

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

Формат кадра связующего слоя

Ссылочный уровень сформулировал спецификацию mac-адреса.Вы можете видеть, что формат фрейма выглядит следующим образом:

ip7.png

  • Playload — это содержимое отправляемых данных, здесь 0111001010101, пересылаемое в пункт назначения через dst mac
  • размер кадра не превышает MTU

Состав сетевого мира канального уровняплемя

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

A отправляет пакет C. Если подключенная в данный момент интерактивная машина не записывает этот mac-адрес, тобудет отправлено на все другие интерактивные машины, что дорого.

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

Поэтому подсеть, подключенная свитчем, как правило, не содержит слишком много машин, и они эквивалентны друг другу.маленькое племя.

IP-уровень

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

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

расширение сети

племя-деревня

Сетевой мир, состоящий из коммутаторов, эквивалентен одному за другиммаленькое племя, история нашего человеческого развития является лучшим ориентиром для развития сети

Как показано ниже:

ip8.png

  • Несколько племен (сетей коммутаторов) составляют большуюпоселок
  • Деревни можно узнать по уличным знакам
    • Эти четыре племени могут быть представлены двумя двоичными цифрами.00,01,10а также11

Деревня - большая площадь

Тем не менее, сеть продолжает развиваться:

ip9.png

  • Деревни постепенно увеличивались и превращались в районы.
  • здесьплощадьВключенные деревни также могут быть представлены двузначным двоичным кодом.
  • продолжай в том же духеРасширить сферуразвитие, которое в конечном итоге составляетвсемирная сеть.

IP-иерархия

Теперь сеть достаточно большая, но реальная сеть более плотная и сложная, чем эта.

Адрес и административный уровень

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

Для человека снизу вверх:Группа - Деревня - Поселок - Город - Уезд - Район - Город - Провинция - Страна - Планета

айпи адрес

В отличие от реального мира, мы используем IP-адреса для представления сетевых адресов. IP имеет32бит, а это значит, что в мире больше всего400 миллионовУникальный IP-адрес.

Вышеуказанные административные адреса разделены на10 уровней, хотя IP-адрес не имеет такого изображения, но такжеестественный слойиз.

ip3.png

  • Каждое число IP имеет смысл, определенныйсколько битОн может представлять деревню-уезд-город в смысле интереса, но его не нужно понимать таким образом.
  • MAC-адрес подобен идентификационному номеру (ID card), у этого нет адресной метки
  • Таким образом, через IP-адрес вы, вероятно, знаете, что нужно перейти к определенному диапазону, чтобы найти соответствующий хост.

ipv4

Если он разделен на 8-битные группы, 32-битный IP делится на 4 группы, поэтому он называется ipv4.

ip2.png

Вышеупомянутый адрес является адресом ipv4.01101111.01111101.11111011.11110100то есть111.125.251.244.

Назначение IP

Когда спецификация IP-протокола была первоначально сформулирована, создатель спецификации также сделал некоторые разделения и назначения IP-адресов и сетей:

  • Адрес класса А: Перед IP-адресом8Биты представляют идентификатор сети, последние 24 бита представляют собой идентификатор хоста, за исключением некоторыхспециальный знак, таких сетей более 200, большинство из которых закреплены за американскими корпоративными группами, но поскольку адресов 2^24, многие из адресов хостов в них не используются, что приводит к большому количеству отходов.
    • десятичныйНачиная со 127адрес:петлевой адрес, например, пропингуйте себя 127.0.0.1
    • 127.0.0.0: Использование этого адреса равнозначно тому, что вы называете себя «я».
    • 0.0.0.0Представляет собой общедоступную сеть
  • Адрес класса B: Перед IP-адресом16Биты представляют идентификатор сети, последние 16 бит представляют собой идентификатор хоста.
    • 192.168.0.0: указывает текущую сеть
  • Адрес класса С: Перед IP-адресом24Бит представляет идентификатор сети, последние 8 бит представляют собой идентификатор хоста, а в сети доступно более 250 адресов хостов.
  • Все 0Сеть идентификаторов узлов: указываетсама сеть, например, IP-адрес 129.152.0.0 относится к сети класса B с идентификатором сети 129.152.
  • Все единицыСеть идентификатора хоста: указывает широковещательный адрес

частная сеть

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

  • Ваша домашняя сеть и сеть вашей компании, скорее всего, будут адресами в частной локальной сети.

  • Сервер, приобретенный в облаке, может иметь общедоступный IP-адрес.

Как показано ниже:

ip4.png

Случай ограничения частной сети 1

Из-за ограничений частной сети, когда хост внутри находится в сети, ему часто требуется выполнить еще один уровень обработки пакетов (еще один уровень преобразования по сравнению с общедоступной сетью).Следующий C1A открывает программу чата QQ для чата. с членами семьи за пределами школы,

ip6.png

  • При отправке пакетов выходному маршрутизатору интрасети может потребоваться инкапсулировать пакет 1 как пакет 2 (плюс собственный общедоступный сетевой IP-адрес и MAC-адрес).
  • При получении пакета выходному маршрутизатору интрасети необходимо преобразовать пакет 2 в пакет 1, а затем направить его на узел интрасети.

Случай ограничения частной сети2

Иногда необходимо получить доступ к частному адресу, как доступ к серверу.

НапримерP2PТип приложения, каждый является узлом в сети.

Из-за локальной сети нам нужно использовать некоторыеТехнология сетевой инверсиинапример NAT.

ipv6

Из-за чрезвычайного положения IP позже была сформулирована спецификация ipv6.

Этот стандартный IP имеет в общей сложности 128 бит, и каждые 16 бит разделены на 8 групп.

Но сейчас ipv6 не очень популярен.

маршрутизация

Вышеупомянутое разделение уровней IP, мы можемобразныйзнать, как добраться тудаНайдите другой хост в онлайн-мире.

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

в состоянии пройтикоманда маршрутаПроверьте таблицу маршрутизации на хосте или маршрутизаторе,

# route 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         9.134.64.1      0.0.0.0         UG    0      0        0 eth1
9.0.0.0         9.134.64.1      255.0.0.0       UG    0      0        0 eth1
9.134.64.0      0.0.0.0         255.255.240.0   U     0      0        0 eth1
10.0.0.0        9.134.64.1      255.0.0.0       UG    0      0        0 eth1
100.64.0.0      9.134.64.1      255.192.0.0     UG    0      0        0 eth1
172.16.0.0      9.134.64.1      255.240.0.0     UG    0      0        0 eth1
192.168.0.0     9.134.64.1      255.255.0.0     UG    0      0        0 eth1
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 docker0

Значение каждого поля в выходном результате:

  • Флаги — это флаги, которые представляют маршруты. Доступные флаги и их значения:U указывает на то, что маршрут начинается, H указывает, что целью является хост,G означает использование шлюза
  • Шлюз указывает имя хоста или IP-адрес, используемый шлюзом.
  • Маска подсети — это 32-битный адрес, используемый для маскировки части IP-адреса, чтобы отличить идентификатор сети от идентификатора хоста, после чего его можно указать.Является ли IP-адрес в локальной или глобальной сети.
    • Побитно по Genmask и IP-адресу пакета"&"Операция, если она совпадает с пунктом назначения, перенаправить в сеть этого пункта назначения.
  • Пункт назначения указывает маршрутцелевая сеть, мы можем видеть, что этот пример имеет этисеть доступна
    • 9.0.0.0: 1001000000000000000000000000 — это сеть класса A, которая может содержать множество (2^24) адресов узлов, доступных через шлюз 9.134.64.1.
    • 9.134.64.0:1001100001100100000000000000 — это сеть класса B, IP текущей машины также находится в этой сети
    • 10.0.0.0Также адрес класса А
    • 100.64.0.0Это также адрес класса B, и он также напрямую доступен из сети.
    • 192.168.0.0Указывает текущую локальную сеть
    • 192.168.10.0Сеть, представляющая среду докера
    • Если другие правила не выполняются, используется маршрут по умолчанию и перенаправляется в общедоступную сеть по умолчанию.
      • 0.0.0.0Указывает общедоступную сеть
      • Выбор маршрута будет обработан в соответствии с приоритетом наибольшего совпадения, поэтому значение по умолчанию будет обработано последним, а маска 255.255.255.0 будет обработана первой.

Суммировать

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

Шаг за шагом, слой за слоем, сеть постепенно менялась от своей первоначальной формы к тому, что она есть сейчас.модернизацияФорма.

Однако в этой статье не рассматривается конкретная адресация сети.как формируется сетьЭто предложение более подробно. Статьи, которые были добавлены на данный момент:Почему алгоритм вектора маршрутизации используется только для небольших сетей?