Локальная сеть своими руками: Общие правила построения домашней сети и ее основные компоненты. Сетевые технологии или делаем сеть своими руками. Основные принципы построения локальной сети

Обновлено — 2017-02-14

Локальная сеть с доступом в интернет. Если у вас дома несколько компьютеров и все ваши домочадцы постоянно работают за ними, а выход в Интернет только у одного из них, то вы наверняка уже не раз задавались вопросом: — Как подключить все эти компьютеры к скоростному Интернету ADSL через один модем?

Вот об этом мы сейчас и поговорим. Причем, не обязательно все компьютеры настольные. Это можно сделать и с ноутбуками. Все настройки я буду описывать для Windows XP. Хотя тоже самое можно проделать и для других систем. Разница только в доступе к настройкам сетевой карты. Во всех операционных системах настройки сетевой карты спрятаны по-разному.

Разница только в пути к ним, т.к. у разных систем разные панели управления. Какими бы ни были хорошими и навороченными новые операционные системы (Vista и Windows 7), но я предпочитаю Windows XP. Её настройки (особенно для локальной сети) самые гибкие и простые.

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

Что нам понадобится для построения локальной сети с доступом в интернет

Купили коммутатор на пять портов,

и три сетевых кабеля: один — 3-х метровый и 2 по10 метров.

Сетевые карты во всех трёх компьютерах встроенные в материнскую плату, поэтому мы купили только одну — для подключения модема.

Модем у нас уже имелся в наличии.

В общем, всё обошлось «малой кровью» — чуть больше 700 рублей.

Подключение оборудования для локальной сети

С ДОСТУПОМ В ИНТЕРНЕТ

  • Установили новую сетевую карту в PCI -слот компьютера, у которого будет прямой выход в Интернет. Этот компьютер у нас будет Сервером. Система сразу обнаружила её и сама установила необходимый драйвер (если у Вас система не смогла установить драйвер, то установите его сами с диска, который продается вместе с сетевой картой).
  • Подключили в эту сетевую карту модем и .
  • Во вторую сетевую карту этого же компьютера мы подключим кабель, который вторым концом будет соединен к коммутатору.
  • Подсоединили сетевые кабели к сетевым картам каждого компьютера.

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

Настройка локальной сети

С ДОСТУПОМ В ИНТЕРНЕТ

Потом взялись за настройку локальной сети.

  • Начали с настройки Сервера , у которого прямой выход в Интернет. Для этого выбираем —Пуск Настройка Панель управления Сетевые подключения .
  • Сначала переименовали сетевую карту для подключения сети, чтобы в дальнейшем не путаться. Назвали её солидно — «ЛВС » (локальная вычислительная сеть).
  • Теперь у нас значок под названием «ЛВС » — это сетевая карта, в которую у нас подключен кабель локальной сети. Посмотрим на настройки нашей сетевой карты для локальной сети. Для этого щелкаем правой кнопкой мыши по значку «ЛВС Свойства ».

  • Открылось окно «ЛВС – свойства ». Если Вы назвали свою сетевую карту по-другому, то у Вас будет другое название, только слово Свойства не измениться. Роли, это ни какой не играет, так что можете на этом не зацикливаться.

  • В этом окне на вкладке «Общие » щелкаем дважды левой кнопкой мыши по записи «Протокол Интернета (TCP / IP ) » или выделите эту запись и ниже нажмите кнопочку «Свойства ».
  • Откроется следующее окно «TCP / IP ) ».

  • В нём делаем активной (устанавливаем точку) напротив записи «Использовать следующий IP -адрес: ».
  • Присваиваем нашему компьютеру, на котором будет подключение к Интернету непосредственно через модем IP -адрес: 192.168.0.1 (если Вы никогда не настраивали сеть, то лучше пишите тоже, что у нас). Последняя цифра обязательно должна быть 1 . Сервер должен быть первым в сети.
  • Маска подсети: 255.255.255.0 (точки нигде прописывать не надо). Больше ничего нигде писать не надо. Сохраняем всё (нажимаем кнопку «ОК «).
  • Ставим, галочки внизу на «При подключении вывести значок в области уведомлений » и «Уведомлять при ограниченном или отсутствующем подключении », что бы сразу было видно, если отошел кабель или ещё по какой-нибудь причине нет сети. И ещё раз всё сохраняем.
  • Всё сетевую карту первого компьютера по имени «Сервер» мы настроили. Теперь переходим к настройке самой сети.
  • Выделяем значок «ЛВС ».

  • И нажимаем слева в Сетевых задачах на иконку домика «Установить домашнюю сеть или сеть малого офиса ».

  • Откроется окно «Мастер настройки сети ». Жмем на кнопку «Далее ».

  • В следующем окне опять жмем кнопку «Далее ».

  • В следующем окне ставим точку на запись «Другое » и нажимаем кнопку «Далее ».

  • В этом окне устанавливаем точку на «Этот компьютер принадлежит к сети, не имеющей подключения к Интернету » (так легче настраивать сеть).
  • И опять жмем кнопку «Далее ». Откроется следующее окно настройки сети, где нас попросят дать имя и описание.

Описание можно не писать, а имя должно быть понятным для Вас. Лучше меняйте его на этом шаге. Чтобы всё работало без проблем, все имена должны быть прописаны английскими буквами, а большими или маленькими – значения не имеет.

У нас сначала компьютер назывался STELLA , поэтому он пишет текущее имя STELLA , а сейчас мы его переименуем в SERVER . И опять жмем кнопку «Далее «. В следующем окне необходимо указать рабочую группу.

Имя рабочей группы можете оставить как есть, а можете и изменить на то, которое Вам нравиться. Это тоже ни на что не влияет. Жмем кнопку «Далее «.

На этой странице лучше всё оставить как есть.

На следующей странице Вы увидите все те данные, которые внесли для настройки своей сети. Если Вас что-то не устраивает, то можете вернуться по кнопке «Назад » и изменить то, что Вам нужно. Если всё устраивает, то жмете кнопку «Далее ».

В этом окне лучше установить точку на «Просто завершить работу мастера ».

Далее жмем кнопку «Готово » и система предложит Вам перезагрузиться. Следуйте этому совету. Точно таким же образом мы настроили сетевые карты на других двух компьютерах. Единственное отличие только в другом имени, а имя группы у всех должно быть одним (т.е. одинаковым).

На другом компьютере, как Вы видите у нас название значка не изменено, так как других значков нет, и его ни с чем не перепутаешь. Сетевая карта ведь одна.

В «Протокол Интернета (TCP / IP ) » для второго компьютера прописываем:

IP -адрес: 192.168.0.2

Основной шлюз: 198.162.0.1

Предпочитаемый DNS -сервер: 192.168.0.1

Альтернативный DNS -сервер: ничего не пишем

В «Протокол Интернета (TCP / IP ) » для третьего компьютера прописываем:

IP -адрес: 198.162.0.3

Маска подсети: 255.255.255.0

Основной шлюз: 198.162.0.1

Предпочитаемый DNS -сервер: 192.168.0.1

Альтернативный DNS -сервер: ничего не пишем

Всё тоже самое, что и на втором, только у IP -адреса последняя цифра 3 .

Сеть у нас настроена. Теперь настраиваем сетевую карту, к которой подключен модем (если у Вас уже подключен модем и настроен Интернет, тогда эту часть статьи можете пропустить).

Идем опять к первому компьютеру, который назвали «Сервер ». Заходим в – Пуск Панель управления Сетевые подключения . Щелкаем правой кнопкой мыши по значку сетевой карты «Интернет » и в выпадающем меню выбираем «Свойства ».

Откроется окно «Интернет – свойства ». В нём на вкладке «Общие » выбираем в маленьком окошке «Компоненты, используемые этим подключением: » запись «Протокол Интернета (TCP / IP ) » и открываем его либо двойным щелчком мыши либо кнопкой «Свойства ».

В новом открывшемся окне «Свойства: Протокол Интернета (TCP / IP ) » устанавливаем точку на записи «Использовать следующий IP -адрес: » и прописываем:

IP -адрес: 192.168.1.26

Маска подсети: 255.255.255.0

Основной шлюз: 192.168.1.1

(Эти цифры у Вас могут быть другими. Их можно узнать по телефону техподдержки у Вашего провайдера Интернета).

И нажимаем кнопку «ОК ».

Попадаем опять в окно «Интернет – свойства ». Переходим на вкладку «Дополнительно ».

Устанавливаем в нем галочку «Разрешить другим пользователям сети использовать подключение к Интернету данного компьютера». И снимите галочку с «Разрешить другим пользователям сети управлять общим доступом к подключению к Интернету ». Жмем кнопку «ОК » и перезагружаем все компьютеры. Вот и всё. Теперь у нас есть сеть с подключением всех компьютеров к Интернету.

  • Главное условие: «Сервер» должен быть включен и подключен к Интернету даже если на нем никто пока не работает, иначе другие компьютеры не смогут выйти в Интернет.

На других компьютерах (Клиентах) Вам нужно только запустить Ваш браузер (Оперу или то, что у Вас установлено).

Вот схема подключения наших компьютеров:

Обязательно необходимо на всех компьютерах установить антивирусник, тем более он у Вас сможет регулярно обновляться. Наслаждайтесь преимуществом локальной сети.

Подключение двух компьютеров к Интернету

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

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

Вот мы и рассмотрели вопросы:

  • настройка локальной сети XP,
  • подключение двух компьютеров к Интернету,
  • общий доступ к подключению к интернету,
  • локальная сеть с общим доступом в интернет.

В ближайшее время я расскажу вам, , и как .

Видеоролик: Настройка локальной сети в Windows 7

Видеролик Как снять пароль доступа к сети, папкам и принтерам

Общие принципы построения сетей

Совместное использование ресурсов

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

· периферийные устройства, такие как диски, принтеры, плоттеры, сканеры и др.;

· данные, хранящиеся в оперативной памяти или на внешних запоминающих устройствах;

· вычислительная мощность (за счет удаленного запуска «своих» программ на «чужих компьютерах).

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

Рассмотрим простейшую сеть , состоящую из двух компьютеров, к одному из которых подключен принтер (рис.). Какие дополнительные средства должны быть предусмотрены в обоих компьютерах, чтобы с принтером мог работать не только пользователь компьютера В, к которому этот принтер непосредственно подключен, но и пользователь компьютера А?

Сетевые интерфейсы

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

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

Разделяют физический и логический интерфейсы

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

· Логический интерфейс (называемый также протоколом) - это набор информационных сообщений определенного формата, которыми обмениваются два устройства или две программы, а также набор правил, определяющих логику обмена этими сообщениями.


На рис. мы видим интерфейсы двух типов: компьютер-компьютер и компьютер-периферийное устройство .

· Интерфейс компьютер компьютер позволяет двум компьютерам обмениваться информацией. С каждой стороны он реализуется парой:

o аппаратным модулем, называемым сетевым адаптером, или сетевой интерфейсной картой (Network Interface Card, NIC);

o драйвером сетевой интерфейсной карты - специальной программой, управляющей работой сетевой интерфейсной карты.

· Интерфейс компьютер-периферийное устройство (в данном случае интерфейс компьютер-принтер) позволяет компьютеру управлять работой периферийного устройства (ПУ). Этот интерфейс реализуется:

o со стороны компьютера - интерфейсной картой и драйвером ПУ (принтера), подобным сетевой интерфейсной карте и ее драйверу;

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

Связь компьютера с периферийным устройством

Для того чтобы решить задачу организации доступа приложения, выполняемого на компьютере А, к ПУ через сеть, давайте, прежде всего, посмотрим, как управляет этим устройством приложение, выполняемое на компьютере В, к которому данное ПУ подключено непосредственно (рис.выше).

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

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

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

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

Обмен данными между двумя компьютерами

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

Приложения А и В (см. рис. выше) управляют процессом передачи данных путем обмена сообщениями. Чтобы приложения могли «понимать» получаемую друг от друга информацию, программисты, разрабатывавшие эти приложения, должны строго оговорить форматы и последовательность сообщений, которыми приложения будут обмениваться во время выполнения этой операции. Например, они могут договориться о том, что любая операция обмена данными начинается с передачи сообщения, запрашивающего информацию о готовности приложения В что в следующем сообщении идут идентификаторы компьютера и пользователя, сделавшего запрос; что признаком срочного завершения операции обмена данными является определенная кодовая комбинация и т. п. Тем самым определяется про- токол взаимодействия приложений для выполнения операции данного типа.

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

Заметим, что для реализации протокола нужно, чтобы к моменту возникновения потребности в обмене данными были активны оба приложения: как приложение А, которое посылает инициирующее сообщение, так и приложение В, которое должно быть готово принять это сообщение и выработать реакцию на него.

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

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

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

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

Доступ к ПУ через сеть

Итак, мы имеем в своем распоряжении механизм, который позволяет приложениям, выполняющимся на разных компьютерах, обмениваться данными. И хотя приложение А (см. рис.) по-прежнему не может управлять принтером, подключенным к компьютеру В, оно может теперь воспользоваться средствами межкомпьютерного обмена данными, чтобы передать приложению В «просьбу» выполнить для него требуемую операцию. Приложение А должно «объяснить» приложению В, какую операцию необходимо выполнить, с какими данными, на каком из имеющихся в его распоряжении устройств, в каком виде должен быть распечатан текст и т. п. В ходе печати могут возникнуть ситуации, о которых приложение В должно оповестить приложение А, например об отсутствии бумаги в принтере. То есть для решения поставленной задачи доступа к принтеру но сети должен быть разработан специальный протокол взаимодействия приложений А и В.

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

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

2. ОС запускает драйвер сетевой ИК, сообщая ему адрес буфера ОП, где хранится сообщение.

3. Драйвер и сетевая интерфейсная карта компьютера А, взаимодействуя с драйвером и интерфейсной картой компьютера В, передают сообщение байт за байтом в буфер ОП компьютера В.

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

5. ОС запускает драйвер принтера, который в кооперации с интерфейсной картой и контроллером принтера выполняет требуемую операцию печати.

Уже на этом начальном этапе, рассматривая связь компьютера с периферийным устройством, мы столкнулись с важнейшими «сетевыми» понятиями: интерфейсом и протоколом, драйвером и интерфейсной картой, а также с проблемами, характерными для компьютерных сетей: согласованием интерфейсов, синхронизацией асинхронных процессов, обеспечением достоверности передачи данных.

Сетевое программное обеспечение

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

Рассмотрим типичный небольшой офис. Предположим, что в нем работают несколько менеджеров (пусть их будет три), секретарь, бухгалтер и директор. На каждом рабочем месте установлен компьютер, также в офисе есть один выделенный канал в интернет с постоянным реальным ip адресом (например 195.34.10.134) и доменное имя myoffice.ru.

Теперь определимся, что мы хотим сделать.

  • объединить все компьютеры в локальную сеть (LAN);
  • организовать печать со всех рабочих мест на сетевой принтер;
  • подключить и настроить Интернет - канал;
  • организовать доступ в Интернет со всех компьютеров локальной сети.;
  • защитить локальную сеть от внешних вторжений;
  • установить и настроить сетевые сервисы: WEB-сервер, почтовый сервер, файловый, FTP, прокси и т.д.;
  • организовать удаленный модемный доступ к офисной сети из дома с возможностью использования офисного интернет-канала

Теперь приступим к проектированию структуры сети.

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

Сначала выберем диапазон IP адресов для нашей локальной сети. Остановимся на зарезервированных для использования в частных сетях адресах: 192.168.0.0-192.168.255.255. Для нашей локальной сети используем адресацию 192.168.20.0/24, где "/24" - сокращенная форма записи маски подсети 255.255.255.0. В каждой такой сети (класса "С") может использоваться до 254 уникальных хостов, чего нам вполне достаточно. Постоянный ip адрес (195.34.10.134) в сети интернет нам по условию задачи предоставлен провайдером.

В простом случае наша сеть может иметь следующую топологию:

Как видно из рисунка 1, большая часть сетевых сервисов размещена на одном компьютере, который через один сетевой интерфейс подключен к сети интернет, через другой - к локальной сети офиса, а через модемное соединение - к домашнему компьютеру. Каждому сетевому интерфейсу этого компьютера соответствует свой ip адрес: 195.34.10.134 - в сети интернет, 192.168.20.1 - в локальной сети, 192.168.40.1 - при удаленном соединении. Таким образом этот компьютер выполняет роль и маршрутизатора и файерволла и серверов: web, почтового, базы данных и пр. (Маршрутизатор - в нашем случае играет роль шлюза в Интернет. Вы можете спросить: нафиг он нужен, чем занимается? Отвечу как чайник: маршрутзатор занимается маршрутизацией... пакетов между подсетями, но в нашем случае он будет просто "раздавать" Интернет всем компьютерам в нашей локальной сети). Но такая структура имеет недостатки: во-первых, опасно "класть все яйца в одну корзину" (такая сеть весьма уязвима для атак и не очень надежна - проигравший теряет все), во-вторых, в ней не оптимально распределяется нагрузка, а в-третьих, ее неудобно администрировать - любой сбой или неисправность основного сервера практически полностью парализует работу всей локальной сети. Несмотря на недостаки этого варианта, мы в дальнейшем в основном будем использовать именно его, т.к. мы здесь рассматриваем самые простые и дешевые решения для маленьких контор и дома. Следующие две схемы приведены лишь для ознакомления, и в них можно не вникать.

Теперь немного изменим топологию сети, чтобы устранить часть недостатков (см. рис.2).

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

Поэтому, может быть, будет лучше интернет-серверы выделить в отдельный сегмент (см. рис.3).

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

Могут быть и другие топологии локальной сети, все зависит от конкретных целей и условий, но для упрощения задачи мы остановимся на первой сетевой топологии (Рис.1), несмотря на ее недостатки, т.к. для экспериментов - это не принципиально.

Теперь пришло время подумать на каком оборудовании и программном обеспечении (ПО) следует реализовать нашу простую локальную сеть. Конкретные реализации будут описаны в следующих статьях, здесь же затронем общие вопросы.

Прошло то время, когда руководство компаний могло не задумываться о легальности устанавливаемых программ. Сейчас нарушения в области авторских прав относятся к тяжким преступлениям, поэтому от греха подальше (с целью минимизации рисков) будем рассматривать только лицензионное программное обеспечение. Оптимизация затрат при переходе на лицензионные программы для маленьких организаций будут рассмотренны в отдельной статье 146УК (шутка:)))).

В качестве шлюза в Интернет можно использовать:

  • компьютер с Windows (дорогое решение);
  • компьютер с FreeBSD/Linux;
  • аппаратный роутер (самое простое и дешевое решение - от 50$).

От некоторых крутых гуру, работающих в крупных организациях, скорее всего услышите рекомендацию на сервер поставить MS Windows 2003 Server, на него поставить ISA (для организации Интернет доступа), почтовый сервер MS Exchange, на клиентские компьютеры поставить Windows XP Pro и завести их в домен, а 1С использовать в терминальном режиме.

В принципе это функционально оптимальный вариант... для крупных организаций, но мы то не монстры, мы - маленькая конторка на 3-10 ПК. Посчитайте по прайс-листу партнеров Microsoft во сколько тысяч (десятков тысяч) долларов вам обойдется такое решение. Поэтому в следующих статьях будут рассматриваться в основном дешевые варианты, где на сервере (шлюзе) будут использоваться бесплатные FreeBSD или Linux, а на клиентских машинах Windows XP HomeEdition (или Professional)... а то и Linux Ubuntu.

  • Tutorial

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


Немного оффтопа: Приблизительно месяц назад сдал экзамен CCNA (на 980/1000 баллов) и осталось много материала за год моей подготовки и обучения. Учился я сначала в академии Cisco около 7 месяцев, а оставшееся время вел конспекты по всем темам, которые были мною изучены. Также консультировал многих ребят в области сетевых технологий и заметил, что многие наступают на одни и те же грабли, в виде пробелов по каким-то ключевым темам. На днях пару ребят попросили меня объяснить, что такое сети и как с ними работать. В связи с этим решил максимально подробно и простым языком описать самые ключевые и важные вещи. Статьи будут полезны новичкам, которые только встали на путь изучения. Но, возможно, и бывалые сисадмины подчеркнут из этого что-то полезное. Так как я буду идти по программе CCNA, это будет очень полезно тем людям, которые готовятся к сдаче. Можете держать статьи в виде шпаргалок и периодически их просматривать. Я во время обучения делал конспекты по книгам и периодически читал их, чтобы освежать знания.

Вообще хочу дать всем начинающим совет. Моей первой серьезной книгой, была книга Олиферов «Компьютерные сети». И мне было очень тяжело читать ее. Не скажу, что все было тяжело. Но моменты, где детально разбиралось, как работает MPLS или Ethernet операторского класса, вводило в ступор. Я читал одну главу по несколько часов и все равно многое оставалось загадкой. Если вы понимаете, что какие то термины никак не хотят лезть в голову, пропустите их и читайте дальше, но ни в коем случае не отбрасывайте книгу полностью. Это не роман или эпос, где важно читать по главам, чтобы понять сюжет. Пройдет время и то, что раньше было непонятным, в итоге станет ясно. Здесь прокачивается «книжный скилл». Каждая следующая книга, читается легче предыдущей книги. К примеру, после прочтения Олиферов «Компьютерные сети», читать Таненбаума «Компьютерные сети» легче в несколько раз и наоборот. Потому что новых понятий встречается меньше. Поэтому мой совет: не бойтесь читать книги. Ваши усилия в будущем принесут плоды. Заканчиваю разглагольствование и приступаю к написанию статьи.

Вот сами темы

1) Основные сетевые термины, сетевая модель OSI и стек протоколов TCP/IP.
2) Протоколы верхнего уровня.
3) Протоколы нижних уровней (транспортного, сетевого и канального).
4) Сетевые устройства и виды применяемых кабелей.
5) Понятие IP адресации, масок подсетей и их расчет.
6) Понятие VLAN, Trunk и протоколы VTP и DTP.
7) Протокол связующего дерева: STP.
8) Протокол агрегирования каналов: Etherchannel.
9) Маршрутизация: статическая и динамическая на примере RIP, OSPF и EIGRP.
10) Трансляция сетевых адресов: NAT и PAT.
11) Протоколы резервирования первого перехода: FHRP.
12) Безопасность компьютерных сетей и виртуальные частные сети: VPN.
13) Глобальные сети и используемые протоколы: PPP, HDLC, Frame Relay.
14) Введение в IPv6, конфигурация и маршрутизация.
15) Сетевое управление и мониторинг сети.

P.S. Возможно, со временем список дополнится.


Итак, начнем с основных сетевых терминов.

Что такое сеть? Это совокупность устройств и систем, которые подключены друг к другу (логически или физически) и общающихся между собой. Сюда можно отнести сервера, компьютеры, телефоны, маршрутизаторы и так далее. Размер этой сети может достигать размера Интернета, а может состоять всего из двух устройств, соединенных между собой кабелем. Чтобы не было каши, разделим компоненты сети на группы:

1) Оконечные узлы: Устройства, которые передают и/или принимают какие-либо данные. Это могут быть компьютеры, телефоны, сервера, какие-то терминалы или тонкие клиенты, телевизоры.

2) Промежуточные устройства: Это устройства, которые соединяют оконечные узлы между собой. Сюда можно отнести коммутаторы, концентраторы, модемы, маршрутизаторы, точки доступа Wi-Fi.

3) Сетевые среды: Это те среды, в которых происходит непосредственная передача данных. Сюда относятся кабели, сетевые карточки, различного рода коннекторы, воздушная среда передачи. Если это медный кабель, то передача данных осуществляется при помощи электрических сигналов. У оптоволоконных кабелей, при помощи световых импульсов. Ну и у беспроводных устройств, при помощи радиоволн.

Посмотрим все это на картинке:

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

Теперь, на мой взгляд, главный вопрос: Для чего мы используем сети? Ответов на этот вопрос много, но я освещу самые популярные, которые используются в повседневной жизни:

1) Приложения: При помощи приложений отправляем разные данные между устройствами, открываем доступ к общим ресурсам. Это могут быть как консольные приложения, так и приложения с графическим интерфейсом.

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

3) Хранилище: Используя сервер или рабочую станцию, подключенную к сети, создается хранилище доступное для других. Многие люди выкладывают туда свои файлы, видео, картинки и открывают общий доступ к ним для других пользователей. Пример, который на ходу приходит в голову, - это google диск, яндекс диск и тому подобные сервисы.

4) Резервное копирование: Часто, в крупных компаниях, используют центральный сервер, куда все компьютеры копируют важные файлы для резервной копии. Это нужно для последующего восстановления данных, если оригинал удалился или повредился. Методов копирования огромное количество: с предварительным сжатием, кодированием и так далее.

5) VoIP: Телефония, работающая по протоколу IP. Применяется она сейчас повсеместно, так как проще, дешевле традиционной телефонии и с каждым годом вытесняет ее.

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

1) Загрузчики. Это файловые менеджеры, работающие по протоколу FTP, TFTP. Банальный пример - это скачивание фильма, музыки, картинок с файлообменников или иных источников. К этой категории еще можно отнести резервное копирование, которое автоматически делает сервер каждую ночь. То есть это встроенные или сторонние программы и утилиты, которые выполняют копирование и скачивание. Данный вид приложений не требует прямого человеческого вмешательства. Достаточно указать место, куда сохранить и скачивание само начнется и закончится.

Скорость скачивания зависит от пропускной способности. Для данного типа приложений это не совсем критично. Если, например, файл будет скачиваться не минуту, а 10, то тут только вопрос времени, и на целостности файла это никак не скажется. Сложности могут возникнуть только когда нам надо за пару часов сделать резервную копию системы, а из-за плохого канала и, соответственно, низкой пропускной способности, это занимает несколько дней. Ниже приведены описания самых популярных протоколов данной группы:

FTP- это стандартный протокол передачи данных с установлением соединения. Работает по протоколу TCP (этот протокол в дальнейшем будет подробно рассмотрен). Стандартный номер порта 21. Чаще всего используется для загрузки сайта на веб-хостинг и выгрузки его. Самым популярным приложением, работающим по этому протоколу - это Filezilla. Вот так выглядит само приложение:


TFTP- это упрощенная версия протокола FTP, которая работает без установления соединения, по протоколу UDP. Применяется для загрузки образа бездисковыми рабочими станциями. Особенно широко используется устройствами Cisco для той же загрузки образа и резервных копий.

Интерактивные приложения. Приложения, позволяющие осуществить интерактивный обмен. Например, модель «человек-человек». Когда два человека, при помощи интерактивных приложений, общаются между собой или ведут общую работу. Сюда относится: ICQ, электронная почта, форум, на котором несколько экспертов помогают людям в решении вопросов. Или модель «человек-машина». Когда человек общается непосредственно с компьютером. Это может быть удаленная настройка базы, конфигурация сетевого устройства. Здесь, в отличие от загрузчиков, важно постоянное вмешательство человека. То есть, как минимум, один человек выступает инициатором. Пропускная способность уже более чувствительна к задержкам, чем приложения-загрузчики. Например, при удаленной конфигурации сетевого устройства, будет тяжело его настраивать, если отклик от команды будет в 30 секунд.

Приложения в реальном времени. Приложения, позволяющие передавать информацию в реальном времени. Как раз к этой группе относится IP-телефония, системы потокового вещания, видеоконференции. Самые чувствительные к задержкам и пропускной способности приложения. Представьте, что вы разговариваете по телефону и то, что вы говорите, собеседник услышит через 2 секунды и наоборот, вы от собеседника с таким же интервалом. Такое общение еще и приведет к тому, что голоса будут пропадать и разговор будет трудноразличимым, а в видеоконференция превратится в кашу. В среднем, задержка не должна превышать 300 мс. К данной категории можно отнести Skype, Lync, Viber (когда совершаем звонок).

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

Теперь посмотрим и разберем виды топологии:

1) Топология с общей шиной (англ. Bus Topology)


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

2) Кольцевая топология (англ. Ring Topology)


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

3) Топология звезда (англ. Star Topology)


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

4)Полносвязная топология (англ. Full-Mesh Topology)


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

5)Неполносвязная топология (англ. Partial-Mesh Topology)


Как правило, вариантов ее несколько. Она похожа по строению на полносвязную топологию. Однако соединение построено не с каждого на каждый, а через дополнительные узлы. То есть узел A, связан напрямую только с узлом B, а узел B связан и с узлом A, и с узлом C. Так вот, чтобы узлу A отправить сообщение узлу C, ему надо отправить сначала узлу B, а узел B в свою очередь отправит это сообщение узлу C. В принципе по этой топологии работают маршрутизаторы. Приведу пример из домашней сети. Когда вы из дома выходите в Интернет, у вас нет прямого кабеля до всех узлов, и вы отправляете данные своему провайдеру, а он уже знает куда эти данные нужно отправить.

6) Смешанная топология (англ. Hybrid Topology)


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

И последнее, что осталось разобрать - это сетевые модели. На этапе зарождения компьютеров, у сетей не было единых стандартов. Каждый вендор использовал свои проприетарные решения, которые не работали с технологиями других вендоров. Конечно, оставлять так было нельзя и нужно было придумывать общее решение. Эту задачу взвалила на себя международная организация по стандартизации (ISO - International Organization for Standartization). Они изучали многие, применяемые на то время, модели и в результате придумали модель OSI , релиз которой состоялся в 1984 году. Проблема ее была только в том, что ее разрабатывали около 7 лет. Пока специалисты спорили, как ее лучше сделать, другие модели модернизировались и набирали обороты. В настоящее время модель OSI не используют. Она применяется только в качестве обучения сетям. Мое личное мнение, что модель OSI должен знать каждый уважающий себя админ как таблицу умножения. Хоть ее и не применяют в том виде, в каком она есть, принципы работы у всех моделей схожи с ней.

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

1) Физический уровень (Physical Layer): определяет метод передачи данных, какая среда используется (передача электрических сигналов, световых импульсов или радиоэфир), уровень напряжения, метод кодирования двоичных сигналов.

2) Канальный уровень (Data Link Layer): он берет на себя задачу адресации в пределах локальной сети, обнаруживает ошибки, проверяет целостность данных. Если слышали про MAC-адреса и протокол «Ethernet», то они располагаются на этом уровне.

3) Сетевой уровень (Network Layer): этот уровень берет на себя объединения участков сети и выбор оптимального пути (т.е. маршрутизация). Каждое сетевое устройство должно иметь уникальный сетевой адрес в сети. Думаю, многие слышали про протоколы IPv4 и IPv6. Эти протоколы работают на данном уровне.

4) Транспортный уровень (Transport Layer): Этот уровень берет на себя функцию транспорта. К примеру, когда вы скачиваете файл с Интернета, файл в виде сегментов отправляется на Ваш компьютер. Также здесь вводятся понятия портов, которые нужны для указания назначения к конкретной службе. На этом уровне работают протоколы TCP (с установлением соединения) и UDP (без установления соединения).

5) Сеансовый уровень (Session Layer): Роль этого уровня в установлении, управлении и разрыве соединения между двумя хостами. К примеру, когда открываете страницу на веб-сервере, то Вы не единственный посетитель на нем. И вот для того, чтобы поддерживать сеансы со всеми пользователями, нужен сеансовый уровень.

6) Уровень представления (Presentation Layer): Он структурирует информацию в читабельный вид для прикладного уровня. Например, многие компьютеры используют таблицу кодировки ASCII для вывода текстовой информации или формат jpeg для вывода графического изображения.

7) Прикладной уровень (Application Layer): Наверное, это самый понятный для всех уровень. Как раз на этом уроне работают привычные для нас приложения - e-mail, браузеры по протоколу HTTP, FTP и остальное.

Самое главное помнить, что нельзя перескакивать с уровня на уровень (Например, с прикладного на канальный, или с физического на транспортный). Весь путь должен проходить строго с верхнего на нижний и с нижнего на верхний. Такие процессы получили название инкапсуляция (с верхнего на нижний) и деинкапсуляция (с нижнего на верхний). Также стоит упомянуть, что на каждом уровне передаваемая информация называется по-разному.

На прикладном, представления и сеансовым уровнях, передаваемая информация обозначается как PDU (Protocol Data Units). На русском еще называют блоки данных, хотя в моем круге их называют просто данные).

Информацию транспортного уровня называют сегментами. Хотя понятие сегменты, применимо только для протокола TCP. Для протокола UDP используется понятие - датаграмма. Но, как правило, на это различие закрывают глаза.
На сетевом уровне называют IP пакеты или просто пакеты.

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

1) Представим ситуацию, что вы сидите у себя дома за компьютером, а в соседней комнате у вас свой локальный веб-сервер. И вот вам понадобилось скачать файл с него. Вы набираете адрес страницы вашего сайта. Сейчас вы используете протокол HTTP, которые работает на прикладном уровне. Данные упаковываются и спускаются на уровень ниже.

2) Полученные данные прибегают на уровень представления. Здесь эти данные структурируются и приводятся в формат, который сможет быть прочитан на сервере. Запаковывается и спускается ниже.

3) На этом уровне создается сессия между компьютером и сервером.

4) Так как это веб сервер и требуется надежное установление соединения и контроль за принятыми данными, используется протокол TCP. Здесь мы указываем порт, на который будем стучаться и порт источника, чтобы сервер знал, куда отправлять ответ. Это нужно для того, чтобы сервер понял, что мы хотим попасть на веб-сервер (стандартно - это 80 порт), а не на почтовый сервер. Упаковываем и спускаем дальше.

5) Здесь мы должны указать, на какой адрес отправлять пакет. Соответственно, указываем адрес назначения (пусть адрес сервера будет 192.168.1.2) и адрес источника (адрес компьютера 192.168.1.1). Заворачиваем и спускаем дальше.

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

7) И уже физический уровень конвертирует полученное в биты и при помощи электрических сигналов (если это витая пара), отправляет на сервер.

Процесс деинкапсуляции аналогичен, но с обратной последовательностью:

1) На физическом уровне принимаются электрические сигналы и конвертируются в понятную битовую последовательность для канального уровня.

2) На канальном уровне проверяется MAC-адрес назначения (ему ли это адресовано). Если да, то проверяется кадр на целостность и отсутствие ошибок, если все прекрасно и данные целы, он передает их вышестоящему уровню.

3) На сетевом уровне проверяется IP адрес назначения. И если он верен, данные поднимаются выше. Не стоит сейчас вдаваться в подробности, почему у нас адресация на канальном и сетевом уровне. Это тема требует особого внимания, и я подробно объясню их различие позже. Главное сейчас понять, как данные упаковываются и распаковываются.

4) На транспортном уровне проверяется порт назначения (не адрес). И по номеру порта, выясняется какому приложению или сервису адресованы данные. У нас это веб-сервер и номер порта - 80.

5) На этом уровне происходит установление сеанса между компьютером и сервером.

6) Уровень представления видит, как все должно быть структурировано и приводит информацию в читабельный вид.

7) И на этом уровне приложения или сервисы понимают, что надо выполнить.

Много было написано про модель OSI. Хотя я постарался быть максимально краток и осветить самое важное. На самом деле про эту модель в Интернете и в книгах написано очень много и подробно, но для новичков и готовящихся к CCNA, этого достаточно. Из вопросов на экзамене по данной модели может быть 2 вопроса. Это правильно расположить уровни и на каком уровне работает определенный протокол.

Как было написано выше, модель OSI в наше время не используется. Пока разрабатывалась эта модель, все большую популярность получал стек протоколов TCP/IP. Он был значительно проще и завоевал быструю популярность.
Вот так этот стек выглядит:


Как видно, он отличается от OSI и даже сменил название некоторых уровней. По сути, принцип у него тот же, что и у OSI. Но только три верхних уровня OSI: прикладной, представления и сеансовый объединены у TCP/IP в один, под названием прикладной. Сетевой уровень сменил название и называется - Интернет. Транспортный остался таким же и с тем же названием. А два нижних уровня OSI: канальный и физический объединены у TCP/IP в один с названием - уровень сетевого доступа. Стек TCP/IP в некоторых источниках обозначают еще как модель DoD (Department of Defence). Как говорит википедия, была разработана Министерством обороны США. Этот вопрос встретился мне на экзамене и до этого я про нее ничего не слышал. Соответственно вопрос: «Как называется сетевой уровень в модели DoD?», ввел меня в ступор. Поэтому знать это полезно.

Было еще несколько сетевых моделей, которые, какое то время держались. Это был стек протоколов IPX/SPX. Использовался с середины 80-х годов и продержался до конца 90-х, где его вытеснила TCP/IP. Был реализован компанией Novell и являлся модернизированной версией стека протоколов Xerox Network Services компании Xerox. Использовался в локальных сетях долгое время. Впервые IPX/SPX я увидел в игре «Казаки». При выборе сетевой игры, там предлагалось несколько стеков на выбор. И хоть выпуск этой игры был, где то в 2001 году, это говорило о том, что IPX/SPX еще встречался в локальных сетях.

Еще один стек, который стоит упомянуть - это AppleTalk. Как ясно из названия, был придуман компанией Apple. Создан был в том же году, в котором состоялся релиз модели OSI, то есть в 1984 году. Продержался он совсем недолго и Apple решила использовать вместо него TCP/IP.

Также хочу подчеркнуть одну важную вещь. Token Ring и FDDI - не сетевые модели! Token Ring - это протокол канального уровня, а FDDI это стандарт передачи данных, который как раз основывается на протоколе Token Ring. Это не самая важная информация, так как эти понятия сейчас не встретишь. Но главное помнить о том, что это не сетевые модели.

Вот и подошла к концу статья по первой теме. Хоть и поверхностно, но было рассмотрено много понятий. Самые ключевые будут разобраны подробнее в следующих статьях. Надеюсь теперь сети перестанут казаться чем то невозможным и страшным, а читать умные книги будет легче). Если я что-то забыл упомянуть, возникли дополнительные вопросы или у кого есть, что дополнить к этой статье, оставляйте комментарии, либо спрашивайте лично. Спасибо за прочтение. Буду готовить следующую тему.

Добавить метки