Введення
Опис роботи мережі на більш-менш глибокому рівні займе не одну сторінку. Про це написано сотні книг, публікацій, FAQ. У цьому матеріалі я спробую пояснити роботу мережі на рівні, який необхідний для побудови та настроювання домашньої мережі. Природно, що дуже багато моментів будуть просто втрачені або сильно спрощені. Більш детально робота мережі описана в книгах Оліфера, а також у першому та другому семестрах CCNA.
Якщо у Вас з’являться питання (а вони у Вас обов’язково з’являться ) – то ставимо їх в цьому розділі форуму.
Адресація в мережі
Одним із ключових елементів будь-якої мережі є схема адресації. Саме вона визначає як інформація від джерела потрапить до одержувача.
Розглянемо це питання більш детально на прикладі університету. В університеті є багато факультетів, на факультеті є кілька курсів, на курсі є кілька груп, а групи є десяток студентів, у кожного студента є своє унікальне ім’я, по якому його можна однозначно визначити. Стоїть завдання: один студент повинен передати іншому книжку, наприклад. Якщо обидва студенти навчаються в одній групі, то з цим проблем не буде, всі всіх знають. А ось якщо студенти навчаються на різних факультетах, то тут вже складніше. Запам’ятати як звуть кожного студента в університеті, на якому факультеті навчається, на якому курсі, в якій групі майже не реально. Тому щоб книжка потрапила від одного студента до другого, перший повинен знати на якому факультеті, на якому курсі, в якій групі і як звуть другого студента. На такому ж принципі побудована робота локальної комп’ютерної мережі.
Роботу локальної мережі будемо розглядати на прикладі найбільш-поширеною технологією Ethernet.
Примітка: технологія Ethernet описується стандартом 802.3 і відповідає 1 і 2 рівнів еталонної моделі OSI. Вона описує метод доступу до загальної середовища CSMA/CD, процедури LLC, методи передачі даних і ін. Спочатку вона розроблялася під коаксіальний кабель з полудуплексным режимом передачі даних і механізмом виявлення колізій (коли два пристрої починають одночасно щось передавати та інформація сильно спотворюється). В умовах повнодуплексних мереж колізій немає. Зараз в основному використовуються стандарти 100BASE-T і 1000BASE-T (100 Мбіт і 1 Гбіт Ethernet з використанням витої пари). Для стандарту 100BASE-T задіюються тільки виті 2 пари з 4, для 1000BASE-T використовуються всі 4 пари. В якості середовища передачі може виступати оптоволокно. Технологія Wi-Fi (802.11) дуже схожа на Ethernet. Відмінності зводяться до того, що використовується інше середовище передачі інформації, як наслідок – інший метод доступу до середовища CSMA/CA, а також змінено формат кадру.
У кожного комп’ютера, який підключений до мережі, є два основних адреси: IP-адресу та MAC-адресу. Якщо згадати приклад з студентами, то MAC-адреса буде відповідати імені студента, а IP-адреса буде вказувати на якому факультеті, курсі, групі навчається студент і який він за списком. Основне завдання MAC-адреси – це однозначна ідентифікація конкретного пристрою. По MAC-адресою можна однозначно ідентифікувати пристрій, який підключено до мережі. MAC-адреси мають лінійну структуру, тобто по імені студента неможливо сказати де він навчається, з ким він вчиться ітд. MAC-адреса прошитий в мережеву плату і його змінити неможливо (хоча існують різні методи обходу цього обмеження ). MAC-адреса складається з 48 біт, які згруповані в 12 шестнадцатиразрядных чисел. Перші 6 задають виробника мережевої карти, останні 6 задають конкретне пристрій.
Примітка: MAC-адреси використовуються для адресації на канальному рівні моделі OSI у рамках однієї мережі. Всього в цій моделі 7 рівнів. Її створили для спрощення розуміння роботи мережі. Більш докладно про неї сказано в Вікіпедії. Мережеву модель OSI не варто плутати зі стеком протоколів OSI, це різні речі. Зараз активно на практиці використовується стек протоколів TCP/IP
У прикладі зі студентом аналогом інформації про факультет, групу, номер у списку служить IP-адреса. На відміну від MAC-адрес, IP-адреси мають чітку ієрархічну структуру. Це означає, що за IP-адресою можна точно визначити, на якому континенті, у якій країні, в якому населеному пункті, на якій вулиці і в якій квартирі знаходиться комп’ютер з певним IP-адресою. Виникає цілком логічне запитання: а навіщо тоді MAC-адреси, якщо точно визначити конкретний комп’ютер можна тільки по IP-адресою? Відповідь досить проста: дуже часто IP-адреси присвоюються в мережі динамічно. Процес виглядає приблизно так: комп’ютер надсилає запит на отримання IP-адресу на сервері. Але тут же виникає проблема: кому відправляти відповідь? Адреси у попросила станції немає. Ось для цього і були розроблені MAC-адреси. IP-адреса складається з чотирьох восьмибітних чисел від 0 до 255. В IPv6 адреса складається з чотирьох 32-бітових чисел.
Примітка: IP-адреси використовуються для адресації на мережевому рівні моделі OSI в рамках глобальних і локальних мереж.
Тепер запустимо Командний рядок (зробити це можна через меню Пуск або ввівши в віконце Виконати команду cmd). Вводимо команду ipconfig /all і натискаємо Enter
На екран вывелась інформація про мережеві підключення. Тут можна побачити IP-адреса-фізична адреса (він же MAC-адресу) інтерфейсів. Як бачимо, ноутбук зараз підключений до домашньої Wi-Fi мережі, а також підключений до інтернету.
Як і MAC-адресу, так і IP-адресу повинні бути унікальними для кожного пристрою в мережі, інакше вона просто не буде правильно працювати. В цьому криється ще одна проблема. IP-адреса складається з 32-біт (4 числа по 8 біт), що в сумі дає близько 4 мільярдів комбінацій. Виникає цілком передбачувана проблема: а що робити, якщо кількість комп’ютерів, які повинні бути обьеденены в мережі перевищить 4 мільярди? Одним з рішень є перехід з IPv4 на IPv6. Число можливих комбінацій різко збільшується (трохи менше за 2 128 ступеня ). Це один з виходів. Але існує інший спосіб. Не всім комп’ютерам потрібен доступ в інтернет. Деякі з них цілком можуть обійтися і локальною мережею. Для цих цілей всі IP-адреси були поділені на глобальні і приватні. До приватним ставляться такі діапазони адрес:
– 10.0.0.0 – 10.255.255.255
– 172.16.0.0 – 172.31.255.255
– 192.168.0.0 – 192.168.255.255
Ці адреси використовуватися ТІЛЬКИ в локальних мережах. У глобальній мережі інтернет вони не використовуються. Це означає, що комп’ютера з адресами з приватних діапазонів і в інтернеті немає. Якщо є необхідність створити невелику домашню або велику і не домашню ЛОКАЛЬНУ мережу потрібно використовувати адреси з приватного діапазону!
Виникає цілком логічне запитання: а як надати доступ до інтернету комп’ютерів локальної мережі? Адже У них IP-адреси з приватного діапазону, що в інтернеті не використовуються. Ось тут на допомогу приходять NAT-сервера. Завданням NAT-сервера є перетворення внутрішніх приватних адрес локальної мережі в глобальні адреси інтернету. Тобто, на цьому сервері є таблиця відповідності адрес в локальній мережі і глобальних адрес інтернету. Наприклад, адресою 111.111.111.110 інтернету буде відповідати 192.168.10.10, адресою 111.111.111.111 буде відповідати адреса 192.168.10.11 ітд. Якщо комп’ютеру потрібно передати інформацію в інтернет, то він відправляє пакети на NAT-сервер, той змінює IP-адреса відправника c 192.168.10.10 на 111.111.111.110 і пакетик спокійно передається в пункт призначення. Коли приходить відповідь на адресу 111.111.111.110, то NAT-сервер автоматично змінює 111.111.111.110 на 192.168.10.10 і передає його в локальну мережу. Якщо ж потрібно забезпечити доступ в інтернет для цілої локальної мережі, маючи всього один глобальний IP-адресу, то використовується механізм PAT, що дуже нагадує за принципом дії NAT. Справа в тому, що крім IP-адреси є ще і адресу порту, який відповідає транспортному рівню моделі OSI. Адреса порту вказує для якої програми на комп’ютері цей пакет призначений і що це взагалі за пакет. Більш докладно про номери портів описано у Вікіпедії. Наприклад, у нас є мережа з 2 комп’ютерів і обидва вони підключені до інтернету через один NAT/PAT сервер (їм може бути як роутер, так і один з комп’ютерів). Нехай IP-адреси комп’ютерів будуть 192.168.0.1 і 192.168.0.2. Перший з них підключено до інтернету через IP-адреса 111.111.111.111 і на ньому запущений NAT/PAT-сервер. Візьмемо типову ситуацію. Обидва ці комп’ютера одночасно займаються серфінгом в інтернеті. Вводить один і другий користувач в браузері адресу www.acerfans.ru і обидва комп’ютера відправляють HTTP-запит на сервер www.acerfans.ru. У запиті обов’язково зазначається адреса відправника й адреса одержувача. З адресою одержувача все ясно: це IP-адреса, який відповідає доменному імені www.acerfans.ru і порт 80, який відповідає протоколу HTTP. Адреса відправника – 192.168.0.1, порт 1050 для одного комп’ютера і 192.168.0.2, порт 1050 для другого. Ці два запиту отримує NAT/PAT-сервер, підставляє в поле адреси відправника свій IP-адресу (111.111.111.111), а в полі номера порту для одного комп’ютера ставить 1050, для другого – 1051. У себе в таблиці він зазначає, що порту 1050 комп’ютера з IP-адресу 192.168.0.1 буде відповідати порт 1050 з IP-адресою 111.111.111.111, а другого комп’ютера – порт 1051. В результаті два запиту від двох комп’ютерів з боку виглядають як два запити з комп’ютера з IP-адресою 111.111.111.111 і номерами портів відправника 1050 і 1051. Коли з сервера прийде відповідь з допомогою тієї ж таблички відповідності NAT/PAT-сервер який пакет якого комп’ютера в мережі призначався.
Інший спосіб надання користувачам локальної мережі доступу в інтернет полягає у використанні проксі-сервера.
Більш докладно про те як налаштувати загальний доступ в локальній мережі буде детально розписано в наступних матеріалах циклу
Маски підмережі та шлюзи
Перш ніж перейти безпосередньо до масок і шлюзів, варто дати визначення основним пристроїв, які використовуються в мережі.
Сервер – це служба (програма, якщо хочете), яка запущена на комп’ютері.
Репітер (повторювач) – це пристрій, який призначений для підсилення сигналу. Використовується для збільшення дальності з’єднання.
Хаб (концентратор) – це пристрій, який містить кілька портів. При подачі сигналу на один порт – він підсилюється і передається на інші порти. Хаб – це по суті багатопортовий репітер. І хаб, і репітер працюють на першому (фізичному) рівні моделі OSI.
Бридж (міст) – це пристрій, який служить для фільтрації трафіку по MAC-адресами. Він поділяє домени колізій.
Свіч (комутатор) – це по суті багатопортовий міст. Основним завданням комутатора служить створення “віртуальних каналів між пристроями на основі MAC-адрес.
Примітка: Річ у тім, що технологія Ethernet спочатку розраховувалася на мережі із загальною середовищем передачі даних – коаксіальним кабелем. У такому середовищі часто виникають ситуації, коли два пристрої одночасно передають дані. Така ситуація називається колізією, а комп’ютери в мережі, які схильні колізії – називаються доменами колізії. Міст і комутатор розбивають домен колізії на менші частини, а ось концентратор колізії пропускає і в результаті домен колізії збільшується. Крім доменів колізій є ще і широкомовні домени. Широкомовні розсилки і міст і комутатор пропускають. І міст, і комутатор працюють виключно з MAC-адресами. У кожному мосту і комутаторі існує таблиця комутації. Вона являє по суті таблицю, де кожному порту відповідає певний набір MAC-адрес. У кожному пакеті (точніше, фреймі), який пересилається по мережі, вказаний MAC-адресу та MAC-адресу відправника. Коли такий пакет потрапляє на порт комутатора, останній зчитує MAC-адресу одержувача. Якщо такого в таблиці комутації немає, то пакет розсилається на всі порти, крім того, звідки він прийшов. Адреса відправника записується в таблицю комутації і йому ставиться у відповідність порт, на який надійшов пакет. Таким чином через деякий час у таблиці комутації моста або комутатора будуть всі MAC-адреси комп’ютерів в мережі, а також порти, до яких останні підключені. Щоб позбавиться від “петель” комутатори використовують протокол STP
Роутер (маршрутизатор) – це пристрій, який призначений для з’єднання мереж, фільтрації по IP-адресам, забезпечення політик безпеки, а також багатьох інших функцій (DHCP, NAT/PAT…). Роутер працює з IP-адресами пакетів. Кожен роутер повинен мати таблиці маршрутизації, де вказано який пакет куди відправляти (або не надсилати ) Таблиця маршрутизації може заповняться як вручну, так і за допомогою протоколів маршрутизації (RIP, OSPF, IGRP, EIGRP…). В таблиці маршрутизації вказується на який інтерфейс відправляти пакет, який адресований на той чи інший адресу. Саме для роутера величезне значення мають маски підмережі. До кожного інтерфейсу роутера повинні підключаться різні мережі, інакше він може працювати некоректно. Комутатор і міст ні з IP-адресами, ні з масками підмережі не працюють. Для них це всього лише дані, які треба передати. В цьому і полягає основна відмінність між маршрутизатором і комутатором
Ось ми і підійшли до такого поняття як маска підмережі. Маска підмережі – це 32-бітне число, яке вказує де в IP-адресі адресу мережі, а де-адресу комп’ютера в мережі. Виглядає маска мережі приблизно так: 255.255.255.0 або так 255.255.192.0, або навіть так: 255.240.0.0
Особливістю маски підмережі є те, що якщо записати її в двійковій формі, то зліва будуть тільки одиниці, а праворуч – нулі. Це обов’язкова умова!
Ось запишемо в двійковій формі наведені вище маски:
255.255.255.0 – 11111111.11111111.11111111.00000000
255.255.192.0 – 11111111.11111111.11000000.00000000
255.240.0.0 – 11111111.11110000.00000000.00000000
Як бачимо, є чітка межа між нулями і одиницями. Іноді маску 255.255.255.0 позначають просто як /24 – 24 одиниці, друга маска буде позначатися як /18, третя в моєму прикладі – /12. У підсумку адресу записують так 192.168.0.1 /24
Всі IP-адреси поділяються на 5 класів : A, B, C, D та E
A – 0.0.0.0 – 127.255.255.255
B – 128.0.0.0 – 191.255.255.255
C – 192.0.0.0 – 223.255.255.255
D – 224.0.0.0 – 239.255.255.255
E – 240.0.0.0 – 255.255.255.255
Для перших трьох класів встановлені маски за замовчуванням. Для А – 255.0.0.0 або /8, для В – 255.255.0.0 або /16, для С – 255.255.255.0
Використання інших масок теж дозволено
Примітка: іноді бувають випадки, коли використання масок за замовчуванням нераціонально. Яскравий приклад: з’єднання двох маршрутизаторів. Для з’єднання потрібно всього дві IP-адреси. Щоб уникнути нераціонального використання IP-адрес і були придумані мережеві маски змінної довжини – VLSM.
Як я вже зазначив, мережева маска потрібна для виділення з IP-адреси комп’ютера IP-адреси мережі або підмережі. Робиться це побітовою операцією логічного І між IP-адресу і маску підмережі. Варто зазначити, що IP-адреси, хостової частини яких всі нулі є адресами підмереж і використовувати їх в якості IP-адрес комп’ютерів не МОЖНА. Наприклад: IP-адреса 192.168.0.16 з маскою 255.255.255.240
буде адресою підмережі. Щоб у цьому переконатися запишемо в двійковій формі сама адреса, а внизу маску підмережі:
11000000.10101000.00000000.00010000 – адреса (синім вказана хостова частина адреси, червоним – мережева згідно масці підмережі)
11111111.11111111.11111111.11110000 – маска
Як бачимо, в хостової частини (останні 4 біта) у нашого адреси всі нулі, отже, він є адресою підмережі і призначити його призначити його на комп’ютер не вийде. Саме тому неможливо призначити комп’ютера адреса 192.168.0.0.
Крім адреси підмережі є ще і широкомовна адреса. Якщо комп’ютеру потрібно надіслати повідомлення всім комп’ютерам в мережі, то замість того, щоб відправляти повідомлення кожному з них, комп’ютер надсилає повідомлення на адресу, хостової частини якого всі одиниці. Для мережі 192.168.0.0 з маскою 255.255.255.0 це буде адреса 192.168.0.255. Для тієї ж мережі з маскою 255.255.255.240 це буде вже 192.168.0.15
Поясню чому. Запишемо знову адресу в двійковій формі:
11000000.10101000.00000000.00000000 – адресу
11111111.11111111.11111111.11110000 – маска
хххххххх.хххххххх.хххххххх.хххх0000 – хостова частина (жирним)
міняємо в хостової частини всі нулі на одиниці, щоб отримати широкомовна адреса:
11000000.10101000.00000000.00001111
і переводимо отримане число в десятеричный вигляд. Отримаємо адреса 192.168.0.15. Аналогічно визначаються і адреси підмереж.
Примітка: Широкомовні адреси і адреси підмереж не можна вказувати в якості IP-адрес комп’ютерів!!!
Ось приклад розбиття мережі на підмережі за допомогою маски підмережі:
Як бачимо, у нас є велика приватна мережу 10.0.0.0/8. Її розбили на три підмережі поменше: 10.1.0.0, 10.2.0.0 і 10.3.0.0. Мережа 10.2.0.0 розбили 10.2.1.0, 10.2.2.0 і 10.2.3.0. З цього прикладу чітко видно, що IP-адреси мають ієрархічну структуру.
Якщо Вам щось не зрозуміло в питаннях про підмережах і масках – запитуємо в цьому розділі форуму
А тепер перейдемо до шлюзу. Шлюз – це пристрій, що забезпечує зв’язок між мережами. Шлюзом, як правило, виступає роутер, один інтерфейс якого підключений до мережі, а другий – до іншої.
Шлюз – це параметр, який вказує IP-адреса інтерфейсу роутера, який забезпечує зв’язок з іншими мережами. Якщо комп’ютеру потрібно надіслати повідомлення на адресу, який знаходиться в іншій мережі, то комп’ютер відправляє його на адресу шлюзу за замовчуванням. В роутерах теж є такий параметр, як шлюз за замовчуванням. Якщо роутер не знає куди відправляти пакет, то він відправляє його на шлюз за замовчуванням. Якщо він не заданий, то пакет відкидається.
Ось, мабуть, і все. Продовження слідує
Якщо у вас після прочитання цього матеріалу все ще залишилися питання, ставимо їх у ФОРУМІ.
З повагою, автор матеріалу – Тониевич Андрій ака FuzzyL. Публікація даного матеріалу дозволяється виключно з посиланням на джерело та з зазначенням автора.
Виникли запитання, поправки, побажання, пропозиції – пишіть на мій мейл – [email protected]
Буду дуже вдячний
acerfans.ru