Компьютер - это очень просто. Часть 6.

Продолжение, начало см. здесь

Глава 6. Компьютерные сети

Я пришел к тебе с дискетой рассказать, что сеть упала.
Народный фольклор

     Сеть, сеть, сеть… а что это такое – компьютерная сеть? Почему именно сеть? Да по аналогии с другими сетями, например рыболовной или телефонной: в общем случае это узлы которые соединяются между собой. Из любого узла сети можно добраться до любого через нити (каналы), зачастую разными маршрутами. В случае телефонной сети узлы – это АТС, в случае компьютерной – это компьютеры. Учитывая, что телефонные сети существуют довольно давно, то идея создания компьютерной сети не нова.
     Рассмотрим пример сети в фирме с 10 компьютерами. Все компьютеры соединены посредством специальных кабелей, которые называют патч-кордами (patching cord), с устройством, называемым хабом или свичем (Hub, Switch). Это так называемая схема соединения звездой. При этом компьютер должен комплектоваться так называемой сетевой картой (Ethernet card, все современные компьютеры комплектуются встроенной сетевой картой). Патч-корд одним концом вставляется в сетевую карту, другим в хаб. Благодаря наличию хаба компьютеры могут "видеть" друг-друга. Таким образом организовывается так называемая локальная сеть, в нашем примере с 10 компьютерами.
     Помимо физических устройств (карта, кабель, хаб) необходимо специализированное программное обеспечение, позволяющее общаться компьютерам между собой. Компьютеры в сетях обмениваются так называемыми пакетами — в общих чертах - единицами данных которые содержат информацию об отправителе, адресе получателя, передаваемую информацию и контрольную сумму. Существуют разнообразные программы, работающие по различным протоколам (правилам передачи/приема информации), предназначенные для различных целей. Например, протоколы FTP, bitTorrent позволяют обмениваться файлами, протоколы Icq, Jabber — мгновенными сообщениями, протокол HTTP предназначен для просмотра WEB-страниц (передавать файлы с его помощью тоже можно). Соответственно, программы установленные на компьютерах и предназначенные для работы с перечисленными протоколами, называются либо клиентами, либо серверами. В общем случае программа-сервер предоставляет доступ к данным, а программа-клиент позволяет получить доступ этим данным. Существуют программы которые совмещают в себе свойства и сервера и клиента. Обычно для размещения серверных программ выделяют отдельный компьютер, поэтому такие компьютеры называют серверами.
     Примером сервера в нашей условной компании может быть компьютер на котором размещена база данных учета товаров, например СуперСклад. База данных хранит сведения обо всех товарах компании и позволяет работникам посредством СуперСкладКлиента подключаться к базе и вносить изменения. Поскольку сервер один и каждый сотрудник работает с одной и той же базой, то изменения при поступлении товара, внесенные Леной, тут же увидит менеджер Григорий и сможет предложить клиенту новейший утюг не тратя время на звонок Лене.
     Для того чтобы компьютеры не "заблудились" при обращении к серверу или друг-другу, их нумеруют. Каждому компьютеру присваивается так называемый IP-адрес — набор из 4-х чисел, каждое из которых может быть в диапазоне от 0 до 255. В десятичной записи IP-адрес выглядит следующим образом
     XXX.YYY.CCC.ZZZ
     т.е. каждое из 4-х чисел разделяется точкой.
     В одной и той же сети не может быть двух одинаковых IP-адресов. Давайте раздадим IP-адреса компьютерам в нашей сети. Серверу назначим адрес 192.168.0.1, первому компьютеру сотрудника 192.168.0.2 , второму — 192.168.0.3 ,... десятому — 192.168.0.10 . Почему именно 192.168.0.2, а не 0.0.0.1 и т.д. ? Дело в том, что IP-адресация подчиняется определенным правилам. Вдаваться в подробности не буду, кто хочет, может почитать любую подходящую статью в Сети. Но основной смысл в том, что диапазон адресов с 192.168.0.0 до 192.168.255.255 предназначен для так называемых локальных сетей. Локальная сеть — это сеть, к примеру, организации или домашняя сеть. Поскольку IP-адресация тесно связана с Internet (о котором мы поговорим в следующей главе), то смысл выделения специальных адресов для локальных сетей довольно прозаичен: локальных сетей может быть очень много, каждая из них может содержать одинаковые адреса из указанного диапазона, эти сети могут быть объединены между собой посредством Глобальной сети, но так называемого конфликта IP-адресов не произойдет, потому как адреса 192.168.х.х не маршрутизируются между узлами Internet. Маршрутизация — это перенаправление сетевых пакетов по определенным маршрутам между различными сетями. Маршрутизация осуществляется специальным устройством, которое так и называют – маршрутизатор, или роутер (раутер, рутер) (routing - маршрутизация).
     Еще два важных правила: IP-адрес компьютера не может заканчиваться на 0 или 255. Ноль означает сеть, а 255 — так называемый широковещательный адрес. Например, 192.168.0.0 — это «нулевая сеть», а 192.168.3.0 - «третья сеть». Сети разделяют на классы: A,B,C,D. В нашем примере 192.168.0.0 — сети класса С. Таким образом, в одной сети класса С может находиться максимум 254 компьютера: с номерами от 1 до 254 . Для больших организаций также выделена сеть класса А 10.0.0.0 и диапазон сетей класса B 172.16.0.0 — 172.31.0.0 .
     Поскольку маршрутизация осуществляется между сетями, то зачастую даже в организациях с меньшим чем 254 количеством компьютеров, их разносят по различным сетям. Например, 10 компьютеров в сети 192.168.0.0, и 15 в сети 192.168.2.0 . На самом деле полное описание сети — это IP-адрес с маской, например 192.168.1.0/32, но в подобные «дебри» мы залезать не будем. Можно только отметить, что маска позволяет разделить сеть на подсети. Разделение на сети и подсети используют исходя из различных соображений: территориальных, логических (каждому подразделению своя сеть), соображениям безопасности (легче защитить от вторжения всю сеть, чем отдельный компьютер в ней) и т.д.. Опять же, вдаваться в подробности нет необходимости. Обычно на компьютерах небольшой организации используются адреса вида 192.168.0.Х и маска сети 255.255.255.0 . Данная маска, грубо говоря, означает, что компьютер будет «видеть» все компьютеры сети 192.168.0.0 . Чтобы узнать IP-адрес своего компьютера достаточно (в Windows) нажать Пуск-Выполнить и набрать в появившемся окне cmd , затем нажать ОК. Появится окно с командной строкой. В нем набираем ipconfig и нажимаем на Enter. Результат будет примерно следующий:

     C:\>ipconfig
     Настройка протокола IP для Windows
     Подключение по локальной сети - Ethernet адаптер:
      DNS-суффикс этого подключения . . :
      IP-адрес . . . . . . . . . . . . : 192.168.0.12
      Маска подсети . . . . . . . . . . : 255.255.255.0
      Основной шлюз . . . . . . . . . . : 192.168.0.50

     Что такое "основной шлюз" ? Компьютеры могут общаться между собой непосредственно только в рамках одной сети, например 192.168.0.0 , а если необходимо отправить информацию в другую сеть, например 192.168.3.0 то пакеты отправляются именно на шлюз, который и "разбирается" куда что дальше пересылать. Т.е. на шлюз отсылается все, что не в пределах той сети, в которой находится компьютер.
     Есть еще один интересный IP-адрес — это 127.0.0.1 . Это так называемая loopback - «внутренняя» или «обратная петля». Еще этот адрес называют localhost – локальный хост. Его присваивает каждому компьютеру (с некоторыми оговорками, которые в наше время несущественны) операционная система и предназначен он, как правило, для обеспечения работоспособности программ которым для работы «необходима сеть», но физически компьютер к сети не подключен.
     Основная характеристика сети – пропускная способность. Измеряется в килобитах в секунду – kbit/s или kb/s или kbps (именно килобиты, а не килобайты). Часто путают килобиты c килобайтами, ожидая скорости 256 КБ/c от канала 256 кбит/c, хотя на таком канале скорость будет 256 000 / 8 = 32 000 Б/c = 32 000 / 1 000 = 32 КБ/сек. Здесь делим на 8 так как в 1 байте 8 бит.
     От пропускной способности зависит количество информации которую можно передать от одного компьютера к другому в единицу времени. На данный момент самые распространенные сети с пропускной способностью 100 Мбит/c (Mbps) и 1 Гбит/c (Gbps). Фильм размером с DVD-диск (4,5 Гб) теоретически в сети 100 мб\с должен передаться с одного компьютера на другой за 6 минут. В сети 1 Гбит/с - в 10 раз быстрее. Но это теоретически. На практике скорость всегда меньше и зависит от загруженности сети (количества одновременно передающих/принимающих информацию в сети компьютеров), качества сетевого оборудования и программного обеспечения, грамотности построения сети. К тому же не стоит забывать, что вместе с основной информацией всегда передается и служебная, а это несколько снижает скорость передачи основной информации.
     Сети бывают маленькими, как в нашем примере из 10 компьютеров, средними, большими, например сеть крупной организации с филиалами в различных городах или даже странах. Сетевое оборудование таких компаний состоит из 10-ов или сотен маршрутизаторов, хабов, свичей, сотен километров патч-кордов. Стоит качественное сетевое оборудование тоже не дешево. Построением и сопровождением таких сетей занимаются десятки специалистов высокого уровня.

Продолжение см. здесь