Основи комп'ютерних мереж. Тема №1. Основні мережні терміни та мережеві моделі


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

Трохи оффтопа: Приблизно місяць тому здав іспит CCNA (на 980/1000 балів) і залишилося багато матеріалу за рік мого навчання. Навчався я спочатку в академії Cisco близько 7 місяців, а решту часу вів конспекти по всім темам, які мною були вивчені. Також консультував багатьох хлопців в галузі мережевих технологій і помітив, що багато наступають на одні і ті ж граблі, у вигляді пробілів з якихось ключових темах. Днями пару хлопців попросили мене пояснити, що таке мережі і як з ними працювати. У зв'язку з цим вирішив максимально докладно і простою мовою описати найбільш ключові і важливі речі. Статті будуть корисні як новачкам, які тільки стали на шлях вивчення. Але, можливо, і бувалі сисадміни підкреслять з цього щось корисне. Так як я буду йти за програмою CCNA, це буде дуже корисно тим людям, які готуються до здачі. Можете тримати статті у вигляді шпаргалок і їх періодично переглядати. Я під час навчання робив конспекти по книгах і періодично читав їх, щоб освіжати знання. Взагалі хочу дати всім початківцям рада. Моєю першою серйозною книгою була книга Олиферов "Комп'ютерні мережі". І мені було дуже важко читати її. Не скажу, що все було важко. Але моменти, де детально розбирався, як працює MPLS або Ethernet операторського класу, вводило в ступор. Я читав одну голову за кілька годин і все одно багато чого залишалося загадкою. Якщо ви розумієте, що якісь терміни ніяк не хочуть лізти в голову, пропустіть їх і читайте далі, але ні в якому разі не відкидайте книгу повністю. Це не роман або епос, де важливо читати по главам, щоб зрозуміти сюжет. Пройде час і те, що раніше було незрозумілим, в підсумку стане ясно. Тут прокачується "книжковий скілл". Кожна наступна книжка, читається легше попередньої книги. Наприклад, після прочитання Олиферов "Комп'ютерні мережі", читати Таненбаума "Комп'ютерні мережі" легше в кілька разів і навпаки. Тому що нових понять зустрічається менше. Тому моя порада: не бійтеся читати книги. Ваші зусилля в майбутньому принесуть плоди. Закінчую просторікування і приступаю до написання статті.
Ось самі теми1) Основні мережеві терміни, мережева модель OSI і стек протоколів TCP/IP.
2) Протоколи верхнього рівня.
3) Протоколи нижніх рівнів (транспортного, мережевого і канального).
4) Мережеві пристрої і види застосовуваних кабелів.
5) Поняття VLAN Trunk і протоколи VTP і DTP.
6) Протокол сполучного дерева: STP.
7) Протокол агрегування каналів: Etherchannel.
8) Поняття IP адресації, масок підмереж і їх розрахунок.
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. Це не найважливіша інформація, так як ці поняття зараз не зустрінеш. Але головне пам'ятати про те, що це не мережні моделі.
Ось і підійшла до кінця стаття по першій темі. Хоч і поверхово, але було розглянуто багато понять. Найбільш ключові будуть розібрані детальніше в наступних статтях. Сподіваюся тепер мережі перестануть здаватися чимось неможливим і страшним, а читати розумні книги буде легше). Якщо я щось забув згадати, виникли додаткові питання або у кого є що доповнити до цієї статті, залишайте коментарі, або запитуйте особисто. Спасибі за прочитання. Буду готувати наступну тему.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.