Статья Адресация и передача данных в сети

1984

1984

Red Team
08.03.2018
116
237
КОМПЬЮТЕРНЫЕ СЕТИ

<< Начало

4. Адресация и передача данных в сети

Как нам стало известно из предыдущих статей - существуют различные каналы передачи данных, такие как электрические провода, оптоволоконные кабели, радиоволны. Но для того, чтобы объединить цифровые устройства в единую сеть нужно одно общее условие. Этим условием является – протокол, который подразумевает набор правил для взаимодействия между сетевыми устройствами. Протокол включает в себя обращение одного устройства к другому по имени, рукопожатие (handshake), обмен информацией в виде передачи данных и разрыв соединения.

На сегодняшний день основной сетевой моделью передачи данных фактически является TCP/IP. Данная модель определяет основной набор правил для качественной передачи данных от отправителя к получателю.

Стек протоколов TCP/IP состоит из четырех уровней – уровня сетевых интерфейсов, сетевого, транспортного и прикладного. Производить детальный разбор данного стека в рамках данной статьи считаю нецелесообразным (кому интересно, могут ознакомиться в учебниках). Приведем лишь схематичный рисунок.

1.jpg


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

- TCP (Transmission Control Protocol) - протокол управления передачей данных. Отвечает за установку соединения между отправителем и получателем и гарантирует целостность и сохранность передаваемых пакетов.

- IP расшифровывается как Internet Protocol, или же - протокол межсетевого взаимодействия. Данный протокол обеспечивает передачу данных в сети без установки соединения, объединение сетей, построенных на разных принципах, качество обслуживания, и построение маршрута от отправителя к получателю.

Для наглядности сравним связку протоколов TCP и IP с водителем и экспедитором. Вместе они доставят груз по указанному адресу в целости и сохранности.

2.png


В случае если водитель (протокол IP) поедет один, то он попросту растеряет груз по дороге.

3.jpg


Если же экспедитор (протокол TCP) сам сядет за руль и повезет свой груз без водителя, то он доставит его в целости и сохранности, но совершенно по другому адресу, а скорее всего даже не сможет сдвинуться с места.

4.jpg


При построении компьютерных сетей используются два типа адресов - локальные и глобальные. К локальным адресам относятся MAC-адреса – в сетях Ethernet и IMEI (международный идентификатор мобильного оборудования) – в GSM сетях. К глобальным адресам относятся IP-адреса, применяющиеся для объединения локальных сетей, построенных на разных технологиях канального уровня, во всемирную глобальную сеть Интернет.

Ни для кого не секрет, что в современном мире у каждого устройства, подключенного к глобальной сети, есть свой IP-адрес. IP-адрес представляет собой уникальный адрес устройства в сети, построенной на основе стека протоколов TCP/IP, и используется для уникальной идентификации компьютеров в составной сети. Для того чтобы правильно определить отправителя и получателя данных и придумали использование IP-адресации (аналогично тому, как производится доставка посылки почтовой службой от одного почтового адреса – к другому, безошибочно определяя страну, город, название улицы и номер дома получателя).

Существует две версии IP-адресов IPv4 и IPv6. Основное различие заключается в том, что длина IPv4 составляет 4 байта, а IPv6 – 16 байт. Также существует ряд других различий. В рамках данной статьи рассмотрим IP-адреса версии 4.

Как уже было сказано, длина адреса IPv4 составляет 4 байта или 32 бит. Как известно, биты записываются в виде нулей и единиц. Для удобства IP-адреса принято записывать в десятичном виде, в виде четырех раздельных значений в диапазоне от 0 до 255, разделенных между собой точкой и называемых октетами (восемь двоичных разрядов).

11011110101010111100000100011001 – в двоичном виде (32 значения),
222.171.193.25 – в десятичном виде.

Каждому десятичному значению, понятному для человека, соответствует его двоичная интерпретация для построения машинного кода:

222 - 11011110,
171 - 10101011,
193 - 11000001,
25 - 00011001.

Следует различать внутренние и внешние IP-адреса.

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

222.171.193.1
222.171.193.2
222.171.193.3


222.171.193.254

По своей структуре IP-адрес состоит из двух частей – номера подсети и номера хоста. Хостом в данном случае является любое сетевое устройство, имеющее собственный IP-адрес. Если рассмотреть IP-адрес 222.171.193.2, то номером подсети здесь будет – 222.171.193.0, а номером хоста – 0.0.0.2. Иными словами можно сказать, что IP-адрес 222.171.193.2 принадлежит сетевому устройству под условным номером 2.

Маска подсети.

Подобно IP-адресу, маска подсети состоит из 4 октетов и имеет длину – 32 бит. Обычно маска подсети записывается в следующем виде – 255.255.255.0. В случае с адресом 222.171.193.2 это означает, что значение 222.171.193.0 (или же первых 3 октета) – является номером подсети, а 0.0.0.2 (последний октет) – является номером хоста. Также данное значение можно записать в виде префикса 222.171.193.2 /24, что будет эквивалентно записи - IP-адрес 222.171.193.2, маска подсети 255.255.255.0. В случае записи с префиксом подразумевается, что первые 24 бита адреса относятся к номеру подсети.

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

Если маска подсети имеет префикс /20, например 222.171.193.2 /20, это означает, что к номеру подсети в данном случае относятся первые 20 из отведенных нам 32 бит, соответственно оставшиеся 12 бит относятся к номеру хоста. В этом случае маска подсети будет – 255.255.240.0.

Для определения номера подсети используется оператор AND. Если вспомнить школьный курс информатики – 1 AND 1 равняется 1, 1 AND 0 равняется 0, 0 AND 1 равняется 0, 0 AND 0 равняется 0.

11111111 11111111 11110000 00000000 - Маска подсети
AND
11011110 10101011 11000001 00000010 - IP-адрес
равняется
11011110 10101011 11000000 00000000 - Номер подсети

Получаем номер подсети 222.171.192.0 и номер хоста 0.0.1.2.



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

Следует отметить, что для разработки и тестирования сетевых приложений иногда требуется их запуск на локальном компьютере, для этого используется так называемая обратная петля 127.0.0.0 /8. В случае работы с обратной петлей данные не уходят в сеть, а возвращаются на хостовую машину.

К примеру, для разработки сайта на языке программирования PHP с базой данных MySQL в не столь далекие времена, в виду того, что интернет-траффик был довольно дорогостоящим, на компьютер устанавливали локальный сервер под названием Denwer. Чтобы запустить разрабатываемый сайт в своем браузере, необходимо было перейти на localhost, набрав в адресной строке IP-адрес 127.0.0.1.

В мировом масштабе распределением IP-адресов занимается международная некоммерческая организация ICANN (Internet Corporation for Assigned Names and Numbers) «Корпорация по управлению доменными именами и IP-адресами». ICANN распределяет диапазоны IP-адресов между региональными регистраторами, закрепленными за определенными территориями земного шара.

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

10.0.0.0 /8,
100.64.0.0 /10,
172.16.0.0 /12,
192.168.0.0 /16.

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

Для подключения локальной подсети к глобальной сети Интернет используется технология преобразования сетевых адресов NAT (Network Address Translation). При помощи данной технологии, проходя через маршрутизатор, IP-адрес локальной подсети заменяется глобальным IP-адресом, который нам присваивает наш интернет-провайдер. Введение в использование технологии NAT явилось следствием нехватки адресов IPv4.

5.jpg


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

Для того чтобы узнать локальный IP-адрес своего устройства и маску подсети, можно в командной строке ОС Windows ввести команду ipconfig, в ОС Linux используется команда ifconfig.



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

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


Немного практики: Использование Proxy-сервера для подмены своего IP-адреса.

Пожалуй, самым простым и общедоступным способом скрытия своего IP-адреса является использование Proxy-сервера. Конечно же, есть масса других более сложных и более надежных инструментов для обеспечения анонимности своей персоны на просторах глобальной сети, но это уже, пожалуй, удел курса Paranoid.

Итак, давайте представим, что перед нами стоит задача – зарегистрироваться в мексиканской социальной сети. Однако для регистрации допускаются только IP-адреса, находящиеся в мексиканском диапазоне. Для того чтобы найти мексиканский Прокси-сервер, идем в любой поисковик и вводим в нем – «proxy». В результате поискового запроса мы получаем массу различных сайтов, предоставляющих услуги по продаже Proxy и VPN. Переходим на любой из них и ищем там мексиканский Прокси-сервер. В данном случае для нас подойдет тип – https.

6.jpg


Нам нужны IP-адрес и Порт выбранного Proxy-сервера.

Открываем браузер (в моем случае это Mozilla Firefox) и переходим к настройкам сети Preferences / Network Settings (Настройки / Параметры сети). Далее выбираем пункт Manual proxy configuration (Ручная настройка прокси), вставляем в поля HTTP Proxy и Port соответствующие данные и нажимаем OK.

7.jpg


Для того чтобы убедиться, что выбранный нами Прокси-сервер действительно работает, переходим на сайт whoer.net.

8.jpg


Мы видим, что наши данные успешно заменены, и мы можем без проблем зарегистрироваться на мексиканском сайте. Однако наш провайдер видит, что мы используем Proxy-сервер.

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


Данная статья не призывает к совершению противоправных и антиобщественных действий. Помните, что всё тайное становится явным.



Для того чтобы закрепить полученную информацию, выполним домашнее задание.

1. Рассчитайте номер подсети для адреса 105.113.107.29 /23;

2. Найдите прокси-сервер USA, подставьте его в настройки сети своего браузера, зайдите на сайт whoer.net и сделайте снимок экрана с американским IP-адресом.

Варианты ответов и скриншоты можете выкладывать в комментариях к данной статье.

<< Начало
 
Последнее редактирование:
H

HebiNeco

Green Team
31.08.2019
69
9
1
10001001.11010111.01110110.00010000
AND
11111111.11111111.11111100.00000000
AND
10001001.11010111.01110100.00000000

137.215.118.16
AND
255.255.252.0
AND
137.215.116.0 - номер подсети
Правильно?)
Спасибо за статью. Интересно и понятно. Ассоциации TCP/IP с попугаем и трактористом шикарные)
 
  • Нравится
Реакции: boy_m и 1984
Мы в соцсетях: