Рейтинг@Mail.ru

NetCloud

Простыми словами о сетевых технологиях

Адресация в компьютерных сетях

Понятие IP-адреса является одним из базовых при изучении сетей. Введение IP-адреса позволило создать независимую от других технологий передачи данных систему адресации, где каждому устройству присваивается номер из четырех байт, позволяющий идентифицировать его в сети. С таким подходом возможно присвоить около 4,22 миллиардов уникальных IP-адресов. На первый взгляд это кажется большим числом, однако уже сегодня ресурс практически исчерпан. Параллельно с этим создавались технологии, позволяющие сэкономить пространство IPv4 адресов, важнейшей из которых является NAT.

Но все-таки самым эффективным решением проблемы считается переход на расширенную версию IPv6. IPv6 поддерживает 128 бит. Я не буду писать точное количество IP-адресов, лучше скажу, что если каждому атому на Земле присвоить свой IP, то ресурса IPv6 хватит еще на сотню таких же планет. Вообщем IP-адресов хватит всем.

Разберем, какие вообще существуют адреса в компьютерных сетях. В TCP/IP все хосты распознаются с помощью трех типов адресов:

  1. MAC-адрес — тип адреса, который используется средствами Ethernet для доставки данных в пределах одной подсети. Адрес имеет формат 6 байт, назначается производителем оборудования и является уникальным. Например: 00-11-20-7A-3F-3E
  2. IP-адрес — тип адреса, на основании которого передаются пакеты между сетями. Адрес имеет формат 4 байта. Пример адреса: 192.168.0.1 
  3. Доменное имя — тип адреса, который использует символьное написание для обеспечения удобства чтения. Например: netclo.ru

Самое важное в данный момент понимать разницу между MAC и IP-адресом. MAC-адрес присваивается непосредственно сетевому адаптеру. Если у компа несколько сетевых карт, то и MAC-адресов у него будет не один. IP-адрес обрабатывается на уровне операционной системы. Операционная система связывает каждый сетевой адаптер с некоторым IP-адресом, который может быть задан как вручную (администратором), так и динамически (с помощью DHCP-сервера). При передаче пакета по сети, IP-адрес на всем протяжении пути не меняется, а вот MAC-адрес меняется. Поясним это на картинке.

ip-and-mac

Вот компьютер PC0 передает пакет к серверу. При этом на пути к серверу находится два маршрутизатора. При передаче пакета PC0 закладывает в пакет следующую информацию: IP-адрес отправителя: 192.168.1.0 (PC0), IP-адрес получателя: 192.168.3.50 (Server0), MAC-адрес отправителя: AAA (PC0), MAC-адрес получателя: BBB (R1). Как видим, IP и MAC-адреса отправителя отличаются. В качестве MAC-адреса указывается следующий на пути маршрутизатор. Далее MAC-адрес будет каждый раз подменяться. При передаче пакета с R1 MAC-адрес отправителя: CCC, MAC-адрес получателя: EEE. При этом важно что, на протяжении всего пути IP-адреса как отправителя, так и получателя меняться не будут.

Отметим несколько важных аспектов, касающихся IP-адреса:

  1. IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение
  2. Маршрутизатор по определению входит сразу в несколько сетей, поэтому каждый порт маршрутизатора имеет собственный IP-адрес
  3. Конечный узел также может входить в несколько IP-сетей, в этом случае компьютер должен иметь несколько IP-адресов, по числу сетевых связей.

Структура IPv4-адреса

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

format-ip-adresa

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

0906157657650446250-04117047





Как видно из таблицы выше, маска имеет такой же формат как и Ip-адрес. В двоичной форме она представляет из себя совокупность подряд идущих единиц и нулей. Префикс показывает число подряд идущих единиц. Количество адресов для данной маски можно посчитать по формуле:

Latex formula

Где p — префикс

Чтобы получить адрес сети, зная маску и IP-адрес, необходимо применить к ним операцию поразрядной конъюнкции.

IP-адрес:   11000000.10101000.00000101.00000101 (192.168.5.5)
Маска сети: 11111111.11111111.11111111.00000000 (255.255.255.0)
Адрес сети: 11000000.10101000.00000101.00000000 (192.168.5.0)

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

В локальных сетях, основанных на протоколе IP, могут использоваться специальные адреса, назначенные IANA:

10.0.0.0 — 10.255.255.255

172.16.0.0 — 172.31.255.255

192.168.0.0 — 192.168.255.255

Такие адреса называются локальными или «серыми», эти адреса не маршрутизируются в Интернет. В различных непересекающихся локальных сетях адреса могут повторяться и это не является проблемой, так как доступ в другие сети происходит с применением технологий, подменяющих или скрывающих адрес внутреннего узла сети за ее пределами — NAT и proxy. Для обеспечения связи локальных сетей (LAN) с глобальными сетями (WAN) используют маршрутизаторы

На моем сайте вы можете скачать программу для расчета параметров сети. Программа принимает в качестве входных данных IP-адрес и маске. По этим данным рассчитывает инверсию, префикс сети, адрес сети, широковещательный адрес (broadcast), минимальный и максимальный IP-адреса, а также показывает возможное число хостов. Может быть полезна системным администраторам, сетевым инженерам. Программа написана на Python.

prog