• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Статья Основы компьютерных сетей

КОМПЬЮТЕРНЫЕ СЕТИ
2. Основы компьютерных сетей

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

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

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

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

umrJfHT.jpeg


Для того, чтобы понимать основные принципы работы сети, необходимо разобрать такие понятия, как ПОРТ, ПРОТОКОЛ и ИНТЕРФЕЙС. Если мы обратимся к Википедии, то получим следующую информацию: "Порт (англ. port) — натуральное число, записываемое в заголовках протоколов транспортного уровня модели OSI (TCP, UDP, SCTP, DCCP). Используется для определения процесса-получателя пакета в пределах одного хоста.", "Протокол передачи данных — набор соглашений интерфейса логического уровня, которые определяют обмен данными между различными программами.". Уверен, что большинство пользователей, которые только приступили к изучению компьютерных сетей, не поняли из приведенных описаний ровным счетом ничего. Давайте попробуем разобраться.

ПОРТ. В данном случае нас интересует порт физический, представляющий собой специальный разъем на нашем компьютере, к которому мы можем подключить то или иное устройство. Порт, также называемый ФИЗИЧЕСКИМ ИНТЕРФЕЙСОМ, определяется набором электрических связей и характеристиками сигналов.

ПРОТОКОЛ представляет собой набор данных, передаваемых в определенном формате, которыми обмениваются между собой устройства, либо программы. Протокол, он же ЛОГИЧЕСКИЙ ИНТЕРФЕЙС, также является набором правил, обеспечивающих качественный обмен указанными выше информационными сообщениями.

ИНТЕРФЕЙС подразумевает общую границу между двумя функциональными объектами, требования к которой определяются стандартом; совокупность средств, методов и правил взаимодействия между элементами системы (здесь Википедия говорит более понятным языком).

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

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

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

rrVW1QV.jpeg


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

Передача данных между устройствами осуществляется посредством передачи битов, стартовый и стоповый сигналы (они же биты) определяют передачу байта.

Ввиду того, что доступ к периферийным устройствам удаленного компьютера может потребоваться сразу нескольким приложениям, установленным на компьютере, будет логичным использование специальной программы, отвечающей за печать. Для этого используются клиент и сервер печати, где клиент отправляет задание серверу, такая взаимосвязь называется СЕТЕВОЙ СЛУЖБОЙ. Дадим определения обоим понятиям.

КЛИЕНТ - отправляет запросы своих приложений другому компьютеру для управления его устройствами и принимает ответную информацию, сообщая ее своим приложениям.

СЕРВЕР - принимает сетевые запросы клиента, передавая их операционной системе своего компьютера.

Если рассматривать сетевую работу на примере глобальной сети, то в этом случае сетевая служба будет обеспечивать взаимодействие между браузером (Chrome, Opera, Mozilla и другие) на нашем компьютере (клиент) и удаленным вэб-сервером (сервер). Продуктом такого взаимодействия будет являться отображение в нашем браузере сайта, файловая система которого расположена на удаленном сервере. Работа данной сетевой службы обеспечивается протоколом HTTP.

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

Для обеспечения качества передаваемой информации, посредством компьютерных сетей, применяется, так называемый, расчет КОНТРОЛЬНОЙ СУММЫ, значение которой добавляется в конец блока данных, непосредственно перед началом передачи информации, затем производится проверка для подтверждения целостности данных.

Передача данных осуществляется в виде отправления сигналов от одной точки к другой посредством физических каналов, к которым можно отнести: медные сетевые кабели, оптико-волоконные линии, беспроводные Wi-Fi-соединения и другие. Физические каналы для передачи данных обладают определенным набором характеристик:
- предложенная нагрузка (бит/сек) - представляет собой определенный поток данных, направляемых на сетевой вход, который характеризуется скоростью;
- скорость передачи данных (бит/сек) - фактическая скорость, с которой поток информации прошел через сетевой канал, может быть ниже скорости предложенной нагрузки, ввиду искажения или потери данных;
- пропускная способность канала (бит/сек) - максимально допустимое значение скорости передачи данных по физическому каналу;
- полоса пропускания (Гц) - ширина полосы частот для передачи данных без существенных искажений. В отдельных случаях также рассматривается как пропускная способность канала (бит/сек).

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

1984

Grey Team
08.03.2018
137
488
BIT
0
  • Нравится
Реакции: vag4b0nd

Сергей Попов

Кодебай
30.12.2015
4 691
6 584
BIT
291
  • Нравится
Реакции: a1d3n

1984

Grey Team
08.03.2018
137
488
BIT
0
Я понимаю, что есть различные учебные пособия и материалы, распространенные по глобальной сети, НО, когда я принялся изучать работу компьютерных сетей, всё, что выдавали мне поисковики - это лишь частичные данные по отдельным разрозненным темам. Да, вся информация есть у учебных пособиях, но для того, чтобы перечитать учебник, а ещё и понять, вникнуть в суть каждого, описанного там нюанса, нужно немало времени. Я же старался изложить основную суть, не вдаваясь в самые дебри. В том, что на форуме уже есть отличный цикл статей на тему компьютерных сетей, и я начал писать свой цикл, не вижу в этом ничего зазорного, так как подача материала различается, и по личному опыту могу сказать, что лучше изучить два разных материала, чтобы открытых вопросов осталось как можно меньше.

Ну а всем тем, кому интересны мои статьи, желаю приятного изучения. :)
 

ОбороТенЬ

Green Team
26.09.2019
27
4
BIT
0
я начал писать свой цикл, не вижу в этом ничего зазорного
В этом нет ничего зазорного.
Не нужно оправдываться.
У тебя непременно найдутся благодарные читатели.
Не сейчас - так в будущем.

Два автора, два взгляда, два подхода - один дополняет другого.
Два цикла статей на одну тему - это лучше, чем один :)

Подобные комменты
пропускай мимо ушей.
Мало того, что подобные умозаключения несостоятельны, они ещё способны обломить крылья.

Только представь, если бы в мире существовал только один учебник Python ... или чего то иного.
Если бы в мире существовал только один взгляд, только один автор и так далее.
УЖАС, у меня мурашки по коже от такого мира.
Продолжай писать.

Но у меня вопрос. Это вполне нормальный вопрос.
Не пойму, почему иногда мои вопросы воспринимаются авторами "в штыки" ?
Вопрос:
Каким образом знания, описанные тобою в статье, отражаются на твоих практических занятия в области пентестинга ?
 

ОбороТенЬ

Green Team
26.09.2019
27
4
BIT
0
Похоже на то, но оратору сверху не в домек, что автор переписывает уже разжеванную тему, не открывая чего то нового.
Я не "оратор сверху" :)
Хочется человеку пожевать разжёванное - пусть жуёт.
Зачем ему в рот заглядывать, аппетит портить ?

Если от каждой статьи ожидать открытия, то открывашка может очень скоро закончиться.
Открытий на всех - не хватит.
 
  • Нравится
Реакции: 1984

1984

Grey Team
08.03.2018
137
488
BIT
0
Каким образом знания, описанные тобою в статье, отражаются на твоих практических занятия в области пентестинга ?
Так я же не для гуру пентеста это пишу, которые по содержанию, даже взятое за основу учебное пособие определили. :) Статья скорее для тех, кто только начинает изучать компьютерные сети, в том числе, как основу пентеста. :)
 
  • Нравится
Реакции: Brokard

Sombrero

Green Team
23.09.2019
67
4
BIT
0
К слову , по поводу сетей . Есть , допустим , неплохой подкаст . Их же бесплатный курс Сети для самых маленьких .
 

HebiNeco

Green Team
31.08.2019
124
35
BIT
0
Спасибо за статьи. Про историю развития было прям интересно почитать)
 

afanasev

New member
29.10.2018
2
0
BIT
0
Хотелось бы почитать более широкую статью про сети с использованием маршрутизаторов
 

Brokard

One Level
13.02.2020
4
1
BIT
0
Мне как новичку, было очень просто, и интересно почитать. Не всегда есть возможность почитать большие, обширные материалы, а здесь всё коротко и понятно. Авторам, большое спасибо за первую и вторую часть.
 
  • Нравится
Реакции: Сергей Попов

PolFinch

Green Team
29.12.2020
11
6
BIT
0
Благодарю за материал, очень понятно изложено, искал про сети, наткнулся на этот замечательный сайт, и почему его ранее не находил.
 

shKiev

Заблокирован
16.11.2021
21
11
BIT
0
пиши еще! пусть тема заезженная , но я к примеру возвращаюсь к сетям и много чего пытаюсь понять, спасибо за труды!
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!